watchdog schaltet nicht bei dummy

Begonnen von bjoernhoefer, 28 Mai 2013, 13:54:42

Vorheriges Thema - Nächstes Thema

bjoernhoefer

Hallo,

ich verwende das Presence-Modul um die Anwesenheit von zwei Mobiltelefonen bei mir im Haushalt zu "monitoren".

Jetzt möchte ich beim verlassen des Hauses nach 15 Minuten das WLAN deaktivieren.

Ich hab es mir so gedacht:

Zusammenführen der beiden Handy-Stati in einen dummy:
## Notify
## Abwesenheit beider Mobiltelefone in einen dummy kommulieren
define home_state dummy
attr home_state room system
define notify_bjoern_absent notify handy_bjoern:absent {if(Value("handy_dani") eq "absent") { fhem("setstate home_state absent") } }
attr notify_bjoern_absent room system
define notify_bjoern_present notify handy_bjoern:present setstate home_state present
attr notify_bjoern_present room system


define notify_dani_absent notify handy_dani:absent {if(Value("handy_bjoern") eq "absent") { fhem("setstate home_state absent") } }
attr notify_dani_absent room system
define notify_dani_present notify handy_dani:present setstate home_state present
attr notify_dani_present room system


Das funktioniert soweit...

Dann möchte ich nach Änderung des dummy 15 Minuten warten und dann das WLAN deaktivieren.

define wlan_watchdog watchdog home_state:absent 00:15:00 home_state:present { fhem("set mikrotik_interface_11 off") }
attr wlan_watchdog room schedule


Der watchdog ändert seinen Status aber nicht, wenn sich der dummy ändert - er bleibt immer auf "defined"

Ich habs auch schon versucht mit meinen Handy zu testen, das funktionierte einwandfrei...


Kann mir bitte irgendwer weiterhelfen?

Danke


Björn

rudolfkoenig

setstate loest kein Event aus, und watchdog benoetigt events um zu schalten (genauso wie notify/flelog/etc).
Events kann man mit "trigger device eventname" ausloesen.

Die Events sieht man mit "info timer" im telnet oder mit dem Event Monitor in FHEMWEB.

bjoernhoefer

cool, danke funktioniert soweit ich das jetzt kurzzeitig beobachten konnte (nicht viel zuhause...)

Ich habe jetzt die notify's wie folgt geändert:
## Notify
## Abwesenheit beider Mobiltelefone in einen dummy kommulieren
define home_state dummy
attr home_state room system
define notify_bjoern_absent notify handy_bjoern:absent {if(Value("handy_dani") eq "absent") { fhem("trigger home_state absent") } }
attr notify_bjoern_absent room system
define notify_bjoern_present notify handy_bjoern:present trigger home_state present
attr notify_bjoern_present room system


define notify_dani_absent notify handy_dani:absent {if(Value("handy_bjoern") eq "absent") { fhem("trigger home_state absent") } }
attr notify_dani_absent room system
define notify_dani_present notify handy_dani:present trigger home_state present
attr notify_dani_present room system


Die einzige Frage die ich noch hätte:

Wenn ich die jetzt Event-basiert triggere (wenn man das so schreiben kann/darf), dann ändert sich der Zustand im Web-Interface nicht.

Muss ich dafür dann noch "extra" einen setstate machen, oder gibts da eine "allumfassende" Lösung?

Puschel74

Hallo,

warum

Zitat{ fhem("trigger home_state absent") } }

Sollte nicht ein

{ fhem("set home_state absent") } }

auch klappen?

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.

bjoernhoefer

Stimmt...

Irgendwie hat das vorher nicht so funktioniert bzw. hab ich sicher irgend einen Fehler gemacht...

Ich habs gerade ein wenig versucht und es funktioniert tadellos.


Danke.