CUL_TCM97001 liefert für W132 "falsche Werte

Begonnen von Harst, 09 März 2019, 20:25:39

Vorheriges Thema - Nächstes Thema

Harst

Es ist ziemlich windig draußen, aber die vom W132 gelieferten Werte sind nie über 3 m/s.
Als ich in den Quellen gesehen habe, dass folgendes berechnet wird (Zeile 1019 un 1034):

              $windSpeed = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;

das dürfte falsch sein, denn
              $windSpeed = (hex($aReverse[6])*16 + hex($aReverse[7])) * 0.2;
erscheint mir der gewollte Wert.

Kann das sein?

Horst

Harst

Das Wochenende war richtig windig. Allerdings waren meine Korrekturen wohl falsch, denn dann ergaben sich 48 m/s oder 170 km/h. Das Datenblatt gibt 30 m/s als Maximum an. Bei 0.2 Auflösung scheint mir, dass die 8 Bit vom Wert aus 2 Digit zu bestehen.

  $windSpeed = (hex($aReverse[6])*10 + hex($aReverse[7])) * 0.2;

HomeAuto_User

Guten Morgen,
wenn deine Erkenntnisse belegbar sind und du diese getestet hast, so kannst du einen offiziellen Patch einreichen. Somit wird die Änderung ,,beantragt" das der Maintainer dies einarbeitet. Nach diesem Schritt ist es im offiziellen System.

Notwendig dafür:
- eine PatchDatei von deiner Arbeitskopie zur Orginaldatei
- im entsprechenden Faden des Maintainer dies reinstellen (am besten Threadthema mit Bezeichnung Patch + Modulname versehen)
- parallel dazu kurze Info an Maintainer ist immer gut
- abwarten ob er es übernimmt und ins SVN übernimmt

so wäre der richtige Weg ohne sich fremd zu vergreifen.


Gesendet von mobil -> Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

Harst


HomeAuto_User

Bitte :)
wenn noch Fragen sind, so helfe ich dir gern auch das File zu erstellen.

Grüße


Gesendet von mobil -> Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

andies

Zitat von: HomeAuto_User am 16 März 2019, 14:04:09
wenn noch Fragen sind, so helfe ich dir gern auch das File zu erstellen.
Ich bräuchte mal Hilfe. Es geht um bjoernh (Maintainer), der vermutlich in TCM97001.pm in Zeile 1757 den folgenden Code hat
         Log3 "Unknown", 2, "$iodev: CUL_TCM97001 Unknown device Unknown, please define it";

und ich würde
      Log3 "global", 2, "$iodev: CUL_TCM97001 Unknown device Unknown, please define it";

vorschlagen. Wo und wie reiche ich das ein bzw wo kann ich da was nachlesen?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

jochen.baur@web.de

#6
Hallo,

ich wollte das Gerät schon durch ein neues ersetzen, weil ich auch nur max 3m/s erreichen.
Der Patch ist wohl noch nicht eingeflossen.
Hab eben die Datei manuell angepasst. Wie kommt der Patch in das Paket damit beim nächsten Update nicht wieder die Korrektur überschrieben wird?

Gruß
Jochen

Harst

@@ -1019 +1019 @@ CUL_TCM97001_Parse($$)
-              $windSpeed = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;
+              $windSpeed = (hex($aReverse[6])*10 + hex($aReverse[7])) * 0.2;
@@ -1034 +1034 @@ CUL_TCM97001_Parse($$)
-              $windGuest = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;
+              $windGuest = (hex($aReverse[6])*10 + hex($aReverse[7])) * 0.2;

Das ist mein Patch dazu.

Horst

Ralf9

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

JensS

#9
Es freut mich, dass ihr euch des W132 erbarmt und dieser bald richtige Werte liefern wird.
Im SVN steht aber leider noch die 14_CUL_TCM97001.pm vom 2.7.19.

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

jochen.baur@web.de

Hallo Jens,

kannst einen anderen Windsensor empfehlen?
Freu mich zumindest jetzt das ich >3m/s geliefert bekommen, gerade rechtzeitig zur Sturmsaison.

Gruß
Jochen

JensS

Hallo Jochen, der W132 ist der einzige Windsensor, den ich besitze. Daher kann ich zu Anderen nichts schreiben. Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Ralf9

Hallo,

Könnt Ihr mal diesen Änderungswunsch für die Windrichtung anschauen:
https://forum.fhem.de/index.php/topic,101425.msg982113.html#msg982113


Für $windSpeed und $windGuest gibt es 2 verschiedene Änderungswünsche.

Zitat von: Harst am 15 Oktober 2019, 23:05:54
@@ -1019 +1019 @@ CUL_TCM97001_Parse($$)
-              $windSpeed = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;
+              $windSpeed = (hex($aReverse[6])*10 + hex($aReverse[7])) * 0.2;
@@ -1034 +1034 @@ CUL_TCM97001_Parse($$)
-              $windGuest = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;
+              $windGuest = (hex($aReverse[6])*10 + hex($aReverse[7])) * 0.2;


Zitat von: FrankL am 08 Oktober 2019, 20:59:43
Weiterhin denke ich, dass die Windgeschwindigkeiten bei Geschwindigkeiten über 3 m/s (entspricht Bitvalue > 15 * 0,2) falsch bzw zu niedrig berechnet werden. Allerdings habe ich keine Möglichkeit das praktisch zu testen. Ich habe hier das oben angebenene Datenblatt angeschaut. Demnach müssten folgende Zeilen meines Erachtens bei der Berechnung korrigiert werden:

Zeile 1022 alt:
$windSpeed = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;
Zeile 1022 neu:
$windSpeed = (hex($aReverse[6]) + hex($aReverse[7]) * 16) * 0.2;
Zeile 1037 alt:
$windGuest = (hex($aReverse[6]) + hex($aReverse[7])) * 0.2;
Zeile 1037 neu:
$windGuest = (hex($aReverse[6]) + hex($aReverse[7]) * 16) * 0.2;

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

Harst

Hallo,
das habe ich schon vor Monaten als Fehlerkorrektur eingereicht. Ist an meinem Sensor getestet und mit der Doku des Sensors konform (Beschreibung der Maximalgeschwindigkeit des Sensors passt ins Schema).

Der Patch wurde zwar zugesagt, aber leider nie eingespielt.

Horst

andies

Harst hatte vorher auf *10 und nicht *16 verwiesen, *10 ist richtig.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann