Hauptmenü

Schrittsteurung mit DOIF

Begonnen von flurin, 18 Mai 2015, 19:31:44

Vorheriges Thema - Nächstes Thema

flurin

Hallo,

Folgende "Schaltung" ist quasi als Nebenprodukt entstanden. Es ist eine reine DOIF-Lösung ohne "at" oder "sleep".
Es geht darum, Befehle sequenziell mit verschiedenen Zeitverzögerungen auszuführen.


define du_count dummy



define di_step DOIF ([du_event:?on]) ({Log(3, "step 1")}, setreading du_count state 1)
DOELSEIF ([du_count] == 1) ({Log(3, "step 2")}, setreading du_count state 2)
DOELSEIF ([du_count] == 2) ({Log(3, "step 3")}, setreading  du_count state 0)
attr di_step wait 0:5:5


Die Anzahl Schritte kann nach Bedarf erweitert werden. Als Auslöser können Events wie im Beispiel oder auch Zeiten verwendet werden.

Gruss
flurin

Damian

Zitat von: flurin am 18 Mai 2015, 19:31:44
Hallo,

Folgende "Schaltung" ist quasi als Nebenprodukt entstanden. Es ist eine reine DOIF-Lösung ohne "at" oder "sleep".
Es geht darum, Befehle sequenziell mit verschiedenen Zeitverzögerungen auszuführen.


define du_count dummy



define di_step DOIF ([du_event:?on]) ({Log(3, "step 1")}, setreading du_count state 1)
DOELSEIF ([du_count] == 1) ({Log(3, "step 2")}, setreading du_count state 2)
DOELSEIF ([du_count] == 2) ({Log(3, "step 3")}, setreading  du_count state 0)
attr di_step wait 0:5:5


Die Anzahl Schritte kann nach Bedarf erweitert werden. Als Auslöser können Events wie im Beispiel oder auch Zeiten verwendet werden.

Gruss
flurin

Eine gute Alternative zu at-Definitionen oder sleeps.

Es wird aber demnächst etwas einfacher gehen:

define di_step DOIF ([du_event:?on])
({Log(3, "step 1")})
({Log(3, "step 2")})
({Log(3, "step 3")})

attr di_step wait 0:5:5


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

flurin

Zitat von: Damian am 18 Mai 2015, 19:58:20
Eine gute Alternative zu at-Definitionen oder sleeps.

Es wird aber demnächst etwas einfacher gehen:

define di_step DOIF ([du_event:?on])
({Log(3, "step 1")})
({Log(3, "step 2")})
({Log(3, "step 3")})

attr di_step wait 0:5:5


Gruß

Damian

Wenn es einfacher wird, umso besser  :)

Gruss
flurin