From 37c3a134dedd6d71b8cabf65acb5c377e3231ac1 Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Sat, 27 Jul 2024 15:33:30 -0500 Subject: [PATCH] added initial state set --- src/room_control/room_control.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/room_control/room_control.py b/src/room_control/room_control.py index 923a2e8..75b7103 100755 --- a/src/room_control/room_control.py +++ b/src/room_control/room_control.py @@ -90,6 +90,16 @@ class RoomController(Hass): self.log('door--') self.door = Door(self, entity_id=door) + for state in sorted(self._room_config.states, key=lambda s: s.time, reverse=True): + if isinstance(state.time, datetime.datetime): + t = state.time.time() + else: + t = state.time + if t < self.get_now().time(): + self.log(f'Initial state: {state.time}', level='DEBUG') + self.set_controller_scene(state) + break + self.log(f'Initialized [bold green]{type(self).__name__}[/]') def terminate(self): @@ -146,7 +156,7 @@ class RoomController(Hass): lambda *args, **kwargs: self.call_service( f'{self.name}/activate_any_on', namespace='controller', cause='state transition' ), - attribute='all' + attribute='all', ) def set_controller_scene(self, state: ControllerStateConfig):