@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
:
Am einfachsten mit dem Raspberry Pi Imager (habe hier das Raspberry PI OS Bullseye 64-bit verwendet)

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:

(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)

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.

um die Daten jetzt noch in iobroker zu bekommen im M-bus Adapter folgende Einstellungen:

und auf dem zweiten Reiter "Geräte" unter ID die oben ermittelte Adresse (bei mir 0) eintragen

...und den Adapter starten. Unter Objekte findet sich jetzt der Zählerstand 

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