From e0fb612e82b033999e5ec07c554124dc96f07e0e Mon Sep 17 00:00:00 2001 From: Petar Petrov Date: Thu, 8 May 2025 23:21:43 +0300 Subject: [PATCH] Show warning message for Z-Wave devices in interview stage (#144483) * Show warning message for devices in interview stage * remove debug code --- homeassistant/components/zwave_js/api.py | 10 +++++++++- tests/components/zwave_js/test_api.py | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/zwave_js/api.py b/homeassistant/components/zwave_js/api.py index f4397737234..5eb59c6c288 100644 --- a/homeassistant/components/zwave_js/api.py +++ b/homeassistant/components/zwave_js/api.py @@ -674,10 +674,18 @@ async def websocket_node_alerts( connection.send_error(msg[ID], ERR_NOT_LOADED, str(err)) return + comments = node.device_config.metadata.comments + if node.in_interview: + comments.append( + { + "level": "warning", + "text": "This device is currently being interviewed and may not be fully operational.", + } + ) connection.send_result( msg[ID], { - "comments": node.device_config.metadata.comments, + "comments": comments, "is_embedded": node.device_config.is_embedded, }, ) diff --git a/tests/components/zwave_js/test_api.py b/tests/components/zwave_js/test_api.py index c6ce3d9ac1b..150ee39925b 100644 --- a/tests/components/zwave_js/test_api.py +++ b/tests/components/zwave_js/test_api.py @@ -505,6 +505,22 @@ async def test_node_alerts( assert result["comments"] == [{"level": "info", "text": "test"}] assert result["is_embedded"] + # Test with node in interview + with patch("zwave_js_server.model.node.Node.in_interview", return_value=True): + await ws_client.send_json_auto_id( + { + TYPE: "zwave_js/node_alerts", + DEVICE_ID: device.id, + } + ) + msg = await ws_client.receive_json() + assert msg["success"] + assert len(msg["result"]["comments"]) == 2 + assert msg["result"]["comments"][1] == { + "level": "warning", + "text": "This device is currently being interviewed and may not be fully operational.", + } + # Test with provisioned device valid_qr_info = { VERSION: 1,