Hallo,
ich habe einen Fehler und finde ihn nicht.
Ich möchte die 5 Raspberrys abfragen. Wenn einer von Ihnen den Status "absent" hat, soll zur angegebenen Uhrzeit eine MAil versendet werden.
Leider wird die Mail immer gesendet.
Was habe ich falsch gemacht?
*23:34:00 {
my $Raspi_Heizung=ReadingsVal("Heizung", "STATE", "--");;
my $Raspi_Radioserver =ReadingsVal("Radioserver ", "STATE", "--");;
my $Raspi_Steuerung_Pool=ReadingsVal("Steuerung_Pool", "STATE", "--");;
my $Raspi_Volkszaehler=ReadingsVal("Volkszaehler", "STATE", "--");;
my $Raspi_FHEM2=ReadingsVal("FHEM2", "STATE", "--");;
if (( $Raspi_Heizung == "absent" )|| ( $Raspi_Radioserver == "absent" ) || ( $Raspi_Steuerung_Pool eq "absent" ) || ( $Raspi_Volkszaehler eq "absent") || ( $Raspi_FHEM2 eq "absent" ))
{
DebianMail('tr@Emailadresse.de',
'Fhem Fehlermeldung',
'Raspberryausfall' );;
}}
Zwei Dinge:
STATE ist ein internal und kann nicht mit ReadingsVal abgefragt werden...
Das Reading state würde gehen oder InternalVal nehmen...
Stringvergleich nicht mit == sondern mit eq...
Kurz da nur Handy...
Gruß, Joachim
Moin,
und wenn Du eine structure (https://commandref.fhem.de/commandref_DE.html#structure)machst, wird das Ganze viel weniger aufwendig.
Gruß Otto