[gelöst] Gerät nach Zeit X ausschalten wenn es eingeschaltet wurde

Begonnen von Groej, 15 April 2017, 08:53:01

Vorheriges Thema - Nächstes Thema

Groej

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
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Benni

#1
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.

Groej

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
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Benni

#3
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 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.

Fridolin

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

Gruß
Fridolin
FHEM zuerst auf FB dann Raspi, HM, FS20

Groej

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
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Fridolin

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
FHEM zuerst auf FB dann Raspi, HM, FS20

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF