SMA-Energy-Meter

Fork me on GitHubDa ich mit meinem Smart-Meter meines EVU nicht die gewünschten Daten erhalte, welche ich für eine ordentliche Eigenverbrauchsoptimierung benötige habe ich mir einen SMA-Smart-Meter zugelegt.

Datenübertragung

Der SMA-Energy-Meter gibt auf seiner Webseite keine Informationen über gemessene Größen aus.
In den Netzwerkeinstellungen gibt es einen Konfigurationspunkt, in welchem definiert werden kann, wohin die Energiedaten geschickt werden. Hier steht 239.12.255.254 in der Standardeinstellung.
Jeder der etwas mehr mit Netzwerktechnik zu tun hat, wird sofort erkennen, dass das eine Multicast – Adresse ist.
Tcpdump (oder Wireshark) verrät, dass ca. ein UDP Datenpakt (600 Byte Payload) pro Sekunde vom Energy-Meter an die Multicast-Adresse geschickt wird.
Im Internet habe ich eine sehr gute Aufbereitung der UDP-Datenpakete und deren Interpretation gefunden.
Danke Nico Treffkorn. Ohne diese Informationen hätte ich sicher sehr lange gebraucht, bis ich die Daten richtig interpretiert hätte.

Linux-Client der die Datenpakete vom SMA-Energy-Meter empfängt

Ich habe ein Python Programm erstellt, welches in einer Endlos-Schleife die empfangenen Daten vom SMA-Energy-Meter einfach ausgibt.

SMA-Energymeter - values

Python Script

Der Quellencode liegt bei GitHub

… und dann gibt’s es vielleicht auch mal Etwas das die Daten in fhem einbindet.
zu spät, da hat sich nun schon Volker darum gekümmert…

… und Rene hat teile davon in smarthomeNG integriert (zumindest im develop-branch)

Kommentar (6)

  • Günther| April 28, 2019

    Servus,
    Danke! Der Code hat mir viel Zeit gespart.
    Und ich konnte Daten vom SMA sofort auslesen.
    Jetzt nur noch visualisieren 😉

  • Becker| Mai 4, 2020

    Hallo, genau so eine Anzeige suche ich.
    Wie kriege ich die Werte auf meinem Raspberry mit Debian 9 so angezeigt wie in deinem Bild?
    Am besten noch in deutsch.

  • Stefan| April 25, 2022

    Hallo, sehr gute Arbeit – Danke.
    Habe es unter Elementary OS am laufen 🙂 und werde es auch mal mit einem Raspberry Pi testen.
    Ein Modbus TCP Server wäre toll, der die Werte in entsprechenden Registern bereitstellt – leider fehlen mir die Programmierkenntnisse für die Umsetzung einer derartigen Gateway-Funktion.
    Gruß Stefan

  • Schreibe eine Antwort

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

    Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

    Schließen