Hallo,
bei folgendem DOIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "closed") (msg push @[Anwesenheit:residentsHomeDevs] Lüften im Bad notwendig!) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "open") DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "closed") DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open" and [BZ.Klimasensor:humdiff_avg] < -0.001) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open" and [BZ.Klimasensor:humdiff_avg] = 0) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open" and [BZ.Klimasensor:humdiff_avg] > 0.001) (msg push @[Anwesenheit:residentsHomeDevs] Fenster im Bad schließen - Luftfeuchtigkeit steigt!) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "closed") DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open" and [BZ.Klimasensor:humdiff_avg] < -0.001) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open" and [BZ.Klimasensor:humdiff_avg] = 0) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open" and [BZ.Klimasensor:humdiff_avg] > 0.001) (msg push @[Anwesenheit:residentsHomeDevs] Fenster im Bad schließen - Lüften bringt nichts - Luftfeuchtigkeit steigt!) DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "closed") DOELSEIF
([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "open")
erhalte ich diese Fehlermeldung:
condition c05: Can't modify non-lvalue subroutine call in scalar assignment, line 1, at EOF
Hat jemand eine Idee woran es liegt und was die Fehlermeldung bedeutet?
Hi,
Vergleiche in Perl gehen mit "==" und nicht mit "=". Das gilt wahrscheinlich auch für DOIF.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 11 Juni 2017, 20:31:08
Hi,
Vergleiche in Perl gehen mit "==" und nicht mit "=". Das gilt wahrscheinlich auch für DOIF.
Gruß,
Thorsten
Danke für die rasend schnelle Hilfe! :)
Zitat von: Spezialtrick am 11 Juni 2017, 20:36:31
Danke für die rasend schnelle Hilfe! :)
Bedingungen in DOIF sind "aufgebohrtes" Perl ;) d. h. alles außerhalb eckiger Klammern ist Perl.
Zitat von: Damian am 11 Juni 2017, 20:39:04
Bedingungen in DOIF sind "aufgebohrtes" Perl ;) d. h. alles außerhalb eckiger Klammern ist Perl.
Ok, das merke ich mir. :)
Ich hätte noch eine Frage zu diesem Teil:
and [BZ.Klimasensor:humdiff_avg] == 0)
Dieser Teil trifft nur zu, wenn humdiff_avg tatsächlich exakt 0 ist oder? Wie würde man den Bereich von -0.001 bis 0.001 abdecken?
Zitat von: Spezialtrick am 11 Juni 2017, 20:50:18
Ok, das merke ich mir. :)
Ich hätte noch eine Frage zu diesem Teil:
and [BZ.Klimasensor:humdiff_avg] == 0)
Dieser Teil trifft nur zu, wenn humdiff_avg tatsächlich exakt 0 ist oder? Wie würde man den Bereich von -0.001 bis 0.001 abdecken?
so wie man das in höheren Programmiersprachen macht:
[BZ.Klimasensor:humdiff_avg] >= -0.001 and [BZ.Klimasensor:humdiff_avg] <= 0.001
Zitat von: Damian am 11 Juni 2017, 21:05:40
so wie man das in höheren Programmiersprachen macht:
[BZ.Klimasensor:humdiff_avg] >= -0.001 and [BZ.Klimasensor:humdiff_avg] <= 0.001
Ich beherrsche leider keinerlei Programmiersprachen. Vielen Dank!
Zitat von: Spezialtrick am 11 Juni 2017, 21:10:59
Ich beherrsche leider keinerlei Programmiersprachen. Vielen Dank!
Bald die DOIF´sche ;)