FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: _fhemuser_ am 02 Oktober 2022, 13:10:52

Titel: UserReadings mit difference funktionieren nicht
Beitrag von: _fhemuser_ am 02 Oktober 2022, 13:10:52
Hallo,

da mir ein Hardwaresensor fehlt, möchte ich einen Status ausrechnen.

Dazu berechne ich Temperaturunterschiede.

Mit DIF differential {ReadingsVal("Temp1", "T1", 1)*30}, erhalte ich annähernd die Unterschiede die im 30 Sekundenrhytmus übertragen werden.
Mit DIF2 difference {ReadingsVal("Temp1", "T1", 1) }, erhalte ich immer 0.

ist die Sytax für difference und differential unterschiedlich?

Besten Dank
_fhemuser_
Titel: Antw:UserReadings mit difference funktionieren nicht
Beitrag von: Beta-User am 02 Oktober 2022, 16:31:55
Einmal mehr: https://forum.fhem.de/index.php/topic,71806.0.html

Meine Glaskugel meint, dass es helfen könnte einen passenden trigger zu ergänzen...
Titel: Antw:UserReadings mit difference funktionieren nicht
Beitrag von: _fhemuser_ am 03 Oktober 2022, 11:43:19
Das hilft leider nicht weiter.

In der Foren- und WikiSuche habe ich dazu nichts gefunden.

In der Commandref steht nur, dass der trigger optional ist.

Bei differential funktioniert es ohne Trigger korrekt.

Der Timestamp ändert sich bei beiden UserReadings nach jeder Temperaturaktualisierung. Also wird auch etwas berechnet

Wenn ich einen Trigger angebe zB DIF2:T1 difference {ReadingsVal("Temp1", "T1", 1) }, wird der Timestamp ncht verändert, was auf einen Fehler hindeutet.

Wenn ich die Zeile andere auf:  DIF2:T1.* difference {ReadingsVal("Temp1", "T1", 1) }, wird der Timestamp verändert, aber ich erhalte auch immer 0.

Ich werde wohl den fehlenden Sensor nachrüsten müssen.
Titel: Antw:UserReadings mit difference funktionieren nicht
Beitrag von: Beta-User am 03 Oktober 2022, 11:49:09
Solange du nicht zeigst, um was es überhaupt geht (list!), wird keiner wirklich helfen können.

Das mit "optional" ist in den meisten Fällen schlicht irreführend, "eigentlich" ist es fast immer PFLICHT!

Und in der Tat war deine Version 1 halt unvollständig, ganz korrekt sollte für V2 hinter dem Reading-Namen dann noch ein Doppelpunkt kommen.