Hi,
I have defined a minimal example conditional controler with a dictionary for actions and measurements as an helper. I have a unexpected ERROR in the logs :
ERROR - mycodo.actions - Condition ID not found
What may happen since the IDs looks correct ?
Here is my code belonging to the Conditional Statement part (the Conditional Status one contains only return 0):
import time
io = {"mymes":"c4cc0971",
"test output":"323d213a",
}
def action(nomAction, log=None):
self.run_action("{" + io[nomAction] + "}", message=nomAction)
if log is None:
log = nomAction + " {" + io[nomAction] + "}"
self.logger.info(log)
def mesure(nomMesure, log=None):
ret = self.condition("{" + io[nomMesure] + "}")
if log is None:
log = nomMesure + " {" + io[nomMesure] + "}"
if ret is not None:
self.logger.info(log + " = " + ret)
else:
self.logger.info(log + " = None")
return ret
self.logger.info("Minimal Example")
if not hasattr(self, "state"):
self.state = "init"
self.logger.info(f"State = {self.state}")
if self.state == "init":
mymes = mesure("mymes")
action("test output")
time.sleep(1)
self.state = "end"
self.logger.info("State = end")
And the logs:
2022-06-22 12:50:42,509 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Activated in 97.2 ms
2022-06-22 12:50:42,538 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:42,538 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = init
2022-06-22 12:50:42,575 - ERROR - mycodo.actions - Condition ID not found
2022-06-22 12:50:42,578 - INFO - mycodo.controllers.controller_conditional_087ea8ca - mymes {c4cc0971} = None
2022-06-22 12:50:42,620 - INFO - mycodo.controllers.controller_conditional_087ea8ca - test output {323d213a}
2022-06-22 12:50:43,622 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:43,902 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:43,902 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:44,679 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:44,708 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:45,735 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:45,736 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:46,762 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:46,762 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:47,542 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:47,543 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:48,562 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Minimal Example
2022-06-22 12:50:48,563 - INFO - mycodo.controllers.controller_conditional_087ea8ca - State = end
2022-06-22 12:50:49,566 - INFO - mycodo.controllers.controller_conditional_087ea8ca - Deactivated in 238.3 ms
Here are the I/O in the enclosed file. Sorry, no way to enclose the file nor copy/past a snapshot, but the ids are the right ones: c4cc0971 for the measurement and 323d213a for the action.