From 92ddcaa25d1c5d7a275a8ea152e9ad486ac30b59 Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Sat, 27 Jul 2024 15:09:26 -0500 Subject: [PATCH] added a listen_state for the scheduled transitions --- src/room_control/room_control.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/room_control/room_control.py b/src/room_control/room_control.py index 4ff4103..923a2e8 100755 --- a/src/room_control/room_control.py +++ b/src/room_control/room_control.py @@ -67,6 +67,9 @@ class RoomController(Hass): self.register_service( f'{self.name}/activate_all_off', self._service_activate_all_off, namespace='controller' ) + self.register_service( + f'{self.name}/activate_any_on', self._service_activate_any_on, namespace='controller' + ) self.register_service( f'{self.name}/deactivate', self._service_deactivate, namespace='controller' ) @@ -139,7 +142,15 @@ class RoomController(Hass): except Exception as e: self.log(f'Failed with {type(e)}: {e}') + self.state_entity.listen_state( + lambda *args, **kwargs: self.call_service( + f'{self.name}/activate_any_on', namespace='controller', cause='state transition' + ), + attribute='all' + ) + def set_controller_scene(self, state: ControllerStateConfig): + """Sets the internal state for the app. Only used by the scheduled transition""" try: self.state_entity.set_state(attributes=state.model_dump()) except Exception: