FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Jewe am 02 September 2017, 21:20:17

Titel: doif in raw definition, eingabe klappt nicht
Beitrag von: Jewe am 02 September 2017, 21:20:17
Hei,

warum Funktioniert das nicht ? Gebe das ganze in die Raw Definition ein.

define Gartenwasser_mitte_Schlauch_doif DOIF
(([Gartenwasser_mitte_Schlauch] eq "off")
and ([Gartenwasser_mitte_Schlauch] eq "sensor_open")) ( set Gartenwasser_mitte_Schlauch on)
DOELSEIF
((_Gartenwasser_mitte_Schlauch] eq "on")
and ([Gartenwasser_mitte_Schlauch] eq "sensor_closed")) ( set Gartenwasser_mitte_Schlauch off)
attr Gartenwasser_mitte_Schlauch_doif room Garten


bekomme dann :
Unknown command (([Gartenwasser_mitte_Schlauch], try help.
Titel: Antw:doif in raw definition, eingabe klappt nicht
Beitrag von: mw77 am 02 September 2017, 21:39:52
Zitatwarum Funktioniert das nicht ?
Ich denke mal es liegt an den Absätzen die du eingefügt hast.
Ein paar Klammern kannst du auch noch sparen und im DOELSEIF Teil ist gleich am Anfang noch ein Fehler.
Habe es mal so in RAW definition eingetragen und es wurde ohne Fehler übernommen.
defmod Gartenwasser_mitte_Schlauch_doif DOIF ([Gartenwasser_mitte_Schlauch] eq "off" and [Gartenwasser_mitte_Schlauch] eq "sensor_open") ( set Gartenwasser_mitte_Schlauch on) DOELSEIF ([Gartenwasser_mitte_Schlauch] eq "on" and [Gartenwasser_mitte_Schlauch] eq "sensor_closed") ( set Gartenwasser_mitte_Schlauch off)
attr Gartenwasser_mitte_Schlauch_doif room Garten
Titel: Antw:doif in raw definition, eingabe klappt nicht
Beitrag von: amenomade am 02 September 2017, 22:33:46
Weg von Raw Definition!

Klicke auf DEF im DOIF, und trage dort deine Definition ein
([Gartenwasser_mitte_Schlauch] eq "off"
and [Gartenwasser_mitte_Schlauch] eq "sensor_open")) ( set Gartenwasser_mitte_Schlauch on)
DOELSEIF
((_Gartenwasser_mitte_Schlauch] eq "on")
and ([Gartenwasser_mitte_Schlauch] eq "sensor_closed")) ( set Gartenwasser_mitte_Schlauch off)

Und er wird dir sagen, wenn ein Klammer fehlt.

In RawDefinition musst du ein Backslash am Ende jeder Linie hinzufügen, und du musst auch die ";" mit ";;" ersetzen, usw... und er macht kaum Syntaxkontrolle

PS: auch ein Fehler da:
ZitatDOELSEIF
((_Gartenwasser_mitte_Schlauch
Kein Unterstrich sondern [

Dann musst Du überlegen, wie das Device Gartenwasser_mitte_Schlauch gleichzeitig gleich "on" und gleich "sensor_open" sein kann...
"on" ≠ "sensor open"
Titel: Antw:doif in raw definition, eingabe klappt nicht
Beitrag von: Jewe am 03 September 2017, 00:29:13
Dachte es ist cool mit Raw Definition...

Jetzt habe ich es normal gemacht und es klappt.

Zitat von: amenomade am 02 September 2017, 22:33:46
PS: auch ein Fehler da:  Kein Unterstrich sondern [

Habe es schon gesehen.

Zitat von: amenomade am 02 September 2017, 22:33:46
Dann musst Du überlegen, wie das Device Gartenwasser_mitte_Schlauch gleichzeitig gleich "on" und gleich "sensor_open" sein kann...
"on" ≠ "sensor open"

Danke, auch das ist mist... Sollte ganz anders heissen.

So geht es nun:
(([A2_DO05_05_Gartenwasser_mitte_Schlauch] eq "off")
and ([A3_S2_Gartenwasser_mitte_Schlauch] eq "sensor_open")) ( set A2_DO05_05_Gartenwasser_mitte_Schlauch on)
DOELSEIF
(([A2_DO05_05_Gartenwasser_mitte_Schlauch] eq "on")
and ([A3_S2_Gartenwasser_mitte_Schlauch] eq "sensor_closed")) ( set A2_DO05_05_Gartenwasser_mitte_Schlauch off)
Titel: Antw:doif in raw definition, eingabe klappt nicht
Beitrag von: amenomade am 03 September 2017, 00:42:49
Jetzt noch ein mögliches Problem: A2_DO05_05_Gartenwasser_mitte_Schlauch triggert das DOIF, und wird auch im Befehl gesetzt.

Wenn die andere Bedingung (A3_S2) wahr bleibt, und du irgendwo anders manuell A2_DO05_05_Gartenwasser_mitte_Schlauch ein machst, wird es sofort wieder ausgeschaltet.