Patch: Unterstützung von Wireless M-BUS in 00_CUL.pm

Begonnen von kaihs, 06 August 2014, 22:03:49

Vorheriges Thema - Nächstes Thema

kaihs

Hallo Rudolf,

nachdem seit cuifw 1.60 ein CUL Wireless M-Bus empfangen kann bin ich gerade dabei das Protokoll auch in fhem zu integrieren.
Dafür sind auch Anpassungen an 00_CUL.pm nötig die in dem anhängenden Patch enthalten sind.

- Zwei neue rfmodes WMBus_T und WMBus_S durch die der initString auf brt bzw. brs gesetzt wird.
- Parsen der WMBus Messages die mit b anfangen
- Eigene Clients und match Liste, da in diesen Modes kein Empfang anderer Protokolle möglich ist

Würdest du diesen Patch integrieren?

Das dazu gehörige 36_WMBUS.pm läuft bei mir schon im Testbetrieb und würde von mir dann anschließend eingecheckt.

Gruß,

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

rudolfkoenig

Habs eingecheckt.

Bei der Dokumentation bitte darauf achten, dass Umlaute nicht direkt in utf-8 sondern in der html Notation (ä etc) geschrieben werden.

kaihs

Hallo Rudolf,

in den bisherigen Anpassungen für die Unterstützung von WMBUS funktioniert leider die Umschaltung zurück auf einen anderen Mode noch nicht.
Der anhängende Patch von 00_CUL-pm korrigiert das.

In dem Zusammenhang ist mir dann aufgefallen, dass die culfw abstürzt, wenn im WMBUS Modus ein X Kommando geschickt wird.
Ursache dafür ist, dass ein X immer zu einer Neukonfiguration des CC1101 führt. Die dort eingestellte Konfiguration passt aber gar nicht zu dem was im WMBUS Modus erwartet wird und führt dann zu einer Endlosschleife in rf_mbus.c.
rf_mbus.c führt die Konfiguration komplett eigenständig durch.
Um das Problem zu beheben, frage ich jetzt in rf_receive.c/set_txrestore ab, ob gerade der WMBUS Modus aktiv ist. In diesem Fall wird in set_txrestore keine Konfiguration vorgenommen.

Insgesamt nicht so ganz schön, aber diese Lösung ist Minimalinvasiv. Größere Umbauten wollte ich sicherheitshalber nicht vornehmen.

Anbei die beiden Patches mit der Bitte um Integration.

Gruß,

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

rudolfkoenig

Habs eingecheckt,

Langsam nerven mich die gegenseitigen Abhaengigkeiten der unterschiedlichen culfw-Modi. Eigentlich muesste eine globale Variable in culfw das aktuelle Modus nachhalten, und bei aktivieren eines neuen Modus den richtigen "Deaktivierer" aufrufen.

Ich bin immer noch kein Fan der dynamischen Umschaltung. Wer mehrere inkompatible Protokolle betreibt, der moege entsprechend Hardware (CUL) beschaffen.