ROOMMATE wird im Logfile nicht auf absent gesetzt - HOMEMODE/GEOFANCY

Begonnen von sTaN, 25 Januar 2023, 18:43:20

Vorheriges Thema - Nächstes Thema

sTaN

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 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
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

sTaN

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
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

sTaN

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.
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

sTaN

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
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

DeeSPe

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 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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe