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

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

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

Как работает AND

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

Такая логика не запускает автоматизацию сама. Сначала должен сработать триггер, затем Home Assistant проверит обе ветви.

  • Первая проверка подтверждает присутствие.
  • Вторая проверка подтверждает состояние устройства.
  • Результат положительный только при успехе обеих проверок.

Порядок составления

Сформулируйте каждое требование отдельно и убедитесь, что оно относится к реальной сущности. Не заменяйте проверку присутствия косвенным предположением и не используйте состояние, которое может быть unknown или unavailable, без осознанной обработки.

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

  • Определите сущность присутствия.
  • Определите сущность устройства и допустимое состояние.
  • Объедините требования в AND.

Проверка сценария

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

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

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

  • Обе проверки входят в одну обязательную логическую группу.
  • Состояния сущностей корректны в момент проверки.
  • Трассировка подтверждает прохождение обеих ветвей.

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

Что произойдёт, если присутствие подтверждено, но устройство в другом состоянии?

AND не будет истинным, поэтому действие не выполнится.

Источники