Hallo zusammen,
ich probiere mich gerade an einem DOIF das ich so in der Zusammensetzung noch nicht hatte. Das Problem ist nicht die Bedingung sondern das der Auslöser in PERL (?) geschrieben ist..
Bedingung ist diese die passt meiner Meinung nach auch:
([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
Es soll immer wenn die Feuchte über 55% steigt ausgelöst werden, das nur im Zeitraum von 8 bis 22:30
Jetzt kommt der Auslöser der auch so funktioniert wenn ich ihn ohne "set" in die FHEM Kommandozeile eingebe
{helios_req_level("KWL_EG_KG",4,15)}
Zusammen als DOIF funktioniert das ganze aber nicht....
([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
{helios_req_level("KWL_EG_KG",4,15)}
Ich weiss die Lösung ist wahrscheinlich sehr einleuchtend für die meisten aber ich bekomme es nicht hin. Weder mit einem "set" davor noch mit "{fhem"
Auf den ersten Blick gehören da runde Klammern drum und evtl. auch ein Semikolon ab Ende.
([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
({helios_req_level("KWL_EG_KG",4,15);})
Zitat von: Adimarantis am 28 September 2021, 21:39:53
Auf den ersten Blick gehören da runde Klammern drum und evtl. auch ein Semikolon ab Ende.
([08:00-22:30] and [ELW_Bad_Sensor:humidity] >55)
({helios_req_level("KWL_EG_KG",4,15);})
Das dürfte unerheblich sein.
Bitte immer List vom vermeintlich nicht funktionierenden Fall posten.
Hier mal ein list vom DOIF. Runde Klammern brauchten keine Besserung....
Internals:
CFGFN
DEF ([08:00-19:30] and [ELW_Bad_Sensor:humidity] >70)
({helios_req_level("KWL_EG_KG",4,15);})
FUUID 61521801-f33f-f7a6-0a6b-f528731fb087eca7
MODEL FHEM
NAME DOIF_ELW_Badentfreuchtung
NOTIFYDEV global,ELW_Bad_Sensor
NR 351
NTFY_ORDER 50-ELW_Badentfeuchtung_DOIF
STATE cmd_2
TYPE DOIF
VERSION 24905 2021-09-01 18:35:54
Helper:
DBLOG:
cmd:
DBLogging:
TIME 1632862462.60227
VALUE 2
cmd_event:
DBLogging:
TIME 1632862462.60227
VALUE ELW_Bad_Sensor
cmd_nr:
DBLogging:
TIME 1632862462.60227
VALUE 2
mode:
DBLogging:
TIME 1632858274.0952
VALUE enabled
state:
DBLogging:
TIME 1632862462.60227
VALUE cmd_2
READINGS:
2021-09-29 16:43:48 Device ELW_Bad_Sensor
2021-09-28 22:54:22 cmd 2
2021-09-28 22:54:22 cmd_event ELW_Bad_Sensor
2021-09-28 22:54:22 cmd_nr 2
2021-09-29 16:43:48 e_ELW_Bad_Sensor_humidity 61
2021-09-28 21:44:34 mode enabled
2021-09-28 22:54:22 state cmd_2
2021-09-28 21:44:34 timer_01_c01 29.09.2021 08:00:00
2021-09-28 21:44:34 timer_02_c01 29.09.2021 19:30:00
Regex:
accu:
collect:
cond:
ELW_Bad_Sensor:
0:
humidity ^ELW_Bad_Sensor$:^humidity:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::DOIF_time($hash,0,1,$wday,$hms) and ::ReadingValDoIf($hash,'ELW_Bad_Sensor','humidity') >70
days:
do:
0:
0 {helios_req_level("KWL_EG_KG",4,15);}
1:
helper:
DEVFILTER ^global$|^ELW_Bad_Sensor$
NOTIFYDEV global|ELW_Bad_Sensor
event humidity: 61,T: 20.4 H: 61
globalinit 1
last_timer 2
sleeptimer -1
timerdev ELW_Bad_Sensor
timerevent humidity: 61,T: 20.4 H: 61
triggerDev ELW_Bad_Sensor
timerevents:
humidity: 61
T: 20.4 H: 61
timereventsState:
humidity: 61
state: T: 20.4 H: 61
triggerEvents:
humidity: 61
T: 20.4 H: 61
triggerEventsState:
humidity: 61
state: T: 20.4 H: 61
internals:
interval:
0 -1
1 0
intervalfunc:
intervaltimer:
localtime:
0 1632895200
1 1632936600
readings:
all ELW_Bad_Sensor:humidity
realtime:
0 08:00:00
1 19:30:00
time:
0 08:00:00
1 19:30:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1632936600:
localtime 1632936600
hash:
uiState:
uiTable:
Attributes:
icon helper_doif
room 30_ELW,92_DOIF
([08:00-19:30] and [ELW_Bad_Sensor:humidity] >70)
Da steht 70 und nicht 55.
2021-09-29 16:43:48 e_ELW_Bad_Sensor_humidity 61
...ist kleiner als 70.
Mit set DOIF_ELW_Badentfreuchtung cmd_1 kannst du die Ausführung auch direkt testen.