Hallo zusammen,
ich versuche nun seit einiger Zeit userreadings zu erstellen die abhängig von Value gesetzt werden.
folgendes funktioniert zwar grundsätzlich:
A {if (ReadingsNum($name,"wert",0) > 10) {ReadingsNum($name,"wert",0)}},
B {if (ReadingsNum($name,"wert",0) > 3 && ReadingsNum($name,"wert",0) < 6) {ReadingsNum($name,"wert",0)}},
C {if (ReadingsNum($name,"wert",0) > 5 && ReadingsNum($name,"wert",0) < 11) {ReadingsNum($name,"wert",0)}},
D {if (ReadingsNum($name,"wert",0) < 3) {ReadingsNum($name,"wert",0)}}
es wird aber immer der vorher gesetzte wert auf NULL gesetzt und auch entsprechend in der DB eingetragen.
Also ist z.B. das Reading A mit 12 gestezt, wird beim nächsten Durchlauf bei jedem Wert < 11 das passende Reading gesetzt, gleichzeitig aber auch das Reading A zurückgesetzt und in der DB wird Value NULL eingetragen.
Wie bekomme ich es hin dass immer nur das Zutreffende Reading gesetzt wird und die anderen nicht verändert werden?
Ob das, was Du da vorhast, wirklich Sinn ergibt, kann ich mir nur schwer vorstellen, aber beispielswesie so kannst Du die Aufgabenstellung lösen:
attr test userReadings A {ReadingsNum($name,"wert",0) > 10 ? ReadingsNum($name,"wert",0) : undef},\
B {ReadingsNum($name,"wert",0) > 3 && ReadingsNum($name,"wert",0) < 6 ? ReadingsNum($name,"wert",0) : undef},\
C {ReadingsNum($name,"wert",0) > 5 && ReadingsNum($name,"wert",0) < 11 ? ReadingsNum($name,"wert",0) : undef},\
D {ReadingsNum($name,"wert",0) < 3 ? ReadingsNum($name,"wert",0) : undef}
Hey Betateilchen, das ist genau das was ich gesucht habe. Wieder etwas gelernt!
Danke!