FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: is2late am 14 März 2021, 09:37:38

Titel: (Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 09:37:38
Guten Morgen,

ein Notify soll melden, wenn ein Fenster längere Zeit geöffnet ist. So funktioniert es aktuell:

defmod n_BadfensterP notify Fenster_BadP:offen ;; sleep 5600 ;; set ECHO_Gxxx speak Badfenster ist immer noch offen. Bitte schließen!

Allerdings wird die Meldung auch ausgegeben, wenn das Fenster während der Wartezeit geschlossen wurde. Gibt es eine einfache Möglichkeit, das Notify durch eine weitere Bedingung zu stoppen? Ich hab mit Watchdog und DOELSE herumprobiert, es aber nicht hinbekommen.

LG Ingo
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 10:10:09
Du brauchst nach der Wartezeit eine Bedingung die prüft ob das Fenster weiterhin offen ist, sonst wird doch nach der Wartezeit einfach immer die Sprachansage erfolgen ?

Könnte so aussehen:

defmod n_BadfensterP notify Fenster_BadP:offen sleep 5600; {if (ReadingsVal($NAME,'state','zu') eq 'offen') {set ECHO_Gxxx speak Badfenster ist immer noch offen. Bitte schließen!} }

Gruß

Thomas
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 10:29:03
Super, vielen Dank, Thomas!

Bitte noch eine Zusatzfrage, welche die Syntax betrifft:

Wenn die Sprachdurchsage über mehrere Echos erfolgen soll, werden die set-Befehle dann jeweils in eigene geschweifte Klammern gesetzt und einfach einander gereiht? Also zB

defmod n_BadfensterP notify Fenster_BadP:offen sleep 5600; {if (ReadingsVal($NAME,'state','zu') eq 'offen') {set ECHO_Gxxx speak Badfenster ist immer noch offen. Bitte schließen!} {set ECHO_Gyyy.......}}

Vielen Dank!
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: MadMax-FHEM am 14 März 2021, 10:34:04
Nein.

Und es fehlt verm. noch der "fhem-Befehl":


{fhem("set ECHO_Gxxx speak Badfenster ist immer noch offen. Bitte schließen!; set ECHO_Gyyy.......")}


Gruß, Joachim
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 10:39:09
Ja, an den fhem-Befehl hab ich nicht gedacht, einfach nur kopiert.


Nein, die werden dann in dem Ausführungsteil (den geschweiften Klammern) des if Semikola-getrennt angegeben.

{fhem('set ECHO_Gxxx speak Badfenster ist immer noch offen. Bitte schließen!;set ECHO_Gyyy...')}

geht aber auch etwas kürzer:

Zitat{fhem('set ECHO_Gxxx,ECHO_Gyyy... speak Badfenster ist immer noch offen. Bitte schließen!')}
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 11:01:46
noch etwas kürzer wenn die Sprachansage auf allen Echos erfolgen soll:

{fhem('set TYPE=echodevice:FILTER=model!=ACCOUNT speak bla')}
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: jhohmann am 14 März 2021, 11:04:46
Hat aber dann den Nachteil, wenn man in der Zwischenzeit das Fenster mehrfach auf und zu macht, dass mehrere sleeps im System rumdümpeln. Ich definiere mir dafür ein eindeutiges at, das ich auch wieder löschen kann. Einem sleep kann man auch eine ID mitgegeben, habe ich selbst noch nicht genutzt.
Bei mir wird nach Fenster offen die Heiztemperatur verzögert hoch gesetzt.
Hier mal mein notify im RAW Format:
defmod ntArbeitszimmerFenster_STATE notify ArbeitszimmerFenster:1.STATE.* {\
fhem("delete atAZHeizungToAuto") if (defined($defs{atAZHeizungToAuto}));;\
my $state=ReadingsVal("ArbeitszimmerFenster", "1.STATE", "");;\
if ($state eq "closed") {\
  fhem("set ArbeitszimmerHeizung datapoint SET_POINT_TEMPERATURE 14");;\
  fhem("define atAZHeizungToAuto at +00:03:00 set ArbeitszimmerHeizung Auto");;\
}\
}

Fenster offen Meldungen laufen bei mir über einen Watchdog, da muss ich selbst nichts aufräumen:
defmod wdArbeitszimmerFensterOpen watchdog ArbeitszimmerFenster:1.STATE.*open 00:04:00 ArbeitszimmerFenster:1.STATE.*closed {\
fhem("set teleBot message ".telegramEmpfaenger(1)." Das Fenster im Arbeitszimmer ist schon länger offen!");;\
fhem("trigger wdArbeitszimmerFensterOpen .");;\
}
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 11:07:56
Klasse, herzlichen Dank an alle!

Allerdings schaffe ich es als Syntaxspasti immer noch, eine Fehlermeldung zu erzeugen:

Bareword "Fenster_BadP" not allowed while "strict subs" in use at (eval 6358862) line 1.
Missing right curly or square bracket at (eval 6358862) line 1, at end of line
syntax error at (eval 6358862) line 1, at EOF


bei folgendem Code:

Fenster_BadP:offen ; sleep 5600 ; {if (ReadingsVal(Fenster_BadP,'state','zu') eq 'offen') {fhem("set ECHO_S,ECHO_H,ECHO_C,ECHO_6,ECHO_F speak Badfenster ist immer noch offen. Bitte schließen!; set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster  ist immer noch offen. Bitte schließen!")}


LG Ingo
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 11:33:24
Zitatdass mehrere sleeps im System rumdümpeln.

Unabhängig was korrekter, richtiger, besser ist lässt sich das, mein ich, ohne auszuprobieren, bei meinem gezeigten notify mit einem gesetzten Attribut disabledAfterTrigger 5600 verhindern.
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 11:51:23
Mache ich einen Fehler bei der Bezeichnung des Dummy?

{if (ReadingsVal(Fenster_BadP,.......

Das "$" gehört doch nicht davor, oder? Habe es als Hinweis verstanden, dass bei "$NAME" das Device eingesetzt werden soll.

LG Ingo
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: MadMax-FHEM am 14 März 2021, 11:57:04
Zitat von: is2late am 14 März 2021, 11:07:56
Klasse, herzlichen Dank an alle!

Allerdings schaffe ich es als Syntaxspasti immer noch, eine Fehlermeldung zu erzeugen:

Bareword "Fenster_BadP" not allowed while "strict subs" in use at (eval 6358862) line 1.
Missing right curly or square bracket at (eval 6358862) line 1, at end of line
syntax error at (eval 6358862) line 1, at EOF


bei folgendem Code:

Fenster_BadP:offen ; sleep 5600 ; {if (ReadingsVal(Fenster_BadP,'state','zu') eq 'offen') {fhem("set ECHO_S,ECHO_H,ECHO_C,ECHO_6,ECHO_F speak Badfenster ist immer noch offen. Bitte schließen!; set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster  ist immer noch offen. Bitte schließen!")}


LG Ingo


ReadingsVal('Fenster_BadP','state','zu')


Also Fenster_BadP in Anführungszeichen. Je nachdem in einfache (wie hier) oder doppelte...

EDIT: nutze zwar DOIF nicht aber das klingt doch wie DOIF mit wait!? Da gibt es im DOIF Wiki/commendref doch bestimmt ein Beispiel was genau das macht was du willst...

Gruß, Joachim
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 12:00:46
Du kannst doch wie gezeigt $NAME verwenden, da kann man die Hochkomma weglassen, wenn du den Namen des dummy nehmen möchtest dann sind die nötig.

Zitatdass bei "$NAME" das Device eingesetzt werden soll.

$NAME ist der dummy, das war kein Hinweis, lies dich halt mal zu notify ein.
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 12:05:05
Hi Joachim,

vielen Dank! Die Fehlermeldung ist jetzt tatsächlich weg, wird aber durch eine neue ersetzt:

Missing right curly or square bracket at (eval 6853437) line 1, at end of line
syntax error at (eval 6853437) line 1, at EOF


Auch mehrfaches Durchzählen der Klammern ergab kein abweichende Ergebnis ;-)

@Thomas: Dann muss $NAME doch irgendwo definiert sein, oder? Ich würde gern den Namen des Dummy nehmen, also Fenster_BadP in Anführungszeichen. Dann kommt aber die neue Fehlermeldung, s.o.

LG Ingo
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: MadMax-FHEM am 14 März 2021, 12:06:48
Wie wäre es dann den Code zu posten!?

So KÖNNEN wir ja nicht helfen!!

Oder sollen wir "Phantasie-Klammern" zählen ;)

EDIT: $NAME ist beim notify "definiert". Es ist der Name des auslösenden Devices! Wie geschrieben: einlesen macht schlauer! ;)

Gruß, Joachim
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 12:08:01
ZitatAuch mehrfaches Durchzählen der Klammern ergab kein abweichende Ergebnis ;-)

Mehrfach falsch gezählt, nach dem letzten gezeigten Code fehlt am Ende eine geschweifte Klammer.
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 12:09:41
Das erste Semikolon ; gehört da nicht hin!
Fenster_BadP:offen ; sleep 5600 ; {if (ReadingsVal(Fenster_BadP,'state','zu') eq 'offen') {fhem("set ECHO_S,ECHO_H,ECHO_C,ECHO_6,ECHO_F speak Badfenster ist immer noch offen. Bitte schließen!; set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster  ist immer noch offen. Bitte schließen!")}
https://wiki.fhem.de/wiki/Notify

$NAME ist das auslösenden Gerät. In deinem FALL also Fenster_BadP
Erklärung in der Doku https://fhem.de/commandref_modular_DE.html#notify

Gemischte Befehlytypen funktionieren nicht zwangsläufig! https://fhem.de/commandref_modular_DE.html#command
sleep 5600;{} ist eine Mischung aus einem FHEM und einem Perl Befehl!

Mann könnte es in der Art machen {if (open) {fhem("sleep 5600 Fenster ; set laberlaber")} elsif (closed) {fhem("cancel Fenster")}}

Fenster_BadP:offen|Fenster_BadP:geschlossen {if ($EVENT eq 'offen') { fhem("sleep 5600 Fenster; set ECHO_S,ECHO_H,ECHO_C,ECHO_6,ECHO_F speak $NAME ...")} elsif ($EVENT eq 'geschlossen') {fhem("cancel Fenster")}}

Gruß Otto
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 12:19:38
Peinlich....hab nur die runden Klammern gezählt. Danke für Eure Geduld!
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 12:55:46
Was neben meinem "Wachhund Nachbau" oben auch geht ist ein watchdog:
defmod WD_BadOg_open watchdog FensterBOg:open 00:10 FensterBOg:closed set Sonos_Arbeitszimmer speak 15 de Fenster im oberen Bad offen
attr WD_BadOg_open autoRestart 1
attr WD_BadOg_open room Bad
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 13:04:26
Danke, Otto!

Der Watchdog ist vermutlich die beste Lösung.
Bei der obigen "if-Variante" ist es nämlich so, dass bei den Sonos-Lautsprechern der Speak-Text "in den Kleidern" zu hängen scheint, dh es werden nur die ECHO-Durchsagen unterdrückt, nicht jedoch die Sonos. Oder ich mache wieder etwas falsch...
Ist aber jetzt egal; ich mag gar nicht mehr fragen und nehme die Sonos einfach raus. Also nur akademisches Interesse  ;)

Fenster_BadP:offen sleep 60 ; {if (ReadingsVal($NAME,'state','zu') eq 'offen') {fhem("set ECHO_S,ECHO_G000JN06748607KH speak Badfenster  ist immer noch offen. Bitte schließen!; set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster  ist immer noch offen. Bitte schließen!")}}

LG Ingo
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 13:15:17
Hallo Ingo,

Du hast mein Post #15  irgendwie nicht gelesen! Ich hatte da noch editiert.

Edit: Ich glaube ich weiß was Du meinst: gerade probiert, der zweite Sprachbefehl wird irgendwie im sleep und nochmal extra ausgeführt - das wundert mich jetzt....

Gruß Otto
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 13:46:13
Hallo Otto,

ja, sorry, den Post #15 habe ich tatsächlich überlesen. Tja, seltsam ist dieses Verhalten. Hab die Reihenfolge der Geräte probeweise einmal umgedreht, den Sonos also nach vorn geholt, um auszuschließen, dass es am Sonos liegt:

defmod n_BadfensterP notify Fenster_BadP:offen sleep 60 ;; {if (ReadingsVal($NAME,'state','zu') eq 'offen') {fhem("set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster ist immer noch offen. Bitte schließen!;;set ECHO_S,ECHO_H speak Badfenster ist immer noch offen. Bitte schließen!")}}

Jetzt wird die Sonos-Meldung unterdrückt, während die ECHOs Laut geben.... Sonos trägt also keine Schuld. Scheint so, als wenn der zweite "set-Befehl" vom "if" unbeeindruckt bleibt.

LG Ingo
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 14:01:27
Das Logfile gibt folgenden Hinweis aus:

After sleep: Unknown command {if, try help.

An der Syntax des "if" kanns doch wohl nicht liegen, weil dieses jedenfalls für das erste "set" funktioniert. Oder ist die Klammer Schuld, womöglich vor dem Hintergrund Deines Hinweises, dass hier gemischte Befehlstypen zum Einsatz kommen?

LG Ingo
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: DeeSPe am 14 März 2021, 14:13:32
Zitat von: is2late am 14 März 2021, 14:01:27
Das Logfile gibt folgenden Hinweis aus:

After sleep: Unknown command {if, try help.

An der Syntax des "if" kanns doch wohl nicht liegen, weil dieses jedenfalls für das erste "set" funktioniert. Oder ist die Klammer Schuld, womöglich vor dem Hintergrund Deines Hinweises, dass hier gemischte Befehlstypen zum Einsatz kommen?

LG Ingo

Mach das mal so in eine Raw-Def:
defmod n_BadfensterP notify Fenster_BadP:offen sleep 60;; {fhem "set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster ist immer noch offen. Bitte schließen!;; set ECHO_S,ECHO_H speak Badfenster ist immer noch offen. Bitte schließen!" if (ReadingsVal($NAME,'state','zu') eq 'offen')}

Gruß
Dan
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 14:30:30
ich sage es gern nochmal: sleep 60;{Ein Perlbefehl} ist KEIN korrekter FHEM Syntax.
Aussage von Rudi dazu war: kann funktionieren - muss aber nicht! Deswegen würde ich mich darauf in keinster Weise einlassen und probieren solange er tut. Wenn das nächste Zeichen geändert wird muss er nicht mehr tun. ::)

Außerdem ist der Ausdruck ReadingsVal($NAME,'state','zu') CO2 Verschwendung wenn der Wert schon in der Variable $EVENT steht ;) ;D

Was ist schlecht an meiner Variante in #15?
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 15:03:44
Unabhängig von dem dann wohl nur korrektem Vorschlag aus #15, hab ich noch eine Anmerkung zu der Variante von if aus #22 (die mir besser gefällt).

Angenommen bei einem anderen Anwendungsfall (also ohne sleep), kommt die Variante bei der Bedingung auch ohne Klammern aus (die um ReadingsVal mein ich, hier jetzt $EVENT):

defmod bla notify du_t1:on {return fhem("saysonos bla;;") if $EVENT eq 'on'}

defmod n_BadfensterP notify Fenster_BadP:offen {fhem "set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster ist immer noch offen. Bitte schließen!;; set ECHO_S,ECHO_H speak Badfenster ist immer noch offen. Bitte schließen!" if ReadingsVal($NAME,'state','zu') eq 'offen'}
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 15:44:47
Wobei die Abfrage in der abgekürzten? Form auch redundant ist - wenn vorne bloß on reinkommt - braucht man nicht nochmal fragen ob es wirklich on war.

Es ging ja darum das sleep abzubrechen, das geht mit id und cancel. Um noch eine Variante in den Thread zu werfen: Es geht auch mit dem Dreier :)
defmod n_fenster notify Fenster_BadP:offen|Fenster_BadP:geschlossen {$EVENT eq 'offen' ? fhem("sleep 10 Fenster;; set alias=Test speak 25 offen") : fhem("cancel Fenster")}
Aber wie gesagt: ist das doch eigentlich bloß watchdog nachgebaut?
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: TomLee am 14 März 2021, 16:03:53
ZitatWobei die Abfrage in der abgekürzten? Form auch redundant ist - wenn vorne bloß on reinkommt - braucht man nicht nochmal fragen ob es wirklich on war.

dann war das halt ein doofes Beispiel, mir gings doch nur um die unnötigen Klammen bei dem "kurzen" if.

defmod bla notify du_t1:.* {return fhem("saysonos $EVENT") if $EVENT eq 'on'}

besser, zufrieden  :P
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 17:53:56
@Dan: Habs probiert; das zweite "set" wird auch bei geschlossenem Fenster  ausgeführt. Logfile:After sleep: Unknown command {fhem, try help.
@Thomas, #24, Otto #25: Beide Meldungen kommen sofort nach Öffnen des Fensters. Vermutlich verstehe ich Euch falsch - wo bleibt das sleep?
@Otto #15: Verstehe das "$NAME...." nicht.... Bei diesem Code
Fenster_BadP:offen|Fenster_BadP:zu {if ($EVENT eq 'offen') { fhem("sleep 60 Fenster_BadP; set ECHO_6,ECHO_S speak Badfenster ist immer noch offen. Bitte schließen! $NAME ...")} elsif ($EVENT eq 'zu') {fhem("cancel Fenster_BadP")}}

wird tatsächlich NICHT gemeldet bei geschlossenem Fenster.  Wie/wo baue ich jetzt die Sonos ein? Semikolon hinter "schließen!"?
set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster  ist immer noch offen. Bitte schließen!

LG Ingo
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: is2late am 14 März 2021, 18:09:35
Hab die Sonos so eingesetzt:

defmod n_BadfensterP notify Fenster_BadP:offen|Fenster_BadP:zu {if ($EVENT eq 'offen') { fhem("sleep 60 Fenster_BadP;; set ECHO_G6,ECHO_S speak Badfenster ist immer noch offen. Bitte schließen!;; set Sonos_Unnamed_Room Speak 50 de |TempleBell| Badfenster  ist immer noch offen. Bitte schließen!")} elsif ($EVENT eq 'zu') {fhem("cancel Fenster_BadP")}}

Ergebnis: Meldungen werden wunschgemäß unterdrückt bei geschlossenem Fenster. Bei geöffneten Fenster meldet jedoch NUR die Sonos... Es ist wie verhext!

Korrektur: Jetzt klappt es plötzlich auch mit den ECHO-Meldungen, also alles bestens. Ganz herzlichen Dank für Eure Hilfe und die lehrreichen Codes!

LG Ingo
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 19:25:01
Zitat von: is2late am 14 März 2021, 17:53:56
@Thomas, #24, Otto #25: Beide Meldungen kommen sofort nach Öffnen des Fensters. Vermutlich verstehe ich Euch falsch - wo bleibt das sleep?
@Otto #15: Verstehe das "$NAME...." nicht.... Bei diesem Code
das war ja kein kompletter Code, das $NAME habe ich eingeworfen - dann hätte er Fenster_BadP gesagt :)
Mein Code in #25 funktioniert, den habe ich getestet. Das sleep ist drin!
Vielleicht verstehst Du mein "Benanntes sleep" nicht? Du kannst anstatt sleep 10 Fenster ... cancel Fenster auch  sleep 10 Willi ... cancel Willi schreiben
Titel: Antw:Notify nach sleep stoppen?
Beitrag von: Otto123 am 14 März 2021, 21:37:09
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 :)
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 15 März 2021, 12:26:19
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!
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: Otto123 am 15 März 2021, 13:02:58
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
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 15 März 2021, 17:26:25
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
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: Otto123 am 15 März 2021, 21:32:19
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.
Titel: Antw:(Gelöst) Notify nach sleep stoppen?
Beitrag von: is2late am 16 März 2021, 08:53:36
Vielen Dank, Otto!