Hallo Zusammen,
falls es die falsche Rubrik ist, dann bitte verschieben.
Also, ich setze Nachbauten des WS7000-20 (433MHz, Luftfeuchte, Temperatur, Luftdruck, max. 8 Sensoren) ein, da ich damit gute Reichweite erziele und das verbauen kann, was gerade ,,übrig" ist. Angelehnt habe ich mich an die freundliche Vorarbeit auf dieser Seite (kennen sicher die Meisten schon) https://www.f6fbb.org/domo/sensors/ws7000_20.php.
Der Sensor wird erkannt und liefert auch Readings.
Jetzt die Frage: Im Originalprotokoll wird der Luftdruck mit einem Offset von -200Pa gesendet. Aber wenn ich die Anzeige am LCD des Sensors vergleiche, dann stimmt das einfach nicht. Es ist gefühlt ein ,,komischer" Wert. Vielleicht ist das auch das Ergebnis einer Korrektur auf NN.
Tipps sind sehr willkommen oder Links oder oder oder...
Der WS7000-20 wird von der 14_CUL_WS.pm verarbeitet.
Dort steht
210 if($typbyte == 4 && int(@a) > 10) { # temp/hum/press
211 $sgn = ($firstbyte&8) ? -1 : 1;
212 $tmp = $std->($sgn * ($a[6].$a[3].".".$a[4]) + $hash->{corr1});
213 $hum = ($a[7].$a[8].".".$a[5]) + $hash->{corr2};
214 $prs = ($a[9].$a[10])+ 900 + $hash->{corr3};
215 if($prs < 930) {
216 $prs = $prs + 100;
217 }
218 $val = "T: $tmp H: $hum P: $prs";
219 $devtype = "Indoor";
220 $family = "WS7000";
221 $NotifyType="T H P";
222 $NotifyTemperature=$tmp;
223 $NotifyHumidity=$hum;
224 $NotifyPressure=$prs;
225 }
corr3 kann am define angehängt werden, siehe in der command ref
Gruß Ralf
Danke Ralf, das würde ich dann gleich mal machen. Da kann ich ja bei Bedarf sogar noch ein paar Abweichungsparameter aus dem Sensor wieder rausnehmen - super.
Hallo Ralf, es funktioniert bestens. Die kleine Differenz entsteht durch die Rundung, bevor ich das Signal sende - und es ist der Wert passend zur Höhe (über NN).