FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: smoudo am 14 Februar 2016, 14:23:37

Titel: Lichtszene mit doif + cmdrepeat als schleife
Beitrag von: smoudo am 14 Februar 2016, 14:23:37
Hallo,

cooles Forum hat mir schon bei einigen Problemen geholfen. Allerdings wurde ich jetzt nicht fündig.

Aufgabenstellung:

Ich habe eine Lichtsteuerung über DOIF erstellt. Und Zwar soll bei betätigen des Schalters "Blaue_Lagune - on" - Wohnen_M_Licht und Wohnen_fh_Licht zuerst langsam
an gehen in einen definierten hsv Bereich und dann entgegengesetzt sie farbe ändern. Nach 60 Sekunden soll der Befehl
wiederholt werden, bis der Schalter "Blaue_Lagune - off" gedrückt wird. Ich hoffe das war Verständlich.  8)

Soweit so gut. Hier mein funktionierender Code:


define di_Blaue_Lagune DOIF ([Blaue_Lagune] eq "on") ((set Wohnen_fh_Licht hsv 155,100,100 20;; set Wohnen_m_Licht hsv 205,100,100 20;; set Wohnen_fh_Licht hsv 205,100,100 20 q;; set Wohnen_m_Licht hsv 155,100,100 20 q)) DOELSEIF ([Blaue_Lagune] eq "off") ((set Wohnen_fh_Licht off 20;; set Wohnen_m_Licht off 20))

attr di_Blaue_Lagune do always
attr di_Blaue_Lagune repeatcmd 60


Das Problem an der Geschichte:
Sobald mein Licht "hovert" und ich zb. das Treppenhauslicht (was tadellos funktioniert) schalte, ergibt sich beim Treppenhauslicht eine enorme Wartezeit bis zum Schaltvorgang. Selbiges wenn ich Blaue_Lagune "off" setze. Das ganze wird schlimmer, je länger das doif an ist.

Ich hoffe jemand hat eine Idee

Vielen Dank

Matze

Titel: Antw:Lichtszene mit doif + cmdrepeat als schleife
Beitrag von: Damian am 14 Februar 2016, 15:21:45
Zitat von: smoudo am 14 Februar 2016, 14:23:37
Hallo,

cooles Forum hat mir schon bei einigen Problemen geholfen. Allerdings wurde ich jetzt nicht fündig.

Aufgabenstellung:

Ich habe eine Lichtsteuerung über DOIF erstellt. Und Zwar soll bei betätigen des Schalters "Blaue_Lagune - on" - Wohnen_M_Licht und Wohnen_fh_Licht zuerst langsam
an gehen in einen definierten hsv Bereich und dann entgegengesetzt sie farbe ändern. Nach 60 Sekunden soll der Befehl
wiederholt werden, bis der Schalter "Blaue_Lagune - off" gedrückt wird. Ich hoffe das war Verständlich.  8)

Soweit so gut. Hier mein funktionierender Code:


define di_Blaue_Lagune DOIF ([Blaue_Lagune] eq "on") ((set Wohnen_fh_Licht hsv 155,100,100 20;; set Wohnen_m_Licht hsv 205,100,100 20;; set Wohnen_fh_Licht hsv 205,100,100 20 q;; set Wohnen_m_Licht hsv 155,100,100 20 q)) DOELSEIF ([Blaue_Lagune] eq "off") ((set Wohnen_fh_Licht off 20;; set Wohnen_m_Licht off 20))

attr di_Blaue_Lagune do always
attr di_Blaue_Lagune repeatcmd 60


Das Problem an der Geschichte:
Sobald mein Licht "hovert" und ich zb. das Treppenhauslicht (was tadellos funktioniert) schalte, ergibt sich beim Treppenhauslicht eine enorme Wartezeit bis zum Schaltvorgang. Selbiges wenn ich Blaue_Lagune "off" setze. Das ganze wird schlimmer, je länger das doif an ist.

Ich hoffe jemand hat eine Idee

Vielen Dank

Matze

Die angegebenen Befehle werden innerhalb von einigen Millisekunden nacheinander ausgeführt, wenn da was klemmt, dann das einzelne set-Kommando. Darauf hat das Modul dann wenig Einfluss.

Die Befehle würde ich abgesehen davon kommagetrennt angeben:

((set Wohnen_fh_Licht hsv 155,100,100 20), (set Wohnen_m_Licht hsv 205,100,100 20), set ...)

Gruß

Damian
Titel: Antw:Lichtszene mit doif + cmdrepeat als schleife
Beitrag von: smoudo am 16 Februar 2016, 21:15:01
Danke für die schnelle Antwort.
Ich glaube auch nicht dass das Problem
Zwingend am doif Modul liegt.
Bei dummy "Off" dauert es auch bis zum
Ende des kompletten Befehls bis die Lampen
Aus dimmen. Was komisch ist, während dessen können auch andere Geräte
An der selben milight Bridge nicht angesprochen werden. Diese Aktionen
Werden auch erst nach beenden des doif ausgeführt. Hat das was mit der
Kapazität der Bridge zu tun? Hat hier jemand mit Erfahrungswerte?
oder liegt bei mir irgendwo ein Denkfehler im Ablauf?

Viele Grüße

Matze