Kann ich den Status des Roommate-Devices auf die rr_locations mappen ?
Mit Home kann ich das, aber geht das auch fuer alle anderen Locations, die von EgoGeoZone gemeldet werden ?
da deine fragestellung sehr komprimiert ist überschlagen sich die antworten.
ich sage einfach mal es geht. mit rr_locationHome kannst du jede location mappen, egal wie sie heißt, es muss dann nicht mehr home heißen.
wenn es das nicht ist was du wissen willst einfach ein paar sätze mehr was du damit erreichen willst und ein beispiel dazu.
Das sehe ich ein, hier ist ein Listing :
Internals:
DEF rgr_Residents
DURATIONTIMER 1552058025.16359
FUUID 5c4ef131-f33f-775d-440f-a46fd87dfd336116
NAME rr_Eli
NOTIFYDEV global,
NR 116
NTFY_ORDER 50-rr_Eli
READY 1
RESIDENTGROUPS rgr_Residents
STATE home
TYPE ROOMMATE
VERSION 20_ROOMMATE.pm:v0.0.18681/2019-02-21
READINGS:
2019-03-08 15:46:09 durTimerAbsence 00:00:00
2019-03-08 15:46:09 durTimerAbsence_cr 0
2019-03-08 16:12:45 durTimerPresence 00:26:00
2019-03-08 16:12:45 durTimerPresence_cr 26
2018-06-06 10:36:21 durTimerSleep 00:00:00
2018-06-06 10:36:21 durTimerSleep_cr 0
2019-03-08 15:46:45 lastArrival 2019-03-08 15:46:45
2019-03-08 15:46:13 lastDeparture 2019-03-08 15:46:13
2019-03-08 15:46:45 lastDurAbsence 00:00:32
2019-03-08 15:46:45 lastDurAbsence_cr 1
2019-03-08 15:46:13 lastDurPresence 00:00:00
2019-03-08 15:46:13 lastDurPresence_cr 0
2019-03-08 16:07:45 lastLocation home
2019-03-08 16:04:14 lastLocationAddr -
2019-03-08 16:04:14 lastLocationLat 58.9971054
2019-03-08 16:04:14 lastLocationLong 5.6220932
2019-03-08 16:04:14 lastLocationRadius 0
2019-03-08 16:04:14 lastLocationTravDistance 0.00
2019-03-08 15:46:13 lastMood calm
2019-03-08 16:04:14 lastPositionAddr -
2019-03-08 16:04:14 lastPositionBSSID
2019-03-08 16:04:14 lastPositionBeaconUUID
2019-03-08 16:04:14 lastPositionDistHome 1.05
2019-03-08 16:04:14 lastPositionDistLocation 0.00
2019-03-08 16:04:14 lastPositionLat 58.9971054
2019-03-08 16:04:14 lastPositionLong 5.6220932
2019-03-08 16:04:14 lastPositionMotion
2019-03-08 16:04:14 lastPositionSSID
2019-03-08 16:04:14 lastPositionTravDistance 0.00
2019-03-08 15:46:45 lastState absent
2019-03-08 16:07:45 location Erik
2019-03-08 16:04:14 locationAddr -
2019-03-08 16:04:14 locationLat 58.99848464101348
2019-03-08 16:04:14 locationLong 5.623075179755688
2019-03-08 16:04:14 locationPresence present
2019-03-08 16:04:14 locationRadius 0
2019-03-08 16:04:14 locationTravDistance 0.16
2019-03-08 15:46:45 mood calm
2019-03-08 16:04:14 positionAddr -
2019-03-08 16:04:14 positionBSSID
2019-03-08 16:04:14 positionBeaconUUID
2019-03-08 16:04:14 positionDistHome 1.20
2019-03-08 16:04:14 positionDistLocation 0.00
2019-03-08 16:04:14 positionLat 58.99848464101348
2019-03-08 16:04:14 positionLong 5.623075179755688
2019-03-08 16:04:14 positionMotion
2019-03-08 16:04:14 positionSSID
2019-03-08 16:04:14 positionTravDistance 0.16
2019-03-08 15:46:45 presence present
2019-03-08 15:46:45 state home
2018-06-06 12:06:09 wayhome 0
TIMER:
rr_Eli_DurationTimer:
HASH rr_Eli
MODIFIER DurationTimer
NAME rr_Eli_DurationTimer
Attributes:
alias Status
comment Auto-created by rgr_Residents
devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
group Eli
icon people_sensor
room Residents
rr_geofenceUUIDs 545c2146-9e12-3bee-90cb-f331638913d3
rr_locationHome home
rr_locations home,Erik,husflid,Kristin
rr_realname group
sortby 1
webCmd state
Das habe ich so aus dem Wiki uebernommen und die entsprechenden Locations aus EgiGeoZone eingetragen.
Was ich sehen moechte:
Ein Reading, dass mir entweder eine der vier rr_locations oder 'absent' anzeigt.
'Location' steht immer auf einer der vier rr_locations, und aendert sich nicht, wenn keine der Locations zutrifft, etwa 'absent'.
'state' ist mir schleierhaft .....
Ausloeser fuer die Frage ist folgendes Widget inm TabletUI :
<div class="cell">
<div data-type="symbol"
data-device="rr_Eli"
data-get="location"
data-get-on='["home","Erik","husflid","absent","Kristin"]'
data-icons='["fa-home","fa-etsy","fa-h-square","fa-car","fa-bold"]'
class="big"></div>
<div>Eli</div>
</div>
Funktioniert nicht gut, da 'location' nie 'absent' wird.
Statt als 'Symbol' habe ich es auch mal mit 'Homestatus' probiert, aber auch nicht hinbekommen.
ich glaube genau das problem hatte ich auch ... schau mal ob das userreading location_real das verhaltewn ersellt das du willst
attr rr_Eli userReadings location_real { if( ReadingsVal($name,"locationPresence","err") ne "present" ) { sprintf("away")} else { ReadingsVal($name,"location","err");;;; } }
kannst du in raw definition genau so reinkopieren
Danke, sieht gut aus.
Aber funktioniert nicht, denn : Die Logik ist gut, location ist aber falsch, daher ist das Ergebnis auch falsch.
Location steht immer auf der letzten Location, nicht der jetzigen, sprich, alles mit location.... entspricht immer lastlocation....
Das sollte doch eigentlich nicht so sein, oder ?
Ich verstehe das Roommate immer noch nicht :
Mein Roommate kennt genau 4 Locations, die von Geofancy ( Android )geliefert werden, dazu soll noch 'absent' oder aehnliches fuer alles andere.
Was muss ich tun, damit ich diese 5 Zustaende irgendwo ablesen kann ?
Presence, state, location haben so gut wie nie etwas mit der realen Situation zu tun, irgendetwas ist grundverkehrt.
Wenn ich in Geofancy nachsehe, finde ich z.B. :
rr_Eli hat vor 3 h 'home' verlassen
rr_Eli ist kurz danach bei Location 1 angekommen.
Jetzt ist rr_Eli wieder physisch zuhause, hat aber gemaess Geofancy Location 1 noch gar nicht verlassen, kann demzufolge fuer das Programm auch nicht 'home' sein.
Dann kann natuerlich auch der Roommate-Status nicht stimmen ......
Folgerung :
Entweder taugt EgiGeoZone dafuer nicht oder ich mache etwas grundsaetzlich verkehrt
Ich sehe gerade, das der Autor von EgiGeoZone aufgegeben hat.
Was verwendet ihr jetzt ?
Ich verwende owntracks mit livetracking Modul über http und residents. Ist sehr zuverlässig
Danke, gucke ich mir an.