Hallo,
ich habe hier im Forum mir aus einigen Scripten etwas zusammen gesucht. Leider bekomme ich einige Veriablen nicht übertragen.
define clear_tempalarmTH1 at +*00:01:00 {\
fhem("set is_tempalarmTH1 0");;\
}
define alarmlevelTH1 dummy
attr alarmlevelTH1 room Serverraum WSH
attr alarmlevelTH1 setList state:slider,10,1,30
attr alarmlevelTH1 webCmd state
define tempalarmTH1 notify TMP_SR_SY:temperature.* {\
my $th1lvl=ReadingsVal("alarmlevelTH1","state","0");;\
if ($EVTPART1 >=$th1lvl && Value("is_tempalarmTH1") == "0") {\
fhem("set is_tempalarmTH1 1");;\
DebianMail('Mail@Mail.Mail','Es ist zu warm: $EVTPART1 Grad','Es ist zu kalt: $EVTPART1 Grad');;\
}\
}
Das script funktioniert super, nur bekomme ich in der Email nur folgendes und finde den Fehler nicht.
Es ist zu warm: $EVTPART1 Grad
Vielen Dank für Hilfe
Probier mal:
Zitatdefine tempalarmTH1 notify TMP_SR_SY:temperature.* {\
my $th1lvl=ReadingsVal("alarmlevelTH1","state","0");;\
if ($EVTPART1 <=$th1lvl && Value("is_tempalarmTH1") == "0") {\
my $text = "Es ist zu kalt: " . $EVTPART1 . " Grad";
fhem("set is_tempalarmTH1 1");;\
DebianMail('Mail@Mail.Mail',$text,$text);;\
}\
(ungetestet)
Müsste es nicht am ende ;;\ sein statt ; ??
Nur mit ; bekomme ich nämlich einen Fehler.
Mit ;;\ kommt in der Mail aber auch nur ein $text an
Ich weiß nicht ob es wichtig ist, aber ich nutze die HM-WDS40-TH-I-2 Sensoren
das eigentliche problem ist eine variable innerhalb von einfachen anfuehrungszeichen.
Geil.... Tatsächlich musste ich nur die Variablen in " setzen und es läuft.
Vielen Dank.