Beispiel #1
0
 def test_event_channels_response_handle(self):
     m = Message()
     m.set({
         'node': 'rambo',
         'event': 'channels.response',
         'response': [1, 0, 1]
     })
     self.handler.handle(m)
     self.worker.set_params.assert_called_with('rambo',
                                               {'relay': [1, 0, 1]})
    def on_event(self, event, payload):
        data = {}
        # if event == "PrinterStateChanged":
        # 	print("PrinterStateChanged")

        if event == "Connected":
            data['event'] = '3dprinter.status'
            data['parameters'] = {'status': 'connected'}

        if event == "Disconnected":
            data['event'] = '3dprinter.status'
            data['parameters'] = {'status': 'disconnected'}

        if event == "PrintStarted":
            data['event'] = '3dprinter.status'
            data['parameters'] = {'status': 'printing'}

        if event == "PrintCancelled":
            data['event'] = '3dprinter.status'
            data['parameters'] = {'status': 'aborted'}

        if event == "DisplayLayerProgress_progressChanged":
            data['event'] = '3dprinter.progress'
            data['parameters'] = {
                'percentage': payload['progress'],
                'printTimeLeftInSeconds': payload['printTimeLeftInSeconds'],
                'estimatedEndTime': payload['estimatedEndTime'],
                'printTimeLeft': payload['printTimeLeft'],
                'totalLayers': payload['totalLayer'],
                'currentLayer': payload['currentLayer'],
            }

        if event == "PrintDone":
            data['event'] = '3dprinter.status'
            data['parameters'] = {'status': 'printed'}

        if data:
            message = Message()
            message.set(data)
            if not self._settings.get_boolean(["use_proxy"
                                               ]) and self._socket is not None:
                self._socket.sendto(bytes(message), self._address)
                self._logger.info("Message by socket")
            if self._settings.get_boolean(
                ["use_proxy"]) and self._settings.get(["proxy_address"]):
                data = {
                    "message": bytes(message),
                    "ip": self._settings.get(["broadcast_ip"]),
                    "port": self._settings.get_int(["port"])
                }
                req = request.Request(self._settings.get(["proxy_address"]),
                                      data=parse.urlencode(data).encode())
                req.add_header('Content-Type', 'application/json;')
                resp = request.urlopen(req)
                self._logger.info("Message by proxy")
Beispiel #3
0
 def test_event_dht_status_handle(self):
     m = Message()
     m.set({
         'node': 'rambo',
         'event': 'dht.status',
         'response': {
             'temp': '10',
             'humi': '60'
         }
     })
     self.handler.handle(m)
     self.worker.set_params.assert_called_with('rambo', {
         'temp': '10',
         'humi': '60'
     })
Beispiel #4
0
 def test_event_pir_nomovement_handle(self):
     m = Message()
     m.set({'node': 'rambo', 'event': 'pir.nomovement'})
     self.handler.handle(m)
     self.worker.set_params.assert_called_with('rambo', {'pir': False})
Beispiel #5
0
 def test_event_detect_dark_handle(self):
     m = Message()
     m.set({'node': 'rambo', 'event': 'detect.dark'})
     self.handler.handle(m)
     self.worker.set_params.assert_called_with('rambo', {'light': False})