Wireless M-Bus in Home Assistant über ESP32 + MQTT – verteilte Empfänger, WebUI und automatische Erkennung

Das ist dunkellila und war eben das billigste PLA im Sale. Für technische Drucke ist die Farbe ja völlig egal. Ich hab auch welches in türkisblau.

Die Frauen sind immer begeistert. :smiley:

Die Lötstellen sind teilweise so angeschmort, weil ich mal wieder beim Anlöten die Pins von der falschen Seite gezählt hatte, und es wieder ab und dranbraten musste… :slight_smile:

Die Leitung ist Rangierdraht aus einer analogen Televonvermittlungsstelle. Dir Rolle benutze ich seit geschätzen 40 Jahren…

Ich bewundere deine Geduld – die habe ich zum Löten nicht mehr. Deshalb nutze ich nur fertige Platinen, und einen CC1101 hatte ich noch nie in der Hand.

Und was die Frauen angeht – die ändern sich wohl nie :wink:

Die haben eben nur nen 2mm Abstand, statt dem 2,54 Standard.

Normale Pfostenfeld Passen da nicht…

Inzwischen hab ich noch dies

und das

gebaut…

Mit Letzterem krieg ich auch die Zähler im 30m entfernten Nachbarhaus durch Sandsteinwände.

Mit vier Boards gleichzeitig empfange ich innerhalb von 24 Stunden 202 verschiedene Zähler, und zwar in T1 und S1: 179 in T1 und 23 in S1. Gezählt sind nur Zähler mit mindestens zwei Telegrammen; einzelne Zufallstreffer sind nicht mitgezählt. S1 lief in diesem Zeitraum nur etwa viereinhalb Stunden. Bei durchgehendem S1-Empfang wären es eher rund 230 Zähler.

Mbus ist hier noch nicht weit verbreitet. Die städtischen Dinger und Fernwärme laufen alle über Lorawan und es gibt nur ein größeres Mietshaus in der Nähe.

Und du siehst :slight_smile: auf meinem Hof ist WM-BUS schon praktisch die Norm.

Ihr habt doch dasselbe Gesetz des Europäischen Parlaments zum maschinellen Auslesen von Zählern.

Und nebenbei: Als ich diesen Beitrag geschrieben habe, gab es das noch nicht, und ich weiß nicht, ob du es brauchst: Das Zusatzmodul unterstützt eine kabelgebundene Schnittstelle – das sieht man nicht direkt, man muss es erst einschalten.

Ja, die Energieversorger sind blos bereits von Wmbus mit Drive-by auf Lorawan umgestiegen.

Ja, genau. Die Umstellfrist für Vermieter endet am 31.12.26. Deshalb sagte ich, dass es in Zukunft viel Bedarf gibt. :slight_smile:

Die Privaten haben die Dinger noch nicht drin.

Welches Modul meinst du?

Meine Kamstrup Zähler wurden mit Wmbus bestellt und sind Versiegelt. Ohne Siegel wäre die Eichung ungültig.

Verdrahtetes Auslesen.

Ich benutze einen Übersetzer, daher kann die Übersetzung in deiner Sprache unverständlich oder ungenau sein.

Ah, ok. Ich hatte tatsächlich zuerst vor, die Zähler mit normalem Mbus zu bestellen, weil mir die Verkabelung einfacher erschien.

Die Auslesetechnik ist aber weitaus komplizierter, auch wenn das mbus protokoll an sich identisch ist.

Man kann zwar alle Zähler einfach an 2 lange Drähte klemmen, braucht aber Hardware, die auch in China noch 30€ kostet und wenn man Pech hat, sind bei zu häufigem Auslesen die Batterien der Zähler vorschnell leer.

Zudem werden die Wireless Zähler jetzt günstiger abverkauft, weil viele auf das neue Eichjahr warten…

Stimmt, verdrahtet ist fummeliger. Mein Add-on kann M-Bus über Kabel zwar auch lesen (eigener Tab — braucht nur einen M-Bus-Master-Konverter am seriellen Port). Aber bei versiegelten Funk-Zählern bleibt Funk ohnehin die einzige saubere Lösung — du bist also goldrichtig unterwegs. :slightly_smiling_face:

Ja, aber der ist komplizierter als man denkt. Der sendet nämlich über Spannungspegel und empfängt über Stromstärken…

Ich habe das nicht, daher kann ich mich dazu nicht genauer äußern – bei mir funktioniert es als Simulator, und niemand mit einem echten Bus hat sich bei mir gemeldet.

Ich habe die Auslesehardware, sowohl als seriell, als auch als rs485, aber ich habe kein einziges wires-mbus Endgerät. :slight_smile:

Dann können wir uns wohl beide die Hände reichen :slight_smile:

Nach dem letzten Update hatte ich die Fehlermeldung das sensor.wasserzahler_target_m3 keine Zustandsklasse mehr hatte.

Danke für die Meldung! Das ist eine gewollte Änderung aus dem letzten Update.

target_m3 ist der Zählerstand zum Stichtag, also eine Momentaufnahme und kein laufender Zähler. Bisher hatte der Sensor state_class: measurement, das erlaubt Home Assistant für device_class: water aber gar nicht (es gab dazu eine Warnung im Log). Deshalb hat er jetzt keine Zustandsklasse mehr.

Die Entität und der Wert funktionieren ganz normal weiter, es werden nur keine Langzeitstatistiken mehr dafür gesammelt. Die Meldung kannst du unter Entwicklerwerkzeuge → Statistiken beheben (alte Statistik löschen) oder einfach ignorieren. Für den Verbrauch ist weiterhin total_m3 da, der behält total_increasing und läuft im Energie-Dashboard wie gewohnt.

Update 1.5.74 – 1.5.79: deutlich weniger CPU, Festplatte und MQTT-Verbindungen

Bei weiteren Tests habe ich berücksichtigt, dass nicht jeder halbwegs neue Hardware hat (bei mir N97 mit NVMe), und hier im Forum hat jeder eine andere Lösung. Deshalb habe ich meinen ersten HA-Server aus der Schublade geholt: i3-3220 von 2012, native Installation, absichtlich auf einer alten 5400er-Festplatte mit SQLite. Dazu eine VM auf meinem QNAP. Drei verschiedene Systeme, dasselbe Add-on.

  • CPU: Das Add-on hat jedes Telegramm aus der Luft in Bash verarbeitet, von jedem Board, nicht nur eure Zähler. Bei mir (5 ESP-Boards, ca. 200 Zähler in Reichweite) waren das über 2 Kerne. Jetzt macht das ein einziger Python-Prozess: ca. 10 % eines Kerns. Auch eine frische Installation ohne Zähler: auf schwacher Hardware von ca. 48 % auf unter 1 %.
  • Festplatte / SD-Karte / eMMC: Statusdateien liegen jetzt im RAM und werden als eine Datei gesichert: jede Minute auf SSD/NVMe, alle 10 Minuten auf HDD/eMMC/SD-Karte und beim Stoppen. Bei mir sank das Schreiben von ca. 230–300 kB/s auf ca. 16 kB/s, auf dem alten i3 auf ca. 0,5 kB/s. Das Add-on erkennt den Datenträger selbst und zeigt ihn in der WebUI.
  • Stoppen und Update ohne s6-svwait: timed out: Das Add-on speichert zuerst den Zustand und beendet sich dann sauber.
  • MQTT: Die Abonnements bleiben dauerhaft verbunden, statt sich alle 1,5–3 Minuten neu anzumelden. EMQX-Nutzer bekommen nicht mehr alle 2 Minuten eine $SYS-Warnung im Log.

Kleine Anekdote: Die Festplatte des alten i3 war etwa die Hälfte der Zeit beschäftigt, und ich war sicher, dass es am Add-on liegt. Schuld war aber eine EMQX-Bridge mit derselben Client-ID auf zwei Instanzen, die sich alle paar Sekunden gegenseitig die Sitzung weggenommen haben. :slightly_smiling_face:

Die Meldung „keine Zustandsklasse mehr“ (z. B. target_m3) nach dem Update ist gewollt, siehe #37.

Alles funktioniert nach dem Update von selbst, ohne Änderungen an der Konfiguration.