Hauptmenü

DOIF.. doch wo ist der Fehler?

Begonnen von kotaro, 13 Januar 2019, 19:40:03

Vorheriges Thema - Nächstes Thema

kotaro

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?

Pfriemler

Du triggerst auf Events, die vermutlich nicht alle zugleich eintreffen... ?
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

kotaro

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz