Hallo, ich habe seit einigen Tagen das Problem das meine Partnerin im Residence-Modul immer als "verreist" geführt wird.
Doch ich habe für "Verreist" gar keine Automation erstellt, lediglich ein DOIF für "Zu Hause", "Abwesend" und "Schlafend".
Wenn ich die abgefragten Zustände in den Devices kontrolliere müsste die Automation eigentlich auch auf "ZuHause" stellen, statt dessen wird dort auf "Abwesend" gestellt und im entsprechenden Benutzer des Resident-Device "verreist".
Ich kenne die tieferen Abläufe des Resident-Moduls nicht, darum weiß ich nicht was ich posten soll damit jemand mal drüber schauen kann. Ich packe erstmal ein List vom Resident-Device und von dem zugeorneten DOIF mit rein:
Resident:
Internals:
DEF Rheinertstrasse
DURATIONTIMER 1765304066.82626
FUUID 63eaa0b0-f33f-7706-f191-446d0e8d93a57814
FVERSION 20_ROOMMATE.pm:0.195330/2019-06-02
NAME rr_Marion
NOTIFYDEV global,
NR 116
NTFY_ORDER 50-rr_Marion
READY 1
RESIDENTGROUPS Rheinertstrasse
STATE zuhause
SUBTYPE adult
TYPE ROOMMATE
eventCount 157
OLDREADINGS:
2025-12-09 19:07:35 durTimerAbsence 107:46:43
2025-12-09 19:07:35 durTimerAbsence_cr 6467
2025-12-09 19:12:26 durTimerPresence 00:04:00
2025-12-09 19:12:26 durTimerPresence_cr 4
2025-12-04 16:27:22 lastArrival 2025-12-04 16:27:22
2025-12-04 16:27:22 lastDurAbsence 00:03:52
2025-12-04 16:27:22 lastDurAbsence_cr 4
2025-12-07 11:11:49 lastState absent
2025-12-05 07:20:52 location underway
2025-12-05 07:20:52 mood -
2025-12-05 07:20:52 presence absent
2025-12-07 11:11:49 state gone
READINGS:
2025-12-09 19:08:26 durTimerAbsence 00:00:00
2025-12-09 19:08:26 durTimerAbsence_cr 0
2025-12-09 19:13:26 durTimerPresence 00:05:00
2025-12-09 19:13:26 durTimerPresence_cr 5
2025-12-05 06:45:36 durTimerSleep 00:00:00
2025-12-05 06:45:36 durTimerSleep_cr 0
2025-12-09 19:08:26 lastArrival 2025-12-09 19:08:26
2025-12-05 06:45:36 lastAwake 2025-12-05 06:45:36
2025-12-05 07:20:52 lastDeparture 2025-12-05 07:20:52
2025-12-09 19:08:26 lastDurAbsence 107:47:34
2025-12-09 19:08:26 lastDurAbsence_cr 6468
2025-12-05 07:20:52 lastDurPresence 14:53:30
2025-12-05 07:20:52 lastDurPresence_cr 894
2025-12-05 06:45:36 lastDurSleep 06:18:34
2025-12-05 06:45:36 lastDurSleep_cr 379
2025-12-05 07:20:52 lastLocation home
2025-12-05 07:20:52 lastMood calm
2025-12-05 00:27:02 lastSleep 2025-12-05 00:27:02
2025-12-09 19:08:26 lastState gone
2025-12-09 19:08:26 location home
2025-12-09 19:08:26 mood calm
2025-12-09 19:08:26 presence present
2025-12-09 19:13:26 residentsInbed 0
2025-12-09 19:08:26 state home
2025-12-09 19:13:26 state_old gone
2023-02-13 21:42:25 wayhome 0
TIMER:
rr_Marion_DurationTimer:
HASH rr_Marion
MODIFIER DurationTimer
NAME rr_Marion_DurationTimer
Attributes:
alexaName Anwesenheit Marion
alexaRoom System
alias Marion
comment Auto-created by Rheinertstrasse
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
group Personenstatus
icon people_sensor
oldreadings .*
room Alexa,Residents
rr_realname alias
sortby 1
subType adult
userReadings state_old { OldReadingsVal("$NAME", "state", ReadingsVal("$NAME", "state", 0)) },
residentsInbed { ReadingsVal("$NAME", "residentsGotosleep", 0) + ReadingsVal("$NAME", "residentsAsleep", 0) }
verbose 0
webCmd state
widgetOverride state:zuhause,bettfertig,schläft,aufgestanden,abwesend,verreist
Steuerungs-DOIF:
Internals:
DEF ## Person ist erwacht
(([Galaxy_S25_Ultra_Marion] eq "present") and ([GalaxyS25ultra_Marion:powerPlugged] eq "0") and (([rr_Marion] eq "schläft") or ([rr_Marion] eq "bettfertig")))
(set rr_Marion aufgestanden) ({Ansage("Guten Morgen, Marion", "Echo_Wohnzimmer")}) (set rr_Marion zuhause)
## Person ist zu Hause
DOELSEIF (([Galaxy_S25_Ultra_Marion] eq "present") and ([GalaxyS25ultra_Marion:powerPlugged] eq "0") and ([rr_Marion] eq "abwesend"))
(set rr_Marion zuhause) ({Ansage("Willkommen zu Hause Marion", "Echo_Wohnzimmer")})
## Person geht schlafen
DOELSEIF (([GalaxyS25ultra_Marion:powerPlugged] eq "1") and [22:00-10:00])
(set rr_Marion bettfertig) ({Ansage("Gute Nacht Marion", "Echo_Schlafzimmer")}) (set rr_Marion schläft)
##Person ist abwesend
DOELSEIF (([Galaxy_S25_Ultra_Marion] eq "absent") and ([GalaxyS25ultra_Marion:powerPlugged] eq "0"))
(set rr_Marion abwesend)
FUUID 63eaa30d-f33f-7706-8f69-46f20d180f6e33bf
FVERSION 98_DOIF.pm:0.303770/2025-10-12
MODEL FHEM
NAME Marion_Homestatus
NOTIFYDEV rr_Marion,Galaxy_S25_Ultra_Marion,GalaxyS25ultra_Marion,global
NR 118
NTFY_ORDER 50-Marion_Homestatus
STATE ZuHause
TYPE DOIF
VERSION 30377 2025-10-12 09:46:59
eventCount 4
READINGS:
2025-12-09 19:14:35 Device Galaxy_S25_Ultra_Marion
2025-12-09 19:08:31 cmd 2.2
2025-12-09 19:08:31 cmd_event set_cmd_2
2025-12-09 19:08:31 cmd_nr 2
2025-12-09 19:08:31 cmd_seqnr 2
2025-12-05 06:45:36 e_GalaxyS25ultra_Marion_powerPlugged 0
2025-12-09 19:14:35 e_Galaxy_S25_Ultra_Marion_STATE present
2025-12-09 19:14:26 e_rr_Marion_STATE zuhause
2025-10-02 00:09:17 mode enabled
2025-12-09 19:08:31 state ZuHause
2025-12-09 16:36:56 timer_01_c03 09.12.2025 22:00:00
2025-12-09 16:36:56 timer_02_c03 10.12.2025 10:00:00
2025-12-09 19:08:31 wait_timer no timer
Regex:
accu:
bar:
barAvg:
collect:
cond:
GalaxyS25ultra_Marion:
0:
powerPlugged ^GalaxyS25ultra_Marion$:^powerPlugged:
1:
powerPlugged ^GalaxyS25ultra_Marion$:^powerPlugged:
2:
powerPlugged ^GalaxyS25ultra_Marion$:^powerPlugged:
3:
powerPlugged ^GalaxyS25ultra_Marion$:^powerPlugged:
Galaxy_S25_Ultra_Marion:
0:
&STATE ^Galaxy_S25_Ultra_Marion$
1:
&STATE ^Galaxy_S25_Ultra_Marion$
2:
3:
&STATE ^Galaxy_S25_Ultra_Marion$
rr_Marion:
0:
&STATE ^rr_Marion$
1:
&STATE ^rr_Marion$
2:
3:
attr:
cmdState:
0:
Erwacht
1:
ZuHause
2:
Schlafend
3:
Abwesend
wait:
0:
0
5
150
1:
0
5
2:
0
5
1800
3:
0
waitdel:
condition:
0 (::InternalDoIf($hash,'Galaxy_S25_Ultra_Marion','STATE') eq "present") and (::ReadingValDoIf($hash,'GalaxyS25ultra_Marion','powerPlugged') eq "0") and ((::InternalDoIf($hash,'rr_Marion','STATE') eq "schläft") or (::InternalDoIf($hash,'rr_Marion','STATE') eq "bettfertig"))
1 (::InternalDoIf($hash,'Galaxy_S25_Ultra_Marion','STATE') eq "present") and (::ReadingValDoIf($hash,'GalaxyS25ultra_Marion','powerPlugged') eq "0") and (::InternalDoIf($hash,'rr_Marion','STATE') eq "abwesend")
2 (::ReadingValDoIf($hash,'GalaxyS25ultra_Marion','powerPlugged') eq "1") and ::DOIF_time($hash,0,1,$wday,$hms)
3 (::InternalDoIf($hash,'Galaxy_S25_Ultra_Marion','STATE') eq "absent") and (::ReadingValDoIf($hash,'GalaxyS25ultra_Marion','powerPlugged') eq "0")
days:
do:
0:
0 set rr_Marion aufgestanden
1 {Ansage("Guten Morgen, Marion", "Echo_Wohnzimmer")}
2 set rr_Marion zuhause
1:
0 set rr_Marion zuhause
1 {Ansage("Willkommen zu Hause Marion", "Echo_Wohnzimmer")}
2:
0 set rr_Marion bettfertig
1 {Ansage("Gute Nacht Marion", "Echo_Schlafzimmer")}
2 set rr_Marion schläft
3:
0 set rr_Marion abwesend
4:
helper:
NOTIFYDEV rr_Marion,Galaxy_S25_Ultra_Marion,GalaxyS25ultra_Marion,global
event state: present,presence: present
globalinit 1
last_timer 2
sleepdevice set_cmd_2
sleepsubtimer -1
sleeptimer -1
timerdev Galaxy_S25_Ultra_Marion
timerevent state: absent,presence: absent
triggerDev Galaxy_S25_Ultra_Marion
timerevents:
state: absent
presence: absent
timereventsState:
state: absent
presence: absent
triggerEvents:
state: present
presence: present
triggerEventsState:
state: present
presence: present
internals:
all Galaxy_S25_Ultra_Marion:STATE rr_Marion:STATE
interval:
0 -1
1 0
intervalfunc:
localtime:
0 1765314000
1 1765357200
perlblock:
readings:
all GalaxyS25ultra_Marion:powerPlugged
realtime:
0 22:00:00
1 10:00:00
time:
0 22:00:00
1 10:00:00
timeCond:
0 2
1 2
timer:
0 0
1 0
timers:
2 0 1
trigger:
triggertime:
1765314000:
localtime 1765314000
hash:
1765357200:
localtime 1765357200
hash:
uiState:
uiTable:
Attributes:
addStateEvent 1
cmdState Erwacht|ZuHause|Schlafend|Abwesend
group Homestatus
icon remotecontrol/black_btn_STATUS
room Benachrichtigungen,Steuerung->Anwesenheit
wait 0,5,150:0,5:0,5,1800:0
Falls das nicht reichen sollte bitte melden und sagen was genau benötigt wird.
Verreist oder auch gone wird genommen wenn absent länger wie 32 Stunden oder so steht. Schau mal in die Commandref da sollte es gut erklärt sein.
Das habe ich gelesen, aber ich habe gestern am frühen Abend manuell auf "ZuHause" gestellt und Nachts hat auch die Automatik gegriffen und in "Schlafend".
Doch als ich vor ca. 1 Stunde geschaut habe war wieder "Verreist" im Resident.
Das kommt also nicht hin mit der automatischen Umstellung.
Vorallem ist das früher ja nicht so gewesen, sondern erst sein einigen Tagen.
Das Handy loggt sich ordnungsgemäß im richtigen WLan ein und beide Varianten, sowohl AMAD als auch Ping erkennt das Handy als Present.
Heute Nacht auch wieder:
Gestern Abend manuell auf "ZuHause" gestellt, beim Schlafengehen automatisch auf "Schläft" umgesprungen.
Dann plötzlich um 6:15 Uhr bemerkt, dass die Anzeige wieder auf "Verreist" steht.
Als ich dann entgültig aufgestanden bin stand es auf "ZuHause".
Habe jetzt mal ein Logfile erweitert, dass sowohl die Personen-, als auch den Wohnungszustand, die Anwesenheit beider Handys sowie die Anzeige ob geladenwird oder nicht mitloggt.
Was mir gestern aufgefallen ist, war der Punkt, dass die SubApp Autoremote - die Tasker benötigt um Fhem-Kommandos auf dem Handy auszuführen - deaktiviert war.
Eine Abwesenheitssimulation durch ausschalten des WLan's konnte das Problem nicht reproduzieren. Hatte zuerst den Verdacht, dass es immer nach einer Abwesenheit passiert, doch dem wiederspricht ja auch der Wechsel heute Nacht.