Ho sentim, el teu navegador no admet JavaScript!
Inicia sessió

Rep rebre les dades energètiques d'IAMMETER al vostre servidor

Rep rebre les dades energètiques d'IAMMETER al vostre servidor

Els comptadors Wi-Fi d'IAMMETER poden enviar les dades de mesura directament a un servidor, un broker MQTT o una plataforma de dades controlada pel client. Això permet als desenvolupadors i integradors de sistemes crear el seu propi EMS, BMS, servei IoT, base de dades o panell de control sense fer servir IAMMETER-Cloud com a destí de les dades.

Aquesta guia aborda la integració des del costat del servidor receptor:

  • posar en marxa un receptor de prova;
  • capturar el primer payload del comptador;
  • identificar el comptador i els canals de mesura;
  • normalitzar i emmagatzemar les dades;
  • estimar el volum d'ingestió;
  • preparar el receptor per al desplegament en producció.
Comptador IAMMETER
      │
      │ HTTP/HTTPS, MQTT/MQTTS o TCP/TLS
      ▼
Servei d'ingestió del client
      │
      ├── Registre de payloads en brut
      ├── Base de dades de sèries temporals o relacional
      ├── EMS / BMS / ERP
      └── Panell de control, informes i serveis d'alarmes

Per a les capacitats del firmware del comptador i els formats d'adreça, consulteu la Guia d'API local i interfície oberta d'IAMMETER. Per a la selecció d'arquitectura, vegeu Desenvolupeu el vostre propi sistema de monitoratge energètic.

1. Seleccioneu una arquitectura de receptor

El comptador pot enviar les seves mesures mitjançant diversos transports. El sistema receptor hauria de seleccionar una via d'ingestió principal.

Transport Component receptor Bon punt de partida per a
HTTP / HTTPS Punt final web Backends REST i la primera integració més senzilla
MQTT / MQTTS Broker MQTT i subscriptor Plataformes IoT existents i pipelines de missatges
TCP / TLS Listener de sockets Col·lectors dedicats i serveis de protocol personalitzats

HTTP és normalment la manera més fàcil d'inspeccionar el primer payload, perquè el receptor de prova oficial es pot iniciar amb un petit exemple de Node.js. MQTT és una opció sòlida quan el broker ja forma part del sistema. TCP/TLS ofereix una integració de sockets de més baix nivell, però requereix més enginyeria al costat del receptor.

Els transports segurs i els formats de port personalitzats es mantenen a la guia de firmware actual, en lloc de repetir-los aquí.

2. Inici ràpid: rebre el primer payload mitjançant HTTP

IAMMETER proporciona un exemple oficial de receptor HTTP en Node.js per a proves d'integració.

2.1 Inicieu el receptor de prova

Descarregueu l'exemple de:

Executeu:

node Server.js

L'exemple escolta al port 8000. Quan arriba una petició:

  • recull el cos de la petició HTTP;
  • imprimeix l'URL de la petició;
  • imprimeix el cos carregat;
  • retorna l'estat HTTP 200 amb una petita resposta JSON d'èxit.

L'exemple és deliberadament mínim. No ofereix autenticació, persistència, validació, limitació de velocitat ni seguretat de producció.

2.2 Feu que el receptor sigui accessible

Abans de configurar el comptador, confirmeu que:

  • el servidor escolta a la interfície i al port esperats;
  • el tallafoc permet la connexió;
  • el comptador pot resoldre el nom de domini quan s'utilitza un domini;
  • qualsevol camí NAT, proxy invers o VPN funciona;
  • l'URL final arriba a la ruta d'aplicació prevista.

Per a una prova en LAN, el comptador i el receptor poden utilitzar la mateixa xarxa local sense accés a Internet. Per a un receptor remot, el lloc ha de tenir una ruta cap al servidor.

2.3 Apunteu el comptador al receptor

A la WebUI actual del comptador, seleccioneu el mode d'execució HTTP i introduïu una destinació com ara:

{server-address}:8000/upload

Configureu el punt final HTTP receptor a la WebUI actual d'IAMMETER

Els punts finals HTTPS poden utilitzar el port per defecte o un port personalitzat. Les regles d'adreça actuals, inclòs https://host:port, estan documentades a la secció de firmware HTTP/HTTPS.

Després de desar la configuració, comproveu a la consola del receptor la ruta de la petició i el JSON carregat. Conserveu aquest primer payload en brut com a fixture de prova per a proves posteriors del parser i de la base de dades.

3. Enteneu el payload d'IAMMETER entrant

IAMMETER utilitza una estructura JSON de mesura central coherent en tots els transports de pujada suportats. El transport canvia la manera com arriba el payload, però el model de mesura es manté coherent.

Un payload normalment inclou camps a nivell de dispositiu com ara:

  • SN — número de sèrie del comptador, utilitzat per identificar el dispositiu;
  • version — versió del firmware del comptador;
  • method — mètode del missatge o tipus de payload;
  • Data o Datas — matrius de mesures.

Data s'utilitza per a un sol canal de mesura. Datas conté múltiples matrius de mesures per a un comptador multicanal o trifàsic.

Exemple d'estructura d'un sol canal:

{
  "method": "uploadsn",
  "mac": "B0F8932A295C",
  "version": "i.75.98.71y",
  "server": "em",
  "SN": "12345678",
  "Data": [228.91, 1.61, 225, 15066.47, 0]
}

No codifiqueu de manera fixa un únic comptador de matriu per a tots els comptadors. El nombre de canals i els camps disponibles depenen del model de comptador i de les funcions de mesura activades.

Utilitzeu la definició autoritzada a l'hora d'implementar el parser:

3.1 Processament específic del model

Mantingueu el processament específic del model separat del receptor de transport.

Per exemple, el WEM3046T i el WEM3046TE mesuren la sortida secundària de 5 A d'un transformador de corrent extern. Els seus valors s'han de convertir amb la relació CT aplicable per obtenir la mesura del costat primari. Això és una característica del comptador i del CT, no una diferència entre HTTP, MQTT o TCP.

Un pipeline d'ingestió pràctic, per tant, separa:

  1. la descodificació del transport;
  2. la validació del JSON;
  3. la identificació del comptador i del canal;
  4. l'escalat o la normalització específics del model;
  5. l'emmagatzematge i els càlculs de negoci.

4. Dissenyeu el model de dades d'ingestió

Emmagatzemeu prou informació per reproduir i diagnosticar la lectura original.

Un model mínim útil inclou:

Camp Finalitat
SN del comptador Assigna el payload a un dispositiu registrat
Índex de canal o fase Diferencia les dades monofàsiques, bifàsiques i trifàsiques
Hora de recepció del servidor Proporciona una marca de temps d'ingestió coherent
Tensió Mesura elèctrica
Corrent Mesura elèctrica
Potència activa Entrada per al càlcul de càrrega o importació/exportació en temps real
Import kWh Energia importada acumulada
Export kWh Energia exportada acumulada
Versió del firmware Dona suport a la resolució de problemes i a la compatibilitat del parser
Payload en brut Permet la repetició, l'auditoria i la correcció del parser

Camps addicionals com la freqüència, el factor de potència i les mesures reactives s'han d'emmagatzemar quan el model i la configuració seleccionats els proporcionin.

4.1 Mantingueu separades les dades en brut i les normalitzades

Per a sistemes de producció, considereu mantenir:

  • un registre d'ingestió en brut immutable o de retenció curta;
  • lectures normalitzades a nivell de canal utilitzades per l'aplicació;
  • valors agregats per hora, per dia i per mes.

Això facilita la correcció de la lògica d'anàlisi o de relació CT sense perdre el payload original.

4.2 Utilitzeu amb cura l'hora de recepció del servidor

Enregistreu l'hora en què el servidor va acceptar el payload. Si el sistema de negoci també utilitza una marca de temps del dispositiu o de la font, emmagatzemeu tots dos valors per separat en lloc de substituir-ne un per l'altre.

El retard de xarxa, les reconnexions i el processament en cua poden fer que el temps d'ingestió difereixi del temps de mesura. Definiu la marca de temps utilitzada pels gràfics, la facturació i les alarmes abans del desplegament en producció.

5. Implementeu els altres tipus de receptor

5.1 Receptor MQTT o MQTTS

Per a la ingesta MQTT, el sistema del client proporciona:

  • un broker MQTT accessible;
  • regles d'autenticació i control d'accés;
  • un servei subscriptor o consumidor;
  • validació i persistència del payload;
  • monitoratge de la salut del broker i del consumidor.

IAMMETER publica dades en temps real en un tema del dispositiu com ara:

device/{SN}/realtime

Utilitzeu la guia dedicada per a la configuració del broker, les credencials, els temes i les consideracions MQTTS:

L'Home Assistant MQTT Discovery no és necessari per a una integració general client-servidor.

5.2 Receptor TCP

IAMMETER proporciona un listener TCP mínim en Node.js:

L'exemple escolta al port 8000 i imprimeix les dades rebudes. Un receptor TCP de producció ha de proporcionar a més:

  • gestió del cicle de vida de les connexions;
  • memòria intermèdia i validació del payload;
  • gestió segura de fragments de socket parcials o combinats;
  • identificació del dispositiu;
  • persistència i gestió d'errors;
  • monitoratge i límits de recursos controlats.

No assumiu que un esdeveniment data d'un socket sempre equival a un missatge d'aplicació complet.

5.3 Receptor TLS

L'exemple TLS oficial demostra un listener TLS amb una clau de servidor i un certificat:

Abans de l'ús en producció, substituïu els certificats i paràmetres de demostració per la configuració de certificats, gestió de claus i seguretat aprovada per l'organització. El receptor ha de registrar els errors TLS per separat dels errors de validació del payload.

Els formats d'adreça del costat del comptador per a TCP i TLS es mantenen a la guia d'interfície del firmware.

6. Planifiqueu l'interval de pujada i la capacitat del servidor

El firmware actual admet un interval de pujada a tercers de fins a 2 segons. Un interval curt només és útil quan el sistema receptor, l'emmagatzematge i l'aplicació necessiten la resolució addicional.

Registres aproximats generats per comptador:

Interval de pujada Registres per comptador i dia 100 comptadors al dia 1.000 comptadors al dia
60 segons 1.440 144.000 1.440.000
10 segons 8.640 864.000 8.640.000
2 segons 43.200 4.320.000 43.200.000

Aquestes xifres representen esdeveniments de pujada, no necessàriament files de base de dades. Un payload trifàsic es pot normalitzar en diversos registres de canal, i els índexs, la retenció de payloads en brut o l'emmagatzematge replicat augmenten el volum real de la base de dades.

La planificació de la capacitat ha d'incloure:

  • pics de connexions concurrents;
  • peticions o missatges per segon;
  • cost d'anàlisi del JSON;
  • multiplicació de files a nivell de canal;
  • índexs i retenció de la base de dades;
  • panells de control i consultes d'agregació;
  • registres, reenviaments i emmagatzematge de missatges no lliurats;
  • trànsit de còpies de seguretat i replicació.

Per a control o automatització d'un segon a la mateixa LAN, considereu Modbus TCP en lloc d'utilitzar un pipeline de pujada remot.

7. Gestioneu la fiabilitat i la qualitat de les dades

Un receptor de producció ha d'esperar errors de xarxa i d'aplicació.

7.1 Valideu cada payload

Valideu com a mínim:

  • la sintaxi del JSON;
  • els camps d'identitat requerits;
  • l'estructura de matriu esperada;
  • els tipus numèrics i els rangs raonables;
  • l'assignació de model o canal suportada;
  • les variacions de camps depenents del firmware.

Conserveu els payloads mal formats en una via de diagnòstic controlada sense permetre que bloquegin dispositius vàlids.

7.2 Planifiqueu pujades duplicades i absents

No assumiu que cada interval produeix exactament un registre emmagatzemat permanentment. Les interrupcions de xarxa, el comportament de reconnexió, els reenviaments del servidor o el processament de l'aplicació poden produir esdeveniments d'ingestió absents o repetits.

Definiu com gestionarà el sistema de negoci:

  • la detecció de registres duplicats;
  • la identificació de llacunes;
  • la distinció entre un comptador silenciós i un receptor fallit;
  • evitar calcular l'energia sumant cegament els registres acumulats de kWh;
  • la conciliació de l'energia acumulada després d'una interrupció.

7.3 Monitoritzeu el camí de dades complet

Monitoritzeu més que el procés web o de sockets. Els senyals útils inclouen:

  • l'hora de l'últim payload per comptador;
  • el nombre de payloads invàlids;
  • el temps de resposta del receptor i la taxa d'errors;
  • les connexions TCP/TLS actives;
  • el retard del consumidor MQTT;
  • la latència d'escriptura a la base de dades;
  • la profunditat de la cua;
  • l'ús de disc i les tasques de retenció.

8. Assegureu el sistema receptor

Per a un receptor exposat a Internet:

  • preferiu un transport xifrat suportat pel desplegament;
  • restringiu els ports exposats i les fonts de xarxa quan sigui possible;
  • apliqueu autenticació MQTT i autorització de temes;
  • protegiu els punts finals HTTP amb l'arquitectura de seguretat de la xarxa o de l'aplicació circumdant;
  • gestioneu els certificats TLS i les claus privades de manera segura;
  • eviteu escriure credencials o payloads sensibles complets als registres de l'aplicació;
  • limiteu la velocitat i aïlleu el trànsit mal format o abusiu;
  • manteniu actualitzats el sistema operatiu, el runtime i les dependències.

Reviseu el comportament actual del firmware MQTTS, TLS i HTTPS a la guia de firmware i interfície oberta abans de seleccionar un disseny de seguretat.

9. Llista de verificació per al desplegament en producció

Comptador i xarxa

  • Versió del firmware enregistrada i validada
  • SN del comptador assignat al lloc i als canals correctes
  • Adreça i port de destinació verificats
  • Camí DNS, tallafoc, NAT o VPN provat
  • Interval de pujada requerit confirmat

Receptor

  • Payload en brut capturat de cada model de comptador implicat
  • Proves del parser creades a partir de fixtures de payloads reals
  • Payloads d'un sol canal i multicanal gestionats
  • Processament de la relació CT del WEM3046T/E validat quan correspon
  • Payloads mal formats i no suportats aïllats de manera segura
  • El receptor retorna o manté el comportament esperat pel transport seleccionat

Emmagatzematge i operacions

  • Política de marques de temps documentada
  • Política de dades duplicades i absents documentada
  • Capacitat de la base de dades calculada per al nombre de dispositius i l'interval
  • Registres, mètriques i alertes de darrera connexió per comptador activats
  • Retenció, còpies de seguretat i recuperació provades
  • Certificats, credencials i regles d'accés revisats
  • Interrupció de xarxa i reinici del receptor provats

10. Documentació relacionada

11. Captures de pantalla de configuració de firmware antic

La versió original d'aquest document se centrava a configurar firmware més antic del comptador. Aquestes captures es conserven únicament per als usuaris que identifiquen una instal·lació existent. Per a noves integracions, utilitzeu la WebUI actual i el firmware més recent.

Pàgina TCP antiga

Configuració antiga del servidor TCP d'IAMMETER

Pàgina TLS antiga

Configuració antiga del servidor TLS d'IAMMETER

Pàgina HTTP/HTTPS antiga

Configuració antiga del servidor HTTP/HTTPS d'IAMMETER

La documentació del firmware anterior també utilitzava el mètode local de configuració /api/uploadinterval i descrivia un mínim de sis segons. El firmware actual exposa l'interval a la WebUI i admet un mínim documentat de 2 segons.

Última actualització: 16 de juliol de 2026

Amunt