Warum immer wieder Syntaxfehler ?

Begonnen von tagedieb, 07 Dezember 2013, 14:44:16

Vorheriges Thema - Nächstes Thema

tagedieb

Hallo zusammen
nachdem ich einiges versucht habe, bin ich mit meinem Anfängerlatein am Ende und würde mich über einen Hinweis sehr freuen

ich habe folgenden Eintrag
define SZGrifftclosed notify Fenster_Schlafzimmer:closed {if (!isday()"%" ne "on") { fhem("set ROSZSchalter_ab on-for-timer 1 ;; set Rolladen shutter_closed")}}
und diese Fehlermeldung in der Logdatei

2013.12.07 14:27:37 3: SZGrifftclosed return value: syntax error at (eval 9661) line 1, near ")"closed""
syntax error at (eval 9661) line 1, near "}}"
entferne ich " ;; set Rolladen shutter_closed" gibt mir die Logdatei auch diesen Fehler

bei diesem notify habe ich keine Fehlermeldung
define SZGriffopen notify Fenster_Schlafzimmer:open {if ("%" ne "on") { fhem("set ROSZSchalter_auf on-for-timer 1 ;; sleep 9;; set ROSZSchalter_stop on-for-timer 1 ;; set Rolladen shutter_4")}}

kann mir hier bitte jemand helfen?

Danke schon einmal im voraus

lg tagedieb




FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

was soll das
{if (!isday()"%" ne "on")
machen?

Oben die "Raute" sind die Code-Tags.
Machen den Text einfach etwas leichter lesbar.
Diese bitte in Zukunft benutzen - danke.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

tagedieb

Hallo  Puschel74
danke für den Hinweis mit  " Raute" und der schnellen Nachfrage
das
  {if (!isday()"%" ne "on")
das ne ist ein copy paste Fehler, denn ich habe den vorherigen erfolglosen Versuch mit einem halboffenem
Rolladenzustand versucht, welcher bei Schliessen des Fensters (nachts) auch wieder herabfahren soll
da hier der Rolladen ja komplett  offen ist, sollte ich es löschen  - jedoch ist auch nach dem entfernen die Fehlermeldung unverändert

2013.12.07 16:27:07 3: SZGrifftclosed return value: syntax error at (eval 12411) line 1, near ")"closed""
syntax error at (eval 12411) line 1, near "}}"

wo muss ich bei dieser Meldung ansetzen?

Gruss
Annette





FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

es wäre auch hilfreich wenn du deinen verwendeten Code posten würdest der die Fehlermeldung auspuckt  ;)

Da ich aber leider kein Spezi bin was fhem-einzeiler betrifft hab ich mal versucht das etwas aufzuschlüsseln.

Was bekommst du als Fehlermeldung wenn du das eingibst?
define SZGrifftclosed notify Fenster_Schlafzimmer:closed {
if (!isday()) {
  fhem("set ROSZSchalter_ab on-for-timer 1");
  fhem("set Rolladen shutter_closed");
  }
}

am besten bearbeitest du das DEF deines notify und kopierst das
Fenster_Schlafzimmer:closed {
if (!isday()) {
  fhem("set ROSZSchalter_ab on-for-timer 1");
  fhem("set Rolladen shutter_closed");
  }
}

hinein.

Im Screenshot hab ich mal exemplarisch ein notify von mir um das DEF zeigen zu können.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

tagedieb

Hallo Puschel74

vielen, vielen Dank - jetzt erhalte ich keine Fehlermeldung  :)
und Entschuldigung für den weggelassenen Code -

ich habe jedoch noch ein paar Fragen
1.welchem Zeitraum definiert  isday -? bis zum in FHEM eingestellten Sonnenuntergang ? - schliesst daher  jetzt der Rolladen, wenn er vor dem Öffnen und schliessen des Fensters ganz offen war?
1. warum ist mal der Abstand der Klammern
fhem("set ROSZSchalter_ab on-for-timer 1");
  fhem("set Rolladen shutter_closed");
  }
}

so und einmal so ?
Fenster_Schlafzimmer:open {if ("%" ne "on") { fhem("set ROSZSchalter_auf on-for-timer 1 ; sleep 9; set ROSZSchalter_stop on-for-timer 1 ; set Rolladen shutter_4")}}
3.was ist entscheidend, ob ich mehrere Befehle durch Klammern oder Semikolon trennen muss ?
wo finde ich diesbezüglich eine Möglichkeit zum nachschlagen?

vielen Dank im voraus für das Verständnis bezüglich meinen Fragen

Gruss Annette

FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

Puschel74

Hallo,

keine Fehlermeldung beim speichern heisst noch lange nicht das mein Beispiel funktioniert  8)

Aber mal zu deinen Fragen.

1.) isday
Äh, kann ich dir nicht beantworten da ich nicht im Kopf habe wie FHEM isday genau berechnet.
Im Forum sollten sich aber einige Erklärungen dazu finden lassen.

2.) wenn du diese } Klammern meinst
Das kommt daher weil ich meinen Code in "alter" Basic-manier gerne aufteile und jeder Befehl, jede Abfrage, jeden Vergleich, jede Zuweisung und eben auch die zugehörigen } in eine eigene Zeile werfe.
FHEM ist es mWn egal aber ich kanns leichter lesen - mehr oder weniger  ;D

3.) Befehle werden mWn nur in Einzeiler durch Semikolon getrennt.
In FHEM ist das Semikolon aber auch das Zeichen das die Zeile zu ende ist und in der nächsten weiter geht.

Da ich mir aber mit diesen Einzeilern immer schon schwer getan habe und FHEM auch hier zum Glück mehrere Wege kennt werden meine codes immer "etwas" länger sein.
Und beim einen oderen anderen sicher auch für eine Augenleiden sorgen  ::)

Zu 1.) noch was.
Wenn du das Fenster schliesst prüft fhem auf !isday - wenn diese Abfrage wahr ist werden die Befehle abgearbeitet.
Wenn das Fenster geschlossen ist und danach erst !isday (also es für FHEM Abend wird) eintritt wird die Abfrage nicht erneut ausgeführt da das notify auf das schliessen des Fensters "horcht".

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

tagedieb

Hallo Puschel74

ich werde es morgen, tagsüber ausprobieren und ein feedback geben

vielen Dank für diese reichlichen Informationen - welche mir einiges weiter helfen, ich konnte ich mir nämlich nicht erklären, warum teils ähnliche Befehle, so unterschiedliche Schreibweisen aufwiesen

lg Annette
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

tagedieb

Hallo Puschel74

wie versprochen eine Rückmeldung
dank der tollen Hilfe funktioniert die Fenstergriffversion wie gewünscht   :)

nochmals vielen Dank

das Problem ist erledigt und könnte geschlossen werden

ich wünsche allen einen schönen 2.Advent
lg aus Thüringen
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3