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_
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...
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.
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.