@dmitry_di, перевел практически все автоматизации в appdaemon, но с одним условием так и не справился.
Есть розетка (xiaomi) в атрибутах она показывает потребляемую на данный момент мощность, до нее я могу дотянуться:
old['attributes']['load_power']
- возвращает float
однако у меня то условие с которым я бьюсь уже достаточно долго и не могу прописать:
Если потребляемая мощность < 1.00 в течении 10 минут, то ...Начинаю все через слушание атрибутов:
self.listen_state(self.callback, self.power_plug, attribute='all')
а дальше?
Напиши, какую проблему ты хочешь решить.
Если нужно проверять, что условие выполняется в течение заданного времени, я запускаю командой run_in коллбэк с отсрочкой в 10 минут, в котором должно выполниться твоё действие (например, отправить сообщение в телеграм или ещё что). Второй коллбэк слушает изменение мощности и, если мощность упала ниже порога (1.00 в твоём случае), то запускает коллбэк, а если поднялась выше 1 и коллбэк запущен - отменяет его командой cancel_timer(handle)
То есть коллбэк, выполняющий твоё действие висит в течение заданного времени и ждёт, чтобы выполниться. Как только условие нарушается (например, мощность растёт), коллбек прибивается, чтобы действие не выполнилось