Следим за автоматизациями в Hass.io на Node-RED

09 октября 2020, 08:34

Итак, у вас настроена достаточно типичная автоматизация на включение света по датчику движения. Но иногда что-то идёт не так и свет не включается. Кто виноват и что делать?

Создадим нехитрую автоматизацию для проверки этой ситуации. Она будет проверять, включился ли свет по нашей команде или нет. И если нет - отправлять уведомление в Телеграм.

Так что если при вас свет не включился и вы получили уведомление - проблема в реле или лампочке. А если свет не включился и уведомление вы не получили - проблема в датчике движения или в самом Home Assistant.

При вызове сервиса turn_on нужно обязательно включить настройку Output Location.

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

1600x_image.png?1602232106

Выход ноды вызова сервиса подключаем к ноде link out. и даём ей какое-нибудь имя.

Таким образом мы сможем использовать данный код в любой похожей ситуации без дублирования нод.

1600x_image.png?1602232108

А вот тут собственно вся магия. Через две секунды после вызова сервиса мы проверяем, поменяло ли устройство своё состояние в нужное нам или нет. Ноды link in и delay несложные. Не буду расписывать, что у них внутри.

1600x_image.png?1602232106

В ноде change мы по названию сервиса определяем в какой статус должно было перейти устройство.

Здесь проверяются сервисы turn_on и turn_off, но вы можете адаптировать логику и под другие сервисы.

1600x_image.png?1602232106

В ноде current state мы проверяем, совпадает ли состояние устройства с ожидаемым нами.

entity_id берётся из данных ранее вызванного сервиса.

1600x_image.png?1602232108

Имя сервиса notify у вас может отличаться. Оно задаётся в процессе настройки интеграции Telegram в Home Assistant.

В данных у меня такая строка:

{"message":"Есть проблемы: {{ data.attributes.friendly_name }}"}

Здесь берётся friendly_name из результатов ноды current state.

1600x_image.png?1602232108

Вот и всё. Цепочка универсальна и её можно подключать после любого вызова сервисов turn_on и turn_off. Главное не забывать включать Output Location в ноде вызова сервиса.

Вызванный сервис, entity_id и friendly_name заполнятся автоматически.

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

Вы шлёте устройству команду на включение, устройство включается, сообщает об этом в Home Assistant и интеграция меняет состояние устройства. Так работают правильные устройства и интеграции. Например, SonoffLAN.

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

XiaomiGateway3 возвращает успешный ответ от Zigbee-розетки сразу после отправки команды. Даже если розетка физически выключена из сети. Зачем в Xiaomi так сделали - непонятно. С этим ещё предстоит побороться.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Бендер Задунайский (Nathareth)

    " XiaomiGateway3 возвращает успешный ответ от Zigbee-розетки сразу после отправки команды. Даже если розетка физически выключена из сети. Зачем в Xiaomi так сделали - непонятно. С этим ещё предстоит побороться. "

    Скорее всего рукожопость программеров.

  2. (settler)
    (settler) отредактировано 4 месяца назад

    Хорошо бы что-бы интеграция третьего хаба стала такой же правильной, как Сонофф :)

    Пока что лампочки (aqara e27) остаются "доступными" в HA даже если их уже давно выключили физически.

    upd. ура, апдейт. спасибо, теперь совсем отлично!

  3. Dmitriy Bobylev (@bobylev99)
    Dmitriy Bobylev (@bobylev99) 4 месяца назад

    Не совсем понял, только с ХА будет работать?

    Без него возможно использовать? 

    • Алексей Х (AlexxIT)
      Алексей Х (AlexxIT) 4 месяца назад

      Можно конечно. Только в примере больше половины нод это ноды ХА

  4. (Snarky)
    (Snarky) отредактировано 4 месяца назад

    Чё то непонятно... Если автоматизации в НА, то причем тут НР тогда?

К списку блогов

Похожие записи

12 сентября 2020, 20:51
Создание при помощи бесплатной программы Sweet Home 3D интерактивного плана помещения для Home Assistant.
16 июля 2020, 15:13
Удобная настройка Home Assistant с помощью packages.
20 января 2019, 17:39
Создание очень бюджетной автоматизации рулонных штор
13 февраля 2019, 22:00
Подключение радио на Xiaomi Gateway к Home Assistant c дальнейшим использованием в автоматизациях
19 апреля 2019, 20:53
Требуется ваше мнение!
06 февраля 2019, 12:02
Автоматизированное открытие/закрытие окна
04 апреля 2019, 12:45
Самое важное из апдейта Home Assistant 0.91-0.91.4 от 03.04.19.
21 марта 2019, 11:59
Самое важное из апдейта Home Assistant 0.9 от 20.03.19.
21 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.88 от 20.02.19.