Hallo zusammen,
hier kommt eine Frage aus FTUI, die aber in diesem Forum wohl am besten aufgehoben ist. In FTUI schaltet folgender Code das Device <Name> (oft ein Dummy, bei dem on-for-timer nicht geht) für 20s ein und dann wieder aus; auch ein manuelles Ausschalten ist möglich.
<div data-type="switch" class="cell"
data-device="<Name>"
data-fhem-cmd='IF ([<Name>:state] eq "off") (set <Name> on,sleep 20,set <Name> off) ELSE (set <Name> off)'</div>
Letztlich ist das ja nichts anderes als das FHEM-Kommando
IF ([<Name>:state] eq "off") (set <Name> on,sleep 20,set <Name> off) ELSE (set <Name> off)
Das Haar in der Suppe: Bei der Befehlsfolge
(1) Manuell EIN
(2) Manuell AUS (innerhalb der Laufzeit von (1)
(3) Manuell EIN (innerhalb der Laufzeit von (1)
wirkt die bei (1) definierte Laufzeit fort und schaltet das mit (3) gestartete Device "vorzeitig" wieder ab. Die Frage lautet, ob man die im Hintergrund weiterlaufende Zeitschaltung (1) ,,killen" kann oder ob es eine bessere Lösung für diese Zeitschaltung gibt.
Ulm32b
Zitat von: Ulm32b am 06 Februar 2017, 19:11:13
Hallo zusammen,
hier kommt eine Frage aus FTUI, die aber in diesem Forum wohl am besten aufgehoben ist. In FTUI schaltet folgender Code das Device <Name> (oft ein Dummy, bei dem on-for-timer nicht geht) für 20s ein und dann wieder aus; auch ein manuelles Ausschalten ist möglich.
<div data-type="switch" class="cell"
data-device="<Name>"
data-fhem-cmd='IF ([<Name>:state] eq "off") (set <Name> on,sleep 20,set <Name> off) ELSE (set <Name> off)'</div>
Letztlich ist das ja nichts anderes als das FHEM-Kommando
IF ([<Name>:state] eq "off") (set <Name> on,sleep 20,set <Name> off) ELSE (set <Name> off)
Das Haar in der Suppe: Bei der Befehlsfolge
(1) Manuell EIN
(2) Manuell AUS (innerhalb der Laufzeit von (1)
(3) Manuell EIN (innerhalb der Laufzeit von (1)
wirkt die bei (1) definierte Laufzeit fort und schaltet das mit (3) gestartete Device "vorzeitig" wieder ab. Die Frage lautet, ob man die im Hintergrund weiterlaufende Zeitschaltung (1) ,,killen" kann oder ob es eine bessere Lösung für diese Zeitschaltung gibt.
Ulm32b
Warum ist bei einem dummy kein on-for-timer möglich?
Gibt dem mal das Attribut "useSetExtensions 1" und es wird gehen!
Gruß
Dan
Hallo Dan,
vielen vielen Dank. Es funktioniert. In Verbindung mit "useSetExtensions 1" liefert
IF ([<Name>:state] eq "off") (set <Name> on-for-timer 20) ELSE (set <Name> off)
bzw. dessen Integration in FTUI ein perfektes Ergebnis. Bei vorzeitigen Ende und erneutem Starten des Devices startet die Zeit stets wieder bei 0.
Ulm32b :)