FHEM Forum

FHEM => Automatisierung => Thema gestartet von: heinzfo am 27 Januar 2024, 12:45:01

Titel: watchdog und trigger FensterDuscheWdTG .
Beitrag von: heinzfo am 27 Januar 2024, 12:45:01
Hallo

Ich komme leider nicht weiter.

Warum hat fhem "trigger FensterDuscheWdTG . " keine Funktion?
Siehe Raw definition.

Wenn ich trigger FensterDuscheWdTG . im Command Input vom FHEM Webinterface eingebe, geht das!


Zum Testen ist die Zeit auf 10s gesetzt.

Raw definition
defmod FensterDuscheWdTG watchdog FensterDusche:userState:.offen 00:00:10 FensterDusche:userState:.geschlossen {\
my $FensterDusche = ReadingsVal("FensterDusche","userState","");;\
my $ansage = "Bitte das Fenster in der Dusche schließen.";;\
{fhem "attr -silent mySIP sip_audiofile_call !$ansage"}\
if (ReadingsVal("Heinz_Mobil","state","") eq "present" &&\
ReadingsVal("FensterDusche","userState","") eq "offen")\
{fhem "set teleBot msg \@12345 *Fenster Dusche*, $FensterDusche";;\
fhem "set mySIP call **611* 10";; fhem "sleep 2 quiet;; set mySIP call **612* 10";; fhem "trigger FensterDuscheWdTG . "}}
attr FensterDuscheWdTG activateOnStart 1
attr FensterDuscheWdTG autoRestart 1
attr FensterDuscheWdTG disable 0
attr FensterDuscheWdTG icon fts_window_2w_open
attr FensterDuscheWdTG regexp1WontReactivate 1
attr FensterDuscheWdTG room Dusche
attr FensterDuscheWdTG sortby 03
attr FensterDuscheWdTG widgetOverride execOnReactivate:textField-long

Grüße
Titel: Aw: watchdog und trigger FensterDuscheWdTG .
Beitrag von: Otto123 am 27 Januar 2024, 17:02:52
Hi,

weil Du die Fehlermeldung beseitigt hast, aber nicht den Fehler :) (ich meine quiet)
Ich denke so, habe es aber nicht getestet.
fhem "set mySIP call **611* 10 ;; sleep 2 ;; set mySIP call **612* 10 ;; trigger FensterDuscheWdTG . "Ich kann falsch liegen, aber Du willst ja beide Befehle nach dem sleep ausführen?

Wobei Du statt trigger auch das attr autoRestart setzen könntest.

Gruß Otto
Titel: Aw: watchdog und trigger FensterDuscheWdTG .
Beitrag von: betateilchen am 27 Januar 2024, 20:10:11
Zitat von: Otto123 am 27 Januar 2024, 17:02:52Wobei Du statt trigger auch das attr autoRestart setzen könntest.

Das Attribut ist doch sogar gesetzt.
Meine Meinung nach ist das manuelle triggern komplett überflüssig.
Titel: Aw: watchdog und trigger FensterDuscheWdTG .
Beitrag von: heinzfo am 27 Januar 2024, 23:16:54
Zitat von: betateilchen am 27 Januar 2024, 20:10:11
Zitat von: Otto123 am 27 Januar 2024, 17:02:52Wobei Du statt trigger auch das attr autoRestart setzen könntest.

Das Attribut ist doch sogar gesetzt.
Meine Meinung nach ist das manuelle triggern komplett überflüssig.


autoRestart 1, hilft leider nicht.

Hilfe: autoRestart
Wenn dieses Attribut gesetzt ist, wird der Watchdog nach dem er getriggert wurde, automatisch wieder in den Zustand defined gesetzt (Wartet also wieder auf Aktivierung durch regexp1)
Titel: Aw: watchdog und trigger FensterDuscheWdTG .
Beitrag von: heinzfo am 27 Januar 2024, 23:20:09
Zitat von: Otto123 am 27 Januar 2024, 17:02:52Hi,

weil Du die Fehlermeldung beseitigt hast, aber nicht den Fehler :) (ich meine quiet)
Ich denke so, habe es aber nicht getestet.
fhem "set mySIP call **611* 10 ;; sleep 2 ;; set mySIP call **612* 10 ;; trigger FensterDuscheWdTG . "Ich kann falsch liegen, aber Du willst ja beide Befehle nach dem sleep ausführen?

Wobei Du statt trigger auch das attr autoRestart setzen könntest.

Gruß Otto

Das geht leider nicht, mit oder ohne quiet!
Ich habe mir jetzt mit einem at das disabled ist geholfen.

watchdog
defmod FensterDuscheWdTG watchdog FensterDusche:userState:.offen 00:15:00 FensterDusche:userState:.geschlossen {\
my $FensterDusche = ReadingsVal("FensterDusche","userState","");;\
my $ansage = "Bitte das Fenster in der Dusche schließen.";;\
{fhem "attr -silent mySIP sip_audiofile_call !$ansage"}\
if (ReadingsVal("Heinz_Mobil","state","") eq "present" &&\
ReadingsVal("FensterDusche","userState","") eq "offen")\
{fhem "set teleBot msg \@12345 *Fenster Dusche*, $FensterDusche;;\
set mySIP call **611* 10;; sleep 2 quiet;; set mySIP call **612* 10;; set FensterDusche_at execNow"}}
attr FensterDuscheWdTG activateOnStart 1
attr FensterDuscheWdTG autoRestart 1
attr FensterDuscheWdTG disable 0
attr FensterDuscheWdTG icon fts_window_2w_open
attr FensterDuscheWdTG regexp1WontReactivate 1
attr FensterDuscheWdTG room Dusche
attr FensterDuscheWdTG sortby 03
attr FensterDuscheWdTG widgetOverride execOnReactivate:textField-long

at
defmod FensterDusche_at at 2024-01-28T00:15:00 trigger FensterDuscheWdTG .
attr FensterDusche_at disable 1
attr FensterDusche_at room Dusche