[Modul] NRG-Stack MeterHub / Energiezähler - Modbus TCP und RS485 (Symbox) für Siemens, Janitza, Eastron, Shelly, go-e, Meteocontrol blue'Log u. a. (+ Discovery + virtuelle Zähler)

:new_button: Update 19.09.2026: Seit dem Start dieses Threads (15.09.) hat sich einiges getan: RS485-Zähler über die Symbox, drei neue Eastron-Typen (SDM120/220/230), besserer Schutz vor Fehl-Lesewerten und verständlichere Texte. Alles Neue steht im Nachtrag weiter unten.

Moin zusammen,

MeterHub liest Energiezähler verschiedenster Hersteller direkt per Modbus TCP aus - ein generisches Treiber-Framework statt eines eigenen Moduls pro Hersteller, nach demselben Prinzip wie InverterHub, mit dem es auch direkt zusammenarbeitet (Stromflusskachel, Sankey). Dazu gibt es einen Netzwerk-Discovery und einen virtuellen Zähler, der mehrere Zähler zu einem Formel-Ergebnis zusammenrechnet.

Die drei Module

  • MeterHub - die Auslese-Instanz. Zählertyp wählen, IP eintragen (bzw. bei Cloud-Zählern anmelden), Datenpunkt-Gruppen aktivieren.
  • MeterHubDiscovery - durchsucht einen IP-Bereich und legt gefundene Zähler automatisch als Instanz an (Typ-Erkennung über charakteristische Register). Erkennt inzwischen auch Meteocontrol-blue’Log-Datenlogger von selbst und durchsucht den SCADA-Adressbereich dahinter gleich mit.
  • MeterHubVirtual - virtueller Zähler aus einer Formel: beliebig viele reale Zähler, je einen Anteil in Prozent (100 % = addieren, −100 % = abziehen, jeder Wert dazwischen ein echter Teil-Anteil, z. B. für eine anteilige Einspeisevergütung). Mitglieder entweder als Tabellenzeilen oder - neu - einfach durch Anordnung im Objektbaum.

Unterstützte Zähler

Legende: :white_check_mark: an realer Anlage bestätigt · :test_tube: experimentell (aus Vorlage/Doku abgeleitet, noch nicht an Hardware geprüft)

Hersteller Status Hinweis
Siemens SENTRON PAC2200 :white_check_mark:
Janitza UMG 604/605/509/512/806/96PA/801 :white_check_mark: gemeinsame Registerkarte
Janitza UMG 800 :white_check_mark: eigene, frei konfigurierbare Werkskarte
Eastron SDM72D-M v2 / SDM630 v2 :white_check_mark: meist per RTU/TCP-Gateway
Phoenix Contact EEM-EM375 / EEM-XM :white_check_mark: meist per RTU/TCP-Gateway
WhatWatt :white_check_mark: spricht Modbus TCP direkt
Carlo Gavazzi EM24 / EM300 / ET340 :white_check_mark:
Shelly Pro 3EM :white_check_mark: Modbus TCP muss am Gerät erst aktiviert werden
go-e Controller :white_check_mark: Modbus TCP muss am Gerät erst aktiviert werden
Inexogy / Discovergy :white_check_mark: Cloud-API statt Modbus, für Abrechnungszähler inkl. rückwirkendem Archiv-Nachtrag
Meteocontrol blue’Log SCADA (Wechselrichter/Zähler/Datenlogger-Summe) :white_check_mark: SCADA-Lizenz ist ein kostenpflichtiges Zusatzmodul, an realer Solarpark-Anlage verifiziert
Socomec Countis :test_tube: gegen Herstelldoku gegengeprüft, Energiezähler noch offen
MBS Professional 3-75 :test_tube:

Highlights

  • Ein Modul, viele Hersteller - austauschbare Treiber, gemeinsame Konventionen (Vorzeichen: + = Bezug, − = Einspeisung, Invers-Schalter bei falscher Anschlussrichtung - gilt jetzt für Leistung UND Energiezähler gemeinsam, ohne Sprung beim Umschalten).
  • MeterHubVirtual - Formel statt Baum: Summe, Differenz oder prozentualer Anteil, beliebig viele Zähler, Mitglieder wahlweise per Tabelle oder aus dem Objektbaum.
  • Automatische Archiv-Pflege - passender Aggregationstyp (Zähler vs. Standard), automatische Verdichtungsstaffel aus dem Update-Intervall abgeleitet, konfigurierbar.
  • Zählerschutz - kumulative Zählerstände laufen nie rückwärts und sind nie 0; erkennt Übertragungslücken und Zählertausch automatisch.
  • Rollen-Plausibilitätsprüfung - Netz-/NAP-Zähler, Verbraucher oder Erzeuger; bei Unterzählern prüft das Modul aus echten Messwerten, ob die gewählte Rolle zur tatsächlichen Flussrichtung passt.
  • Gekoppelt an InverterHub (Stromflusskachel/Sankey, Funktionszuordnung als gemeinsamer Vertrag) und optional an WPHub (Wärmepumpe).

Anschluss-Besonderheiten (kurz)

  • Siemens PAC2200: Energie als 64-Bit-Double, Registerlücke zwischen 41 und 55 - zwei getrennte Leseblöcke nötig.
  • Shelly Pro 3EM / go-e Controller: Modbus TCP ist ab Werk aus, muss am Gerät erst aktiviert werden.
  • Meteocontrol blue’Log: Die SCADA-Adresse ist die Unit-ID, NICHT 1 - steht am blue’Log selbst (Geräteliste → Spalte „SCADA Adresse").
  • Eastron/Phoenix: meist per RTU/TCP-Gateway, dessen IP eintragen.

Alle Registeradressen stehen im Beschreibungsfeld jeder Variable.

Installation

Ab sofort direkt über den Symcon Module Store - Kanal Beta einstellen, dann nach „NRG-Stack MeterHub" suchen.

Status

Das Ganze ist Beta. Die Register basieren auf öffentlicher Hersteller-Doku, Referenzprojekten und - wo möglich - an realer Hardware geprüft; zwei Treiber (Socomec, MBS) sind noch nicht hardwareverifiziert und entsprechend markiert.

Rückmeldungen sind ausdrücklich erwünscht - besonders zu den :test_tube: markierten Herstellern. Bitte mit Hersteller, Modell und betroffenem Register/Wert melden.

MeterHub ist Teil des NRG-Stack - ein offener Modulverbund fürs Energiemanagement, siehe die Vorankündigung. InverterHub hat hier schon seinen eigenen Thread, weitere Module folgen.

Danke fürs Testen!

Nachtrag: MeterHub in der Praxis - eine Anlage mit 12 Trafo-Gruppen

Ein kurzer Nachtrag, um zu zeigen, dass das Ganze auch bei größerem Umfang trägt - nicht nur am heimischen Balkonkraftwerk.

Die Dashboard-Kachel

Eine reale kommerzielle PV-Park-Anlage mit 12 Trafo-Gruppen und insgesamt weit über 400 Wechselrichtern (Meteocontrol blue’Log SCADA, siehe oben). Die Energiefluss-Kachel des Geschwistermoduls NRG-Stack Dashboard zeigt alle 12 Gruppen auf einen Blick, inklusive Netzeinspeisung und Saldo in der Mitte:

Klick auf eine Gruppe klappt sie auf und zeigt jeden einzelnen Wechselrichter - hier „Trafo 4.1" mit allen 24 Mitgliedern und deren Momentanleistung:

Die Verdrahtung dahinter

Jeder WR eine eigene MeterHub-Instanz, jede Trafo-Gruppe eine MeterHubVirtual-Instanz, die ihre WR über den Objektbaum als Mitglieder zusammenfasst - kein manuelles Verdrahten pro Wechselrichter, die Formel entsteht allein aus der Anordnung im Baum:

Jede Trafo-Instanz liefert am Ende genau zwei Zahlen: Leistung und Einspeisung - egal ob dahinter 6 oder 24 Wechselrichter hängen.

Null manuelle Verdrahtung auf der Dashboard-Seite

Der eigentliche Punkt: Das Dashboard-Modul findet diese 12 Gruppen komplett von selbst - über denselben Vertrag, den auch InverterHub und WPHub nutzen. Kein einziges Gerät wurde hier von Hand in der Kachel eingetragen:

Das ist der Kern der ganzen Vertrags-Idee im NRG-Stack: MeterHub/MeterHubVirtual liefern nur die Zahlen und ihre Funktion (pv, grid, heatpump, …) - was ein Konsument daraus macht (Kachel, Sankey, Auswertung), ist dessen Sache. Neue Trafo-Gruppe hinzufügen heißt: Instanz anlegen, im Objektbaum einsortieren, fertig - die Kachel zieht automatisch nach.

Nachtrag 19.09.2026: Was seit dem Start neu ist

Moin zusammen,

seit dem Start dieses Threads am 15.09. ist viel passiert, das meiste davon auf Zuruf der Tester. Danke besonders an @Mstaudi, der die neuen Wege an seiner Symbox durchgespielt und mit seinen Screenshots mehrere Fehler von mir gefunden hat. Hier die Übersicht. Aktueller Stand: MeterHub 0.31.0-beta.1.

:electric_plug: Neu: RS485-Zähler über die Symbox

Zähler, die per Modbus RTU (RS485) an der Symbox hängen, lassen sich jetzt direkt auslesen, ohne zusätzliches RTU/TCP-Gateway. Das geht über den neuen Verbindungsweg „Symbox-Gateway“ und Symcons eigenes „ModBus Gateway“. So richtest du einen Zähler ein:

  1. Für das Gerät ein natives „ModBus Gateway“ anlegen und dessen DeviceID auf die Modbus-Adresse des Zählers stellen.
  2. In der MeterHub-Instanz unter „Verbindung“ den Verbindungsweg „Symbox-Gateway“ wählen, das Gateway auswählen und „Brücke anlegen und verbinden“ klicken, dann „Änderungen übernehmen“.
  3. „Verbindung testen / Daten sofort lesen“.

Dazwischen sitzt eine kleine Instanz, die NRG-Stack MeterHub Brücke. Sie ist der Grund für einen kleinen Umbau: In meiner ersten Fassung hing der MeterHub selbst am Gateway, und dafür musste er in seinen Stammdaten einen „Elternteil“ verlangen. Das hat bei jeder normalen Direkt-Instanz einen orangen Balken „benötigt eine übergeordnete Instanz“ gezeigt. Jetzt trägt nur noch die Brücke diese Anforderung, und alle Direkt-Instanzen bleiben wie sie sind.

  • Eine Brücke bedient genau eine Unit-ID. Mehrere Geräte am selben Bus brauchen je ein Gateway und je eine Brücke.
  • Die Brücke legst du per Knopf im MeterHub an, du musst sie nicht von Hand suchen.
  • Wer die früheren Beta-Stände 0.29.10 bis 0.29.14 mit direkter Gateway-Verbindung genutzt hat: Instanz und Historie bleiben, einfach die Brücke anlegen und auswählen.
  • Nur lesend. Die Anbindung ist am Referenzmodul von Symcon verifiziert, ein Tester hat bestätigt, dass es läuft. Schreibende Zählertypen (blue’Log RPC/Power Control) bitte nicht über diesen Weg betreiben.

:new_button: Neue Zähler: Eastron SDM120, SDM220, SDM230 :test_tube:

Einphasige Eastron-Zähler, reine RS485-Geräte, also genau der Fall für den Symbox-Weg. Die Registerkarte habe ich gegen drei unabhängige Quellen gegengelesen, an echter Hardware ist sie noch nicht bestätigt, deshalb :test_tube:. Anders als beim SDM630 gibt es keine Summenregister, die Wirkleistung steht auf Register 12, jede Größe wird einzeln gelesen. Wer einen dieser Zähler hat: bitte Wirkleistung, Spannung und Bezugszähler mit der Geräteanzeige vergleichen und mir Bescheid geben.

:shield: Schutz vor Fehl-Lesewerten bei hochgerechneter Energie

Anlass war eine Anlage mit sehr vielen Wechselrichtern: Ein einzelner riesiger Fehl-Lesewert (eine verunglückte Modbus-Dekodierung bei einem Verbindungsaussetzer) blieb dauerhaft im kumulativen Zählerstand stehen.

  • Virtuelle Zähler mit „Energie hochgerechnet“: Jeder Leistungswert wird gegen den robusten Median der anderen Mitglieder im selben Durchlauf geprüft, dazu gibt es einen generischen Absolutdeckel. Ein fester Watt-Grenzwert wäre für Balkonkraftwerk und Solarpark gleichermaßen falsch, deshalb ist der Vergleich relativ.
  • blue’Log-Datenlogger (Adresse 97): Dort steht kein Vergleichsgerät zur Verfügung, deshalb Absolutdeckel plus Sprungvergleich gegen den letzten akzeptierten Wert. Ein echter Stufenwechsel wird nach drei gleichartigen Takten übernommen.
  • Bereits im Archiv stehende Sprünge repariert das nicht, das bleibt eine separate Bereinigung.

:writing_hand: Verständlichere Texte im Gateway-Weg

Auf Rückmeldung der Tester: Die Statuszeile ganz oben sagt im Gateway-Modus jetzt, dass die Brücke zum ModBus Gateway einzutragen ist bzw. dass Brücke und Gateway zu prüfen sind, statt von IP-Adresse oder „Zähler nicht erreichbar“ zu sprechen. Die Felder heißen „ModBus Gateway zum Gerät“ und „NRG-Stack Brücke zum ModBus Gateway“.

:link: Auch bei den Geschwistermodulen

  • InverterHub hat denselben Symbox-Weg mit einer eigenen Brücke (0.77.0-beta.18).
  • ChargerHub hat ebenfalls eine eigene Brücke und neu die Peblar-Wallbox (Home/Home Plus/Business, per Modbus TCP, experimentell :test_tube:, 0.9.91-beta.1).

Jedes Modul bringt seine eigene Brücke mit, sie bleiben also alle für sich eigenständig lauffähig.

Update

  • In der Modulverwaltung (Kanal Beta) aktualisieren und unter „Versionsinformationen“ prüfen, welche Build-Nummer angekommen ist. Bei MeterHub 0.31.0-beta.1 sollte es Build 164 sein.
  • Wird die neue Brücke nicht sofort angeboten, hilft es, die Bibliothek neu zu laden.
  • Direkt-Instanzen bleiben unverändert, es muss nichts umgestellt werden.

Was ich von euch brauche

  • Tester für die SDM120/220/230 und den Symbox-Weg, denn ich kann beides nicht selbst an echter Hardware ausprobieren.
  • Rückmeldung zum Handling: Sind die Felder und Texte verständlich, findest du dich ohne meine Erklärung zurecht?
  • Bei einer Rückmeldung bitte Hersteller, Modell, betroffenes Register bzw. Wert, einen Screenshot der Instanz mit der Statuszeile und die Build-Nummer.

Danke fürs Testen!