NEWS
Smartmeter Wired M-Bus/DLMS auslesen (Salzburg AG)
-
Ich beschäftige mich gerade mit dem Auslesen meines neuen Strom-Smartmeters der Salzburg-AG. Es ist ein Kaifa MA309 mit einer Kundenschnittstelle basierend auf wired M-Bus und DLMS/COSEM.
Im Thread https://forum.iobroker.net/topic/59040/smartmeterdaten-auslesen?_=1667993832807 wird auf ein Python-Script verwiesen, das denselben Smartmeter der Niederösterreichischen Netzbetreiber ausliest. Problem ist allerdings, dass bei meinem die Nutzdaten in zwei M-Bus Telegramme aufgeteilt sind, und das Script damit nicht umgehen kann.
Das Script nutzt teils Python-Bibliotheken von "Gurux" (https://github.com/Gurux/Gurux.DLMS.Python, https://www.gurux.fi/). "Gurux" hat auch Windows-Desktop-Tools zum Analysieren von M-Bus-Daten. Damit konnte ich in mehreren Schritten die Daten meines Smartmeters auslesen. Die Besonderheit meines Smartmeters ist, dass es als M-Bus-Slave die Daten einfach immer "pushed". "Gurux" hat ebenfalls ein Python-Beispiel, wie man solche Push-Nachrichten ausliest (https://github.com/Gurux/Gurux.DLMS.Python/tree/master/Gurux.DLMS.Push.Listener.Example.python). Allerdings glaube ich, dass seine Python-Bibliothek in der Wired-M-Bus-Konfiguration mit Application-Layer-Nutzdaten, die in mehren M-Bus-Telegrammen verpackt sind, nicht umgehen kann.
Ich konnte im Kundenbereich meines Netzanbieters eine genaue Beschreibung der Schnittstellenspezifikation finden. Ich plane daher ein Node-Script für diese Wired-M-Bus-Konfiguration zu schreiben. Falls ich das nicht hinbekomme (Verschlüsselung?), dann doch mit Python - da gibt's Vorlagen. Aber ich habe gestern erst meine ersten Python-Code-Zeilen geschrieben. NodeJS hätte den Vorteil, dass man es eventuell auch als Script innerhalb ioBroker laufen lassen könnte. Eventuell auch mal als Adapter oder Teil eines bestehenden Adapters. Wobei ich im ersten Schritt die Daten lieber per MQTT versenden möchte. Erstens, da mein M-Bus-Adapter an einem RasPi ohne ioBroker hängt und zweitens, weil es dann auch außerhalb von ioBroker einsetzbar wäre.
Noch ein Hinweis: Im Forum von "GuruX" habe ich gesehen, dass der Smartmeter des Vorarlberger Stromnetz-Betreibers bis auf die Datenlänge dasselbe Datenformat verwendet. Und wenn man sich das Datenblatt von diesem Adapter ansieht (https://www.ginzinger.com/de/wissen-events/techtalk/ginzinger-zubau-news-1/), dann dürften sehr viele österreichische Stromanbieter wired MBus mit DLMS verwenden. (Niederösterreich, Salzburg, Tirol, Vorarlberg sogar denselben Zähler).
Haltet ihr das für sinnvoll, ein eigenes Script zu schreiben? Ich bezweifle, dass man zu einer schnellen Lösung kommt, wenn ich mit dem von GuruX in Kontakt trete wegen der Multi-Telegram-Pakete. Die node-mbus Bibliothek von Apollon, die vom ioBroker MBus-Adapter verwendet wird, habe ich kurz ausprobiert, aber das dürfte ein komplett anderes Protokoll sein.
-
@noox such mal bei willhaben.at nach dem "SmartMeter Kundenschnittstellenmodul". Die Module funktionieren perfekt und unterstützen auch deinen Zähler.
-
@melonea Danke für den Tipp. Als ich gestern von dem Ginzinger-Gerät gelesen hatte, war da auch ein Link zu Willhaben - aber nicht mehr gültig, daher bin ich dem nicht weiter nachgegangen.
Ich werde aber trotzdem beim eigenen Script bleiben. Hab den M-Bus-Adapter schon und der RasPi in der Nähe ist auch zum Überwachen der USV - brauch ich also sowieso.
-
Ich hab das jetzt umgesetzt. Ist seit Ende November im Einsatz:
https://github.com/nooxnet/smart-meter-mbus-dlmsMan benötigt einen MBus-Adapter an der seriellen Schnittstelle (USB). War durchaus etwas aufwändig, weil da so viele Protokolle involviert sind.
Hab noch die Daten von früher aufbereitet, damit ich eine schöne Übersicht bekomme:
-
@noox Hallo,
vielen Dank, dass du deine Arbeit public gemacht hast! Habe jetzt auch meinen Kaifa-Zähler von der Salzburg-Netz bekommen, und möchte die Daten in den ioBroker einlesen und verarbeiten - für Steuerung der Wärmepumpe und des Balkonkraftwerks mit Speicher. Später möchte ich auf stündlichen Stromtarif umstellen (spot market Tarif)... und den Verbrauch optimieren. Bin hald noch ein newbie auf iobroker - hoffe aber, ich bekomme das hinDer MBUS-USB-Adapter ist jedenfalls schon mal bestellt, und der iobroker auf dem Raspi 4 installiert. Jetzt heißt es warten, bis der USB-Adapter aus China aufschlägt
Läuft das bei Dir noch alles einwandfrei?
Was machst Du mit den Daten?
Hast Du auch eine Visualisierung realisiert?Schöne Grüße aus dem Salzburger Land sendet,
Alex -
Hallo nochmals,
wollte nur Vollzug melden. Hab das bei mir genau nach dieser Anleitung umgesetzt, und es funktioniert seit Anfang des Jahres einwandfrei - Daten werden über iobroker und influx DB protokolliert.
Nochmals danke! -
@aley Sehr fein! Danke für die Rückmeldung!