Ich habe ein Problem mit einem Dummy. Ich habe zwei zusätzliche Readings angelegt (Mean und Test). und füttere eines alle 30 sekunden per DOIF mit Helligkeitsdaten (hatte zuerst ein at, hat aber auch nicht funktioniert, und ich dachte es würde daran liegen, dass keine Null übertragen wird).
Internals:
CFGFN
FUUID 6707e637-f33f-4d9f-0181-35533b86cc9513a2
NAME HellMean
NR 599637
STATE 1
TYPE dummy
eventCount 938
READINGS:
2024-10-10 21:20:38 state 1
Mean:
TIME 2024-10-10 21:20:38
VAL
Attributes:
event-aggregator Mean::linear:mean:2
readingList Mean Test
room WS
setList Mean
Internals:
CFGFN
DEF ([E_WS1:brightness] >= 1 and [+30]) (set HellMean Mean [E_WS1:brightness])
DOELSEIF
([+30]) (set HellMean Mean 1; set HellMean 1)
FUUID 67081f00-f33f-4d9f-f8a1-084353211099ed35
MODEL FHEM
NAME Helldoif
NOTIFYDEV E_WS1,global
NR 601350
NTFY_ORDER 50-Helldoif
STATE cmd_2
TYPE DOIF
VERSION 27740 2023-07-10 09:31:11
eventCount 83
READINGS:
2024-10-10 21:15:56 Device E_WS1
2024-10-10 21:19:08 cmd 2
2024-10-10 21:19:08 cmd_event timer_2
2024-10-10 21:19:08 cmd_nr 2
2024-10-10 21:15:56 e_E_WS1_brightness 0
2024-10-10 20:56:08 mode enabled
2024-10-10 21:19:08 state cmd_2
2024-10-10 21:19:08 timer_01_c01 10.10.2024 21:19:38
2024-10-10 21:19:08 timer_02_c02 10.10.2024 21:19:38
Regex:
accu:
bar:
barAvg:
collect:
cond:
E_WS1:
0:
brightness ^E_WS1$:^brightness:
1:
attr:
cmdState:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'E_WS1','brightness') >= 1 and ::DOIF_time_once($hash,0,$wday)
1 ::DOIF_time_once($hash,1,$wday)
days:
do:
0:
0 set HellMean Mean [E_WS1:brightness]
1:
0 set HellMean Mean 1; set HellMean 1
2:
helper:
NOTIFYDEV E_WS1,global
event timer_2
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent timer_2
triggerDev
DOIF_eventa:
cmd_nr: 2
cmd: 2
cmd_event: timer_2
cmd_2
DOIF_eventas:
cmd_nr: 2
cmd: 2
cmd_event: timer_2
state: cmd_2
timerevents:
timer_2
timereventsState:
timer_2
triggerEvents:
timer_2
triggerEventsState:
timer_2
internals:
interval:
intervalfunc:
localtime:
0 1728587978
1 1728587978
readings:
all E_WS1:brightness
realtime:
0 21:19:38
1 21:19:38
time:
0 +30
1 +30
timeCond:
0 0
1 1
timer:
0 0
1 0
timers:
0 0
1 1
trigger:
triggertime:
1728587978:
localtime 1728587978
hash:
uiState:
uiTable:
Attributes:
do always
room WS
Wie im ersten Bild zu sehen, tauchen beide Readings nicht auf, und sind dann auch nicht abrufbar. Im zweiten Bild habe ich drei mal einen Wert selber in das Reading geschrieben, und dann funktioniert alles eine Weile lang.
was mache ich falsch?scfreenshot.pngscfreenshot.png
Das hat was mit "event-aggregator" zu tun.
Was und wie genau weiß ich nicht, da ich das (bisher) nicht benutze.
Gruß
Dan
Ich würde die Readings statt per set mit setreading setzen.
Danke für die Antworten.
DeeSPe hat Recht, es liegt am Event aggregator. Wenn der für irgendein Reading gesetzt ist, werden die anderen readings nicht mehr angezeigt, und kein einziges Reading wird aggregiert. Ich habe es jetzt auf zwei Dummys aufgeteilt und alles funzt wie gewünscht.