FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: holle75 am 23 Januar 2015, 17:32:47

Titel: Presence iPhone Anwesenheitserkennung die 16te mit wiederholter Abfrage
Beitrag von: holle75 am 23 Januar 2015, 17:32:47
Hello, habe jetzt ca 15 Threads zum Thema Presence/Anwesenheitserkennung gelesen. In den meisten wird unter anderem darauf hingewiesen, dass iPhones ihr WLAN abstellen um Akku zu sparen. Ein anpingen ist dann nicht mehr möglich. Ein bei mir seit Jahren funktionierender Workaround mit EvenGhost (Windows-Automatisierung) ist das iPhone zu zwingen alle 15 Minuten Mails abzuholen. EventGhost checkt 17 Minuten lang alle 30 Sekunden, ob MINDESTENS EINMAL in den 17 Minuten das Phone resp. die entsprechende IP anzupingen ist. Wenn das der Fall ist fangen die 17 Minuten von vorne an.

Dies würde ich gerne in fhem mit PRESENCE umsetzen

Zwei interessante Ansätze waren:


define Holger PRESENCE lan-ping 192.168.1.34
attr Holger userattr Bewohner_structure Bewohner_structure_map structexclude
attr Holger Bewohner_structure Bewohner
attr Holger devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Holger eventMap 1
attr Holger room Haus
attr Holger verbose 3
#attr Holger event-on-change-reading state
define Nicole PRESENCE lan-ping 192.168.1.41
attr Nicole userattr Bewohner_structure Bewohner_structure_map structexclude
attr Nicole Bewohner_structure Bewohner
attr Nicole devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Nicole eventMap 1
attr Nicole room Haus
attr Nicole verbose 3
#attr Nicole event-on-change-reading state

define Bewohner structure Bewohner_structure Holger Nicole dummy
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
attr Bewohner eventMap 1
attr Bewohner room Haus
#attr Bewohner event-on-change-reading state
define FileLog_Bewohner FileLog ./log/Bewohner-%Y-%m.log Bewohner
attr FileLog_Bewohner logtype text
attr FileLog_Bewohner room Haus

#Bewohner auf on setzen bei Anwesenheit
define Bewohner_on notify Bewohner:present set Bewohner on
attr Bewohner_on room Haus

#Watchdog definieren
define watchdogBewohner watchdog Bewohner:absent 00:01:00 Bewohner:present set Bewohner off;; setstate Bewohner defined
attr watchdogBewohner room Haus


In diesem Beispiel funktioniert es wie vorauszusehen recht direkt. Das "Gesamtpaket" gefällt mir gut. Wie kann ich hier die oben genannte Idee einbauen?

Das zweite Beispiel:

define Holger_iPhone PRESENCE lan-ping 192.168.1.34

define Abwesenheit_Holger watchdog Holger_iPhone:absent 00:17 Holger_iPhone:present set TEST_nachtlicht off ;; setstate Anwesenheit_Holger defined
attr Abwesenheit_Holger regexp1WontReactivate 1

define Anwesenheit_Holger watchdog Holger_iPhone:present 00:00 Holger_iPhone:absent set TEST_nachtlicht on ;; setstate Abwesenheit_Holger defined
attr Anwesenheit_Holger regexp1WontReactivate 1


Ich dachte der Watchdog macht genau das was ich wollte, aber stattdessen wartet er (wenn ich mich jetzt beim Testen nicht vertan habe) 17 Minuten um dann erneut genau dann den Status abzufragen. So funktioniert das Prinzip mit dem iPhone nicht.

Habt ihr eine Idee?

liebe Grüße

H.