Du hast recht. Ich setze auch die HmIP-BWTH als Thermostate ein. Habe mich verschrieben. Der Lichtschalter ist ein HmIP-BDT!
Das List:
Internals:
DEF 0008DA49929255 sd=3.LEVEL cd=4.LEVEL
FUUID 61969642-f33f-d125-6779-fa2b90bc9c61be8e
IODev myHMCCU3
NAME HmIP_BDT_0008DA49929255_3
NR 37
STATE off
TYPE HMCCUDEV
ccuaddr 0008DA49929255
ccudevstate active
ccuif HmIP-RF
ccuname Licht-BadOG-Spiegel-HmIP
ccurolectrl DIMMER_VIRTUAL_RECEIVER
ccurolestate DIMMER_TRANSMITTER
ccusubtype BDT
ccutype HmIP-BDT
eventCount 2162
firmware 1.4.8
readonly no
READINGS:
2022-10-24 16:54:35 3.ACTIVITY_STATE UNKNOWN
2022-10-24 16:54:35 3.LEVEL off
2022-10-24 16:54:35 3.LEVEL_STATUS NORMAL
2022-10-24 16:54:35 3.PROCESS STABLE
2022-10-14 09:23:41 3.SECTION
2022-10-24 16:54:35 3.SECTION_STATUS UNKNOWN
2022-10-24 16:54:35 4.ACTIVITY_STATE STABLE
2022-10-24 16:54:35 4.LEVEL off
2022-10-24 16:54:35 4.LEVEL_STATUS NORMAL
2022-10-24 16:54:35 4.PROCESS STABLE
2022-10-24 16:54:35 4.SECTION 0
2022-10-24 16:54:35 4.SECTION_STATUS NORMAL
2022-10-24 16:16:12 7.WEEK_PROGRAM_CHANNEL_LOCKS 0
2022-10-14 09:23:09 IODev myHMCCU3
2022-10-24 16:54:35 activity alive
2022-10-24 16:54:35 control off
2022-10-24 16:54:35 devstate ok
2022-10-24 16:54:35 hmstate off
2022-10-24 16:54:35 level off
2022-10-24 16:54:35 pct 0
2022-10-24 16:54:35 rssidevice -78
2022-10-24 16:09:50 rssipeer -80
2022-10-24 16:54:35 state off
2022-10-14 09:23:41 voltage 0.0
hmccu:
channels 8
defCDP 4.LEVEL
defSDP 3.LEVEL
detect 5
devspec 0008DA49929255
forcedev 0
nodefaults 1
role 0:MAINTENANCE,1:KEY_TRANSCEIVER,2:KEY_TRANSCEIVER,3:DIMMER_TRANSMITTER,4:DIMMER_VIRTUAL_RECEIVER,5:DIMMER_VIRTUAL_RECEIVER,6:DIMMER_VIRTUAL_RECEIVER,7:DIMMER_WEEK_PROFILE
setDefaults 0
cmdlist:
get
set on-till level pct up down on-for-timer oldLevel:noArg on:noArg off:noArg toggle:noArg
control:
chn 4
dpt LEVEL
dp:
0.ACTUAL_TEMPERATURE:
VALUES:
NVAL 0.000000
ONVAL 0.000000
OSVAL 0.0
OVAL 0.000000
SVAL 0.0
VAL 0.000000
0.ACTUAL_TEMPERATURE_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
0.CONFIG_PENDING:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.DUTY_CYCLE:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.ERROR_CODE:
VALUES:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.ERROR_OVERHEAT:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.ERROR_OVERLOAD:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.ERROR_UPDATE:
VALUES:
NVAL 0
ONVAL 0
OSVAL false
OVAL 0
SVAL false
VAL 0
0.INSTALL_TEST:
VALUES:
NVAL true
ONVAL true
OSVAL true
OVAL true
SVAL true
VAL true
0.OPERATING_VOLTAGE:
VALUES:
NVAL 0.000000
ONVAL 0.000000
OSVAL 0.0
OVAL 0.000000
SVAL 0.0
VAL 0.000000
0.OPERATING_VOLTAGE_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
0.RSSI_DEVICE:
VALUES:
NVAL -78
ONVAL -81
OSVAL -81
OVAL -81
SVAL -78
VAL -78
0.RSSI_PEER:
VALUES:
NVAL -80
ONVAL -77
OSVAL -77
OVAL -77
SVAL -80
VAL -80
0.UNREACH:
VALUES:
NVAL 0
ONVAL 0
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
VALUES:
NVAL false
ONVAL false
OSVAL false
OVAL false
SVAL false
VAL false
3.ACTIVITY_STATE:
VALUES:
NVAL 0
ONVAL 0
OSVAL UNKNOWN
OVAL 0
SVAL UNKNOWN
VAL 0
3.LEVEL:
VALUES:
NVAL 0
ONVAL 0
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
3.LEVEL_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
3.PROCESS:
VALUES:
NVAL 0
ONVAL 0
OSVAL STABLE
OVAL 0
SVAL STABLE
VAL 0
3.SECTION:
VALUES:
NVAL
ONVAL
OSVAL
OVAL
SVAL
VAL
3.SECTION_STATUS:
VALUES:
NVAL 1
ONVAL 1
OSVAL UNKNOWN
OVAL 1
SVAL UNKNOWN
VAL 1
4.ACTIVITY_STATE:
VALUES:
NVAL 3
ONVAL 3
OSVAL STABLE
OVAL 3
SVAL STABLE
VAL 3
4.LEVEL:
VALUES:
NVAL 0
ONVAL 0
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
4.LEVEL_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
4.PROCESS:
VALUES:
NVAL 0
ONVAL 0
OSVAL STABLE
OVAL 0
SVAL STABLE
VAL 0
4.SECTION:
VALUES:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
4.SECTION_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
5.ACTIVITY_STATE:
VALUES:
NVAL 3
ONVAL 3
OSVAL STABLE
OVAL 3
SVAL STABLE
VAL 3
5.LEVEL:
VALUES:
NVAL 0
ONVAL 0
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
5.LEVEL_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
5.PROCESS:
VALUES:
NVAL 0
ONVAL 0
OSVAL STABLE
OVAL 0
SVAL STABLE
VAL 0
5.SECTION:
VALUES:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
5.SECTION_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
6.ACTIVITY_STATE:
VALUES:
NVAL 3
ONVAL 3
OSVAL STABLE
OVAL 3
SVAL STABLE
VAL 3
6.LEVEL:
VALUES:
NVAL 0
ONVAL 0
OSVAL off
OVAL 0.0
SVAL off
VAL 0.0
6.LEVEL_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
6.PROCESS:
VALUES:
NVAL 0
ONVAL 0
OSVAL STABLE
OVAL 0
SVAL STABLE
VAL 0
6.SECTION:
VALUES:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
6.SECTION_STATUS:
VALUES:
NVAL 0
ONVAL 0
OSVAL NORMAL
OVAL 0
SVAL NORMAL
VAL 0
7.WEEK_PROGRAM_CHANNEL_LOCKS:
VALUES:
NVAL 0
ONVAL 0
OSVAL 0
OVAL 0
SVAL 0
VAL 0
roleCmds:
get:
set:
down:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 1
syntax V:LEVEL:?delta=-10
usage down [delta]
subcmd:
000:
args -10
dpt LEVEL
fnc
max 1.01
min 0.0
parname delta
partype 2
ps VALUES
scn 000
unit 100%
level:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 1
syntax V:LEVEL:?level
usage level level
subcmd:
000:
args
dpt LEVEL
fnc
max 1.01
min 0.0
parname level
partype 2
ps VALUES
scn 000
unit 100%
off:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 1
syntax V:LEVEL:0
usage off
subcmd:
000:
args 0
dpt LEVEL
fnc
max 1.01
min 0.0
parname LEVEL
partype 3
ps VALUES
scn 000
unit 100%
oldLevel:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 1
syntax V:LEVEL:100.5
usage oldLevel
subcmd:
000:
args 100.5
dpt LEVEL
fnc
max 1.01
min 0.0
parname LEVEL
partype 3
ps VALUES
scn 000
unit 100%
on:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 1
syntax V:LEVEL:100
usage on
subcmd:
000:
args 100
dpt LEVEL
fnc
max 1.01
min 0.0
parname LEVEL
partype 3
ps VALUES
scn 000
unit 100%
on-for-timer:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 2
syntax 1:V:DURATION_UNIT:0 2:V:ON_TIME,DURATION_VALUE:?duration 3:V:LEVEL:100
usage on-for-timer duration
subcmd:
000:
args
dpt ON_TIME
fnc
max 8580000.0
min 0.0
parname duration
partype 2
ps VALUES
scn 002
unit s
001:
args 100
dpt LEVEL
fnc
max 1.01
min 0.0
parname LEVEL
partype 3
ps VALUES
scn 003
unit 100%
on-till:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 2
syntax 1:V:DURATION_UNIT:0 2:V:ON_TIME,DURATION_VALUE:?time 3:V:LEVEL:100
usage on-till time
subcmd:
000:
args
dpt ON_TIME
fnc
max 8580000.0
min 0.0
parname time
partype 2
ps VALUES
scn 002
unit s
001:
args 100
dpt LEVEL
fnc
max 1.01
min 0.0
parname LEVEL
partype 3
ps VALUES
scn 003
unit 100%
pct:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 3
syntax 5:V:LEVEL:?level 1:V:DURATION_UNIT:0 2:V:ON_TIME,DURATION_VALUE:?time=0.0 3:V:RAMP_TIME_UNIT:0 4:V:RAMP_TIME,RAMP_TIME_VALUE:?ramp=0.5
usage pct level [time] [ramp]
subcmd:
000:
args
dpt LEVEL
fnc
max 1.01
min 0.0
parname level
partype 2
ps VALUES
scn 005
unit 100%
001:
args 0.0
dpt ON_TIME
fnc
max 8580000.0
min 0.0
parname time
partype 2
ps VALUES
scn 002
unit s
002:
args 0.5
dpt RAMP_TIME
fnc
max 8580000.0
min 0.0
parname ramp
partype 2
ps VALUES
scn 004
unit s
up:
channel 4
role DIMMER_VIRTUAL_RECEIVER
subcount 1
syntax V:LEVEL:?delta=+10
usage up [delta]
subcmd:
000:
args +10
dpt LEVEL
fnc
max 1.01
min 0.0
parname delta
partype 2
ps VALUES
scn 000
unit 100%
state:
chn 3
dpt LEVEL
Attributes:
alias Licht_BOG_Spiegel_HmIP
ccureadingfilter 1,2,3,4,7..*
cmdIcon on:general_an off:general_aus
devStateIcon on:black_FS20.on off:black_FS20.off Initialized:edit_settings@orange
event-min-interval .*:3600
event-on-change-reading activity,state,4.LEVEL,pct,3.LEVEL
icon light_ceiling_light
room 2.1_OG_Bad,9.6.0_System
substexcl pct
webCmd pct:on:off
widgetOverride pct:slider,0,10,100
Mseclog steht auf 1.
Event-Monitor:
2022-10-24 17:01:40.664 HMCCUDEV Licht_BadOG_Spiegel_HmIP 35.5
2022-10-24 17:01:40.664 HMCCUDEV Licht_BadOG_Spiegel_HmIP 3.LEVEL: 35.5
2022-10-24 17:01:40.664 HMCCUDEV Licht_BadOG_Spiegel_HmIP pct: 35.5
2022-10-24 17:01:40.714 HMCCUDEV Licht_BadOG_Spiegel_HmIP 4.LEVEL: 35.5
2022-10-24 17:01:41.961 HMCCUDEV Licht_BadOG_Spiegel_HmIP on
2022-10-24 17:01:41.961 HMCCUDEV Licht_BadOG_Spiegel_HmIP 3.LEVEL: on
2022-10-24 17:01:41.961 HMCCUDEV Licht_BadOG_Spiegel_HmIP pct: 100
2022-10-24 17:01:42.012 HMCCUDEV Licht_BadOG_Spiegel_HmIP 4.LEVEL: on
2022-10-24 17:02:58.798 HMCCUDEV Licht_BadOG_Spiegel_HmIP off
2022-10-24 17:02:58.798 HMCCUDEV Licht_BadOG_Spiegel_HmIP 3.LEVEL: off
2022-10-24 17:02:58.798 HMCCUDEV Licht_BadOG_Spiegel_HmIP pct: 0
2022-10-24 17:02:58.848 HMCCUDEV Licht_BadOG_Spiegel_HmIP 4.LEVEL: off
List DOIF:
Internals:
DEF (["^Aquara_Motion_Bad_OG$:^occupancy: true"] and ([?Aquara_Motion_Bad_OG:illuminance] < 20 or [?Licht_BadOG_Spiegel_HmIP:state] eq "on"))
(IF ($hms gt "05:01" and $hms lt "23:49") (set Licht_BadOG_Spiegel_HmIP pct 100 0 8, {Log 1, "pct 100 0 8"}) ELSE (set Licht_BadOG_Spiegel_HmIP pct 40 0 15, {Log 2, "pct 40 0 15"})) (set Licht_BadOG_Spiegel_HmIP off, {Log 3, "Timer AUS"})
DOELSEIF (["^Licht_BadOG_Spiegel_HmIP$:^state: off"] and [?$SELF] eq "cmd_1_1") ({Log 4, "Manuell AUS"}) ## Test: Laufenden Timer rücksetzen da Ausschalter betätigt
FUUID 6197653a-f33f-d125-da22-4399ea763b68ad95
MODEL FHEM
NAME di_Bad_OG_Licht_Spiegel
NOTIFYDEV Aquara_Motion_Bad_OG,global,Licht_BadOG_Spiegel_HmIP
NR 192
NTFY_ORDER 50-di_Bad_OG_Licht_Spiegel
STATE cmd_1
TYPE DOIF
VERSION 26444 2022-09-25 16:29:19
eventCount 923
READINGS:
2022-10-24 17:12:12 cmd 1.2
2022-10-24 17:12:12 cmd_event set_cmd_1
2022-10-24 17:12:12 cmd_nr 1
2022-10-24 17:12:12 cmd_seqnr 2
2022-10-24 17:08:34 mode enabled
2022-10-24 17:12:12 state cmd_1
2022-10-24 17:12:12 wait_timer no timer
Regex:
accu:
collect:
cond:
:
0:
"^Aquara_Motion_Bad_OG$:^occupancy: true" ^Aquara_Motion_Bad_OG$:^occupancy: true
1:
"^Licht_BadOG_Spiegel_HmIP$:^state: off" ^Licht_BadOG_Spiegel_HmIP$:^state: off
attr:
cmdState:
wait:
0:
0
[di_Duschzeiten:state]
1:
0
waitdel:
condition:
0 ::EventDoIf('^Aquara_Motion_Bad_OG$',$hash,'^occupancy: true',0) and (::ReadingValDoIf($hash,'Aquara_Motion_Bad_OG','illuminance') < 20 or ::ReadingValDoIf($hash,'Licht_BadOG_Spiegel_HmIP','state') eq "on")
1 ::EventDoIf('^Licht_BadOG_Spiegel_HmIP$',$hash,'^state: off',0) and ::InternalDoIf($hash,'di_Bad_OG_Licht_Spiegel','STATE') eq "cmd_1_1"
devices:
do:
0:
0 IF ($hms gt "05:01" and $hms lt "23:49") (set Licht_BadOG_Spiegel_HmIP pct 100 0 8, {Log 1, "pct 100 0 8"}) ELSE (set Licht_BadOG_Spiegel_HmIP pct 40 0 15, {Log 2, "pct 40 0 15"})
1 set Licht_BadOG_Spiegel_HmIP off, {Log 3, "Timer AUS"}
1:
0 {Log 4, "Manuell AUS"}
2:
helper:
NOTIFYDEV Aquara_Motion_Bad_OG,global,Licht_BadOG_Spiegel_HmIP
event
globalinit 1
last_timer 0
sleepdevice set_cmd_1
sleepsubtimer -1
sleeptimer -1
triggerDev
triggerEvents
triggerEventsState
hmccu:
internals:
all di_Bad_OG_Licht_Spiegel:STATE
uiState:
uiTable:
Attributes:
comment 16.10.: Logik auf Eventsteuerung geändert.
03.10.22: HM-Sensor durch Aquara ausgetauscht
disable 0
do resetwait
group Licht
room 2.1_OG_Bad,9.8.1_DOIF
wait 0,[di_Duschzeiten:state]:0
Die Log 1...4 habe ich eingeführt, um im Logfile erkennen zu können, welche set-Befehle ausgeführt werden. Log 4: Manuell AUS wird nicht ausgeführt, auch wenn das Licht über den Taster ausgeschalten wird. Da im Eventlog aber ein Event "off" registriert wird bedeutet das doch, dass entweder die Abfrage ["^Licht_BadOG_Spiegel_HmIP$:^state: off"] oder die Abfrage [?$SELF] eq "cmd_1_1" nicht korrekt sind.