Hallo zusammen
Mich hats lange kalt gelassen, aber die doch immer wieder falschen Werte nerven schon ganz schön.
Ich habe die Kamera so positioniert gehabt, dass sie von unten fotografiert hat, da ich nicht mit zusätzlichem Licht arbeiten wollte und weil es sonst reflektionen gabe. Polfilter hat geholfen, aber nicht gut genug. Und dann hat man mit schräger Kamera erst recht Theater mit den Zahlen, da der unterste Teil nicht sichtbar ist. Ich hatte 2 AI on the Edge, 1x Gas und 1x Wasser.
Die KI Variante ist meines Erachtens eine Super Idee, aber das wollte ich so nicht umsetzen.
Die Technischen Betriebe haben eine Fernablesung. Da ist der M-Bus fix verkabelt. Kein wM-Bus. Und dann habe ich die KI mal etwas zu Hilfe genommen.
Kurz: Ich lese via eines ESP32 den M-Bus aus und stelle die Zahlen in HA via MQTT rein. Fertig. Zuverlässig. Sauber. Kein Theater mehr.
Dafür wurden von der KI 4 Dateien gemacht, die ich via esphome kompiliert und geflasht habe.
(Ja, schon wieder hat die KI ein Programm für mich gemacht, was funktioniert, und ich so nie im Leben hingekriegt hätte, und das in der kurzen Zeit.)
Es ist etwas komplizierter mit den Modulen. Da ich einen M-Bus Slave genommen habe um am M-Bus zu “sniffen” und dann damit auch pollen wollte, da war das Modul nicht geeignet für. So musste ein M-Bus Master her.
Aber da der Elektrozähler der Technischen Werke schon der Master ist, geht es nicht, 2 Master zu haben. Die Werke pollen um Mitternacht. (Weiss ich vom “sniffen”)
Somit habe ich ein 2 Poliges Relais, welches um 23.45 - 00:15 zieht und den M-Bus der Werke schaltet, und sonst ist stromlos und immer mein Bus aktiv. Ich polle minütlich.
Ach ja, der Master muss mit 36V gespiesen werden. Ich habe ein Netzteil mitbestellt, aber dann mal versucht, ob das auch geht, indem ich den M-Bus der Werke als Speisung nehmen kann. Das geht in meinem Fall. Der Bus der Werke hat wohl nur 25V. Aber eben, es geht.
[22:36:38.664][D][mbus:504]: 68 1B 1B 68 08 01 72 19 10 70 14 E6 1E 3C 07 86
[22:36:38.664][D][mbus:504]: 00 00 00 0C 78 19 10 70 14 0C 13 89 25 23 01 17
[22:36:38.664][D][mbus:504]: 16
[22:36:38.664][I][mbus:314]: Frame #2: L=27 C=0x08 Adr=1 CI=0x72 CS=OK
[22:36:38.664][I][mbus:333]: ↑ RSP_UD ← Slave 1
[22:36:38.671][I][mbus:343]: Serial: 14701019
[22:36:38.677][I][mbus:351]: Hersteller: GWF | Medium: Wasser | Status: 0x00
[22:36:38.687][D][mbus:441]: DIF=0x0C VIF=0x78 val=14701019
[22:36:38.688][I][mbus:411]: >>> WASSER: 1232.589 m3
[22:36:38.692][I][mbus:287]: ✓ Daten von Adresse 1
[22:36:38.722][I][mbus:160]: NKE → Adr 3
[22:36:38.861][I][mbus:273]: Frame #3: ACK ← Slave (0xE5)
[22:36:38.865][I][mbus:276]: ACK erhalten — sende REQ_UD2
[22:36:38.872][I][mbus:177]: REQ_UD2 → Adr 3
[22:36:39.171][D][mbus:504]: 68 1B 1B 68 08 03 72 53 14 01 21 E6 1E 36 03 86
[22:36:39.172][D][mbus:504]: 00 00 00 0C 78 53 14 01 21 0C 14 89 90 62 01 72
[22:36:39.172][D][mbus:504]: 16
[22:36:39.172][I][mbus:314]: Frame #4: L=27 C=0x08 Adr=3 CI=0x72 CS=OK
[22:36:39.172][I][mbus:333]: ↑ RSP_UD ← Slave 3
[22:36:39.172][I][mbus:343]: Serial: 21011453
[22:36:39.172][I][mbus:351]: Hersteller: GWF | Medium: Gas | Status: 0x00
[22:36:39.178][D][mbus:441]: DIF=0x0C VIF=0x78 val=21011453
[22:36:39.178][I][mbus:420]: >>> GAS: 6290.890 m3
[22:36:39.178][I][mbus:287]: ✓ Daten von Adresse 3
[22:36:39.197][I][mbus:200]: Poll abgeschlossen
[22:36:39.225][I][mbus:201]: Wasser: 1232.589 m3
[22:36:39.225][I][mbus:202]: Gas: 6290.890 m3
So müsste das gehen.
Läuft seit heute Abend.
Ich hoffe, es hilft jemandem weiter. Wenn die M-Bus geräte ohne Fernablesung verbaut sind, dann braucht man das Relais nicht, dann baut man sich einfach selbst einen Master und dann pollt man wie man will.
Komponenten:
M-Bus: MIKROE-3880, M-Bus Master Click (Distrelec.ch)
ESP32: ESP32-Dev Kit mit USB C (Braucht UART (RX/TX), GPIO für Relais) (Distrelec.ch)
Relais: SunFounder TS0010D (von Digikey.ch)
Netzteil 36V für den M-Bus: TRE36A360-01E03 VI (von Digikey.ch)