From 545ebf2bd8799704321841b5c8b68766b8dc1e5c Mon Sep 17 00:00:00 2001 From: Pierre Date: Fri, 13 Nov 2026 13:09:17 +0100 Subject: [PATCH] smartshutter now correctly go through the logger interface --- apps/smartshutter.py | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/apps/smartshutter.py b/apps/smartshutter.py index adb4c64..f80c8e7 100644 --- a/apps/smartshutter.py +++ b/apps/smartshutter.py @@ -30,7 +30,7 @@ class SmartShutter(SmartObject): except: self.open_position_sensor = self.args["open_position"] self.open_position = int(float(self.get_state(self.open_position_sensor))) - self.log(f"Registering sensor {self.open_position_sensor} for open position") + self.log_info(f"Registering sensor {self.open_position_sensor} for open position") self.listen_state(self.on_open_position_change,self.open_position_sensor) else: self.open_position = 100 @@ -40,7 +40,7 @@ class SmartShutter(SmartObject): except: self.close_position_sensor = self.args["close_position"] self.close_position = int(float(self.get_state(self.close_position_sensor))) - self.log(f"Registering sensor {self.close_position_sensor} for close position") + self.log_info(f"Registering sensor {self.close_position_sensor} for close position") self.listen_state(self.on_close_position_change,self.close_position_sensor) else: self.close_position = 0 @@ -60,11 +60,11 @@ class SmartShutter(SmartObject): if 'close_conditions' in self.args: self.close_conditions = SmartCondition.Evaluator(self,self.args["close_conditions"], condition_name = "close_conditions", templates_library = self.templates_library,on_update_cb = self.on_update,extra_entities_to_listen = extra_entities_to_listen, log_callback_trigger_reason = False, constants = self.constants) if 'open_conditions' in self.args: - self.log("Both a close_conditions and an open_conditions has been defined, please use only one",level = 'ERROR') + self.log_error("Both a close_conditions and an open_conditions has been defined, please use only one") elif 'open_conditions' in self.args: self.open_conditions = SmartCondition.Evaluator(self,self.args["open_conditions"], condition_name = "open_conditions", templates_library = self.templates_library,on_update_cb = self.on_update,extra_entities_to_listen = extra_entities_to_listen, log_callback_trigger_reason = False, constants = self.constants) else: - self.log("No close_conditions nor open_conditions defined",level = 'ERROR') + self.log_error("No close_conditions nor open_conditions defined") #for object that take a long time to change state, we need reevalute desired state once the state has changed #in case the conditions change during the state change @@ -96,7 +96,7 @@ class SmartShutter(SmartObject): try: current_position = float(current_position) except (TypeError, ValueError): - self.log("Toggle ignored: current position is unavailable", level="WARNING") + self.log_warning("Toggle ignored: current position is unavailable") return # Reverse the requested movement when another press arrives in transit. @@ -114,7 +114,7 @@ class SmartShutter(SmartObject): if self.auto_switch: self.set_state(self.auto_switch, state='off') self.target_position = self.close_position if should_close else self.open_position - self.log(f"Toggle shutter to {self.target_position} (previous position was {current_position})") + self.log_info(f"Toggle shutter to {self.target_position} (previous position was {current_position})") if self.target_position == 0: self.call_service("cover/close_cover", entity_id=self.entity_id) elif self.target_position == 100: @@ -124,25 +124,25 @@ class SmartShutter(SmartObject): def on_state_change(self, entity, attribute, old, new, kwargs): if self.ready == False: - self.log(f"on_state_change called before the app is ready",level = "WARNING") + self.log_warning(f"on_state_change called before the app is ready") return #for object that take a long time to change state, we need reevalute desired state once the state has changed #in case the conditions change during the state change #in case of shutter we can probably improve that and cancel the state change has it is updating if old != new and not self.slow_transition: - self.log("state changed from " + str(old) + " to " + str(new)) + self.log_info("state changed from " + str(old) + " to " + str(new)) self.on_update() def on_position_change(self, entity, attribute, old, new, kwargs): if self.ready == False: - self.log(f"on_position_change called before the app is ready",level = "WARNING") + self.log_warning(f"on_position_change called before the app is ready") return if self.target_position == None: if self.target_position_reach_time != None and time.time() - self.target_position_reach_time < 60: - self.log(f"A position changed ({old} -> {new}) occured {time.time() - self.target_position_reach_time}s after a requested position change has been complete. This won't be considered as a manual command") + self.log_info(f"A position changed ({old} -> {new}) occured {time.time() - self.target_position_reach_time}s after a requested position change has been complete. This won't be considered as a manual command") else: - self.log(f"Manual command has been received {old} -> {new}") + self.log_info(f"Manual command has been received {old} -> {new}") if self.close_conditions: smart_conditions = self.close_conditions else: smart_conditions = self.open_conditions @@ -150,13 +150,13 @@ class SmartShutter(SmartObject): self.set_state(self.auto_switch,state = "off") else: if self.target_position == new: - self.log(f"Movement completed old: {old}, new: {new}, target_position: {self.target_position}, current_position: {self.get_state(self.entity_id,attribute = 'current_position')}") + self.log_info(f"Movement completed old: {old}, new: {new}, target_position: {self.target_position}, current_position: {self.get_state(self.entity_id,attribute = 'current_position')}") self.target_position = None self.target_position_reach_time = time.time() def on_open_position_change(self, entity, attribute, old, new, kwargs): if self.ready == False: - self.log(f"on_open_position_change called before the app is ready",level = "WARNING") + self.log_warning(f"on_open_position_change called before the app is ready") return if new != self.open_position: @@ -167,7 +167,7 @@ class SmartShutter(SmartObject): def on_close_position_change(self, entity, attribute, old, new, kwargs): if self.ready == False: - self.log(f"on_close_position_change called before the app is ready",level = "WARNING") + self.log_warning(f"on_close_position_change called before the app is ready") return if new != self.close_position: @@ -207,7 +207,7 @@ class SmartShutter(SmartObject): self.slow_transition_cb = None def on_retry_update(self, kwargs): - self.log("on_retry_update") + self.log_info("on_retry_update") self.on_update() def on_update(self): @@ -218,7 +218,7 @@ class SmartShutter(SmartObject): if self.emergency_close_conditions and self.emergency_close_conditions.evaluate(False) == SmartCondition.Result.Succeeded: if self.get_state(self.entity_id) != 'closed': log_evaluation_result(self.emergency_close_conditions) - self.log("Closing shutter (Emergency close)") + self.log_info("Closing shutter (Emergency close)") self.call_service("cover/close_cover", entity_id = self.entity_id) if self.auto_switch: self.set_state(self.auto_switch,state = "on") elif self.is_auto_switch_on(): @@ -247,12 +247,12 @@ class SmartShutter(SmartObject): if current_position != self.close_position: log_evaluation_result(smart_conditions) self.target_position = self.close_position - self.log("Closing shutter at " + str(self.close_position) + " (previous position was " + str(current_position) + ")") + self.log_info("Closing shutter at " + str(self.close_position) + " (previous position was " + str(current_position) + ")") self.call_service("cover/set_cover_position", entity_id = self.entity_id,position = self.close_position) elif current_state != 'closed': log_evaluation_result(smart_conditions) self.target_position = self.close_position - self.log(f"Closing shutter, state was {current_state}") + self.log_info(f"Closing shutter, state was {current_state}") self.call_service("cover/close_cover", entity_id = self.entity_id) self.stop_slow_transition() @@ -268,15 +268,15 @@ class SmartShutter(SmartObject): self.call_service("cover/set_cover_position", entity_id = self.entity_id,position = wanted_position) self.slow_transition_cb = self.run_in(self.on_transition_update, 120) else: - self.log(f"Update ignored becaused we are waiting for a slow transition CB") + self.log_info(f"Update ignored becaused we are waiting for a slow transition CB") else: if self.open_position == 100: - self.log("Opening shutter") + self.log_info("Opening shutter") log_evaluation_result(smart_conditions) self.call_service("cover/open_cover", entity_id = self.entity_id) else: log_evaluation_result(smart_conditions) - self.log("Opening shutter at " + str(self.open_position) + " (previous position was " + str(current_position) + ")") + self.log_info("Opening shutter at " + str(self.open_position) + " (previous position was " + str(current_position) + ")") self.call_service("cover/set_cover_position", entity_id = self.entity_id,position = self.open_position) else : self.run_in(self.on_retry_update,60) #during HASS restart, shutter can be irresponsive untill the z-wave network is properly initialized