[Gelöst] Relaissteuerung mit DOIF funktioniert nicht so wie ich will

Begonnen von FHEM_newbie, 06 Juni 2021, 23:39:50

Vorheriges Thema - Nächstes Thema

FHEM_newbie

Ein Rollo soll bei Sonne und wenn es nicht regnet nach 10 Minuten hochfahren, dazu soll Relais1 45 Sekunden angesteuert werden, bei Regen oder zu wenig Sonne soll das Rollo nach einer Minute über Relais 2 wieder 45 Sekunden herunterfahren. Ich habe es mit folgendem Code probiert, aber die Relias werden jeweils nur ganz kurz angesteuert. Wo liegt mein Denkfehler?

define di_Rollo_Steuerung DOIF ([Wettersensor:sunSouth] > 20000 and [Wettersensor:isRaining] eq "no")(set Rollo POWER1 on, set Rollo POWER1 off)(set Rollo POWER2 on, set Rollo POWER2 off)
attr di_Rollo_Steuerung wait 600,45:60,45


Hardwaremäßig ist ein Tasmota 2 Ch Ralais über MQTTs verbaut.

xenos1984

Damit das Ausschalten des Relais verzögert nach dem Einschalten erfolgt, müssen beide Befehle jeweils für sich geklammert sein. Befehle, die innerhalb einer Klammer mit Komma getrennt sind, werden zusammen ausgeführt, ohne Verzögerung dazwischen.

http://fhem.de/commandref_DE.html#DOIF_wait


define di_Rollo_Steuerung DOIF ([Wettersensor:sunSouth] > 20000 and [Wettersensor:isRaining] eq "no")(set Rollo POWER1 on)(set Rollo POWER1 off) DOELSE (set Rollo POWER2 on)(set Rollo POWER2 off)
attr di_Rollo_Steuerung wait 600,45:60,45

Beta-User

Zitat von: FHEM_newbie am 06 Juni 2021, 23:39:50
Hardwaremäßig ist ein Tasmota 2 Ch Ralais über MQTTs verbaut.
Interessehalber: Was spricht dagegen, die "shutter"-Einstellungen bei Tasmota zu nutzen? Die sorgen dann z.B. auch dafü, dass nie beide Relais gleichzeitig auf "on" stehen (gibt auch ein attrTemplate dazu, da bitte aber vor Anwendung des IODev händisch setzen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

FHEM_newbie

@xenos1984: Dankeschön, jetzt wo ich mir das in der Commandref nochmal durchlese, wird es klar. Ich hatte zwar hier geschaut gehabt, aber irgendwie war es mir so nicht klar geworden, dass die Befehle aufgetrennt werden müssen. Peinlich... Und natürlich das DOELSE vergessen....


Zitat von: Beta-User am 07 Juni 2021, 08:32:35
Interessehalber: Was spricht dagegen, die "shutter"-Einstellungen bei Tasmota zu nutzen? Die sorgen dann z.B. auch dafü, dass nie beide Relais gleichzeitig auf "on" stehen (gibt auch ein attrTemplate dazu, da bitte aber vor Anwendung des IODev händisch setzen).

@Beta-User: Das Shutter-Template habe ich bereits getestet, es scheint mir aber für meinen Anwendungsfall etwas zu mächtig, da die Endlagenschalter z.B. mechanisch im Rollo funktionieren, und ich die ganzen Zwischenpositionen usw. eh nicht benötige. Dass die beiden Relais nicht gleichzeitig auf ON stehen, habe ich mit Interlock verhindert.

Beta-User

Zitat von: FHEM_newbie am 07 Juni 2021, 09:00:25
@Beta-User: Das Shutter-Template habe ich bereits getestet, es scheint mir aber für meinen Anwendungsfall etwas zu mächtig,
Danke für die Rückmeldung.
Mir persönlich wäre es egal, wenn "zu viele Optionen" abdeckt sind, dafür aber die Timer usw. auf der Hardware laufen und man den Zustand des "Gesamtgeräts" dann auch an einer Stelle zentral abfragen kann.
Wollte aber nur sicherstellen, dass du die Option kennst.

(Hinweis an eventuelle spätere Leser, die keinen "zweikanaligen" haben: ggf. das ROLLO-Modul dazwischenschalten; damit kann man auch (weniger hardwarenah) eine logische Zwischenschicht bei zwei unabhängigen "Relais" einbauen, die es dann ermöglicht, eine Markise per Sprachsteuerung oder Taster in fhemapp oä. als ein Gerät zu bedienen).

Falls das Problem gelöst ist, bitte Thread entsprechend kennzeichnen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors