Hauptmenü

DOIF mit mehreren if-Anfragen

Begonnen von kotaro, 30 März 2019, 09:20:40

Vorheriges Thema - Nächstes Thema

kotaro

Hallo,

ich habe probleme mit meiner DOIF-Abfrage.
mit diesem Teil fehlt angeblich der linke Bracket
DOELSEIF ([HM_Waschmaschiene:6.POWER] > 20 and ([?$SELF] eq "cmd_1"|[?$SELF] eq "cmd_2"))
(
({Log 3, "Waschmaschine: Programmstart"})
(IF ([rr_Himi] eq "home")
set TelegramBot message @Matze Waschmaschiene gestartet
IF ([rr_Miepel] eq "home")
set TelegramBot message @756849122 Waschmaschiene gestartet
))

obwohl ich es https://forum.fhem.de/index.php?topic=65225.0 hier anders gesehen hatte...

und bei dieser Variante wird ein ELSE erwartet
DOELSEIF ([HM_Waschmaschiene:6.POWER] > 20 and ([?$SELF] eq "cmd_1"|[?$SELF] eq "cmd_2"))
(
({Log 3, "Waschmaschine: Programmstart"})
(IF ([rr_Himi] eq "home")
(set TelegramBot message @Matze Waschmaschiene gestartet),
IF ([rr_Miepel] eq "home")
(set TelegramBot message @756849102 Waschmaschiene gestartet)
))


könnt ihr mir helfen, wo mein Problem ist?

Damian

#1
Du hast zu viele Klammern, es sollte schon reichen (sollte in der Abfrage ein Oder sein?):

DOELSEIF ([HM_Waschmaschiene:6.POWER] > 20 and ([?$SELF] eq "cmd_1" or [?$SELF] eq "cmd_2"))
(
{Log 3, "Waschmaschine: Programmstart"},
IF ([rr_Himi] eq "home")
(set TelegramBot message @Matze Waschmaschiene gestartet),
IF ([rr_Miepel] eq "home")
(set TelegramBot message @756849122 Waschmaschiene gestartet)
)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kotaro

Nein in der Abfrage sollte kein Oder sein.. es geht ja nu darum wenn man nicht zu Hause ist, soll keine Benachrichtigungen erhält, da eh niemand die Wäsche rausnehmen kann

Damian

Zitat von: kotaro am 30 März 2019, 10:10:44
Nein in der Abfrage sollte kein Oder sein.. es geht ja nu darum wenn man nicht zu Hause ist, soll keine Benachrichtigungen erhält, da eh niemand die Wäsche rausnehmen kann

Dann ist diese Abfrage falsch:

([?$SELF] eq "cmd_1"|[?$SELF] eq "cmd_2")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

kotaro

#4
Achsoooo. Doch das ist richtig.  CMD 1 ist Waschmaschiene an und  CMD2 ist Erkennung nach 5 Minuten, das die Maschiene nicht aktiviert wurde, da manchmal Kädie Klappe nicht als geschlossen erkannt wird und nicht anfängt zu waschen...

FranzB94


kotaro

Ernsthaft?  :o ::) ;D
Naja.. jetzt funzt es. Hab es aber nun auf max umgeschaltet in Kombination mit Roommate. klappt hervorragend...

Danke euch ganz herzlich