Hauptmenü

Anwesenheit und Timer

Begonnen von ostfriese26802, 11 Juli 2014, 22:49:31

Vorheriges Thema - Nächstes Thema

ostfriese26802

Ich versuche eine Anwesenheitserkennung umzusetzen, im Endeffekt soll eine Elro Funksteckdose für x Minuten eingeschaltet werden wenn sich das Handy im WLAN anmeldet.

Die Anwesenheitserkennung funktioniert soweit und auch der Timer wird entsprechende gesetzt.

define Handy_Hermann PRESENCE lan-ping 192.168.178.105 30

define Anw_Handy_Hermann notify Handy_Hermann { \
if ("%" ne "absent") {\
fhem ("set WN_Stern on;; define WN_SternTimer at +00:02 set WN_Stern off");;\
}\
else {\
fhem "/fhem/wohnzimmer.py 2 0&";;\
}\
Log 1, "notify wird ausgeführt mit @ %";;\
}

Das Problem ist nur, das über define Handy_Hermann PRESENCE lan-ping 192.168.178.105 30 das Handy alle 30 Sekunden wieder gefunden wird und dadurch der WN_SternTimer immer wieder neu gesetzt wird. Im Endeffekt geht die Lampe erst aus wenn das Handy nicht mehr im WLAN  ist.

Hier meine zweite Idee:

define N_Anwesend notify Anwesend { \
if ("%" eq "on" ) {\
fhem ("set WN_Stern on;; define WN_SternTimer at +00:02 set WN_Stern off");;\
}\
else {\
fhem ("set WN_Stern off");;\
}\
Log 1, "notify wird ausgeführt mit @ %";;\
}


define Anw_Handy_Hermann notify Handy_Hermann { \
if ("%" eq "present"  &&  "$value{Anwesend}" eq "off") {\
fhem ("set Anwesend on");;\
}\
else {\
fhem ("set Anwesend off");;\
}\
Log 1, "notify wird ausgeführt mit @ %";;\
}

Die Steckdose wird geschaltet wenn Anwesend on ist und Anwesend wird auf on geschaltet wenn das Handy im WLAN ist und Anwesend noch auf off ist.
Leider funktioniert es nicht denn Anwesend wird noch auf on gesetzt.

Hat jemand eine Idee wie ich die zweite Variante zum Laufen bekomme bzw eine ganz andere Idee?

Dietmar63

so auf keinen Fall:
"$value{Anwesend}"
Vielleicht wird es so besser:
Value("Anwesend")

siehe:

http://forum.fhem.de/index.php/topic,14010.msg176719.html#msg176719

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Puschel74

Hallo,

besser und leichter lesbarer wäre es mit den passenden Tags aber das ist ja bereits zur genüge beschrieben und erklärt.
Ich persönlich les mir solche Textwüsten nichtmehr durch.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ostfriese26802

Ich konnte das Problem lösen, die if Abfrage sieht nun wie folgt aus

define Anw_Handy_Hermann notify Handy_Hermann { \
if ("%" ne "absent"  &&  Value("Anwesend") ne "on") {\
fhem ("set Anwesend on");;\
}\
else {\
fhem ("set Anwesend off");;\
}\
Log 1, "notify wird ausgeführt mit @ %";;\
}