FHEM Forum

FHEM => Automatisierung => Thema gestartet von: gent am 11 Juni 2019, 21:23:25

Titel: ReadingsGroup mit Anwesenheit
Beitrag von: gent am 11 Juni 2019, 21:23:25
Hallo,

ich benutze seit langem eine ReadingsGroup, die mir mit Icons die An-/Abwesenheit der Personen im Haushalt anzeigt.

Hier die Definition dazu:


defmod Anwesenheit readingsGroup <%people_sensor>,<Status>\
TYPE=PRESENCE:state
attr Anwesenheit DbLogExclude .*
attr Anwesenheit alias Anwesend
attr Anwesenheit mapping %ALIAS
attr Anwesenheit notime 1
attr Anwesenheit room 10_Anwesenheit
attr Anwesenheit valueIcon { 'state.present' => 'user_available@green', 'state.absent' => 'user_away@red'}


Ich möchte hier noch gerne sehen, wann die letzte Änderung erfolgt ist.

Ein einzelnes Device dazu sieht folgendermaßen aus:


defmod HolgerAnwesend PRESENCE function {checkAllFritzMACpresent("24:XX:XX:XX:XX:XX")} 10 30
attr HolgerAnwesend DbLogExclude .*
attr HolgerAnwesend DbLogInclude presence
attr HolgerAnwesend alias Holger
attr HolgerAnwesend event-on-change-reading presence
attr HolgerAnwesend room Wohnzimmer


Wir man sehen kann, nutze ich eine function um die Anwesenheit zu erkennen (habe die MAC-Adresse anonymisiert). Das funktioniert alles ganz hervorragend und ich kann mir das sogar per Telegram-Bot zuschicken lassen.

Was ich jetzt noch bräuchte, wäre eine Info wann der Status sich von absent->present oder von present->absent geändert hat.

Leider wird das reading-timestamp immer geändert, wenn (so meine Vermutung) die function für die Abwesenheitserkennung ausgeführt wird, so dass ich - wenn ich das Timestamp in die ReadingsGroup einbaue - immer nur sehe, wann die letzte Abfrage erfolgt ist, aber nicht seit wann die Person an- oder abwesend ist.

Hat irgendjemand eine Idee, wie ich die gewünschte Aussage erreichen kann?

Viele Grüße, Holger
Titel: Antw:ReadingsGroup mit Anwesenheit
Beitrag von: gent am 24 Juni 2019, 20:59:24
Habe es mit Hilfe vom Attribut timestamp-on-change-reading hinbekommen:

https://forum.fhem.de/index.php/topic,52483.15.html

das muss man auch erstmal finden...

Letzte Herausforderung: Den timestamp jetzt in der readingsGroup anzeigen. Mal sehen ob ich da etwas finde.

Viele Grüße, Holger