Anwesenheit mit iBeacon wird unterbrochen

Begonnen von Borkk, 21 September 2017, 01:16:52

Vorheriges Thema - Nächstes Thema

Borkk

Hallo Zusammen,

Ich nutze für eine Anwesenheitserkennung Geofancy und Residents. Bisher habe ich das über GPS Ortung mit Locative (iOS) gemacht. Das hat auch soweit funktioniert. Da mir aber der Radius zu groß war, in dem die App "Home" erkannt hat, habe ich mir mal einen Satz iBeacons bestellt.

Die hier: https://www.amazon.de/iBeacon-Wasserfestes-Bluetooth-Programmierbares-1er-Pack/dp/B01MSZGTXS/ref=sr_1_3?ie=UTF8&qid=1505947679&sr=8-3&keywords=ibeacon

Nach etwas gefummel, habe ich über Locate die UUID rausgefunden und in Locative eingetragen. Zunächst scheint auch alles zu funktionieren. Ankunft und Abwesenheit werden sicher erkannt. Im Gegensatz zum GPS, worüber mich die APP schon beim Parkplatz suchen erkannt hat, reagiert die Erkennung über iBeacon erst in der Wohnung mit ca. 20 - 30 sec Verzögerung. Also Licht im Flur einschalten, geht darüber nicht wirklich gut. Macht aber in meinem Fall nichts.

Nun aber zu meinem Problem.
Ist man zu Hause sollte sich ja am Anwesenheitsstatus nichts ändern. Jetzt spielt mir aber der iBeacon einen Streich. Irgendwie verliert das Handy nach eine Weile und dann ständig in kurzen Abständen, den Kontakt zum iBeacon. Ich vermute mal, das ist sogar gewollt um Strom zu sparen. Dummerweise erkennt FHEM dann immer einen "absent" und löst div. Notifys aus. Ich dacht erst, es liegt vielleicht an der Entfernung. Das kann ich aber ausschliessen, das Verhalten tritt auch ein wenn der Beacon direkt neben dem Phone liegt.

Ich habe 2 Ideen.
1.) Gibt es einen timer den man verwenden könnte um kurze Unterbrechungen zum Beacon zu ignorieren? Man könnte bei eintreten der Abwesenheit ein at loslaufen lassen, der nach 45 sec den Status im Roommate ändert. vorher könnte er von einer erneuten Anwesenheit überschrieben werden. Ist halt etwas Schade, weil man sich dann zwischen die eigentlich gute Verknüpfung zwischen Geofancy und Roommate mittels UUID schalten muss.

2.) Man lässt über den Beacon in der Wohnung nur die Anwesenheit erkennen. Die Abwesenheit liefert ein 2. Beacon z.B. am Ausgang des Hauses. Er könnt z.B. im Briefkasten sitzen.

Gibt es weitere Vorschläge?
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

CoolTux

Leider schreibst Du nicht welches Modul Du für Anwesenheit verwendest. Ich rate mal und sage Presence. Wenn ja gibt es dort das Attribut absenceThreshold. Das ist was Du brauchst.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Jamo

Hallo Bork,
ich habe genau das gleiche beobachtet wie Du. iPhone mit Geofency. Bei mir verliert das Handy auch nach einer Weile immer mal wieder den Kontakt zum iBeacon. In der Geofancy App auf dem iPhone kann man sich Notifications schicken lassen, wenn ein iBeacon sich anmeldet oder abmeldet, da kann man das gut beobachten.
Eine Lösung habe ich nicht, ich habe viel mit dem Sendeinterval und Sendeleistung der iBeacons (ich habe iBeacons von BlueSenseNetworks und Accent, die kann man konfigurieren) probiert, aber das hat alles nicht geholfen, egal ob das Sendeinterval 100ms oder 400ms ist, immer wieder geht der Kontakt verloren. Auch Estimote (nicht konfigurierbar) hat das gleiche Problem.

Auch ein watchdog hilft nicht, weil die Intervalle, bis wann der Kontakt zum iBeacon dann wieder hergestellt wird, immer unterschiedlich sind, manchmal extrem lange. Und im worst case ist das Interval so gross, da hat man dann gar nichts davon.
AbsenceThreshold geht auch nicht, weil das iBeacon, wenn alles ideal wäre und gut funktionieren würde, sich genau 1x anmeldet und auch genau 1x wieder abmeldet.

Im Moment benutze ich die iBeacons nur für die erste Anmeldung bis ich in der Wohnung bin, danach gehe ich dann auf Presence Erkennung über eine Kombination von iPhone BT und GTAG. Über die iBeacons die Abmeldung zu registrieren habe ich aufgegeben, aus genannten Gründen.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Borkk

@CoolTux: Ich nutze das Modul Geofancy, hatte ich auch geschrieben. Die App sendet ein Webhook wenn ein iBeacon erkannt wird bzw. wenn die Verbindung abbricht.

@inoma: Ich bin am überlegen ob ich nicht den Automatismus nutze, der denn Status von Absent auf Gone umschaltet. Die Zeit kann man einstellen. Darüber könnte man die kurzen Unterbrechungen auffangen. Ich unterscheide nicht zwischen absent und gone.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...