FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: chq am 13 August 2018, 19:15:23

Titel: DOIF- Commandref-Frage
Beitrag von: chq am 13 August 2018, 19:15:23
Hallo,

in der DOIF-Commandref steht..

"Im FHEM-Modus wird maximal nur ein Zweig pro Ereignis- oder Zeit-Trigger ausgeführt"

Bedeutet dies, dass ich dass hier mit einem DOIF nicht lösen kann, wenn ich möchte, dass um 7:40 Uhr evtl. die beiden letzten DOELSEIFs gleichzeitig auslösen sollen?

([22:00]) (set HM_rolloWohnzimmer pct 0, set HM_rolloEsszimmer pct 0)
DOELSEIF ([07:40]) (set HM_rolloWohnzimmer pct 27)
DOELSEIF ([07:40] and [HM_rolloEsszimmer:state] eq "closed") (set HM_rolloEsszimmer pct 75)


Theoretisch könnte ich das ja auch mit einem zweiten DOIF lösen; möchte dies aber ehr nicht.



Gruß Chris
Titel: Antw:DOIF- Commandref-Frage
Beitrag von: Pfriemler am 13 August 2018, 19:54:51
Die Commandref ist schon richtig. Aber wenn Dein zweiter Befehl nur von einer zusätzlichen Bedingung abhängt, verpacke doch beide in einen DOIF-Zweig:
([22:00]) (set HM_rolloWohnzimmer pct 0, set HM_rolloEsszimmer pct 0)
DOELSEIF ([07:40]) (set HM_rolloWohnzimmer pct 27, IF ([HM_rolloEsszimmer:state] eq "closed") (set HM_rolloEsszimmer pct 75))
Titel: Antw:DOIF- Commandref-Frage
Beitrag von: chq am 14 August 2018, 09:34:47
Das sieht gut aus.

Hochgefahren ist der Rollo heute früh zumindest schonmal (da zuvor geschlossen).

Das man ein "einfaches" IF mit DOIF kombinieren kann war mir nicht bekannt.
Lediglich in der Beschreibung zum "IF" findet sich eine entsprechende Angabe.

Gruß Chris
Titel: Antw:DOIF- Commandref-Frage
Beitrag von: Damian am 14 August 2018, 15:44:40
Zitat von: chq am 14 August 2018, 09:34:47
Das sieht gut aus.

Hochgefahren ist der Rollo heute früh zumindest schonmal (da zuvor geschlossen).

Das man ein "einfaches" IF mit DOIF kombinieren kann war mir nicht bekannt.
Lediglich in der Beschreibung zum "IF" findet sich eine entsprechende Angabe.

Gruß Chris

Im Ausführungsteil von DOIF kannst du alle FHEM- bzw. Perlbefehle nutzen, insb. IF oder auch if.