Hallo habe hier ein $SELF DOIF, aber der Sensor wird ignoriert,
defmod DOIF_DLD_Tuer_aufschliessen_abschliessen DOIF ([$SELF:AUF]) \
(set dummy2 on)\
DOELSEIF\
([$SELF:ZU] and [Sensor_Tuer_Terrasse] eq "open")\
(set dummy2 off)
attr DOIF_DLD_Tuer_aufschliessen_abschliessen cmdState AUF|ZU
attr DOIF_DLD_Tuer_aufschliessen_abschliessen do always
attr DOIF_DLD_Tuer_aufschliessen_abschliessen setList AUF ZU
attr DOIF_DLD_Tuer_aufschliessen_abschliessen webCmd AUF:ZU
Es wird einfach geschaltet egal welchen Status der Sensor hat.
Geht das nicht oder habe ich einen Fehler in meinem DOIF?
Gruß Patrick
Wenn du mit Set schaltest, werden die Bedingungen ignoriert.
Mehr kann ich aus dem Konstrukt nicht herauslesen.
Mit [$SELF:AUF] reagierst du auf das Reading namens "AUF" egal was da drin steht.
Wenn du auf das Ereignis "AUF" reagieren willst, dann muss du es in Anführungszeichen angeben: [$SELF:"AUF"]
Hey, aber trotzdem scheint es mir so das der Türssensor ignoriert wird, er schaltet egal welcher Zustand der Sensor hat. Meine Heizung wird auch von dem Sensor gesteuert. aber halt nicht mit einem $SELF Befehl.
Alternativ habe ich einen Dummy als trigger benutzt, damit geht es natürlich, aber ich wollte mir den dummy sparen :)
Durch deine Definition wird bei AUF set cmd_1 ausgeführt und bei ZU set cmd_2 ohne die Bedingung auszuwerten
Du kannst statt über einen Dummy über ein Reading gehen:
defmod DOIF_DLD_Tuer_aufschliessen_abschliessen DOIF ([$SELF:button] eq "AUF") \
(set dummy2 on)\
DOELSEIF\
([$SELF:button] eq "ZU" and [Sensor_Tuer_Terrasse] eq "open")\
(set dummy2 off)
attr DOIF_DLD_Tuer_aufschliessen_abschliessen cmdState AUF|ZU
attr DOIF_DLD_Tuer_aufschliessen_abschliessen do always
attr DOIF_DLD_Tuer_aufschliessen_abschliessen readingList button
attr DOIF_DLD_Tuer_aufschliessen_abschliessen setList button:AUF,ZU
attr DOIF_DLD_Tuer_aufschliessen_abschliessen webCmd button
Perfekt Damian, danke für deine tolle Arbeit :) So funktioniert es.