Hallo zusammen,
ich komme gerade mit meinem DOIF nicht weiter. Ich denke das hier was nicht stimmt:
[G_Zisterne_Fuellstand:distance_cm] > 1
obwohl der Wert kleiner ist als 1 ist wird
G_Zisterne_Pumpe
nicht ausgeschaltet.
([WZ_Fenster_OST_L] eq "open" or
[WZ_Fenster_OST_R] eq "open" or
[WZ_Fenster_SUED_L] eq "open" or
[WZ_Fenster_SUED_R] eq "open" or
[G_Tuer_Huette] eq "off" or
[Hecke_Rasendach] ne "off" or
[Rasen_big] ne "off" or
[Rasen_klein] ne "off" or
[Stahlwand_Rasenvorgarten] ne "off" and
[G_Zisterne_Fuellstand:distance_cm] > 1 )
(set G_Zisterne_Pumpe on) DOELSE (set G_Zisterne_Pumpe off)
Internals:
CFGFN
DEF ([WZ_Fenster_OST_L] eq "open" or [WZ_Fenster_OST_R] eq "open" or [WZ_Fenster_SUED_L] eq "open" or [WZ_Fenster_SUED_R] eq "open" or [G_Tuer_Huette] eq "off" or [Hecke_Rasendach] ne "off" or [Rasen_big] ne "off" or [Rasen_klein] ne "off" or [Stahlwand_Rasenvorgarten] ne "off"and [G_Zisterne_Fuellstand:distance_cm] > 15 ) (set G_Zisterne_Pumpe on) DOELSE (set G_Zisterne_Pumpe off)
MODEL FHEM
NAME di_pumpe_zisterne
NR 13265
NTFY_ORDER 50-di_pumpe_zisterne
STATE cmd_1
TYPE DOIF
READINGS:
2018-09-12 16:54:31 Device G_Zisterne_Fuellstand
2018-09-12 16:54:31 cmd 1
2018-09-12 16:54:31 cmd_event G_Zisterne_Fuellstand
2018-09-12 16:54:31 cmd_nr 1
2018-09-12 16:54:31 e_G_Zisterne_Fuellstand_distance_cm -1.3768115942029
2018-09-12 16:46:18 mode enabled
2018-09-12 16:54:31 state cmd_1
Regex:
attr:
cmdState:
wait:
waitdel:
condition:
0 InternalDoIf($hash,'WZ_Fenster_OST_L','STATE') eq "open" or InternalDoIf($hash,'WZ_Fenster_OST_R','STATE') eq "open" or InternalDoIf($hash,'WZ_Fenster_SUED_L','STATE') eq "open" or InternalDoIf($hash,'WZ_Fenster_SUED_R','STATE') eq "open" or InternalDoIf($hash,'G_Tuer_Huette','STATE') eq "off" or InternalDoIf($hash,'Hecke_Rasendach','STATE') ne "off" or InternalDoIf($hash,'Rasen_big','STATE') ne "off" or InternalDoIf($hash,'Rasen_klein','STATE') ne "off" or InternalDoIf($hash,'Stahlwand_Rasenvorgarten','STATE') ne "off"and ReadingValDoIf($hash,'G_Zisterne_Fuellstand','distance_cm') > 15
devices:
0 WZ_Fenster_OST_L WZ_Fenster_OST_R WZ_Fenster_SUED_L WZ_Fenster_SUED_R G_Tuer_Huette Hecke_Rasendach Rasen_big Rasen_klein Stahlwand_Rasenvorgarten G_Zisterne_Fuellstand
all WZ_Fenster_OST_L WZ_Fenster_OST_R WZ_Fenster_SUED_L WZ_Fenster_SUED_R G_Tuer_Huette Hecke_Rasendach Rasen_big Rasen_klein Stahlwand_Rasenvorgarten G_Zisterne_Fuellstand
do:
0:
0 set G_Zisterne_Pumpe on
1:
0 set G_Zisterne_Pumpe off
helper:
event luminosity: 13.99,distance_cm: -1.3768115942029
globalinit 1
last_timer 0
sleeptimer -1
timerdev G_Zisterne_Fuellstand
timerevent luminosity: 13.99,distance_cm: -1.3768115942029
triggerDev G_Zisterne_Fuellstand
DOIF_eventas:
cmd_nr: 1
cmd: 1
cmd_event: G_Zisterne_Fuellstand
state: cmd_1
timerevents:
luminosity: 13.99
distance_cm: -1.3768115942029
timereventsState:
luminosity: 13.99
distance_cm: -1.3768115942029
triggerEvents:
luminosity: 13.99
distance_cm: -1.3768115942029
triggerEventsState:
luminosity: 13.99
distance_cm: -1.3768115942029
internals:
0 WZ_Fenster_OST_L:STATE WZ_Fenster_OST_R:STATE WZ_Fenster_SUED_L:STATE WZ_Fenster_SUED_R:STATE G_Tuer_Huette:STATE Hecke_Rasendach:STATE Rasen_big:STATE Rasen_klein:STATE Stahlwand_Rasenvorgarten:STATE
all WZ_Fenster_OST_L:STATE WZ_Fenster_OST_R:STATE WZ_Fenster_SUED_L:STATE WZ_Fenster_SUED_R:STATE G_Tuer_Huette:STATE Hecke_Rasendach:STATE Rasen_big:STATE Rasen_klein:STATE Stahlwand_Rasenvorgarten:STATE
itimer:
readings:
0 G_Zisterne_Fuellstand:distance_cm
all G_Zisterne_Fuellstand:distance_cm
trigger:
uiState:
uiTable:
Attributes:
do always
room Garten
Ohne Deine Bedingungen wirklich zu verstehen, rate ich mal: normalerweise muss man den oder Teil Klammern:
(Bed1 or Bed 2) and Bed3
-> http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity
Gruß Otto
danke das war der blöde Fehler :'( ;D