Hallo liebe Community,
ich teste gerade die optimale Konfiguration meiner Anwesenheitserkennung.
Aktuell nutze ich primär HOMEMODE im Zusammenspiel mit RESIDENTS, ROOMMATE und PRESENCE. Ziel ist der Einsatz von GEOFANCY auf dem Handy von mir und meiner Frau.
Aktuell tracke ich nur mein Handy über die Geofancy App und das meiner Frau über ein normales PRESENCE device aus dem Unifi Controller (simple WLAN Erkennung).
Problem:
Mir viel auf, dass der Status meines ROOMMATE devices im FHEM Logfile nicht auf absent gesetzt wird.
Normalerweise erwarte ich hier, wie bei meiner Frau einen Eintrag:
2023.01.25 17:22:24 2: ROOMMATE set rr_sTaN absent
Das Tracking über Geofancy scheint normal zu funktionieren. Er setzt den Status in FHEM auf Abwesend und state vom GEOFANCY device ist underway. Auch werden die Logeinträge für arrival und home ins Log geschrieben. Hier ein Auszug, wo auch ersichtlich ist, dass es bei meiner Frau funktioniert:
Hier mal ein Logfile Auszug mit verbose 5 für mein Status device rr_sTaN
2023.01.25 17:31:39 2: ROOMMATE set rr_Frau location arrival
2023.01.25 17:31:38 2: ROOMMATE set rr_Frau home
2023.01.25 17:22:24 2: ROOMMATE set rr_Frau absent
2023.01.25 14:03:47 5: ROOMMATE rr_sTaN: received location information: id=home name=home trig=1 date=2023-01-25 14:03:47 lat=XXXXXX long=XXXXXX posLat=XXXXXX posLong=XXXXXX address=XXXXXX
2023.01.25 14:01:58 4: ROOMMATE rr_sTaN: AutoGone Timer scheduled: 1674781317
2023.01.25 14:01:57 4: ROOMMATE rr_sTaN: implicit mood change caused by state absent
2023.01.25 14:01:57 4: ROOMMATE rr_sTaN: implicit state change caused by location home
2023.01.25 14:01:57 5: ROOMMATE rr_sTaN: received signal from home location
Deutschland device=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2023.01.25 14:01:57 5: ROOMMATE rr_sTaN: received location information: id=home name=home trig=0 date=2023-01-25 14:01:37 lat=XXXXXX long=XXXXXX posLat=XXXXXX posLong=XXXXXX address=XXXXXX
2023.01.25 13:59:43 2: ROOMMATE set rr_sTaN location arrival
2023.01.25 13:22:19 2: ROOMMATE set rr_Frau location home
2023.01.25 13:18:19 2: ROOMMATE set rr_sTaN location home
2023.01.25 13:17:19 2: ROOMMATE set rr_Frau location arrival
2023.01.25 13:17:19 2: ROOMMATE set rr_Frau home
2023.01.25 13:13:19 2: ROOMMATE set rr_sTaN location arrival
In meinem device habe ich lediglich die Attribute rr_geofenceUUIDs, rr_locationHome = home gesetzt. Muss hier zusätzlich das Attribut rr_locationUnderway = underway gesetzt werden? Oder benötigt man wie in der commandref unter ROOMMATE (https://fhem.de/commandref.html#ROOMMATE) noch ein zusätzliches notify:
define n_rr_sTaN.location geofancy:currLoc_rr_sTaN.* set rr_sTaN:FILTER=location!=$EVTPART1 location $EVTPART1
Ich habe eigentlich mehrfach gelesen, dass man nur das Attribut rr_geofenceUUIDs setzen muss, und der Rest geht quasi von selbst.
Anbei der Vollständigkeit halber noch die lists der Status devices:
rr_sTaN
Internals:
DEF rgr_Bewohner
DURATIONTIMER 1674667913.53814
FUUID XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
FVERSION 20_ROOMMATE.pm:0.195330/2019-06-02
NAME rr_sTaN
NOTIFYDEV global,
NR 714
NTFY_ORDER 50-rr_sTaN
READY 1
RESIDENTGROUPS rgr_Bewohner
STATE zuhause
SUBTYPE adult
TYPE ROOMMATE
eventCount 416
READINGS:
2023-01-25 14:03:47 durTimerAbsence 00:00:00
2023-01-25 14:03:47 durTimerAbsence_cr 0
2023-01-25 18:30:53 durTimerPresence 04:27:06
2023-01-25 18:30:53 durTimerPresence_cr 267
2023-01-25 09:51:59 durTimerSleep 00:00:00
2023-01-25 09:51:59 durTimerSleep_cr 0
2023-01-25 18:23:52 fhemMsgPush Die Batterien von SmartButtonFrau sollten demnächst gewechselt werden!
2023-01-25 18:23:52 fhemMsgPushGw PushsTaN:OK
2023-01-25 18:23:52 fhemMsgPushPrio 0
2023-01-25 18:23:52 fhemMsgPushState 1
2023-01-25 18:23:52 fhemMsgPushTitle Batteriewarnung
2023-01-25 18:23:52 fhemMsgState 1
2023-01-25 18:23:52 fhemMsgStateTypes push:1
2023-01-25 14:03:47 lastArrival 2023-01-25 14:03:47
2023-01-25 09:51:59 lastAwake 2023-01-25 09:51:59
2023-01-25 14:01:57 lastDeparture 2023-01-25 14:01:57
2023-01-25 14:03:47 lastDurAbsence 00:01:50
2023-01-25 14:03:47 lastDurAbsence_cr 2
2023-01-25 14:01:57 lastDurPresence 00:02:14
2023-01-25 14:01:57 lastDurPresence_cr 2
2023-01-25 09:51:59 lastDurSleep 08:52:27
2023-01-25 09:51:59 lastDurSleep_cr 532
2023-01-25 14:03:50 lastLocation arrival
2023-01-25 14:03:50 lastLocationAddr XXXXXX
2023-01-25 14:03:50 lastLocationLat XXXXXX
2023-01-25 14:03:50 lastLocationLong XXXXX
2023-01-25 14:03:50 lastLocationRadius 50
2023-01-25 14:03:50 lastLocationTravDistance 0.00
2023-01-25 14:01:57 lastMood calm
2023-01-25 14:03:50 lastPositionAddr -
2023-01-25 14:03:50 lastPositionBSSID
2023-01-25 14:03:50 lastPositionBeaconUUID
2023-01-25 14:03:50 lastPositionDistHome 3.20
2023-01-25 14:03:50 lastPositionDistLocation 0.06
2023-01-25 14:03:50 lastPositionLat XXXXXXXXXXXXXXXX
2023-01-25 14:03:50 lastPositionLong XXXXXXXXXXXXXX
2023-01-25 14:03:50 lastPositionMotion walking
2023-01-25 14:03:50 lastPositionSSID
2023-01-25 14:03:50 lastPositionTravDistance 0.05
2023-01-25 00:59:32 lastSleep 2023-01-25 00:59:32
2023-01-25 14:03:47 lastState absent
2023-01-25 14:03:50 location home
2023-01-25 14:03:50 locationAddr XXXXXXXXXXXXXXX
2023-01-25 14:03:50 locationLat XXXXXXXXXXXXX
2023-01-25 14:03:50 locationLong XXXXXXXXXXXXXX
2023-01-25 14:03:50 locationPresence present
2023-01-25 14:03:50 locationRadius 50
2023-01-25 14:03:50 locationTravDistance 0.00
2023-01-25 14:03:47 mood calm
2023-01-25 14:03:50 positionAddr -
2023-01-25 14:03:50 positionBSSID
2023-01-25 14:03:50 positionBeaconUUID
2023-01-25 14:03:50 positionDistHome 3.20
2023-01-25 14:03:50 positionDistLocation 0.06
2023-01-25 14:03:50 positionLat XXXXXXXXXXXXXXX
2023-01-25 14:03:50 positionLong XXXXXXXXXXXXXXX
2023-01-25 14:03:50 positionMotion walking
2023-01-25 14:03:50 positionSSID
2023-01-25 14:03:50 positionTravDistance 0.00
2023-01-25 14:03:47 presence present
2023-01-25 14:03:47 state home
2021-01-10 15:01:51 wayhome 0
TIMER:
rr_sTaN_Durationtimer:
HASH rr_sTaN
MODIFIER DurationTimer
NAME rr_sTaN_DurationTimer
Attributes:
alexaName sTaN
alias Status
devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
eventMap home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
genericDeviceType security
group sTaN
homebridgeMapping SecuritySystemCurrentState=state,values=/home|awoken/:0;;absent:1;;/asleep|gotosleep/:2;;gone:3 SecuritySystemTargetState=SecuritySystemCurrentState,cmds=0:state+home;;1:state+absent;;2:state+gotosleep;;3:state+gone,delay=1
icon people_sensor
msgContactPush PushsTaN
room Homekit,Residents,Zentral
rr_geofenceUUIDs XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
rr_locationHome home
rr_realname group
siriName Status sTaN
sortby 1
webCmd state
widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist
rr_Frau
Internals:
DEF rgr_Bewohner
DURATIONTIMER 1674668139.5572
FUUID XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
FVERSION 20_ROOMMATE.pm:0.195330/2019-06-02
NAME rr_Frau
NOTIFYDEV global,iPhone.Frau
NR 715
NTFY_ORDER 50-rr_Frau
READY 1
RESIDENTGROUPS rgr_Bewohner
STATE zuhause
SUBTYPE adult
TYPE ROOMMATE
eventCount 409
READINGS:
2023-01-25 17:31:38 durTimerAbsence 00:00:00
2023-01-25 17:31:38 durTimerAbsence_cr 0
2023-01-25 18:34:39 durTimerPresence 01:03:01
2023-01-25 18:34:39 durTimerPresence_cr 63
2023-01-25 07:49:58 durTimerSleep 00:00:00
2023-01-25 07:49:58 durTimerSleep_cr 0
2023-01-25 16:25:36 fhemMsgPush Das ist der letzte Hinweis Das Fenster Büro Schreibtisch endlich zu schließen!
2023-01-25 16:25:36 fhemMsgPushGw PushFrau:OK
2023-01-25 16:25:36 fhemMsgPushPrio 0
2023-01-25 16:25:36 fhemMsgPushState 1
2023-01-25 16:25:36 fhemMsgPushTitle Fenster offen
2023-01-25 16:25:36 fhemMsgState 1
2023-01-25 16:25:36 fhemMsgStateTypes push:1
2023-01-25 17:31:38 lastArrival 2023-01-25 17:31:38
2023-01-25 07:49:58 lastAwake 2023-01-25 07:49:58
2023-01-25 17:22:24 lastDeparture 2023-01-25 17:22:24
2023-01-25 17:31:38 lastDurAbsence 00:09:14
2023-01-25 17:31:38 lastDurAbsence_cr 9
2023-01-25 17:22:24 lastDurPresence 04:05:05
2023-01-25 17:22:24 lastDurPresence_cr 245
2023-01-25 07:49:58 lastDurSleep 10:01:13
2023-01-25 07:49:58 lastDurSleep_cr 601
2023-01-25 17:36:38 lastLocation arrival
2023-01-25 17:22:24 lastMood calm
2023-01-24 21:48:45 lastSleep 2023-01-24 21:48:45
2023-01-25 17:31:38 lastState absent
2023-01-25 17:36:38 location home
2023-01-25 17:31:38 mood calm
2023-01-25 17:31:38 presence present
2023-01-25 17:31:38 state home
2021-01-10 15:19:21 wayhome 0
TIMER:
rr_Frau_DurationTimer:
HASH rr_Frau
MODIFIER DurationTimer
NAME rr_Frau_DurationTimer
Attributes:
alexaName Frau
alias Status
devStateIcon .*zuhause:user_available:absent .*anwesend:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfertig:scene_toilet:asleep .*schlaeft:scene_sleeping:awoken .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown:home
eventMap home:zuhause absent:abwesend gone:verreist gotosleep:bettfertig asleep:schläft awoken:aufgestanden
genericDeviceType security
group Frau
homebridgeMapping SecuritySystemCurrentState=state,values=/home|awoken/:0;;absent:1;;/asleep|gotosleep/:2;;gone:3 SecuritySystemTargetState=SecuritySystemCurrentState,cmds=0:state+home;;1:state+absent;;2:state+gotosleep;;3:state+gone,delay=1
icon people_sensor
msgContactPush PushFrau
room Homekit,Residents,Zentral
rr_presenceDevices iPhone.Frau
rr_realname group
siriName Status Frau
sortby 1
webCmd state
widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist
Danke euch und Grüße
sTaN
Da hier bisher niemand geantwortet hat, tue ich das mal! Auch wenn ich nicht wirklich weiterhelfen kann.
Mit HOMEMODE kenne ich mich recht gut aus, daran kann es eigentlich nicht liegen.
Wie die Einbindung von Geofancy funktioniert weiß ich leider nicht, da ich das nicht benutze.
Gibt es hier jemanden der sich damit auskennt?
Würde gern helfen, weiß aber nicht wirklich wie.
Gruß
Dan
Danke Dan für die Antwort und der Versuch zu helfen.
Kann es irgendwie mit der Art und Weise des Loggings zusammenhängen. Welches Modul müsste denn das set rr_sTaN absent ins Logfile schreiben?
Bei meiner Frau dachte ich, dass es das ROOMMATE Modul ist. Aber dann müsste es bei mir ja auch so sein.
Dem scheint aber nicht so.
Wäre auch sehr dankbar, falls sich noch jemand findet.
Gruß sTaN
Geht es Dir nur um die Log-Meldungen oder funktioniert das Umschalten (absent/present) des ROOMMATE auch nicht?
Eigentlich sollten die Log-Ausgaben im jeweiligen ROOMMATE Gerät einstellbar sein (Attribut verbose).
Wozu brauchst Du überhaupt diese Meldungen im Log?
Ich habe meine ROOMMATE und GUEST Geräte z.B. alle auf "verbose 1" zu stehen, weil ich im Normalfall von denen überhaupt nichts im Log sehen will.
Mein normales "Logfile" möchte ich nämlich so schlank wie möglich halten damit dort drin wirklich nur die wichtigsten (Fehler)Meldungen landen.
Alle anderen Daten die mich interessieren schreibe ich in eine DbLog.
Gruß
Dan
Zitat von: DeeSPe am 04 Februar 2023, 00:23:12
Geht es Dir nur um die Log-Meldungen oder funktioniert das Umschalten (absent/present) des ROOMMATE auch nicht?
Eigentlich sollten die Log-Ausgaben im jeweiligen ROOMMATE Gerät einstellbar sein (Attribut verbose).
Ja im Prinzip geht es mir ,,nur" um die Log-Meldung. Da ich durch die fehlende Meldung gedacht habe, es funktioniert bei mir nicht, habe ich mich mal auf den Weg gemacht und es beim Verlassen geprüft. Er schaltet aber das ROOMMATE device korrekt auf absent.
Dennoch fand ich es komisch, dass es bei meiner Frau ins Logfile geschrieben wird und frage mich natürlich warum. Beide devices haben kein Attribut verbose gesetzt. Sind also von der Seite identisch. Wenn ich es bei mir auf verbose 5 setze (siehe Auszug im ersten Post), wird aber auch nicht dieser Eintrag geschrieben.
Ab und an habe ich im Logfile nach den Zeiten geschaut, weil ich Sie aus irgendwelchen Gründen brauchte. Daher viel mir das auf, als ich mein Device auf Geofancy umgestellt hatte.
Hast du mal probiert ob die Log-Einträge kommen wenn Du bei "rr_sTaN" das Attribut "rr_geofenceUUIDs" entfernst und manuell umschaltest?
Evtl. hat das ja was mit der Verarbeitung von GEOFANCY zu tun!?
Gruß
Dan
Zitat von: DeeSPe am 04 Februar 2023, 15:42:58
Hast du mal probiert ob die Log-Einträge kommen wenn Du bei "rr_sTaN" das Attribut "rr_geofenceUUIDs" entfernst und manuell umschaltest?
Evtl. hat das ja was mit der Verarbeitung von GEOFANCY zu tun!?
Ja sobald ich das Attribut lösche und das Device manuell auf absent setze, erscheint ein Logfile Eintrag "ROOMMATE set rr_sTaN absent".
Setzte ich das Attribut wieder und schalte dann das Device manuell auf absent,
bleibt der Logeintrag aus erscheint auch ein Eintrag im Logfile. Muss also in der Tat mit der GeofencyUUID zusammenhängen, aber die Frage ist wieso?
Vermutlich liegt es dann doch am Code des Moduls ROOMMATE, oder?
Gruß
sTaN
Zitat von: sTaN am 04 Februar 2023, 19:50:58
Ja sobald ich das Attribut lösche und das Device manuell auf absent setze, erscheint ein Logfile Eintrag "ROOMMATE set rr_sTaN absent".
Setzte ich das Attribut wieder und schalte dann das Device manuell auf absent, bleibt der Logeintrag aus erscheint auch ein Eintrag im Logfile. Muss also in der Tat mit der GeofencyUUID zusammenhängen, aber die Frage ist wieso?
Vermutlich liegt es dann doch am Code des Moduls ROOMMATE, oder?
Habe mir die Sache eben mal genauer angesehen.
Es liegt tatsächlich an der Einbindung mit Geofancy.
Im Geofancy Modul wird bei Änderung der Location die Funktion "RESIDENTStk_Set" mit dem "silentSet" Parameter aufgerufen.
Genau dieser Parameter unterdrückt dann im weiteren Programmablauf z.B. die Log-Ausgaben. Ein Beispiel dazu ist hier (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/RESIDENTStk.pm#L405) zu finden.
Warum das so gemacht wurde: keine Ahnung!
Aber zumindest wissen wir jetzt genau wo es her kommt und dass es so zumindest programmtechnisch Sinn ergibt.
Gruß
Dan