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.9k

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

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

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.
  • 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
                          • F FloxD

                            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 Offline
                            C Offline
                            CWie
                            schrieb am zuletzt editiert von
                            #21

                            @floxd

                            Das Kabel war Schuld!

                            Wenn ich das "Elster ACM 5.2 M-Bus" Kabel an meinen Zähler stecke, zieht das ganze am M-Bus dauerhaft knapp 14mA. Der Zihatec Hat ist aber für maximal 6 Lasteinheiten, also 9mA ausgelegt. (Info von Herrn Wendt von Zihatec)

                            Ich hatte am Zähler noch vom Netzbetreiber so ein Kabelloses Ding zum Zähler auslesen, das aber scheinbar nicht funktioniert (wurde trotzdem immer manuell abgelesen).

                            An dem Kabel ist mir aufgefallen, dass es im Gegensatz zum ACM 5.2, welches wohl NUR für das Zählwerk AE5 ist (bei meinem Zähler, der zumindest nach Bildvergleichen ein AE2 oder AE3 haben dürfte klappt es ja leider nicht. Elster ist da leider sehr undurchsichtig) keinerlei zusätzliche Elektronik auf der zwischenplatine ist. Also da sind wirklich einfach nur die 2 Kabeladern direkt an mit den 2 unteren Pins verbunden.

                            Ich habe also einfach mal frech ausprobiert was passiert wenn ich dieses Kabel an den Hat klemme, und siehe da:
                            Damit klappt das sofort und einwandfrei!

                            Nächster Schritt war natürlich noch auszuprobieren ob das auch überhaupt nur mit zwei Jumperkabeln klappt, und nachdem am anderen Kabel ja sonst eh nichts drauf war, tut es das natürlich auch brav :)

                            Die Lehren daraus:
                            -Bei älteren BK-G4 mit dem Zählwerk das außenrum nicht transparent ist, funktioniert die kombination ACM 5.2 Kabel mit Zihatec Hat wohl nicht. Zur Kontrolle einfach den Strom messen, wenn der mehr als 9mA ist, kann es mit dem Zihatec nicht klappen weil er dann dauerhaft glaubt ein Signal zu erkennen.

                            -Das Kabel ist scheinbar für den Hugo! Es reicht, die unteren 2 Pins mit beliebiger polrichtung direkt an den Zihatec Hat zu hängen. Das ist denke ich eine wichtige Info für Leute die ihren Zähler auslesen wollen, weil das doofe Kabel ja doch gleich mal 80€ kostet! Was genau die Elektronik am ACM5.2 noch tut würde mich aber trotzdem interessieren, vermutlich aber nur ein bisschen Filterung, weil an M-Bus ja grundsätzlich recht viele Geräte parallel hängen könnten und auch die (ungeschirmten) Kabel entsprechend lang sein können.

                            Anbei noch zwei Bilder dazu. Mit beiden gezeigten Anschlussvarianten klappt das einwandfrei.

                            Danke nochmal für die Tipps und die großartige Vorarbeit hier!

                            IMG_2168.JPG
                            IMG_2170.JPG

                            PhunkafizerP 1 Antwort Letzte Antwort
                            0
                            • C CWie

                              @floxd

                              Das Kabel war Schuld!

                              Wenn ich das "Elster ACM 5.2 M-Bus" Kabel an meinen Zähler stecke, zieht das ganze am M-Bus dauerhaft knapp 14mA. Der Zihatec Hat ist aber für maximal 6 Lasteinheiten, also 9mA ausgelegt. (Info von Herrn Wendt von Zihatec)

                              Ich hatte am Zähler noch vom Netzbetreiber so ein Kabelloses Ding zum Zähler auslesen, das aber scheinbar nicht funktioniert (wurde trotzdem immer manuell abgelesen).

                              An dem Kabel ist mir aufgefallen, dass es im Gegensatz zum ACM 5.2, welches wohl NUR für das Zählwerk AE5 ist (bei meinem Zähler, der zumindest nach Bildvergleichen ein AE2 oder AE3 haben dürfte klappt es ja leider nicht. Elster ist da leider sehr undurchsichtig) keinerlei zusätzliche Elektronik auf der zwischenplatine ist. Also da sind wirklich einfach nur die 2 Kabeladern direkt an mit den 2 unteren Pins verbunden.

                              Ich habe also einfach mal frech ausprobiert was passiert wenn ich dieses Kabel an den Hat klemme, und siehe da:
                              Damit klappt das sofort und einwandfrei!

                              Nächster Schritt war natürlich noch auszuprobieren ob das auch überhaupt nur mit zwei Jumperkabeln klappt, und nachdem am anderen Kabel ja sonst eh nichts drauf war, tut es das natürlich auch brav :)

                              Die Lehren daraus:
                              -Bei älteren BK-G4 mit dem Zählwerk das außenrum nicht transparent ist, funktioniert die kombination ACM 5.2 Kabel mit Zihatec Hat wohl nicht. Zur Kontrolle einfach den Strom messen, wenn der mehr als 9mA ist, kann es mit dem Zihatec nicht klappen weil er dann dauerhaft glaubt ein Signal zu erkennen.

                              -Das Kabel ist scheinbar für den Hugo! Es reicht, die unteren 2 Pins mit beliebiger polrichtung direkt an den Zihatec Hat zu hängen. Das ist denke ich eine wichtige Info für Leute die ihren Zähler auslesen wollen, weil das doofe Kabel ja doch gleich mal 80€ kostet! Was genau die Elektronik am ACM5.2 noch tut würde mich aber trotzdem interessieren, vermutlich aber nur ein bisschen Filterung, weil an M-Bus ja grundsätzlich recht viele Geräte parallel hängen könnten und auch die (ungeschirmten) Kabel entsprechend lang sein können.

                              Anbei noch zwei Bilder dazu. Mit beiden gezeigten Anschlussvarianten klappt das einwandfrei.

                              Danke nochmal für die Tipps und die großartige Vorarbeit hier!

                              IMG_2168.JPG
                              IMG_2170.JPG

                              PhunkafizerP Offline
                              PhunkafizerP Offline
                              Phunkafizer
                              schrieb am zuletzt editiert von
                              #22

                              Hallo,

                              ich habe mir ein Modul entwickelt das direkt auf den Absolut Encoder aufgesteckt wird und über WLAN die Messwerte z. B. an einen MQTT Broker übermittelt, vielleicht interessiert das hier jemanden:

                              https://www.seegel-systeme.de/2022/12/21/wlan-acm-esp-kommunikationsmodul-fuer-elster-gaszaehler/

                              Schöne Grüße
                              Stefan

                              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

                                N Offline
                                N Offline
                                nebuk
                                schrieb am zuletzt editiert von
                                #23

                                @floxd
                                Hallo, bin auch ein "Geschädigter" der Eslter Gaszähler BK-G4AT, AE5 Typ, mit transparenter Abdeckung des Zählers. Das Gerät will seine Daten einfach nicht rausrücken :(
                                Hab mir das M-Bus Interface aus https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf gebaut.
                                Das Interface funktioniert ( mit Oszy geprüft, Signale sehen gut aus ... ).
                                Ich habe kein ACM 5.2 Anschluss gekauft, die MBUS+ / MBUS- Anschlüsse aus der Interface direkt an den unteren Zähler Pins angeschlossen. Es funktioniert nicht, kein Antwort aus dem Zähler. Die Stromaufnahme ist auch nicht normal, über 90 mA, hab es auch schnell getrennt.
                                Hat jemand Informationen ob der teure Anschlussadapter ( ACM 5.2 ) gekauft werden muss ? Findet im Anschlussadapter irgendeine Signalumwandlung ?

                                Wenn ja, welche Pins werden danach angesteuert ?

                                Grüße
                                Nebuk

                                F 1 Antwort Letzte Antwort
                                0
                                • N nebuk

                                  @floxd
                                  Hallo, bin auch ein "Geschädigter" der Eslter Gaszähler BK-G4AT, AE5 Typ, mit transparenter Abdeckung des Zählers. Das Gerät will seine Daten einfach nicht rausrücken :(
                                  Hab mir das M-Bus Interface aus https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf gebaut.
                                  Das Interface funktioniert ( mit Oszy geprüft, Signale sehen gut aus ... ).
                                  Ich habe kein ACM 5.2 Anschluss gekauft, die MBUS+ / MBUS- Anschlüsse aus der Interface direkt an den unteren Zähler Pins angeschlossen. Es funktioniert nicht, kein Antwort aus dem Zähler. Die Stromaufnahme ist auch nicht normal, über 90 mA, hab es auch schnell getrennt.
                                  Hat jemand Informationen ob der teure Anschlussadapter ( ACM 5.2 ) gekauft werden muss ? Findet im Anschlussadapter irgendeine Signalumwandlung ?

                                  Wenn ja, welche Pins werden danach angesteuert ?

                                  Grüße
                                  Nebuk

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

                                  @nebuk Da kann ich Dir leider nicht helfen. Beim AE2 / AE3 scheint es (s.o.) auch ohne das Modul zu klappen (da hier auch keine weitere Technik verbaut ist). Beim "ACM 5.2 M-Bus Wire" für den AE5 ist Technik verbaut (siehe mein Photo oben), was genau da passiert :man-shrugging: vielleicht kann Dir da @PHUNKAFIZER helfen? Er scheint sich gut mit den AE auszukennen! Lg Florian

                                  N 1 Antwort Letzte Antwort
                                  0
                                  • F FloxD

                                    @nebuk Da kann ich Dir leider nicht helfen. Beim AE2 / AE3 scheint es (s.o.) auch ohne das Modul zu klappen (da hier auch keine weitere Technik verbaut ist). Beim "ACM 5.2 M-Bus Wire" für den AE5 ist Technik verbaut (siehe mein Photo oben), was genau da passiert :man-shrugging: vielleicht kann Dir da @PHUNKAFIZER helfen? Er scheint sich gut mit den AE auszukennen! Lg Florian

                                    N Offline
                                    N Offline
                                    nebuk
                                    schrieb am zuletzt editiert von
                                    #25

                                    @Phunkafizer
                                    wenn ich fragen darf, was ist bei den BK-G4AT ( AE.05:05.01:01.01 Encoder ) anders als bei den AE02/AE03 ?
                                    Deine Schaltung scheint zu auch ohne den ACM Adapter zu funktionieren, auch für den AE05 Encoder. Kannst vielleicht kurz etwas dazu sagen ?
                                    Wenn ich den MBUS + / MBUS- an den unteren Pins anschließe, kann ich senden ( ist auf dem Oszy schön zu sehen ), es kommt aber keine Antwort, ebenso ist der gezogene Strom nicht OK, über 100 mA. Darum habe ich die Tests auch abgebrochen, das ist für MBUS nicht normal.
                                    Entweder ist beim Zähler der Encoder defekt oder es findet im ACM Adapter eine Signalumwandlung statt. Wie auch immer, Honeywell/Elster haben sich hier etwas einfallen lassen, den Privatanwender an der Kasse zu bieten für etwas was ein offenes System sein sollte...

                                    Grüße
                                    Nebuk

                                    PhunkafizerP 1 Antwort Letzte Antwort
                                    0
                                    • N nebuk

                                      @Phunkafizer
                                      wenn ich fragen darf, was ist bei den BK-G4AT ( AE.05:05.01:01.01 Encoder ) anders als bei den AE02/AE03 ?
                                      Deine Schaltung scheint zu auch ohne den ACM Adapter zu funktionieren, auch für den AE05 Encoder. Kannst vielleicht kurz etwas dazu sagen ?
                                      Wenn ich den MBUS + / MBUS- an den unteren Pins anschließe, kann ich senden ( ist auf dem Oszy schön zu sehen ), es kommt aber keine Antwort, ebenso ist der gezogene Strom nicht OK, über 100 mA. Darum habe ich die Tests auch abgebrochen, das ist für MBUS nicht normal.
                                      Entweder ist beim Zähler der Encoder defekt oder es findet im ACM Adapter eine Signalumwandlung statt. Wie auch immer, Honeywell/Elster haben sich hier etwas einfallen lassen, den Privatanwender an der Kasse zu bieten für etwas was ein offenes System sein sollte...

                                      Grüße
                                      Nebuk

                                      PhunkafizerP Offline
                                      PhunkafizerP Offline
                                      Phunkafizer
                                      schrieb am zuletzt editiert von
                                      #26

                                      Hallo, ich versuche mal etwas mit den Modul- und Protokollbezeichnungen aufzuräumen. Entscheidend für die Art des elektronischen Anschlusses ist das "A" nach der Modellbezeichnung, z. B. BK-G4A. Die Modelle mit einem A sind mit einer ACM Schnittstelle ausgestattet. Auf diese ACM Schnittstelle können verschiedene Kommunikationsmodule (M-Bus wire, M-Bus wireless, SCR, ...), oder auch das WiFi ACM-ESP Modul aufgesteckt werden. Elektrisch gesehen ist diese ACM Schnittstelle eine Art UART Interface, ein einfacher USB TTL Wandler ist allerdings nicht ausreichend, da die Zählerelektronik über den TX Pin mit Strom versorgt wird und deswegen noch ein Stromtreiber in die Schaltung gehört. Auf der physischen ACM Schnittstelle können nun noch softwareseitig verschiedene Protokolle ablaufen, u. A. das M-Bus Protokoll. Welches Protokoll verwendet wird geht aus der Protokollbezeichnung (AE...) auf dem Zähler hervor.
                                      Die Zähler ohne dem "A" haben physisch eine M-Bus Schnittstelle. Diese ist elektrisch nicht kompatibel zur ACM Schnittstelle, obwohl der gleiche Stecker verwendet wird. Beim M-Bus werden nur 2 Leitungen verwendet, die für Stromversorgung, Sende- und Empfangsdaten benutzt werden.
                                      @nebuk
                                      Die Bezeichnungen AE.... bezeichnen nicht den Encoder, sondern eher das Protokoll. Z. B. können die Encoder AE2, AE3 oder AE5 das M-Bus Protokoll (nicht die elektrische Schnittstelle M-Bus) sprechen. Die Bezeichnung BK-G4AT bezeichnet den ganzen Zähler, also Balgengaszähler in einer bestimmten Größe (4) mit ACM Schnittstelle (A) und temperaturkompensierten Messwerten (T). Meine Schaltung funktioniert nicht nur ohne ACM Adapter, sondern IST ein ACM Adapter. Wenn Du einen BK-G4AT Zähler hast kannst Du entweder einen ACM Adapter Deiner Wahl nehmen, ODER den WiFi ACM-ESP.

                                      Gruß Stefan

                                      N 1 Antwort Letzte Antwort
                                      0
                                      • PhunkafizerP Phunkafizer

                                        Hallo, ich versuche mal etwas mit den Modul- und Protokollbezeichnungen aufzuräumen. Entscheidend für die Art des elektronischen Anschlusses ist das "A" nach der Modellbezeichnung, z. B. BK-G4A. Die Modelle mit einem A sind mit einer ACM Schnittstelle ausgestattet. Auf diese ACM Schnittstelle können verschiedene Kommunikationsmodule (M-Bus wire, M-Bus wireless, SCR, ...), oder auch das WiFi ACM-ESP Modul aufgesteckt werden. Elektrisch gesehen ist diese ACM Schnittstelle eine Art UART Interface, ein einfacher USB TTL Wandler ist allerdings nicht ausreichend, da die Zählerelektronik über den TX Pin mit Strom versorgt wird und deswegen noch ein Stromtreiber in die Schaltung gehört. Auf der physischen ACM Schnittstelle können nun noch softwareseitig verschiedene Protokolle ablaufen, u. A. das M-Bus Protokoll. Welches Protokoll verwendet wird geht aus der Protokollbezeichnung (AE...) auf dem Zähler hervor.
                                        Die Zähler ohne dem "A" haben physisch eine M-Bus Schnittstelle. Diese ist elektrisch nicht kompatibel zur ACM Schnittstelle, obwohl der gleiche Stecker verwendet wird. Beim M-Bus werden nur 2 Leitungen verwendet, die für Stromversorgung, Sende- und Empfangsdaten benutzt werden.
                                        @nebuk
                                        Die Bezeichnungen AE.... bezeichnen nicht den Encoder, sondern eher das Protokoll. Z. B. können die Encoder AE2, AE3 oder AE5 das M-Bus Protokoll (nicht die elektrische Schnittstelle M-Bus) sprechen. Die Bezeichnung BK-G4AT bezeichnet den ganzen Zähler, also Balgengaszähler in einer bestimmten Größe (4) mit ACM Schnittstelle (A) und temperaturkompensierten Messwerten (T). Meine Schaltung funktioniert nicht nur ohne ACM Adapter, sondern IST ein ACM Adapter. Wenn Du einen BK-G4AT Zähler hast kannst Du entweder einen ACM Adapter Deiner Wahl nehmen, ODER den WiFi ACM-ESP.

                                        Gruß Stefan

                                        N Offline
                                        N Offline
                                        nebuk
                                        schrieb am zuletzt editiert von nebuk
                                        #27

                                        Naja, es scheint doch etwas anders zu sein.
                                        Ich werde in den sauren Apfel beißen müssen und mir ein ACM-Modul kaufen.

                                        Grüße
                                        Nebuk

                                        N 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

                                          D Offline
                                          D Offline
                                          Duncan02
                                          schrieb am zuletzt editiert von
                                          #28

                                          @floxd Danke für den ausführlichen Post und python3 mbus-serial-request-data.py -d -a 0 /dev/ttyUSB2 läuft bei mir, aber iobroker will gar nicht.

                                          9f1ce177-919e-4d79-aa48-b88518876ec6-grafik.png

                                          1758640d-a6b4-4b36-ab5e-23847e7c2ce5-grafik.png

                                          habe leider keine Idee mehr ... Ihr?

                                          Hier noch der Beweis das es funktioniert:
                                          8c8f6c85-42ef-488e-9d15-92b605238c1f-grafik.png

                                          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

                                          803

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          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