Warum übernimmt ROOMMATE nicht "underway" aus GEOFANCY

Begonnen von Borkk, 13 Mai 2020, 09:43:26

Vorheriges Thema - Nächstes Thema

Borkk

Hallo Zusammen,

Da ich, wie viele andere auch  :), aktuell mehr Zeit zu Hause verbringe, bin ich gerade dabei mein FHEM "aufzuräumen" und zu optimieren. Dabei hänge ich gerade an einem Thema das ich zwar über einen Workaround im Grunde gelöst habe aber ich bin damit nicht 100% zufrieden.

Ich nutze zur Anwesenheitssteuerung RESIDENT, ROOMMATE und Geofancy. Zur Erkennung von Locations über die GEOFANCY APP nutze ich iBEACON´s und GPS. Das klappt sehr zuverlässig und schnell. Da ich neben der Location "home" auch Aktionen beim Erreichen und Verlassen externer Locations auslöse, setze ich die Location des entsprechenden ROOMMATE auf "underway" wenn er nicht in einer definierten Location ist. Dafür nutze ich sehr intensiv das geniale Modul HOMEMODE. Soweit alles super.

Nutzt man jedoch die direkte Verbindung zwischen Geofancy und ROOMMATE über die rr_geofenceUUIDs, werden zwar alle in GEOFANCY erkannten Locations in currLoc_user geschrieben und sauber an ROOMMATE übergeben, nur "underway" nicht. Obwohl in GEOFANCY das Reading currLoc_user "underway" ist, wird dieser Wert nicht an ROOMMATE als Location übergeben. Jeder andere Wert wird übertragen nur genau dieses Wort wird unterdrückt, Warum???

Ich habe mir das natürlich selbst drumherum gebaut aber dafür musste ich die im Grunde geniale direkte Verbindung über die rr_geofenceUUIDs trennen und es gelangen keine der unzähligen Readings aus GEOFANCY in den ROOMMATE.

Meine Frage wäre nun. Wenn das "work as designed" ist, würde ich gerne den Grund verstehen.

Gibt es evtl. was das ich übersehen habe um "underway" zu übertragen?

Ich hoffe ich konnte alles verständlich erklären und freue mich auf antworten.





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 ...

binford6000

rr_locationUnderway - hiermit übereinstimmende Lokationen werden als unterwegs gewertet; der erste Eintrag wird für das Zusammenspiel bei Statusänderungen benutzt; mehrere Einträge durch Leerzeichen trennen; Standard ist 'underway'

Vielleicht setzt du dieses Attribut mal auf die genaue Bezeichnung.
VG Sebastian

Borkk

#2
Zitat von: binford6000 am 13 Mai 2020, 10:04:08
rr_locationUnderway - hiermit übereinstimmende Lokationen werden als unterwegs gewertet; der erste Eintrag wird für das Zusammenspiel bei Statusänderungen benutzt; mehrere Einträge durch Leerzeichen trennen; Standard ist 'underway'

Vielleicht setzt du dieses Attribut mal auf die genaue Bezeichnung.
VG Sebastian

Der Eintrag in rr_locationUnderway bewirkt nur das der ROOMMATE auf absent gestellt wird wenn eine dort hinterlegte Location erreicht wird. Das kann ich z.B. durch manuelles Setzen der Location auf "underway" erreichen. Lasse ich z.B. via GEOFANCY ein "unterwegs" senden und ich habe "unterwegs" bei rr_locationUnderway eingetragen, habe ich genau das was ich erreichen möchte. Dummerweise lassen die mir bekannten GEOFANCY APP´s nur einen Namen pro Location zu der bei Erreichen und Verlassen gesendet wird. Ein Workaround den ich gerade lebe sieht so aus, das ich pro Location 2 Einträge haben. Einer sendet nur bei erreichen (z.B. Office) ein zweiter mit den Namen "unterwegs" sendet nur bei verlassen. Das geht zwar, kann aber so nicht gedacht sein. Da ich auch die Funkion "Wayhome" nutze, wird es dann langsam unübersichtlich. IM GEOFANCY Modul liegen ja alle Information perfekt vor, nur eben "underway" wird nicht sauber nach ROOMMATE übertragen.
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 ...

Borkk

Offenbar scheint das Verhalten keinen zu zu stören.. Ok, dann muss ich mir was drumherum basteln. Geht ja auch.

Schöne Pfingsten     
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 ...

Borkk

#4
Ich will das Thema trotzdem nochmal ansprechen. Es gibt ja grundsätzlich zwei gängige Varianten GEOFANCY mit ROOMMATE zu verbinden.

Variante 1 - externer Notify:
Wenn man den im Wiki gezeigten Notify nutzt, werden alle Statis sauber gesetzt. Insbesondere wird beim Verlassen einer Lokation, die location des Roommates auf "underway" gesetzt. Leider wird bei dieser Variante nur die Location in den Roommate geschrieben. Das ist logisch aber auch schade, weil Geofancy ja noch viel viel mehr Parameter liefert.

Variante 2 - rr_geofenceUUIDs
Die deutlich elegantere Variante ist die direkte Verknüpfung über das Attribut rr_geofenceUUIDs, dabei werden fast alle Werte aus GEOFANCY in den Roommate übernommen. (Adresse, Entfernung usw.). Leider wird bei dieser Variante nur beim Verlassen einer Location der Status "absent" in den Roommate übernommen. Das macht natürlich nur bei HOME oder den in "rr_locationHome" Locations eingetragenen Lokations Sinn. Bei externen Locations erfolgt somit keine Meldung an Roommate, wenn diese verlassen wurde. Geofancy liefert aber die Information.

Ich will es mal versuchen das Problem an einem einfachen Beispiel zu erläutern:

Situation: Ein Roommate geht zur Arbeit und kommt nach Hause



Was passiert               Status Var.1            Location Var.1           Status Var.2         Location Var.2.      Kommentar
#1 ROOMMATE ZuHausehomehomehomehomeok
#2 ROOMMATE verlässt homeabsentunderwayabsenthomeVar2: Location falsch! Roommate ist unterwegs und nicht home
#3 ROOMMATE erreicht BüroabsentOfficeabsentOfficeok
#4 ROOMMATE verlässt BüroabsentunderwayabsentOfficeVar2: KEINE Veränderung im Roommate, trotz Geofancy Event
#5 ROOMMATE erreicht Homehomehomehomehomeok

Roommate kennt grundsätzlich die Location "underway", setzt man nämlich manuell den Status (#1->#2) von home auf absent, springt die Location auf underway, was meinem Fall #2 entsprechen würde.

Wie eingangs gesagt, das Verhalten bei Variante 1 ist völlig korrekt, ich fände es nur sehr schön wenn sich die direkte Kopplung (Var2) genauso verhalten würde. Dann könnte man das volle Potential von Geofancy nutzen.
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 ...

Loredo

IIRC ist das Verhalten absichtlich so, um die zuletzt bekannte Position als aktive Position zu behalten. Die Unterscheidung anwesend bzw. nicht anwesend passiert rein über das Reading presence.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Borkk

#6
Zitat von: Loredo am 14 Juni 2020, 13:48:50
IIRC ist das Verhalten absichtlich so, um die zuletzt bekannte Position als aktive Position zu behalten. Die Unterscheidung anwesend bzw. nicht anwesend passiert rein über das Reading presence.

Hmm, mir wäre die aktuelle Location bzw. "underway" wichtiger. Die letzte aktive Position kann ich ja dem Reading "lastLocation" entnehmen ?!
Wenn jemand möchte das der letzte aktive Standort in Location stehen bleibt, braucht er doch nur in seiner GEOFANCY App, kein "Verlassen" zu senden. Oder?

Welchen Sinn macht dann eigentlich das Attribut "rr_locationUnderway"? 
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 ...

Borkk

@Loredo

Ich will nicht nerven aber mich würde deine Meinung zu meinem Post interessieren.
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 ...