Kennis/Integratie/Node-RED

HandleidingM-Center

M-Bus-meters met het M-Center in Node-RED

Node-RED is geschikt om meterwaarden om te rekenen, te filteren en naar andere systemen te verdelen. De waarden haalt het uit het EMU M-Center, via Modbus TCP of via MQTT.

Dit hebt u nodig

  • Een ingericht M-Center met Modbus TCP-serverlicentie (210.300.04) of MQTT-licentie (210.300.03).
  • Voor Modbus het pakket node-red-contrib-modbus, te installeren via «Palet beheren».
  • Voor MQTT een broker die M-Center en Node-RED kunnen bereiken.

Weg 1: Modbus TCP

  1. In het M-Center bij de gewenste registers de OBIS-code vastleggen. De meterstand verbruik tarief 1 (1-0:1.8.1) staat dan op register 1030.
  2. In Node-RED een knooppunt «Modbus Read» toevoegen. Server: IP van het M-Center, poort 502, type TCP.
  3. Unit-ID: het Modbus-apparaatadres van de meter in het M-Center.
  4. FC 3 (Read Holding Registers), adres 1029 voor register 1030, aantal 2, opvraaginterval bijvoorbeeld 15 minuten.
  5. Een functieknooppunt toevoegen dat de twee registers samenvoegt tot een drijvendekommagetal.
// Twee 16-bit-registers (big endian, hoogste woord eerst) -> float32
const buf = Buffer.alloc(4);
buf.writeUInt16BE(msg.payload[0], 0);
buf.writeUInt16BE(msg.payload[1], 2);
msg.payload = buf.readFloatBE(0);
msg.topic = "woning1/verbruik_t1";
return msg;

De handleiding telt de registers vanaf 1, node-red-contrib-modbus verwacht het adres vanaf 0. Daarom 1029 voor register 1030. Vergelijk de eerste waarde met de meterstand in het M-Center.

Maak voor meerdere meters per meter een leesknooppunt met een eigen Unit-ID aan. De adressen blijven gelijk zolang de OBIS-codes zijn vastgelegd.

Weg 2: MQTT

Met MQTT-licentie publiceert het M-Center elke waarde onder een eigen topic. Een knooppunt «mqtt in» met een wildcard-abonnement ontvangt alle waarden van een M-Center:

<prefix>/emu/mcenter/<MAC>/meterreading/#

Hang eerst een debug-knooppunt aan en bekijk topics en inhoud van de berichten. Scheid daarna de waarden per topic met een switch-knooppunt, bijvoorbeeld op de OBIS-code aan het einde van het pad.

Welke weg?

Modbus TCPMQTT
Adressenvast, gedocumenteerd in de handleidingtopic per meter en register
OpvragingNode-RED vraagt actief opM-Center verstuurt zelf
Andere systemenper systeem een eigen opvragingonbeperkt aantal abonnees op de broker
Licentie210.300.04210.300.03

Veelgestelde vragen


Kan Node-RED de statusregisters lezen?

Ja. Vanaf register 11910 (float32) of 11912 (uint64) staat de statuscode van de laatste uitlezing: 1 geslaagd, 2 niet geslaagd, 3 geslaagd met melding van de meter. Lees statusregisters als uint64.

Hoe lees ik uint64?

Vier registers vanaf het uint64-adres lezen, bijvoorbeeld vanaf 1031 voor register 1032, en in het functieknooppunt met buf.readBigUInt64BE(0) uitwerken.

Verder lezen


SEITEM-Bus naar Modbus TCPRegistertabel SEITEM-Bus naar MQTTTopicstructuur SEITEMeterdata in GrafanaHandleiding SEITEMeer integratiesOverzicht

Vragen over de integratie?


Stuur ons uw meterlijst. Wij helpen bij adressen, OBIS-codes en licenties.

Telefoon
+41 (0)41 545 03 00

Technische ondersteuning
helpdesk [at] emuag.ch
Supportformulier →