diff --git a/ovos_PHAL_plugin_homeassistant/__init__.py b/ovos_PHAL_plugin_homeassistant/__init__.py index aa7c52f..113efa8 100644 --- a/ovos_PHAL_plugin_homeassistant/__init__.py +++ b/ovos_PHAL_plugin_homeassistant/__init__.py @@ -117,7 +117,10 @@ def __init__(self, bus=None, config=None): def handle_check_connected(self, message: Message): """Return a bus response indicating whether the plugin is connected to a Home Assistant instance.""" - self.bus.emit(message.response(data={"connected": self.instance_available})) + self.log.info(f"Checking connection to Home Assistant instance: {self.instance_available}") + self.bus.emit( + message.response(data={"connected": self.instance_available}, context=message.context) + ) def get_brightness_increment(self) -> int: """ Get the brightness increment from the config diff --git a/test/unittests/test_plugin.py b/test/unittests/test_plugin.py index f6b89db..674b94a 100644 --- a/test/unittests/test_plugin.py +++ b/test/unittests/test_plugin.py @@ -619,3 +619,31 @@ def test_brightness_increment_decrease(self): mock_call.assert_called_with("turn_on", {"brightness_step_pct": -20}) fake_bulb.decrease_brightness(50) mock_call.assert_called_with("turn_on", {"brightness_step_pct": -50}) + + def test_handle_check_not_connected(self): + responded = False + def handle_response(message): + nonlocal responded + self.plugin.log.info(message.data) + responded = True + self.assertFalse(self.plugin.instance_available) + self.assertFalse(message.data["connected"]) + self.plugin.bus.run_forever() + self.plugin.bus.once("ovos.phal.plugin.homeassistant.connected.response", handle_response) + fake_message = FakeMessage("ovos.phal.plugin.homeassistant.connected", {}, None) + self.plugin.handle_check_connected(fake_message) + self.assertTrue(responded) + + def test_handle_check_connected(self): + responded = False + def handle_response(message): + nonlocal responded + self.plugin.log.info(message.data) + responded = True + self.assertTrue(message.data["connected"]) + self.plugin.bus.run_forever() + self.plugin.bus.once("ovos.phal.plugin.homeassistant.connected.response", handle_response) + fake_message = FakeMessage("ovos.phal.plugin.homeassistant.connected", {}, None) + self.plugin.instance_available = True + self.plugin.handle_check_connected(fake_message) + self.assertTrue(responded)