Kunskap/Integration/Node-RED

GuideM-Center

M-Bus-mätare med M-Center i Node-RED

Node-RED passar bra för att räkna om, filtrera och distribuera mätarvärden till andra system. Värdena hämtar du från EMU M-Center, via Modbus TCP eller via MQTT.

Vad du behöver

  • Ett konfigurerat M-Center med licensen Modbus TCP-server (210.300.04) eller MQTT-licensen (210.300.03).
  • För Modbus paketet node-red-contrib-modbus, installeras via «Hantera palett».
  • För MQTT en broker som M-Center och Node-RED når.

Väg 1: Modbus TCP

  1. Ange OBIS-koden för de önskade registren i M-Center. Förbrukning tariff 1 (1-0:1.8.1) ligger då i register 1030.
  2. Lägg till en nod «Modbus Read» i Node-RED. Server: IP för M-Center, port 502, typ TCP.
  3. Unit-ID: mätarens Modbus-enhetsadress i M-Center.
  4. FC 3 (Read Holding Registers), adress 1029 för register 1030, antal 2, pollintervall t.ex. 15 minuter.
  5. Koppla på en function-nod som sätter ihop de två registren till ett flyttal.
// Två 16-bitarsregister (big endian, högre ordet först) -> 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 = "lagenhet1/forbrukning_t1";
return msg;

Manualen räknar register från 1, node-red-contrib-modbus förväntar sig adressen från 0. Därför 1029 för register 1030. Jämför det första värdet med mätarställningen i M-Center.

För flera mätare skapar du en läsnod per mätare med eget Unit-ID. Adresserna förblir desamma så länge OBIS-koderna är angivna.

Väg 2: MQTT

Med MQTT-licensen publicerar M-Center varje värde under ett eget topic. En «mqtt in»-nod med wildcard-prenumeration tar emot alla värden från ett M-Center:

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

Koppla först på en debug-nod och titta på topics och meddelandeinnehåll. Dela sedan upp värdena per topic med en switch-nod, t.ex. enligt OBIS-koden i slutet av sökvägen.

Vilken väg?

Modbus TCPMQTT
Adresserfasta, dokumenterade i manualentopic per mätare och register
FörfråganNode-RED frågar aktivtM-Center skickar självt
Fler systemegen förfrågan per systemvalfritt antal prenumeranter i brokern
Licens210.300.04210.300.03

Vanliga frågor


Kan Node-RED läsa statusregistren?

Ja. Från register 11910 (float32) eller 11912 (uint64) ligger statuskoden för den senaste avläsningen: 1 lyckad, 2 misslyckad, 3 lyckad med meddelande från mätaren. Läs statusregister som uint64.

Hur läser jag uint64?

Läs fyra register från uint64-adressen, t.ex. från 1031 för register 1032, och bearbeta dem i function-noden med buf.readBigUInt64BE(0).

Läs mer


SEITEM-Bus till Modbus TCPRegisterkarta SEITEM-Bus till MQTTTopic-struktur SEITEMätardata i GrafanaGuide SEITEFler integrationerÖversikt

Frågor om integrationen?


Skicka oss mätarlistan. Vi hjälper dig med adresser, OBIS-koder och licenser.

Telefon
+41 (0)41 545 03 00

Teknisk support
helpdesk [at] emuag.ch
Supportformulär →