Smartmeter Kundenschnittstelle aus der Hölle

IBISXI

Admiral
Registriert
Jan. 2014
Beiträge
7.678
Hallo zusammen.

Ich habe im Internet einen Stromanbieter gefunden der hier in Österreich einen variablen Stromtarif anbietet. (Stundenpreise)
Da ich auch eine PV Anlage habe, war die Idee Verbraucher bei günstigen Strompreisen oder Überschuss zu schalten.
Dazu müsste ich den aktuellen Verbrauch bzw. die Einspeisung über die Kundenschnittstelle des Smartmeters auslesen.


Der Smartmeter verfügt über eine M-BUS Kundenschnittstelle.
Hier wird alle 15 Sek. ein Telegramm gepusht. (Keine Authentifizierung, nur unidirektionaler Push)
Ich habe es geschafft mit einem M-BUS USB Adapter und Raspberry mit Node-Red diese Telegramme zu lesen.


Der erste Schritt wäre die verschlüsselten Nutzdaten und deren Länge im Telegramm zu finden.

Und genau hier liegt der Hase im Pfeffer.
Es gibt verschiedene Layer, ein Datenmodell, Protokolle und Verschlüsselung. :grr:

(DLMS, Cosem, Layer, OBIS, Security Suite)

Ich verstehe die Spezifikation der Kundenschnittstelle die mir der Netzbetreiber geschickt hat nicht.

Ich weiß nicht wie ihr so drauf seid aber für mich ist das ein unlösbares Rätsel.
Scheinbar bin ich ein ziemlich dummer Kunde.:D

Meine letzte Hoffnung ist dass mir hier vielleicht jemand weiterhelfen kann.

Sollte jemand tatsächlich Lust haben sich das reinzuziehen, bedanke ich mich schon im Voraus.
 
Zuletzt bearbeitet: (Dokumente entfernt, da eine andere Lösung gefunden wurde.)
IBISXI schrieb:
Der erste Schritt wäre die verschlüsselten Nutzdaten und deren Länge im Telegramm zu finden.
Das ist in der Powerpoint Folie 6 sehr schön aufgelistet. Wenn ich da richtig verstanden habe, ist dann die entschlüsselte Payload sehr waage im PDF beschrieben.
 
  • Gefällt mir
Reaktionen: IBISXI
Ich hab keine Lösung für dein Problem, aber evtl. eine Alternative. Nachteil: Kostet etwas :-) Bei uns habe ich direkt vor dem Stromzähler vom Energieversorger ein SMA Smartmeter einbauen lassen. Das Gerät schickt die gewonnenen Daten (Eingang und Ausgang für alle 3 Phasen) per Multicast ins Netz. Das Protokoll wurde bereits "entschlüsselt".

Sieht dann, wenn man es grafisch darstellt, unegfähr so aus (alle Phasen addiert). Gelb: Strom von der PV, Rot: Strom vom Anbieter bezogen, Grün: Strom an Anbieter verkauft. "Gelb" wird allerdings nicht vom Energy Meter erfasst sondern vom Solarlogger.
SMAEM.jpg


Irgendwo hab ich auch noch ein Programm um die Werte auf CLI unter Linux auszugeben.

Edit: Gefunden :-)

Code:
andreas@www:~$ ./smaem2bash.x86
Phase 1: 0 Watt Imp | 716 Watt Exp
Phase 2: 0 Watt Imp | 386 Watt Exp
Phase 3: 0 Watt Imp | 722 Watt Exp
Export: 1824
Import: 0
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: cartridge_case und IBISXI
Danke für die Beiträge bis jetzt.

Ein zusätzliches Messgerät einzubauen wäre eine Alternative.
Das werde ich auch machen, sofern es keine Lösung gibt.
Ich habe eine Siemens Steuerung im Haus verbaut und würde dann ein Sentron Energiemessgerät verbauen.
(das ich bereits vor lauter Zorn gekauft habe :D)

Aber es lässt mir keine Ruhe das Meter auszulesen, das kann es doch nicht sein oder?

Mit diversen Smartmeter Plugins habe ich auch mit Node-Red experimentiert.
Für einige Netzbetreiber gibt es fertige und funktionierende Sachen aber nicht für meinen.

Es bleibt also nichts anderes übrig als der Sache manuell nachzugehen.

Wenn mir jemand helfen könnte die Nutzdaten im Telegramm zu finden, wäre das großartig.

Ergänzung ()

darkiop schrieb:

Mein Smartmeter ist leider nicht in der Liste.

Insgesamt habe ich sicher schon 30 Stunden damit verbracht, irgendwas taugliches zu finden.
Erfolglos.
 
Zuletzt bearbeitet:
Was für ein Zählertyp ist das denn? Ich kenne für den Hausgebrauch nur Smart Meter mit optischer Schnittstelle (bzw RS232) mit SML Protokoll. Zur vollständigen Nutzung muss eine PIN eingegeben werden, die auch eine zweite Displayzeile freischaltet.
 
  • Gefällt mir
Reaktionen: IBISXI
Es handelt sich um ein KAIFA MA309M
 
Es gäbe zumindest mal etwas für ESPHome. Das funktioniert sehr gut mit Home Assistant oder über MQTT. In welches System willst du denn die Daten letztendlich bekommen?

https://github.com/DomiStyle/esphome-dlms-meter

Eventuell kannst du dir am Code aber auch abschauen, wie du die Daten verarbeiten kannst.
 
  • Gefällt mir
Reaktionen: IBISXI
MQTT wäre in Ordnung.

Eigentlich wollte ich die Daten per Node-Red auf OPC-UA umbiegen und so der Steuerung bereitstellen.
Bei den Strompreisdaten mache ich das jetzt schon so.
Die werden über eine Webschnittstelle (REST API) abgefragt und per OPC-UA bereitgestellt.

MQTT wäre aber auch kein Problem, da auf dem Raspi bereits Mosqitto als MQTT Broker für die Tasmota Funksteckdosen läuft.

Leider habe ich vom Coden 0 Ahnung.

Wenn ich aber die entschlüsselten Nutzdaten des Telegramms hätte, könnte ich die in der Siemens Steuerung weiterverwursten.
SPS Programmieren ist kein Problem.
 
Coden brauchst du mit ESPHome an sich nicht. Du konfigurierst im Prinzip nur, was das Device tun soll. Wenn du in die Richtung wenig Erfahrung hast könnte es allerdings trotzdem sehr in Gefrickel ausarten.
 
  • Gefällt mir
Reaktionen: IBISXI
@NeoExacun

Das mit ESPHome sieht tatsächlich interessant aus.
Vielen Dank dafür.
Ein Lichtblick.
 
Zuletzt bearbeitet:
Ok, ich habe es geschafft und kann nun das Smartmeter per Webinterface und MQTT auslesen.
:D

temp.PNG




Noch etwas habe ich herausgefunden:

KSMWest heißt: Kooperation Smartmeter West.
Es handelt sich um einen Zusammenschluss der Netzbetreiber Westösterreichs bei der Einführung der Smartmeter. Dabei sind:

Salzburg Netz GmbH
Innsbrucker Kommunalbetriebe Aktiengesellschaft
TINETZ-Stromnetz Tirol AG
Vorarlberger Energienetze GmbH

Diese verwenden die selben Standards und Spezifikationen bei ihren Smartmetern..

Das sollte allen Smartmetern in Vorarlberg, Tirol und Salzburg funktionieren: (KAIFA MA309M)
https://github.com/DomiStyle/esphome-dlms-meter

Danke nochmal an alle beteiligten.
Besonders an @NeoExacun, der den entscheidenden Hinweis geliefert hat.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Tzk und NeoExacun
Hallo kann mir jemand helfen das zum Laufen zum bringen.
Komme aus Niederösterreich und habe einen KAIFA kompatiblem Smart Meter. Ich habe mir einen Raspberry Pi mit Home Assistent aufgesetz und ESP Home Installiert ich habe die selbe Platine wie die auf GitHub. Ich habe noch nie mit ESP Home gearbeitet und bin überfordert wie ich die Lib´s einbinde. Einen Nodemcu habe ich auch noch rumliegen (ESP8266).

Würde das für eine Diplomarbeit in der Schule brauche.
Freundliche Grüße Michael
 
Zuletzt bearbeitet:
Da Du aus Niederösterreich kommst, wird Dir das vermutlich nicht helfen.

Es gibt keinen KAIFA kompatiblen Smartmeter.
Selbst der Hersteller KAIFA baut sehr viele unterschiedliche Typen.

Gib mal diene Smartmetertype durch oder mach ein Foto.
Hat deiner überhaupt eine M-BUS Schnittstelle?

Schreib eine Mail an deinen Netzbetreiber, sie sollen Dir die Spezifikationen der Kundenschnittstelle schicken und teile die Dokumente hier.
 
  • Gefällt mir
Reaktionen: greenmike
Danke für die Antwort ich habe einen SICONIA T210-D.
Die Netz Niederösterreich verbaut aber beide Smartmeter auch den KAIFA habe mit ihnen telefoniert und sollten gleich sein.

Ich habe mir gedacht ich probiere das einmal. Mein Problem ist ich bekomme das Programm nicht auf meinen ESP da ich noch keine Erfahrung mit ESPHome habe. Mit der IDE kann ich umgehen.
 

Anhänge

  • b1d56aa6-945f-4314-8873-e993de61cea9.jpg
    b1d56aa6-945f-4314-8873-e993de61cea9.jpg
    60 KB · Aufrufe: 808
  • 218_5_SmartMeter_Kundenschnittstelle_2710.pdf
    292,4 KB · Aufrufe: 1.710
Ok, vielleicht geht es doch.

Es sieht alles ähnlich aus wie bei meinem Smartmeter.

ESPHome läuft ja bereits.

Geh ins Webinterface.
Über den integriereten Dateimanager kannst Du Dateien kopieren.

Nun ziehst Du alle Dateien vom Repo in den Config Ordner.
Viele Config Ordner gibts nicht, ich hab nur 2 gefunden und alle Dateien in beide kopiert.

Nun musst Du die meter01.example.yaml bearbeiten.
Du musst nichts programmieren, nur Parameter in der Yaml Datei setzen.

(Kundenschlüssel eintragen, Wlan oder Ethernet einrichten, Logging, Webinterface ein oder ausschalten, MQTT konfigurieren.)

Um zu sehen, wie das aussehen muss (WLAN, LAN) , kannst Du im Internet nach Beispielen suchen.
Falls Du da nicht weiter kommst, müsste ich Zuhause mal meinen Raspi anschließen und meine Config Datei runterkopieren.


Nun kannst Du deinen ESP mit USB Kabel am Raspi anstecken und das meter01 Projekt draufflashen.

Jetzt kannst Du schauen ob Du das Webinterface des ESP erreichst.
Wenn ja, Die M-Bus Platine mit ESP und Meter lt. Anleitung verbinden und schauen ob Daten kommen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: greenmike
Habe es so weit geschafft alle Dateim auf in die Config zu laden.
Ich bekomme noch einige Fehler ich denke es hat etwas mit meinem KEY zu tun wo muss der rein ?

Mein Key hat so ein Format: 016F76543357DE95260DA068B9C650A9
 

Anhänge

  • Smartmeter01.PNG
    Smartmeter01.PNG
    35,7 KB · Aufrufe: 516
  • Smartmeter02.PNG
    Smartmeter02.PNG
    36,5 KB · Aufrufe: 560
Ja, genau da muss der rein. 0x immer stehen lassen und die Doppelnullen von vorne nach hinten mit dem Key füllen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: greenmike
Danke ich habe schon ein paar Fehlermeldungen eliminiert zb # wurde nicht als Kommentar erkannt die habe ich einfach gelöscht die Kommentare.

Bei den letzten Fehlermeldungen weiß ich nicht weiter.
 

Anhänge

  • ESPHomeFehler.PNG
    ESPHomeFehler.PNG
    24,8 KB · Aufrufe: 448
Da klemmt es beim Kompilieren.

Vermutlich hast Du in der yaml Datei was falsch gemacht.

Versuche die Yaml Datei direkt im Webinterface zu bearbeiten.
Da wird der Text gleich rot, wenn was falsch ist. (wenn ich es richtig im Kopf habe)

Sonst nimm eine frische .yaml Datei und trag erst nur mal den Schlüssel ein und schau ob es dann durchläuft.
Ergänzung ()

Sonst poste .yaml Datei mal hier.
Ergänzung ()

Die Kommentare hab ich auch löschen müssen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: greenmike
Zurück
Oben