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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    930

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben Hardware
52 Beiträge 23 Kommentatoren 12.2k Aufrufe 21 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.
  • HomoranH Homoran

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

    welche Nachteile hat deine Lösung

    so ganz verstehe ich deine Fragen nicht.
    Genau wie im anderen Thread.

    Hier fragst du hier anscheinend den falschen.
    erst recht mit

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

    welche Vorteile die zuvor angebotene?

    @benno würde seine Methode nicht vorstellen wenn sie nichts taugt.

    D Offline
    D Offline
    dojodojo
    schrieb am zuletzt editiert von dojodojo
    #41

    @homoran
    Die Benno Lösung erscheint mir erheblich einfacher, als die zuvor vorgestellten Lösungen.

    @Benno-B
    Kann man deine Lösung https://github.com/BennoB666/BK-G4AT2MQTT auf jeden mBus Zähler übertragen?

    Den ESP32-C3 Super Mini WiFi & Bluetooth Modul mit USB-C habe ich bisher nicht gekannt.

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      moritzabcde
      schrieb am zuletzt editiert von moritzabcde
      #42

      Hey!
      Ich habe gerade einen BK-G4 Ac eingebaut bekommen und würde ihn nun gerne bei ioBroker einbinden. Vermutlich lacht ihr wegen der Frage: Darf man die "Plombe" unten rechts entfernen/zerstören, um an den Anschluss zu kommen? BK-G4Ac.jpg
      Wie habt ihr das gemacht? Dieses PDF zur Installation eines Funkmoduls habe ich bei Pipersberg gefunden, aber da wird von einer Ersatzplombe gesprochen.

      P 1 Antwort Letzte Antwort
      0
      • M moritzabcde

        Hey!
        Ich habe gerade einen BK-G4 Ac eingebaut bekommen und würde ihn nun gerne bei ioBroker einbinden. Vermutlich lacht ihr wegen der Frage: Darf man die "Plombe" unten rechts entfernen/zerstören, um an den Anschluss zu kommen? BK-G4Ac.jpg
        Wie habt ihr das gemacht? Dieses PDF zur Installation eines Funkmoduls habe ich bei Pipersberg gefunden, aber da wird von einer Ersatzplombe gesprochen.

        P Offline
        P Offline
        peterfido
        schrieb am zuletzt editiert von peterfido
        #43

        @moritzabcde Plomben entfernen ist strafbar. Ruf den Energieversorger / Messstellenbetreiber an und frag, ob Du da dran darfst, oder jemand rauskommt und dein Kabel anschließt. Die Antwort ist mit sehr hoher Wahrscheinlichkeit ein Nein.

        Gruß

        Peterfido


        Proxmox auf Intel NUC12WSHi5
        ioBroker: Debian (VM)
        CCU: Debmatic (VM)
        Influx: Debian (VM)
        Grafana: Debian (VM)
        eBus: Debian (VM)
        Zigbee: Debian (VM) mit zigbee2mqtt

        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          Interflexus
          schrieb am zuletzt editiert von
          #44

          Habe benno B´s Lösung nachgebaut, funktioniert einwandfrei. Sehr simpel im Aufbau. Danke an Oli.

          VG Jens

          D 1 Antwort Letzte Antwort
          0
          • I Interflexus

            Habe benno B´s Lösung nachgebaut, funktioniert einwandfrei. Sehr simpel im Aufbau. Danke an Oli.

            VG Jens

            D Offline
            D Offline
            dojodojo
            schrieb am zuletzt editiert von dojodojo
            #45

            @interflexus Hast Du für uns ein Bild von deinem Gaszähler?

            Benno B ist Oli, richtig?

            Mit welcher Software, auch das Release flasht Ihr?

            I 1 Antwort Letzte Antwort
            0
            • D dojodojo

              @interflexus Hast Du für uns ein Bild von deinem Gaszähler?

              Benno B ist Oli, richtig?

              Mit welcher Software, auch das Release flasht Ihr?

              I Offline
              I Offline
              Interflexus
              schrieb am zuletzt editiert von Homoran
              #46

              @dojodojo

              Zählerbild:edited_IMG_20250901_174653205_AE.jpg

              Software ist platformio.io. Ist beschrieben auf Benno B´s github-Link.

              VG Jens

              HomoranH 1 Antwort Letzte Antwort
              0
              • I Interflexus

                @dojodojo

                Zählerbild:edited_IMG_20250901_174653205_AE.jpg

                Software ist platformio.io. Ist beschrieben auf Benno B´s github-Link.

                VG Jens

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #47

                @interflexus setz das Bild nochmal rein! Aber nicht nur die Klartext-ID unkenntlich machen! da gibt es noch weitere :-)

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • I Offline
                  I Offline
                  Interflexus
                  schrieb am zuletzt editiert von
                  #48

                  Zählerbild - zweiter Versuch:IMG_20250922_172257034~2.jpg

                  D 1 Antwort Letzte Antwort
                  1
                  • I Interflexus

                    Zählerbild - zweiter Versuch:IMG_20250922_172257034~2.jpg

                    D Offline
                    D Offline
                    dojodojo
                    schrieb am zuletzt editiert von
                    #49

                    @interflexus Vielen Dank

                    1 Antwort Letzte Antwort
                    0
                    • Benno BB Benno B

                      Ich habe unter https://github.com/BennoB666/BK-G4AT2MQTT einen Quellcode für eine Firmware welche mit einem ESP32 ohne zusätzliche Hardware den Zählerstand ausließt und per MQTT an einen Server sendet.
                      Falls es jemanden hilt.
                      LG Oli

                      R Offline
                      R Offline
                      Rikus1234
                      schrieb am zuletzt editiert von Rikus1234
                      #50

                      @benno-b Danke Dir für den Code! Ich habe ihn in Arduino implementiert und einen Wemos S2 mini genutzt, da ich den noch rumliegen hatte. RX-, TX-Pins angepasst, aber leider erhielt ich da immer nur nicht auswertbare Rückgabewerte vom Zähler. Dann holte ich mir einen Wemos C3 mini wie Du ihn genutzt hast und es klappte. Wo wird das Problem liegen? Ich nutze schon ewig alle möglichen ESPs mit deren GPIOs und kenne mich da schon etwas aus... LG aus Dresden

                      1 Antwort Letzte Antwort
                      0
                      • Benno BB Benno B

                        Ich habe unter https://github.com/BennoB666/BK-G4AT2MQTT einen Quellcode für eine Firmware welche mit einem ESP32 ohne zusätzliche Hardware den Zählerstand ausließt und per MQTT an einen Server sendet.
                        Falls es jemanden hilt.
                        LG Oli

                        R Offline
                        R Offline
                        Rainer 2
                        schrieb am zuletzt editiert von
                        #51

                        @benno-b

                        Hallo,
                        ich habe mir nun auch den ESP32-C3 Super Mini besorgt.
                        Leider kenne ich mich damit überhaupt nicht aus.
                        Wie bekomme ich den Quellcode auf den ESP?

                        Gruß Rainer

                        1 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          he3
                          schrieb am zuletzt editiert von
                          #52

                          Hi, vielen Dank an @nebuk.
                          Ich hab den BK-G4AT mit dem Protokoll AE.05:05.01:01.01.
                          Ich habs zuerst auch mit nem Wemos probiert, allerdings ESP8266 (D1 mini). Das hab ich mit Arduino irgendwie nicht zum laufen gekriegt und hab mich dann inspirieren lassen von @bv-iobroker. Ich hatte vorher eh einen Pi Zero mit Magnetsensor genutzt und hab den dann einfach mal geupdatet und mit dem USB TTL Adapter läuft es jetzt top. Kosten für den Adapter 2,20€ (Prolific PL2303HX bei Berrybase).

                          anschluss.jpg

                          Angeschlossen sind wie schon beschrieben:
                          2 3
                          1 4

                          1 - grün - TX
                          2 - rot - 5V
                          3 - weiß - RX
                          4 - schwarz - GND

                          Das Python Script:

                          # ---------------------------- Bibliotheken -----------------------
                          import serial
                          import time
                          # ---------------------- Variablen und Inistialisierung -----------
                          # USB Wandler Seriell
                          PORT = "/dev/ttyUSB0"
                          
                          # Poll-Frame um Zaehler anzufragen
                          # Start | Control | Address | Checksum | Stopb
                          POLL_FRAME = bytes([0x10, 0x5B, 0x00, 0x5B, 0x16])
                          
                          # Serielle Schnittstelle
                          ser = serial.Serial(
                              port=PORT,
                              baudrate=2400,
                              bytesize=8,
                              parity=serial.PARITY_EVEN,
                              stopbits=1,
                              timeout=1
                          )
                          
                          # ---------------------- Funktionen -------------------------------
                          #Rohdaten umwandeln
                          def parse_gas_volume_bcd(data):
                              # Sucht nach DIF=0x0C und VIF=0x13 und dekodiert die folgenden 4 BCD-Bytes.
                              for i in range(len(data) - 6):
                                  if data[i] == 0x0C and data[i+1] == 0x13:
                                      b0 = data[i+2]
                                      b1 = data[i+3]
                                      b2 = data[i+4]
                                      b3 = data[i+5]
                          
                                      # BCD dekodieren
                                      digits = []
                                      for b in (b0, b1, b2, b3):
                                          digits.append(b & 0x0F)        # Low nibble
                                          digits.append((b >> 4) & 0x0F) # High nibble
                          
                                      # Zahl zusammensetzen
                                      value = 0
                                      factor = 1
                                      for d in digits:
                                          value += d * factor
                                          factor *= 10
                          
                                      # /1000 fuer m3
                                      return value / 1000.0
                                      
                              return None
                          
                          #Seriell abfragen
                          def read_mbus():  
                              # Daten anfragen
                              ser.reset_input_buffer()
                              ser.write(POLL_FRAME)
                              ser.flush()
                              time.sleep(0.1)
                              data = ser.read(256)
                              return data
                              
                          # ---------------------- Programmschleife -------------------------------
                          while True:
                              try:
                                  data = read_mbus()
                                  print("Rohdaten:", data)
                          
                                  if data:
                                      volume = parse_gas_volume_bcd(data)
                                      if volume is not None:
                                          print("Gasverbrauch:", volume, "m3")
                                      else:
                                          print("Kein Volumenwert gefunden")
                                  else:
                                      print("Keine Antwort")
                                      
                              except Exception as e:
                                  print("Except Fehler:", e)
                                  
                              time.sleep(15)
                          
                          
                          
                          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

                          742

                          Online

                          32.6k

                          Benutzer

                          82.2k

                          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