Hallo in die Runde,
ich will mit einem Bewegungsmelder eine zeitabhängige Helligkeit an einem LED-Dimmer HM-LC-DIM1PWM-CV auslösen und habe mir dazu dieses doif gebaut.
Die Zeitsteuerung mit dem on-for-timer funktioniert auch. Ich habe allerdings das Phänomen, dass die LED gaaaaaanz langsam, also viel zu langsam, aufdimmt.
Ich will da 300 sec als Zielwert nehmen. Das sieht so aus, als würde er dann 300 sec aufdimmen.
Dieser Effekt hat nichts mit dem doif zu tun, bei einem:
set HM_4D91D2_Dim 50 on-for-timer 10
oder
set HM_4D91D2_Dim pct 50 on-for-timer 10
verhält sich das auch so. Hat da jemand eine Idee zu?
Hier das list zu dem Dimmer:
Internals:
DEF ([PIRDummyTest] eq "on" and [?00:01-05:00])
(set HM_4D91D2_Dim 20 on-for-timer 10)
DOELSEIF
([PIRDummyTest] eq "on" and [?05:01-23:59])
(set HM_4D91D2_Dim 60 on-for-timer 10)
FUUID 5ecabf73-f33f-51cc-e139-f45b40b4e1755437
MODEL FHEM
NAME EG_Toi_LED_PIR_di
NOTIFYDEV global,PIRDummyTest
NR 1521
NTFY_ORDER 50-EG_Toi_LED_PIR_di
STATE cmd_2
TYPE DOIF
VERSION 22030 2020-05-25 14:10:16
READINGS:
2020-05-27 21:50:54 Device PIRDummyTest
2020-05-27 21:50:54 cmd 2
2020-05-27 21:50:54 cmd_event PIRDummyTest
2020-05-27 21:50:54 cmd_nr 2
2020-05-27 21:50:54 e_PIRDummyTest_STATE off
2020-05-27 21:50:47 mode enabled
2020-05-27 21:50:54 state cmd_2
2020-05-27 21:50:47 timer_01_c01 28.05.2020 00:01:00
2020-05-27 21:50:47 timer_02_c01 28.05.2020 05:00:00
2020-05-27 21:50:47 timer_03_c02 28.05.2020 05:01:00
2020-05-27 21:50:47 timer_04_c02 27.05.2020 23:59:00
Regex:
accu:
cond:
PIRDummyTest:
0:
&STATE ^PIRDummyTest$
1:
&STATE ^PIRDummyTest$
attr:
cmdState:
wait:
waitdel:
condition:
0 ::InternalDoIf($hash,'PIRDummyTest','STATE') eq "on" and ::DOIF_time($hash,0,1,$wday,$hms)
1 ::InternalDoIf($hash,'PIRDummyTest','STATE') eq "on" and ::DOIF_time($hash,2,3,$wday,$hms)
days:
do:
0:
0 set HM_4D91D2_Dim 20 on-for-timer 10
1:
0 set HM_4D91D2_Dim 60 on-for-timer 10
2:
helper:
DEVFILTER ^global$|^PIRDummyTest$
NOTIFYDEV global|PIRDummyTest
event off
globalinit 1
last_timer 4
sleeptimer -1
timerdev PIRDummyTest
timerevent on
triggerDev PIRDummyTest
timerevents:
on
timereventsState:
state: on
triggerEvents:
off
triggerEventsState:
state: off
internals:
all PIRDummyTest:STATE
interval:
0 -1
1 0
2 -1
3 2
intervalfunc:
localtime:
0 1590616860
1 1590634800
2 1590634860
3 1590616740
readings:
realtime:
0 00:01:00
1 05:00:00
2 05:01:00
3 23:59:00
time:
0 00:01:00
1 05:00:00
2 05:01:00
3 23:59:00
timeCond:
0 0
1 0
2 1
3 1
timer:
0 0
1 0
2 0
3 0
trigger:
triggertime:
1590616740:
localtime 1590616740
hash:
1590616860:
localtime 1590616860
hash:
1590634800:
localtime 1590634800
hash:
1590634860:
localtime 1590634860
hash:
uiState:
uiTable:
Attributes:
disable 0
do always
room 23.EG.Toilette,59.Test
Die Kombi aus pct und on-for-timer kannte ich noch nicht. Mich wundert, dass das überhaupt funktioniert.
set <dimmer> pct <level> [<ontime>] [<ramptime>] - setzt Aktor auf gewünschten absolut Wert.
sagt die commandref dazu.
Wie wäre es also mit
set HM_4D91D2_Dim pct 50 300
für 5 Minuten Laufzeit bei 50% Helligkeit?
Danke! In dieser Reihenfolge funktioniert es wie erwartet.