Hallo,
kann mir jemand sagen warum mein DOIF auf CMD 4 steht und nicht auf CMD 2 wie ich bei den Werten erwarten würde?
Gruß
Eisix
Internals:
DEF ([Luefter:state] eq "auto" and [Sensor_BAD_OG:humidity:dd] ge "60") (setreading Luefter stufe 4)
DOELSEIF ([Luefter:state] eq "auto" and [Sensor_BAD_OG:humidity:dd] le "60" and [Wetter:windchill] le "10" and [Wetter:wind] ge "20" and [Wetter:wind] lt "30") (setreading Luefter stufe 1)
DOELSEIF ([Luefter:state] eq "auto" and [Sensor_BAD_OG:humidity:dd] le "60" and [Wetter:windchill] le "5" and [Wetter:wind] ge "30") (setreading Luefter stufe 0)
DOELSE (setreading Luefter stufe 2)
NAME Steuerung.Luefter
TYPE DOIF
VERSION 18706 2019-02-23 21:48:22
READINGS:
2019-03-04 14:50:51 Device Luefter
2019-03-04 14:50:51 cmd 4
2019-03-04 14:50:51 cmd_event Steuerung.Luefter
2019-03-04 14:50:51 cmd_nr 4
2019-03-04 14:39:00 e_Luefter_state auto
2019-03-04 13:07:45 e_Sensor_BAD_OG_humidity 46 %
2019-03-04 13:32:28 e_Wetter_wind 25.2
2019-03-04 13:32:28 e_Wetter_windchill 3.1
2019-03-04 12:48:30 mode enabled
2019-03-04 14:50:51 state cmd_4
Regex:
accu:
attr:
cmdState:
wait:
0:
1200
1:
0
2:
0
3:
0
waitdel:
condition:
0 ::ReadingValDoIf($hash,'Luefter','state') eq "auto" and ::ReadingValDoIf($hash,'Sensor_BAD_OG','humidity','','dd') ge "60"
1 ::ReadingValDoIf($hash,'Luefter','state') eq "auto" and ::ReadingValDoIf($hash,'Sensor_BAD_OG','humidity','','dd') le "60" and ::ReadingValDoIf($hash,'Wetter','windchill') le "10" and ::ReadingValDoIf($hash,'Wetter','wind') ge "20" and ::ReadingValDoIf($hash,'Wetter','wind') lt "30"
2 ::ReadingValDoIf($hash,'Luefter','state') eq "auto" and ::ReadingValDoIf($hash,'Sensor_BAD_OG','humidity','','dd') le "60" and ::ReadingValDoIf($hash,'Wetter','windchill') le "5" and ::ReadingValDoIf($hash,'Wetter','wind') ge "30"
devices:
0 Luefter Sensor_BAD_OG
1 Luefter Sensor_BAD_OG Wetter
2 Luefter Sensor_BAD_OG Wetter
all Luefter Sensor_BAD_OG Wetter
do:
0:
0 setreading Luefter stufe 4
1:
0 setreading Luefter stufe 1
2:
0 setreading Luefter stufe 0
3:
0 setreading Luefter stufe 2
helper:
event stufe: 2
globalinit 1
last_timer 0
sleeptimer -1
timerdev
timerevent stufe: 1
triggerDev Luefter
DOIF_eventas:
cmd_nr: 4
cmd: 4
cmd_event: Steuerung.Luefter
state: cmd_4
timerevents:
stufe: 1
timereventsState:
stufe: 1
triggerEvents:
stufe: 2
triggerEventsState:
stufe: 2
internals:
itimer:
perlblock:
readings:
0 Luefter:state Sensor_BAD_OG:humidity
1 Luefter:state Sensor_BAD_OG:humidity Wetter:windchill Wetter:wind
2 Luefter:state Sensor_BAD_OG:humidity Wetter:windchill Wetter:wind
all Luefter:state Sensor_BAD_OG:humidity Wetter:windchill Wetter:wind
trigger:
uiState:
uiTable:
Attributes:
room Luefter
wait 1200:0:0:0
ich würde erst mal die operatoren für zahlen verwenden. also anstatt ge > usw.
Vergleichende Abfragen werden in der Bedingung, mit Perl-Operatoren ==, !=, <, <=, >, >= bei Zahlen und mit eq, ne, lt, le, gt, ge, =~, !~ bei Zeichenketten angegeben.
Vielleicht bringt das ja schon was, und von dem Sensor_BAD dings mal ein List am besten
Werde ich mal umstellen. Der Wind wurde gerade stärker und seltsamerweise funktioniert es in dem Zweig.
Internals:
DEF ([Luefter:state] eq "auto" and [Sensor_BAD_OG:humidity:dd] ge "60") (setreading Luefter stufe 4)
DOELSEIF ([Luefter:state] eq "auto" and [Sensor_BAD_OG:humidity:dd] le "60" and [Wetter:windchill] le "10" and [Wetter:wind] ge "20" and [Wetter:wind] lt "30") (setreading Luefter stufe 1)
DOELSEIF ([Luefter:state] eq "auto" and [Sensor_BAD_OG:humidity:dd] le "60" and [Wetter:windchill] le "5" and [Wetter:wind] ge "30") (setreading Luefter stufe 0)
DOELSE (setreading Luefter stufe 2)
MODEL FHEM
NAME Steuerung.Luefter
NR 494
NTFY_ORDER 50-Steuerung.Luefter
STATE cmd_3
TYPE DOIF
VERSION 18706 2019-02-23 21:48:22
READINGS:
2019-03-04 15:29:59 Device Wetter
2019-03-04 15:29:59 cmd 3
2019-03-04 15:29:59 cmd_event Wetter
2019-03-04 15:29:59 cmd_nr 3
2019-03-04 15:17:58 e_Luefter_state auto
2019-03-04 13:07:45 e_Sensor_BAD_OG_humidity 46 %
2019-03-04 15:29:59 e_Wetter_wind 32.4
2019-03-04 15:29:59 e_Wetter_windchill 2
2019-03-04 12:48:30 mode enabled
2019-03-04 15:29:59 state cmd_3
OK das hat geklappt.
Danke!
Eisix