Hauptmenü

Roommate Status

Begonnen von Wolfgang Hochweller, 01 März 2019, 10:27:57

Vorheriges Thema - Nächstes Thema

Wolfgang Hochweller

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 ?

kadettilac89

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.

Wolfgang Hochweller

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


kadettilac89

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

Wolfgang Hochweller


Wolfgang Hochweller

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 ?

Wolfgang Hochweller

#6
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 ?

kadettilac89

Ich verwende owntracks mit livetracking Modul über http und residents. Ist sehr zuverlässig

Wolfgang Hochweller

Danke, gucke ich mir an.