(Gelöst) Notify nach sleep stoppen?

Begonnen von is2late, 14 März 2021, 09:37:38

Vorheriges Thema - Nächstes Thema

Otto123

Ich habe noch ein bisschen nachgedacht. Man hat ja meist nicht nur ein Fenster. ;)
watchdog funktioniert nicht "generisch" - wird ja oft festgestellt ;)
Mein "Nachbau" funktioniert für mehrere Fenster, man benennt das sleep einfach nach dem Device welches auslöst.
defmod n_fenster notify Fenster.*:open|Fenster.*:closed {$EVENT eq 'open' ? fhem("sleep 600 $NAME;; set alias=Test speak 25 Fenster im Raum ".AttrVal($NAME,'room','unbekannt')." offen "):fhem("cancel $NAME quiet")}

Ich habe es jetzt für open und closed gemacht - meine Sensoren melden das so :)
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

is2late

Klingt  gut, Otto.. leider zu hoch für mich  :o
Ich legs mal zurück für den ungewissen Fall, dass ich irgendwann evtl mal besser durchblicke...

Vielen Dank jedenfalls für deine Mühe!
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

Otto123

ZitatOtto.. leider zu hoch für mich
Was ist unklar?
Fenster.*:open|Fenster.*:closed    triggert auf alle Geräte die mit Fenster beginnen und deren Event open oder closed ist
{}     führt ein Perl Kommando aus
Die Abfrage anstatt mit if mit dem "dreifach Operator": Bedingung ? Reaktion für wahr : Reaktion für falsch
Ist der Event open dann starte ein benanntes Sleep mit einer Ansage
Ist der Event closed dann lösche/stoppe das benannte Sleep
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

is2late

Faszinierend...ein ganz fernes Licht erscheint im Nebel...

Was macht bitte das "quiet" ?
Anstelle von alias=Test lässt sich sicher das Alexa, Sonos-Gerät oä setzen, oder?
Alle Fenster müssen in der Gruppe "room" liegen, richtig?

LG Ingo
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

Otto123

ZitatFalls sleep in at/notify/etc aufgerufen wurde, und die nachfolgenden Kommandos einen nicht leeren Text zurückgeliefert haben, dann wird dieser Text mit loglevel 2 protokolliert.
quiet vermeidet diese Protokollierung.
Trifft bei cancel analog zu.

Der Sprachausgabebefehl ist meine Variante, musst Du natürlich durch Deinen Befehl ersetzen.
AttrVal($NAME,'room','unbekannt') liest das Attribute room des triggernden Device aus. Wenn das richtig gesetzt ist wird angesagt, dass in der Küche das Fenster offen ist.

Das ist nur ein Beispiel - Du kannst Dir auch $NAME vorlesen lassen - aber Fenster_BadP klingt halt doof ;) Du kannst auch "Willi" hinschreiben.

Die Funktion liegt im wesentlichen in  sleep und cancel  mit ID - das war ja Deine Ausgangsfrage. Die Sprachausgabe ist völlig frei wählbar.
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

is2late

Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox