FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Rocky am 11 Februar 2013, 10:39:14

Titel: Mail wenn actuator = 30%
Beitrag von: Rocky am 11 Februar 2013, 10:39:14
Hallo,
ich möchte eine Mail erhalten wenn bei einem meiner 8 Ventile ein Actuator = 30%.

Ich habe dazu folgenden  abgewandelten Code aus einem anderen Beitrag in der fhem.cfg mit aufgenommen.
Ich erhalte nun tatsächlich alle Minute (nur für den Test) eine Mail mit dem Inhalt:
Betreff: FHEM Actuatorwarnung
Inhalt: @ %

obwohl kein actuator = 30% ist!

Ich mochte im Inhalt der Mail eigentlich folgendes stehen haben: Buero.Heizung actuator: 30%


define ActuatorChk at +*00:01 {\
my $FHT_Actuator=ReadingsVal("Buero.Heizung","actuator","101%");;\
$FHT_Actuator=substr($FHT_Actuator,0,length($FHT_Actuator)-1);;\
if ($FHT_Actuator=30){\
{FB_mail('foo@bar.tld','FHEM Actuatorwarnung','@ %')};;\
 Log 3, "@: Actuatorwarnung %";;\
  }\
}
 


Was mache ich da noch falsch?

Herzliche Grüße
Markus
Titel: Aw: Mail wenn actuator = 30%
Beitrag von: UliM am 11 Februar 2013, 16:16:26
Hi,
prüf mal den Inhalt der Variable $FHT_Actuator. vmtl. wirst Du feststellen, dass der Inhalt nicht "30" ist und damit die Bedingung nicht passt.

define ActuatorChk at +*00:01 {\
my $FHT_Actuator=ReadingsVal("Buero.Heizung","actuator","101%");;\
$FHT_Actuator=substr($FHT_Actuator,0,length($FHT_Actuator)-1);;\
Log 1, $FHT_Actuator;;\
if ($FHT_Actuator=30){\
{FB_mail('foo@bar.tld' ('foo@bar.tld'),'FHEM Actuatorwarnung','@ %')};;\
 Log 3, "@: Actuatorwarnung %";;\
  }\
}

Gruß, Uli
Titel: Aw: Mail wenn actuator = 30%
Beitrag von: Rocky am 11 Februar 2013, 18:13:28
In $FHT_Actuator stand z.B. der Prozentwert 17 drin und trotzdem wurde eine Mail versandt..
Bei der If Abfrage hat ein zweites "=" gefehlt! So geht es jetzt: if ($FHT_Actuator==30)
Erst wenn actuator == 30 wird eine Mail verschickt.