FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: o.l.i am 06 Mai 2022, 17:24:49

Titel: AT und IF = ???
Beitrag von: o.l.i am 06 Mai 2022, 17:24:49
Hallo FHEM Leute,

ich habe eine kleine IF schleife und bekomme diese nicht richtig zusammen gebaut.

define KE_Viessmann_CloudCheck_5Min at +*00:01:00 { if (Value("KE_Viessmann") eq "Login failure. Check password and apiKey")
{ DebianMail('xyz@yahoo.de', 'Verbindung zur Viessmann Cloud verloren, 5 Min check');;}
}


Es soll alle 5 Minuten geprüft werden, ob die Cloud von meiner Viessmann Heizung erreichbar ist.
Mit dem Abspeichern der FHEM.cfg erhalt eich folgende Fehlermeldung:
Unknown command }, try help.

Ich weiß aber nicht genau wo die Klammer falsch gesetzt ist und bitte um Hilfe
Titel: Antw:AT und IF = ???
Beitrag von: mi.ke am 06 Mai 2022, 17:41:50
in der ersten Zeile ganz hinten fehlt die geschweifte Klammer zu.
Titel: Antw:AT und IF = ???
Beitrag von: o.l.i am 06 Mai 2022, 19:46:40
Wenn ich dies mit KLammer in der ersten Zeile machen, kann ich es abspeichern aber in der Runtime kommt dann ein Fehler im Log:

Hier das aktualisierte IF:
define KE_Viessmann_CloudCheck_5Min at +*00:01:00 { if (Value("KE_Viessmann") eq "Login failure. Check password and apiKey")}
{ DebianMail('oliver@laute.de', 'Verbindung zur Viessmann Cloud verloren, 5 Min check');;}



Und im Log sieht dies dann so aus:
exec at command KE_Viessmann_CloudCheck_5Min
Cmd: >{ if (Value("KE_Viessmann") eq "Login failure. Check password and apiKey")}<
ERROR evaluating my $SELF=   $evalSpecials->{'%SELF'};{ if (Value("KE_Viessmann") eq "Login failure. Check password and apiKey")}: syntax error at (eval 474556) line 1, at EOF ...
Titel: Antw:AT und IF = ???
Beitrag von: DetlefR am 06 Mai 2022, 20:02:55
Hinter dem
ZitatCheck password and apiKey")
geschweifte Klammer auf und ganz zum SChluss noch mal eine zu.
Titel: Antw:AT und IF = ???
Beitrag von: o.l.i am 06 Mai 2022, 20:14:08
Meinst Du so?

define KE_Viessmann_CloudCheck_5Min at +*00:01:00 { if (Value("KE_Viessmann") eq "Login failure. Check password and apiKey"){
{ DebianMail('oliver@laute.de', 'Verbindung zur Viessmann Cloud verloren, 5 Min check');;}
}


Dann erhalte nach dem Abspeichern in der FHE.cfg folgenden Fehler:
Unknown command }, try help.
Titel: Antw:AT und IF = ???
Beitrag von: DetlefR am 06 Mai 2022, 21:32:04

define KE_Viessmann_CloudCheck_5Min at +*00:01:00 { if ((Value("KE_Viessmann") eq "Login failure. Check password and apiKey"){
{ DebianMail('oliver@laute.de', 'Verbindung zur Viessmann Cloud verloren, 5 Min check');;}
}
}

Ganz einfache Regel. Wenn eine Klammer aufgeht, muss auch später wieder eine zu gehen. Sonst passt das nicht.
Da fehlte auch noch eine runde aufgehende Klammer.
Titel: Antw:AT und IF = ???
Beitrag von: mi.ke am 06 Mai 2022, 23:00:23
für sowas am besten "codemirror" im betreffenden FHEMWEB laden. Dann bekommst Du Hinweise zu falschen/fehlenden Klammer (und vieles mehr)

attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB codemirrorParam { "lineWrapping":true, "lineNumbers" :true, "height":"auto" }