Hallo,
ich setze einen HmIP-BDT im Bad ein. Über einen Bewegungsmelder (HM-SEN-MDIR-WM55) kann ich das Signal für das Einschalten geben. Leider nur auf einen eingestellten Wert, ohne dass der Dimmer die Helligkeit langsam hochfährt. Im WEB-UI gibt es aber einen Parameter für die Rampe. Weis jemand, ob dies auch in fhem geht und wenn ja, wie?
Das List des Dimmers:
Internals:
DEF Licht-BadOG-Spiegel-HmIP
FUUID 5e9daaf9-f33f-6g6f-8d5b-b219c208d537db2f
IODev myHMCCU3
NAME Licht_BadOG_Spiegel
NR 1835
STATE off
TYPE HMCCUDEV
ccuaddr 0008DA47629235
ccudevstate active
ccuif HmIP-RF
ccuname Licht-BadOG-Spiegel-HmIP
ccutype HmIP-BDT
channels 8
firmware 1.4.8
statevals devstate|on|off
READINGS:
2020-04-27 19:55:03 3.LEVEL off
2020-04-27 19:55:03 4.LEVEL off
2020-04-27 19:55:03 5.LEVEL off
2020-04-27 19:55:03 6.LEVEL off
2020-04-20 20:37:24 R-1.DBL_PRESS_TIME 0.0
2020-04-20 20:37:24 R-1.LONG_PRESS_TIME 0.4
2020-04-20 20:37:24 R-1.REPEATED_LONG_PRESS_TIMEOUT_UNIT 2
2020-04-20 20:37:24 R-1.REPEATED_LONG_PRESS_TIMEOUT_VALUE 2
2020-04-27 20:11:08 activity alive
2020-04-27 19:55:03 control 0
2020-04-27 20:11:08 hmstate off
2020-04-27 19:55:03 state off
hmccu:
devspec Licht-BadOG-Spiegel-HmIP
dp:
0.ACTUAL_TEMPERATURE:
OVAL 0.000000
VAL 0.000000
0.ACTUAL_TEMPERATURE_STATUS:
OVAL 0
VAL 0
0.CONFIG_PENDING:
OVAL 0
VAL 0
0.DUTY_CYCLE:
OVAL 0
VAL 0
0.ERROR_CODE:
OVAL 0
VAL 0
0.ERROR_OVERHEAT:
OVAL 0
VAL 0
0.ERROR_OVERLOAD:
OVAL 0
VAL 0
0.ERROR_UPDATE:
OVAL 0
VAL 0
0.INSTALL_TEST:
OVAL true
VAL true
0.OPERATING_VOLTAGE:
OVAL 0.000000
VAL 0.000000
0.OPERATING_VOLTAGE_STATUS:
OVAL 0
VAL 0
0.RSSI_DEVICE:
OVAL -75
VAL -75
0.RSSI_PEER:
OVAL -70
VAL -73
0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
OVAL false
VAL false
3.ACTIVITY_STATE:
OVAL 0
VAL 0
3.LEVEL:
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
3.LEVEL_STATUS:
OVAL 0
VAL 0
3.PROCESS:
OVAL 0
VAL 0
3.SECTION:
OVAL 15
VAL 15
3.SECTION_STATUS:
OVAL 0
VAL 0
4.ACTIVITY_STATE:
OVAL 3
VAL 3
4.LEVEL:
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
4.LEVEL_STATUS:
OVAL 0
VAL 0
4.PROCESS:
OVAL 0
VAL 0
4.SECTION:
OVAL 0
VAL 0
4.SECTION_STATUS:
OVAL 0
VAL 0
5.ACTIVITY_STATE:
OVAL 3
VAL 3
5.LEVEL:
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
5.LEVEL_STATUS:
OVAL 0
VAL 0
5.PROCESS:
OVAL 0
VAL 0
5.SECTION:
OVAL 0
VAL 0
5.SECTION_STATUS:
OVAL 0
VAL 0
6.ACTIVITY_STATE:
OVAL 3
VAL 3
6.LEVEL:
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
6.LEVEL_STATUS:
OVAL 0
VAL 0
6.PROCESS:
OVAL 0
VAL 0
6.SECTION:
OVAL 0
VAL 0
6.SECTION_STATUS:
OVAL 0
VAL 0
7.WEEK_PROGRAM_CHANNEL_LOCKS:
OVAL 0
VAL 0
Attributes:
IODev myHMCCU3
ccureadingfilter ^LEVEL$
ccuscaleval LEVEL:0:1:0:100
controldatapoint 4.LEVEL
devStateIcon on:black_FS20.on off:black_FS20.off Initialized:edit_settings@orange
icon light_ceiling_light
room 2.1_OG_Bad,9.6.0_System
statedatapoint 4.LEVEL
statevals on:100,off:0
stripnumber 1
substexcl control
substitute LEVEL!#0-0:off,#1-100:on
webCmd control:on:off
widgetOverride control:slider,0,10,100
Mit diesem DOIF schalte ich
Internals:
DEF (([de_Bew_OG_Bad_Motion:"motion: on"] and [?de_Bew_OG_Bad_Motion:brightness] < 110 and [?21:50-05:00]) or [de_Bew_OG_Bad_Btn_Down:"Short"] or $cmd == 1.1)
(set Licht_BadOG_Spiegel control 60, set PushoverJuergen msg 'Bewegung im Bad OG 30' '' 0 '') (set Licht_BadOG_Spiegel off) ## Licht über Taster oder Bewegungsmelder mit 60 % einschalten wenn zu dunkel. Nach wait (nach Komma) wieder ausschalten
DOELSEIF (([de_Bew_OG_Bad_Motion] eq "motion" and [?de_Bew_OG_Bad_Motion:brightness] < 110 and [?05:01-21:49]) or [de_Bew_OG_Bad_Btn_Down:"Short"] or $cmd == 1.1)
(set Licht_BadOG_Spiegel control 100, set PushoverJuergen msg 'Bewegung im Bad OG 100' '' 0 '') (set Licht_BadOG_Spiegel off) ## Licht über Taster oder Bewegungsmelder mit 100% Helligkeit einschalten wenn zu dunkel. Nach wait (nach Komma) wieder ausschalten
DOELSEIF ([de_Bew_OG_Bad_Btn_Up] =~ "Short") (set Licht_BadOG_Spiegel off) ## Ausschalten ohne Wartezeit wenn ein und Taster AUS gedrückt (set de_Bad_OG_Licht_Spiegel off, set PushoverJuergen msg 'Taster: Das Licht im Bad ist' '[de_Bad_OG_Licht_Spiegel:state]' '' 0 '', ({Log 1, "Ausschalten"}))
FUUID 5c4c3931-f33f-6b6f-de95-e1cf1c16c9cfcdb4
MODEL FHEM
NAME di_Bad_OG_Licht_Spiegel
NOTIFYDEV global,de_Bew_OG_Bad_Btn_Down,de_Bew_OG_Bad_Motion,de_Bew_OG_Bad_Btn_Up
NR 1335
NTFY_ORDER 50-di_Bad_OG_Licht_Spiegel
STATE initialized
TYPE DOIF
VERSION 21224 2020-02-18 18:45:49
READINGS:
2020-04-27 20:37:57 Device de_Bew_OG_Bad_Motion
2020-04-27 20:30:50 cmd 0
2020-04-27 20:37:57 e_de_Bew_OG_Bad_Motion_STATE noMotion
2020-04-27 20:37:57 e_de_Bew_OG_Bad_Motion_events brightness: 47,cover: closed
2020-04-27 20:30:50 mode enabled
2020-04-27 20:30:50 state initialized
2020-04-27 20:30:50 timer_01_c01 27.04.2020 21:50:00
2020-04-27 20:30:50 timer_02_c01 28.04.2020 05:00:00
2020-04-27 20:30:50 timer_03_c02 28.04.2020 05:01:00
2020-04-27 20:30:50 timer_04_c02 27.04.2020 21:49:00
Regex:
accu:
cond:
de_Bew_OG_Bad_Btn_Down:
0:
&STATE ^de_Bew_OG_Bad_Btn_Down$
1:
&STATE ^de_Bew_OG_Bad_Btn_Down$
de_Bew_OG_Bad_Btn_Up:
2:
&STATE ^de_Bew_OG_Bad_Btn_Up$
de_Bew_OG_Bad_Motion:
0:
&STATE ^de_Bew_OG_Bad_Motion$
1:
&STATE ^de_Bew_OG_Bad_Motion$
2:
attr:
cmdState:
0:
Bewegung 30
1:
Bewegung hell
2:
Taster Aus
wait:
0:
0
[di_Duschzeiten:state]
1:
0
[di_Duschzeiten:state]
2:
0
waitdel:
condition:
0 (::EventDoIf('de_Bew_OG_Bad_Motion',$hash,'motion: on',1) and ::ReadingValDoIf($hash,'de_Bew_OG_Bad_Motion','brightness') < 110 and ::DOIF_time($hash,0,1,$wday,$hms)) or ::EventDoIf('de_Bew_OG_Bad_Btn_Down',$hash,'Short',1) or $cmd == 1.1
1 (::InternalDoIf($hash,'de_Bew_OG_Bad_Motion','STATE') eq "motion" and ::ReadingValDoIf($hash,'de_Bew_OG_Bad_Motion','brightness') < 110 and ::DOIF_time($hash,2,3,$wday,$hms)) or ::EventDoIf('de_Bew_OG_Bad_Btn_Down',$hash,'Short',1) or $cmd == 1.1
2 ::InternalDoIf($hash,'de_Bew_OG_Bad_Btn_Up','STATE') =~ "Short"
days:
do:
0:
0 set Licht_BadOG_Spiegel control 60, set PushoverJuergen msg 'Bewegung im Bad OG 30' '' 0 ''
1 set Licht_BadOG_Spiegel off
1:
0 set Licht_BadOG_Spiegel control 100, set PushoverJuergen msg 'Bewegung im Bad OG 100' '' 0 ''
1 set Licht_BadOG_Spiegel off
2:
0 set Licht_BadOG_Spiegel off
3:
helper:
DEVFILTER ^global$|^de_Bew_OG_Bad_Btn_Down$|^de_Bew_OG_Bad_Motion$|^de_Bew_OG_Bad_Btn_Up$
NOTIFYDEV global|de_Bew_OG_Bad_Btn_Down|de_Bew_OG_Bad_Motion|de_Bew_OG_Bad_Btn_Up
event brightness: 47,cover: closed
globalinit 1
last_timer 4
sleeptimer -1
triggerDev de_Bew_OG_Bad_Motion
triggerEvents:
brightness: 47
cover: closed
triggerEventsState:
brightness: 47
cover: closed
internals:
all de_Bew_OG_Bad_Motion:STATE de_Bew_OG_Bad_Btn_Up:STATE
interval:
0 -1
1 0
2 -1
3 2
intervalfunc:
localtime:
0 1588017000
1 1588042800
2 1588042860
3 1588016940
readings:
realtime:
0 21:50:00
1 05:00:00
2 05:01:00
3 21:49:00
time:
0 21:50:00
1 05:00:00
2 05:01:00
3 21:49:00
timeCond:
0 0
1 0
2 1
3 1
timer:
0 0
1 0
2 0
3 0
trigger:
all de_Bew_OG_Bad_Motion de_Bew_OG_Bad_Btn_Down
triggertime:
1588016940:
localtime 1588016940
hash:
1588017000:
localtime 1588017000
hash:
1588042800:
localtime 1588042800
hash:
1588042860:
localtime 1588042860
hash:
uiState:
uiTable:
Attributes:
cmdState Bewegung 60 | Bewegung hell | Taster Aus
do resetwait
room 2.1_OG_Bad,9.8.1_DOIF
startup set de_Bad_OG_Licht_Spiegel off
timerWithWait 1
wait 0,[di_Duschzeiten:state]:0,[di_Duschzeiten:state]:0
Grüße Jürgen
So weit ich mich erinnere, kann man diese Rampe nicht direkt in Fhem konfigurieren, da sie ein Parameter der internen Verknüfung zwischen Taster und Aktor ist, und kein Parameter des Devices selbst.
Aber das Eindimmen kannst Du mit :set Licht_BadOG_Spiegel pct 60 0 10
machen. Heisst "dimm bis 60% mit Ramptime 10 Sekunden"
Genauso mit
set Licht_BadOG_Spiegel pct 0 0 20
: dim biz zu 0 mit ramp-time 20 Sekunden
Besten Dank. Genau das habe ich gesucht. Im WebUI kann eine Rampe nur in Verbindung mit einem Wochenprogramm (Zeiten) genutzt werden, ich möchte aber alles aus fhem steuern, z.B. dass das Licht im Bad nachts langsam und nicht bis 100% hochfährt, da man sonst geblendet wird.
Habe es mit set Licht_BadOG_Spiegel control 60 10 versucht (60%, 10 sec. Rampe), hat aber nicht funktioniert.
Der "set control" Befehl akzeptiert nur einen Parameter. Du musst "set pct" verwenden (s.a. Commandref zu HMCCUCHN).
Hatte ich "control" geschrieben? Ah... eh.. eigentlich nicht ;) ::)
Du nicht, aber bmwfan 2 Posts vorher
Funktioniert perfekt bis auf den kleinen Umstand, dass das Licht flackert und der Trafo brummt, bis ca. 90% Helligkeit erreicht ist. Aber dafür kann der Befehl ja nichts. Sind 4 kleine Niedervoltlampen (ca. 10W / St.) an einem entsprechenden Trafo.
Besten Dank nochmal.