FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Jamo am 29 Januar 2019, 08:41:43

Titel: OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: Jamo am 29 Januar 2019, 08:41:43
Hallo,
nach einem save und anschliessendem shutdown/restart ist der Wert von OldReadingsVal immer undefined. Ich verstehe das der OldReadingsVal ein Internal ist und kein Reading, aber sollte der Wert nicht beim 'Save config' trotzdem gespeichert werden, so dass der OldReadingsVal einen neustart übersteht?
Immerhin hängt zumindest bei mir die Programmausführung davon ab.
Wenn man den OldreadingsVal in einer Bedingung benutzt, kommt erstmal das falsche Ergebnis, das muss man dann mühsam abfangen.

Ist das gewollt, so das man sich für diese Funktion lieber ein userreading definiert?
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: CoolTux am 29 Januar 2019, 08:51:49
Naja ein Internal ist es nicht, es ist schon ein Reading. Aber ob es im statefile gespeichert wird kann ich gerade nicht sagen. Muss ich selbst erstmal schauen.
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: Jamo am 29 Januar 2019, 08:59:08
Wird im statefile nicht gespeichert, kann man an einem dummy schnell ausprobieren. Nach einem neustart liefert bei mir z.B.  {OldReadingsVal("Telefon","Rufbehandlung","none")} immer ein 'none', danach aber immer den richtigen alter Readingswert.
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: CoolTux am 29 Januar 2019, 09:09:50
Was in meinen Augen auch Sinn macht. Es gab bis zum Start ja auch noch keine alten Readings. Der Status eines Gerätes ist ja bis zum ersten einlesen auch unbekannt.
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: rudolfkoenig am 29 Januar 2019, 11:41:15
Zitatsollte der Wert nicht beim 'Save config' trotzdem gespeichert werden, so dass der OldReadingsVal einen neustart übersteht?
Das waere eine erhebliche Aenderung, und ich bin z.Zt. noch nicht ueberzeugt, dass es Wert ist.
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: Jamo am 29 Januar 2019, 11:59:23
ZitatWas in meinen Augen auch Sinn macht. Es gab bis zum Start ja auch noch keine alten Readings. Der Status eines Gerätes ist ja bis zum ersten einlesen auch unbekannt.
Natürlich hat es zum Start schon ein altes Reading gegeben. Es wird ja auch gespeichert ob ich 'home' oder 'absent' bin. Wenn mich aber interessiert ob ich vorher 'awoken' oder 'asleep' war, bevor ich auf 'home' stelle, dann kann ich das nach einem Neustart nicht mehr feststellen.
ZitatDas waere eine erhebliche Aenderung, und ich bin z.Zt. noch nicht ueberzeugt, dass es Wert ist.
Dann werde ich mir erstmal weiterhin meine oldReadings in einem userreading erzeugen.

Gibt es dazu einen Einzeiler? Ich kanns bis jetzt nur in einem 2-zeiler mit zwischenvariable.
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: DeeSPe am 29 Januar 2019, 14:37:04
Zitat von: inoma am 29 Januar 2019, 11:59:23
Natürlich hat es zum Start schon ein altes Reading gegeben. Es wird ja auch gespeichert ob ich 'home' oder 'absent' bin. Wenn mich aber interessiert ob ich vorher 'awoken' oder 'asleep' war, bevor ich auf 'home' stelle, dann kann ich das nach einem Neustart nicht mehr feststellen.

Wenn es Dir um die RESIDENT/ROOMMATE/GUEST geht, dann nimm doch einfach das jeweilige Reading "lastState".
Das sollte dem OldReadingsVal von "state" entsprechen.

Gruß
Dan
Titel: Antw:OldReadingsVal wird nicht gesaved -nach shutdown/restart undefined
Beitrag von: Jamo am 29 Januar 2019, 15:58:09
Nein, mir gehts nicht um speziell um RESIDENT/ROOMMATE/GUEST, das war nur ein Beispiel zur Veranschauung, weil CoolTux meinte beim Start gäbe es noch keinen alten Wert. Ich benutze den OldreadingsVal an 4 verschiedenen Stellen, 3 davon sind dummy devices. Ich werde es einfach über ein userreading loesen, damit funktionierts ja.