mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 16:57:53 +00:00
Forward Z-Wave JS node found
event to frontend (#118866)
* forward Z-Wave `node found` event to frontend * add tests
This commit is contained in:
parent
e6b2a9b5c4
commit
8ca0de1d20
@ -772,6 +772,18 @@ async def websocket_add_node(
|
||||
)
|
||||
)
|
||||
|
||||
@callback
|
||||
def node_found(event: dict) -> None:
|
||||
node = event["node"]
|
||||
node_details = {
|
||||
"node_id": node["nodeId"],
|
||||
}
|
||||
connection.send_message(
|
||||
websocket_api.event_message(
|
||||
msg[ID], {"event": "node found", "node": node_details}
|
||||
)
|
||||
)
|
||||
|
||||
@callback
|
||||
def node_added(event: dict) -> None:
|
||||
node = event["node"]
|
||||
@ -815,6 +827,7 @@ async def websocket_add_node(
|
||||
controller.on("inclusion stopped", forward_event),
|
||||
controller.on("validate dsk and enter pin", forward_dsk),
|
||||
controller.on("grant security classes", forward_requested_grant),
|
||||
controller.on("node found", node_found),
|
||||
controller.on("node added", node_added),
|
||||
async_dispatcher_connect(
|
||||
hass, EVENT_DEVICE_ADDED_TO_REGISTRY, device_registered
|
||||
@ -1296,6 +1309,18 @@ async def websocket_replace_failed_node(
|
||||
)
|
||||
)
|
||||
|
||||
@callback
|
||||
def node_found(event: dict) -> None:
|
||||
node = event["node"]
|
||||
node_details = {
|
||||
"node_id": node["nodeId"],
|
||||
}
|
||||
connection.send_message(
|
||||
websocket_api.event_message(
|
||||
msg[ID], {"event": "node found", "node": node_details}
|
||||
)
|
||||
)
|
||||
|
||||
@callback
|
||||
def node_added(event: dict) -> None:
|
||||
node = event["node"]
|
||||
@ -1352,6 +1377,7 @@ async def websocket_replace_failed_node(
|
||||
controller.on("validate dsk and enter pin", forward_dsk),
|
||||
controller.on("grant security classes", forward_requested_grant),
|
||||
controller.on("node removed", node_removed),
|
||||
controller.on("node found", node_found),
|
||||
controller.on("node added", node_added),
|
||||
async_dispatcher_connect(
|
||||
hass, EVENT_DEVICE_ADDED_TO_REGISTRY, device_registered
|
||||
|
@ -532,6 +532,25 @@ async def test_add_node(
|
||||
msg = await ws_client.receive_json()
|
||||
assert msg["event"]["event"] == "inclusion started"
|
||||
|
||||
event = Event(
|
||||
type="node found",
|
||||
data={
|
||||
"source": "controller",
|
||||
"event": "node found",
|
||||
"node": {
|
||||
"nodeId": 67,
|
||||
},
|
||||
},
|
||||
)
|
||||
client.driver.receive_event(event)
|
||||
|
||||
msg = await ws_client.receive_json()
|
||||
assert msg["event"]["event"] == "node found"
|
||||
node_details = {
|
||||
"node_id": 67,
|
||||
}
|
||||
assert msg["event"]["node"] == node_details
|
||||
|
||||
event = Event(
|
||||
type="grant security classes",
|
||||
data={
|
||||
@ -1811,6 +1830,25 @@ async def test_replace_failed_node(
|
||||
msg = await ws_client.receive_json()
|
||||
assert msg["event"]["event"] == "inclusion started"
|
||||
|
||||
event = Event(
|
||||
type="node found",
|
||||
data={
|
||||
"source": "controller",
|
||||
"event": "node found",
|
||||
"node": {
|
||||
"nodeId": 67,
|
||||
},
|
||||
},
|
||||
)
|
||||
client.driver.receive_event(event)
|
||||
|
||||
msg = await ws_client.receive_json()
|
||||
assert msg["event"]["event"] == "node found"
|
||||
node_details = {
|
||||
"node_id": 67,
|
||||
}
|
||||
assert msg["event"]["node"] == node_details
|
||||
|
||||
event = Event(
|
||||
type="grant security classes",
|
||||
data={
|
||||
|
Loading…
x
Reference in New Issue
Block a user