In der fhem reference steht:
■0 - 100 [on-time] [ramp-time]
set the actuator to the given value (in percent) with a resolution of 0.5.
Optional for dimmer on-time and ramp time can be choosen, both in seconds with 0.1s granularity.
On-time is analog "on-for-timer".
Ramp-time default is 2.5s, 0 means instantanous
Ich versteh den Unterschied zwischen on-time und ramp-time nicht.
Kann mir das jemand mit einem Bespiel erklären ?
Gruss Martin
Hi Martin,
ramp-time ist fuer dimmer. Die Zeit, wie lange die "aenderung" dauern soll. on-time beginnt mit dem erreichen der gewuenschten Helligkeit, nach beenden wird runtergedimmt (und ramp-down time wird hier nicht festgelegt, das ist dann komplizierter...)
Gruss
Martin
Hallo Martin,
wenn "On-time is analog "on-for-timer" dann sagt die "FHEM Commandref (//fhem.de/commandref.html)" dazu folgendes:
on-for-timer <seconds>
Issue the on command for the device, and after <seconds> the off command. For issuing the off command an internal timer will be scheduled, which is deleted upon a restart. To delete this internal timer without restart specify 0 as argument.
Soll heißen, ein Device für eine bestimmte (frei definierbare) Zeit einschalten, nach Ablauf der Zeit schaltet sich das Device ab. Das alles ohne dimmen => 100%?
Bei "ramp-time" (da muss ich auch raten):
FHEM Commandref (//fhem.de/commandref.html) sagt:
0 - 100 [on-time] [ramp-time]
set the actuator to the given value (in percent) with a resolution of 0.5.
Optional for dimmer on-time and ramp time can be choosen, both in seconds with 0.1s granularity.
On-time is analog "on-for-timer".
Ramp-time default is 2.5s, 0 means instantanous
Hmmm überleg, wie oben bereits beschrieben nur mit dem Unterschied, dass du den "Dimmwert" angeben kannst - also dimme auf 50% und schalte nach frei definierten Zeit aus. (Hoff ich erzähle keinen Unsinn. *schäm*)
Probiere es aus, dann siehst du den Unterschied - sorry genau kann ich es dir aber nicht sagen, da ich keinen Dimmer im Einsatz habe.
Ich hoffe, dass dir die Infos aus der FHEM Commandref (//fhem.de/commandref.html) weiterhelfen.
Grüße
Arthur
Hallo Martin's,
gut, meine Erklärung - fast richtig und nicht so detailiert, wie von Martin ;o)
Grüße
Arthur
Vielen Dank für die Antworten
Nun bin ich etwas schlauer :-)
Gruss Martin
Ich habe mit diesem Dimmverhalten mal etwas experimentiert. Mein Ziel ein sanftes Ab- und Anschalten mit Sonnenauf- und -untergang. Meine Herausforderung. Ich setze dimmbare Philips Energiesparlampen ein, die sich nur im Bereich zwischen 30 und 100% stabil dimmen lassen. Unter 30% tritt ein Flackern auf.
Das Anschalten habe ich deshalb über 2 Befehle realisiert:
set Dimmleuchte 30
set Dimmleuchte 100 0 180
Der erste Befehl schaltet die Leuchte auf 30%. der zweite Befehl dimmt sie über einen Zeitraum von 3 Minuten langsam von 30 auf 100%. Danach bleibt sie an.
Das Abschalten habe ich mit 1 Befehl realisiert:
set Dimmleuchte 30 60 180
Dabei wird die Leuchte über 3 Minuten von 100% auf 30% heruntergedimmt. Dann beginnt der 60 Sekunden-Timer zu laufen und sie schaltet sich anschließend ab.
Die spannende Erkenntnis für mich war, dass die Ramp-Up Zeit und die Timer-Zeit addiert werden müssen. Wenn ich also direkt nach dem Herunterdimmen auf 30% abschalten möchte, muss statt der 60 eine 1 stehen, keine 0, da dann die Leuchte auf 30% an bleibt.
Vielleicht helfen diese Erkenntnisse aus meinem Experiment ja jemandem.
Für Verbesserungsvorschläge bin ich natürlich auch offen, insb. falls jemand eine Möglichkeit kennt, die beiden Anschaltbefehle zusammenzufassen.
Gruß,
Veit
hallo Veit,
dein Ansatz ist schon korrekt.
Eine Alternative ist das Nutzen der Register. Heisst also du musst die Funktion einer tasten oder tastenpaares definieren.
Zuerst brauchst du also ein tastenpaar, dass mit dem Aktor gepeert ist.
Du kannst
a) ein virtuellen Tastenpaar peeren
b) die eingebauten Tasten umprogrammieren
c) irgendeine Fernbedienung peeren
egal welche du nutzt, du musst deren Funktion umbiegen. Eine Übersicht bekommst du mit get <dimmer> regList
Wenn du einen virtuellen Button definiert hast
define vb CUL_HM 123456
set vb virtual 2
und den/die dann peerst
set vb_Btn_01 peerChan 0 <dimmer> dual set both
sind die Grundeinstellungen schon einmal vorhanden. Die Register "Jt" und "Ct" brauchen dich erst einmal nicht zu interessieren.
Du hast jetzt einen Button zum einschalten und einen zum ausschalten. Jeder Button hat auch noch 2 optionen, short(sh-register) und long(lg-Register).
Bleiben wir bei short
3: shDimMaxLvl | 0 to 100% | required | dimMaxLevel
3: shDimMinLvl | 0 to 100% | required | dimMinLevel
min-level sollten also deine 30% sein, max ist 100%
3: shRampOffTime | 0 to 111600s | required | rampOffTime
3: shRampOnTime | 0 to 111600s | required | rampOnTime
die dauer der einschat/ausschalt-rampe
3: shRampSstep | 0 to 100% | required | rampStartStep
hm - nicht getestet - der erste schritt beim dimmen
3: shOnMinLevel | 0 to 100% | required | minimum PowerLevel
sollte 30% sein - weniger ist nicht erlaubt.
wenn du also diese Parameter entsprechend setzt kannst du mit
set vb_Btn_01 press
einschalten (oder aus... kann auch umgekehrt sein
set vb_Btn_02 press
das gegenteil erreichen.
Es geht dann also alles mit einem Kommando
Eine 2. Variante kannst du mit
set vb_Btn_01 press long
set vb_Btn_02 press long
definieren, einfach den registeranteil "lg" programmieren
Gruss Martin
mh das is ja fein.
mh mal schauen wie ich das hin bekommm bei mir zuhause.