Hauptmenü

Fragen zu Geofancy

Begonnen von Christian72D, 14 Februar 2017, 09:07:57

Vorheriges Thema - Nächstes Thema

Christian72D

Ich habe geofancy gestern 1:1 nach Wiki eingerichtet, die Namen natürlich auf mich angepasst. Und es läuft alles exakt so wie es soll.

Im Handy (Android) habe ich zum einen "Home" mit einem Radius von 100m angelegt und eine "HomeZone" mit 2 km.

Jetzt möchte ich unterschiedlich darauf reagieren ob ich Home betrete/verlasse bzw. HomeZone.

Beispiel: beim verlassen von "Home" soll Licht und Strom abgeschaltet werden, beim Betreten der Zone wieder ein.
Und wenn ich die HomeZone verlasse bitte auch die Heizung aus und  dann wieder ein.

Denn bei dem Radius und einer Abfrage alle 10 Minuten kann es ja passieren daß ich gleichzeitig beide Zonen betrete.

Thorsten Pferdekaemper

Hi,
vermutlich kann man da was mit notify machen. Stell mal ein list des Geräts hier ein, in dem Du das entsprechende Reading siehst. ...also das, wo Du sehen kannst, ob Du die HomeZone etc. verlassen, betreten etc. hast.
Am besten ware noch ein Auszug aus dem Event Monitor, wo man verlassen und betreten der HomeZone sieht.
Gruß,
   Thorsten
FUIP

Weisswurstverkäufer

Ich glaube da lässt sich am besten mit "wayhome" lösen:

Wenn du homezone betrittst "wayhome" auf 1 setzen. Du bleibst dann "absent". Wenn dann beides gleichzeitig passiert bist Du halt wayhome und home, aber es würde sich nichts überschreiben

Christian72D

#3
Hier schon mal das list:

Internals:
   DEF        geo
   NAME       geofancy
   NR         377
   STATE      id:2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx trig:1 date:1487072314 lat:51.xxxxxxx long:6.xxxxxxxxxxx dev:2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx devAlias=Christian
   TYPE       GEOFANCY
   Readings:
     2017-02-14 12:38:34   Christian       arrived homezone
     2017-02-14 12:38:34   currLocAddr_Christian -
     2017-02-14 12:38:34   currLocLat_Christian 51.xxxxxxxxxxxx
     2017-02-14 12:38:34   currLocLong_Christian 6.xxxxxxxxxxxx
     2017-02-14 12:38:34   currLocTime_Christian 2017-02-14 12:38:34
     2017-02-14 12:38:34   currLoc_Christian homezone
     2017-02-14 12:38:34   lastArr         Christian homezone
     2017-02-14 12:30:24   lastDep         Christian homezone
     2017-02-14 12:38:34   lastDevice      Christian
     2017-02-14 12:38:34   lastDeviceUUID  2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx
     2017-02-14 12:02:19   lastLocAddr_Christian -
     2017-02-14 12:02:19   lastLocArr_Christian 2017-02-14 11:54:59
     2017-02-14 12:02:19   lastLocDep_Christian 2017-02-14 12:02:19
     2017-02-14 12:02:19   lastLocLat_Christian 51.xxxxxx
     2017-02-14 12:02:19   lastLocLong_Christian 6.xxxxx
     2017-02-14 12:02:19   lastLoc_Christian home
     2017-02-14 12:38:34   state           id:2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx trig:1 date:1487072314 lat:51.xxxxxxxxxxxx long:6.xxxxxxxxxxxxxx dev:2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx devAlias=Christian
   Fhem:
     infix      geo
   Helper:
     Device_aliases:
       2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx Christian
     Device_names:
       Christian  2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx
Attributes:
   devAlias   2xxxxxxxx-4xxx-3xxx-axxxxxxxxxxxxxxxxxx:Christian
   room       Info


Das mit dem Event-Monitor kann ich erst später machen...

Thorsten Pferdekaemper

Hi,
sehe ich das richtig, dass die Readings lastArr und lastDep im Prinzip sagen, welche Grenze Du als letztes überquert hast? Wenn ja, dann müsste man doch einfach auf das zugehörige Event ein notify setzen können, oder?
Gruß,
  Thorsten
FUIP

Christian72D

Ja, aber folgendes Problem gibts trotzdem:
ZitatDenn bei dem Radius und einer Abfrage alle 10 Minuten kann es ja passieren daß ich gleichzeitig beide Zonen betrete.

Wenn ich es jetzt innerhalb eines Sende Zyklus von außerhalb der HomeZone nach Home schaffe (ist locker machbar), dann würde geofancy nur den Status Home bemerken und mir zwar das Licht einschalten, nicht aber die Heizung.
Oder ich müsste beim Erreichen Home alles doppelt machen. Genauso wie beim Verlassen der HomeZone.

Thorsten Pferdekaemper

Zitat von: Christian72D am 14 Februar 2017, 13:00:40Oder ich müsste beim Erreichen Home alles doppelt machen. Genauso wie beim Verlassen der HomeZone.
Wahrscheinlich entweder so, oder aber Du lässt bei jeder Änderung das notify triggern und fragst dann per IF oder Perl-if ab, wo Du gerade bist und setzt alles entsprechend. Es gibt ja nur drei Möglichkeiten, da ist das noch relativ übersichtlich.
Möglicherweise kann man das mit DOIF eleganter hinschreiben, aber das müsstest Du Dir selbst anschauen.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
einfacher dürfte es sein, Du nimmst zum Triggern lastLoc_Christian, bzw. dessen mögliche Werte und schaltest dann alles so, wie Du es jeweils willst. Wenn es komplexer wird, dann könnte LightScene (oder so) helfen.
Gruß,
   Thorsten
FUIP

kadettilac89

Zitat von: Christian72D am 14 Februar 2017, 09:07:57
Beispiel: beim verlassen von "Home" soll Licht und Strom abgeschaltet werden, beim Betreten der Zone wieder ein.
Und wenn ich die HomeZone verlasse bitte auch die Heizung aus und  dann wieder ein.

Hast du nur Schaltoptionen beim Betreten und Verlassen? Wenn ja geht das wahrscheinlich viel einfacher ...

1) definiere pro Zone eine "structure" z. B. alle Lichtschalter in Zone 1 oder Heizung in Zone 2. Diese Strcture kannst du direkt mit set xxx on / off schalten. Siehe Commandref.

2) Interpretation / Annahme, du verwendest egigeozone als app ... pro zone definierst du dir ein Server-Profil mit "Url Zone betreten"  bzw. verlassen ... Da du in 1) Strukturen definiert hast ist es nur ein Schaltbefehl.

s. Handbuch https://www.egigeozone.de/manual/default.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Weitere Beispiele von HTTP(S)-Aufrufen:
Aufrufen einer URL für das Betreten der Zone und eine für das Verlassen der Zone:
URL Zone betreten - Beispiel: https://srv.xxxx.de:1994/fhem?cmd.Abwesend=set Abwesend nein
URL Zone verlassen - Beispiel: https://srv.xxxx.de:1994/fhem?cmd.Abwesend=set Abwesend ja
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Vorteil ... aufgeräumtes Fhem da keine zusätzlichen notify, at oder was auch immer nötig ist. Weiter Admin - Entwickler von egigeozone - gibt schnellen Support in seinem Forum wenn du fragen hast.

Christian72D

Zitat von: kadettilac89 am 14 Februar 2017, 18:05:50
2) Interpretation / Annahme, du verwendest egigeozone als app ... pro zone definierst du dir ein Server-Profil mit "Url Zone betreten"  bzw. verlassen ... Da du in 1) Strukturen definiert hast ist es nur ein Schaltbefehl.
DAS klingt für mich bis jetzt nach der BESTEN Lösung, also für jede Zone ein eigenes "geofancy", dann wäre alles sauber getrennt.

kadettilac89

So würde ich es machen. Du kannst in der App die beiden Zonen mal definieren und die Benachrichtigung beim betreten und verlassen einschalten. Dann solltest du sehen wofür ein Event getriggert wird.

Wenn das funktioniert rufst du mal im Browser den Link auf um das Schalten zu testen. Damit das erstmal technisch funktioniert. Wenn der Link funktioniert dann baust du alles zusammen.