Hallo,
ich habe einige FHT80Bs und möchte mir eine eMail über meine FB 7390 zuschicken lassen wenn ein Actuator => 30% ist.
Das u.a. Programm macht das einwandfrei - aber leider nur für einen FHT80B (Jennifer.Heizung).
Wie schaffe ich es denn programmiertechnisch , dass ich bei dem Check der alle 20 Min. ausgeführt wird, alle FHTs abfrage?
define ActuatorChk at +*00:20 {\
my $FHT_Actuator=ReadingsVal("Jennifer.Heizung","actuator","101%");;\
$FHT_Actuator=substr($FHT_Actuator,0,length($FHT_Actuator)-1);;\
if ($FHT_Actuator >= 30){\
{FB_mail('tester@test.de','FHEM Actuatorwarnung',"Actuatorwarnung: Jennifer.Heizung $FHT_Actuator %")};;\
Log 3, "Actuatorwarnung: Jennifer.Heizung $FHT_Actuator %";;\
}\
}
Herzliche Grüße
Markus
Hallo,
guckst du im Wiki unter
http://www.fhemwiki.de/wiki/Heizungskontrolle_Einfach (//www.fhemwiki.de/wiki/Heizungskontrolle_Einfach)
findest du u.a das:
my @@fhts=devspec2array("TYPE=FHT");;\
foreach(@@fhts) {\
my $ventil=ReadingsVal($_, "actuator", "101%");;\
$ventil=(substr($ventil, 0, (length($ventil)-1)));;\
if ($ventil > 50) {\
$brauche_waerme=1\
}\
if ($ventil < 20) {\
$ventile_im_leerlauf++\
}\
}\
Achtung!! Aus dem Wiki Auszugsweise kopiert. Wird so nicht funktionieren da der Code drum rum fehlt, prüft aber alles was
vom TYPE=FHT ist auf die Actuator-Stellung.
Grüße
Danke Puschel74. Es hat geklappt.
Ich musste aber das doppelte @@ bei @@fhts durch ein @fhts ersetzen damit es funktioniert.
So funktioniert der Code in der fhem.cfg einwandfrei.
define ActuatorChk at +*00:30 {\
my @fhts=devspec2array("TYPE=FHT");;\
foreach(@fhts) {\
my $FHT_Actuator=ReadingsVal("$_","actuator","101%");;\
$FHT_Actuator=substr($FHT_Actuator,0,length($FHT_Actuator)-1);;\
if ($FHT_Actuator >= 30){\
{FB_mail('tester@test.de','FHEM Actuatorwarnung',"$_ Actuatorwarnung $FHT_Actuator %")};;\
Log 3, "$_ Actuatorwarnung $FHT_Actuator %";;\
}\
}\
}
Ich werde jetzt noch versuchen eine einzige Mail zu erzeugen wenn mehrere Actuator => 30% sind.
Z.Zt erhalte ich für jeden Actuator eine Mail.
Gruß
Markus