FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Mitch am 07 Dezember 2017, 13:14:25

Titel: DOIF mit Eingabemöglichkeit im Frontend und Schaltfunktion will nicht richtig
Beitrag von: Mitch am 07 Dezember 2017, 13:14:25
Hallo Zusammen,

ich habe mal mein Dummy Konstrukt auf einen DOIF mit Eingabemöglichkeit im Frontend und Schaltfunktion umgebaut.
Leider will er nicht.

Hier der Code:
Zitatdefmod Lichtschlauch.Automatik DOIF (["$SELF:on"] and [dunkel] eq "on") (set FS20_Lichterkette on)\
DOELSEIF ([dunkel] eq "off" or ["$SELF:off"])(set FS20_Lichterkette off)\
DOELSEIF ([23:00]) (set FS20_Lichterkette off)
attr Lichtschlauch.Automatik DbLogExclude .*
attr Lichtschlauch.Automatik alias Lichterkette Automatik
attr Lichtschlauch.Automatik cmdState on|off|off
attr Lichtschlauch.Automatik devStateIcon off:ios-off on:ios-on-green
attr Lichtschlauch.Automatik do always
attr Lichtschlauch.Automatik group Nachtschaltung
attr Lichtschlauch.Automatik icon light_on-for-timer
attr Lichtschlauch.Automatik room Aussen
attr Lichtschlauch.Automatik setList on,off
attr Lichtschlauch.Automatik verbose 0
attr Lichtschlauch.Automatik webCmd on:off

Wenn ich jetzt am Tag (Dunkel ist off) die Automatik einschalte, geht auch direkt die Lichterkette an.
Eigentlich sollte sie ja nur angehen, wenn der DOIF on ist UND Dunkel on ist.

Außerdem ist die Automatik immer am nächsten Tag aus, bleibt also nicht an.
Sie wird mit dem Timer auf 23 Uhr ausgeschalten, obwohl da ja nur die Lichterkette ausgehen soll.

Wo ist denn mein Denkfehler?
Titel: Antw:DOIF mit Eingabemöglichkeit im Frontend und Schaltfunktion will nicht...
Beitrag von: Per am 07 Dezember 2017, 14:06:12
Ändere oder lösch mal die Zeile:
attr Lichtschlauch.Automatik cmdState on|off|off
zumindest temporär
Titel: Antw:DOIF mit Eingabemöglichkeit im Frontend und Schaltfunktion will nicht richtig
Beitrag von: Mitch am 07 Dezember 2017, 14:09:28
dann geht gar nichts mehr, kann nicht mehr schalten  :o
Titel: Antw:DOIF mit Eingabemöglichkeit im Frontend und Schaltfunktion will nicht richtig
Beitrag von: Ellert am 07 Dezember 2017, 14:14:33
Wo ist denn mein Denkfehler?

Wenn Du DOIF per set-Befehl direkt setzt, dann werden die Bedingungen umgangen.
Du müsstest ein Reading nutzen, für webCmd,setList und readingsList, dafür gibt es Beispiele im Wiki und der Commandref