Beispiel #1
0
    def forward_node(node):
        """Forward node events to websocket."""
        if node.node_id != msg[NODE_ID]:
            return

        forward_data = {
            "type": "node_updated",
            ATTR_NODE_QUERY_STAGE: node.node_query_stage,
        }
        connection.send_message(
            websocket_api.event_message(msg["id"], forward_data))
Beispiel #2
0
    def node_removed(event: dict) -> None:
        node = event["node"]
        node_details = {
            "node_id": node.node_id,
        }

        connection.send_message(
            websocket_api.event_message(
                msg[ID], {"event": "node removed", "node": node_details}
            )
        )
Beispiel #3
0
 def breakpoint_hit(key, run_id, node):
     """Forward events to websocket."""
     connection.send_message(
         websocket_api.event_message(
             msg["id"],
             {
                 "domain": key[0],
                 "item_id": key[1],
                 "run_id": run_id,
                 "node": node,
             },
         ))
Beispiel #4
0
 async def forward_messages(mqttmsg: Message):
     """Forward events to websocket."""
     connection.send_message(
         websocket_api.event_message(
             msg["id"],
             {
                 "topic": mqttmsg.topic,
                 "payload": mqttmsg.payload,
                 "qos": mqttmsg.qos,
                 "retain": mqttmsg.retain,
             },
         ))
Beispiel #5
0
 def device_registered(device: DeviceEntry) -> None:
     device_details = {
         "name": device.name,
         "id": device.id,
         "manufacturer": device.manufacturer,
         "model": device.model,
     }
     connection.send_message(
         websocket_api.event_message(
             msg[ID], {"event": "device registered", "device": device_details}
         )
     )
Beispiel #6
0
 def forward_finished(event: dict) -> None:
     finished: FirmwareUpdateFinished = event["firmware_update_finished"]
     connection.send_message(
         websocket_api.event_message(
             msg[ID],
             {
                 "event": event["event"],
                 "status": finished.status,
                 "wait_time": finished.wait_time,
             },
         )
     )
Beispiel #7
0
 def forward_progress(event: dict) -> None:
     progress: FirmwareUpdateProgress = event["firmware_update_progress"]
     connection.send_message(
         websocket_api.event_message(
             msg[ID],
             {
                 "event": event["event"],
                 "sent_fragments": progress.sent_fragments,
                 "total_fragments": progress.total_fragments,
             },
         )
     )
Beispiel #8
0
 def forward_event(event: dict) -> None:
     log_msg: LogMessage = event["log_message"]
     connection.send_message(
         websocket_api.event_message(
             msg[ID],
             {
                 "timestamp": log_msg.timestamp,
                 "level": log_msg.level,
                 "primary_tags": log_msg.primary_tags,
                 "message": log_msg.formatted_message,
             },
         )
     )
Beispiel #9
0
 def node_added(event: dict) -> None:
     node = event["node"]
     interview_unsubs = [
         node.on("interview started", forward_event),
         node.on("interview completed", forward_event),
         node.on("interview stage completed", forward_stage),
         node.on("interview failed", forward_event),
     ]
     unsubs.extend(interview_unsubs)
     node_details = {
         "node_id": node.node_id,
         "status": node.status,
         "ready": node.ready,
     }
     connection.send_message(
         websocket_api.event_message(
             msg[ID], {"event": "node added", "node": node_details}
         )
     )
Beispiel #10
0
 def forward_stage(event: dict) -> None:
     connection.send_message(
         websocket_api.event_message(
             msg[ID], {"event": event["event"], "stage": event["stageName"]}
         )
     )
Beispiel #11
0
 def forward_event(key: str, event: dict) -> None:
     connection.send_message(
         websocket_api.event_message(
             msg[ID], {"event": event["event"], "heal_node_status": event[key]}
         )
     )
Beispiel #12
0
 def forward_messages(data):
     """Forward events to websocket."""
     connection.send_message(websocket_api.event_message(msg[WS_ID], data))