Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Gas Zähler BK-G4 AT - mit M-Bus auslesen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Phunkafizer
      Phunkafizer @CWie last edited by

      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 Reply Last reply Reply Quote 0
      • N
        nebuk @FloxD last edited by

        @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 Reply Last reply Reply Quote 0
        • F
          FloxD @nebuk last edited by

          @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 🤷‍♂️ vielleicht kann Dir da @PHUNKAFIZER helfen? Er scheint sich gut mit den AE auszukennen! Lg Florian

          N 1 Reply Last reply Reply Quote 0
          • N
            nebuk @FloxD last edited by

            @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

            Phunkafizer 1 Reply Last reply Reply Quote 0
            • Phunkafizer
              Phunkafizer @nebuk last edited by

              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 Reply Last reply Reply Quote 0
              • N
                nebuk @Phunkafizer last edited by nebuk

                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 Reply Last reply Reply Quote 0
                • D
                  Duncan02 @FloxD last edited by

                  @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 Reply Last reply Reply Quote 0
                  • N
                    nebuk @nebuk last edited by nebuk

                    Hallo,
                    so Leute, lasst euch nicht von irgendein Mist täuschen.
                    Der ACM-Adapter für Gaszähler mit Encoder AE5 ist nichts anders als eine teures MBUS-TTL Adapter. Da drin ist ein NCN5151 IC verbaut, der macht genau das!
                    Wenn der Zähler im eigenen Keller mit ein R-Pi & Co ausgelesen wird, braucht den ACM-Adapter kein Mensch.
                    Ein USB-TTL Adapter für 1,5 Euro tut es auch.
                    Die Pinbelegung am 4-Poligen Stecker (siehe unten )
                    Links Oben: +3,3V (oder 5V)
                    Rechts Oben: TX
                    Links Unten: RX
                    Rechts Unten: GND

                    Bei mir was die Busadresse 0 und als Baudrate 2400 eingestellt.
                    NCN5151.jpg Anschluss_2.jpg Anschluss_1.jpg

                    Mit dem Raspberry Pi auch keine Probleme.

                    Screenshot 2023-03-12 122751.jpg

                    Grüße
                    Nebuk

                    Phunkafizer Chillkroete1206 S 3 Replies Last reply Reply Quote 1
                    • Phunkafizer
                      Phunkafizer @nebuk last edited by

                      Hallo,

                      so Leute, lasst euch nicht von irgendein Mist täuschen.

                      Ich bin mir nicht sicher von was Du Dich getäuscht fühlst. Der Elster ACM 5.2 M-Bus Wire ist genau das was es verspricht: Ein Adapter Modul der ACM Schnittstelle des Zählers zu einem M-Bus. Nicht mehr, nicht weniger. Darin ist z. B. der Chip verbaut den Du erwähnt hast, bei dem Modul das ich mal auf dem Tisch hatte war es ein TSS721A von TI, scheint aber recht ähnlich zu sein. Zusätzlich ist außenrum noch ein Spannungsregler, der erwähnte Treiber für den TX Pin und Schutzbeschaltung. Wenn Du keinen M-Bus brauchst, weil Du einfach nur in unmittelbarer nähe das TTL Signal an einen Raspberry o. ä. geben willst, kann, wie Du gezeigt hast, ein USB TTL Wandler funktionieren. Obgleich das nicht unbedingt den elektrischen Anforderungen aus dem Datenblatt der ACM Schnittstelle gerecht wird.
                      Das WiFi ACM-ESP bietet sich an wenn man keine Stromversorgung in der nähe des Zählers hat und/oder eine Plug-and-Play Lösung haben möchte welche direkt die Messwerte ins WiFi-Netz bringt.
                      Übrigens kann man als Adresse auch 0xFE nehmen, dann meldet sich der Zähler unabhängig welche Adresse er hat.
                      Gruß
                      Stefan

                      1 Reply Last reply Reply Quote 0
                      • Chillkroete1206
                        Chillkroete1206 @nebuk last edited by

                        @nebuk Sehr interessant!
                        Könntest du bitte noch ein wenig darauf eingehen, wie du das softwaretechnisch gelöst hast?

                        Am liebsten würde ich die Daten vom USB-TTL Adapter an einen MQTT broker senden.

                        Besten Dank!

                        P 1 Reply Last reply Reply Quote 0
                        • S
                          semm0 @nebuk last edited by

                          @nebuk Hi Nebuk, vielen Dank für den Beitrag. Kannst du weitere Details mit uns teilen? Ich habe denselben Zähler und beisse mir die Zähne aus, Werte mittels ESP und UART auszulesen.. Das wäre genial, vielen Dank!

                          1 Reply Last reply Reply Quote 0
                          • BV-ioBroker
                            BV-ioBroker last edited by

                            Hallo Zusammen,

                            nachdem ich mir mühselig alles zusammen gesucht habe um meinen Gaszähler in meine ioBroker Umgebung zu integrieren, möchte ich euch kurz meinen Weg zum Ziel beschreiben.

                            Folgende Hardware/Software Umgebung habe ich:

                            • Honeywell BK-G4AT – Encoder AE.05:05.01:01.01
                            • RasberyPi 4 im Hutschienengehäuse, Debian 11 (Bullseye)
                            • ioBroker v6.12.0 / Node.js v18.17.1 / NPM 9.6.7

                            Benötigte ioBroker Adpter:

                            • M-Bus Adapter v2.5.0

                            Um den Gaszähler in ioBroker zu integrieren benötigt ihr ein USB-TTL Adapter.
                            Ich benutze den USB - TTL Adpter von DSD Tech SH-U09C2 - Modell: SH-U09C2, Hauptchip: FTDI FT232RL

                            Dieser USB-Adapter wurde vom installierten Debian auf meinem Rpi4 ohne Probleme erkannt und als ttyUSB1 Device aktiviert (ttyUSB0 war schon von meinem KNX Busware Adapter belegt).

                            Der USB-TTL Adapter hat einen Jumper um den TTL-Pegel (1,8V / 3,3V / 5V) einzustellen. Hier den Pegel auf 5V einstellen.

                            Pinbelegung 4-Pol Schnittstelle am Gaszähler GK-B4AT (Draufsicht, wenn die Schutzkappe entfernt ist)

                            2x	x3
                            1x	x4
                            

                            links unten (1) = RxD
                            links oben (2) = VCC-5V
                            rechts oben (3) = TxD
                            rechts unten (4) = GND

                            (Danke an Nebuk für die Klasse Vorarbeit)

                            Zähler --> USB-TTL Adapter
                            1 = RxD --> TxD am TTL Adapter
                            2 = VCC-5V --> VCC am TTL Adapter
                            3 = TxD --> RxD am TTL Adapter
                            4 = GND --> GND am TTL Adapter
                            RTS am TTL Adapter nicht belegt!
                            CTS am TTL Adapter nicht belegt!

                            Für die Verbindung zwischen Gaszähler und USB-TTL Adapter habe ich ein (J-Y(St)Y 2x2x0,8) Kabel benutzt welches ich auch für meine KNX Umgebung verwende. Da es natürlich kein vorkonfektioniertes Kabel inkl. Stecker/Buchsen gibt muss das natürlich selber gebastelt werden.

                            20231213_230123.jpg

                            20231213_230138.jpg

                            Folgende M-Bus Adapter Einstellungen habe ich nach der Adapter Installation vorgenommen:

                            Reiter – Einstellungen:
                            M-Bus Gateway- IP = serial
                            Serielle Schnittstelle = /dev/ttyUSB1 (bitte an eure Umgebung anpassen!)
                            Serielle Baudrate = 2400
                            Standard-Datenaktualisierungsintervall (Sek) = 60

                            Reiter – Geräte:
                            ID = 0
                            Daten-Aktualisierungsintervall (Sek) = 60

                            Nach dem Abspeichern der Einstellungen sind auch schon die ersten Daten in ioBroker eingetrudelt. Diese können nun nach belieben weiter verarbeitet werden.
                            M-Bus_Adapter-Daten.jpg

                            Vielleicht hilft es ja dem ein oder anderen 😉
                            Viel Erfolg beim Nachmachen.

                            J E 2 Replies Last reply Reply Quote 0
                            • P
                              PaiRo @Chillkroete1206 last edited by PaiRo

                              @chillkroete1206 ich habe es über mqtt gelöst mit der Hilfe von: https://the78mole.de/taking-your-m-bus-online-with-mqtt/
                              Ich musste im Skript die

                              \
                              

                              hier entfernen:

                                      id          : .MBusData.SlaveInformation.Id, \
                                      manufacturer: .MBusData.SlaveInformation.Manufacturer, \
                                      medium      : .MBusData.SlaveInformation.Medium, \
                              
                              1 Reply Last reply Reply Quote 0
                              • J
                                jowo65 @BV-ioBroker last edited by

                                @bv-iobroker Vielen Dank für die tolle Beschreibung.
                                Hat bei mir einwandfrei funktioniert.

                                Viele Grüße
                                Jörg

                                1 Reply Last reply Reply Quote 0
                                • E
                                  energiezähler @BV-ioBroker last edited by

                                  @bv-iobroker said in Gas Zähler BK-G4 AT - mit M-Bus auslesen:

                                  Für die Verbindung zwischen Gaszähler und USB-TTL Adapter habe ich ein (J-Y(St)Y 2x2x0,8) Kabel benutzt welches ich auch für meine KNX Umgebung verwende. Da es natürlich kein vorkonfektioniertes Kabel inkl. Stecker/Buchsen gibt muss das natürlich selber gebastelt werden.

                                  Hallo,
                                  ich habe eine Frage zu der Platine auf deinem Bild welche am Gaszähler hängt.
                                  Ist das nur ein Adapter von Jumperkabel auf Schraubklemmen, oder ist da noch eine Elektronik dahinter?

                                  Ich möchte ebenfalls einen M-Bus Gaszähler auslesen via raspi / iobroker.

                                  danke

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    Ralf7938 last edited by

                                    Hallo zusammen,

                                    vielen Dank für die ganzen Infos hier. Habt ihr Ansätze, wie man die Funktionalität des WiFi ACM-ESP mit einem ESP32 (mit Netzstromversorgung) nachbauen kann? Nach meinem Verständnis müsste der ESP32 hardwaremäßig alles bereitstellen, um die ACM-Schnittstelle anzuzapfen und den Zählerstand über MQTT bereit zu stellen, oder?

                                    Wie gehe ich da softwaremäßig dran? Kann das Tasmota?

                                    Versteht mich nicht falsch: Der WiFi ACM-ESP scheint klasse zu sein mit Batteriebetrieb, deep sleep, etc. und hat damit sicher seine Daseinsberechtigung. Ich frage mich aber, ob ich für etwas 70€ zahlen muss, wenn ich das mit einem der gefühlt 20 ESP32, die ich hier noch rumliegen habe, nachbauen kann (und Bock drauf habe...).

                                    Besten Dank für euren Input!

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    467
                                    Online

                                    31.7k
                                    Users

                                    79.8k
                                    Topics

                                    1.3m
                                    Posts

                                    14
                                    37
                                    7541
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo