Съжаляваме, вашият браузър не поддържа JavaScript!
Вход

Docker MQTT мониторинг на енергия: Разширена настройка на IAMMETER-Docker

Docker MQTT мониторинг на енергия и разширена конфигурация

След като базовият сървър IAMMETER-Docker работи, той може да бъде разширен до локален MQTT сървър за мониторинг на енергия, да използва MySQL за по-голям набор от данни, да препраща соларни данни към PVOutput и да приема съвместими измервания от външни източници.

Това ръководство обхваща разширените пътища на данните и опциите за съхранение. За инсталация, постоянни томове, първо влизане, настройка на измервателния уред, архивиране и надграждане на контейнера започнете с Самостоятелно хостван мониторинг на енергия с Docker.

IAMMETER измервателен уред / съвместимо устройство / собствено приложение
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT абонати        PVOutput

Използвайте само интерфейсите, които проектът изисква. Една проста локална инсталация за мониторинг не се нуждае от MySQL, външни MQTT клиенти или препращане на данни.

1. Преди да активирате разширените функции

Уверете се, че базовата инсталация е стабилна:

  • контейнерът IAMMETER-Docker работи;
  • /app/data е свързан към постоянно хранилище;
  • Docker хостът използва стабилен LAN адрес;
  • часовата зона на обекта е правилна;
  • поне един измервателен уред или тестов източник на данни работи;
  • паролите по подразбиране са сменени;
  • съществува актуално резервно копие.

Инсталацията по подразбиране предоставя:

  • 5050 за уеб приложението и API;
  • 1883 за MQTT.

Не публикувайте нито един от тези портове директно в интернет. Използвайте защитна стена, VPN или друг контролиран слой за достъп, когато е необходим отдалечен достъп.

2. Избор между SQLite и MySQL

IAMMETER-Docker използва SQLite за проста инсталация по подразбиране и поддържа MySQL за инсталации с по-голям набор от данни.

База данни Най-подходяща за Предимства Съображения
SQLite Домашни, тестови и по-малки локални инсталации Без отделна услуга за база данни; лесна първоначална настройка Базата данни остава обвързана с тома на приложението
MySQL По-големи или дълготрайно работещи инсталации Отделна услуга за база данни и по-добра пригодност за растящи набори от данни Изисква внедряване на база данни, идентификационни данни, архивиране и поддръжка

Не преминавайте към MySQL само защото е налична. Използвайте я, когато очакваният обем данни, периодът на съхранение или изискванията за управление на базата данни оправдават допълнителна услуга.

2.1 Първо подгответе MySQL

Преди да изберете MySQL в IAMMETER-Docker:

  1. внедрете достъпен MySQL сървър;
  2. създайте отделна база данни и потребител;
  3. ограничете този потребител само до необходимата база данни;
  4. потвърдете мрежовия достъп от контейнера IAMMETER-Docker;
  5. конфигурирайте редовно архивиране на базата данни;
  6. запишете сигурно хоста, порта, името и идентификационните данни на базата данни.

След това въведете настройките за връзка с MySQL в IAMMETER-Docker и потвърдете, че новите измервания се записват.

Конфигуриране на MySQL в IAMMETER-Docker

Направете резервно копие на съществуващите данни на IAMMETER-Docker преди смяна на режима на базата данни. Проверете историческите данни и новите качвания след промяната.

3. Използване на IAMMETER-Docker като MQTT сървър за мониторинг на енергия

IAMMETER-Docker включва MQTT поддръжка в две различни посоки:

  1. Публикуване към IAMMETER-Docker: измервателен уред или съвместимо приложение изпраща измервания към Docker сървъра.
  2. Абониране от IAMMETER-Docker: Node-RED, собствена услуга или друг MQTT клиент получава измервания в реално време от сървъра.

Тези пътища използват един и същ модел на темата, но различни режими на удостоверяване.

3.1 MQTT тема

Документираната тема за данни в реално време е:

device/<SN>/realtime

Заменете <SN> със серийния номер, регистриран в IAMMETER-Docker. Серийният номер в MQTT темата и в конфигурацията на клиента трябва да съвпада с измервателния уред, създаден в локалната платформа.

3.2 Публикуване на енергийни данни към IAMMETER-Docker

За устройство или приложение, което публикува данни:

Настройка Стойност
Broker IP адрес или име на хоста на сървъра IAMMETER-Docker
Порт 1883 по подразбиране
Удостоверяване Client ID
Client ID Серийният номер на уреда, регистриран в IAMMETER-Docker
Тема device/<SN>/realtime
Полезен товар Поддържан от IAMMETER формат за качване на данни

Публикуване на енергийни данни към IAMMETER-Docker чрез MQTT

Преди да използвате производствени данни:

  1. регистрирайте серийния номер в IAMMETER-Docker;
  2. публикувайте един тестов полезен товар;
  3. проверете полетата за напрежение, ток, мощност и енергия;
  4. потвърдете броя на фазите или каналите;
  5. проверете мерните единици и посоката на активната мощност;
  6. едва след това активирайте непрекъснато публикуване.

3.3 Абониране за енергийни данни в реално време

За MQTT абонат:

Настройка Стойност
Broker Адрес на сървъра IAMMETER-Docker
Порт 1883 по подразбиране
Удостоверяване Потребителско име и парола за IAMMETER-Docker
Тема device/<SN>/realtime

Абониране за данни в реално време от IAMMETER-Docker

Типичните абонати включват:

  • автоматизационни потоци в Node-RED;
  • локална услуга за обработка на данни;
  • MQTT клиент за отстраняване на проблеми;
  • шлюз, който препраща избрани измервания;
  • собствено табло за управление или услуга за известяване.

Ако Node-RED е основното приложение и историческото съхранение в IAMMETER-Docker не е необходимо, измервателният уред може също да се свърже директно с Node-RED чрез MQTT, Modbus TCP или локалния си API. Сравнете опциите в ръководството за електромер с Node-RED.

4. Тестване и отстраняване на проблеми с MQTT

Започнете с един измервателен уред и точна тема, вместо с широко абониране със заместващи символи.

Проверете следното, когато не се появяват данни:

  • порт 1883 е пренасочен от контейнера;
  • клиентът може да достигне Docker хоста през LAN;
  • серийният номер съществува в IAMMETER-Docker;
  • MQTT client ID и темата използват един и същ серийния номер;
  • темата е device/<SN>/realtime с очакваното изписване на главни и малки букви;
  • режимите на удостоверяване при публикуване и абониране не се смесват;
  • JSON полезният товар съответства на поддържания ред на полетата и мерните единици;
  • друг MQTT клиент не прекъсва сесията чрез повторно използване на същия client ID.

За надеждни потоци:

  • използвайте уникален client ID за всеки абонат;
  • обработвайте повторните свързвания и дублираните съобщения;
  • валидирайте полезния товар, преди да го запишете в база данни;
  • записвайте изходния сериен номер с всяко съхранено измерване;
  • използвайте мрежова изолация, вместо да излагате публично нешифрования MQTT порт.

5. Препращане на соларни данни към PVOutput

PVOutput е услуга на трета страна за споделяне и сравняване на данни за соларно производство и потребление на енергия. IAMMETER-Docker може да препраща данни от обекта към PVOutput.

Използвайте тази опция, когато IAMMETER-Docker остава локалният сървър за събиране на данни, но PVOutput е необходим за публична или външна отчетност за соларната енергия.

Преди да активирате препращането:

  1. създайте или изберете правилната система в PVOutput;
  2. получете необходимите идентификационни данни за PVOutput;
  3. потвърдете, че каналите Grid и Inverter са зададени правилно в IAMMETER-Docker;
  4. проверете часовата зона на обекта;
  5. активирайте препращането само за предвидения обект;
  6. сравнете дневния общ сбор в двете системи след първия пълен ден.

Препращане на соларни данни от IAMMETER-Docker към PVOutput

Препращането към PVOutput изисква достъп до интернет от Docker хоста. То е отделно от локалния мониторинг: временен проблем с връзката към PVOutput не трябва да пречи на измервателния уред да продължи да качва данни към локалния сървър.

6. Получаване на данни от съвместимо устройство Tasmota

IAMMETER-Docker включва документиран MQTT работен процес за устройство с възможност за измерване, работещо с Tasmota. Оригиналният пример използва Sonoff POW R2.

Това е път за съвместимост за поддържани енергийни полезни товари, а не твърдение, че всяко устройство или шаблон на Tasmota създава същата структура на измерванията. Тествайте действителното устройство и фърмуер преди внедряване.

Използвайте следната Tasmota MQTT структура:

Настройка Стойност
Host IP адрес на IAMMETER-Docker
Порт MQTT порт на IAMMETER-Docker, обикновено 1883
Client Серийният номер, регистриран в IAMMETER-Docker
User Оставете празно за този документиран работен процес за публикуване
Password Оставете празно за този документиран работен процес за публикуване
Тема Серийният номер, регистриран в IAMMETER-Docker
Full Topic device/%topic%/%prefix%/

Конфигуриране на съвместим електромер Tasmota за IAMMETER-Docker

След конфигурирането проверете всяка отчетена стойност в IAMMETER-Docker, включително напрежение, ток, активна мощност, енергия и фактор на мощността, когато устройството ги поддържа.

Данни за електроенергия от Tasmota в IAMMETER-Docker

7. Използване на REST API на IAMMETER-Docker

IAMMETER-Docker предоставя интерактивна документация на API на локалния сървър:

http://<docker-host-ip>:5050/docs

REST API може да се използва за:

  • качване на поддържани измервания от собствен шлюз;
  • заявки за данни за частно табло за управление;
  • свързване на локално приложение към самостоятелно хоствания сървър;
  • тестване на полезни товари преди автоматизиране на интеграция.

Поддържайте достъпа до API в доверена мрежа. Ако външна система трябва да се свърже отдалечено, поставете услугата зад подходящ защитен слой за достъп, вместо да излагате порта на приложението без защита.

За разработчици, които изграждат пълен приемник или собствена платформа вместо да използват IAMMETER-Docker, вижте Разработете своя собствена система за мониторинг на енергия.

8. Комбиниране на локално съхранение и облачни услуги

Самостоятелното хостване не означава непременно, че всяка външна услуга е изключена. IAMMETER-Docker може да бъде локалната система за запис, докато избрани данни се препращат другаде.

Архитектура Локални данни Зависимост от интернет Най-подходяща за
Само локална IAMMETER-Docker Не се изисква след внедряване Поверителност, офлайн обекти и LAN табла за управление
Локална + IAMMETER-Cloud IAMMETER-Docker и IAMMETER-Cloud Изисква се за препращане Локално копие плюс отчети в IAMMETER-Cloud и отдалечен достъп
Локална + PVOutput IAMMETER-Docker и PVOutput Изисква се за препращане Соларни потребители, които използват PVOutput
Локална + MQTT абонат IAMMETER-Docker плюс хранилище, определено от абоната Не се изисква при локален абонат Node-RED, автоматизация и собствена обработка

Активирайте само дестинациите, които служат на ясна цел. Повече дестинации създават повече идентификационни данни, мрежови зависимости и пътища за отстраняване на проблеми.

9. Контролен списък за разширено внедряване

  • Базовото събиране на данни в IAMMETER-Docker вече е стабилно.
  • Постоянните данни и резервните копия на базата данни са проверени.
  • MySQL се използва само когато допълнителните оперативни разходи са оправдани.
  • MQTT порт 1883 е достъпен само от доверени мрежи.
  • Всеки MQTT клиент използва подходящ и уникален client ID.
  • Серийният номер на уреда, темата и регистрираното устройство съвпадат.
  • Мерните единици на полезния товар, броят на фазите и посоката на мощността са тествани.
  • Проблеми при препращането към PVOutput или облака не прекъсват локалното събиране на данни.
  • Съвместимостта с Tasmota е потвърдена с действителното устройство и фърмуер.
  • Промените се тестват на един измервателен уред, преди да бъдат приложени към по-голямо внедряване.

10. История на версиите и наследени бележки

Разделите по-горе описват текущо документираните работни процеси на IAMMETER-Docker. Оригиналната страница е написана около V1.8 и V1.9; следната история е запазена за потребители, които поддържат по-стари инсталации.

V2.4

V2.3

  • Отстранен проблем с качването към PVOutput.

V2.2

  • Добавени логове за проблеми при препращане към IAMMETER-Cloud.

V2.1

V1.9

  • Добавена поддръжка на MySQL.
  • Добавена опция за собствено изображение за всяко място (Place).

IAMMETER-Docker V1.9

V1.8

  • Добавено качване по MQTT към IAMMETER-Docker.
  • Добавено абониране по MQTT за данни в реално време.
  • Добавено директно препращане към PVOutput.
  • Добавен документираният работен процес за измерване с Tasmota/Sonoff.

11. Свързани ресурси

Последна актуализация: 17 юли 2026 г.

Нагоре