Ein at mit einem FhemMail Kommando innerhalb eines notify anlegen

Begonnen von hauwech, 29 April 2016, 16:28:59

Vorheriges Thema - Nächstes Thema

hauwech

Hallo zusammen,
ich könnte Hilfe eines Wissenden brauchen...

Ich will ein notify bauen, das, wenn irgendein Fenster zu lange offen ist,
- eine Nachricht auf einer VU+ ausgibt (das geht...)
- eine mail sendet.
- als Bonus möchte ich das später auf die Abendstunden einschränken

Für die Verzögerung lege ich im notify jeweils ein at an.

.*_Fenster:.*contact:.open.\(to.HMLAN1\)* {
my $alias = AttrVal($NAME,"alias",$NAME);;
fhem Log 3, "Fenster geoeffnet - ".$EVENT." - ".$NAME." - ".$alias;;
fhem ("define WinOpnMsg at +01:00:00 set VU showText $alias ist seit einer Stunde offen");;
fhem ("define WinOpnMail at +00:00:05 {FhemMail('meine@mail.adresse', $alias.' ist seit einer Stunde offen.','Bitte schliessen!')}");;
};


Wenn ich das "define WinOpnMail...." ausschneide und in die Commandline werfe, funktionert es (ohne die $alias-Variable).
Ich komme ums Verrecken nicht drauf, wie ich das innerhalb des notify maskieren muß. Kann mir jemand auf die Sprünge helfen?

Danke und Gruß
Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Crawler

#1
hab dir mal fehlende und falsche Sonderzeichen makiert
Zitat.*_Fenster:.*contact:.open.\(to.HMLAN1\)* {
my $alias = AttrVal($NAME,"alias",$NAME);;
fhem Log 3, "Fenster geoeffnet - ".$EVENT." - ".$NAME." - ".$alias";;
fhem ("define WinOpnMsg at +01:00:00 set "VU showText $alias ist seit einer Stunde offen");;
fhem ("define WinOpnMail at +00:00:05 {FhemMail('meine@mail.adresse', $alias.' ist seit einer Stunde offen.','Bitte schliessen!')}");;
};


würde ein DOIF empfehlen ist einfacher bei vielen Befehlen

define Fenster_alarm DOIF ([.*_Fenster:.*contact:.open]&[18:00-23:00])(set VU showText "Ein Fenster ist seit einer Stunde offen", {FhemMail('meine@mail.adresse', 'Fenster ist seit einer Stunde offen.','Bitte schliessen!')})
attr Fenster_alarm wait 3600

Wie du den Namen des Fensters da rein bekommst kann ich dir leider nicht sagen
FHEM auf Raspi + HMLan + 14 Aktoren + OBIS(Strom) über GPIO

hauwech

Soweit ich mitbekommen habe, kann DOIF keine Wildcards in der Bedingung, man müßte also für jedes einzelne Device ein DOIF bauen. Das wollte ich mit dem Notify vermeiden.
Das "set VU showtext <Message> ...." will auch keine Anführungszeichen.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

hauwech

Ich bin beim Recherchieren auf pushover gestoßen und habe das jetzt umgestellt.
.*_Fenster:.*contact:.open.\(to.HMLAN1\)* {
my $alias = AttrVal($NAME,"alias",$NAME);;
fhem Log 3, "Fenster geoeffnet - ".$EVENT." - ".$NAME." - ".$alias;;
fhem ("define WinOpnMsg at +01:00:00 set VU showText $alias ist seit einer Stunde offen");;
fhem ("define WinOpnPush at +01:00:00 set pushmsg msg 'Alarm' 'Offenes Fenster $alias' '' 2 'persistent' 30 3600");;
};


Damit geht's jetzt.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS