FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: tomspatz am 02 März 2019, 13:01:24

Titel: DOIF überspringt cmd_1
Beitrag von: tomspatz am 02 März 2019, 13:01:24
Ich habe schon wieder Ärger mit einer Steuerung, SORRY das hat echt schon funktioniert. Lange lange. Jetzt überspringt es cmd_1.
Das Konstrukt ist in web verfügbar und wird tatsächlich mit dem klick auf den Schalter gesteuert.
off funktioniert und ich sehe auch das die cmd_4.1 bis 4 abgearbeitet werden. Aber bei klick auf on also von aus auf an führt das sofort cmd_2 aus.
Wobei
set SunAutomaticSteuerung cmd_1
einwandfrei funktioniert.

Hoffe das es jemand erkennt.

defmod SunAutomaticSteuerung DOIF (["$SELF:schalter: on"]) (\
set RolloWZ sunAutomatic on)\
DOELSEIF ([RolloWZ:sunMode] eq "on" and [?RolloWZ:sunAutomatic] eq "on") (\
set RolloGruppe2 sunMode on)\
DOELSEIF ([RolloWZ:sunMode] eq "off" and [?RolloWZ:sunAutomatic] eq "on") (\
set RolloGruppe2 up)\
DOELSEIF (["$SELF:schalter: off"]) (\
set RolloWZ sunAutomatic off)(\
set RolloKueche up)(\
set RolloWZ up)(\
set RolloBalkontuerWZ up)
attr SunAutomaticSteuerung alias Sonnen Automatik
attr SunAutomaticSteuerung cmdState on|on|on|off,off,off,off
attr SunAutomaticSteuerung devStateIcon off:ios-off:on on:ios-on-green:off
attr SunAutomaticSteuerung group Fenster und Türen
attr SunAutomaticSteuerung icon weather_sun
attr SunAutomaticSteuerung readingList schalter
attr SunAutomaticSteuerung room Steuerung-Rollos,Wohnzimmer
attr SunAutomaticSteuerung setList schalter:on,off
attr SunAutomaticSteuerung wait 0:40:60:0,5,10,10

LG
Tom
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: amenomade am 02 März 2019, 13:06:16
Vielleicht noch "do always" setzen.
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: tomspatz am 02 März 2019, 13:10:35
ZitatVielleicht noch "do always" setzen.
hmmmmm
eigentlich bin ich gar nicht bereit das zu testen  :(
Es reagiert ja eigenständig auf alles was zwischen cmd_1 und cmd_4 ist.

LG
Tom
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: amenomade am 02 März 2019, 13:13:48
Wie Du willst. Aber ohne do always, ist DOIF Zustandsabhängig. Wenn z.B. das Modul schon auf cmd_1 ist, dann wird cmd_1 nicht wiederholt, solange er nicht in einem anderne Zustand gewechselt hat.
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: tomspatz am 02 März 2019, 13:24:38
ja ich verstehe, doch wenn ich per Schalter auf "aus" stelle läuft das DOIF ja in cmd_4.1 bis cmd_4.4 und alles ist gut weil es dann ja in cmd_4.4 stehen bleibt.
Dann allerdings bei klick auf den Schalter sollte es dann zu cmd_1 und nicht sofort zu cmd_2.

LG
Tom
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: amenomade am 02 März 2019, 13:38:52
Was ist der Zustand des DOIFs wenn Du auf "off" druckst, und was ist der Zustand des DOIFs wenn Du auf "on" druckst?
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: tomspatz am 02 März 2019, 13:41:57
ZitatWas ist der Zustand des DOIFs wenn Du auf "off" druckst, und was ist der Zustand des DOIFs wenn Du auf "on" druckst?

Zitatja ich verstehe, doch wenn ich per Schalter auf "aus" stelle läuft das DOIF ja in cmd_4.1 bis cmd_4.4 und alles ist gut weil es dann ja in cmd_4.4 stehen bleibt.
Dann allerdings bei klick auf den Schalter sollte es dann zu cmd_1 und nicht sofort zu cmd_2.

;)
Titel: Antw:DOIF überspringt cmd_1
Beitrag von: amenomade am 02 März 2019, 13:52:13
Beim Klick, wird zwar ein Zweig ausgeführt, das heisst aber nicht, dass die Bedingung bewertet wird.