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

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

  • 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.1k 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.
  • 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

                      523

                      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