Hallo an alle und schöne Ostertage,
ich habe versucht mit DOIF und wait ein Gerät nach 60 Minuten (3600 Sekunden) auszuschalten. Wait scheint aber für so eine lange Zeit nicht bestimmt zu sein. Bei ein paar Minuten zum Testen funktioniert es wunderbar.
Hintergrund - Ich möchte wenn mein Vater die Rasensprenger manuell einschaltet sie nach einer Stunde wieder ausgehen falls er vergessen sollte sie wieder aus zu schalten.
Hat jemand einen Tipp für mich (DOIF,notify,at)?
Einen Nachtrag noch. Es handelt sich um eine Anel IP Steckdose die geschaltet wird. Also kein FS20 oder so wo man einen Timer benutzen könnte.
Danke und wie gesagt schöne Ostertage.
Gruß
Jörg
watchdog (https://fhem.de/commandref_DE.html#watchdog)
Beispiel:
define wdRasenSprenger watchdog RasenSprenger:on 01:00 RasenSprenger:off set RasenSprenger off
attr wdRasenSprenger autoRestart 1
davon ausgehend, dass das Gerät, das den Rasensprenger Schaltet "RasenSprenger" heißt und "on" und "off" sendet.
Super Danke werde ich probieren.
Blöde Frage dazu. Könnte man dort auch eine weitere Abfrage machen das ein Dummy Schalter an sein muß um den Watchdog laufen zu lassen? Also wie bei DOIF mit and Verknüpfung.
Gruß
Jörg
Klar geht das! Dann musst du aber auf die Perl-Ebene wechseln.
Das sähe dann in etwa so aus (im DEF-Bereich des watchdog):
RasenSprenger:on 01:00 RasenSprenger:off {
if(Value('DummySchalter) eq 'on') {
fhem('set RasenSprenger off');
}
}
Wenn der Teil zwischen der ersten "{" und der letzten "}" umfangreicher würde, empfiehlt es sich, das in eine sub in der 99_myUtils.pm (https://wiki.fhem.de/wiki/99_myUtils_anlegen) auszulagern
Eine andere Möglichkeit wäre, ein notify auf den DummySchalter zu machen und bei "on" den watchdog zu aktivieren und bei "off" zu deaktivieren.
Hallo Jörg,
ich hatte den gleichen Gedanken und hatte das so gelöst und als Beispiel gepostet: https://forum.fhem.de/index.php/topic,68903.0.html (https://forum.fhem.de/index.php/topic,68903.0.html)
Gruß
Fridolin
Moin,
@Fridolin: So hatte ich das probiert. Klappte auch bei kurzen Zeiten zum Testen aber komischerweise nicht bei 3600 Sekunden.
@Benni: Danke für den Code. Hab in noch etwas umgeschrieben und natürlich durch meine Werte ersetzt. Klappt super.
define anel_hn_schuppen_rel1_wd watchdog anel_hn_schuppen_rel2_dummy:on 01:00 anel_hn_schuppen_rel2_dummy:off {\
if(Value("anel_hn_schuppen_auto_off_dummy") eq "on") {\
fhem "set anel_hn_schuppen_rel2_dummy off"\
}\
}
Schöne Ostern und Danke für die Hilfe
Jörg
Hallo Jörg,
ich habe das gerade noch mal getestet - funktioniert auch bei 3600 Sekunden genauso wie bei 5400 Sekunden bei mir, oder auch zu Testzwecken mehr oder weniger kurze oder längere Zeiten . . . .
Das sollte mit allen Zeiten funktionieren, da es Geräte- oder Systemunabhängig ist.
Gruß
Fridolin
Zitat von: Fridolin am 16 April 2017, 11:51:10
Hallo Jörg,
ich habe das gerade noch mal getestet - funktioniert auch bei 3600 Sekunden genauso wie bei 5400 Sekunden bei mir, oder auch zu Testzwecken mehr oder weniger kurze oder längere Zeiten . . . .
Das sollte mit allen Zeiten funktionieren, da es Geräte- oder Systemunabhängig ist.
Gruß
Fridolin
man sollte ggf. das Attribut do always setzen, falls kein Zustandswechsel erfolgt.