Решил тут, что нужно опубликовать датчик с уличной температуры на Народном мониторинге (
narodmon.ru).
Сначала я пошел по пути - написать bash-скрит на OpenWRT, который будет дергать из MQTT HOMEd значения датчиков с помощью mosquitto_sub, а потом публиковать с помощью CURL мои датчики. Забегая вперед, скажу что это неправильный путь, HOMEd-way оказался значительно проще.
Однако, здесь я все равно приведу этот скрипт - возможно кому-то с OpenWRT на другом устройстве он поможет.
Собственно скрипт:
#!/bin/sh
# Скрипт запрашивает значение датчиков в HOMEd, а потом публикует значения на
# сервис Народный Мониторинг (narodmon.ru)
# Автор tudimon.com
#### предустановки ####
SERVER="narodmon.ru"
PORT="8283"
# MAC адрес прибора (тут нужно указать свой адрес, т.к. сервис разбирает поступающие
# показания по мак-адресу и заносит в нужный прибор на основании этого параметра)
DEVICE_MAC="FFFFFFFFFF"
# идентификаторы прибора (датчиков)
SENSOR_ID_1="Tulitsa"
SENSOR_ID_2="Hulitsa"
#### считываем значения в HOMEd ####
# В файле /opt/homed-zigbee/options.json нужно добавить опцию "retain":true для нашего сенсора
# https://t.me/homed_chat/151492
# так же нужно установить пакет jq - Lightweight and flexible command-line JSON processor
# читаем значение сенсора из MQTT
thulitsa=`mosquitto_sub -h localhost -p 1883 -t homed/fd/zigbee/TH_ulitsa -C 1 -u "homed" -P "pass_homed"`
#echo $thulitsa
# вычленяем значения
tul=$(echo $thulitsa | jq '.temperature')
hul=$(echo $thulitsa | jq '.humidity')
#echo $tul
#echo $hul
# значения датчиков
sensor_value_1=$tul
sensor_value_2=$hul
#### отправляем значения в NarodMon ####
mes1=$(echo "http://narodmon.ru/get?ID=$DEVICE_MAC&$SENSOR_ID_1=$sensor_value_1&$SENSOR_ID_2=$sensor_value_2")
#echo $mes1
curl $mes1
Он же на
githubВ принципе там все понятно из комментариев.
Потом как ранее мы делали - создаем автоматизацию, которая каждые 5 минут (минимальный интервал для бесплатного аккаунта Народного мониторинга) дергает этот наш bath-скрипт:
Автоматизация в HOMEd запуска bash-скрипта для публикация narodmon.ruА теперь я покажу насколько проще HOMEd-way для публикации значения нашего уличного датчика на сервис Народного мониторинга.
Просто создаем автоматизацию, которая раз в 5 минут выполняет shell команду curl, подставляя значения нашего датчика:
Автоматизация в HOMEd для публикация narodmon.ru homed-wayВ actions у меня две действия - первое публикация данных:
curl 'http://narodmon.ru/get?ID=FFFFFFFFFF&Tulitsa=[[{{ property | zigbee/TH_ulitsa | Temperature }} -1]]&Hulitsa={{ property | zigbee/TH_ulitsa | Humidity }}'
Второе действие - отправить ответ shella на выполнение команды в Телеграм. Это сделано для теста, чтобы это действие не выполнялось на боевой автоматизации, был добавлен TriggerName.
Вот насколько просто путь заложенный
Ильей оказывается проще..