Verschachtelte DOIF Abfragen, die nicht so wollen

Begonnen von Stromschiene, 03 März 2018, 17:57:37

Vorheriges Thema - Nächstes Thema

Stromschiene

Hallo:

Ich habe ein Problem mit DOIF.

Ich steure im Haus 5 Rollläden. Deren Button können die Zustände AUF, AB, und STOP annehmen.
Weiters möchte 3 davon (West, Tisch, und Tuere) gleichzeitig bedienen (AUF und AB).
Wenn ein Rollladen auf STOP steht (zB. wg. defekt) soll er sich nicht bewegen aber die anderen schon.

Ich wollte da so lösen:

define TV_AUF_notify   DOIF ([R_TV] eq "AUF")\
             DOELSEIF ([West]  ne "STOP") (set West AUF)\
                            DOELSEIF ([Tisch] ne "STOP") (set Tisch AUF)\
                            DOELSEIF ([Tuere] ne "STOP") (set Tuere AUF)\
                            Doelse   ({Log(3,"--- R_TV_AUF")})

Ich als Mensch verstehe (und meine) das so:

Wenn Button [R_TV] = "AUF" dann:
                 wenn Rolllanden [West] ungleich "STOP" Rlll West AUFmachen 
              und
                 wenn Rolllanden [Tisch] ungleich "STOP" Rlll Tisch AUFmachen 
              und
                 wenn Rolllanden [Tuere] ungleich "STOP" Rlll Tuere AUFmachen 
              sonst immer Log schreiben

Den gleichen Ablauf gibts dann auch für [R_TV] = "AB" um die Rollläden zu schließen.

Nur den Compluter beeindruckt das gar nicht, und macht NICHTS.
Aber warum?

mfg
Stefan




Frank_Huber

Zitat von: Stromschiene am 03 März 2018, 17:57:37
Ich als Mensch verstehe (und meine) das so:

falsch.

jeder Zweig hat seine eigenen Bedingungen und Ausführungen.

dringender Tipp: Commandref lesen.

KernSani

und noch der Hinweis: Codetags verwenden (das # im Editor oben über den Smilies)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...