Ich liebe DOIF, und doch scheine ich häufig zu blöd dazu.
Ich habe ein DOIF, welches bei zu kalt oder warm triggern soll.
2019-01-26 10:59:27.928 dummy ts_kind BME280_Temperature: 19.4
Ein Test per checkall klappt wie ich will. Aber er triggert sonst nicht.
Mein DOIF
Internals:
DEF ([?#"^ts_":BME280_Temperature: $_ < 16] != 0 or [?#"^ts_":BME280_Temperature: $_ > 24] != 0) ( set telebot message Es ist zu kalt in folgenden Zimmern [@"^ts_":BME280_Temperature:$_ < 16,"keine"] oder zu warm [@"^ts_":BME280_Temperature:$_ > 24,"keine"])
MODEL FHEM
NAME di_temps_sinnig
NR 252
NTFY_ORDER 50-di_temps_sinnig
STATE initialized
TYPE DOIF
READINGS:
2019-01-26 10:57:07 cmd 0
2019-01-26 10:57:07 mode enabled
2019-01-26 10:57:07 state initialized
Regex:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::AggregateDoIf($hash,'#','^ts_','BME280_Temperature',' $_ < 16') != 0 or ::AggregateDoIf($hash,'#','^ts_','BME280_Temperature',' $_ > 24') != 0
devices:
do:
0:
0 set telebot message Es ist zu kalt in folgenden Zimmern [@"^ts_":BME280_Temperature:$_ < 16,"keine"] oder zu warm [@"^ts_":BME280_Temperature:$_ > 24,"keine"]
1:
helper:
globalinit 1
last_timer 0
sleeptimer -1
itimer:
uiState:
uiTable:
Attributes:
do always
ZitatAber er triggert sonst nicht.
Kein Wunder, Du hast ihn abgeschaltet.
Ich seh's nicht. Du darfst mich erleuchten ::)
Hab grad in der commandref gesehen wie es auch geht. Ist zwar dann ohne Aggregation und die Meldungen kommen einzeln aber das sollte eh der Sonderfall sein.
([":^BME280_Temperature",0]< 16) (set telebot message kalt im Zimmer $DEVICE)
In der deutschsprachigen Befehlsreferen gibt ein einen Punkt ...ohne Trigger, ich spare mir das hier nachzuerzählen.