Wi-Fi счетчики энергии IAMMETER могут отправлять данные измерений напрямую на сервер, MQTT-брокер или платформу данных, управляемую клиентом. Это позволяет разработчикам и системным интеграторам создавать собственные EMS, BMS, IoT-сервисы, базы данных или панели мониторинга, не используя IAMMETER-Cloud в качестве приемника данных.
В этом руководстве рассматривается интеграция со стороны принимающего сервера:
Счетчик IAMMETER
│
│ HTTP/HTTPS, MQTT/MQTTS или TCP/TLS
▼
Сервис приема данных клиента
│
├── Журнал сырых данных
├── База данных временных рядов или реляционная БД
├── EMS / BMS / ERP
└── Панель мониторинга, отчеты и службы оповещений
Для получения информации о возможностях прошивки и форматах адресов счетчиков используйте Руководство по Local API и открытым интерфейсам IAMMETER. Для выбора архитектуры см. Разработка собственной системы мониторинга энергии.
Счетчик может отправлять свои измерения по нескольким протоколам. Принимающая система должна выбрать один основной путь приема данных.
| Протокол | Компонент приемника | Хорошая отправная точка для |
|---|---|---|
| HTTP / HTTPS | Веб-эндпоинт | REST-бэкенды и самая простая первая интеграция |
| MQTT / MQTTS | MQTT-брокер и подписчик | Существующие IoT-платформы и конвейеры сообщений |
| TCP / TLS | Сокетный слушатель | Выделенные коллекторы и сервисы с пользовательским протоколом |
HTTP обычно является самым простым способом для изучения первой полезной нагрузки, поскольку официальный тестовый приемник можно запустить с помощью небольшого примера на Node.js. MQTT — хороший выбор, если брокер уже является частью системы. TCP/TLS обеспечивает интеграцию на более низком уровне, но требует больше работы на стороне приемника.
Безопасные протоколы и форматы пользовательских портов описаны в текущем руководстве по прошивке, а не повторяются здесь.
IAMMETER предоставляет официальный пример HTTP-приемника на Node.js для тестирования интеграции.
Скачайте пример с:
Запустите:
node Server.js
Пример прослушивает порт 8000. Когда приходит запрос, он:
200 с небольшим JSON-ответом об успехе.Пример намеренно минималистичен. Он не предоставляет аутентификацию, сохранение данных, валидацию, ограничение скорости или производственную безопасность.
Перед настройкой счетчика убедитесь, что:
Для теста в локальной сети счетчик и приемник могут использовать одну локальную сеть без доступа в Интернет. Для удаленного приемника сайт должен иметь маршрут до сервера.
В текущем веб-интерфейсе счетчика выберите режим работы HTTP и введите адрес назначения, например:
{server-address}:8000/upload

HTTPS-эндпоинты могут использовать порт по умолчанию или пользовательский порт. Текущие правила адресации, включая https://host:port, описаны в разделе HTTP/HTTPS прошивки.
После сохранения настройки проверьте консоль приемника на наличие пути запроса и загруженного JSON. Сохраните эту первую сырую полезную нагрузку в качестве тестового примера для последующих тестов парсера и базы данных.
IAMMETER использует единую структуру JSON для данных измерений во всех поддерживаемых протоколах передачи. Протокол изменяет способ доставки полезной нагрузки, но модель измерений остается неизменной.
Полезная нагрузка обычно включает поля уровня устройства, такие как:
SN — серийный номер счетчика для идентификации устройства;version — версия прошивки счетчика;method — метод сообщения или тип полезной нагрузки;Data или Datas — массивы измерений.Data используется для одного канала измерения. Datas содержит несколько массивов измерений для многоканального или трехфазного счетчика.
Пример структуры одного канала:
{
"method": "uploadsn",
"mac": "B0F8932A295C",
"version": "i.75.98.71y",
"server": "em",
"SN": "12345678",
"Data": [228.91, 1.61, 225, 15066.47, 0]
}
Не жестко задавайте количество массивов для каждого счетчика. Количество каналов и доступных полей зависит от модели счетчика и включенных функций измерений.
Используйте авторитетное определение при реализации парсера:
Держите логику обработки для конкретных моделей отдельно от приемника протокола передачи.
Например, WEM3046T и WEM3046TE измеряют вторичный выход 5 А внешнего трансформатора тока. Их значения должны быть преобразованы с применением соответствующего коэффициента CT для получения первичного измерения. Это характеристика счетчика и CT, а не различие между HTTP, MQTT или TCP.
Поэтому практичный конвейер приема данных разделяет:
Храните достаточно информации для воспроизведения и диагностики исходных показаний.
Полезная минимальная модель включает:
| Поле | Назначение |
|---|---|
| SN счетчика | Сопоставляет полезную нагрузку с зарегистрированным устройством |
| Индекс канала или фазы | Различает однофазные, разделенные и трехфазные данные |
| Время получения сервером | Обеспечивает согласованную временную метку приема |
| Voltage | Электрическое измерение |
| Current | Электрическое измерение |
| Active power | Входные данные для расчета импорта/экспорта или нагрузки в реальном времени |
| Import kWh | Накопленная импортированная энергия |
| Export kWh | Накопленная экспортированная энергия |
| Firmware version | Поддерживает устранение неполадок и совместимость парсера |
| Raw payload | Позволяет воспроизводить, аудировать и исправлять парсер |
Дополнительные поля, такие как частота, коэффициент мощности и реактивные измерения, должны храниться, если выбранная модель и конфигурация их предоставляют.
Для производственных систем рассмотрите возможность хранения:
Это упрощает исправление логики парсинга или коэффициента CT без потери исходной полезной нагрузки.
Записывайте время, когда сервер принял полезную нагрузку. Если бизнес-система также использует временную метку устройства или источника, храните оба значения отдельно, не заменяя одно другим.
Сетевая задержка, переподключения и обработка в очереди могут сделать время приема отличным от времени измерения. Определите временную метку, используемую для графиков, выставления счетов и оповещений, до производственного развертывания.
Для приема через MQTT система клиента предоставляет:
IAMMETER публикует данные в реальном времени по теме устройства, например:
device/{SN}/realtime
Используйте специальное руководство для настройки брокера, учетных данных, тем и вопросов MQTTS:
Home Assistant MQTT Discovery не требуется для интеграции с обычным сервером клиента.
IAMMETER предоставляет минимальный пример TCP-слушателя на Node.js:
Пример прослушивает порт 8000 и выводит полученные данные. Производственный TCP-приемник должен дополнительно обеспечивать:
Не предполагайте, что одно событие data сокета всегда равно одному полному сообщению приложения.
Официальный пример TLS демонстрирует TLS-слушатель с серверным ключом и сертификатом:
Перед производственным использованием замените демонстрационные сертификаты и настройки на утвержденные сертификаты организации, управление ключами и конфигурацию безопасности. Приемник должен регистрировать ошибки TLS отдельно от ошибок валидации полезной нагрузки.
Форматы адресов со стороны счетчика для TCP и TLS описаны в руководстве по интерфейсам прошивки.
Текущая прошивка поддерживает интервал сторонней загрузки до 2 секунд. Короткий интервал полезен только в том случае, если принимающая система, хранилище и приложение нуждаются в таком разрешении.
Примерное количество записей, генерируемых одним счетчиком:
| Интервал загрузки | Записей на счетчик в день | 100 счетчиков в день | 1 000 счетчиков в день |
|---|---|---|---|
| 60 секунд | 1 440 | 144 000 | 1 440 000 |
| 10 секунд | 8 640 | 864 000 | 8 640 000 |
| 2 секунды | 43 200 | 4 320 000 | 43 200 000 |
Эти числа представляют события загрузки, а не обязательно строки базы данных. Трехфазная полезная нагрузка может быть нормализована в несколько записей каналов, а индексы, хранение сырых данных или реплицированное хранилище увеличивают фактический объем базы данных.
Планирование мощности должно включать:
Для управления или автоматизации с интервалом в одну секунду в той же локальной сети рассмотрите Modbus TCP вместо использования удаленного конвейера загрузки.
Производственный приемник должен быть готов к сетевым и прикладным сбоям.
Проверяйте как минимум:
Храните некорректные полезные нагрузки в контролируемом пути диагностики, не позволяя им блокировать работу валидных устройств.
Не предполагайте, что каждый интервал создает ровно одну постоянно хранящуюся запись. Сетевые сбои, поведение при переподключении, повторные попытки сервера или обработка приложения могут привести к пропущенным или повторяющимся событиям приема.
Определите, как бизнес-система будет:
Мониторьте больше, чем просто веб- или сокетный процесс. Полезные сигналы включают:
Для приемника, доступного из Интернета:
Просмотрите текущее поведение прошивки MQTTS, TLS и HTTPS в руководстве по прошивке и открытым интерфейсам перед выбором архитектуры безопасности.
Оригинальная версия этого документа была сосредоточена на настройке более старых прошивок счетчиков. Эти скриншоты сохранены только для пользователей, идентифицирующих существующую установку. Для новых интеграций используйте текущий веб-интерфейс и последнюю прошивку.



В более ранней документации прошивки также использовался локальный метод конфигурации /api/uploadinterval и описывался минимум в шесть секунд. Текущая прошивка позволяет задавать интервал в веб-интерфейсе и поддерживает документированный минимум в 2 секунды.
Последнее обновление: 16 июля 2026 г.
Трехфазный Wi-Fi счетчик электроэнергии (WEM3080T)
Однофазный Wi-Fi счетчик электроэнергии (WEM3080)
Трехфазный Wi-Fi счетчик электроэнергии (WEM3046T)
Трехфазный Wi-Fi счетчик электроэнергии (WEM3050T)