Ich habe eine simple DOIF Definition, wobei der Temp-Sensor DeltaSol_M_T11:state einen Trigger auslösen sollte wenn der Wert kleiner als der Sollwert OG2_HZG_ATD:state ist. Leider geschieht das nicht. Mit checkall wird sofort der Status angepasst.
list OG2_HZR_HZG_A1HST
Internals:
CFGFN /media/hdd/fhem/myprogram/heizung_rasp02.pm
DEF ([AP_GAO_HZG_WPD] eq "EIN" and [OG2_HZR_WPHSD] eq "EIN" and ([DeltaSol_M_T11:state] < [OG2_HZG_ATD:state]))
(set OG2_HZR_HZG_A1HD EIN)
DOELSE
(set OG2_HZR_HZG_A1HD AUS)
FUUID 60e6edb2-f33f-62a8-b643-d6b1801b96f99129
MODEL FHEM
NAME OG2_HZR_HZG_A1HST
NOTIFYDEV AP_GAO_HZG_WPD,OG2_HZG_ATD,OG2_HZR_WPHSD,DeltaSol_M_T11,global
NR 1861
NTFY_ORDER 50-OG2_HZR_HZG_A1HST
STATE HEIZUNG AUS
TYPE DOIF
VERSION 28546 2024-02-23 20:11:05
eventCount 7
READINGS:
2024-06-04 19:34:22 cmd 2
2024-06-04 19:34:22 cmd_event OG2_HZR_HZG_A1HST
2024-06-04 19:34:22 cmd_nr 2
2024-06-04 19:34:19 mode enabled
2024-06-04 19:34:22 state cmd_2
Regex:
accu:
bar:
barAvg:
collect:
cond:
AP_GAO_HZG_WPD:
0:
&STATE ^AP_GAO_HZG_WPD$
DeltaSol_M_T11:
0:
state ^DeltaSol_M_T11$:^state:
OG2_HZG_ATD:
0:
state ^OG2_HZG_ATD$:^state:
OG2_HZR_WPHSD:
0:
&STATE ^OG2_HZR_WPHSD$
attr:
cmdState:
wait:
waitdel:
condition:
0 ::InternalDoIf($hash,'AP_GAO_HZG_WPD','STATE') eq "EIN" and ::InternalDoIf($hash,'OG2_HZR_WPHSD','STATE') eq "EIN" and (::ReadingValDoIf($hash,'DeltaSol_M_T11','state') < ::ReadingValDoIf($hash,'OG2_HZG_ATD','state'))
devices:
do:
0:
0 set OG2_HZR_HZG_A1HD EIN
1:
0 set OG2_HZR_HZG_A1HD AUS
helper:
NOTIFYDEV AP_GAO_HZG_WPD,OG2_HZG_ATD,OG2_HZR_WPHSD,DeltaSol_M_T11,global
globalinit 1
last_timer 0
sleeptimer -1
timerdev
timerevent
timerevents
timereventsState
triggerDev
internals:
all AP_GAO_HZG_WPD:STATE OG2_HZR_WPHSD:STATE
readings:
all DeltaSol_M_T11:state OG2_HZG_ATD:state
uiState:
uiTable:
Attributes:
alias OG2 Heizraum - Heizung - Radiator Heizung HKR1 Pumpe A1H Freigabe
devStateStyle style="text-align:left;;font-weight:bold;;"
eventMap /cmd_1:HEIZUNG EIN/cmd_2:HEIZUNG AUS/
group OG2 Heizraum - Heizung
icon sani_pump
room Heizung
sortby 05.02
Irgendwie fehlt mir eine Lösung.
Zeig doch noch ein list DeltaSol_M_T11
list DeltaSol_M_T11
Internals:
CFGFN /media/hdd/fhem/mycfg/resol/deltasol_m_rasp02.cfg
DEF DeltaSol_M:T11
DEVICE DeltaSol_M
FUUID 5c4500fa-f33f-d1e9-ac93-a92a29b1dfe6eec7
NAME DeltaSol_M_T11
NOTIFYDEV global,DeltaSol_M
NR 1341
NTFY_ORDER 50-DeltaSol_M_T11
READING T11
STATE 12.5 °C
TYPE readingsProxy
eventCount 25863
CONTENT:
DeltaSol_M 1
READINGS:
2024-06-12 07:06:22 state 12.5
Attributes:
alias S11 Aussentemperatur
devStateStyle style="text-align:left;;font-weight:bold;;"
fp_SolarThermie 134,273,5,DeltaSol_M_T11,
group OG2 Heizraum - SolarThermie
icon temp_outside
room Heizung,SolarThermie
sortby 01.02
stateFormat {sprintf(
"%.1f °C",
ReadingsNum("$name","state",0))}
Testweise habe ich einen anderen Sonsor eingesetzt. Der cloneDummy Temperatursensor triggert.
Das DOIF nicht triggert, liegt definitiv am readingsProxy Temperatursensor der keinen Trigger auslöst.
Ist der readingsProxy Fehler lösbar?
Ich müsste sonst alles ändern, was ich aber vermeiden möchte!