Дом по сценариюПонятные автоматизации для повседневных задач.
← К материаламУсловия и шаблоны · 2 мин

Как задать ночной интервал, который проходит через полночь?

Ночной интервал через полночь нужно задавать как диапазон от вечернего времени до утреннего времени следующего дня. Например, период начинается вечером и заканчивается утром; проверка должна учитывать обе стороны полуночи, а не трактовать утреннюю границу как обычное время внутри того же дня.

Почему обычное сравнение ошибается

Время после полуночи численно меньше вечернего времени. Поэтому простое условие «текущее время между вечерним и утренним» может не описать ночной период корректно: после 00:00 значение уже оказалось по другую сторону границ.

Документация Home Assistant предусматривает временные интервалы через полночь. Используйте именно такую логику, когда начало находится вечером, а конец — утром.

  • Вечерняя граница относится к началу периода.
  • Полночь разделяет два календарных дня.
  • Утренняя граница завершает период после полуночи.

Как мыслить о границах

Период состоит из двух частей: от вечернего времени до 23:59 и от 00:00 до утреннего времени. Корректная проверка объединяет их как один ночной интервал. Точные правила включения границ должны соответствовать выбранному условию и ожидаемому поведению.

Не меняйте порядок границ только ради формального сравнения: это может превратить ночной диапазон в пустой или дневной.

  • Проверьте вечернюю часть интервала.
  • Проверьте часть после полуночи.
  • Отдельно решите поведение ровно на границе.

Проверка автоматизации

Триггер запускает автоматизацию, а временное условие лишь разрешает или запрещает продолжение в момент запуска. Для проверки воспроизведите события до полуночи и после неё и изучите трассировку обычного выполнения.

  • Проверьте запуск вечером.
  • Проверьте запуск утром до окончания интервала.
  • Убедитесь, что дневное время не проходит условие.

Проверьте себя

  • Начало задано вечером, а конец — утром.
  • Логика явно учитывает переход через полночь.
  • Проверены обе стороны полуночи.

Частый вопрос

Почему нельзя просто сравнить вечернюю и утреннюю границы как один дневной диапазон?

После полуночи текущее время меньше вечерней границы, поэтому обычное сравнение может дать неверный результат.

Источники