Как разрешить действие только при выполнении двух требований?
Чтобы разрешить действие только при выполнении двух требований, используйте логику AND: обе проверки должны быть истинными в момент выполнения автоматизации. Например, присутствие человека и нужное состояние устройства проверяются вместе; если хотя бы одна проверка не проходит, действие не выполняется.
Как работает AND
Условия читают актуальные состояния во время проверки. В конструкции AND каждая ветвь обязательна. Присутствие может подтверждаться состоянием соответствующей сущности, а состояние устройства — его текущим значением или атрибутом, если это предусмотрено используемой проверкой.
Такая логика не запускает автоматизацию сама. Сначала должен сработать триггер, затем Home Assistant проверит обе ветви.
- Первая проверка подтверждает присутствие.
- Вторая проверка подтверждает состояние устройства.
- Результат положительный только при успехе обеих проверок.
Порядок составления
Сформулируйте каждое требование отдельно и убедитесь, что оно относится к реальной сущности. Не заменяйте проверку присутствия косвенным предположением и не используйте состояние, которое может быть unknown или unavailable, без осознанной обработки.
Если одна ветвь должна быть более сложной, её можно представить вложенной логикой, сохранив обязательность внешнего AND.
- Определите сущность присутствия.
- Определите сущность устройства и допустимое состояние.
- Объедините требования в AND.
Проверка сценария
Для диагностики воспроизведите обычный запуск и изучите трассировку. Она поможет установить, какой триггер начал выполнение и какая из обязательных проверок не прошла. Ручной запуск может пропустить триггер и условия, поэтому не заменяет проверку реального события.
- Проверьте обе ветви по отдельности.
- Проверьте их совместный результат.
- Убедитесь, что действие запускается только после успешного AND.
Проверьте себя
- Обе проверки входят в одну обязательную логическую группу.
- Состояния сущностей корректны в момент проверки.
- Трассировка подтверждает прохождение обеих ветвей.
Частый вопрос
Что произойдёт, если присутствие подтверждено, но устройство в другом состоянии?
AND не будет истинным, поэтому действие не выполнится.