FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: cdn am 24 September 2017, 15:25:04

Titel: at if Value("dummy") - Syntax Problem
Beitrag von: cdn am 24 September 2017, 15:25:04
Hallo zusammen,
ich habe einen dummy eingeführt der aktiviert werden kann, wenn Besuch hier ist, sodass die Rollos nicht hochfahren morgen. Leider klappt hier etwas nicht mit der Syntax. die erste if condition soll sich auf alle 5 Rollladen beziehen. Wenn es warm ist, dann sollen weiterhin aber auch die unteren Rollos nicht hochfahren :-)

define Rollladen_Morgens at *15:20:00 { if(Value("Besuch_Rollladen") eq "off") {\
fhem("set R_Scheibe,R_Tuer,R_Fenster_Klein on;;") {\
        if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {\
                fhem ("set R_Wohnzimmer,R_Kueche on") }}}}


Danke für Eure Hilfe.
Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: amenomade am 24 September 2017, 22:32:08
Deine Klammern stimmen nicht. Warum eine neue { am Ende der 2. Zeile?

Ohne die gesamte Logik deines Dings zu verstehen, nur wegen Syntax, würde ich es eher so schreiben:
{ if(Value("Besuch_Rollladen") eq "off") {\
     fhem("set R_Scheibe,R_Tuer,R_Fenster_Klein on"); \
     if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {\
                fhem ("set R_Wohnzimmer,R_Kueche on") }}}
Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: cdn am 24 September 2017, 22:54:36
klappt leider nicht.

ERROR evaluating {
if(Value("Besuch_Rollladen") eq "off") {
  fhem("set R_Scheibe,R_Tuer,R_Fenster_Klein on;")
  if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {
fhem ("set R_Wohnzimmer,R_Kueche on") }}}: syntax error at (eval 323) line 4, near ") {"
syntax error at (eval 323) line 5, near "}}"

2017.09.24 22:53:00 3: Rollladen_Morgens: syntax error at (eval 323) line 4, near ") {"
syntax error at (eval 323) line 5, near "}}"
Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: amenomade am 24 September 2017, 23:05:34
So hab ich es auch nicht geschrieben.
Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: cdn am 25 September 2017, 08:31:27
Dann kommt es zu anderen Fehlern:

define Rollladen_Morgens at *08:30:00 {\
if(Value("Besuch_Rollladen") eq "off") {\
  fhem("set R_Scheibe,R_Tuer,R_Fenster_Klein on"); \
  if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {\
        fhem ("set R_Wohnzimmer,R_Kueche on") }}}



configfile: Unknown command if(ReadingsVal('Wetter', try help

...
Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: amenomade am 25 September 2017, 12:50:12
Anscheinend editierst Du direkt fhem.cfg, was hier im Forum permanent abgeraten wird, und was standardmässig über fhem / Edit files nicht möglich ist. Das hatte ich nicht gedacht.

Mach es über die FHEM Weboberfläsche, und Du wirst solche Probleme nicht mehr haben.

Aber OK, warum einfach, wenn es auch kompliziert geht, gell? Wenn Du weiterhin Schwierigkeiten haben möchtest, dann fhem.cfg so editieren:
define Rollladen_Morgens at *08:30:00  {\
if(Value("Besuch_Rollladen") eq "off") {\
     fhem("set R_Scheibe,R_Tuer,R_Fenster_Klein on");; \
     if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {\
                fhem ("set R_Wohnzimmer,R_Kueche on") }}}
Sollte funktionieren... bis zum nächsten Problem.



Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: cdn am 25 September 2017, 19:10:54
Hat geklappt. Besten Dank. Werde mir das mal merken nicht immer direkt in der CFG Datei zu arbeiten :-)
Titel: Antw:at if Value("dummy") - Syntax Problem
Beitrag von: CoolTux am 25 September 2017, 19:18:00
Falscher Ansatz. Niiieeee in der cfg Datei arbeiten  :D