Smartmeter lokal auslesen

Inzwischen werden die Smartmeter zahlreicher. Was viele nicht wissen: Es gibt ein Recht darauf, das Smartmeter lokal auslesen zu können.

Zugang

Der Betreiber des Smartmeters (meist der Netzbetreiber) muss die Zugangsdaten zum Smartmeter zur Verfügung stellen. Dazu einfach die üblichen Kanäle bespielen und nötigenfalls auf das Recht bestehen, den Zugang zu erhalten.

Normalerweise sollte man dann in irgendeiner Form die folgenden Daten erhalten:

Ggfs. gibt es auch eine Dokumentation oder einen Link auf eine Dokumentation, in der beispielsweise URL und IP-Adresse stehen könnten. Fehlt eines davon: Nachfragen!

Verbindung herstellen

Das Smartmeter hat mindestens eine LAN-Schnittstelle (meines hat sogar drei). Eine davon sollte mit “HAN” beschriftet sein. Dieser Port muss in geeigneter Weise mit einem Gerät verbunden werden, was im gleichen Netzwerksegment liegt. Unglücklicherweise wird die IP-Adresse höchstwahrscheinlich in einem anderen Netzwerksegment liegen als das Heimnetzwerk. Um dieses Problem zu lösen, gibt es mehrere Möglichkeiten:

  1. Das Heimnetzwerk ändern.
  2. Das Heimnetzwerk so erweitern, dass es das Smartmeter einschließt.
  3. Ein Gateway einsetzen, was das Smartmeter mit dem Heimnetzwerk verbindet.

Ich habe mit für Option 3 entschieden.

Gateway für die Verbindung bauen

Das ist (zumindest für Laien) der komplizierteste Teil und braucht etwas technisches Verständnis. Phyisisch habe ich das Netzwerkkabel einfach mit meiner FritzBox verbunden. Das hilft noch nicht viel, da zwar der Netzwerktraffic nun theoretisch zur Verfügung steht – aber im falschen Segment, so dass sich die Geräte nicht verständigen können und ich beispielsweise mit meinem Laptop das Smartmeter nicht erreichen kann.

Ich brauche ein Gateway.

Vermutlich kann man das irgendwie auch mit der FritzBox selbst hinfrickeln. Ich habe mich für einen anderen Weg entschieden und auf einem existierenden Proxmox-Node einen zusätzlichen Netzwerkport eingerichtet. Mit dem existierenden Netzwerkport hängt der Node in meinem Heimnetz. Der zweiter Port ist physisch mit dem gleichen Netzwerk verbunden, in dem auch die FritzBox hängt (also am gleichen Switch), ist aber für ein anderes Netzwerk konfiguriert, nämlich das des Smartmeters.

In meinem Proxmox-Cluster habe ich nun auf diesem Node einen Container eingerichtet, der zwei Netzwerkports hat. Der Container selbst agiert als Proxy für das Smartmeter und maskiert alle Anfragen an sich (die IP-Adresse des Containers im Heimnetz) und reicht sie an das Smartmeter durch.

Auf die Weise kann ich das Smartmeter aus meinem Heimnetzwerk erreichen, indem ich einfach mit dem Container rede.

Webseite aufrufen

Auf dem Smartmeter läuft ein rudimentärer Webserver, den man nun direkt erreichen kann. Wenn ich also auf meinem Laptop (https://ip_address_of_your_smartmeter/start) aufrufe, öffnet sich eine Eingabemaske für einen Username und Passwort. Hier trage ich die Werte ein, die ich vom Netzbetreiber erhalten habe.

Tada, ich habe Zugriff auf mein Smartmeter und kann die Daten auslesen!

Automatisieren

Ich will die Daten aber automatisiert auslesen und in meinem HomeAssistant ablegen. Nach mehreren erfolglosen Versuchen, das irgendwie elegant zu lösen, habe ich es mit der Brechstange gelöst: 1. Daten via cronjob auslesen und in ein File schreiben. 2. Mit der File-Integration in Homeassistant die Daten regelmäßig auslesen.

Für das Auslesen habe ich mir ein Shellscript gebaut (meine Python-Fähigkeiten waren nicht ausreichend, um das umzusetzen). Das Script inkl. Erklärungen zur Konfiguration findes sich auf Codeberg.

Visualisierung

In HomeAssistant habe ich mir noch eine Karte gebaut, die mir zwei Graphen baut, um den Verlauf von Bezug und Einspeisung darstellt. Die Konfiguration befindet sich ebenfalls im Repositorium und benötigt dafür Plotly Graph.