From f2482b872a7059720d176eef7c04ca13080961d1 Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Sat, 15 Apr 2023 16:23:42 -0500 Subject: [PATCH] checking the light state with each adjustment --- apps/controller.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/controller.py b/apps/controller.py index 63a14e7..323822b 100644 --- a/apps/controller.py +++ b/apps/controller.py @@ -176,5 +176,15 @@ class ControllerDaylight(ControllerBase): self.cancel_timer(self.adjustment_handle) 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')