checking the light state with each adjustment

This commit is contained in:
John Lancaster
2023-04-15 16:23:42 -05:00
parent c5cc1df425
commit f2482b872a

View File

@@ -176,5 +176,15 @@ class ControllerDaylight(ControllerBase):
self.cancel_timer(self.adjustment_handle) self.cancel_timer(self.adjustment_handle)
def ongoing_adjustment(self, kwargs): def ongoing_adjustment(self, kwargs):
self.log(f'Adjusting {self.friendly_name(kwargs["entity"])} with {self.adjuster.current_settings}') settings = self.adjuster.current_settings
state = self.get_state(entity_id=kwargs['entity'], attribute='all')['attributes']
state = {s: state[s] for s in settings.keys()}
valid = all((state[s] == val) for s, val in settings.items())
if not valid:
self.log(f'Current state: {state}')
self.turn_on(entity_id=kwargs['entity'], **settings)
self.log(f'Adjusted {self.friendly_name(kwargs["entity"])} with {settings}')
else:
self.log(f'Already valid')