Conocimiento/Integración/Node-RED

GuíaM-Center

Contadores M-Bus con el M-Center en Node-RED

Node-RED sirve para convertir, filtrar y distribuir los valores de los contadores a otros sistemas. Toma los valores del EMU M-Center, vía Modbus TCP o vía MQTT.

Lo que necesita

  • Un M-Center configurado con licencia de servidor Modbus TCP (210.300.04) o licencia MQTT (210.300.03).
  • Para Modbus, el paquete node-red-contrib-modbus, instalable mediante «Gestionar paleta».
  • Para MQTT, un broker al que lleguen el M-Center y Node-RED.

Vía 1: Modbus TCP

  1. En el M-Center, introducir el código OBIS de los registros deseados. La lectura de energía importada tarifa 1 (1-0:1.8.1) queda entonces en el registro 1030.
  2. En Node-RED, añadir un nodo «Modbus Read». Servidor: IP del M-Center, puerto 502, tipo TCP.
  3. Unit-ID: la dirección de dispositivo Modbus del contador en el M-Center.
  4. FC 3 (Read Holding Registers), dirección 1029 para el registro 1030, cantidad 2, intervalo de consulta por ejemplo 15 minutos.
  5. Añadir un nodo de función que una los dos registros en un número de coma flotante.
// Dos registros de 16 bits (big endian, palabra alta primero) -> 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 = "vivienda1/importada_t1";
return msg;

El manual cuenta los registros desde 1, node-red-contrib-modbus espera la dirección desde 0. Por eso 1029 para el registro 1030. Compare el primer valor con la lectura en el M-Center.

Para varios contadores, cree un nodo de lectura por contador con su propio Unit-ID. Las direcciones no cambian mientras los códigos OBIS estén introducidos.

Vía 2: MQTT

Con la licencia MQTT, el M-Center publica cada valor con su propio topic. Un nodo «mqtt in» con una suscripción comodín recibe todos los valores de un M-Center:

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

Conecte primero un nodo debug y observe los topics y el contenido de los mensajes. Después separe los valores por topic con un nodo switch, por ejemplo según el código OBIS al final de la ruta.

¿Qué vía?

Modbus TCPMQTT
Direccionesfijas, documentadas en el manualtopic por contador y registro
ConsultaNode-RED consulta activamenteel M-Center envía por sí mismo
Otros sistemasuna consulta propia por sistematantos suscriptores como se quiera en el broker
Licencia210.300.04210.300.03

Preguntas frecuentes


¿Puede Node-RED leer los registros de estado?

Sí. A partir del registro 11910 (float32) u 11912 (uint64) está el código de estado de la última lectura: 1 correcta, 2 no correcta, 3 correcta con aviso del contador. Lea los registros de estado como uint64.

¿Cómo leo uint64?

Leer cuatro registros a partir de la dirección uint64, por ejemplo desde 1031 para el registro 1032, y evaluarlos en el nodo de función con buf.readBigUInt64BE(0).

Seguir leyendo


SEITEM-Bus a Modbus TCPMapa de registros SEITEM-Bus a MQTTEstructura de topics SEITEDatos de contadores en GrafanaGuía SEITEMás integracionesResumen

¿Preguntas sobre la integración?


Envíenos su lista de contadores. Le ayudamos con direcciones, códigos OBIS y licencias.

Teléfono
+41 (0)41 545 03 00

Soporte técnico
helpdesk [at] emuag.ch
Formulario de soporte →