at if Value("dummy") - Syntax Problem

Begonnen von cdn, 24 September 2017, 15:25:04

Vorheriges Thema - Nächstes Thema

cdn

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.

amenomade

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") }}}
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

cdn

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 "}}"

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

cdn

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

...

amenomade

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.



Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

cdn

Hat geklappt. Besten Dank. Werde mir das mal merken nicht immer direkt in der CFG Datei zu arbeiten :-)

CoolTux

Falscher Ansatz. Niiieeee in der cfg Datei arbeiten  :D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net