Zeitschaltung abbrechen?

Begonnen von Ulm32b, 06 Februar 2017, 19:11:13

Vorheriges Thema - Nächstes Thema

Ulm32b

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

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Ulm32b

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  :)