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. Hardware
  4. Gas Zähler BK-G4 AT - mit M-Bus auslesen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Gas Zähler BK-G4 AT - mit M-Bus auslesen

Geplant Angeheftet Gesperrt Verschoben Hardware
51 Beiträge 22 Kommentatoren 11.4k Aufrufe 20 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.
  • B Offline
    B Offline
    burncolonia
    schrieb am zuletzt editiert von burncolonia
    #1

    Hallo zusammen,

    ich wollte eigentlich meinen Honeywell (Elster) BK-G4 AT mit dem Reed Kontakt auslesen - jedoch geht das wohl bei diesem Modell nicht mehr.

    Was ich dann rausgefunden habe, fand ich doch sehr interessant - und zwar hat der GZ wohl eine M-Bus Schnittstelle hinter eine kleinen Abdeckplatte. Das ganze System nennt sich "Absolute Encoder". Man findet dazu leider noch gar nichts im Netz, obwohl der Zähler von 2021 ist.

    Zum auslesen gibt es M-Bus, SCR und M-Bus Radio Module:

    https://docuthek.kromschroeder.com/documents/download.php?lang=de&doc=60160

    Kennt sich damit zufällig jemand aus? Wie könnte ich die Daten aus der Kiste auslesen und in den ioBroker bekommen?

    Vielen Dank schonmal für Eure Hilfe.

    Es grüßt der BuRn

    B 1 Antwort Letzte Antwort
    0
    • B burncolonia

      Hallo zusammen,

      ich wollte eigentlich meinen Honeywell (Elster) BK-G4 AT mit dem Reed Kontakt auslesen - jedoch geht das wohl bei diesem Modell nicht mehr.

      Was ich dann rausgefunden habe, fand ich doch sehr interessant - und zwar hat der GZ wohl eine M-Bus Schnittstelle hinter eine kleinen Abdeckplatte. Das ganze System nennt sich "Absolute Encoder". Man findet dazu leider noch gar nichts im Netz, obwohl der Zähler von 2021 ist.

      Zum auslesen gibt es M-Bus, SCR und M-Bus Radio Module:

      https://docuthek.kromschroeder.com/documents/download.php?lang=de&doc=60160

      Kennt sich damit zufällig jemand aus? Wie könnte ich die Daten aus der Kiste auslesen und in den ioBroker bekommen?

      Vielen Dank schonmal für Eure Hilfe.

      Es grüßt der BuRn

      B Offline
      B Offline
      burncolonia
      schrieb am zuletzt editiert von
      #2

      Das System scheint nicht sehr verbreitet zu sein ... keiner eine Idee?

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • B burncolonia

        Das System scheint nicht sehr verbreitet zu sein ... keiner eine Idee?

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @burncolonia sagte in Gas Zähler BK-G4 AT - mit M-Bus auslesen:

        Das System scheint nicht sehr verbreitet zu sein ... keiner eine Idee?

        Direkt an den Hersteller oder den Energieversorger wenden?
        Du wirst mit ziemlicher Sicherheit zusätzlich Hardware benötigen. Selbst basteln fällt hier wohl aus.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        B 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @burncolonia sagte in Gas Zähler BK-G4 AT - mit M-Bus auslesen:

          Das System scheint nicht sehr verbreitet zu sein ... keiner eine Idee?

          Direkt an den Hersteller oder den Energieversorger wenden?
          Du wirst mit ziemlicher Sicherheit zusätzlich Hardware benötigen. Selbst basteln fällt hier wohl aus.

          B Offline
          B Offline
          burncolonia
          schrieb am zuletzt editiert von
          #4

          @codierknecht danke für Deine Antwort.

          Ja, ich denke ich muss den MBus Adapter oder wireless MBus Adapter vom Hersteller nehmen - basteln ist mir am Gaszähler auch ein wenig zu "heiß" ...

          Aber wie gehe ich dann vor ... bin noch komplett unbefleckt was MBus angeht ...

          Was wäre besser wire oder wireless? Wie bekomme ich die Daten in den ioBroker.

          Es grüßt der BuRn

          B CodierknechtC 2 Antworten Letzte Antwort
          0
          • B burncolonia

            @codierknecht danke für Deine Antwort.

            Ja, ich denke ich muss den MBus Adapter oder wireless MBus Adapter vom Hersteller nehmen - basteln ist mir am Gaszähler auch ein wenig zu "heiß" ...

            Aber wie gehe ich dann vor ... bin noch komplett unbefleckt was MBus angeht ...

            Was wäre besser wire oder wireless? Wie bekomme ich die Daten in den ioBroker.

            Es grüßt der BuRn

            B Offline
            B Offline
            burncolonia
            schrieb am zuletzt editiert von
            #5

            komme ich, wenn ich das original mbus Modul vom Hersteller habe, mit sowas weiter?

            https://de.aliexpress.com/item/32742104471.html?spm=a2g0o.productlist.0.0.36b85f07LvfyO5&algo_pvid=0d0e3e54-d5ad-47ac-8130-1d17344abf3a&algo_exp_id=0d0e3e54-d5ad-47ac-8130-1d17344abf3a-5&pdp_ext_f={"sku_id"%3A"61580241011"}&pdp_npi=2%40dis!EUR!35.83!35.83!!!!!%400b0a050b16654712486377206e76d8!61580241011!sea&curPageLogUid=sRiaGzbfNOdI

            und das ding dann per USB an den ioBroker anschließen ...

            1 Antwort Letzte Antwort
            0
            • B burncolonia

              @codierknecht danke für Deine Antwort.

              Ja, ich denke ich muss den MBus Adapter oder wireless MBus Adapter vom Hersteller nehmen - basteln ist mir am Gaszähler auch ein wenig zu "heiß" ...

              Aber wie gehe ich dann vor ... bin noch komplett unbefleckt was MBus angeht ...

              Was wäre besser wire oder wireless? Wie bekomme ich die Daten in den ioBroker.

              Es grüßt der BuRn

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @burncolonia sagte in Gas Zähler BK-G4 AT - mit M-Bus auslesen:

              @codierknecht danke für Deine Antwort.
              ... basteln ist mir am Gaszähler auch ein wenig zu "heiß" ...

              "Heiß" ist da der falsche Ausdruck. Du lötest ja nicht am Zähler rum.
              Am GZ (oder anderen verplombten Zählern) wird ja nur optisch, induktiv oder magnetisch gekoppelt.

              Aber wie gehe ich dann vor ... bin noch komplett unbefleckt was MBus angeht ...

              Ebenfalls. Das Basteln selbst ist auch nicht das Problem, sondern eher die Anbindung an den ioBroker.
              Ich drück' Dir die Daumen.

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              1 Antwort Letzte Antwort
              0
              • F Offline
                F Offline
                FloxD
                schrieb am zuletzt editiert von FloxD
                #7

                Hi,
                habe den gleichen Zähler und bin auch gerade daran diesen mittels M-Bus auszulesen. Bin gerade auf der Arbeit, daher jetzt nur in Kürze: du brauchst einen M-Bus Master. Ich habe hier meinen alten Raspberry (hatte hier früher iobroker drauf laufen) verwenden mit dem M-Bus Raspberrry HAT von Zihatec. Auf dem Raspi iobroker installieren und als Slave konfigurieren. Mit dem M-Bus Adapter (auf dem Raspi laufen lassen) klappt bei mir jetzt schon das Ansprechen des M-Bus Master über die serielle Schnittstelle. Das Kommunikationsmodul ACM M-Bus Wire (ich vermute dass es sich hierbei nur um einen teuren Stecker handelt, ggf kann man den Master auch direkt an 2 der 4 Pins des Zählers stecken - habe ich mich allerdings nicht getraut 🙈)habe ich schon bestellt und sollte die nächsten Tage kommen. Gerne heute Abend mehr Infos, bzw werde ich berichten wenn das Kommunikationsmodul da ist.
                Lg, Florian

                B 1 Antwort Letzte Antwort
                0
                • F FloxD

                  Hi,
                  habe den gleichen Zähler und bin auch gerade daran diesen mittels M-Bus auszulesen. Bin gerade auf der Arbeit, daher jetzt nur in Kürze: du brauchst einen M-Bus Master. Ich habe hier meinen alten Raspberry (hatte hier früher iobroker drauf laufen) verwenden mit dem M-Bus Raspberrry HAT von Zihatec. Auf dem Raspi iobroker installieren und als Slave konfigurieren. Mit dem M-Bus Adapter (auf dem Raspi laufen lassen) klappt bei mir jetzt schon das Ansprechen des M-Bus Master über die serielle Schnittstelle. Das Kommunikationsmodul ACM M-Bus Wire (ich vermute dass es sich hierbei nur um einen teuren Stecker handelt, ggf kann man den Master auch direkt an 2 der 4 Pins des Zählers stecken - habe ich mich allerdings nicht getraut 🙈)habe ich schon bestellt und sollte die nächsten Tage kommen. Gerne heute Abend mehr Infos, bzw werde ich berichten wenn das Kommunikationsmodul da ist.
                  Lg, Florian

                  B Offline
                  B Offline
                  burncolonia
                  schrieb am zuletzt editiert von burncolonia
                  #8

                  @floxd Der Hammer ... vielen Dank ... ich freue mich über weitere Infos und werde es genauso umsetzen. Tausend Dank

                  Update:

                  den Hat hab ich bestellt, Raspis hab ich noch ein paar rumfliegen, also auch kein Problem. Als Netzteil nehme ich ein 15V was ich noch rumfliegen hatte.

                  Hast Du genau den gleichen Zähler wie ich? Welches Wire Modul hast du bestellt, und wo? Da gibt es viele verschiedene 3er, 4er, 5er etc ...

                  Ich denke mit Jumperkabeln anstecken könnte auch klappen wenn man die Belegung kennt. Die ACM Module scheinen immer zwei-Draht zu sein.

                  1 Antwort Letzte Antwort
                  0
                  • F Offline
                    F Offline
                    FloxD
                    schrieb am zuletzt editiert von FloxD
                    #9

                    @burncolonia

                    Hi,
                    ja, ich habe exakt den gleichen Gaszähler wie du (BK-G4AT Honeywell/Elster, schraubt man die nicht verplomte Blende rechts unten ab, ist da ein 4-Pin Stecker). Ich habe den ACM M-bus wire hier bestellt: https://gt-gascount.de/ACM-M-BUS-Wire (ist deutlich günstiger als sonst wo, trägt allerdings nicht das "5.2" im Namen, auf Nachfrage beim Shop sei dieses Modul jedoch kompatibel mit meinem Zähler, wird morgen oder übermorgen geliefert, dann weiß ich mehr).

                    Über den "Absolute Encoder" findet sich im Netz fast noch nichts, ich habe hier nur zwei Kommentare zu gefunden:
                    https://demo.volkszaehler.org/pipermail/volkszaehler-users/2017-February/010339.html
                    und
                    https://community.openenergymonitor.org/t/connector-protocol-for-elster-gasmeter/7980

                    ...wie versiert die sind, kann ich nicht beurteilen. Im ersten Kommentar steht geschrieben, dass der Encoder mit 5V versorgt wird. Da der M-Bus nach meinem Verständnis mit >18 V läuft hatte ich mich nicht getraut den M-Bus direkt an den Zähler anzuschließen- hätte versuchsweise (wie aus dem dem zweiten Kommentar zu entnehmen) die obersten 2 Pins versucht. Wenn du dich noch 2-3 Tage gedulden kannst, werde ich mir das "Kommunikationsmodul ACM M-Bus wire", sobald es da ist, mal anschauen ob in diesem noch "Technik" verbaut ist und wenn nicht, auf welche der 4 Pins die zwei M-Bus Kabel durchgeschleift werden.

                    Noch eine Anmerkung zur Installationsanleitung des Raspberry HAT:
                    https://cdn.shopify.com/s/files/1/1509/1638/files/Datasheet_MBUS_HAT_Rev_A.pdf?v=1656503284

                    Hat bei mir nicht auf Anhieb funktioniert, da zweimal Fehlermeldungen wegen unbekannter Befehle kamen (wohl weder im Raspian Bullseye Standard OS 32 noch in der 64bit Version vorhanden, hatte beides versucht; vielleicht bin ich hier einfach zu doof...). Durch ein ergänzendes

                    sudo apt-get install autoconf
                    sudo apt install libtool
                    

                    im Terminal ist die Installation dann komplett ohne Fehlermeldung durchgelaufen.

                    Die komplette Installation des Raspberry Pi mit M-Bus HAT (als Wlan Iobroker Slave) über einen Apple mit Terminal sah bei mir dann so aus (ob es letztlich funktioniert, kann ich die nächsten Tage berichten, wenn das Kommunikationsmodul da ist :blush: :

                    Am einfachsten mit dem Raspberry Pi Imager (habe hier das Raspberry PI OS Bullseye 64-bit verwendet)
                    094fa2b4-1c8b-4929-8b59-9a548a16209f-image.png

                    Rechts unter Einstellungen mit „enable SSH“ auch gleich neues Passwort und die Wlan-PW-Übernahme etc. anklicken. Sobald die Karte geschrieben ist in den Pi einlegen. Im Router die vergebene IP-Adresse nachschauen (bei mir die 192.168.178.54). Dann im Terminal weiter:

                    ssh-keygen -R 192.168.178.54 
                    ssh pi@192.168.178.54
                    

                    Password wie im PI Imager eingeben. Dann...

                    sudo raspi-config 
                    

                    gehe hier zu "3 Interfacing Options"
                    und hier zu "I6 Serial Port"
                    -> Would you like a login shell to be accessible over serial? --> NO
                    ->Would you like the serial port hardware to be enabled? --> YES
                    Beende raspi-config

                    weiter im Terminal:

                    sudo echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
                    sudo systemctl disable hciuart
                    sudo reboot
                    
                    sudo apt-get install autoconf
                    sudo apt-get install -y cmake
                    sudo git clone https://github.com/rscada/libmbus.git 
                    cd libmbus 
                    sudo apt install libtool
                    sudo ./build.sh
                    sudo make install 
                    cd bin 
                    sudo ln -s /usr/local/lib/libmbus.so.0 /usr/lib/libmbus.so.0
                    

                    Iobroker als Slave auf Rasp installieren (hier muss man wohl die gleiche Node.js-Version wie auf der Haupt-Installation verwenden bei mir die V16.x, ausführliche Anleitung unter: https://www.iobroker.net/#de/documentation/install/linux.md)

                    curl -sLf https://deb.nodesource.com/setup_16.x | sudo -E bash -
                    sudo apt-get install -y nodejs
                    sudo reboot
                    
                    curl -sLf https://iobroker.net/install.sh | bash -
                    

                    Multihost:
                    In Portainer/Synology Console (hier läuft bei mir Iobroker):

                     iobroker multihost enable
                    

                    über Console/Terminal auf Raspberry:

                    iobroker multihost connect
                    

                    (hier jeweils Eingabe von Passwort / IP etc.)

                    update:
                    in dem gelieferten Kommunikationsmodul "ACM 5.2 M-Bus Wire" von Elster ist noch eine Platine mit diversen elektrischen Bauteilen verbaut:

                    IMG_1086.jpg

                    (Ohne das Modul wird ein direktes Auslesen des Zählers damit leider vermutlich nicht funktionieren, habe es selbst nicht versucht - würde auch davon abraten dies zu tun...)

                    Der M-Bus Adapter hat den Zähler allerdings nicht direkt gefunden.

                    Um die Adresse des Zählers zu finden habe ich auf dem Raspberry noch folgendes Programm installiert (über Terminal):

                    pip3 install pyMeterBus
                    sudo git clone https://gitlab.com/ganehag/pyMeterBus
                    cd pyMeterBus/tools
                    

                    dann kann mit

                    python3 mbus-serial-scan.py -d /dev/serial0
                    

                    die Adresse ausgelesen werden (bei mir 0)

                    b5520057-9105-40be-b9ea-3eae310ad9ce-image.png

                    mit

                    python3 mbus-serial-request-data.py -d -a 0 /dev/serial0 
                    

                    (Die 0 nach "-a" ggf. durch die eigene Adresse ersetzen) kann dann der Zählerstand über das Terminal abgefragt werden.

                    50410964-1e12-4141-a18e-48acd1cf8dee-image.png

                    um die Daten jetzt noch in iobroker zu bekommen im M-bus Adapter folgende Einstellungen:
                    ba50a087-7e21-4e04-bac4-c45660a73349-image.png
                    und auf dem zweiten Reiter "Geräte" unter ID die oben ermittelte Adresse (bei mir 0) eintragen
                    01eee14a-443e-4b14-8b14-c992ef2b243f-image.png

                    ...und den Adapter starten. Unter Objekte findet sich jetzt der Zählerstand :grinning:
                    22b2615d-8cd8-431e-9eae-bb1d6889bafe-image.png

                    ... Ich bin kein Profi in diesen Dingen, habe mir die einzelnen Schritte im Netz zusammengesucht, wenn sich Fehler eingeschlichen haben oder es Verbesserungsvorschläge gibt gerne her damit!

                    Lg
                    Florian

                    B C N D 5 Antworten Letzte Antwort
                    0
                    • F FloxD

                      @burncolonia

                      Hi,
                      ja, ich habe exakt den gleichen Gaszähler wie du (BK-G4AT Honeywell/Elster, schraubt man die nicht verplomte Blende rechts unten ab, ist da ein 4-Pin Stecker). Ich habe den ACM M-bus wire hier bestellt: https://gt-gascount.de/ACM-M-BUS-Wire (ist deutlich günstiger als sonst wo, trägt allerdings nicht das "5.2" im Namen, auf Nachfrage beim Shop sei dieses Modul jedoch kompatibel mit meinem Zähler, wird morgen oder übermorgen geliefert, dann weiß ich mehr).

                      Über den "Absolute Encoder" findet sich im Netz fast noch nichts, ich habe hier nur zwei Kommentare zu gefunden:
                      https://demo.volkszaehler.org/pipermail/volkszaehler-users/2017-February/010339.html
                      und
                      https://community.openenergymonitor.org/t/connector-protocol-for-elster-gasmeter/7980

                      ...wie versiert die sind, kann ich nicht beurteilen. Im ersten Kommentar steht geschrieben, dass der Encoder mit 5V versorgt wird. Da der M-Bus nach meinem Verständnis mit >18 V läuft hatte ich mich nicht getraut den M-Bus direkt an den Zähler anzuschließen- hätte versuchsweise (wie aus dem dem zweiten Kommentar zu entnehmen) die obersten 2 Pins versucht. Wenn du dich noch 2-3 Tage gedulden kannst, werde ich mir das "Kommunikationsmodul ACM M-Bus wire", sobald es da ist, mal anschauen ob in diesem noch "Technik" verbaut ist und wenn nicht, auf welche der 4 Pins die zwei M-Bus Kabel durchgeschleift werden.

                      Noch eine Anmerkung zur Installationsanleitung des Raspberry HAT:
                      https://cdn.shopify.com/s/files/1/1509/1638/files/Datasheet_MBUS_HAT_Rev_A.pdf?v=1656503284

                      Hat bei mir nicht auf Anhieb funktioniert, da zweimal Fehlermeldungen wegen unbekannter Befehle kamen (wohl weder im Raspian Bullseye Standard OS 32 noch in der 64bit Version vorhanden, hatte beides versucht; vielleicht bin ich hier einfach zu doof...). Durch ein ergänzendes

                      sudo apt-get install autoconf
                      sudo apt install libtool
                      

                      im Terminal ist die Installation dann komplett ohne Fehlermeldung durchgelaufen.

                      Die komplette Installation des Raspberry Pi mit M-Bus HAT (als Wlan Iobroker Slave) über einen Apple mit Terminal sah bei mir dann so aus (ob es letztlich funktioniert, kann ich die nächsten Tage berichten, wenn das Kommunikationsmodul da ist :blush: :

                      Am einfachsten mit dem Raspberry Pi Imager (habe hier das Raspberry PI OS Bullseye 64-bit verwendet)
                      094fa2b4-1c8b-4929-8b59-9a548a16209f-image.png

                      Rechts unter Einstellungen mit „enable SSH“ auch gleich neues Passwort und die Wlan-PW-Übernahme etc. anklicken. Sobald die Karte geschrieben ist in den Pi einlegen. Im Router die vergebene IP-Adresse nachschauen (bei mir die 192.168.178.54). Dann im Terminal weiter:

                      ssh-keygen -R 192.168.178.54 
                      ssh pi@192.168.178.54
                      

                      Password wie im PI Imager eingeben. Dann...

                      sudo raspi-config 
                      

                      gehe hier zu "3 Interfacing Options"
                      und hier zu "I6 Serial Port"
                      -> Would you like a login shell to be accessible over serial? --> NO
                      ->Would you like the serial port hardware to be enabled? --> YES
                      Beende raspi-config

                      weiter im Terminal:

                      sudo echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
                      sudo systemctl disable hciuart
                      sudo reboot
                      
                      sudo apt-get install autoconf
                      sudo apt-get install -y cmake
                      sudo git clone https://github.com/rscada/libmbus.git 
                      cd libmbus 
                      sudo apt install libtool
                      sudo ./build.sh
                      sudo make install 
                      cd bin 
                      sudo ln -s /usr/local/lib/libmbus.so.0 /usr/lib/libmbus.so.0
                      

                      Iobroker als Slave auf Rasp installieren (hier muss man wohl die gleiche Node.js-Version wie auf der Haupt-Installation verwenden bei mir die V16.x, ausführliche Anleitung unter: https://www.iobroker.net/#de/documentation/install/linux.md)

                      curl -sLf https://deb.nodesource.com/setup_16.x | sudo -E bash -
                      sudo apt-get install -y nodejs
                      sudo reboot
                      
                      curl -sLf https://iobroker.net/install.sh | bash -
                      

                      Multihost:
                      In Portainer/Synology Console (hier läuft bei mir Iobroker):

                       iobroker multihost enable
                      

                      über Console/Terminal auf Raspberry:

                      iobroker multihost connect
                      

                      (hier jeweils Eingabe von Passwort / IP etc.)

                      update:
                      in dem gelieferten Kommunikationsmodul "ACM 5.2 M-Bus Wire" von Elster ist noch eine Platine mit diversen elektrischen Bauteilen verbaut:

                      IMG_1086.jpg

                      (Ohne das Modul wird ein direktes Auslesen des Zählers damit leider vermutlich nicht funktionieren, habe es selbst nicht versucht - würde auch davon abraten dies zu tun...)

                      Der M-Bus Adapter hat den Zähler allerdings nicht direkt gefunden.

                      Um die Adresse des Zählers zu finden habe ich auf dem Raspberry noch folgendes Programm installiert (über Terminal):

                      pip3 install pyMeterBus
                      sudo git clone https://gitlab.com/ganehag/pyMeterBus
                      cd pyMeterBus/tools
                      

                      dann kann mit

                      python3 mbus-serial-scan.py -d /dev/serial0
                      

                      die Adresse ausgelesen werden (bei mir 0)

                      b5520057-9105-40be-b9ea-3eae310ad9ce-image.png

                      mit

                      python3 mbus-serial-request-data.py -d -a 0 /dev/serial0 
                      

                      (Die 0 nach "-a" ggf. durch die eigene Adresse ersetzen) kann dann der Zählerstand über das Terminal abgefragt werden.

                      50410964-1e12-4141-a18e-48acd1cf8dee-image.png

                      um die Daten jetzt noch in iobroker zu bekommen im M-bus Adapter folgende Einstellungen:
                      ba50a087-7e21-4e04-bac4-c45660a73349-image.png
                      und auf dem zweiten Reiter "Geräte" unter ID die oben ermittelte Adresse (bei mir 0) eintragen
                      01eee14a-443e-4b14-8b14-c992ef2b243f-image.png

                      ...und den Adapter starten. Unter Objekte findet sich jetzt der Zählerstand :grinning:
                      22b2615d-8cd8-431e-9eae-bb1d6889bafe-image.png

                      ... Ich bin kein Profi in diesen Dingen, habe mir die einzelnen Schritte im Netz zusammengesucht, wenn sich Fehler eingeschlichen haben oder es Verbesserungsvorschläge gibt gerne her damit!

                      Lg
                      Florian

                      B Offline
                      B Offline
                      burncolonia
                      schrieb am zuletzt editiert von burncolonia
                      #10

                      @floxd super Anleitung. Danke. Ich warte mal ab bis Du dein Komm-Modul hast. Danke auch für die Links. Edit: Habs auch direkt mal bestellt ... war ja echt günstig :blush:

                      Freue mich weitere Neuigkeiten von Dir zu hören - und viel Erfolg ... :+1:

                      Es grüßt der BuRn

                      1 Antwort Letzte Antwort
                      0
                      • F FloxD

                        @burncolonia

                        Hi,
                        ja, ich habe exakt den gleichen Gaszähler wie du (BK-G4AT Honeywell/Elster, schraubt man die nicht verplomte Blende rechts unten ab, ist da ein 4-Pin Stecker). Ich habe den ACM M-bus wire hier bestellt: https://gt-gascount.de/ACM-M-BUS-Wire (ist deutlich günstiger als sonst wo, trägt allerdings nicht das "5.2" im Namen, auf Nachfrage beim Shop sei dieses Modul jedoch kompatibel mit meinem Zähler, wird morgen oder übermorgen geliefert, dann weiß ich mehr).

                        Über den "Absolute Encoder" findet sich im Netz fast noch nichts, ich habe hier nur zwei Kommentare zu gefunden:
                        https://demo.volkszaehler.org/pipermail/volkszaehler-users/2017-February/010339.html
                        und
                        https://community.openenergymonitor.org/t/connector-protocol-for-elster-gasmeter/7980

                        ...wie versiert die sind, kann ich nicht beurteilen. Im ersten Kommentar steht geschrieben, dass der Encoder mit 5V versorgt wird. Da der M-Bus nach meinem Verständnis mit >18 V läuft hatte ich mich nicht getraut den M-Bus direkt an den Zähler anzuschließen- hätte versuchsweise (wie aus dem dem zweiten Kommentar zu entnehmen) die obersten 2 Pins versucht. Wenn du dich noch 2-3 Tage gedulden kannst, werde ich mir das "Kommunikationsmodul ACM M-Bus wire", sobald es da ist, mal anschauen ob in diesem noch "Technik" verbaut ist und wenn nicht, auf welche der 4 Pins die zwei M-Bus Kabel durchgeschleift werden.

                        Noch eine Anmerkung zur Installationsanleitung des Raspberry HAT:
                        https://cdn.shopify.com/s/files/1/1509/1638/files/Datasheet_MBUS_HAT_Rev_A.pdf?v=1656503284

                        Hat bei mir nicht auf Anhieb funktioniert, da zweimal Fehlermeldungen wegen unbekannter Befehle kamen (wohl weder im Raspian Bullseye Standard OS 32 noch in der 64bit Version vorhanden, hatte beides versucht; vielleicht bin ich hier einfach zu doof...). Durch ein ergänzendes

                        sudo apt-get install autoconf
                        sudo apt install libtool
                        

                        im Terminal ist die Installation dann komplett ohne Fehlermeldung durchgelaufen.

                        Die komplette Installation des Raspberry Pi mit M-Bus HAT (als Wlan Iobroker Slave) über einen Apple mit Terminal sah bei mir dann so aus (ob es letztlich funktioniert, kann ich die nächsten Tage berichten, wenn das Kommunikationsmodul da ist :blush: :

                        Am einfachsten mit dem Raspberry Pi Imager (habe hier das Raspberry PI OS Bullseye 64-bit verwendet)
                        094fa2b4-1c8b-4929-8b59-9a548a16209f-image.png

                        Rechts unter Einstellungen mit „enable SSH“ auch gleich neues Passwort und die Wlan-PW-Übernahme etc. anklicken. Sobald die Karte geschrieben ist in den Pi einlegen. Im Router die vergebene IP-Adresse nachschauen (bei mir die 192.168.178.54). Dann im Terminal weiter:

                        ssh-keygen -R 192.168.178.54 
                        ssh pi@192.168.178.54
                        

                        Password wie im PI Imager eingeben. Dann...

                        sudo raspi-config 
                        

                        gehe hier zu "3 Interfacing Options"
                        und hier zu "I6 Serial Port"
                        -> Would you like a login shell to be accessible over serial? --> NO
                        ->Would you like the serial port hardware to be enabled? --> YES
                        Beende raspi-config

                        weiter im Terminal:

                        sudo echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
                        sudo systemctl disable hciuart
                        sudo reboot
                        
                        sudo apt-get install autoconf
                        sudo apt-get install -y cmake
                        sudo git clone https://github.com/rscada/libmbus.git 
                        cd libmbus 
                        sudo apt install libtool
                        sudo ./build.sh
                        sudo make install 
                        cd bin 
                        sudo ln -s /usr/local/lib/libmbus.so.0 /usr/lib/libmbus.so.0
                        

                        Iobroker als Slave auf Rasp installieren (hier muss man wohl die gleiche Node.js-Version wie auf der Haupt-Installation verwenden bei mir die V16.x, ausführliche Anleitung unter: https://www.iobroker.net/#de/documentation/install/linux.md)

                        curl -sLf https://deb.nodesource.com/setup_16.x | sudo -E bash -
                        sudo apt-get install -y nodejs
                        sudo reboot
                        
                        curl -sLf https://iobroker.net/install.sh | bash -
                        

                        Multihost:
                        In Portainer/Synology Console (hier läuft bei mir Iobroker):

                         iobroker multihost enable
                        

                        über Console/Terminal auf Raspberry:

                        iobroker multihost connect
                        

                        (hier jeweils Eingabe von Passwort / IP etc.)

                        update:
                        in dem gelieferten Kommunikationsmodul "ACM 5.2 M-Bus Wire" von Elster ist noch eine Platine mit diversen elektrischen Bauteilen verbaut:

                        IMG_1086.jpg

                        (Ohne das Modul wird ein direktes Auslesen des Zählers damit leider vermutlich nicht funktionieren, habe es selbst nicht versucht - würde auch davon abraten dies zu tun...)

                        Der M-Bus Adapter hat den Zähler allerdings nicht direkt gefunden.

                        Um die Adresse des Zählers zu finden habe ich auf dem Raspberry noch folgendes Programm installiert (über Terminal):

                        pip3 install pyMeterBus
                        sudo git clone https://gitlab.com/ganehag/pyMeterBus
                        cd pyMeterBus/tools
                        

                        dann kann mit

                        python3 mbus-serial-scan.py -d /dev/serial0
                        

                        die Adresse ausgelesen werden (bei mir 0)

                        b5520057-9105-40be-b9ea-3eae310ad9ce-image.png

                        mit

                        python3 mbus-serial-request-data.py -d -a 0 /dev/serial0 
                        

                        (Die 0 nach "-a" ggf. durch die eigene Adresse ersetzen) kann dann der Zählerstand über das Terminal abgefragt werden.

                        50410964-1e12-4141-a18e-48acd1cf8dee-image.png

                        um die Daten jetzt noch in iobroker zu bekommen im M-bus Adapter folgende Einstellungen:
                        ba50a087-7e21-4e04-bac4-c45660a73349-image.png
                        und auf dem zweiten Reiter "Geräte" unter ID die oben ermittelte Adresse (bei mir 0) eintragen
                        01eee14a-443e-4b14-8b14-c992ef2b243f-image.png

                        ...und den Adapter starten. Unter Objekte findet sich jetzt der Zählerstand :grinning:
                        22b2615d-8cd8-431e-9eae-bb1d6889bafe-image.png

                        ... Ich bin kein Profi in diesen Dingen, habe mir die einzelnen Schritte im Netz zusammengesucht, wenn sich Fehler eingeschlichen haben oder es Verbesserungsvorschläge gibt gerne her damit!

                        Lg
                        Florian

                        B Offline
                        B Offline
                        burncolonia
                        schrieb am zuletzt editiert von
                        #11

                        @floxd

                        Ich bin Deine Anleitung soweit durchgegangen und habe alles, wie es scheint, erfolgreich abschließen können. Der Multihost läuft, und der /dev/serial0 scheint erkannt zu werden, da der HAT fröhlich rot vor sich her blinkt. Dann fehlt es bei mir nun auch noch am Komm-Modul oder an zwei Jumperkabeln auf der richtigen Position.

                        F 1 Antwort Letzte Antwort
                        0
                        • B burncolonia

                          @floxd

                          Ich bin Deine Anleitung soweit durchgegangen und habe alles, wie es scheint, erfolgreich abschließen können. Der Multihost läuft, und der /dev/serial0 scheint erkannt zu werden, da der HAT fröhlich rot vor sich her blinkt. Dann fehlt es bei mir nun auch noch am Komm-Modul oder an zwei Jumperkabeln auf der richtigen Position.

                          F Offline
                          F Offline
                          FloxD
                          schrieb am zuletzt editiert von
                          #12

                          @burncolonia
                          Hi habe meine Anleitung oben ergänzt (damit alles beisammen ist), hat mit kleineren "Umwegen" jetzt alles funktioniert (s.o. für Details). Das Modul aus dem o.g. Shop passt :-)
                          Lg
                          Florian

                          B 2 Antworten Letzte Antwort
                          0
                          • F FloxD

                            @burncolonia
                            Hi habe meine Anleitung oben ergänzt (damit alles beisammen ist), hat mit kleineren "Umwegen" jetzt alles funktioniert (s.o. für Details). Das Modul aus dem o.g. Shop passt :-)
                            Lg
                            Florian

                            B Offline
                            B Offline
                            burncolonia
                            schrieb am zuletzt editiert von
                            #13

                            @floxd hört sich super an. Dann warte ich mal auf mein Modul.

                            Vielen liebe dank :handshake:

                            1 Antwort Letzte Antwort
                            0
                            • F FloxD

                              @burncolonia
                              Hi habe meine Anleitung oben ergänzt (damit alles beisammen ist), hat mit kleineren "Umwegen" jetzt alles funktioniert (s.o. für Details). Das Modul aus dem o.g. Shop passt :-)
                              Lg
                              Florian

                              B Offline
                              B Offline
                              burncolonia
                              schrieb am zuletzt editiert von
                              #14

                              @floxd Hi floxd ...

                              nochmal abschließend: es hat alles fabelhaft funktioniert - danke für Deine tolle Arbeit und Zusammenstellung. Mein Pi3 mit 15V Netzteil dem HAT sowie dem Komm-Modul laufen wirklich super. Ich hatte erst nicht die Baudrate auf 2400 geändert und bekam nur Fehler im Protokoll - aber nach der Änderung - TOP!

                              Alles Gute für Dich und bleib Gesund.

                              Es grüßt der BuRn

                              F 1 Antwort Letzte Antwort
                              0
                              • B burncolonia

                                @floxd Hi floxd ...

                                nochmal abschließend: es hat alles fabelhaft funktioniert - danke für Deine tolle Arbeit und Zusammenstellung. Mein Pi3 mit 15V Netzteil dem HAT sowie dem Komm-Modul laufen wirklich super. Ich hatte erst nicht die Baudrate auf 2400 geändert und bekam nur Fehler im Protokoll - aber nach der Änderung - TOP!

                                Alles Gute für Dich und bleib Gesund.

                                Es grüßt der BuRn

                                F Offline
                                F Offline
                                FloxD
                                schrieb am zuletzt editiert von
                                #15

                                @burncolonia

                                Super! Freut mich, dass es bei Dir auch geklappt hat :blush: Hatte der Zähler bei dir auch die Adresse "0"?

                                Lg
                                Florian

                                B 1 Antwort Letzte Antwort
                                0
                                • F FloxD

                                  @burncolonia

                                  Super! Freut mich, dass es bei Dir auch geklappt hat :blush: Hatte der Zähler bei dir auch die Adresse "0"?

                                  Lg
                                  Florian

                                  B Offline
                                  B Offline
                                  burncolonia
                                  schrieb am zuletzt editiert von burncolonia
                                  #16

                                  @floxd

                                  Ja genau, bei mir ist es auch die "0".

                                  Ich bin gerade mit dem mbus Adapter noch etwas auf Kriegsfuß. Manchmal lädt er einfach keine Werte mehr nach. Ist aber bisher noch nicht reproduzierbar wann oder warum - auch das log gibt keinen Aufschluss.

                                  wenn ich über den slave raspi:

                                  python3 mbus-serial-request-data.py -d -a 0 /dev/serial0
                                  

                                  aufrufe bekomme ich:

                                  Ausgabe:

                                  burn@io-slave:~/pyMeterBus/tools $ python3 mbus-serial-request-data.py -d -a 0 /dev/serial0 
                                  INFO:meterbus.serial:SEND (005) 10 40 FD 3D 16
                                  INFO:meterbus.serial:SEND (005) 10 5B 00 5B 16
                                  INFO:meterbus.serial:RECV (027) 68 15 15 68 08 00 72 25 63 *gekürzt* 
                                  {
                                      "body": {
                                          "header": {
                                              "access_no": 90,
                                              "identification": "0x40, 0x86, 0x63, 0x25",
                                              "manufacturer": "ELS",
                                              "medium": "0x3",
                                              "sign": "0x0, 0x0",
                                              "status": "0x0",
                                              "type": "0x72",
                                              "version": "0x25"
                                          },
                                          "records": [
                                              {
                                                  "function": "FunctionType.INSTANTANEOUS_VALUE",
                                                  "type": "VIFUnit.VOLUME",
                                                  "unit": "MeasureUnit.M3",
                                                  "value": 796.817999999999983629095368087291717529296875
                                              }
                                          ]
                                      },
                                      "head": {
                                          "a": "0x0",
                                          "c": "0x8",
                                          "crc": "0xa",
                                          "length": "0x15",
                                          "start": "0x68",
                                          "stop": "0x16"
                                      }
                                  }
                                  

                                  Bei den Objekten vom mbus Adapter steht aber noch eine ältere Zahl - auch mit dem "Update now" Button wird nichts neueres gezogen bzw auch die AccessNumber nicht erhöht.

                                  Wenn ich den mbus Adapter dann einmal durchstarte werden sofort die neuen Werte gezogen und korrekt eingetragen ...

                                  Noch als Ergänzung wenn man das Ganze noch in kWh umrechnen möchte - lässt sich sehr leicht über Blocky lösen (nur die beiden Werte unten auf die eigenen anpassen):

                                  blockygaskwh.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                    <block type="create" id="kt:st]g_7HQ~1,AVg(+C" x="63" y="105">
                                      <field name="NAME">gaszaehlerStandkWh</field>
                                      <value name="VALUE">
                                        <block type="math_number" id="#Pt*uq1EN[v.o|eC$}9c">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                      <value name="COMMON">
                                        <block type="text" id="bWM6wLsF^Y~MSK#E$4}0">
                                          <field name="TEXT">{"type": "number", "unit": "kWh"}</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="on" id="[Aae;WUw?/GQLLaSi|YP">
                                          <field name="OID">mbus.0.ELS-40866325.data.0-0-Current</field>
                                          <field name="CONDITION">any</field>
                                          <field name="ACK_CONDITION"></field>
                                          <statement name="STATEMENT">
                                            <block type="update" id="{Fr+[nvsyzsRW=R)4u{|" inline="false">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">javascript.0.gaszaehlerStandkWh</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_round" id="Q%?2u.@vC#b(M/t(=t5m">
                                                  <field name="OP">ROUND</field>
                                                  <value name="NUM">
                                                    <shadow type="math_number" id="{891F$v+}}[eD?-6w0mO">
                                                      <field name="NUM">3.1</field>
                                                    </shadow>
                                                    <block type="math_arithmetic" id="Ax|v!m*iFngQsRpxP8%L" inline="false">
                                                      <field name="OP">MULTIPLY</field>
                                                      <value name="A">
                                                        <shadow type="math_number" id="^NSlbme?*yyll)1=!$9C">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="math_arithmetic" id="J$]R.`;08=+yt0]}Ii|*" inline="false">
                                                          <field name="OP">MULTIPLY</field>
                                                          <value name="A">
                                                            <shadow type="math_number" id="(8#e7nEvA)961d@}=f1e">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="get_value" id="CUh_iTk5%z6jmF=-I~}Y">
                                                              <field name="ATTR">val</field>
                                                              <field name="OID">mbus.0.ELS-40866325.data.0-0-Current</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <shadow type="math_number" id="UpA:b_2XlkBjbm_gL8bq">
                                                              <field name="NUM">0.96</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <shadow type="math_number" id="0h?^M2c0@O16iZ6SaT%$">
                                                          <field name="NUM">10.364</field>
                                                        </shadow>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </xml>
                                  
                                  F 1 Antwort Letzte Antwort
                                  0
                                  • B burncolonia

                                    @floxd

                                    Ja genau, bei mir ist es auch die "0".

                                    Ich bin gerade mit dem mbus Adapter noch etwas auf Kriegsfuß. Manchmal lädt er einfach keine Werte mehr nach. Ist aber bisher noch nicht reproduzierbar wann oder warum - auch das log gibt keinen Aufschluss.

                                    wenn ich über den slave raspi:

                                    python3 mbus-serial-request-data.py -d -a 0 /dev/serial0
                                    

                                    aufrufe bekomme ich:

                                    Ausgabe:

                                    burn@io-slave:~/pyMeterBus/tools $ python3 mbus-serial-request-data.py -d -a 0 /dev/serial0 
                                    INFO:meterbus.serial:SEND (005) 10 40 FD 3D 16
                                    INFO:meterbus.serial:SEND (005) 10 5B 00 5B 16
                                    INFO:meterbus.serial:RECV (027) 68 15 15 68 08 00 72 25 63 *gekürzt* 
                                    {
                                        "body": {
                                            "header": {
                                                "access_no": 90,
                                                "identification": "0x40, 0x86, 0x63, 0x25",
                                                "manufacturer": "ELS",
                                                "medium": "0x3",
                                                "sign": "0x0, 0x0",
                                                "status": "0x0",
                                                "type": "0x72",
                                                "version": "0x25"
                                            },
                                            "records": [
                                                {
                                                    "function": "FunctionType.INSTANTANEOUS_VALUE",
                                                    "type": "VIFUnit.VOLUME",
                                                    "unit": "MeasureUnit.M3",
                                                    "value": 796.817999999999983629095368087291717529296875
                                                }
                                            ]
                                        },
                                        "head": {
                                            "a": "0x0",
                                            "c": "0x8",
                                            "crc": "0xa",
                                            "length": "0x15",
                                            "start": "0x68",
                                            "stop": "0x16"
                                        }
                                    }
                                    

                                    Bei den Objekten vom mbus Adapter steht aber noch eine ältere Zahl - auch mit dem "Update now" Button wird nichts neueres gezogen bzw auch die AccessNumber nicht erhöht.

                                    Wenn ich den mbus Adapter dann einmal durchstarte werden sofort die neuen Werte gezogen und korrekt eingetragen ...

                                    Noch als Ergänzung wenn man das Ganze noch in kWh umrechnen möchte - lässt sich sehr leicht über Blocky lösen (nur die beiden Werte unten auf die eigenen anpassen):

                                    blockygaskwh.png

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <block type="create" id="kt:st]g_7HQ~1,AVg(+C" x="63" y="105">
                                        <field name="NAME">gaszaehlerStandkWh</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="#Pt*uq1EN[v.o|eC$}9c">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                        <value name="COMMON">
                                          <block type="text" id="bWM6wLsF^Y~MSK#E$4}0">
                                            <field name="TEXT">{"type": "number", "unit": "kWh"}</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="on" id="[Aae;WUw?/GQLLaSi|YP">
                                            <field name="OID">mbus.0.ELS-40866325.data.0-0-Current</field>
                                            <field name="CONDITION">any</field>
                                            <field name="ACK_CONDITION"></field>
                                            <statement name="STATEMENT">
                                              <block type="update" id="{Fr+[nvsyzsRW=R)4u{|" inline="false">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">javascript.0.gaszaehlerStandkWh</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_round" id="Q%?2u.@vC#b(M/t(=t5m">
                                                    <field name="OP">ROUND</field>
                                                    <value name="NUM">
                                                      <shadow type="math_number" id="{891F$v+}}[eD?-6w0mO">
                                                        <field name="NUM">3.1</field>
                                                      </shadow>
                                                      <block type="math_arithmetic" id="Ax|v!m*iFngQsRpxP8%L" inline="false">
                                                        <field name="OP">MULTIPLY</field>
                                                        <value name="A">
                                                          <shadow type="math_number" id="^NSlbme?*yyll)1=!$9C">
                                                            <field name="NUM">1</field>
                                                          </shadow>
                                                          <block type="math_arithmetic" id="J$]R.`;08=+yt0]}Ii|*" inline="false">
                                                            <field name="OP">MULTIPLY</field>
                                                            <value name="A">
                                                              <shadow type="math_number" id="(8#e7nEvA)961d@}=f1e">
                                                                <field name="NUM">1</field>
                                                              </shadow>
                                                              <block type="get_value" id="CUh_iTk5%z6jmF=-I~}Y">
                                                                <field name="ATTR">val</field>
                                                                <field name="OID">mbus.0.ELS-40866325.data.0-0-Current</field>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <shadow type="math_number" id="UpA:b_2XlkBjbm_gL8bq">
                                                                <field name="NUM">0.96</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <shadow type="math_number" id="0h?^M2c0@O16iZ6SaT%$">
                                                            <field name="NUM">10.364</field>
                                                          </shadow>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </next>
                                      </block>
                                    </xml>
                                    
                                    F Offline
                                    F Offline
                                    FloxD
                                    schrieb am zuletzt editiert von
                                    #17

                                    @burncolonia

                                    seltsam, läuft bei mir geschmeidig mit dem Adapter… die Id-Aktualisierungsrate hast du runtergenommen? Habe sie auf 60 (sek)…

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • F FloxD

                                      @burncolonia

                                      seltsam, läuft bei mir geschmeidig mit dem Adapter… die Id-Aktualisierungsrate hast du runtergenommen? Habe sie auf 60 (sek)…

                                      B Offline
                                      B Offline
                                      burncolonia
                                      schrieb am zuletzt editiert von
                                      #18

                                      @floxd

                                      Ja genau, bin auch auf 60 Sekunden gegangen - mal abwarten - heute läuft er bisher ganz gut durch.

                                      Aufgrund des guten Wetters und Solar-Thermie auf dem Dach ist es aktuell schwierig zu beobachten ;-)

                                      1 Antwort Letzte Antwort
                                      0
                                      • F FloxD

                                        @burncolonia

                                        Hi,
                                        ja, ich habe exakt den gleichen Gaszähler wie du (BK-G4AT Honeywell/Elster, schraubt man die nicht verplomte Blende rechts unten ab, ist da ein 4-Pin Stecker). Ich habe den ACM M-bus wire hier bestellt: https://gt-gascount.de/ACM-M-BUS-Wire (ist deutlich günstiger als sonst wo, trägt allerdings nicht das "5.2" im Namen, auf Nachfrage beim Shop sei dieses Modul jedoch kompatibel mit meinem Zähler, wird morgen oder übermorgen geliefert, dann weiß ich mehr).

                                        Über den "Absolute Encoder" findet sich im Netz fast noch nichts, ich habe hier nur zwei Kommentare zu gefunden:
                                        https://demo.volkszaehler.org/pipermail/volkszaehler-users/2017-February/010339.html
                                        und
                                        https://community.openenergymonitor.org/t/connector-protocol-for-elster-gasmeter/7980

                                        ...wie versiert die sind, kann ich nicht beurteilen. Im ersten Kommentar steht geschrieben, dass der Encoder mit 5V versorgt wird. Da der M-Bus nach meinem Verständnis mit >18 V läuft hatte ich mich nicht getraut den M-Bus direkt an den Zähler anzuschließen- hätte versuchsweise (wie aus dem dem zweiten Kommentar zu entnehmen) die obersten 2 Pins versucht. Wenn du dich noch 2-3 Tage gedulden kannst, werde ich mir das "Kommunikationsmodul ACM M-Bus wire", sobald es da ist, mal anschauen ob in diesem noch "Technik" verbaut ist und wenn nicht, auf welche der 4 Pins die zwei M-Bus Kabel durchgeschleift werden.

                                        Noch eine Anmerkung zur Installationsanleitung des Raspberry HAT:
                                        https://cdn.shopify.com/s/files/1/1509/1638/files/Datasheet_MBUS_HAT_Rev_A.pdf?v=1656503284

                                        Hat bei mir nicht auf Anhieb funktioniert, da zweimal Fehlermeldungen wegen unbekannter Befehle kamen (wohl weder im Raspian Bullseye Standard OS 32 noch in der 64bit Version vorhanden, hatte beides versucht; vielleicht bin ich hier einfach zu doof...). Durch ein ergänzendes

                                        sudo apt-get install autoconf
                                        sudo apt install libtool
                                        

                                        im Terminal ist die Installation dann komplett ohne Fehlermeldung durchgelaufen.

                                        Die komplette Installation des Raspberry Pi mit M-Bus HAT (als Wlan Iobroker Slave) über einen Apple mit Terminal sah bei mir dann so aus (ob es letztlich funktioniert, kann ich die nächsten Tage berichten, wenn das Kommunikationsmodul da ist :blush: :

                                        Am einfachsten mit dem Raspberry Pi Imager (habe hier das Raspberry PI OS Bullseye 64-bit verwendet)
                                        094fa2b4-1c8b-4929-8b59-9a548a16209f-image.png

                                        Rechts unter Einstellungen mit „enable SSH“ auch gleich neues Passwort und die Wlan-PW-Übernahme etc. anklicken. Sobald die Karte geschrieben ist in den Pi einlegen. Im Router die vergebene IP-Adresse nachschauen (bei mir die 192.168.178.54). Dann im Terminal weiter:

                                        ssh-keygen -R 192.168.178.54 
                                        ssh pi@192.168.178.54
                                        

                                        Password wie im PI Imager eingeben. Dann...

                                        sudo raspi-config 
                                        

                                        gehe hier zu "3 Interfacing Options"
                                        und hier zu "I6 Serial Port"
                                        -> Would you like a login shell to be accessible over serial? --> NO
                                        ->Would you like the serial port hardware to be enabled? --> YES
                                        Beende raspi-config

                                        weiter im Terminal:

                                        sudo echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
                                        sudo systemctl disable hciuart
                                        sudo reboot
                                        
                                        sudo apt-get install autoconf
                                        sudo apt-get install -y cmake
                                        sudo git clone https://github.com/rscada/libmbus.git 
                                        cd libmbus 
                                        sudo apt install libtool
                                        sudo ./build.sh
                                        sudo make install 
                                        cd bin 
                                        sudo ln -s /usr/local/lib/libmbus.so.0 /usr/lib/libmbus.so.0
                                        

                                        Iobroker als Slave auf Rasp installieren (hier muss man wohl die gleiche Node.js-Version wie auf der Haupt-Installation verwenden bei mir die V16.x, ausführliche Anleitung unter: https://www.iobroker.net/#de/documentation/install/linux.md)

                                        curl -sLf https://deb.nodesource.com/setup_16.x | sudo -E bash -
                                        sudo apt-get install -y nodejs
                                        sudo reboot
                                        
                                        curl -sLf https://iobroker.net/install.sh | bash -
                                        

                                        Multihost:
                                        In Portainer/Synology Console (hier läuft bei mir Iobroker):

                                         iobroker multihost enable
                                        

                                        über Console/Terminal auf Raspberry:

                                        iobroker multihost connect
                                        

                                        (hier jeweils Eingabe von Passwort / IP etc.)

                                        update:
                                        in dem gelieferten Kommunikationsmodul "ACM 5.2 M-Bus Wire" von Elster ist noch eine Platine mit diversen elektrischen Bauteilen verbaut:

                                        IMG_1086.jpg

                                        (Ohne das Modul wird ein direktes Auslesen des Zählers damit leider vermutlich nicht funktionieren, habe es selbst nicht versucht - würde auch davon abraten dies zu tun...)

                                        Der M-Bus Adapter hat den Zähler allerdings nicht direkt gefunden.

                                        Um die Adresse des Zählers zu finden habe ich auf dem Raspberry noch folgendes Programm installiert (über Terminal):

                                        pip3 install pyMeterBus
                                        sudo git clone https://gitlab.com/ganehag/pyMeterBus
                                        cd pyMeterBus/tools
                                        

                                        dann kann mit

                                        python3 mbus-serial-scan.py -d /dev/serial0
                                        

                                        die Adresse ausgelesen werden (bei mir 0)

                                        b5520057-9105-40be-b9ea-3eae310ad9ce-image.png

                                        mit

                                        python3 mbus-serial-request-data.py -d -a 0 /dev/serial0 
                                        

                                        (Die 0 nach "-a" ggf. durch die eigene Adresse ersetzen) kann dann der Zählerstand über das Terminal abgefragt werden.

                                        50410964-1e12-4141-a18e-48acd1cf8dee-image.png

                                        um die Daten jetzt noch in iobroker zu bekommen im M-bus Adapter folgende Einstellungen:
                                        ba50a087-7e21-4e04-bac4-c45660a73349-image.png
                                        und auf dem zweiten Reiter "Geräte" unter ID die oben ermittelte Adresse (bei mir 0) eintragen
                                        01eee14a-443e-4b14-8b14-c992ef2b243f-image.png

                                        ...und den Adapter starten. Unter Objekte findet sich jetzt der Zählerstand :grinning:
                                        22b2615d-8cd8-431e-9eae-bb1d6889bafe-image.png

                                        ... Ich bin kein Profi in diesen Dingen, habe mir die einzelnen Schritte im Netz zusammengesucht, wenn sich Fehler eingeschlichen haben oder es Verbesserungsvorschläge gibt gerne her damit!

                                        Lg
                                        Florian

                                        C Offline
                                        C Offline
                                        CWie
                                        schrieb am zuletzt editiert von
                                        #19

                                        @floxd

                                        Hallo und vielen Dank erstmal für die großartige Anleitung!

                                        Ich habe einen Elster BK-G4, habe das ACM 5.2 M-Bus Kabel gekauft und auch den Zihatec Raspberry Hat.
                                        Nachdem ich alles (bis auf ioBroker, das habe ich mal übersprungen bis ich in libmbus oder pyMeterBus eine Antwort bekomme) nach Anleitung installiert und eingerichtet, und das sollte bis dahin eigentlich auch geklappt haben.

                                        Nur wenn ich nun mit "./mbus-serial-scan -d -b 2400 /dev/serial0" oder mit "python3 mbus-serial-scan.py -d /dev/serial0" versuche ein Gerät zu erkennen, werden eine gute Weile lang commands geschickt ohne dass je eine Antwort zurück kommt.
                                        Was mich stutzig macht sind dabei die TX und RX Leds am MBus Hat. TX blinkt solange der mbus-serial-scan aktiv ist und da um Antworten bettelt, so weit, so gut.
                                        RX leuchtet jedoch durchgehend sobald das M-Bus Kabel mit dem Gaszähler verbunden ist, und sowohl Raspberry als auch der Hat Strom haben. Ich nehme an das soll nicht so sein? Habt ihr ne Idee wie ich da die Fehlerquelle eingrenzen kann?

                                        Um auszuschließen dass vielleicht ein schlechtes Netzteil schuld sein könnte habe ich versuchsweise auch den Raspberry von einer Powerbank, und den Hat von einem 6S Lipo (ca 24V) versorgt, leider mit gleichem Ergebnis.

                                        Wie sieht das bei euch mit der RX LED aus? ich nehme an die leuchtet nicht durchgehend?
                                        Und kann das ein konfigurationsfehler am Raspberry sein, oder ist hier wohl hardwareseitig etwas faul?

                                        Beste Grüße aus Wien
                                        Clemens

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • C CWie

                                          @floxd

                                          Hallo und vielen Dank erstmal für die großartige Anleitung!

                                          Ich habe einen Elster BK-G4, habe das ACM 5.2 M-Bus Kabel gekauft und auch den Zihatec Raspberry Hat.
                                          Nachdem ich alles (bis auf ioBroker, das habe ich mal übersprungen bis ich in libmbus oder pyMeterBus eine Antwort bekomme) nach Anleitung installiert und eingerichtet, und das sollte bis dahin eigentlich auch geklappt haben.

                                          Nur wenn ich nun mit "./mbus-serial-scan -d -b 2400 /dev/serial0" oder mit "python3 mbus-serial-scan.py -d /dev/serial0" versuche ein Gerät zu erkennen, werden eine gute Weile lang commands geschickt ohne dass je eine Antwort zurück kommt.
                                          Was mich stutzig macht sind dabei die TX und RX Leds am MBus Hat. TX blinkt solange der mbus-serial-scan aktiv ist und da um Antworten bettelt, so weit, so gut.
                                          RX leuchtet jedoch durchgehend sobald das M-Bus Kabel mit dem Gaszähler verbunden ist, und sowohl Raspberry als auch der Hat Strom haben. Ich nehme an das soll nicht so sein? Habt ihr ne Idee wie ich da die Fehlerquelle eingrenzen kann?

                                          Um auszuschließen dass vielleicht ein schlechtes Netzteil schuld sein könnte habe ich versuchsweise auch den Raspberry von einer Powerbank, und den Hat von einem 6S Lipo (ca 24V) versorgt, leider mit gleichem Ergebnis.

                                          Wie sieht das bei euch mit der RX LED aus? ich nehme an die leuchtet nicht durchgehend?
                                          Und kann das ein konfigurationsfehler am Raspberry sein, oder ist hier wohl hardwareseitig etwas faul?

                                          Beste Grüße aus Wien
                                          Clemens

                                          F Offline
                                          F Offline
                                          FloxD
                                          schrieb am zuletzt editiert von FloxD
                                          #20

                                          Um auszuschließen dass vielleicht ein schlechtes Netzteil schuld sein könnte habe ich versuchsweise auch den Raspberry von einer Powerbank, und den Hat von einem 6S Lipo (ca 24V) versorgt, leider mit gleichem Ergebnis.

                                          ich habe den HAT mit einem seperaten 12V Netzteil versorgt, dass sollte aber nicht das Problem sein

                                          Wie sieht das bei euch mit der RX LED aus? ich nehme an die leuchtet nicht durchgehend?

                                          RX sollte nicht durchgehend leuchten (blinkt nur kurz einmal auf nach kurzem Blinken des TX). Ich meine mich dunkel zu erinnern, dass das bei mir am Anfang auch so war und erst nach Installation von

                                          pip3 install pyMeterBus
                                          sudo git clone https://gitlab.com/ganehag/pyMeterBus
                                          cd pyMeterBus/tools
                                          

                                          funktionierte (kann mich aber auch irren). Ist die Installation ohne Fehlermeldungen durchgelaufen? Hast du es nochmals neu aufgesetzt, andere SD-Karte versucht?

                                          Und kann das ein konfigurationsfehler am Raspberry sein, oder ist hier wohl hardwareseitig etwas faul?

                                          die Jumper richtig gesetzt? Ansonsten bin ich ratlos :confused:

                                          screenshot_70.png

                                          C 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

                                          880

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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