Введение
Есть проект «Народный мониторинг» — сайт https://narodmon.ru/. На данном проекте любой желающий может публиковать показания различных датчиков и размещать их прямо на карте.
В этой статье покажу способ как опубликовать показания датчиков из системы умного дома «Home Assistant» — сайт https://www.home-assistant.io/.
Итак, дано:
- Система Home Assistant
- Система блочного программирования Node-RED, интегрированная в Home Assistant
- Уличные датчики температуры и давления
Регистрация на сайте narodmon.ru
Заходим на сайт https://narodmon.ru/, в верхней части экрана нажимаем на «Вход» и регистрируемся или входим в сервис.
В процессе регистрации указываем логин, он нам понадобится далее.
Настраиваем цепочку в Node-RED
Суть цепочки очень простая. Метка времени каждые 5 минут вызывает функцию «narodmon.ru» . В функции формируются данные для отправки с помощью API проекта «Народный мониторинг». Далее, условие, проверяющее, что данные были сформированы. Далее, http запрос на narodmon.ru, который как раз и отправляет данные наших датчиков. В ответ на запрос выдается JSON-объект с результатом. Ответ должен быть {«error»: «OK»}. В моем случае, если ответ не правильный, то отправляется сообщение в телеграм об ошибке отправки данных на проект.
Файл для импорта в Node-RED: narodmon.json
После импорта открываем и правим функцию «narodmon.ru«
1. В строке var T1 = ha.states[‘sensor.hum_temp_bar_outside_temperature’].state; надо поправить: sensor.hum_temp_bar_outside_temperature на имя Вашего сенсора.
Взять имя сенсора можно из параметров сенсора в Home Assistant.
2. В строке «mac»: «XX:XX:XX:XX:XX:XX» «X» — меняем на любые от 0 до 9 и от A до F. Например, «01:A2:B3:34:E5:F0»
3. DEVICE_NAME — замените на имя Вашего устройства.
4. USER_NAME — замените на Ваш логин на narodmon.ru.
5. lat, lon и alt — ширина, долгота и высота над уровнем моря — именно по этим координатам появится метка на карте «Народного мониторинга».
Ширину и долготу можно посмотреть прямо на сайте «Народный мониторинг» в нижнем левом углу карты. Вводить без букв, только цифры.
В разделе «sensors» описываются наши сенсоры. По аналогии можно добавить и другие сенсоры. Для каждого сенсора нужно указать id — случайное, name — имя сенсора (я указываю название микросхемы датчика), value — непосредственно показание сенсора, unit — единица измерения.
В принципе, все. Разворачиваем Node-RED и данные каждые пять минут будут отправляться на проект «Народный мониторинг».