KS300 Windgeschwindigkeit und Temperatur

Begonnen von noansi, 16 Dezember 2017, 21:30:29

Vorheriges Thema - Nächstes Thema

noansi

Hallo Rudolf,

ich habe noch mit einer WS300-PC herrausfinden können, dass die 100er Stelle der Windgeschwindigkeit beim KS300 in Bit 2 des Adressnibbles steckt, also bei Dir $a[17] in 13_KS300.pm.

Wenn Du also in Zeile 194 von 13_KS300.pm
$v[2] = sprintf("%0.1f", ("$a[25]$a[24].$a[23]"+0) * $def->{WINDUNIT});
ersetzt durch
$v[2] = sprintf("%0.1f", ("$a[25]$a[24].$a[23]"+(hex($a[17])&0x4?100:0)) * $def->{WINDUNIT});
können auch Windgeschwindigkeiten von 100.0 bis 199.9km/h richtig dekodiert werden (und damit orkanartige Winde nicht zu keinem oder einem bischen Wind verkümmern  :-\ ).

Bei 199.9 sagt die WS300-PC übrigens dann"----", da man wohl davon ausgegangen ist, dass bei der Windgeschwindigkeit der Sensor sicher weg fliegt.  ;)

Das Vorzeichen der Temperatur hängt in Bit 3 des Adressnibbles analog zu den anderen WS Temperatursensoren.
Daher kann ich in Zeile 196
$v[4] = "-$v[4]" if($a[17] eq "7");
mit meiner KS300 nicht nachvollziehen?!?
Sondern nur Zeile 205
$v[4] = -$v[4] if(hex($v[8]) & 8);

Bei schwerem Sturm++ und Regen würde mit dem Vorzeichenwechsel in Zeile 196 mit meiner KS300 wohl das falsche Vorzzeichen herraus kommen, da ich Bit 0 bisher immer nur auf 1 gesehen habe.

Gruß, Ansgar.

rudolfkoenig

Danke fuer die Hinweise, habe beide eingebaut.
Darf ich fragen, wie/wo du solche Winde gemessen hast? Ich suche schon lange nach einer Kalibrierungsmoeglichkeit.

noansi

#2
Hallo Rudolf,

ZitatDarf ich fragen, wie/wo du solche Winde gemessen hast?

Kräftig gepustet.  ;D :o ;)

Nein, ich habe sie nicht gemessen, sondern Telegramme im Sensorintervall an die WS300-PC gesendet und dabei kam dann mit der Nutzung des ungenutzten Bits 2 der richtige Wert >= 100.0 im Display an, sonst immer 100 zu wenig. Im Grunde analog zum S2000W, nur mit einem anderen Bit.

Im Grunde erscheint mir jetzt Bit 0 im Adressnibble noch "verdächtig" sinnlos auf Dauer 1. Aber es "sorgt" immerhin für das richtige Sendeintervall, wenn die oberen 3 zu 0 maskiert werden.

Gruß, Ansgar.