Hallo ich habe ein größeren DOIF gebastelt... leider scheint es nicht zu funktionieren, daher habe ich einen Teilaspekt (vor allem der nicht funktioniert) herausgenommen..
leider funktioniert dieser auch nicht..., und ich weiß nicht wo ich Hilfe finde. könnt ihr mir helfen? Schade ist, das man nicht die einzelnen Wahr/Falsch-Zustände sieht, also was dort mit den aktuellen Bedingungen eingesetzt wird.
Am ende ist WZ_IT_renkforce_4 auf der Fernbedienung, der die anderen 3 über ein notify anschaltet, wenn die anderen 3 aber angeschaltet werden, soll der WZ_IT_renkforce_4 auch auf eingeschaltet werden (Daher vorher Deaktivierung des notify)
(([comac_Blumenfenster:"on"] and [renkforce_Fernseher:"on"] and [renkforce_Schrankwand:"on"]) and [?WZ_IT_renkforce_4:"off"])
(
set n_Lampen_WZ inactive,
set WZ_IT_renkforce_4 on,
set n_Lampen_WZ active
)
DOELSEIF (([comac_Blumenfenster:"off"] or [renkforce_Fernseher:"off"] or [renkforce_Schrankwand:"off"]) and [?WZ_IT_renkforce_4:"on"])
(
set n_Lampen_WZ inactive,
set WZ_IT_renkforce_4 off,
set n_Lampen_WZ active
)
hier das List
Internals:
DEF (([comac_Blumenfenster:"on"] and [renkforce_Fernseher:"on"] and [renkforce_Schrankwand:"on"]) and [?WZ_IT_renkforce_4:"off"])
(
set n_Lampen_WZ inactive,
set WZ_IT_renkforce_4 on,
set n_Lampen_WZ active
)
DOELSEIF (([comac_Blumenfenster:"off"] or [renkforce_Fernseher:"off"] or [renkforce_Schrankwand:"off"]) and [?WZ_IT_renkforce_4:"on"])
(
set n_Lampen_WZ inactive,
set WZ_IT_renkforce_4 off,
set n_Lampen_WZ active
)
MODEL FHEM
NAME test
NR 132
NTFY_ORDER 50-test
STATE initialized
TYPE DOIF
READINGS:
2019-01-13 19:36:59 Device renkforce_Schrankwand
2019-01-13 19:34:05 cmd 0
2019-01-13 19:36:01 e_comac_Blumenfenster_events on
2019-01-13 19:35:54 e_renkforce_Fernseher_events on
2019-01-13 19:36:59 e_renkforce_Schrankwand_events on
2019-01-13 19:34:05 mode enabled
2019-01-13 19:34:05 state initialized
Regex:
condition:
0 (::EventDoIf('comac_Blumenfenster',$hash,'on',1) and ::EventDoIf('renkforce_Fernseher',$hash,'on',1) and ::EventDoIf('renkforce_Schrankwand',$hash,'on',1)) and ::EventDoIf('WZ_IT_renkforce_4',$hash,'off',1)
1 (::EventDoIf('comac_Blumenfenster',$hash,'off',1) or ::EventDoIf('renkforce_Fernseher',$hash,'off',1) or ::EventDoIf('renkforce_Schrankwand',$hash,'off',1)) and ::EventDoIf('WZ_IT_renkforce_4',$hash,'on',1)
devices:
0 comac_Blumenfenster renkforce_Fernseher renkforce_Schrankwand
1 comac_Blumenfenster renkforce_Fernseher renkforce_Schrankwand
all comac_Blumenfenster renkforce_Fernseher renkforce_Schrankwand
do:
0:
0 set n_Lampen_WZ inactive, set WZ_IT_renkforce_4 on, set n_Lampen_WZ active
1:
0 set n_Lampen_WZ inactive, set WZ_IT_renkforce_4 off, set n_Lampen_WZ active
2:
helper:
event on
globalinit 1
last_timer 0
sleeptimer -1
triggerDev renkforce_Schrankwand
triggerEvents:
on
triggerEventsState:
state: on
internals:
itimer:
readings:
trigger:
all comac_Blumenfenster renkforce_Fernseher renkforce_Schrankwand WZ_IT_renkforce_4
uiState:
uiTable:
Attributes:
DbLogExclude .*
Könnt ihr mir helfen?
Du triggerst auf Events, die vermutlich nicht alle zugleich eintreffen... ?
Achso. Ja okay. Nein natürlich nicht.... ich dachte es reicht wenn dir Bedingung zutrifft nicht das alle gleichzeitig geändert werden müssen....
Wir muss ich es umformulieren das es reicht wenn einfach diese Zustände sind?
Viele dank schob mal für eure Hilfe
Hi,
FHEM kann keine parallelen Events. Wenn Du mehrere Bedingungen abfragen willst musst Du normale Vergleiche nehmen:[Gerät] eq "off"
oder Abfrage ohne Trigger [?Gerät] eq "off"
Gruß Otto