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

Как разрешить действие, если выполнено хотя бы одно из условий?

Если действие допустимо при выполнении хотя бы одного требования, соберите условия в логическую группу OR. Home Assistant разрешит продолжение, когда истинна первая, вторая или любая другая альтернативная ветвь. Все варианты следует описать отдельно, чтобы было понятно, какое событие или состояние даёт разрешение.

Принцип OR

OR отличается от AND тем, что не требует одновременного успеха всех проверок. Достаточно одной истинной ветви. Например, действие можно разрешить при открытом окне или при срабатывании другого датчика, если оба варианта действительно допустимы.

Проверки читают состояния в момент выполнения автоматизации. Само истинное состояние не запускает её без подходящего триггера.

  • Каждая ветвь описывает отдельный вариант.
  • Одна истинная ветвь делает OR истинным.
  • Остальные ветви могут быть ложными без запрета действия.

Как собрать альтернативы

Сначала перечислите независимые основания для действия. Затем оформите каждое основание отдельной проверкой внутри OR. Не смешивайте альтернативы в одну неясную шаблонную формулу, если их можно проверить и диагностировать раздельно.

Если одна альтернатива содержит несколько обязательных требований, объедините их внутренним AND, а уже получившуюся группу включите в OR.

  • Назовите все разрешающие варианты.
  • Проверьте каждую ветвь отдельно.
  • Для сложной ветви используйте вложенный AND.

Диагностика

Трассировка обычного запуска помогает увидеть, какая ветвь стала истинной. Если действие не выполнилось, проверьте актуальные состояния каждой альтернативы и возможные значения unknown или unavailable. Ручной запуск не подтверждает полный путь через триггер и условия.

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

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

  • Все допустимые варианты перечислены отдельными ветвями.
  • Альтернативы объединены логикой OR.
  • Проверена трассировка реального события.

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

Нужно ли, чтобы все альтернативы OR были истинными?

Нет. Для OR достаточно истинности хотя бы одной ветви.

Источники