Hallo Zusammen,
ich habe hier ein Problem zwischen der Aktualisierung des STATE eines Dummys und der Aktualisierung meines UserReadings.
- Dummy repräsentiert ein Gerät (zb TV)
- Dummy hat STATE "on" oder "off"
- Status/Laufzeit des Gerätes soll gelogt und im Plot dargestellt werden -> SVG Plot benötigt Zahlen -> UserReading das on / off auf 1 / 0 umsetzt.
userReadings Status {if(Value("TV_PC") eq "on"){return "1"};;if(Value("TV_PC") eq "off"){return "0"}}
Nun zum Problem:
Es wird anscheinend ERST das UserReading aktualisiert und DANACH der STATE des Dummys.
Angenommen der Dummy steht auf off, Status 0.
-> set Dummy on --> Status 0
(zweites set Dummy on --> Status 1)
-> set Dummy off --> Status 1
(zweites set Dummy off --> Status 0)
-> set Dummy on --> Status 0
Kann man das ändern?
Danke,
Kharim
userReadings Status:state.* {(Value($name) eq "on")?1:0}
Gruß
Dan
Zitat von: DeeSPe am 26 Oktober 2016, 15:34:09
userReadings Status:state.* {(Value($name) eq "on")?1:0}
Gruß
Dan
Äh...jetzt bitte nochmal auf deutsch *sorry*
Ps.: Ich hab Value() auf ReadingsVal() umgeändert, und schon funktioniert es...nun wird beides korrekt "zeitgleich" geändert.....
By the way: Wo ist der Unterschied zwischen Value() und ReadingsVal()? ...der hier ja ganz entscheidend war..
Danke,
Kharim
ZitatValue($name) == ReadingsVal($name,"state","")
Ist das damit verständlicher?
Allerdings habe ich auch schon ein paar Mal die Erfahrung gemacht dass wenn man Value() verwendet teilweise noch der alte Wert drin steht.
Wenn man dann ReadingsVal() verwendet scheint wirklich der aktuelle Wert drin zu stehen.
Gruß
Dan
Zitat von: DeeSPe am 26 Oktober 2016, 16:27:37
Ist das damit verständlicher?
Das ist nicht korrekt, Value liefert das Internal STATE, welches erst nach den Readings ein update bekommt.
Zitat von: igami am 26 Oktober 2016, 18:40:33
Das ist nicht korrekt, Value liefert das Internal STATE, welches erst nach den Readings ein update bekommt.
Danke für die Erklärung.
Somit ist auch klar warum ReadingsVal($name,"state","") aktueller als Value() ist.
Auch wieder was dazu gelernt.
Gruß
Dan
Zitat von: igami am 26 Oktober 2016, 18:40:33
Das ist nicht korrekt, Value liefert das Internal STATE, welches erst nach den Readings ein update bekommt.
Das pinn ich mir ganz oben an. Danke :-)