Modulfamilie für Bewohner / 10_RESIDENTS 20_ROOMMATE 20_GUEST

Begonnen von Loredo, 19 Januar 2014, 23:12:34

Vorheriges Thema - Nächstes Thema

theophilou85

Hallo Leute

Ich habe ein Problem mit Roommate und Geofancy.
Hardware: S7 Edge, Android 7, Egigeo (Ausnahme bei den Energiesparmaßnahmen). Raspbi 3, Zugang per SSL über Port 8083. Ubee Router der kein NAT Loopback unterstützt.

Eine Zone (mein Zuhause)+150Meter, ich Roommate mit der UUID. Keine notifys, schleifen, dummys oder sonst irgendwas. Ich möchte einfach nur "home" bei betreten der Zone und "absent" beim Verlassen der Zone haben.

Zwei Serverprofile eingerichtet, einmal mit der internen IP meines Pi im Wlan und eine mit meiner externen IP. Serverprofil mit Wifi-IP verwende ich als Ausfallserver, sofern das Betreten der Zone noch nicht über 3G/Lte gesendet wurde, bevor ich das Wlan betreten habe.

Mit beiden Serverprofilen erreiche ich im Wlan bzw. Internet meinen Pi. Auch das Betreten und Verlassen der Zonen wird mir am Handy unter den Notifications richtig gezeigt. Aber das Roommatedevice tut IRGENDWAS.

Gerade eben heimgekommen, und war mehr als 10h außer Haus:
lastArrival
2017-06-09 19:54:56

lastDeparture
2017-06-09 19:52:29

theophilou85

Heute morgen schon wieder. EgiGeoZone meldet um 8:40Uhr korrekt, dass ich die Zone verlassen habe. FHEM meint dazu:

lastArrival
2017-06-12 08:20:19
2017-06-12 08:20:19
lastDeparture
2017-06-12 08:15:23
2017-06-12 08:15:23


Ich werde nicht schlau aus der Sache.

kadettilac89

#557
Hallo,

ich habe eine Frage zum Reading "location". Lt. Beschreibung "location - the current location".

Ich habe 2 Zonen. Home + Work. Home ist auch status home zugeordnet und State presence oder absent / gone funktioniert alles wunderbar.

Das Reading location wird gesetzt wenn ich home oder work betrete. Es bleibt aber gesetzt solange bis ich eine andere Zone betrete. Kann ich das irgendwie beeinflussen? Ich würde erwarten, dass es auf away oder woanders hin wechselt wenn ich die Zone verlasse.

Ich habe aktuell ein userreading in dem ich locationpresence + location kombiniert auswerte, ich sehe dort, dass die Information an Fhem geliefert werden.

Ist das gewolltes Verhalten? Wenn ja, wofür ist das so eingebaut worden, ich möchte nicht kritisieren, würde es halt gerne verstehen.

Danke!

Ist-Verhalten










Event                           Reading location                Reading location - erwarteter Status                Reading locationPresence             
Home betretenhomehome (OK)present
Home verlassenhomeawayaway
Work betretenworkwork (OK)present
Work verlassenworkawayaway
]


Internals:
   DEF        Residents
   NAME       rr_S6
   NOTIFYDEV  global,
   NR         622
   NTFY_ORDER 50-rr_S6
   READY      1
   RESIDENTGROUPS Residents
   STATE      home
   TYPE       ROOMMATE
   Helper:
     DBLOG:
       location_real:
         myDbLog:
           TIME       1501834840.41013
           VALUE      home
   READINGS:
     2017-08-03 20:28:35   lastArrival     2017-08-03 20:28:35
     2017-08-01 19:41:37   lastDeparture   2017-08-01 19:41:37
     2017-08-03 20:28:35   lastDurAbsence  48:46:58
     2017-08-03 20:28:35   lastDurAbsence_cr 2927
     2017-08-01 19:41:37   lastDurPresence 00:00:04
     2017-08-01 19:41:37   lastDurPresence_cr 0
     2017-08-03 20:28:35   lastLocation    work
     2017-08-03 20:28:35   lastLocationAddr -
     2017-08-03 20:28:35   lastLocationLat xxxx
     2017-08-03 20:28:35   lastLocationLong xxx
     2017-08-01 19:41:37   lastMood        calm
     2017-08-03 20:28:35   lastState       gone
     2017-08-03 20:28:35   location        home
     2017-08-03 20:28:35   locationAddr    -
     2017-08-03 20:28:35   locationLat     4xxxx
     2017-08-03 20:28:35   locationLong    1xxxx
     2017-08-03 20:28:35   locationPresence present
     2017-08-03 20:28:35   location_real   home
     2017-08-03 20:28:35   mood            calm
     2017-08-03 20:28:35   presence        present
     2017-08-03 20:28:35   state           home
     2017-07-14 19:27:29   wayhome         0
   TIMER:
Attributes:
   alias      Galaxy S6
   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
   event-on-change-reading location_real,state
   group      Home Status
   icon       people_sensor
   room       Status
   rr_autoGoneAfter 0.25
   rr_geofenceUUIDs 82c29acf-xxxxx
   rr_locationHome home
   rr_noDuration 1
   rr_realname alias
   rr_states  home,absent
   sortby     2
   userReadings location_real { if( ReadingsVal("rr_S6","locationPresence","err") ne "present"  ) { sprintf("away")} else { ReadingsVal("rr_S6","location","err");; } }
   webCmd     state


l2r

setz mal das Attribut rr_locations home, away, work

dann kennt er auch away.

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

kadettilac89

Zitat von: l2r am 04 August 2017, 13:03:12
setz mal das Attribut rr_locations home, away, work

dann kennt er auch away.

Gruß Michael
werde ich mal testen ... thx

Jamo

#560
Hallo,
ich würde gerne beim "rr_Inoma" Device als 4-tes Feld / Setter die Weckzeit einstellen können, also etwa so
attr rr_Inoma webCmd state:location:mood:nextRun
wobei "nextRun" dann das nextRun vom rr_Inoma_wakeuptimer1 einstellen würde, damit ich alle 4 setter für rr_Inoma einer Zeile habe, sonst brauche ich für den Wecker im Frontend eine eigene Zeile.
Leider hat das Device "rr_Inoma" kein Attribut setList, so dass ich keinen neuen Setter definieren kann. Hat einer eine Idee?

Danke und Gruss!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Otto

Hallo,

ich habe G-Tags am Schlüssel für die Steuerung (PRESENCE) des Status Home|Absent - das klappt soweit so gut.

Jetzt kommt es aber vor, dass meine Freundin Ihre Schlüssel in der Wohnung lässt und mit mir zusammen weg geht. Bei mir geht der Status ja automatisch auf Absent, aber wie mache ich es mit dem G-Tag meiner Freundin. Der meldet ja Home.

Kann man für diese Sonderfälle einen extra Status einrichten?
Also z.B. den Status auf "tour" setzen und dann das notify bei Status "tour" nicht auslösen...

Mit diesem notify mache ich den Statuswechsel

GTagOrange:present
{if (Value("rr_Peg") ne "gotosleep")
{fhem("set rr_Peg:FILTER=STATE!=home home");}
}


GTagOrange:absent
{if (Value("rr_Peg") ne "gone")
{fhem("set rr_Peg:FILTER=STATE!=absent absent");}
}
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

CoolTux

Da hilft dann nur über's Handy einwählen und von Hand auf absent setzen oder versuchen der Freundin zu erklären wieso es besser ist wenn sie den Schlüssel immer mit nimmt.

Im übrigen denke ich nicht das Dein "Problem" von einem Modul gelöst werden sollte. Man kann und sollte keine speziellen Situationen abbilden in einem Modul.
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

Amenophis86

Zitat von: CoolTux am 14 August 2017, 17:47:26
Da hilft dann nur über's Handy einwählen und von Hand auf absent setzen oder versuchen der Freundin zu erklären wieso es besser ist wenn sie den Schlüssel immer mit nimmt.

Im übrigen denke ich nicht das Dein "Problem" von einem Modul gelöst werden sollte. Man kann und sollte keine speziellen Situationen abbilden in einem Modul.

Naja, der Status wird vom Modul vermutlich wieder zurück gesetzt bei der nächsten Abfrage der G-Tags, daher wird ein Ändern von Hand nicht wirklich sinnvoll sein. Kann mich aber irren. Somit wäre die Idee einen "manuelle Änderung", welche nicht durch die G-Tags / Geofence / etc geändert werden kann schon nicht verkehrt.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Zitat von: Amenophis86 am 14 August 2017, 17:54:32
Naja, der Status wird vom Modul vermutlich wieder zurück gesetzt bei der nächsten Abfrage der G-Tags, daher wird ein Ändern von Hand nicht wirklich sinnvoll sein. Kann mich aber irren. Somit wäre die Idee einen "manuelle Änderung", welche nicht durch die G-Tags / Geofence / etc geändert werden kann schon nicht verkehrt.

Wenn man es richtig macht wird nichts zurück gesetzt. Meine Freundin ist seit heute Morgen im Urlaub, GTab ist hier geblieben und sie ist auf absent gestellt. Alles schick.
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

Amenophis86

Das heißt lepresenced setzt bei dir den Status nicht wieder zurück. Und wie macht man es richtig? :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

event-on-change-reading               presence,device_battery,device_batteryLevel
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

Amenophis86

Oder disbale des Gtag habe ich gerade überlegt. Aber deine Version geht auch, stimmt. Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

blade-of-fire

Hallo zusammen,

ich habe ein Problem und finde einfach nicht die Lösung.

Ich habe 2 Dummys, die jeweils 2 Readings haben (Key und Mobile). Das Reading Key wird vom jeweiligen iButton auf present/absent, das gleiche passiert über ein Presence Device, der mit der Fritzbox verknüpft ist.
Ich habe nun 2 Roommates, die mit dem jeweiligen Dummy und dessen Readings verknüpft sind (attr roommate1 rr_presenceDevices dummy1:Key,dummy1:Mobile).

Und nun zu meinem Problem:
Bei dem einen Roommate funktioniert das ganze einwandfrei. Sobald eines der Readings auf "present" steht, wird der Status geändert. Genauso umgekehrt, wenn alle Readings auf "absent" stehen.
Bei dem 2. Roommate allerdings passiert gar nichts.
Ich habe den 2. Roommate schon automatisch über den Resident-Device erzeugt und auch schon manuell angelegt. Die Readings, Attribute und Settings habe ich auch schon alle verglichen.
Ich könnte ja einfach mit Notifys arbeiten, aber wenn ich das richtig verstanden habe, brauche ich ja durch das Attribut "rr_presenceDevices" eigentlich kein Notify. Oder habe ich da was falsch verstanden?

Danke schonmal für eure Hilfe.
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

CoolTux

Hallo,

Du hast das schon richtig verstanden und Dein einer Roommate macht es ja auch korrekt.
Am Ende macht der Roommate nichts anderes wie ein Notify, er reagiert auf Events. Schau Mal im Eventmonitor was für Events Dein Dummy wirft. Und stell man ein liest von den beiden Roommates ein und eines vom Dummy der zum nicht funktionierenden Roommate gehört.


Grüße
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