Geofencing Modul für Geofency.com und Geofancy.com

Begonnen von Loredo, 07 Januar 2014, 16:57:26

Vorheriges Thema - Nächstes Thema

justme1968

ich hab auch das problem das ich beim weg fahren von zuhause auch mehr als ein event bekomme.

neben der so einem ignorieren würde ich mir noch eine zweite art verzögerung wünschen: ich fahre ab und zu durch einen der geifences ohne wirklich dort zu bleiben. die meldungen für ankommen und verlassen sind höchstens 1 oder 2 sekunden auseinander. es wäre klasse wenn man für bestimmte ids angeben könnte das die ankunft nur dann 'echt' ist wenn nicht direkt danach wieder ein leave kommt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

svenson08

Zitat....ignorieren würde ich mir noch eine zweite art verzögerung wünschen

Mit der Mindestanwesenheit in den Feineinstellungen der Geofency App lässt sich das auch im sek. Bereich einstellen. Das sollte doch für solche Fälle geeignet sein.

justme1968

nicht wenn geofancy im einsatz ist :)

ich würde beides schon im fhem modul sehen. dann ist es von der app und methode unabhängig die verwendet wird.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

svenson08

Zitat...nicht wenn geofancy im einsatz ist
Das ist richtig. Ich hab beide Apps und bin mittlerweile auf die geofency App gewechselt. Aber du hast recht, in der App geht das nicht. Und prinzipiell müsste dieses Latenzverhalten im Modul abgebildet werden. Ich weis aber nicht wie Loredo das sieht.

Loredo

Ich nutze auch die Zeitverzögerungen in der App. Dort ist es auch besser aufgehoben als im Modul selbst denke ich, weil das Problem da an der Wurzel gepackt ist und auch den Akku besser schont :-)


Ich hätte fürs Modul gerade noch keine konkrete Idee, wie man das zuverlässig einbauen würde bzw. wie es sich leicht konfigurieren ließe. Die Konfiguration müsste ja pro Gerät und pro Standort möglich sein, das wird schnell unübersichtlich in FHEM. Zumindest würde ich es gern vermeiden, dass man mehrere Instanzen von GEOFANCY in FHEM anlegen muss. Derzeit kann man mit einer Webhook-Definition beliebig viele Geräte/Nutzer abhandeln.


Habt ihr mal geschaut, wie weit ihr mit dem Attribut event-min-interval kommt?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Ach und übrigens, ich nutze GEOFANCY natürlich mit einem ROOMMATE Device in FHEM. Vielleicht habe ich deshalb auch ein besseres Verhalten bei mir, denn ROOMMATE aktualisiert den Standort tatsächlich nur, wenn er nicht identisch ist  ;)
Vielleicht sollte ich bei ROOMMATE noch den Zusatz "made for GEOFANCY" hinzufügen  ;D
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Sailor

Hallo Loredo

ich bin ja ein braver Programmsel und habe auf Dein Anraten hin die Module "Roommate" und "Residents" bei mir implementiert.

Mir hat sich zwar noch nicht der Sinn entschlossen wozu der "Mood" ist, aber auf alle Faelle fehlt da noch "hormonal disoriented" fuer Rommates mit Beduerfnissen nach Umstandsmode.  ;D ;D ;D

Im Ernst:
Es scheint super gut mit dem Geofancy modul zu funktionieren, jedoch haette ich gerne einen plot auf die Readingsgroup "Residents".
Je nachdem ob der HomeState auf "home", "absent", "gotosleep" oder "gone" sollte in dem Plot die Linie auf 1, 2, 3 oder 4 huepfen.

Das wuerde ungemein bei der Fehlersuche bzw. bei der Feinabstimmmung der Thermostat-Wochenprogramme helfen.

Wie hast Du das denn bei Dir realisiert bzw. hast Du eine Idee?

Danke vorweg

Gruss
    Sailor
******************************
Man wird immer besser...

MarkusN

Hallo Loredo,

danke für das Modul, bin gerade dabei mein selbstgebautes 'Handy-an-Accesspoint-angemeldet-Script' abzulösen und mit unseren leider noch iPhone 4 geofancy zu benutzen. Grundsätzlich scheint auch alles zu funktionieren, jedoch bekomme ich (zumindest bei über die App erzeugten Test-Events) folgende Fehler im FHEM-Log:

2014.03.01 19:16:07 3: GEOFANCY geofancy: markus arrived at xxx
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
2014.03.01 19:15:35 3: GEOFANCY geofancy: markus arrived at xxx
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
2014.03.01 19:14:28 3: GEOFANCY geofancy: markus arrived at xxx
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
2014.03.01 19:12:31 3: GEOFANCY geofancy: markus arrived at xxx
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
2014.03.01 19:02:27 3: GEOFANCY geofancy: markus arrived at xxx
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.


Nutze Apache2 als Proxy zu FHEM. Sollte aber meiner Meinung nach kein Problem sein.

Grüße,

Markus

Sailor

Hallo Markus

Hast Du schon ein fhem Update zur Sicherheit gemacht?

Gruß
   Sailor


Gesendet von meinem iPhone mit Tapatalk
******************************
Man wird immer besser...

Sailor

Neues vom Programsel vom hinterm-Deich

Ich habe ein seltsames Phenomaen entdeckt als ich eine Routine schreiben wollte, die mir eine "Haus ist sicher" Meldung reussenden soll.

Folgender Code


###START########### Send OK message via PushOver if all windows are closed after everybody left home ###########START###
define AllWindows structure AllWindows_structure BR_Window
attr AllWindows clientstate_behavior relative
attr AllWindows clientstate_priority open closed

define AllWindowsClosed notify rgr_Roommates:.* {\
if (((Value("rgr_Roommates") eq "absent") || (Value("rgr_Roommates") eq "gone"))&& (Value("AllWindows")) eq "closed" ){\
Log 3, "Test routine Home Secured" ;;\
}\
}
#fhem "set PushoverOK msg 'Deeke Home-Security' 'Deeke House is secured' '' 0 ''";;\

####END############ Send OK message via PushOver if all windows are closed after everybody left home ############END####


fuehrt dazu, das 11 Log-Eintraege gemacht werden:  :o


2014.03.02 16:36:59 2: RESIDENTS set rgr_Roommates absent
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured


Dabei wuerde mir eine Meldung vollkommen ausreichen!  ;D

Habt Ihr eine Ahnung woher das kommen koennte?

Gruss
    Sailor
******************************
Man wird immer besser...

Loredo

Zitat von: Sailor am 01 März 2014, 15:31:29
Mir hat sich zwar noch nicht der Sinn entschlossen wozu der "Mood" ist, aber auf alle Faelle fehlt da noch "hormonal disoriented" fuer Rommates mit Beduerfnissen nach Umstandsmode.  ;D ;D ;D


Du könntest dann z.B. deine LED Leuchten in eine beruhigende Farbe tauchen ;)

Zitat von: Sailor am 01 März 2014, 15:31:29jedoch haette ich gerne einen plot auf die Readingsgroup "Residents".Je nachdem ob der HomeState auf "home", "absent", "gotosleep" oder "gone" sollte in dem Plot die Linie auf 1, 2, 3 oder 4 huepfen.


Soweit ich weiß, kann man im Plot Modul entsprechende Texte jeweils einem Zahlenwert zuordnen. Such mal im Forum und schau in die Kommando-Referenz zum Plotten.

Zitat von: MarkusN am 01 März 2014, 19:23:31
jedoch bekomme ich (zumindest bei über die App erzeugten Test-Events) folgende Fehler im FHEM-Log:

2014.03.01 19:16:07 3: GEOFANCY geofancy: markus arrived at xxx
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 332.
Use of uninitialized value $date in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.
Use of uninitialized value $locName in concatenation (.) or string at ./FHEM/98_GEOFANCY.pm line 314.


Welche der beiden Apps benutzt du denn?

Zitat von: Sailor am 02 März 2014, 16:45:49
Folgender Code


###START########### Send OK message via PushOver if all windows are closed after everybody left home ###########START###
define AllWindows structure AllWindows_structure BR_Window
attr AllWindows clientstate_behavior relative
attr AllWindows clientstate_priority open closed

define AllWindowsClosed notify rgr_Roommates:.* {\
if (((Value("rgr_Roommates") eq "absent") || (Value("rgr_Roommates") eq "gone"))&& (Value("AllWindows")) eq "closed" ){\
Log 3, "Test routine Home Secured" ;;\
}\
}
#fhem "set PushoverOK msg 'Deeke Home-Security' 'Deeke House is secured' '' 0 ''";;\

####END############ Send OK message via PushOver if all windows are closed after everybody left home ############END####


fuehrt dazu, das 11 Log-Eintraege gemacht werden:  :o


2014.03.02 16:36:59 2: RESIDENTS set rgr_Roommates absent
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:36:59 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured
2014.03.02 16:37:00 3: Test routine Home Secured


Das ist jetzt hier nicht ganz der richtige Thread, das gehört eigentlich in den Thread für die Bewohner-Module.
Spontan denke ich, dass es daran liegt, dass du dein Notify nicht eng genug fasst. Es werden eine Menge Readings beim RESIDENTS Objekt aktualisiert und insbesondere wenn du zum Testen alle Bewohner auf einmal auf "absent" setzt, dann erzeugt jedes Mitglied ein entsprechendes Update einiger Readings. Grundsätzlich werden nur Readings aktualisiert, sie sich auch verändert haben; sprich es werden auch nur Events erzeugt, wenn sich etwas geändert hat.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Sailor

Hallo Loredo

ja Sorry, das war nicht der richtige Thread!
Ich habe versucht eine Funktion zu finden meinen Beitrag in den Roommate - Thread zu verschieben, aber ich fuerchte dazu brauche ich M0derationsrechte.  :'(

Zitat von: Loredo am 02 März 2014, 21:24:41


Das ist jetzt hier nicht ganz der richtige Thread, das gehört eigentlich in den Thread für die Bewohner-Module.
Spontan denke ich, dass es daran liegt, dass du dein Notify nicht eng genug fasst. Es werden eine Menge Readings beim RESIDENTS Objekt aktualisiert und insbesondere wenn du zum Testen alle Bewohner auf einmal auf "absent" setzt, dann erzeugt jedes Mitglied ein entsprechendes Update einiger Readings. Grundsätzlich werden nur Readings aktualisiert, sie sich auch verändert haben; sprich es werden auch nur Events erzeugt, wenn sich etwas geändert hat.

Vielen Dank fuer den Hinweis.
Ein kurzer Blick in das Rommate-Log haette es aufgezeigt.

Damit geht es jetzt:


define AllWindowsClosed notify rgr_Roommates:presence.* {\
if (((Value("rgr_Roommates") eq "absent") || (Value("rgr_Roommates") eq "gone"))&& (Value("AllWindows")) eq "closed" ){\
fhem "set PushoverOK msg 'Home-Security' 'House is secured' '' 0 ''";;
Log 3, "House is secured";;\
}\
}


Danke nochmal... Ich trink ein Weissbier auf Dein Wohl!

Gruss
    Sailor

PS: Bleibt nur noch die verflixte Plot Problematik.
******************************
Man wird immer besser...

Sailor

Hallo Loredo,

kurze Frage:

Ist es ein Bug oder ein Feature, dass ein Roommate der auf Status "gotosleep" steht, beim verlassen des geofency Bereichs "home" nicht auf absent gesetzt wird?

Wenn der Roommate auf Status "home" steht und den Bereich verlaessst, dann geht er via geofency brav auf "absent".

Bin am raetseln...

Gruss
    Sailor
******************************
Man wird immer besser...

MarkusN

Zitat von: Sailor am 01 März 2014, 19:54:13
Hallo Markus

Hast Du schon ein fhem Update zur Sicherheit gemacht?

Gruß
   Sailor


Gesendet von meinem iPhone mit Tapatalk

Hallo,

ein Update hat das Problem behoben!

Danke und Grüße,

Markus

Loredo

Zitat von: Sailor am 05 März 2014, 21:31:05
Ist es ein Bug oder ein Feature, dass ein Roommate der auf Status "gotosleep" steht, beim verlassen des geofency Bereichs "home" nicht auf absent gesetzt wird?

Wenn der Roommate auf Status "home" steht und den Bereich verlaessst, dann geht er via geofency brav auf "absent".


Wieder der falsche Thread hier!

Nun denn: Der Status wird auf absent gewechselt, wenn die Lokation auf "underway" wechselt. Da ist es egal, welcher Status bei dem Objekt aktuell besteht. Ich gehe davon aus, das aus GEOFANCY heraus bei dir kein solches Event erzeugt wurde. Warum das so ist, kannst nur du anhand deiner individuellen Festlegung der Geofencing Zonen nachvollziehen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER