Unifi - Presence und Residents -> Status wechselt ständig von home zu absent

Begonnen von hoppel118, 21 Oktober 2020, 11:30:49

Vorheriges Thema - Nächstes Thema

hoppel118

Zitat von: Wuehler am 16 Oktober 2020, 20:09:24
Ich schlage vor, daraus einen eigenen Thread zu machen. Bitte postet dort folgende Infos um zu schauen, wo es eine Gemeinsamkeit gibt:
- fehlerhaftes Endgerät (iPhone SE, ...)
- Versionen UnifiModul, UnifiController (UC)
- wo läuft der UC? RasPi, CloudKey, UDM, ...
- Schilderung des fehlerhaften Verhaltens
- was euch sonst noch auffällt/einfällt

Moinsen,

hier nun der eigene Thread. Ich nutze das Unifi Modul mittlerweile schon mehrere Jahre. Bisher gab es noch nie Probleme damit!

Endgeräte


  • iPhone XR (rr_Mann)
  • iPhone XS (rr_Frau)

Derzeitig: iOS 13.7 --> Werde gleich mal das Update auf iOS 14.1 machen.

Versionen UnifiModul, UnifiController (UC)

74_Unifi.pm                 19989 2019-08-12 18:25:21Z wuehler
74_UnifiClient.pm           19989 2019-08-12 18:25:21Z wuehler
74_UnifiSwitch.pm           21942 2020-05-14 19:28:57Z wuehler


Ich werde im Anschluss gleich mal mein FHEM aktualisieren. Habe gerade gesehen, dass es Änderungen am Unifi Modul gab.

Mittlerweile bin ich auf Controller Version 6.0.23, habe aber sehr lange die LTS Version genutzt.

Wo läuft der UC? RasPi, CloudKey, UDM, ...

Der Controller läuft auf einem Debian Stretch in einem Docker Container:

:~# uname -a
Linux omv4 4.19.0-0.bpo.9-amd64 #1 SMP Debian 4.19.118-2+deb10u1~bpo9+1 (2020-06-09) x86_64 GNU/Linux


Es ist alles-up-to-date, wenn man mal davon absieht, dass es sich um Stretch handelt und nicht um Buster.

Schilderung des fehlerhaften Verhaltens

Ich weiß nicht genau seit wann es so ist, aber wenn ich in meine Logfiles schaue, sehe ich ständige Statusänderungen an meinen Residents. Die beiden Residents sind mit unseren Smartphones verknüpft.

2020.10.14 14:17:55 2: ROOMMATE set rr_Frau absent
2020.10.14 14:18:26 2: ROOMMATE set rr_Frau home
2020.10.14 14:19:58 2: ROOMMATE set rr_Frau absent
2020.10.14 14:20:59 2: ROOMMATE set rr_Frau home
2020.10.14 14:26:36 2: ROOMMATE set rr_Frau absent
2020.10.14 14:30:42 2: ROOMMATE set rr_Frau home
2020.10.14 14:35:17 2: ROOMMATE set rr_Mann absent
2020.10.14 14:36:19 2: ROOMMATE set rr_Frau absent
2020.10.14 14:37:51 2: ROOMMATE set rr_Mann home
2020.10.14 17:15:07 2: ROOMMATE set rr_Mann absent
2020.10.14 17:15:38 2: ROOMMATE set rr_Mann home
2020.10.14 17:17:10 2: ROOMMATE set rr_Mann absent
2020.10.14 17:18:41 2: ROOMMATE set rr_Mann home
2020.10.14 17:20:13 2: ROOMMATE set rr_Mann absent
2020.10.14 17:20:44 2: ROOMMATE set rr_Mann home
2020.10.14 17:26:21 2: ROOMMATE set rr_Mann absent
2020.10.14 17:27:22 2: ROOMMATE set rr_Mann home
2020.10.14 17:31:27 2: ROOMMATE set rr_Mann absent
2020.10.14 17:31:58 2: ROOMMATE set rr_Mann home
2020.10.14 18:29:40 2: ROOMMATE set rr_Mann absent
2020.10.14 18:30:10 2: ROOMMATE set rr_Mann home
2020.10.14 18:37:19 2: ROOMMATE set rr_Mann absent
2020.10.14 18:37:50 2: ROOMMATE set rr_Mann home
2020.10.14 18:38:21 2: ROOMMATE set rr_Mann absent
2020.10.14 18:38:51 2: ROOMMATE set rr_Mann home
2020.10.14 18:40:54 2: ROOMMATE set rr_Mann absent
2020.10.14 18:41:25 2: ROOMMATE set rr_Mann home
2020.10.14 18:48:34 2: ROOMMATE set rr_Mann absent
2020.10.14 18:49:36 2: ROOMMATE set rr_Mann home
2020.10.14 18:51:38 2: ROOMMATE set rr_Mann absent
2020.10.14 18:52:40 2: ROOMMATE set rr_Mann home
2020.10.14 18:53:10 2: ROOMMATE set rr_Mann absent
2020.10.14 18:53:41 2: ROOMMATE set rr_Mann home
2020.10.14 19:00:19 2: ROOMMATE set rr_Mann absent
2020.10.14 19:00:50 2: ROOMMATE set rr_Frau home
2020.10.14 19:01:21 2: ROOMMATE set rr_Mann home
2020.10.14 19:01:51 2: ROOMMATE set rr_Mann absent
2020.10.14 19:02:22 2: ROOMMATE set rr_Mann home
2020.10.14 19:04:55 2: ROOMMATE set rr_Mann absent
2020.10.14 19:05:26 2: ROOMMATE set rr_Mann home
2020.10.14 19:25:22 2: ROOMMATE set rr_Mann absent
2020.10.14 19:25:53 2: ROOMMATE set rr_Mann home
2020.10.14 20:07:48 2: ROOMMATE set rr_Frau absent
2020.10.14 20:08:19 2: ROOMMATE set rr_Frau home
2020.10.14 20:12:24 2: ROOMMATE set rr_Mann absent
2020.10.14 20:13:56 2: ROOMMATE set rr_Mann home
2020.10.14 20:43:35 2: ROOMMATE set rr_Mann absent
2020.10.14 20:44:06 2: ROOMMATE set rr_Mann home
2020.10.14 20:59:56 2: ROOMMATE set rr_Mann absent
2020.10.14 21:00:27 2: ROOMMATE set rr_Mann home
2020.10.14 21:06:35 2: ROOMMATE set rr_Mann absent
2020.10.14 21:07:06 2: ROOMMATE set rr_Mann home
2020.10.14 21:16:18 2: ROOMMATE set rr_Mann absent
2020.10.14 21:16:48 2: ROOMMATE set rr_Mann home
2020.10.14 22:01:16 2: ROOMMATE set rr_Mann absent
2020.10.14 22:01:47 2: ROOMMATE set rr_Mann home
2020.10.14 22:09:57 2: ROOMMATE set rr_Mann absent
2020.10.14 22:10:28 2: ROOMMATE set rr_Mann home
2020.10.14 22:15:04 2: ROOMMATE set rr_Frau absent
2020.10.14 22:15:35 2: ROOMMATE set rr_Frau home
2020.10.14 22:17:07 2: ROOMMATE set rr_Frau absent
2020.10.14 22:17:37 2: ROOMMATE set rr_Frau home
2020.10.14 22:25:17 2: ROOMMATE set rr_Mann absent
2020.10.14 22:25:48 2: ROOMMATE set rr_Mann home
2020.10.14 22:27:20 2: ROOMMATE set rr_Frau absent
2020.10.14 22:37:02 2: ROOMMATE set rr_Frau home
2020.10.14 22:43:41 2: ROOMMATE set rr_Frau absent
2020.10.14 22:46:45 2: ROOMMATE set rr_Mann absent
2020.10.14 22:47:15 2: ROOMMATE set rr_Mann home
2020.10.14 22:53:54 2: ROOMMATE set rr_Mann absent
2020.10.14 22:54:25 2: ROOMMATE set rr_Mann home


Woran kann das liegen?

Ich habe die Vermutung, dass jeder Wechsel zw. 2.4GHz und 5GHz zu einem kurzzeitigen "absent" führt.

Die Definition meines Controllers sieht wie folgt aus:

define UnifiController Unifi localhost 8443 username password 30 default

Die Definition für eins meiner Smartphones sieht wie folgt aus:

define Mann_iPhone_XR_WLAN PRESENCE event UnifiController:Mann-iPhone-XR:.disconnected UnifiController:Mann-iPhone-XR:.connected

Die Definition eines Residents sieht wie folgt aus:

define rr_Mann ROOMMATE Bewohner
attr rr_Mann rr_presenceDevices Mann_iPhone_XR_WLAN


Früher wurden Geräte erst 5 Minuten nachdem Sie das WLAN verlassen haben auf disconnected bzw. Residents auf absent gesetzt.

Kann ich irgendwo angeben, nach wieviel Sekunden/Minuten eine Statusänderung übernommen werden soll? Hat hier noch jemand das Problem? Wie kann man das lösen?

Danke und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Folgenden Post habe ich im Hauptthread für das Unifi Modul gefunden:

Zitat von: Wuehler am 15 September 2020, 14:18:59
Hallo H-man,

ich kann mich dunkel daran erinnern, dass irgendjemand schon mal so ein Problem hatte. Lösung war glaube ich, dass es die Mac oder client im Unifi-Controller zwei mal gab. Musst du mal unter Insights suchen und den falschen löschen.
Ggf. zusätzlich mal ein clear all im Modul.

VG,
Dirk

Habe unter Insights aufgeräumt. Es gibt nun keine veralteten Einträge mehr. "clear all" habe ich auch ausgeführt. Beides bringt nichts.

Weitere Ideen?

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

So, habe FHEM gerade aktualisiert und nutze nun folgende Unifi Modul Version:

74_Unifi.pm                 22962 2020-10-13 05:56:28Z wuehler
74_UnifiClient.pm           19989 2019-08-12 18:25:21Z wuehler
74_UnifiSwitch.pm           22962 2020-10-13 05:56:28Z wuehler


Vielleicht bringt das ja schon was. Das iOS Update läuft ebenfalls gerade. Ich melde mich später wieder.

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

mbrak

Wenn Du auf IOS14.x updatest, dann hast Du noch ein weiteres Problem. Da wird default mäßig die MAC Adresse verändert um ein Tracking zu verhindern. Das kann man aber gezielt abschalten in den settings zu jeder SSID in den Einstellungen. Hatte nach dem Update Stress mit meiner Anwesenheitserkennung.
Wird bei Unify nicht anders sein....

Frank_Huber

Hast Du es mal mit einem UnifiClient versucht anstelle des Presence?
Einfach en UnifiClient anlegen, falls Du ein "presence" reading benötigst geht das easy über ein Userreading.

Hier eine Beispiel Definition meines Handys:

defmod Presence_Frank_UniFi UnifiClient Handy-Frank_Doogee-S88
attr Presence_Frank_UniFi event-on-change-reading .*
attr Presence_Frank_UniFi stateFormat {ReadingsVal($name,"presence","absent") eq "absent" ? "absent since ".ReadingsVal($name,"_f_last_seen","") : "present since ".ReadingsVal($name,"_f_uptime","")}
attr Presence_Frank_UniFi userReadings presence:fhem_state.* {(ReadingsVal($name,'fhem_state','disconnected') eq 'disconnected' ? 'absent' : 'present') }



hoppel118

Zitat von: mbrak am 21 Oktober 2020, 12:27:28
Wenn Du auf IOS14.x updatest, dann hast Du noch ein weiteres Problem. Da wird default mäßig die MAC Adresse verändert um ein Tracking zu verhindern. Das kann man aber gezielt abschalten in den settings zu jeder SSID in den Einstellungen. Hatte nach dem Update Stress mit meiner Anwesenheitserkennung.
Wird bei Unify nicht anders sein....

Danke für den Hinweis. Tatsächlich kann man nun bei jeder SSID eine "Private WLAN-Adresse" konfigurieren bzw. die Funktion ein- und abschalten.

Für meine Haupt-SSID ist die MAC gleich geblieben. Das kann also grundsätzlich erstmal keine Probleme bereiten. Ich werde die "Private WLAN-Adresse" für meine 4 SSIDs hier zu Hause aber deaktivieren, um Probleme damit zu vermeiden. 

Zitat von: Frank_Huber am 21 Oktober 2020, 12:57:41
Hast Du es mal mit einem UnifiClient versucht anstelle des Presence?
Einfach en UnifiClient anlegen, falls Du ein "presence" reading benötigst geht das easy über ein Userreading.
Hier eine Beispiel Definition meines Handys:
...

Das probiere ich auf jeden Fall aus, wenn wir das mit Presence nicht gelöst bekommen.

Ich habe das gerade nochmal ein wenig analysiert. Es hängt mit dem "Roaming" zusammen. Ich bin gerade mal von meinem Wohnzimmer "AP-Name: wap-living" in die Küche "AP-Name: wap-kittchen" gegangen und zurück.

In meinem FHEM logfile sehe ich folgendes:

2020.10.21 17:07:34 2: ROOMMATE set rr_Mann absent
2020.10.21 17:08:05 2: ROOMMATE set rr_Mann home


Gleichzeitig sehe ich am Unifi Controller folgendes in den Ereignissen:

Mann-iPhone-XR hat die Verbindung mit SSID "Gallien" getrennt (war 11m verbunden, hat 23.3 MB übertragen, letzter AP wap-living) 5:06 pm 10/21/2020
Mann-iPhone-XR hat sich über AP wap-kittchen mit der SSID "Gallien" auf Kanal 6 verbunden. 5:06 pm 10/21/2020
Mann-iPhone-XR hat sich mit Gallien verbunden. 5:06 pm 10/21/2020
Mann-iPhone-XR wechselt von Kanal 6 auf Kanal 44 auf AP wap-kittchen 5:07 pm 10/21/2020
Mann-iPhone-XR hat die Verbindung mit SSID "Gallien" getrennt (war 0m verbunden, hat 47.9 KB übertragen, letzter AP wap-kittchen) 5:07 pm 10/21/2020
Mann-iPhone-XR hat sich über AP wap-living mit der SSID "Gallien" auf Kanal 44 verbunden. 5:07 pm 10/21/2020


Die Fast Roaming Option ist in meiner Unifi WLAN Konfiguration deaktiviert.

Anscheinend wird jeder Access Point Wechsel vom Unifi Modul (und somit Presence Modul) gesehen und geloggt. Grundsätzlich ist das ja erstmal nicht falsch bzw. schlecht.

Aber kann man da so etwas wie ein DOIF wait einbauen, so dass bspw. erst nach einer Minute Abwesenheit eine Statusänderung geloggt wird?

Das müsste ja eigentlich reichen, da der AP-Wechsel üblicherweise nur ein paar Sekunden dauert.

Um 17:07 Uhr gab es auch noch einen Wechsel von Kanal 6 zu Kanal 44 auf AP wap-kittchen. Evtl. hängt es auch damit zusammen.

Was meint ihr?

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Frank_Huber

Genau genommen wertest du mit dem presence Events aus.
Beim Roaming verlässt und betrittst du das WLAN.
Zwar nur kurz, aber es reicht wohl aus.
Habe das über Events und unifi nie selbst versucht.

frank

das problem sollte doch einfach mit attr absenseThreshold glöst werden können, oder?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Frank_Huber

Eigenich ja, die ganze Logik wird dadurch dann nur "langsamer"
Zwischen present und absent kommt dann das "maybe abyent"
Wäre aber auch nen Versuch wert.

hoppel118

Zitat von: Frank_Huber am 21 Oktober 2020, 19:57:17
Genau genommen wertest du mit dem presence Events aus.
Beim Roaming verlässt und betrittst du das WLAN.
Zwar nur kurz, aber es reicht wohl aus.
Habe das über Events und unifi nie selbst versucht.

Jo, sehe ich genauso. Laut "FHEM Wiki Presence" ist die Event Methode die bevorzugte: https://wiki.fhem.de/wiki/PRESENCE#.C3.9Cberwachen_mittels_Events

Zitat von: frank am 21 Oktober 2020, 20:10:55
das problem sollte doch einfach mit attr absenseThreshold glöst werden können, oder?

Wenn ich an meinen Geräten "absenseThreshold - 60" setzen möchte, erhalte ich folgende Meldung:

ZitatabsenceThreshold is not applicable for mode 'event'

Dort gibt es aber auch noch einen absenceTimeout. Diesen habe ich nun auf 60 Sekunden gesetzt.

Damit funktioniert es nun wieder wie früher. Super, danke euch!


Bin aber gerade am Überlegen, ob die von mir verwendete Variante wirklich die beste ist. Momentan dauert es ca. 7 Minuten bis das Presence-Device auf "absent" geht. Das Smartphone wird beim Verlassen noch an das Security Gateway übergeben, bevor es endgültig aus der Controller-Oberfläche verschwindet und somit auch das Presence-Device in den Status "absent" wechselt.

@Frank_Huber Wie lange dauert das bei der von dir aufgeführten UnifiClient Methode?

Bis hierhin auf jeden Fall schonmal ein dickes Danke. Ich hatte fest damit gerechnet, dass @Wuehler ran muss. :D

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Frank_Huber

Zitat von: hoppel118 am 21 Oktober 2020, 21:24:15@Frank_Huber Wie lange dauert das bei der von dir aufgeführten UnifiClient Methode?
Eben extra paarmal WLAN an und aus gemacht.
Jeweils geschätzt maximal 1min für den Statuswechsel.
Der Unifi Contoller ist mit 15sec angelegt.

hoppel118

Ok, danke für's Testen. Dann werde ich das morgen auch mal ausprobieren. Jetzt ist der PC schon aus.

Ich melde mich nochmal.

Schönen Abend noch
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Konnte die Finger nun doch nicht mehr davon lassen... ;)

Zitat von: Frank_Huber am 21 Oktober 2020, 12:57:41
Hier eine Beispiel Definition meines Handys:

defmod Presence_Frank_UniFi UnifiClient Handy-Frank_Doogee-S88
attr Presence_Frank_UniFi event-on-change-reading .*
attr Presence_Frank_UniFi stateFormat {ReadingsVal($name,"presence","absent") eq "absent" ? "absent since ".ReadingsVal($name,"_f_last_seen","") : "present since ".ReadingsVal($name,"_f_uptime","")}
attr Presence_Frank_UniFi userReadings presence:fhem_state.* {(ReadingsVal($name,'fhem_state','disconnected') eq 'disconnected' ? 'absent' : 'present') }


WOW!!! Dieser UnifiClient scheint der Hammer zu sein. Beim "Roamen" zwischen den APs bleibt mein Roommate im Status "home". Wenn ich WLAN am iPhone abschalte, wird kurz danach auch der Status "absent" am Roommate gesetzt. Coole Sache! :D

Eine Frage bleibt noch. Im Wiki wird ein anderes userReadings aufgeführt:

https://wiki.fhem.de/wiki/UnifiClient#Anwesenheitserkennung

attr <UnifiClientName> userReadings presence {((ReadingsVal("$name","is_wired","?") eq "true") ? "absent" : ((ReadingsVal("$name","fhem_state","?") eq "connected") ? "present":"absent"));;}

Deins sieht wie folgt aus:

attr <UnifiClientName> userReadings presence:fhem_state.* {(ReadingsVal($name,'fhem_state','disconnected') eq 'disconnected' ? 'absent' : 'present') }

Siehst du bei dem userReadings im Wiki irgendeinen Vorteil deinem userReadings gegenüber?

Ich habe jetzt erstmal deins in Betrieb.

Vielen Dank und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

MadMax-FHEM

Ich habe in einem anderen Thread bzgl. Unifi/UnifiClient mitbekommen, dass es (wohl mal) vorkommt/vorkommen kann, dass WLAN Clients beim "weggehen" auch mal fälschlicherweise als "wired" angezeigt werden...

Mit diesem userreadings fängst du auch diesen "Umstand" ab...

Ob das noch so ist: keine Ahnung.

ABER (generell): es ist ein (deutlicher) Unterschied, ob am Client WLAN abgeschaltet wird oder er einfach "weg" ist...

Gruß, Joachim

EDIT: ich habe es mittlerweile aufgegeben mittels WLAN die Anwesenheit zu "regeln"... Ich habe auch so einiges versucht, u.a. auch den UnifiClient, hping3, ... Aber ich hatte u.a. im Sommer "Falschmeldungen" bzgl. offene Fenster, weil das Handy mal als "nicht da" erkannt wurde... Bin jetzt auf BT Gigaset G-Tags umgstiegen und seit dem: :)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Frank_Huber

Zitat von: hoppel118 am 21 Oktober 2020, 23:51:26
Eine Frage bleibt noch. Im Wiki wird ein anderes userReadings aufgeführt:
https://wiki.fhem.de/wiki/UnifiClient#Anwesenheitserkennung
attr <UnifiClientName> userReadings presence {((ReadingsVal("$name","is_wired","?") eq "true") ? "absent" : ((ReadingsVal("$name","fhem_state","?") eq "connected") ? "present":"absent"));;}
Deins sieht wie folgt aus:
attr <UnifiClientName> userReadings presence:fhem_state.* {(ReadingsVal($name,'fhem_state','disconnected') eq 'disconnected' ? 'absent' : 'present') }
Siehst du bei dem userReadings im Wiki irgendeinen Vorteil deinem userReadings gegenüber?

Ganz ehrlich, ich kannte das aus dem WIKI nicht. hab mir das gebastelt um das presence Reading zu bekommen. :-)
schaut aber aus als ob es das gleiche macht PLUS das "wired" abzufangen.
mir ist das wired Problem allerdings noch nicht untergekommen seit ich Unifi habe.

Und klar, Verlust vom Empfang und WLAN abschalten ist nicht das selbe, man kann aber dennoch die Reaktionszeit ganz gut damit abschätzen.

WLAN Anwesenheitserkennung lief bei mir knapp 4 Jahre über die Fritzbox, jetzt seit nem halben Jahr über Unifi.
Ich habe mit keinem davon Probleme gehabt.