Intelligentes Messsystem über über HAN auslesen

Hallo Dieter,

welches der Geräte von Energy Intelligence hast Du genommen?

Ist es wirklich eines mit RJ 12-Anschluss?

Dieser Anschluss ist bei meinem Smart Meter Gateway (Conexa 3.0 ) nicht vom Kunden benutzbar (versiegelte Kappe), es gibt nur einen RJ45-Anschluss für das HAN.

Deshalb würde ich den P1/HAN Leser RJ45 mit eingebautem WLAN (Artikelnummer p1-atom-rj45) verwenden wollen.

Der ist allerdings leider zur Zeit nicht vorrätig.

Gibt es damit Erfahrungen?

Viele Grüße

Matthias

Moin,

ja ich habe zwei mit RJ12. Läuft seit über 3 Jahren problemlos. Allerdings in Schweden (E.on). Ich habe die Schnittstelle im Kundenportal von E.on ohne weiters aktivieren können. Ein Password für die Schnittstelle ist in Schweden nicht erforderlich.

Vg Dieter

Hallo Dieter,
dann dürfte es in Deutschland schwierig werden.
Hier muss ja alles komplizierter sein.

Ich habe mal bei der Firma, die mein Gateway produziert hat, angefragt, ob es etwas ähnliches hier gibt.
Mal sehen …

Mit freundlichen Grüßen
Matthias

(Vom Smartphone)

Hallo,

mit NAT wird das nicht gehen (Ausnahmen und Gefrickel siehe unten, da man bei diesen “hochintelligenten” PPC Geräten kein Gateway setzen kann. Ich nutze VRF auf der Mikrotik Kiste, da weiss ich aber nicht, ob das TP-Link kann.

Ich habe den folgenden MikroTik hEX, RB750Gr3 im Einsatz.

Aalls es interesiert eine Erklärung, wie es gehen könnte. Bei zwei Zählern geht das vernünftig nur mit VRF. Bei Interesse kann ich dir die Config gerne per PM zur Verfügung stellen. Ich bin nicht immer regelmässig jeden Tag hier. Daher sorry, wenn es mal etwas dauert.

Gerät mit fester IP, kein Gateway einstellbar – NAT möglich?

Ja, NAT ist trotzdem möglich – aber nur unter bestimmten Bedingungen:

  • Wenn das Gerät nur im gleichen Subnetz mit einem anderen Gerät reden soll → kein Gateway nötig. Du könntest z. B. mit 1:1-NAT oder Port-Forwarding auf dem Router die Kommunikation übersetzen.

  • Wenn das Gerät in ein anderes Subnetz oder ins Internet kommunizieren soll → ohne Gateway kommt das Gerät nicht aus seinem Subnetz heraus. Dann brauchst du ein „Proxy-ARP“ oder eine Art „NAT-Bounce“ im gleichen Netz.

    • Beispiel: Dein Router antwortet im gleichen Layer-2-Segment auf die feste IP des Gerätes und macht das NAT, obwohl das Gerät keinen Gateway kennt.

    • Viele Router (z. B. MikroTik mit src-nat + proxy-arp) können das.

Kurz: Normales NAT mit Routing funktioniert nicht ohne Gateway, aber es gibt Tricks (Proxy-ARP, 1:1 NAT im gleichen L2).


2. TP-Link ER605 VRF wie MikroTik?

  • MikroTik: Unterstützt echtes VRF (Virtual Routing and Forwarding) → du kannst mehrere Routingtabellen definieren, sauber voneinander getrennt, inkl. NAT-Regeln pro VRF.

  • TP-Link Omada ER605:

    • Hat VLAN-basierte Trennung und einfache Routingtabellen, aber kein echtes VRF wie MikroTik/Juniper/Cisco.

    • Du kannst also getrennte Netze mit Firewall/NAT bauen, aber nicht parallel mehrere unabhängige Routinginstanzen mit überlappenden IP-Bereichen.

Danke für die Info. Der MikroTik ist ja günstig, den werde ich mir bestellen (Update: Ist schon bestellt :grinning_face: ). Wärest du so nett mir die Config zu schicken.

Vielen lieben Dank und Gruß

Andreas

@koenisch Du hast Post. Ich habe gerade eine wirklich nette Mail bekommen. Vielleicht gibt es am Wochenende neue Infos oder meine übliche Verzweifelungsmail.

Teaser: ich kann jetzt HAN Passworte setzen und habe die Benutzerkennungen.

Sample.pdf (278,2 KB)

So, es ist vollbracht. Noch nicht in Symcon, aber ich habe soeben eine Verbindung via Trudi (Offizielles Ausleseprogramm) aufnehmen können.

Alle Aussagen sind gültig für die Westnetz. Mein ganz ernst gemeinter Dank geht an die Mitarbeiterin Frau Julia Röhrle Externe Mitarbeiterin der DMS GmbH im Auftrag der Westnetz GmbH. Bei mir lag diese ganze Problematik an folgenden Problemen:

Meine Beauftragung für den MEDACO Zugang funktionierte nicht über die MEDACO Web Oberfläche. Statt eines HAN Profils wurde das Web Profil eingerichtet. Da geht nichts mit HAN.

Wenn das passiert ist:

  • mit medaco@westnetz.de Kontakt aufnehmen, mit der Aufforderung die Token noch einmal freizuschalten, um euch für das HAN Profil zu registrieren
  • Wichtig! Wenn ihr die Mail bekommen habt, das die Token neu freigeschaltet wurden unbedingt mit einer anderen Email Adresse bei medaco registrieren
  • Wie es dann abläuft, habe ich in der Sample,pdf angehängt
  • Anschließend kurze Email an medaco, das alte Medaco Profil zu löschen
  • Das Setzen der Passworte dauert ein paar Minuten

Jetzt habe ich soviel Zeit verschwendet und es wäre in 5 Minuten erledigt gewesen, wenn die Registrierung am Anfang so wie gewünscht gelaufen wäre…

Aktuell bin ich etwas ausgelastet, in wie weit ich dazu komme ein Skript für die Auswertung zu basteln, weiss ich noch nicht, lasse es euch aber wissen.

Mit dem Mikrotik Router und meiner VRF Config läuft das erstmal super. @koenisch die funktioniert so bei mir, wie ich sie dir per PN gesendet habe.

Sorry, beim Mikrotik muss ich nacharbeiten. Port 4 macht was er soll, Port 3 nicht.

Korrekturen habe ich in der Mikrotik Config gemacht. Beide Zähler funktionieren jetzt. Aber ich werde das jetzt erstmal testen. Aber mit funktionierenden Anmeldedaten kann man wenigstens vernünftig testen.

Hiermit kann ich schonmal erfolgreich den aktuellen Zählerstand auslesen.

<?php
/**
 * Discovery & Testskript für PPC Smart Meter Gateway (HAN)
 * Power Plus Communications AG
 */


/**
 * PPC HAN CGI Zugriff in PHP
 * Umsetzung des Python-Skripts
 */

$host   = "EPPC0000000000";   // PPC Gateway
$ip     = "192.168.1.200";    // IP-Adresse des HAN-Ports;  
$user     = "HAN-Benutzername";      // HAN-User (vom Netzbetreiber)
$password = "HAN Passwort";          // HAN-Passwort
$url      = "https://$ip/cgi-bin/hanservice.cgi";


// CURL-Session vorbereiten
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, "$user:$password");
curl_setopt($ch, CURLOPT_HEADER, true);

$response = curl_exec($ch);
if ($response === false) {
    die("Fehler: " . curl_error($ch));
}

// Header + Body trennen
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$body    = substr($response, $header_size);

// Session-Cookie extrahieren
preg_match('/Set-Cookie:\s*([^;]*)/i', $headers, $matches);
$cookie = isset($matches[1]) ? $matches[1] : "";
curl_close($ch);

// Token aus dem HTML <input>
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($body);
$xpath = new DOMXPath($dom);
$tokenNode = $xpath->query('//input')->item(0);
$token = $tokenNode ? $tokenNode->getAttribute('value') : "";

// Step 2: meterform anfordern
$postData = http_build_query([
    'tkn'    => $token,
    'action' => 'meterform'
]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Cookie: $cookie"]);
$res2 = curl_exec($ch);
curl_close($ch);

// Meter-ID extrahieren
$dom->loadHTML($res2);
$sel = $dom->getElementById('meterform_select_meter');
$mid = "";
if ($sel && $sel->firstChild) {
    $mid = $sel->firstChild->getAttribute('value');
}

// Step 3: showMeterProfile
$postData = http_build_query([
    'tkn'    => $token,
    'action' => 'showMeterProfile',
    'mid'    => $mid
]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Cookie: $cookie"]);
$res3 = curl_exec($ch);
curl_close($ch);

// Werte aus Tabelle #metervalue
$dom->loadHTML($res3);
$result = [];

$ids = [
    "table_metervalues_col_wert"      => "value",
    "table_metervalues_col_einheit"   => "unit",
    "table_metervalues_col_timestamp" => "timestamp",
    "table_metervalues_col_istvalide" => "isvalid",
    "table_metervalues_col_name"      => "name",
    "table_metervalues_col_obis"      => "obis"
];

foreach ($ids as $id => $key) {
    $node = $dom->getElementById($id);
    $result[$key] = $node ? trim($node->textContent) : "";
}

// Ausgabe
echo $result['timestamp'] . " " . $result['value'] . " " . $result['unit'] . PHP_EOL;

Für heute ist Schluss. Ich werde jetzt mal die actions Scannen. Aktuell habe ich nur meterform genutzt für den Zählerstand.

20.09.2025

So. Ist ausgetestet. Lasst es. Funktioniert grundsätzlich. Ich habe einen Zähler mit Bezug (OBIS 1.8.0) und Einspeisung (OBIS 2.8.0). Es wird nur 2.8.0 zur Verfügung gestellt. 1.8.0 kann man weder mit TRUDI noch mit dem Webinterface (hanservice.cgi) abrufen.

Der andere Zähler hat nur Ertrag, der liefert nur 2.8.0. In medaco waren alle Zähler sichtbar. Die Leistung in Watt ist nicht abrufbar. Ich wollte das nicht glauben, ist aber so. Zumindest bei dieser Firmware.

Warum man da keine dokumentiere Rest API zu Verfügung stellen kann, who knows.

Meine Lösung klickt sich jetzt quasi durch die hanservice.cgi Weboberfläche. Neuland lässt grüssen. Kompliziert und nutzlos, zumindest bei dieser Implementation der PPC Gateways für Westnetz.

Jetzt habe ich noch eine Mail ans BDMV gesendet, wird auch nichts bringen:

Sehr geehrte Damen und Herren,

im Zuge des Rollouts intelligenter Messsysteme wurde auch bei mir ein Smart Meter Gateway (Hersteller PPC, smgw-bootstream v902, Messstellenbetreiber Westnetz, Installationsdatum 24.03.2025) installiert.
Ich habe als technisch versierter Anwender versucht, die vom Gesetzgeber vorgesehene Transparenzschnittstelle (HAN-Schnittstelle) zu nutzen, um meine Verbrauchs- und Einspeisedaten auszuwerten.

Leider musste ich feststellen, dass die Schnittstelle in der Praxis praktisch unbrauchbar ist:

Über die HAN-Schnittstelle wird lediglich der OBIS-Wert 2.8.0 (Einspeisung) ausgegeben.

Der für Endkunden relevante Wert 1.8.0 (Bezug) wird nicht bereitgestellt.

Weitere OBIS-Werte (z. B. Momentanleistung, Spannungen, Ströme), die für ein modernes Energiemanagement essenziell wären, sind nicht verfügbar.

Anstelle einer maschinenlesbaren und standardisierten Schnittstelle (z. B. REST-API oder MQTT) bietet das Gateway nur eine veraltete, formularbasierte Oberfläche (CGI), die schwer automatisierbar ist, auch wenn ich das problemlos technisch lösen konnte.

Damit verfehlt die HAN-Schnittstelle ihr eigentliches Ziel: den Endkunden transparent über Verbrauch und Einspeisung zu informieren und eine Grundlage für Energieeffizienz, Eigenverbrauchsoptimierung und Sektorenkopplung zu schaffen.

Vor diesem Hintergrund möchte ich Sie bitten, sich für eine zeitgemäße Weiterentwicklung der Smart Meter Gateways einzusetzen.
Konkret sollte die HAN-Schnittstelle mindestens folgende Anforderungen erfüllen:

Bereitstellung aller relevanten OBIS-Werte (Bezug, Einspeisung, Momentanleistung, Spannungen, Ströme).

Standardisierte, maschinenlesbare Schnittstelle (REST-API oder MQTT), die sich in moderne Energiemanagement- und Smart-Home-Systeme integrieren lässt.

Einheitliche Umsetzung durch alle zertifizierten Gateway-Hersteller.

Ich halte es für dringend erforderlich, dass die gesetzlichen Vorgaben (Messstellenbetriebsgesetz, BSI-TR-03109) an dieser Stelle überarbeitet werden, damit die kostspielig eingeführten Smart Meter auch den versprochenen Nutzen für Verbraucher und Energiewende erbringen.

Mit freundlichen Grüßen

An die Bundesnetzagentur ist das auch raus. :slight_smile:

Und sorry für diesen langen Post.

1 „Gefällt mir“

Danke für den Bericht, und ich bin froh, so einen Zähler nicht zu haben.
Ich glaube, ich wäre „explodiert“ bei den Dingen.
In DE läuft im Moment in meinen Augen einiges schief, mal sehen …

lg Thomas

2 „Gefällt mir“

deswegen habe ich es aufgegeben, mich mit medaco und HAN weiter zu beschäftigen. Das, was über HAN kommt, kann mein IR Lesekopf auch und Dank Tasmota auch MQTT für andere Systeme

1 „Gefällt mir“

@tommi und @tomgr

Den IR Lesekopf habe ich auch lange im Einsatz. Ich habe ansonsten ja auch weitere Zähler für einzelne Verbraucher/Verbrauchsstränge.

Ich wollte nur nicht glauben, das man da wirklich nicht mehr auslesen kann. Und zum Schluß war das mehr Sport. Mal schauen was mir das Minmisterium und die Bundesnetzagentur antworten. Ich erwarte aber nichts außer Bürokraten Blabla. Aber so hätte man die HAN Schnittstelle weglassen können. Kostet nur Geld und bringt null komma nichts für den Endverbraucher.

1 „Gefällt mir“

@mj04

Danke für die Config. Habe mich in den MikroTik reingefuchst - bin da nicht so ganz unerfahren :slight_smile:. Leider weigern sich meine HANs jeglicher Weiterleitung, Maskierung, Transformierung, ReWrite, VRF, …. . Traffic habe ich aber die Dinger weigern sich. Kann auch ein meiner normalen Netzwerk Config liegen. Mein Standard Netzwerk ist 192.168.1.1/22 - das ist leider nicht änderbar. Vorteil 1 HAN funktioniert, mehr aber nicht. Und die liebe Kompetenz des Westnetz ist nicht fähig und willens daran etwas zu ändern. Die Drecksdinger EPP sind stärker verrammelt als Fort Knox - als wär da der Stein der Weisen drin (Verbauchs-/ Erzeugerdaten - keine Gesundheitsdaten).

Transparenz, die schon am Zugang scheitert.

Ergänzung: (laut Mircrosoft Copilot: (spiegelt auch meine Erfahrungen wieder)
Die HAN-Schnittstellen sind nicht nur IP-sensitiv, sondern auch Layer-2-sensitiv. Sie prüfen:

  • MAC-Adresse des Absenders → Wenn die nicht direkt vom Endgerät kommt, wird die Kommunikation verweigert.

  • ARP-Tabellen und Subnetzmasken → Wenn das Gerät merkt, dass es nicht direkt im gleichen Subnetz ist, schweigt es.

  • Routing oder NAT-Spuren → Selbst bei 1:1 NAT erkennt das HAN-Modul, dass etwas „nicht stimmt“.

Hab zwar schon einige zickige Geräte besänftigt. Aber dieses Sicherheitskonzept für eine Leseschnittstelle auf Stromverbrauchsdaten - da glaube ich nicht, dass da das BSI dahintersteckt - vielmehr die Industrie die jeglichen Zugang verhindern will.
Es bleibt eigentlich nur eine Lösung. Man versteckt die Schnittstelle mit z.B. einem Raspi in einem eigenen VLAN. Der Raspi liest zyklisch die Daten aus, speichert sie in gleichen Format zwischen. Und mit einer weiteren IP aus dem “normalen” Netzwerk greife ich auf die zwischengespeicherten Daten zu. Ein nicht ganz triviales Setup - nur für Stromverbrauchsdaten. Da ist der IR Lesekopf die “leider” einfachere ALternative.

Ich hätte im Zweifel eine Konfig, die das jetzt sauber macht für zwei Gateways. Spar dir die Mühe, das Ergebnis ist schlicht und ergreifend zum Heulen. Anstatt, dass man das direkt als Energiemanager Schnittstelle nutzen könnte. Von mir aus auf Wunsch gegen eine Einmalgebühr für erweiterte Dienste. Aber ich weiss, das geht ja hier alles nicht wg. diversem sonstigen dies und das. MQTT, Modbus Zugrif, Rest API. Wäre doch alles möglich. Stattdessen diese CGI “Schnittstelle” aus den 90er Jahren. Wenn die wenigstens noch alle Werte liefern würde.

Bei mir funktioniert die Konfig im Mikrotik jetzt einwandfrei. Ist ein wenig umfangreicher geworden. Da waren bei mir auch noch Fehler drin. Aber jetzt ist die Auflösung sauber. Trudi kann beide Schnittstellen erreichen. Per Curl komme ich auch drauf.

Ich kaufe mir lieber einen EM24 und baue (lasse) den ein. Da habe ich dannwenigstens alles was ich möchte. Und hab noch eine Verifikation der offiziellen Zähler. Für den Rest bleibe ich bei der optischen Schnittstelle.

Hallo,

Kannst du mir bitte deine modifizierte Config für den MikroTik schicken. Ich habe sowohl Werte für 18.1 als auch für 28.1 auf der HAN Schnittstelle wobei 28.1 Null ist, da ich über die Smart Meter nicht einspeise.

Gruß

Hallo.

Hätte auch Interesse.

Danke.

@mj04

Hallo mj04,

du bist der Config Gott - Super. Beide HAN Schnittstellen laufen in Home Assistant. Bin noch nicht ganz durchgestiegen, was letztendlich der Ansatz war, das die Schnittstellen Daten senden und glaube, sie seinen in der “richtigen” Umgebung. Super Job. Vielen Dank

Gruß

1 „Gefällt mir“

Danke für das Lob und deine Rückmeldung. Es freut mich sehr, dass die Config dir geholfen hat. Das Problem ist, dass du noch nicht einmal das Gateway am PPC einstellen kannst. Also geht leider hier VRF hier nicht, was eigentlich das einfachste gewesen wäre. Jetzt spricht halt nur dieses unselige nichtsnutzige :slight_smile: PPC Gateway mit dem Port am Router. Es sieht quasi nichts anderes. Der Router simuliert alles für das PPC Gateway. Das Gateway sieht quasi nur den Port und den Rest Richtung Heimnetz managed der Router. Dadurch merkt die Schnittstelle quasi nicht, dass sie in einem “richtigen” Netz hängt.

Aber ich bleib bei meiner Meinung: teurer Kernschrott

Viel quasi :slight_smile:

Volle Zustimmung. Das Netzwerkdesign war wohl die Hausaufgabe eines Praktikanten

1 „Gefällt mir“

Ich habe seit vielen Jahren Mikrotik im Einsatz und habe daher auch versucht, mittels NAT und anderen Spielereien, auf die HAN Schnittstelle zu kommen.

Hätte ich dies eher gewusst, dann hätte ich mir das sparen können.

Mit VRF bin ich zugegebenermaßen nicht ganz fit. Kann mir da jemand eine Konfig zusenden?

Danke

1 „Gefällt mir“

Damit ich das nicht jedes mal verteilen muss, eine Config für zwei PPC Gateways. Ist nichts geheimes enthalten. Ich habe einen MikroTik hEX RB750Gr3 für diesen Zweck im Einsatz.

Mein Heimnetz ist in diesem Bsp. 192.168.49.X . Müsst ihr entsprechend anpassen.

hanA ether 3 → 192.168.49.221 (an das eigene Netzt anpassen) PPC Gateway 1

Diese IP müsst ihr dan z. B. in TruDI eingeben

hanB ether 4 → 192.168.49.222 (an das eigene Netzt anpassen) PPC Gateway 2

Diese IP müsst ihr dan z. B. in TruDI eingeben

cfg-2025-09-29.zip (2,1 KB)

Nach außen sieht man immer die MAC Adresse des Routers (arp -a). Die Ports habe ich pingbar gemacht, sagt aber nichts aus, ob die PPCs wirklich erreichbar sind.

Alles mit 192.168.49 musst ihr natürlich an das jeweilige Heimnetz anpassen. (Am besten im rsc File vor dem Einspielen mit einem Texteditor editieren).

Das PPC Gateway sieht immer nur sich und “denkt”, es ist ganz alleine im Netz. VRF geht hier leider ja nicht, da ja kein Gateway im PPC eingetragen werden kann.

Das funktioniert so bei mir, aktuell ist mein Netz noch “flat”. Falls ihr da komplexere Configs habt, müsstet ihr das natürlich entsprechend anpassen.

Gruß

Martin

Falls ich mich länger nicht melden sollte: In den nächsten beiden Wochen wartet der südfranzösische Rotwein :slight_smile:

2 „Gefällt mir“