Статья

Отправка данных в Народный Мониторинг из ESPHome

Отправляем данные в Народный мониторинг из ESPHome

Начну с конфига на примере моего zyaura сенсора. Я отправляю значения двух датчиков из одного устройства - CO2 и температуру. Это часть конфига, отвечающая за отправку данных в narodmon:

http_request: sensor: - platform: zyaura clock_pin: $clock_pin data_pin: $data_pin co2: name: "CO2" id: co2ppm temperature: name: "Temperature" id: temperature update_interval: 20s interval: - interval: 2min then: http_request.post: url: http://narodmon.ru/post json: |- JsonObject &device = root.createNestedArray("devices").createNestedObject(); device["mac"] = "<00:00:00:00:00:00>"; device["name"] = "<Device Name>"; device["owner"] = "<Owners Email>"; device["lat"] = <00.0000>; device["lon"] = <00.0000>; JsonArray &sensors = device.createNestedArray("sensors"); JsonObject &temp = sensors.createNestedObject(); temp["id"] = "temperature"; temp["value"] = id(temperature).state; temp["unit"] = "C"; temp["name"] = "Температура"; JsonObject &co2 = sensors.createNestedObject(); co2["id"] = "co2"; co2["value"] = id(co2ppm).state; co2["unit"] = "ppm"; co2["name"] = "CO2";

Narodmon имеет лимит по отправке данных - не чаще раза в минуту. Сенсор обновляется каждые 20 секунд, но данные я отправляю один раз в две минуты.

Заполните свои MAC, названия устройства и сенсора, координаты и прочее.

На странице http://narodmon.ru/ip можно проверить, что данные в сервис приходят корректно.


Спасибо! То что нужно!

Спасибо! Настроил отправку, все работает отлично!

Перепутал mac, теперь через OTA не прошивается. Выдает 

INFO Successfully compiled program.
INFO Resolving IP address of esp8266_1.local
INFO -> 192.168.1.31
INFO Uploading /data/esp8266_1/.pioenvs/esp8266_1/firmware.bin (392912 bytes)
ERROR Error receiving acknowledge version: timed out

Для начала попробовать перезагрузить ESP и попробовать прошить снова.

От MAC адреса прошивка не зависит.

Перезагрузка не помогла, походу где то напортачил. Но на народмонитор данные шлет. Буду прошивать по проводу.

А точно надо отправлять на narodmon.ru/post?


В описании API для отправки данных с датчиков на сайте в разделе JSON другой адрес:


 "Передавать пакет данных можно как по протоколам TCP или UDP на порт narodmon.ru:8283, так и использоваться HTTP(S) POST с шифрованием TLS или без него на http(s)://narodmon.ru/json."

Или тут передача не в JSON формате? В лямбда выражении создается JsonObject.

Возможно, что-то поменялось. Проверьте. На момент написания статьи все работало.

Здравствуйте. Скажите, у Вас получилось?

У меня лог ESPHome кажет

HTTP Request failed; URL: http://narodmon.ru/post; Error: connection failed



Тут весь код в одну строку, и довольно давно. Какой смысл такой код начитаемый вообще размещать?

Вернуться назад
Вернуться назад