added a listen_state for the scheduled transitions
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user