culfw für 433 MHz zum Lesen von OMS Daten über wmbus

Begonnen von fadk2wf, 18 März 2023, 18:19:44

Vorheriges Thema - Nächstes Thema

fadk2wf

Hallo zusammen,

dies ist mein erster Post in diesem Forum.
Nach vielem Lesen seit längerer Zeit finde ich das Forum Klasse!!
Wenn man sieht was ihr Jungs auf dem Gebiet zuwege bringt, könnte man vor Neid erblassen!!

Kurz zu mir selbst: Von 1969 bis zur Rente 2014 war ich in der IT tätig. Erst als Spezialist für IBM Mainframes an der Tastatur, später als Berater für alles in großen Rechenzentren, eher nicht mehr selbst direkt am System. Daher fällt mir das Handling von Linux und der neuen Programmiertechniken nicht ganz so leicht.
Im Prinzip zwar alles ähnlich wie damals, heißt nur alles anders.
Ich habe einen iobroker laufen und mit Tasmota die eine oder ander Löung mit MQTT laufen (IR-Auslesung Elektrozähler und ein paar Sensoren).

Zum Thema folgendes:

Aufgrund kürzlicher Wasserschäden will ich nun den neuen Sensus iPerl Wasserzähler auslesen, um ein Warnung zu bekommen wenn geringe Leckabflüsse bestehen.
Ich hatte daher einen nanoCul868 besorgt. Der wurde auch nach einigen Mühen im wireless m-bus Adapter erkannt, im Log die Version und die TX/RX Daten angezeigt, Read-mode und T-mode gesetzt und er ging in Listenig in T-Mode.
Aber es kamen überhaupt keine Telegramme. Mit dieser FW liest er ja nur wmbus Daten, aber hier gibt es wohl keine auf 868.

Nach einem Telefonat mit dem Versorger hat mir der freundliche Mensch gesagt, daß unser iPerl auf 433 MHz sendet. Der Lieferant konnte keine 868er liefern, daher nahmen sie die angebotenen 433er.
Gemäß den Infos im Sensus Datenblatt kann der wirklich auf 433 MHz mit wmbus OMS-konforme Daten senden.
Dann habe ich auch noch einen nanoCul433 gekauft und festgestellt, daß die culfw433 keinen wmbus unterstützt.
Das hätte ich wohl vorher klären sollen.

In diesem Forum gibt es ja von den Entwicklern die Aussage dazu, daß die culfw wmbus OMS Daten auf 433 MHz nicht verarbeiten kann. Ein Beitrag sagt sogar, daß die Kombi in den wmbus Specs nicht vorgesehen ist, was meinen vorliegende Dokus von der OMS-Group Webseite widerspricht. In den neueren Versionen der Norm EN 13757-4 aus 2013 bzw. 2019 wurde das definiert.

Da der TI-CC1101 alle Frequenzen kann, müßte das technisch realisierbar sein. Der Radiocrafts RC1140 kann das gemäß dem Datenblatt. Den RC wmbus Stick gibt es für 868 und 433 für T und S Modes. Der ist für Privatleute nur nirgends so einfach zu bekommen, außerdem recht teuer. Ob der iobroker "wireless m-bus Aadapter" den erkennt, ist mir auch unbekannt.

Bevor ich da weiteren Aufwand investiere hier die entscheidende Frage:
Gibt es schon irgendwo oder wird es eine passende CUL/nanoCul-FW zum Empfang von OMS Daten über wmbus für 433 MHz geben?
Es wäre ganz prima, wenn das jemand beantworten könnte oder sich ein Freiwilliger hierfür fände der die Erweiterung bauen kann. Ich kann das leider nicht.

Vielen Dank schon mal im voraus für Beiträge zum Thema!
Grüße,  Horst

Dr. Boris Neubert

Hallo Horst,

willkommen im Forum!

Ich kenne wmbus nicht. Mir drängt sich jedoch auf, dass in der Firmware für den nanoCUL868 nur die Frequenz umgestellt werden müsste auf 433 MHz. Dann die Firmware neu kompiliert und auf den nanoCUL433 geflasht.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

fadk2wf

Hallo Boris,
das alleine wird es vermutlich nicht sein. In der culfw mit wmbus Unterstützung ist die Frequenz hart in den Registern gesetzt.
Ich habe schon einige Dinge ausprobiert. Den nanoCul433 mit der culfw mit wmbus support geflasht. Dann steht in den Registern Werte für 868.
Nach dem Ändern auf 433er Frequenzen ist nach dem eingeben des Befehls brt oder Ein- und Auschalten des Lesens mit dem X Befehl anschlie0end wieder die 868 Werte in den Registern. (Die kann man übrigens mit CwXXYY schreiebn. Der W Befehl macht nix)
Die genaue Sendefrequen ist auch nicht bekannt. Ein kosteloses Dokument zur EN 13757-4 habe ich noch nirgends gefunden. Auch weiß ich nicht, ob die Modulationsart auf beiden Bändern gleich ist. Die HF Themen kann ich bearbeiten, da habe ich als Funkamateur und IT Mensch Kenntnisse.
Aber Lesen, Änderungen des Codes oder Steuerung der Kompilierung (board.h Datei und ähnliches) und Erstellung einer neuen culfw kann ich leider nicht.
AM besten wäre, wenn Dirk Tostmann eine Meinung dazu abgeben würde.
viele Grüße
Horst

fadk2wf

#3
Hallo allerseits,

der Empfang von wmbus Telegrammen mit dem nanoCUL im 433 MHz Band ist erstmal gelöst.
Ob das auch auf anderer HW geht, weiß ich nicht.

Ausgangspunkt:
Zum Empfang von wmbus Telegrammen steht eine culfw "nanoCUL_r568_mbus_c1t1_bufsize300.hex" zur Verfügung.
Diese fand ich in einer ZIP auf https://github.com/wmbusmeters/wmbusmeters-wiki/blob/master/nanoCUL.md inklusive einer board.h Datei.
In dieser culfw ist die Frequenz auf 868 MHz fest in den Registern 0D-0F eingestellt, auch wenn diese auf ein nanoCUL433 geflasht wird ändert die sich nicht.
Infos zur Kalkulation der Frequenz und den Registern finden sich im Datenblatt des TICC1100:
https://www.ti.com/lit/ds/symlink/cc1101.pdf?ts=1679402093080&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FCC1101

Folgende Aktionen:
Im Internet habe ich nach den Frequenzen für wmbus T-Mode im 433 MHz Band gesucht. Das Normendokument Version 2013/2019 für EN 13757-4, das dies spezifiziert konnte ich nicht kostenfrei lokalisieren. Dies wird in verschiedenen Quellen für € 180,- angeboten.
Schließlich habe ich die Infos im Datenblatt des Moduls Radiocrafts RC1140 Seite 3 gefunden:
https://radiocrafts.com/uploads/RC1140_RC1160_RC1170-MBUS_Data_Sheet.pdf

Den nanoCUL mit der o.g. culfw für wmbus (868) geflasht und die für die Frequenz 434,475 kalkulierten Registerwerte 10B5E8 in 0D-0F geschrieben.
Den Empfang mit den Befehlen X27 und brt mit HTerm unter Windows gestartet. Nochmal Registerwerte mit C99 prüfen, ggf. nochmal eingeben.
Nach einiger Zeit kamen wmbus Telegramme mit vorangestelltem b !!
Die Analyse der Daten ergab: Es ist mein Zähler und die Daten sind verschlüsselt.
AES Key vom Versorger erhalten, nanoCUL in Raspi gesteckt. Das erste Telegramm hat den Zähler im iobroker angelegt.
Dann dort im wireless-wmbus Adapter den Key eingegeben und siehe da, es wurden die passenden Objekte automatisch generiert und die Werte alle Stunde aktualisiert.

Bei meinen Recherchen hatte ich den Autor der ersten culfw Rudolf König gefunden und ihn kontaktiert.
Er hat mir super geholfen (tausend Dank!!):
Der erste entscheidende Kniff war der Befehl CwXXYY zum Schreiben der Register. Der in culfw-cmdref angegebene Befehl W macht das nämlich nicht.
Somit war der Test auf 434,475 erst möglich.
Nach dem Empfang der ersten wmbus Telegramme hat er mir diese interpretiert, so daß man zweifelsfrei den Zähler identifizieren konnte.
Er hat mir auch eine culfw erstellt mit den entsprechenden Angaben in der board.h und den Werten für die Frequenz.
Ich selbst hätte die nicht errstellen können.

Nun bin ich froh, daß alles funktioniert. Mit HAB-Panel werde ich die Daten noch visualisieren wie schon den Stromzähler.
viele Grüße
Horst

Hier die angepaßte culfw 434,475 MHz, nur M.Bus, keine anderen Protokolle

Du darfst diesen Dateianhang nicht ansehen.


apfelmann

#4
Hallo Horst,

ich habe genau den gleichen Wasserzähler und bin neu in der MBUS wireless Materie. Würde es Dir etwas ausmachen mir Infos zum Erwerb der zum auslesen nötigen Hardware zukommen zu lassen? Ich betreibe so ziemlich alles in meinem Haus mit Home Assistant automatisiert. Vor kurzem wurde das letzte analoge Überbleibsel seit Hausbau, der Wasserzähler, gegen den Sensus iPerl mit 433 MHz getauscht. Blöderweise bekommt man für die 868 MHz Funker so ziemlich alles fertig konfiguriert zu kaufen, nur für 433 MHz sieht es mau aus oder die Preise sind völlig abgedreht. Da mich beim Einbau niemand darauf hingewiesen hat das ich ein 433 Typ Modell eingebaut bekomme und ich mich vorher noch nicht mit der Materie auseinandergesetzt hatte, stehe ich nun da und weiß leider nicht wo ich anfangen soll. Und dann fand ich dieses Forum und Deinen Post ;)

Gruß Alex

fadk2wf

#5
Hallo Alex,
den nanoCUL, den ich einsetze, ist von smart-home-komponente.de. Ich habe ihn direkt bei ihm erworben, er bietet aber auch über amazon an.
Die Überschrift sagt 868, aber auf der Seite gibt es auch die Auswahl für eine 433 Version. Heute kostet das Teil 8 EUR mehr als im März 2023.
Die Sticks von Amber oder IMST kosten dagegen ein Vermögen.

Die Versionen 868/433 sind fast identisch, nur der Ausgangskreis und die Antenne sind auf die andere Frequenz abgestimmt.
Siehe Datenblatt TICC1100 Seite 25.
Auf Seite 68 habe ich die Registerwerte zur Einstellung der Frequenz in der FW gefunden. Dies ist essenziell! ...und in der FW von Rudolf.
Ich weiß nicht, ob Du mit meinen technischen Angaben zurechtkommst.
Du kannst mir auch gerne eine PM schicken und wir können mailen oder auch telefonieren. Ggf. löscht ein Moderator die Quellenangabe wieder. ich weiß nicht, ob man die hier angeben darf.

viele Grüße,  Horst

Habe ich vergessen zu erwähnen: Der Anbieter hat zwar eine 433-Band Version im Angebot, aber keine passende FW. Die auf Github verfügbare hat die Werte für 868 fest eingespeichert. Das hatte ich mit dem Anbieter telefonisch besprochen. Er hatte keine Lösung dafür und die fixe Einstellung war im unbekannt. Er hat drei versionen im Angebot: 868 mit FW, 868 ohne FW, 433 ohne FW.

apfelmann

#6
Hi Horst, danke für die fixe Antwort.

Das ist schon etwas lustig, den Anbieter hatte ich bereits im Visier und auch nach einer 433 Variante mit MBUS FW gefragt, was die verneinten. Also müsste ich mir ja nur den 433 ohne FW holen das HEX file aus deinem Post flashen und gut ist? Den Chips selbst ist es ja vermutlich egal für was die eingesetzt werden, das sagt ihnen ja die FW. Nur die Frequenz muss halt stimmen vermute ich mal. Hast Du vllt noch eine gute how-to Quelle fürs flashen selbst? Ich hab das mal mit meiner ESP32 DTU für die Garten Solarmodule gemacht - ist aber schon wieder etwas her.

Gruß
Alex

fadk2wf

Hallo Alex,

ja, das hat er wahrheitsgemäß beantwortet. Warum sich kein Experte aus der Community vorgenommen hat, das mal zu veröffentlichen, z.B. auf Github. Dann könnte der nanoCUL Anbieter die FW auch auf der Webseite anbieten.
Es gibt immer mehr Wasseruhren, die auf 433MHz funken. Steht aber nicht auf der Uhr, mußte ich beim Versorger erfragen. Im übrigen ist die Frequenz für den T1,T2 Modus 434,475MHz. Da habe ich lange gesucht, bis ich die gefunden hatte. (siehe oben).
Fürs Flashen habe ich den XLoader für den Arduino genommen. Eine Anleitung habe ich auch und andere Infos.
Bei dem nanoCULF ist auf dem Printboard neben der Antennenbuchse eine Schrift drauf, die entweder 433 oder 868 Modul heißt.
Bin nur gerade zu dusselig Dateien hochzuladen, finde den Knöckel nicht.
Grüße
Horst

apfelmann

Der Anbieter vertreibt auch nen Dual Stick (Doppel-CUL-868-433-USB Stick), es müsste ja somit möglich sein beide Chips flashen zu können. Weil, ich habe zwar die Kreiswerke angefragt mir den 433 gegen den 868 zu tauschen, bin da aber nicht so hoffnungsvoll. Und ich möchte auch die Wasseruhr im Garten smart haben. Die bekommt man aber nur in der 868 Version zu kaufen. Also muss ich wohl zweigleisig fahren was alles halt komplizierter macht.

fadk2wf

Hallöli,
dieser CUL für beide Frequenzen ist ein CUL, kein nanoCUL und läuft mit einem anderen Prozessor und auch FW.
Wenn Du dort in die möglichen Anwendungen/Protokolle schaust, dann fehlt da der mBus.
Die ersten nanoCUL konnten auch keinen mBus. Erst mit dem Aufkommen des mBus hat jemand das Protokoll in die culfw eingebaut. Allerdings auf Kosten aller anderen Protokolle. Die SW im nanoCUL für mBus ist so groß, daß der gesamte Speicherplatz dafür benötigt wird. Das ist gut nachvollziehbar in der Datei board.h (Steuerung Compilierung in Github). Für die mBus Variante sind alle Protokolle in der Source ausgesternt, disabled.
Das heißt, wenn Du z.B. Steckdosen, Rolltore, etc. mit den dort üblichen Protokollen zusätzlich zur Wassewruhr oder Heizungsableser (auch mBus) betreiben willst, dann brauchst Du einen weiteren nanoCUL, auch bei gleichem Frequenzband.

Außerdem: hast Du schon mal nachgehört, ob Du den AES Schlüssel vom Versorger bekommst.
Es gibt Versorger, die haben die Wasseruhren in einer Straße/Gebiet mit den gleichen Schlüsseln ausgerüstet. Das vereinfacht deren Verwaltung der Schlüssel. In dem Fall rücken die den Schlüssel nicht raus. Da gibt es ein paar Posts dazu.
Wenn Du den Schlüssel nicht bekommst, dann kannst Du Dir alle Mühen sparen.

Anbei noch die Anleitung fürs Flashen.
viele Grüße
Horst
 

apfelmann

Hi Horst,

danke für die Chip/FW Erklärung, ergibt dann damit auch langsam alles Sinn, man muss erstmal reinkommen... zum Glück überwache ich auf den freien Frequenzen bislang nichts weiter - was da zukünftig noch alles kommen mag weiß ich heute noch nicht (zigbee, matter, etc). So ziemlich alles bei mir läuft per TCP/IP, außer vllt die Gartenbewässerung, das läuft per nativem Gateway mit unbekannten Protokoll, und S0 Anbindungen einiger Verbrauchszähler die auch wieder nur per WLAN an nen MQTT Broker senden.

Wie dem auch sei... soeben bekam ich die Zusage meines Wasserversorgers das die die 433 Uhr tatsächlich nochmal gegen eine 868 tauschen ;) Problem gelöst und ich kann was fertiges von der Stange kaufen. Nice. Die haben nämlich auch das Problem das die zum Ablesen mit doppeltem Equipment rumfahren müssen nur weil die bei Umrüstung immer von den Lieferanten abhängig nehmen müssen was die gerade im Regal liegen haben. Und ja, ich habe den AES Schlüssel unkompliziert bekommen und werde auch den neuen bekommen nach Tausch der Uhr.

cheers
Alex

fadk2wf

Hallo Alex,

na ja, von der Stange ist das gerade auch nicht. Ist halt alles eine billige Bastellösung.
Die in Github verfügbare culfw macht alle gängigen Protokolle. Die modifizierte für mBus (verfügbar in Github "mBus-Adapter" oder beim nanoCUL Anbieter) ist halt fest für 868 programmiert. In der hier im Beitrag verfügbaren Version von Rudolf König hat er nur die Register für die Frequenz im 70cm Band geändert, die ich ausgerechnet hatte. Mit Kompilierung im Linux habe ich noch keine Erfahrung.
Die Webseite für die culfw Reference hast Du bestimmt schon gefunden: http://culfw.de/commandref.html

Ich betreibe einen iobroker auf einem Raspi 3B, an dem der nanoCUL steckt. Per WLAN ist noch die Auslesung des E-Zählers und Kontakte für die Überwachung der Garagentore. Das ist mit ESP8266 und Tasmota realisiert. Wenn Du später nochmal Infos benötigst, dann schreibe einfach einen neuen Beitrag.

viele Erfolg und viele Grüße
Horst