checking the light state with each adjustment
This commit is contained in:
@@ -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')
|
||||||
|
|||||||
Reference in New Issue
Block a user