From 80d6c46bdc81faad8e2b16b641dd832af7ddaf4c Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 23 Jan 2025 22:56:49 -0600 Subject: [PATCH] fix: add handler for rebuilding device list intent --- neon_homeassistant_skill/__init__.py | 6 ++++++ test/test_intents.yaml | 2 ++ test/test_skill.py | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/neon_homeassistant_skill/__init__.py b/neon_homeassistant_skill/__init__.py index 7c7a569..94432e8 100644 --- a/neon_homeassistant_skill/__init__.py +++ b/neon_homeassistant_skill/__init__.py @@ -125,6 +125,12 @@ def disable_ha_intents(self): self._intents_enabled = False # Handlers + + @intent_handler("get.all.devices.intent") # pragma: no cover + def handle_rebuild_device_list(self, message: Message): + self.bus.emit(message.forward("ovos.phal.plugin.homeassistant.setup.instance", None)) + self.speak_dialog("acknowledge") + @intent_handler("enable.intent") # pragma: no cover def handle_enable_intent(self, message: Message): self.settings["disable_intents"] = False diff --git a/test/test_intents.yaml b/test/test_intents.yaml index ea55a43..f2eba5f 100644 --- a/test/test_intents.yaml +++ b/test/test_intents.yaml @@ -1484,6 +1484,8 @@ en-us: disable.intent: - Disable Home Assistant - I don't use Home Assistant + get.all.devices.intent: + - rebuild device list unmatched intents: en-us: - set a reminder to change my oil at 4 PM diff --git a/test/test_skill.py b/test/test_skill.py index 76a8b03..835f0f0 100644 --- a/test/test_skill.py +++ b/test/test_skill.py @@ -115,3 +115,8 @@ def test_set_light_color_response_silent_entities(self): self.skill.speak_dialog.assert_has_calls( [call("lights.current.color", data={"device": "bunny", "color": "mauve"})] ) + + def test_get_all_devices(self): + self.skill.speak_dialog = Mock() + self.skill.handle_rebuild_device_list(Message(msg_type="test")) + self.skill.speak_dialog.assert_called_once_with("acknowledge")