[14_CUL_TCM97001.pm] Fehlerbehebungen, Wünsche und Ergänzungen

Begonnen von Ralf9, 13 Juni 2019, 21:10:24

Vorheriges Thema - Nächstes Thema

hemonu

Zitat von: Ralf9 am 23 November 2024, 21:54:29Wenn beim KW9015 die Trend Bits das rain next ist, dann kann es kein Trend geben und es ist dann "$hastrend = FALSE;"

Ist dies demnach rain Bit 11+12 "Random ID part two or rain 2 MSB"
und dies rain Bit 9+10 "Trend (continous, rising, falling) or rain next 2 MSB"?


Das ist korrekt.
Herbert

monkye

#91
Zitat von: hemonu am 19 November 2024, 23:17:47Ich hätte noch einen Änderungswunsch für den KW9015 bzw. TFA Drostmann 30.3161:

...Schnipp...

Ich habe das bei mir quick und dirty gefixt:

            $retCheck = checkValues($hash,"KW9015",$temp);
            if ($retCheck) {
                $hasrain = TRUE;
                $rain = (((hex($aReverse[1]) & 0x3)) * 1024 + ((hex($aReverse[2]) & 0x6)) * 128 + $rainHum) * 0.45;

Aber natürlich wird der Trend weiter (falsch) ausgegeben.

Vielleicht kann das bei der nächsten Überarbeitung des Moduls mit berücksichtigt werden.

LG

Herbert


Kann es sein, dass es anstatt
(hex($aReverse[1]) & 0x3)
eigentlich

hex($aReverse[1]) & 0xC
heißen müsste?

Und noch etwas: Der Zähler läuft bei mir mit 10Bit über (was ja zu 10 Bit passen würde), danach sehe ich den Sensor mit einer neuen ID im Event Monitor und dann ist ,,Schicht im Schacht"...


Nachtrag: Wenn die Nibbles schon revers vorliegen, dann ist Herberts Code korrekt.

Aber ich kapiere nicht, warum sich die ID für den Sensor ändert, also vorher CUL_TCM97001_240, danach CUL_TCM97001_242...
(Die Adresse des Sensors steht doch im 1. Nibbles beim 30.3161)

monkye

Hab' es raus: Die ID kommt aus den ersten beiden Nibbles, da aber im 2. Nibble die Bits 12+11 vom Regenzähler liegen, dann ändert sich auch die ID. Da werde ich mir eine ,,Krücke" bauen müssen.

monkye

#93
Bei der Berechnung für die 12-Bit Variante gab es doch noch etwas zu fixen:

$rain = round((((hex($aReverse[1]) & 0xC)) * 256 + ((hex($aReverse[2]) & 0x6)) * 128 + $rainHum) * 0.45 - $rain_startval,2);

Nachtrag: Falls Interessse besteht, dann kann ich gerne die für 12-Bit erweiterte Variante (14_CUL_TCM97001.pm) hier einstellen. Denn ohne die Anpassung der ID geht es nicht.

Ralf9

Bitte poste mal die für 12-Bit erweiterte Variante (14_CUL_TCM97001.pm)

Hilfreich zum Testen sind die empfangene msg in der Form "sA380C1698000" vor und nach dem 10 Bit Überlauf.

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

monkye

#95
Moin Ralf,

die Dateien anbei. Zur Beachtung: Die Anzeige "passt nicht" direkt zur Anzeige aus dem Log, weil ich den Jahresanfangwert für die Visualiserung abziehe (als Konstante --> siehst Du auch in meiner Anpassung) - für dieses Jahr waren das 83,7L.

Der Unterschied liegt in der Auftrennung der ID von 8 auf 6 Bit. Nebenwirkungen kann ich natürlich nicht testen, weil mir dazu die notwendige Entwicklungsumgebung und Hardware (bzw. Testwerte) fehlt.
Bei der Adressänderung auf 6 Bit könnte man noch den CRC für die KW9015 hinzunehmen - falls das hilft...

Nachtrag: Und beim Nachstellen des Szenarios ist mir dann aufgefallen, dass die Berechnung von Herbert mit den höherwertigen Bits (die Maskierung mit 0x3 + Multiplikation mit 1024) nicht stimmen kann,