WAGO Energiezähler per MQTT auslesen – die Kurzanleitung

Ein WAGO-Energiezähler spricht selbst kein MQTT – er liefert seine Messwerte per Modbus. Den Sprung ins MQTT-Netz macht ein WAGO-Controller (z. B. PFC200), der den Zähler ausliest und die Werte als JSON an einen Broker sendet.
Der Weg ist immer dreistufig: (1) Der WAGO-Energiezähler (z. B. MID-Zähler der 879-Serie) hängt per Modbus RTU (RS485) oder Modbus TCP am Controller. (2) Der WAGO-Controller (PFC100/PFC200) liest die Register – Wirkarbeit, Leistung, Strom, Spannung – zyklisch aus. (3) Der im Controller integrierte MQTT-Client veröffentlicht die Werte an deinen Broker. Der Zähler selbst braucht dafür kein Update; die MQTT-Logik sitzt komplett im Controller.

Bei PFC100/PFC200 aktivierst du MQTT ohne Programmierung im WBM (Web-Based Management, https://<controller-ip>) unter der MQTT-Konfiguration: Broker-Adresse, Port (1883 unverschlüsselt, 8883 mit TLS), Client-ID, Benutzer/Passwort und das Publish-Topic. Wer die Payload frei formen will, nutzt die MQTT-Bibliothek in CODESYS/e!COCKPIT oder Node-RED auf dem Linux-Controller – damit baust du sauberes JSON pro Zähler.

Bewährt ist ein sprechendes Topic-Schema pro Anlage und Gerät, z. B. standort/zaehler/haupt/json. Als Payload ein flaches JSON mit Zeitstempel und den Messwerten (z. B. {"ts":..., "kwh":..., "p_w":..., "i_a":...}). Ein festes Schema erspart dir später Parser-Ärger, wenn eine Bridge die Nachrichten weiterverarbeitet und in eine Datenbank schreibt.

Damit die Werte nicht nur im Broker liegen, hört ein kleiner Bridge-Dienst die Topics ab und schreibt sie in eine Zeitreihen-/Analyse-DB. Bei uns läuft genau das als mqtt_clickhouse_bridge (systemd-Service): abonnierte Topics wie standort/zaehler/*/json landen automatisch in ClickHouse. So bekommst du historische Lastgänge und Auswertungen statt nur Live-Werte. Wichtig: MQTT-User mit eigenem Broker-Zugang (Auth-Port statt offenem 1883), damit fremde Clients nicht mitlesen.

Der häufigste Stolperstein ist die Register-Zuordnung des Zählers: Welche Modbus-Adresse liefert kWh, welche die Momentanleistung, und ist der Wert 16- oder 32-Bit, Float oder Integer? Diese Angaben stehen im Datenblatt des jeweiligen WAGO-Zählers. Erst wenn das Mapping stimmt, sind die MQTT-Werte belastbar – ein falsch interpretiertes Register kippt die ganze Auswertung.
→ Passend dazu: wago sps software