Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Smartmeter Wired M-Bus/DLMS auslesen (Salzburg AG)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    491

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Smartmeter Wired M-Bus/DLMS auslesen (Salzburg AG)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
7 Beiträge 3 Kommentatoren 2.9k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N Offline
    N Offline
    noox
    schrieb am zuletzt editiert von noox
    #1

    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.


    Beim Leseversuch des 2. Telegramm ist die Startposition um 2 Bytes daneben, daher findet er das nicht. Außerdem schaut es so aus als ob er die analysierten Daten des ersten Telegrams verwirft, sobald er auf das 2. wartet. Wenn ich die Startposition korrigiere, dann scheitert er im nächsten Schritt: Die Application-Layer-Kennung passt nicht. Vermutlich sucht er die in den Application-Layer-Daten des 2. Telegramms - sie ist aber das 1. Byte der Application-Layer-Daten im 1. Telegramm. Um das genauer analysieren zu können, hätte ich mir den Source-Code runterladen müssen, was mir dann zu mühsam war.

    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.

    M 1 Antwort Letzte Antwort
    0
    • N noox

      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.


      Beim Leseversuch des 2. Telegramm ist die Startposition um 2 Bytes daneben, daher findet er das nicht. Außerdem schaut es so aus als ob er die analysierten Daten des ersten Telegrams verwirft, sobald er auf das 2. wartet. Wenn ich die Startposition korrigiere, dann scheitert er im nächsten Schritt: Die Application-Layer-Kennung passt nicht. Vermutlich sucht er die in den Application-Layer-Daten des 2. Telegramms - sie ist aber das 1. Byte der Application-Layer-Daten im 1. Telegramm. Um das genauer analysieren zu können, hätte ich mir den Source-Code runterladen müssen, was mir dann zu mühsam war.

      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.

      M Offline
      M Offline
      meloneA
      schrieb am zuletzt editiert von
      #2

      @noox such mal bei willhaben.at nach dem "SmartMeter Kundenschnittstellenmodul". Die Module funktionieren perfekt und unterstützen auch deinen Zähler.

      N 1 Antwort Letzte Antwort
      0
      • M meloneA

        @noox such mal bei willhaben.at nach dem "SmartMeter Kundenschnittstellenmodul". Die Module funktionieren perfekt und unterstützen auch deinen Zähler.

        N Offline
        N Offline
        noox
        schrieb am zuletzt editiert von
        #3

        @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.

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          noox
          schrieb am zuletzt editiert von
          #4

          Ich hab das jetzt umgesetzt. Ist seit Ende November im Einsatz:
          https://github.com/nooxnet/smart-meter-mbus-dlms

          Man 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:
          5e4a1807-b20b-4fc6-8e81-858bedf8e4f3-image.png

          A 1 Antwort Letzte Antwort
          0
          • N noox

            Ich hab das jetzt umgesetzt. Ist seit Ende November im Einsatz:
            https://github.com/nooxnet/smart-meter-mbus-dlms

            Man 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:
            5e4a1807-b20b-4fc6-8e81-858bedf8e4f3-image.png

            A Offline
            A Offline
            Aley
            schrieb am zuletzt editiert von
            #5

            @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 hin :-)

            Der 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

            A 1 Antwort Letzte Antwort
            0
            • A Aley

              @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 hin :-)

              Der 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

              A Offline
              A Offline
              Aley
              schrieb am zuletzt editiert von
              #6

              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!

              N 1 Antwort Letzte Antwort
              0
              • A Aley

                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!

                N Offline
                N Offline
                noox
                schrieb am zuletzt editiert von
                #7

                @aley Sehr fein! Danke für die Rückmeldung!

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                698

                Online

                32.5k

                Benutzer

                81.8k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe