Hallo,
ich möchte mir bedarfsweise eine Benachrichtigung senden lassen, wenn die Außentemperatur auf den Wert der Innentemperatur fällt. Dazu habe ich ein dummy angelegt, mit dem sich die Abfrage an und ausschalten lässt:
define lueften dummy
attr lueften webCmd on:off
Dann habe ich folgendes DOIF definiert:
define doif_lueften DOIF (([aussentemperatur:temperatur] <= [?MYSENSOR_101:temperature]) and ([?lueften] eq "on")) (set telegram send @1111111 Fenster auf)(set lueften off)
attr doif_lueften do always
Ich möchte, dass nur auf die Außentemperatur getriggert wird, da sich diese der Innentemperatur annähert. Zusätzlich soll das DOIF nur ausgeführt werden, wenn der dummy aktiviert wurde.
Jedoch wird DOIF jedes Mal ausgelöst, wenn das Reading "aussentemperatur:temperatur" aktualisiert wird. Was muss ich tun, dass DOIF nur auslöst, wenn die Bedingung Aussentemperatur <= Innentemperatur erfüllt ist?
list doif_lueften
Hallo,
Hier die Ausgabe von list:
Internals:
DEF (([aussentemperatur:temperatur] <= [?MYSENSOR_101:temperature]) and ([?lueften] eq "on")) (set telegram send @145746591 Fenster auf)(set lueften off)
NAME doif_lueften
NR 132
NTFY_ORDER 50-doif_lueften
STATE cmd_1
TYPE DOIF
Readings:
2016-07-01 22:52:16 Device aussentemperatur
2016-07-01 21:02:16 cmd 1.2
2016-07-01 21:02:16 cmd_event aussentemperatur
2016-07-01 21:02:16 cmd_nr 1
2016-07-01 21:02:16 cmd_seqnr 2
2016-07-01 20:35:57 e_MYSENSOR_101_temperature 24.2
2016-07-01 22:52:16 e_aussentemperatur_temperatur 0
2016-07-01 19:45:56 e_lueften_STATE on
2016-07-01 21:02:16 state cmd_1
Condition:
0 (ReadingValDoIf($hash,'aussentemperatur','temperatur','','',AttrVal($hash->{NAME},'notexist',undef)) <= ReadingValDoIf($hash,'MYSENSOR_101','temperature','','',AttrVal($hash->{NAME},'notexist',undef))) and (InternalDoIf($hash,'lueften','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on")
Devices:
0 aussentemperatur
all aussentemperatur
Do:
0:
0 set telegram send @1111112 Fenster auf
1 set lueften off
1:
Helper:
event humidity: 63
globalinit 1
last_timer 0
sleeptimer -1
timerdev aussentemperatur
timerevent humidity: 55
triggerDev aussentemperatur
timerevents:
humidity: 55
timereventsState:
humidity: 55
triggerEvents:
humidity: 63
triggerEventsState:
humidity: 63
Internals:
0 lueften:STATE
all lueften:STATE
Itimer:
Readings:
0 aussentemperatur:temperatur MYSENSOR_101:temperature
all aussentemperatur:temperatur MYSENSOR_101:temperature
Regexp:
0:
All:
State:
Trigger:
Attributes:
do always
[aussentemperatur:temperatur]
fehlt da nicht ein e am Ende von temperatur? Im List wird der Wert auch mit 0 angezeigt.
Hallo,
Oh das stimmt, wie peinlich :o
Manchmal sieht man den Wald vor lauter Bäumen nicht..
Vielen Dank für die Hilfe!