Wireless M-Bus für CUL

Begonnen von tostmann, 12 Juni 2014, 17:34:32

Vorheriges Thema - Nächstes Thema

Fritz Muster

Zitat von: Fritz Muster am 29 Januar 2021, 11:13:22
ich habe hier ein Phänomen, welches ich mir nicht erklären kann. Mein Wärmemengenzähler von Brummerhoop Model F90U (Baugleich mit Engelmann Serie SensoStar, Techem Serie Vario, WDV/Moline Serie Wingstar) ist mit einem WMBus Modul ausgestattet. Ich empfange via Maple CUL die Telegramme. Der Zähler sendet alle 120 Sekunden. Das Problem ist, das von zig Telegramme alle paar Stunden nur ein Telegramm vom Modul dekodiert wird. Alle anderen Telegramme werden nicht dekodiert

Ich konnte das Problem endlich lösen. Ich habe den Maple via LAN angeschlossen und nun funktioniert alles ohne Probleme. Angeschlossen per USB habe ich keine zuverlässige Datenübertragung hinbekommen. Per LAN werden nun alle Daten vom Wärmemengenzähler einwandfrei empfangen/dekodiert. Zusätzlich zu den Daten wie Zählerstand, akt. Durchfluss, Gesamt-Durchfluss, VL und RL Temp. werden auch Daten von 3 optionalen Impulszählern übertragen. Das bedeutet man kann an den Zähler bis zu drei externe S0 Zähler anschließen. Die Werte werden dann über den WM-Bus übertragen. Wirklich sehr praktisch wenn man noch mehrere S0 Zähler im Keller hat.

Danke für die Hilfe und viele Grüße
Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

Obi-Wan

Vielen Dank für das Modul !!

Nach einigen Telefonaten, Mails und von mir unterschriebener Datenschutzerklärung hat mein Wasserversorger mir dankenswerterweise den AES-Key zukommen lassen.

Was soll ich sagen, dranbleiben zahlt sich aus, siehe auch meinen ersten Beitrag Nr. 846 aus 2020 hierzu im Forenthread:

https://forum.fhem.de/index.php/topic,24517.msg1022947.html#msg1022947)

-> Nie wieder offener Wasserhahn über Nacht in der Garage  8) !!!

ext23

Nur mal für die Statistik, welcher Wasserversorger ist das bei dir?

Der WSE (Wasserverband Strausberg-Erkner) ist da nach wie vor stur.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Obi-Wan

Zitat von: ext23 am 31 August 2021, 10:31:34
Nur mal für die Statistik, welcher Wasserversorger ist das bei dir?

Der WSE (Wasserverband Strausberg-Erkner) ist da nach wie vor stur.

/Daniel

EnergieRied aus Südhessen

kaihs

Ich bin per PM zu Informationen zu den "Compact Data Frames" gefragt worden.
Diese werden vom Kamstrup Multical gesendet  im Code an dieser Stelle https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/WMBus.pm#L1848-L1918 ausgewertet.

Die Compact Frames enthalten nur Nutz- und keine Metadaten, d.h. keine DIFs und VIFs die beschreiben was die Daten denn eigentlich bedeuten.
Dadurch sind sie zwar kürzer aber enthalten für sich allein nicht genug Informationen um sie zu interpretieren.
Als weitere Information enthalten Sie nur eine "format signature", das ist der CRC der DIFs und VIFs die fehlen.

Identisch aufgebaute Daten werden aber auch regelmäßig im vollständigen Format übertragen.
Aus den Informationen die darin enthalten sind könnte man eine "selbstlernende" Datenbank aufbauen mit format_signature als Schlüssel und dem zugehören Langformat.

Das war mir aber bisher zu aufwändig, die so gewonnenen Daten sollten ja auch dauerhaft gespeichert werden.
Das ginge mit fhem-Mitteln m. E. nur in Readings die dann auch für den Benutzer sichtbar wären aber von ihm nicht sinnvoll interpretiert werden können.

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

yogi

Das war ich mit der PM...

Ich habe zum Glück von meinem Wasserversorger ohne Probleme den AES Key vom Kamstrup Multical 21 erhalten.

Zudem habe ich die Information erhalten, dass mein Gerät das Datenpaket C1/40/R0 sendet (siehe https://products.kamstrup.com/documents/5bcecc825f706.pdf), also Infocodes, Volumen V1, V1 umgekehrte Richtung, und Max. Durchfluss (Monat).

WMBus.pm erkennt alles, ausser V1 umgekehrte Richtung.

Meine Readings sind:

1_storage_no 0
1_type         VIF_KAMSTRUP_INFO
1_unit
1_value         0
1_value_type Instantaneous value
2_storage_no 0
2_type         VIF_VOLUME
2_unit         m³
2_value         36.899
2_value_type Instantaneous value
3_storage_no 1
3_type         VIF_VOLUME_FLOW
3_unit         m³/h
3_value         1.486
3_value_type Maximum value
4_errormsg unknown VIFE 93 at offset 1
4_storage_no 0
4_type         unknown
4_unit
4_value         0
4_value_type Instantaneous value
IODev         CUL86
LQI         10
RSSI         -138
batteryState ok
decryption_ok 1
is_encrypted 1
rawmsg         Y
state         Unknown Kamstrup compact frame format


Ich denke, man müsste in WMBus.pm die Funktion `decodeCompactFrame` erweitern (siehe https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/WMBus.pm#L1848), aber ich bin leider nicht sehr weit gekommen mit verschiedenen brute-force Ansätzen.

Wie könnte ich hier weiter forschen?

ich denke, dass auch das Langformat nicht ganz korrekt dekodiert wird, da das Reading 4 immer eine Error Message anzeigt.

Herzlichen Dank!

kaihs

Wenn du mir ein paar Rawmessages zur Verfügung stellst kann ich die analysieren.
Dazu am besten einen längeren Zeitraum protokollieren damit auch die full frames aufgezeichnet werden, das Attribut rawmsg_as_reading kann dabei nützlich sein..
Dann entweder hier posten oder mir per PM schicken.

Dann schaue ich mir auch das VIFE 93 an, mglw. habe ich bisher nur versäumt das zu implementieren.
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

yogi

Herzlichen Dank!

Ich lasse mal die RawMsg über Nacht loggen (wobei dann der Wasserverbrauch eher nicht existent ist...)

Kaspi

Servus,

Ich hatte vor längerem schonmal nachgefragt ob du nicht die Datenauswertung bei einem Zweirichtungszähler (Easymeter für Strom) für den Einzuspeisenden Strom (Haus->Netz) implementieren könntest.
Richtung Netz->Haus klappt ja wunderbar.
Könntest Du da nochmals Hand anlegen?

Kaspi  :)

lichtimc

Hallo,


ich habe vor kurzem einen Smart-Meter eingebaut bekommen. Modell: Landis+Gyr E450
Bei den Spezifikation steht unter anderem:
Multi-Energie-Unterstützung (drahtloser und nicht drahtloser M-Bus). DSMR 2.2+ und OMS 4.03 (Wireless Modi T1, S1, C1)


Nachdem ich den Multical 21 schon erfolgreich über WM-Bus C-Mode auslese, wollte ich fragen, ob ich diesen Stromzähler auch gleich mit dem gleichen cul auslesen kann und ob das vielleicht sogar schon jemand macht.

Pfriemler

Lange gezögert, jetzt muss ich auch nochmal hier fragen.

Seit zwei Wochen empfange ich den Wärmezähler meines Fernwärmeversorgers ("HYD") via WMBUS-T mit dem (gut versteckten, aber immer noch irgendwo im Netz auffindbaren) Generalschlüssel. Ich bekomme 16 Datenpunkte alle 18 Sekunden, darunter nur die letzten drei Monate als Stichtage.
Wenn die Fernwärme auslesen kommt, bekommen sie natürlich alle Daten des letzten Jahres.
Wieso habe ich die Daten nicht auch?
Kann es sein, dass ich hier nur eine Art Statusmeldung empfange und die Fernwärme ihre Daten mit einem extra Befehl anfordert und das womöglich auch mit einem speziellen Schlüssel? Es hat in der Firma einiges Entsetzen ausgelöst, dass ich den Empfang ohne ihren Schlüssel realisiert habe ...
Hoffentlich ist dann auch deren Konfigurationsmöglichkeit extra gesichert, dann bräuchten die sich eigentlich keine Sorgen mehr machen...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

killah78

Hi,
habe ein Empfangsproblem mit einem WMBUS Wechselrichter (Letrika). Bisher lief der Empfang über einen nano CUL erfolgreich. Ich musste den nano CUL aber dann anderweitig nutzen für den Empfang von WMBUS_C. Nach jetzt einiger Zeit habe ich einen Maple-CUL mit a-CUL firmware und möchte gerne wieder WMBUS_S empfangen.

Der Empfang funktioniert da wie folgt: Ich sende eine Nachricht und daraufhin kann ich eine empfangen. Insgesamt gibt es zwei verschiedene Nachrichten.
Mit einer davon habe ich jetzt Probleme.
Siehe Log:

2021.11.22 13:27:19.566 3: set MAPLECUL1_868 raw bss135BB4B098630000010291C7510C790000000000FFA73CBF801E
2021.11.22 13:27:19.566 5: DevIo_SimpleWrite MAPLECUL1_868: bss135BB4B098630000010291C7510C790000000000FFA73CBF801E
2021.11.22 13:27:19.668 5: CUL_Read: MAPLECUL1_868 /b5C08B4B0986300000102DA227A00000000022BFA00027C076968705FE75E736D670000001D66000000FFFF80D6
A9990000017C08706D745F636463640E017C58AE08706D745F636163640E027C0B746C6F1A1D765F63645F636573080006FD670000001D66000000FFFF80D6

2021.11.22 13:27:19.668 4: CUL_Parse: MAPLECUL1_868 b5C08B4B0986300000102DA227A00000000022BFA00027C076968705FE75E736D670000001D66000000FFFF80D6 -95
2021.11.22 13:27:19.669 5: MAPLECUL1_868: dispatch b5C08B4B0986300000102DA227A00000000022BFA00027C076968705FE75E736D670000001D66000000FFFF80::-95
2021.11.22 13:27:19.669 5: WMBUS raw msg b5C08B4B0986300000102DA227A00000000022BFA00027C076968705FE75E736D670000001D66000000FFFF80::-95
2021.11.22 13:27:19.670 2: WMBUS Error during LinkLayer parse:message too short, expected 107, got 45 bytes
2021.11.22 13:27:19.670 2: Please make sure that TTY_BUFSIZE in culfw is at least two times the message length + 1
2021.11.22 13:27:19.670 5: WMBUS raw msg b5C08B4B0986300000102DA227A00000000022BFA00027C076968705FE75E736D670000001D66000000FFFF80::-95
2021.11.22 13:27:19.670 2: WMBUS Error during LinkLayer parse:message too short, expected 107, got 45 bytes
2021.11.22 13:27:19.670 2: Please make sure that TTY_BUFSIZE in culfw is at least two times the message length + 1
2021.11.22 13:27:19.682 3: MAPLECUL1_868: Unknown code b5C08B4B0986300000102DA227A00000000022BFA00027C076968705FE75E736D670000001D66000000FFFF80::-95, help me!
2021.11.22 13:27:19.683 4: CUL_Parse: MAPLECUL1_868 A9990000017C08706D745F636463640E017C58AE08706D745F636163640E027C0B746C6F1A1D765F63645F636573080006FD670000001D66000000FFFF80D6
2021.11.22 13:27:19.683 5: MAPLECUL1_868: dispatch A9990000017C08706D745F636463640E017C58AE08706D745F636163640E027C0B746C6F1A1D765F63645F636573080006FD670000001D66000000FFFF80D6
2021.11.22 13:27:19.730 3: MAPLECUL1_868: Unknown code A9990000017C08706D745F636463640E017C58AE08706D745F636163640E027C0B746C6F1A1D765F63645F636573080006FD670000001D66000000FFFF80D6, help me!


Eine korrekte Nachricht sollte so aussehen:
5c08b4b0986300000102da227a00000000022bb400027c076968705f6e0a736f63e80301fd6601027c0471657266246d8513017c08706d745f6364636426017cf3a008706d745f6361636426027c0b746c6fb6d2765f63645f636573a90106fd6700000038df000000ffff8000


Was ich hier erkenne, dass an die Nachricht scheinbar bei Erkennung eines Strings ein Suffix angehangen wird.
Für mich sieht es so aus: wenn "D67", dann "00000088B1000000FFFF80DE" anhängen. So oder so ähnlich.
Jetzt kommt anscheinend dieses "D67" auch innerhalb der Nachricht vor, so dass der eigentliche Empfang geteilt wird.
So wird aus einer ganzen Nachricht zwei verstümmelte Nachrichten, die nicht verstanden wird.
Ist meine Annahme richtig und kann ich da was machen?

kaihs

Zitat von: killah78 am 22 November 2021, 13:54:46
Ist meine Annahme richtig und kann ich da was machen?

Wie groß ist denn der Puffer (TTY_BUFSIZE) eingestellt?

Wie ist maplecul denn physikalisch mit fhem verbunden, Ethernet oder USB?
Kannst du dich mit einem Terminalprogramm damit verbinden und da mal protokollieren wie die Nachrichten aussehen?
Wenn sie da schon kaputt sind liegt es an der culfw, sonst wahrscheinlich an fhem.

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

americanium

Hallo!

Ich möchte selbst gerade einen Wasserzähler auslesen und habe dabei so meine Probleme (siehe auch https://forum.fhem.de/index.php?topic=124643.msg1191882#msg1191882).

Der CUL wird als "traxCUL" Status "initialized" angezeigt.
Er ist eingestellt auf WMBUS_T aber es zeigt mir keine gefunden Clients an.

Vielleicht verstehe ich auch einfach nicht wie ich mir die Clients oder etwaige RAW Protokolle anzeigen lassen kann?

Vielleicht könnte mir jemand hier etwas weiterhelfen.

Danke euch!

bastelfeak

Hallo, ich habe mich jetzt auch mal an das Auslesen der Wasseruhren hier gewagt:

Ergebnis bisher 2 Wasseruhren sind jetzt angelegt worden, seitdem ist allerdings nichts weiter aufgetaucht und die beiden bereits verfügbaren Wasseruhren haben auch seitdem kein Update erhalten. Gibt es irgendeine Möglichkeit zu prüfen, ob irgendwo Fehler auftreten?

Ich habe einen nanoCUL als Fertigstick gekauft und im Einsatz.
Hier in der Wohnung sind KALO Wasseruhren verbaut und die scheinen im S Mode zu funken.

Ich freue mich über alles, was mich weiter bringt.

defmod CUL868 CUL /dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0@38400 0000
attr CUL868 rfmode WMBus_S
attr CUL868 room Helfer

setstate CUL868 2021-12-16 22:46:41 ccconf freq:868.950MHz bWidth:325KHz rAmpl:33dB sens:8dB
setstate CUL868 2021-12-16 22:46:53 cmds  A B b C e F f G i K l M R T t V W X x
setstate CUL868 2021-12-16 22:39:07 credit10ms 565
setstate CUL868 2021-12-14 21:13:40 fhtbuf No answer
setstate CUL868 2021-12-16 22:44:53 raw V 1.67 nanoCUL868
setstate CUL868 2021-12-16 22:42:24 state Initialized
setstate CUL868 2021-12-16 22:48:32 uptime 0 00:00:24
setstate CUL868 2021-12-16 22:29:31 version V 1.67 nanoCUL868



Viele Grüße
bastelfeak