watchdog und trigger FensterDuscheWdTG .

Begonnen von heinzfo, 27 Januar 2024, 12:45:01

Vorheriges Thema - Nächstes Thema

heinzfo

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

Otto123

#1
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

heinzfo

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)

heinzfo

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