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,