esphome. Переменные типа "время", сравнение, обработка событий.

alimbda

✩✩✩✩✩✩✩
2 Окт 2023
2
0
У меня дома имеется сервер HomeAssistant и с десяток устройств на ESP12F, ESP32 работающих под прошивкой esphome.
Все устраивает, кроме задач, выполняемых по времени.
На сегодняшний день, эти задачи выполняются через компонент time, строго в соответствии со справкой.
OnTime:
time:
  - platform: sntp
    # ...
    on_time:
      # Every 5 minutes
      - seconds: 0
        minutes: /5
        then:
          - switch.toggle: my_switch
Однако, напрягает то, что для изменения времени необходимо перекомпилировать программу. Управлять из HA напрямую - не хочется для соблюдения независимости от сервера (сейчас каждое устройство нуждается только в сервере NTP. В остальном оно работает полностью самостоятельно.

Хотелось бы иметь переменные, которые (при наличии HA передаются с него) сохраняются в памяти, и исходя из этих переменных производить включение и выключение внешних устройств.
Как переменные ввести - понял. Как их сохранять - тоже. Вот как получить текущее время и сравнить его с параметром, и по превышению выполнить действие - никак понять не могу. Подскажите как сделать или где можно почитать?
 

alimbda

✩✩✩✩✩✩✩
2 Окт 2023
2
0
Это тоже самое. Время в коде, в константах.
ЗЫ. Плюс, это управление из HA.

Я получаю время:
GetTime:
auto time = id(sntp_time).now();
Потом пытаюсь разбить его на часы, минуты, секунды (.second ), минуты (.minute), часы (.hour) и сравнить в лямбде с тремя переменными (соответственно).
Не работает...