LaCrosseGateway JeeLink -- W136 (Ventus) WH24 (HP100x) WH25

Begonnen von pejonp, 15 November 2018, 23:29:09

Vorheriges Thema - Nächstes Thema

fossy

Hallo Jörg,

danke für die Info.

Zitat von: pejonp am 25 Juli 2019, 20:22:52
Die WH65B hat ein etwas anderes Protokoll, Timing. Das habe ich nicht eingebaut. Da kein testsystem vorhanden.

Hast Du evtl. einen Tipp für mich, wo das andere Timing einzubauen ist?
Ist das der relevante Code?
    if (bitbuffer->bits_per_row[0] - bit_offset - sizeof(b) * 8 < 8)
        model = MODEL_WH24; // nominal 3 bits postamble
    else
        model = MODEL_WH65B; // nominal 12 bits postamble
    bitbuffer_extract_bytes(bitbuffer, 0, bit_offset, b, sizeof(b) * 8);

Oder gibt es da noch mehr?


Gruß
fossy

pejonp

Hallo fossy,

Wenn es so einfach gewesen währe hätte ich es schon gemacht. Aber leider reichen dafür meine Kenntnisse nicht aus. Kannst du mal am LCGateway auf Debug stellen (1d v) und die Ausgabe hier anhängen .

Eigentlich läuft ja die Erkennung über die ersten Bytes

Pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

fossy

Hallo Jörg,

hier mal ein Auszug vom Jeelink-USB-Stick (eine Gateway habe ich nicht...)
21:23:25.038 -> [LaCrosseITPlusReader.10.1sJo (RFM69CW f:868300 r:17241)]
21:23:41.147 ->
21:23:41.147 -> End receiving, HEX raw data: 52 A5 1A BA 39 A7 16 EE 8B A4 3 8C FD B5 FD BC
21:23:44.885 ->
21:23:44.885 -> End receiving, HEX raw data: B1 45 68 A5 69 19 A0 86 49 C0 91 A5 65 7 BB E7
21:23:45.821 ->
21:23:45.821 -> End receiving, HEX raw data: CA 85 24 CE 8D 69 CD F1 1B 25 6D A 77 D2 9A BB
21:23:51.961 ->
21:23:51.961 -> End receiving, HEX raw data: 7E DD 4 DF 44 DF ED 22 B1 8B 0 8E 36 38 33 24
21:23:53.793 ->
21:23:53.793 -> End receiving, HEX raw data: 2F F8 9D 7B 4D BF B3 1D 48 21 46 F4 BF ED 39 DF
21:24:02.919 ->
21:24:02.919 -> End receiving, HEX raw data: 6D 8D FF FF 9F 58 5F 58 C9 BE 76 3F 7F 75 51 CB
21:24:05.622 ->
21:24:05.622 -> End receiving, HEX raw data: 7F EA E5 3E B3 5A 1D 28 3C 2D E9 C 74 CB 7D F3


Ich kann da keine Regelmäßigkeit erkennen :-(

Gruß
fossy

pejonp

Hi fossy,

Kannst du mal beide Logs jeelink und rtl_433 vom Zeitstempel nebeneinanderlegen. Danke.

Pejonp

LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

fossy

Hallo Jörg,

danke für Deine Unterstützung!

... ja, kann ich machen:
jeelink                                                            rtl_433
jeelink rtl_433
17:40:19.618 -> time      : 2019-07-27 17:40:19
17:40:19.618 -> End receiving, HEX raw data: 92 6 90 6A 44 F8 BE 11 9D 58 30 2F 36 0 33 D8 [00] {209} 55 57 55 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:40:21.528 ->
17:40:21.528 -> End receiving, HEX raw data: 9C C7 2 27 D7 D3 5D 9E FA D2 BD B9 E6 6A 28 8E
17:40:21.563 -> OK 9 51 1 5 22 39
17:40:25.254 ->
17:40:25.254 -> End receiving, HEX raw data: 57 7F CC FE EC FE 55 FF 6E A4 A 3D 93 44 4D F8
17:40:28.963 ->
17:40:28.963 -> End receiving, HEX raw data: 7 BB 74 7F 90 25 4F 54 FE FC 2F 84 BF 89 70 87
time      : 2019-07-27 17:40:35
[00] {209} 55 55 d5 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 18 00 00 00 33 71 00 00
17:40:39.969 ->
17:40:39.969 -> End receiving, HEX raw data: 93 84 94 7E 46 C D5 FF FB 87 DE 5F 15 FD D4 43
17:40:50.749 ->
17:40:50.749 -> End receiving, HEX raw data: C8 41 2 63 80 26 80 3F EF F6 5E DF 87 D2 FF 73
17:40:51.786 -> time      : 2019-07-27 17:40:51
17:40:51.786 -> End receiving, HEX raw data: D2 92 2F 8B 9C 20 F8 3F D7 FF F6 B7 5 B3 9B FE [00] {209} 55 57 55 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:40:54.701 ->
17:40:54.701 -> End receiving, HEX raw data: 0 75 AE 7C 95 38 3F 9A 3F DF CC 37 CE 66 F EC
17:40:55.846 ->
17:40:55.846 -> End receiving, HEX raw data: 62 A1 95 4B 5F AE DD EB DF E3 C6 40 F9 BF CF 7B
17:40:56.741 ->
17:40:56.741 -> End receiving, HEX raw data: 9C C7 86 27 D7 B4 81 BE F3 55 FD 27 72 C3 5E DF
17:41:01.452 ->
17:41:01.452 -> End receiving, HEX raw data: 9B 2D 59 FF F7 EF E6 2F 1F 94 57 1D 68 DF B9 DB
time      : 2019-07-27 17:41:07
[00] {209} 55 55 55 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:41:08.879 ->
17:41:08.879 -> End receiving, HEX raw data: F1 54 66 C7 47 35 D6 91 3 8D 39 A5 DF 20 E6 11
17:41:11.201 ->
17:41:11.201 -> End receiving, HEX raw data: AF 4F D7 FF 34 0 7 42 DD 0 27 4E 70 FE F3 C2
17:41:14.338 ->
17:41:14.338 -> End receiving, HEX raw data: 9C C7 2 27 C7 37 B7 7F 72 FF AB F9 30 7C CA F3
17:41:20.163 ->
17:41:20.163 -> End receiving, HEX raw data: CC 7F EE FF 9F 4F 27 FD 73 A8 61 5C 27 6C 9E FD
17:41:20.541 ->
17:41:20.541 -> End receiving, HEX raw data: 54 9E CF F6 5F B6 48 30 41 40 C7 80 55 7F DF DD
17:41:23.142 -> time      : 2019-07-27 17:41:23
17:41:23.142 -> End receiving, HEX raw data: 9C C7 2 27 D7 CB 7D 39 1F FF EF C0 51 ED BA BD [00] {209} 55 55 55 75 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:41:23.142 -> OK 9 51 1 5 22 39
17:41:26.156 ->
17:41:26.156 -> End receiving, HEX raw data: 4A 12 41 A7 9F 2F 7B F7 DE F6 10 7A 5E D2 3E A0
17:41:28.630 ->
17:41:28.630 -> End receiving, HEX raw data: 6B 53 48 C8 45 C9 3 F6 BB BF 8E FA 69 D8 23 CB
17:41:30.580 ->
17:41:30.580 -> End receiving, HEX raw data: CE 33 1F 32 D9 B F8 BF B3 FD 7F FD FF DF FD DF
17:41:31.920 ->
17:41:31.920 -> End receiving, HEX raw data: 9C C7 2 27 D3 81 7F 1E 4F 44 8A 75 F2 25 57 F9
17:41:39.316 -> time      : 2019-07-27 17:41:39
17:41:39.316 -> End receiving, HEX raw data: B6 81 A0 A8 7D FF F6 7C E2 18 F5 D 2B 28 D6 84 [00] {209} 55 55 55 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:41:49.518 ->
17:41:49.518 -> End receiving, HEX raw data: 9C C7 2 27 D7 7D DD 3F 12 75 F7 FF BA 7F D1 7
17:41:49.552 -> OK 9 51 1 5 22 39
17:41:55.652 -> time      : 2019-07-27 17:41:55
17:41:55.652 -> End receiving, HEX raw data: 8D 6 D8 66 5 1C D5 54 AC 8F 4F 19 DB C1 F5 EA [00] {209} 55 55 55 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:42:07.106 ->
17:42:07.106 -> End receiving, HEX raw data: 9C C7 3 37 D7 67 B9 DF D0 6D FD DE AE 3E 26 18
17:42:07.687 ->
17:42:07.687 -> End receiving, HEX raw data: 71 E3 9F 59 9 CD 33 3D FE 81 F4 56 70 1D FF FD
17:42:07.998 ->
17:42:07.998 -> End receiving, HEX raw data: D3 A2 FE 95 25 6C FD D6 B7 A1 7B AF EB 42 5 FB
17:42:10.288 ->
17:42:10.288 -> End receiving, HEX raw data: A5 30 23 11 E5 62 CB FF FF D 4 BE CF 2F BE 6E
17:42:15.889 ->
17:42:15.889 -> End receiving, HEX raw data: 9C C7 2 27 D7 FE 79 3F 10 1C FA AD 78 FC 37 CA
17:42:15.924 -> OK 9 51 1 5 22 39
time      : 2019-07-27 17:42:27
[00] {209} 55 55 55 55 55 51 6e a1 24 f9 fc 15 21 a8 00 00 00 40 00 10 00 00 04 e8 21 00 00
17:42:30.109 ->
17:42:30.109 -> End receiving, HEX raw data: 8A FE EF F6 CD C6 96 4F 7B 55 26 FD 61 8E 59 9E


(falls es hilft, hier in Tabellenform)

Gruß
fossy

fossy

Hallo nochmal,

... was ich nicht verstehe ist, warum der Jeelink keine Pakete mit dem richtigen Header empfängt.

Mit URH bin ich jetzt soweit, dass ich für die Pakete - zumindest am Anfang - die selben Werte angezeigt bekommen wie beim rtl_433.

D.h. ich kann nachvollziehen, was im github von rtl_433 steht:
The WH65B sends the same data with a slightly longer preamble and postamble
            {209} 55 55 55 55 55 51 6e a1 22 83 3f 14 3a 08 00 00 00 08 00 10 00 00 04 60 a1 00 8
    aligned  {208} a aa aa aa aa aa 2d d4 24 50 67 e2 87 41 00 00 00 01 00 02 00 00 00 8c 14 20 1
    Payload:                              FF II DD VT TT HH WW GG RR RR UU UU LL LL LL CC BB


Ich nehme an, dass die "RFM" die "preamble" und das "sync word" irgendwie automatisch erkennt und dann die Payload weitergibt an. Kann man das irgendwie beeinflussen?

Gruß
fossy

pejonp

Hallo fossy,

Ich denke mal preamble und syncwort müssen anders eingestellt werden. Bei espeasy (https://github.com/letscontrolit/ESPEasyPluginPlayground) gibt es ein Sketch für die WH24 (
https://github.com/letscontrolit/ESPEasyPluginPlayground/blob/master/_P169_FO_WH24_RFM69.ino). Vielleicht kann der etwas angepasst werden um zu testen. Die Einstellungen, könnte man dann später für den jeelink übernehmen.
Eine andere Idee habe ich erst mal nicht. Ich kann auch nicht testen da ich keine WH65B habe.

Pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

fossy

Hallo Jörg,

danke für das Beispiel.
Ich hab mir das angesehen. Die Einstellungen für Preamble und Syncword sind dort genauso wie in deinem Sketch.

Ich hab mir das nochmal angesehen:
        [00] {196} d5 55 55 55 55 16 ea 12 5f 85 71 03 27 04 01 00 25 00 00 80 00 00 47 83 9
      aligned {199} 1aa aa aa aa aa 2d d4 24 bf 0a e2 06 4e 08 02 00 4a 00 01 00 00 00 8f 07 2
    Payload:                              FF II DD VT TT HH WW GG RR RR UU UU LL LL LL CC BB
    Reading: id: 191, temp: 11.8 C, humidity: 78 %, wind_dir 266 deg, wind_speed: 1.12 m/s, gust_speed 2.24 m/s, rainfall: 22.2 mm
The WH65B sends the same data with a slightly longer preamble and postamble
            {209} 55 55 55 55 55 51 6e a1 22 83 3f 14 3a 08 00 00 00 08 00 10 00 00 04 60 a1 00 8
    aligned  {208} a aa aa aa aa aa 2d d4 24 50 67 e2 87 41 00 00 00 01 00 02 00 00 00 8c 14 20 1
    Payload:                              FF II DD VT TT HH WW GG RR RR UU UU LL LL LL CC BB

Der erste Teil der Daten ist zwischen WH24 und WH65 gleich! Die ersten Daten sehen bei den Infos vom rtl_433 jedenfalls genauso aus. Also sollte auch der Jeelink zumindest die RAW-Dateien anzeigen (mit einer 24 am Anfang) - aber die gibt es nicht :-(

Ich bin kurz vorm aufgeben. Evtl. sollte ich den rtl-sdr-usb-stick direkt in FHEM nutzen und den Jeelink in die Schublade legen...

Gruß
fossy

pejonp

Hi fossy,

Wie heißt den deine Wetterstation genau und wo hast du sie her. Vielleicht kann man ja eine billig schießen . Ich habe noch einen oder zwei WH24A da.

Jörg
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

fossy

Hallo Jörg,

... es ist die hier.

In meinem ersten Beitrag hier hatte ich schonmal die vergleichbaren Typen aufgeschrieben.

Kannst Du evtl. mal eine Aufzeichnung mit rtl_433 von deinem WH24 Signal machen? Am besten ohne Antenne und der Außensensor ca. 10cm daneben...
rtl_433 -f 868300000 -w cs16:wh24.cs16 -T 40

Dann kann ich vielleicht mal vergleichen. Hier ist einen Aufzeichnung vom WH65 Signal.
Mit
rtl_433 -r 868300000 -r wh65.cs16
kann man sich anschauen, was aufgezeichnet wurde.

Gruß
fossy

pejonp

Hi fossy,

Eine WH24A habe ich schon im Einsatz sowie eine W136 Ventus mit Blitzerkennung. Beides funktoniert. Und noch 3x WH25 und WH32A und WH32D(diese beiden werden über den rtl_433 erkannt, da ist das so ähnlich wie bei der WH65A).


18:56:07: OK VALUES WH24 79 Temperature=22.10,Humidity=97,Rain=265.50,WindDirection=171.00,WindSpeed=0.00,WindGust=0.00,UV=1.00,LowBatteryFlag=1, [24 4F AB 62 6D 61 00 00 03 75 02 BC 02 CA A6 2A 20]


Jörg
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

fossy

Hallo zusammen,

nach einer "Urlaubsphase" hatte ich jetzt eine Idee, einfach mal die Frequenz etwas zu modifizieren.
... und siehe da, jetzt werden Daten empfangen :)

21:33:07.108 -> [LaCrosseITPlusReader.10.1sJo (RFM69CW f:868340 r:17241)]
21:33:08.515 ->
21:33:08.515 -> End receiving, HEX raw data: 24 9F 3F 82 78 2F 0 0 0 B 0 2 0 0 0 D3
21:33:08.561 -> OK VALUES WH24 159 Temperature=23.20,Humidity=47,Rain=3.30,WindSpeed=0.00,WindDirection=,WindGust=,UV=,,


Jetzt muss ich "nur noch" die andere Berechnung für die WH65B einbauen. Ich melde mich wieder, wenn ich weiter bin.

cu
fossy

fossy

#27
Hallo zusammen,

... nach längerer Zeit, möchte ich euch nun meinen akt. Stand vorstellen.

Ich habe jetzt den originalen Sketch LaCrosseITPlusReader.10.1s hergenommen und mit der guten Vorarbeit von Jörg kombiniert. Leider hab ich nur den Teil der WH24 eingearbeitet und so überarbeitet, dass wir auch die WH65 empfangen können. WH25 und WH136 habe ich - da ich es nicht testen kann - nicht übernommen.

Hier befinden sich die Quellen des geänderten Sketchs: LaCrosseITPlusReader - Branch wh65b.

Der Sketch empfängt WH24A und WH65B gleichermaßen ohne Berücksichtigung der verschiedenen Faktoren, die zur Berechnung von Wind und Regen benötigt werden.
Bei meiner WH65B war es notwendig, die Frequenz, mit der der JeeLink arbeitet, auf 868,345MHz zu setzen:
initCommands 868345f v

Damit in FHEM dann auch die Werte ankommen und richtig angezeigt/aufgezeichnet werden können, habe ich an der Datei 36_LaCrosse.pm verschieden Anpassungen vorgenommen und einen neuen Typ für diese beiden Wetterstationen erstellt. Die geänderten Quellen befinden sich hier: fhem-mirror - 36_LaCrosse.pm - Branch wh65b.

Die Wetterstation wird wie eine LaCrosse eingebunden (da ja auch dieses Modul verwendet wird). Wichtig ist aber, dass je nachdem, ob eine WH24A oder eine WH65B im Einsatz ist, ein Attribut entsprechend gesetzt werden muss. Bei mir (einer WH65B) sieht das so aus:
define Wetterstation LaCrosse 1F
attr Wetterstation changeModelTypeTo WH65B

Wird eine WH24A verwendet, wird einfach der Eintrag (zweite Zeile ^^) "WH65B" in "WH24A" geändert.

Ich hab das so gemacht, damit man theoretisch mit einem Sketch beide Wetterstationen gleichzeitig empfangen kann. Ob es praktisch funktioniert, konnte ich leider nicht testen. Auch die Funktionsfähigkeit der WH24A konnte ich nicht testen. Ich hoffe aber, dass sie funktioniert.

Ich würde mich freuen, wenn sich jemand findet, der diesen "Code" testen kann.

Edit:
WH24A: Ausseneinheit der Wetterstation HP1000 / HP1003 (WLAN) / WH2600 Anbieter Froggit/AmbientWeather/Conrad/....
WH65B: Ausseneinheit der "Sainlogic Professionelle Funk Wetterstation - 7 in 1" (sollte baugleich sein mit: Fine Offset WH2900, froggit 3500 Profi Funk WH3000 SE und Ventus W830)

Gruß
Andreas

dadoc

Hallo zusammen,
der Thread ist zwar schon etwas abgehangen, aber ich wollte deswegen keinen neuen aufmachen und hoffe, dass noch jemand mitliest.
Ich habe hier auf einem spanischen Eiland eine W830 (Außeneinheit lt. Aufkleber: WH65A), die mich endlos nervt, weil sie sich nicht mehr ins WLAN einbinden lässt, die WS Tool / WS View App nicht mehr funktioniert, und der Weg über Wunderground hat mich auch nie überzeugt.
Daher kommt mir Euer Ansatz gerade recht ;), und ich habe soeben einen JeeLink geordert.
Verstehe ich das richtig, dass ich einfach nur den Sketch via Arduino IDE auf den JeeLink flashe (mit entsprechend geänderter Funkfrequenz) und das LaCrosse-Modul in fhem installiere?

Zitat von: pejonp am 30 Juli 2019, 19:06:11
Eine WH24A habe ich schon im Einsatz sowie eine W136 Ventus mit Blitzerkennung. Beides funktoniert. Und noch 3x WH25 und WH32A und WH32D(diese beiden werden über den rtl_433 erkannt, da ist das so ähnlich wie bei der WH65A).
Bedeutet das, dass Datenempfang mit dem Sketch aus dem ersten Post klappen sollte, oder sollte ich den für die WH65B modifizierten Sketch/Modul von fossy nehmen?
Danke für Eure Tipps & viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods