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