FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Banis am 19 Februar 2018, 11:05:02

Titel: Problem mit DOIF und resetwait
Beitrag von: Banis am 19 Februar 2018, 11:05:02
Hallo zusammen,

da ich beim Thema Anwesenheitserkennung schon sehr viel ausprobiert habe und leider bei keiner Lösung voll überzeugt war, hab ich meine derzeitige Anwesenheitserkennung mit einem DOIF umgesetzt.

Meine Handy meldet per Automagic an FHEM dass ich daheim bin solbald ich mit WLAN verbunden bin und dann alle 5 Minuten. Dazu hab ich folgenden Dummy definiert:

define Max_anwesend dummy
attr Max_anwesend Event-on-change-reading state
attr Max_anwesend room Anwesenheit
attr Max_anwesend webCmd on:off


Ein DOIF setzt diesen Dummy alle 10 Minuten auf "off" sofern in der Zwischenzeit keine "on" Meldung vom Handy gekommen ist.


define di_Max_anwesend_off DOIF ([Max_anwesend] eq "on") (set Max_anwesend off) DOELSE
attr di_Max_anwesend_off do resetwait
attr di_Max_anwesend_off room Anwesenheit
attr di_Max_anwesend_off wait 600


Das hat auch prima funktioniert bis ich versucht habe die Events durch "Event-on-change-reading state" etwas zu begrenzen.

Seihther funktioniert das DOIF nicht mehr. Also auch wenn über mehr als 600 Sekunden keine Anwesenheit vom Handy gemeldet wird, stellt das DOIF den Dummy nicht auf "off".

Zur Not könnte ich schon mit den vielen Evets leben, wenn mir aber jemand ein Tipp hätte wie ich das DOIF trotz des Event-on-change-reading hinbekommen wäre ich sehr dankbar.


Titel: Antw:Problem mit DOIF und resetwait
Beitrag von: Banis am 06 März 2018, 11:02:05
Ich wollte das Thema nochmal nach oben holen.

Hat keiner einen Lösungsvorschlag?
Titel: Antw:Problem mit DOIF und resetwait
Beitrag von: Ellert am 06 März 2018, 11:29:35
Verzichte auf den Dummy und setze DOIF durch Automagic wiederholt direkt auf cmd_1 unter Verwendung des Attributes cmdState auf on/off.

defmod anwtest DOIF (1) () ()
attr anwtest cmdState on,off
attr anwtest do resetwait
attr anwtest wait 0,600


Innerhalb von 600 s muss set anwtest cmd_1 wiederholt werden, dann bleibt state on, sonst off
Titel: Antw:Problem mit DOIF und resetwait
Beitrag von: Banis am 09 März 2018, 16:29:01
super, vielen Dank das war die Lösung