Начиная с версии 3.08.181003 поддержан протокол SNMP v1
snmpwalk -c public -v1 yalga.h-net.ru Wed Oct 3 11:21:21 2018
1.3.6.1.2.1.1.1.0 = STRING: "PowerMeter HN-PM1F002D, ver.03.08.181003"
1.3.6.1.2.1.1.2.0 = STRING: "HNPM2F"
1.3.6.1.2.1.1.3.0 = Timeticks: (430757) 1:11:47.57
1.3.6.1.2.1.1.4.0 = STRING: "https://pm.h-net.ru"
1.3.6.1.2.1.1.5.0 = STRING: "PowerMeter-dc8f"
1.3.6.1.2.1.1.8.0 = Timeticks: (430802) 1:11:48.02
1.3.6.1.2.1.99.1.1.1.4.1 = INTEGER: 35 Температура
1.3.6.1.2.1.99.1.1.1.4.2 = INTEGER: 19 Влажность
1.3.6.1.2.1.99.1.1.1.4.3 = INTEGER: 72 Уровень сигнала WiFi
1.3.6.1.2.1.99.1.1.1.4.4 = INTEGER: 10 АЦП
1.3.6.1.2.1.99.1.1.1.4.98 = INTEGER: 4 Причина перезагрузки
1.3.6.1.2.1.99.1.1.1.4.99 = INTEGER: 15824 - ОЗУ
1.3.6.1.2.1.229.1.5.1.2 = INTEGER: 2000231 - показание счетчика энергии
1.3.6.1.2.1.230.1.1.1.2 = INTEGER: 231 - Напряжение
1.3.6.1.2.1.230.1.1.1.3 = INTEGER: 0 - Ток
1.3.6.1.2.1.230.1.1.1.7 = INTEGER: 136 - Мощность
End of MIB
Прибор может быть оснащен встроенным реле.
Реле управляется основным контроллером устройства через веб-интерфейс. Также его можно включить или выключить командами с народного мониторинга или MQTT.
В будущем планируется добавить функционал управления реле по событиям сети или от датчиков температуры.
Реле имеет 3 контакта, которые выведены на разъем под отвертку внутри прибора.
Чтобы к нему подключиться, необходимо аккуратно снять крышку прибора и подключить провода к разъему.
Контакты выведены согласно картинки:

В Выключенном состоянии замкнуты между собой контакты НЗ и Общ, во включенном — замыкаются НО и Общ.
Реле может коммутировать нагрузку до 3А до 250В.
Для коммутации большей нагрузки необходимо использовать контактор, включением которого будет управлять реле прибора.
Управление реле можно осуществлять:
1. Xерез Веб-интерфейс
2. HTTP GET запросом [IP]/relay?OUTPUT16=1
3. Отправкой команды на Народном Мониторинге OUTPUT16=1
3. Отправкой команды через MQTT OUTPUT16=1
Значения 0 — выключить, 1 — включить, 2 — переключить.
Топик отправляется на сервер в виде [user]/[ID]/Метрика
где [user] — имя пользователя на сервере брокера,
[ID] — id устройства, отображается в шапке веб-интерфейса,
Метрика — одно из следующих значений:
Метрика |
Описание |
OUTPUT16 |
Управление РЕЛЕ (значения 0/1) |
U0 |
Напряжение, В |
I0 |
Ток, А |
W0 |
Мощность, Вт |
WH0 |
Энергия, Втч |
KWH0 |
Энергия, КВтч |
DHTT0 |
Температура, грд С |
DHTH0 |
Влажность, % |
UPTIME |
Время работы устройства, сек |
WIFI |
Уровень сигнала WiFi, дБм |
RECONNECTS |
Счетчик пересоединений |
S0 |
Сенсор, подставляется когда датчиков меньше чем ячеек для хранения данных |
adc |
Значение ацп от 0 (0в) до 1023 (3.3в) |
f0 |
Частота |
pf0 |
Коэффициент мощности |
kwh0 |
Вычисленное значение энергии |
kwhcnt |
Аппаратное значение энергии, полученное от измерительного модуля |
pwlmcnt |
Счётчик энергии за последний месяц |
pwpdcnt |
Счётчик энергии за предыдущий день |
Пример проверки показаний энергии в mosquitto:
mosquitto_sub -h localhost -t user/HNPM1F12345d/WH0
Пример включения реле в mosquitto:
mosquitto_pub -h localhost -t user/HNPM1F12345d/OUTPUT16 -m 1
Прибор измеряет параметры сети и сохраняет данные во внутренней памяти размером 3 МБ. Размер данных за полный цикл измерений — 100 байт. Данные хранятся с отметкой времени.
Через Web интерфейс можно выгружать данные в csv файл и обрабатывать в других программах, например в Excel.
Накопленные данные используются прибором для построения графиков и отображения статистики
Устройство позволяет получать данные прямым HTTP GET запросом по IP пробора.
Реализованы следующие запросы:
http://[IP]/sensors
возвращает данные в следующем формате
HostName:HNPM1F2c794b;uptime:5866;U0:233.70;I0:0.72;SI0:0.72;W0:105;WH0:27873;MEM:13352;WIFI:-91;CONNECTCNT:1;OUTPUT16:0;DHTT:41.30;DHTH:11.20;
http://[IP]/xml
возвращает данные в XML формате:
<?xml version="1.0" encoding="windows-1251"?>
<HNPM xmlns="hnpm.xsd">
<VALUES localtime="1494278407">
<UPTIME>6166</UPTIME>
<U0>232.60</U0>
<I0>1.11</I0>
<SI0>1.11</SI0>
<W0>242</W0>
<WH0>27885</WH0>
<MEM>12920</MEM>
<WIFI>-91</WIFI>
<CONNECTCNT>1</CONNECTCNT>
<OUTPUT16>0</OUTPUT16>
<DHTT>41.30</DHTT>
<DHTH>11.10</DHTH>
</VALUES>
</HNPM>
http://[IP]/json
возвращает данные в JSON формате:
{"HostName": "HNPM1F2c794b","uptime": "6037","U0": "233.10","I0": "0.78","SI0": "0.78","W0": "118","WH0": "27879","MEM": "12552","WIFI": "-91","CONNECTCNT": "1","OUTPUT16": "0","DHTT": "41.30","DHTH": "11.10"}
В устройстве предусмотрена отправка отладочной информации по протоколу UDP на удаленный сервер.
Информация не содержит названий точек доступа и паролей, указанных в настройках прибора, но может создавать нежелательный трафик.
Для отключения данной функции зайдите в настройки прибора и снимите галочку в разделе UdpLogServer.
Также вы можете перенаправить данный трафик на свой сервер, указав в настройках соответствующего раздела имя и порт сервера.
Для прослушивания входящих пакетов можно использовать программу NetCat для Linux или Windows.
Для запуска прослушивания на порту 7088 используйте следующую команду:
nc -u -l -p 7088
.
Для отправки данных на сайт http://narodmon.ru необходимо в настройках устройства поставить галочку в разделе NarodMon.ru client.
Устройство начнет автоматически отправлять измеренные параметры на Народный Мониторинг каждые 5минут.
Через сайт Народного мониторинга или мобильное приложение можно отправлять команды на устройство. Поддерживаются следующие команды:
OUTPUT16=x где x: 0 выкл реле, 1 вкл реле, 2 переключить на противоположное состояние
REBOOT=1 перезагрузить устройство
UPDATE=x где x: 0 - обновить/откатить прошивку с "сервера по умолчанию"(из настроек), 1 - с основного сервера 2 - с бета сервера
HISTORY=x где x - количество дней для отправки истории на народный монитор. Отсчет от текущего момента назад.
Для отправки нужно на сайте народного монитора зайти в датчики,Настройка датчиков и триггеров, выбрать прибор.
Поставить (если не установлена) галочку «Включить управление командами»
Выбрать пункт Отправить команду на устройство и ввести его в поле ввода.
При следующем сеансе связи прибор получит команду и выполнит её.
Можно отправлять одновременно несколько команд, разделяя их через точку с запятой «;».

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