FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: DeeSPe am 30 Januar 2024, 23:22:19

Titel: [gelöst] 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: DeeSPe am 30 Januar 2024, 23:22:19
Moin Jörg,

mich ärgert schon einige Zeit dass beim Neustart von FHEM bei den Presence Instanzen "state" nicht wieder auf "inactive" gesetzt wird wenn dieses vor dem Neustart gesetzt wurde.
Ich benutze "set ... inactive" eigentlich gern weil das im Gegensatz zu "attr ... disable 1" kein Speichern der fhem.cfg erfordert. Leider überlebt dieser Zustand einen Neustart eben nicht.
Wieso es zu diesem Verhalten kommt kann ich mir leider auch nach Studium des Codes nicht erklären.

Eventuell hast du eine Idee an welcher Stelle zu drehen wäre?
Ich würde es sehr begrüßen wenn es für dieses kleine Problem eine Lösung geben würde.

Danke im Voraus.

Gruß
Dan
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: betateilchen am 31 Januar 2024, 00:09:29
"set ... active/inactive" ist eine Krücke, auf die man sich nicht verlassen sollte. (Gilt nicht nur für presence!)

Zitat von: DeeSPe am 30 Januar 2024, 23:22:19weil das im Gegensatz zu "attr ... disable 1" kein Speichern der fhem.cfg erfordert. Leider überlebt dieser Zustand einen Neustart eben nicht.

Auch die Zustandsänderung per set muss irgendwo gepeichert werden, wenn nicht in der fhem.cfg, dann eben im Statefile.

setstate p 2024-01-31 00:04:51 state disabled
Ohne in den Code geschaut zu haben, vermute ich mal, dass das einfach beim Einlesen des statefile im Modul nicht korrekt verarbeitet wird.


Die Verwendung eines der vorgesehenen Attribute ist immer die zuverlässigere Lösung.
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: JoWiemann am 31 Januar 2024, 08:27:01
Hm,

ich bin bisher immer davon ausgegangen, dass Einstellungen über set ... nur temporär zu Laufzeit gültig sind und nicht persistiert werden. Dafür sind ja m.E. Attribute da. Nach einem Neustart wird ein definierter Zustand hergestellt, der dann erst durch set angepasst/verändert werden kann.

Grüße Jörg
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: betateilchen am 31 Januar 2024, 10:42:50
Zitat von: JoWiemann am 31 Januar 2024, 08:27:01ich bin bisher immer davon ausgegangen, dass Einstellungen über set ... nur temporär zu Laufzeit gültig sind und nicht persistiert werden. Dafür sind ja m.E. Attribute da.

Genau so sehe ich das prinzipiell auch.

Dass es - wie immer und überall in FHEM - auch Ausnahmen davon gibt, sollte nicht verwundern. Ein notify persistiert beispielsweise auch active/inactive

Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: DeeSPe am 31 Januar 2024, 18:11:46
Danke für die Info.
Dann werde ich wohl mit diesem Zustand leben müssen!
Schade aber trotzdem.

Gruß
Dan
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: betateilchen am 31 Januar 2024, 18:29:44
Bis jetzt habe ich noch nicht verstanden, welches Problem Du bei der Verwendung des Attributes hast?
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: DeeSPe am 31 Januar 2024, 23:00:23
Zitat von: betateilchen am 31 Januar 2024, 18:29:44Bis jetzt habe ich noch nicht verstanden, welches Problem Du bei der Verwendung des Attributes hast?


Wenn ich den Schlüssel von meinen GUEST Benutzer wieder eingesammelt habe schalte ich den GUEST per HomeKit auf 'none' und dann das dazugehörige PRESENCE Gerät auf "set ... disable" damit das Gerät nicht länger gepollt wird und somit evtl. die Batterie durch das Pollen schneller leer geht (der Schlüssel wird nicht so oft gebraucht). Das auf diesem Wege da es kein Speichern der cfg benötigt.
Updaten und Neustarten von FHEM mache ich öfter als ich den GUEST Schlüssel benötige.

Gruß
Dan
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: JoWiemann am 01 Februar 2024, 13:59:18
Hallo,

habe ich eingebaut. Kommt morgen mit dem Update.

Grüße Jörg
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: DeeSPe am 01 Februar 2024, 17:46:08
Bin schwer begeistert!
Vielen Dank.

Gruß
Dan

P.S. Die Frage bezüglich des Gesinnungswandels stelle ich lieber nicht. ;)
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: betateilchen am 01 Februar 2024, 19:17:33
Aber mal ganz ehrlich:
Ohne Speichern der Zustandsänderung funktioniert auch diese Änderung nicht.
Die Änderung wird halt nicht nach fhem.cfg geschrieben, sondern nach fhem.save.
Der einzige Unterschied ist: die fhem.save wird bei einem ausgelösten "shutdown [restart]" automatisch gesichert, die fhem.cfg nicht.

Und es funktioniert nicht bei Stromausfall, solange die Änderung noch nicht gespeichert wurde.

8)
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: DeeSPe am 01 Februar 2024, 22:59:45
Zitat von: betateilchen am 01 Februar 2024, 19:17:33Und es funktioniert nicht bei Stromausfall, solange die Änderung noch nicht gespeichert wurde.

Unter anderem wegen unbeabsichtigten Neustarts gibt es bei mir:
defmod at_sf at +*01:00 {WriteStatefile}
Gruß
Dan
Titel: Aw: 73_PRESENCE.pm: inactive nicht mehr gesetzt nach Neustart
Beitrag von: DeeSPe am 06 Februar 2024, 18:58:57
Vielen Dank noch einmal an Jörg für die Änderung am Modul.
Ich habe heute das Update eingespielt und es funktioniert einwandfrei.

Thema gelöst.

Gruß
Dan