günstige Wetterstation CTW-600, WS-0101, WS/WH1080 sduino

Begonnen von chris1284, 26 Juli 2015, 19:56:57

Vorheriges Thema - Nächstes Thema

Ralf9

hier sind die entscheidenden Unterschiede:

-         if($wh == "11111111") {
-                my $datacheck = pack( 'H*', substr($msg,5,length($msg)-5) );
-                my $crcmein = Digest::CRC->new(width => 8, poly => 0x31);
-                my $rr2 = $crcmein->add($datacheck)->hexdigest;
-                if ($rr2 eq "0"){
-                    $model = "WH1080";
-                    Log3 $iohash, 3, "$name: SD_WS09_Parse CRC_OK:  CRC=$rr2 Model=$model" ;
-                }else{
-                    Log3 $iohash, 3, "$name: SD_WS09_Parse CRC_Error:  CRC=$rr2 " ;
-                    return undef;
-                }
-            }else{
-                $model = "CTW600";         
-            };
-                 
-         if( ($wh == "11111111") || ($model eq "WH1080")) {
+         #if($wh == "11111111") {
+          my $datacheck = pack( 'H*', substr($msg,5,length($msg)-5) );
+          my $crcmein = Digest::CRC->new(width => 8, poly => 0x31);
+          my $rr2 = $crcmein->add($datacheck)->hexdigest;
+          if ($rr2 eq "0"){
+                $model = "WH1080";
+                Log3 $iohash, 3, "SD_WS09_Parse CRC_OK:  CRC=$rr2 Model=$model" ;
+         }else{
+            $model = "CTW600";
+            Log3 $iohash, 3, "SD_WS09_Parse CRC_Error: CRC=$rr2 , Model is now=$model" ;
+         }
+         
+         if($model eq "WH1080") {


Damit
if($wh == "11111111") {
ist keine sichere und zuverlässige Unterscheidung möglich.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Sidey

Müsste da nicht auch mit eq geprüft werden, da das ja ein String ist?
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

scooty

Zitat von: Sidey am 14 Mai 2016, 18:57:07
Naja, erkläre mir mal, wie Du diese alte Version wieder installiert hast.
Die "14_SD_WS09.pm" von Ralf9 in das Verzeichnis /opt/fhem/FHEM kopiert, die bestehende "14_SD_WS09.pm" (dev-r32 Version) somit überschrieben und FHEM neu gestartet.

Viele Grüße,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

Ralf9

Zitat von: Sidey am 14 Mai 2016, 19:02:19
Müsste da nicht auch mit eq geprüft werden, da das ja ein String ist?

Ja, "eq" ist da besser.
"==" funktioniert aber auch, da  "11111111" als Zahl interpretiert wird.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Sidey

Ja, solange eine zusätzliche Führende 0 kein Problem darstellt kann man es so lassen.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

pejonp

Zitat von: Sidey am 14 Mai 2016, 19:10:56
Ja, solange eine zusätzliche Führende 0 kein Problem darstellt kann man es so lassen.
Hallo,

der Unterschied in der jetzigen Version gegenüber der von Ralf ist, das wenn eine WH1080 am String :
if($wh == "11111111") {
erkannt wird, wird die CRC geprüft. Wenn die CRC <> 0 ist, wird abgebrochen.

In Ralfs Version wird bei CRC <> 0 auf CTW600 gesetzt und weitergemacht. Wenn es damit besser funktioniert, kann es eingebaut werden. Sehe ich kein Problem. Kann es jetzt aber nicht machen, da ich morgen in den Urlaub fliege. Bitte eine Woche Geduld, oder jemand anders checkt es ein. Danke.

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

FEHMPiDi

Hallo,

Ich habe mir mal die Version auf die Scooty verwiesen hat installiert. Danke für den Hinweis Scooty. Bei mir wird jetzt das Signal der CTW600 wesentlich öfters erkannt als vorher  :D. Vorher war es ca. alle 5min, mit der jetzigen Version der 14_SD_WS09.pm" von Ralf9 kommt ca. alle 1 bis 1,5 min ein Update. Allerdings nicht ganz regelmäßig. Ich habe mal auf Verbose 5 einige Zeit mitgeloggt und festgestellt das in unregelmäßigen Abständen der CRC=0 ergibt und dann eine WH1080 erkannt wird. Das wundert mich allerdings, da ich definitiv die CTW600 habe und auch kein Nachbar ein WH1080 hat. Kann da in der CRC Berechnung noch ein Bug sein? Scooty, kannst Du das bei Dir auch beobachten?
Ich kann bei Bedarf mal den Log einstellen wenn es etwas bringen würde.

Danke
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

scooty

Bei mir ist es genau umgekehrt, bin mir sicher eine WH1080 (Empfang über 868MHz) zu haben, aber viel häufiger wird eine CTW600 erkannt  (und die Readings upgedatet) als eine WH1080  (update nur ca. 3-5 mal am Tag), habe aber durch autocreate beide Devices.
Ich interpretiere das so, dass evtl. die CRC-Berechnung nicht so ganz stimmig ist?
Nur eine Vermutung.

Bin wegen fehlender tiefgehender perl-Kenntnisse da leider raus, liefere aber auch gerne weitere Logs.

Andreas 
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

djbone92

Hey Leute

Hätte einer eine Idee, warum bei mir nur so wenige der empfangenen Daten entschlüsselt werden?

2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse Bin=1111111010111101010010001000010101100000000000000000000000010000001111000010000010010000 syncp=0 length:88
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse CTW WH=11111110 msg=10111101010010001000010101100000000000000000000000010000001111000010000010010000 syncp=0 length:80
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse Id: 1011 Bin-Sync=10111101010010001000010101100000000000000000000000010000001111000010000010010000 syncp=0 length:80
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse CTW600 Windspeed bit: 00000000 Dec: 0.0
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse CTW600 Windguest bit: 00000000 Dec: 0.0
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse CTW600 Rain bit: 0000010000001111 Dec: 311.7
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse CTW600 id:53 :10111101010010001000010101100000000000000000000000010000001111000010000010010000
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse CTW600 id:53, bat:5, temp=14.5, hum=88, winddir=8:S wS=0.0, wG=0.0, rain=311.7
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home T: 14.5 H: 88 Ws: 0.0 Wg: 0.0 Wd: S R: 311.7
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home temperature: 14.5
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home humidity: 88
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home battery: 5
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home id: 53
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home rain: 311.7
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home windGust: 0.0
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home windSpeed: 0.0
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home windDirection: 8
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home windDirectionDegree: 180
2016-06-29 02:41:28 SD_WS09 Wetterstation_Home windDirectionText: S
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse Bin=111010111101010010001000010101100000000000000000000000010000001111000010000010010000 syncp=-1 length:84
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse EXIT: msg=EBD4885600000103C2090 syncp=-1 length:84
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse Bin=111010111101010010001000010101100000000000000000000000010000001111000010000010010000 syncp=-1 length:84
2016.06.29 02:41:28 3 : sduino868: SD_WS09_Parse EXIT: msg=EBD4885600000103C2090 syncp=-1 length:84
2016-06-29 02:41:28 SIGNALduino sduino868 UNKNOWNCODE P9#EBD4885600000103C2090
2016.06.29 02:41:28 3 : sduino868: Unknown code P9#EBD4885600000103C2090, help me!

2016.06.29 02:42:16 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100001000001001000 syncp=1 length:88
2016.06.29 02:42:16 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6
2016.06.29 02:42:16 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100001000001001000 syncp=1 length:88
2016.06.29 02:42:16 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6

2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse Bin=1111111010111101010010001000010101100000000000000000000000010000001111000001000101100000 syncp=0 length:88
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse CTW WH=11111110 msg=10111101010010001000010101100000000000000000000000010000001111000001000101100000 syncp=0 length:80
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse Id: 1011 Bin-Sync=10111101010010001000010101100000000000000000000000010000001111000001000101100000 syncp=0 length:80
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse CTW600 Windspeed bit: 00000000 Dec: 0.0
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse CTW600 Windguest bit: 00000000 Dec: 0.0
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse CTW600 Rain bit: 0000010000001111 Dec: 311.7
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse CTW600 id:53 :10111101010010001000010101100000000000000000000000010000001111000001000101100000
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse CTW600 id:53, bat:5, temp=14.5, hum=88, winddir=4:E wS=0.0, wG=0.0, rain=311.7
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home T: 14.5 H: 88 Ws: 0.0 Wg: 0.0 Wd: E R: 311.7
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home temperature: 14.5
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home humidity: 88
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home battery: 5
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home id: 53
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home rain: 311.7
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home windGust: 0.0
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home windSpeed: 0.0
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home windDirection: 4
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home windDirectionDegree: 90
2016-06-29 02:43:04 SD_WS09 Wetterstation_Home windDirectionText: E
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse Bin=10111101010010001000010101100000000000000000000000010000001111000001000101100000 syncp=-1 length:80
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse EXIT: msg=BD4885600000103C1160 syncp=-1 length:80
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse Bin=10111101010010001000010101100000000000000000000000010000001111000001000101100000 syncp=-1 length:80
2016.06.29 02:43:04 3 : sduino868: SD_WS09_Parse EXIT: msg=BD4885600000103C1160 syncp=-1 length:80
2016-06-29 02:43:04 SIGNALduino sduino868 UNKNOWNCODE P9#BD4885600000103C1160
2016.06.29 02:43:04 3 : sduino868: Unknown code P9#BD4885600000103C1160, help me!

2016.06.29 02:43:52 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100000100010110000 syncp=1 length:88
2016.06.29 02:43:52 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:43:52 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100000100010110000 syncp=1 length:88
2016.06.29 02:43:52 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84

2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100000110001110100 syncp=1 length:88
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100000110001110100 syncp=1 length:88
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse Bin=111110101111010100100010000101011000000000000000000000000100000011110000011000111010 syncp=-1 length:84
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse EXIT: msg=FAF5221580000040F063A syncp=-1 length:84
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse Bin=111110101111010100100010000101011000000000000000000000000100000011110000011000111010 syncp=-1 length:84
2016.06.29 02:44:40 3 : sduino868: SD_WS09_Parse EXIT: msg=FAF5221580000040F063A syncp=-1 length:84
2016-06-29 02:44:40 SIGNALduino sduino868 UNKNOWNCODE P9#FAF5221580000040F063A
2016.06.29 02:44:40 3 : sduino868: Unknown code P9#FAF5221580000040F063A, help me!

2016.06.29 02:45:28 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100000110001110100 syncp=1 length:88
2016.06.29 02:45:28 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:45:28 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000000000001000000111100000110001110100 syncp=1 length:88
2016.06.29 02:45:28 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84

2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000100100011000 syncp=1 length:88
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000100100011000 syncp=1 length:88
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse Bin=111110101111010100100010000101011000000000010000001000000100000011110000010010001100 syncp=-1 length:84
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse EXIT: msg=FAF5221580102040F048C syncp=-1 length:84
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse Bin=111110101111010100100010000101011000000000010000001000000100000011110000010010001100 syncp=-1 length:84
2016.06.29 02:46:16 3 : sduino868: SD_WS09_Parse EXIT: msg=FAF5221580102040F048C syncp=-1 length:84
2016-06-29 02:46:16 SIGNALduino sduino868 UNKNOWNCODE P9#FAF5221580102040F048C
2016.06.29 02:46:16 3 : sduino868: Unknown code P9#FAF5221580102040F048C, help me!

2016.06.29 02:47:04 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000100100011000 syncp=1 length:88
2016.06.29 02:47:04 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:47:04 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000100100011000 syncp=1 length:88
2016.06.29 02:47:04 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84

2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000100100011000 syncp=1 length:88
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000100100011000 syncp=1 length:88
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse Bin=11010111101010010001000010101100000000001000000100000010000001111000001001000110 syncp=-1 length:80
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse EXIT: msg=D7A910AC008102078246 syncp=-1 length:80
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse Bin=11010111101010010001000010101100000000001000000100000010000001111000001001000110 syncp=-1 length:80
2016.06.29 02:47:52 3 : sduino868: SD_WS09_Parse EXIT: msg=D7A910AC008102078246 syncp=-1 length:80
2016-06-29 02:47:52 SIGNALduino sduino868 UNKNOWNCODE P9#D7A910AC008102078246
2016.06.29 02:47:52 3 : sduino868: Unknown code P9#D7A910AC008102078246, help me!

2016.06.29 02:48:40 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000010000001000000111100000110001111000 syncp=1 length:88
2016.06.29 02:48:40 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6
2016.06.29 02:48:40 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000010000001000000111100000110001111000 syncp=1 length:88
2016.06.29 02:48:40 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6

2016-06-29 02:49:28 SIGNALduino sduino868 opened
2016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000001000001000000111100000110101000000 syncp=1 length:882016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse CRC_Error:  CRC=e6 2016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000000000001000001000000111100000110101000000 syncp=1 length:882016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse CRC_Error:  CRC=e6 2016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse Bin=111010111101010010001000010101100000000000000000010000010000001111000001101010000000 syncp=-1 length:842016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse EXIT: msg=EBD4885600004103C1A80 syncp=-1 length:842016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse Bin=111010111101010010001000010101100000000000000000010000010000001111000001101010000000 syncp=-1 length:842016.06.29 02:49:28 3 : sduino868: SD_WS09_Parse EXIT: msg=EBD4885600004103C1A80 syncp=-1 length:842016-06-29 02:49:28 SIGNALduino sduino868 UNKNOWNCODE P9#EBD4885600004103C1A80
2016.06.29 02:49:28 3 : sduino868: Unknown code P9#EBD4885600004103C1A80, help me!

2016.06.29 02:50:16 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100001000111100000 syncp=1 length:88
2016.06.29 02:50:16 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6
2016.06.29 02:50:16 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100001000111100000 syncp=1 length:88
2016.06.29 02:50:16 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6

2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000110111011100 syncp=1 length:88
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100001010110000000000100000010000001000000111100000110111011100 syncp=1 length:88
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=84
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse Bin=111010111101010010001000010101100000000001000000100000010000001111000001101110111000 syncp=-1 length:84
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse EXIT: msg=EBD4885600408103C1BB8 syncp=-1 length:84
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse Bin=111010111101010010001000010101100000000001000000100000010000001111000001101110111000 syncp=-1 length:84
2016.06.29 02:51:04 3 : sduino868: SD_WS09_Parse EXIT: msg=EBD4885600408103C1BB8 syncp=-1 length:84
2016-06-29 02:51:04 SIGNALduino sduino868 UNKNOWNCODE P9#EBD4885600408103C1BB8
2016.06.29 02:51:04 3 : sduino868: Unknown code P9#EBD4885600408103C1BB8, help me!

2016.06.29 02:51:52 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100000010110000000000100000010000001000000111100000010110000100 syncp=1 length:88
2016.06.29 02:51:52 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6
2016.06.29 02:51:52 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100000010110000000000100000010000001000000111100000010110000100 syncp=1 length:88
2016.06.29 02:51:52 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6

2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100000010110000000000100000010000001000000111100000110000001100 syncp=1 length:88
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse Bin=1111111101011110101001000100000010110000000000100000010000001000000111100000110000001100 syncp=1 length:88
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse CRC_Error: CRC=e6
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse Bin=01011110101001000100000010110000000000100000010000001000000111100000110000001100 syncp=-1 length:80
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse EXIT: msg=5EA440B00204081E0C0C syncp=-1 length:80
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse Bin=01011110101001000100000010110000000000100000010000001000000111100000110000001100 syncp=-1 length:80
2016.06.29 02:52:40 3 : sduino868: SD_WS09_Parse EXIT: msg=5EA440B00204081E0C0C syncp=-1 length:80
2016-06-29 02:52:40 SIGNALduino sduino868 UNKNOWNCODE P9#5EA440B00204081E0C0C
2016.06.29 02:52:40 3 : sduino868: Unknown code P9#5EA440B00204081E0C0C, help me!

2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse Bin=1111111010111101010010001000000101100000000000000000010000010000001111000001100100100000 syncp=0 length:88
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse CTW WH=11111110 msg=10111101010010001000000101100000000000000000010000010000001111000001100100100000 syncp=0 length:80
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse Id: 1011 Bin-Sync=10111101010010001000000101100000000000000000010000010000001111000001100100100000 syncp=0 length:80
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse CTW600 Windspeed bit: 00000000 Dec: 0.0
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse CTW600 Windguest bit: 00000100 Dec: 1.4
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse CTW600 Rain bit: 0000010000001111 Dec: 311.7
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse CTW600 id:53 :10111101010010001000000101100000000000000000010000010000001111000001100100100000
2016.06.29 02:53:28 3 : sduino868: SD_WS09_Parse CTW600 id:53, bat:5, temp=14.4, hum=88, winddir=6:SE wS=0.0, wG=1.4, rain=311.7
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home T: 14.4 H: 88 Ws: 0.0 Wg: 1.4 Wd: SE R: 311.7
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home temperature: 14.4
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home humidity: 88
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home battery: 5
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home id: 53
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home rain: 311.7
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home windGust: 1.4
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home windSpeed: 0.0
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home windDirection: 6
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home windDirectionDegree: 135
2016-06-29 02:53:28 SD_WS09 Wetterstation_Home windDirectionText: SE


Danke
mfg
Mike

FEHMPiDi

Hallo, ich wollte mal fragen ob das Phänomen mit der sporadischen falschen Erkennung von der ctw600 und wh1080 gelöst ist, bzw. ob es eine neue Version des Moduls gibt?

Gesendet von meinem SM-G901F mit Tapatalk

FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

Mexx13

#220
Hallo liebe FHEM Benutzer,
ich habe eine Wetterstation WH1080 und bin echt begeistert, sie liefert als autarkes Einsteigermodell schon recht viele Daten zum geringen Preis. Ich betreibe sie jetzt schon über ein paar Monate mit dem Signalduino (RX868SH-DV, 868,35 MHz) am Rasperry PI.

Schon mal Danke für die Entwicklung  :D !!!  Ich habe ja leider nur geringe Programmierkenntnisse.

So jetzt zu meinen Beobachtungen/Verbesserungsvorschlägen:
Wenn ich nach dem normalen FHEM Update den Signalduino flashe, bekomme ich nur sporadische WH1080/CTW600 (autocreate hat beide angelegt) Readings. Die CTW600 Werte werden öfters geloggt ca. alle 15 min.

Die Abhilfe bringts, wenn ich die Datei ,,14_SD_WS09.pm" mit der von Ralf9 ersetze. Jetzt habe ich das gleiche Phänomen wie bei Andreas. Ich bekomme alle 48 Sekunden die Readings  :D, des CTW600 Devices obwohl ich eine WH1080 habe. Dies ist ja nicht so schlimm aber die 2 Devices sind unterschiedlich. Das heißt jetzt Temperatur, Luftfeuchte, Taupunkt, Regen, Windrichtung sind Okay. Nur die Wind-Geschwindigkeiten stimmen mit der am Display angezeigten nicht überein. Je nach Windstärke ist die Abweichung unterschiedlich.  :(

Das 2te größere Problem das ich sehe ist die Signal Qualität bzw. falsche Demodulierung der Wetterstation. Ich bekomme zu gewissen Uhrzeit ca. 5-mal am Tag wahnsinnige Abweichungen. Man sehe den Sprung im angehängten Diagramm. Pünktlich jeden Tag um ca. 2.00, 8.00, 20.00 Uhr, ...   Temperaturen im Minusbereich, Regen bei 5000,...
Das stört mich schon gewaltig da dann ja die min. und max. Werte nicht mehr passen. Diese Problematik hatte ich schon immer, nur jetzt tritt es öfters auf da ich ja alle 48 Sekunden die Readings bekomme.

Tritt das bei euch auch so auf??? Oder Hardware Problem bei mir???
Kann man da nicht ein Treshold einführen bei LaCrosse gibt es das ja schon?
Oder hilft es vielleicht die Module CTW600 und WH1080 zu trennen? CRC-Berechnung

Bild 1, 1 Tag, 28 Juni: viele Datensätze (alle 48 sek.), mit Fehlsignalen und falscher Wind-Geschwindigkeit  ++Ralf's "14_SD_WS09.pm" Datei++
Bild 2, 1 Tag, 8. Mai: Wenig Daten Sätze, auch mit Fehlsignalen und falscher Wind-Geschwindigkeit ++Normales Update++
Bild 3, 1 Woche, ab 23. Juni: fortlaufend immer wieder mit Fehlsignalen ++Ralf's "14_SD_WS09.pm" Datei++

Vielen Dank für eure Mühe ich würde mich freuen wenn die Entwicklung voranschreitet.
Beste Grüße
Max  ;D

PS.: Solltet ihr noch Log's benötigen bitte melden.
Fronius Gen24 8.0 Plus, BYD HVM 11.0, Ochner Europa 333 Genius, USR W630 Modbus RTU to TCP, Fritzbox
Raspberry PI, DB-Log, Open-VPN, Jeelink-LaCrosse, Signalduino-WH1080, Busware SCC, CUL 868MHz -Homematic, ESP8266,...

pejonp

Hallo,

leider geht nur eins, entweder mit CRC Berechnung (richtige Werte, weniger Werte) oder ohne CRC-Berechnung, dann kommen die Ausreißer zu mindestens bei der WH1080.
Bei der CTW-600 habe ich noch keine CRC-Berechnung gefunden, damit könnten aber dann die beiden Stationen getrennt werden.
Bei der Anpassung von Ralf werden die Werte bei CRC != 0 als richtige CTW-600 Werte angenommen und durchgereicht.

Trotz CRC-Berechnung werden bei mir ca. alle 1min die Werte aktualisiert. (WH1080 + WS-0101)

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

FEHMPiDi

Ich habe die ctw600. Kann ich irgendwie erzwingen das er immer die ctw600 erkennt. Bei mir wird ziemlich häufig auch eine wh1080 erkannt. Ich möchte ungern beide Stationen im System haben.

Gesendet von meinem SM-G901F mit Tapatalk

FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

pejonp

Hallo,

du kannst
attr CTW600_3 ignore = 1
bei der Station setzten, dann wird diese nicht mehr angezeigt. Ich habe es bei mir für die CTW600 gemacht.

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

FEHMPiDi

Ich habe auch die ctw600. wenn ich deinen Vorschlag umsetze werden aber die Daten die als wh1080 erkannt werden, obwohl ich keine habe, ignoriert. Das heisst es fehlen mir dann sehr häufig Daten. Das find ich nicht gut.
Kann man es irgendwie hinkriegen das die Daten immer als ctw600 behandelt werden?

Gesendet von meinem SM-G901F mit Tapatalk

FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight