Moin,
ich habe mir ein Doif für unsere KWL Anlage gebastelt und würde diese jetzt gerne erweitern mit Luftfeuchtigkeit im Bad und VOC Sensor im Wohnzimmer.
Ich bin mir aber nicht sicher, wie ich dies am besten erweiter.
Vielleicht hat jemand von Euch ja eine Idee oder Verbesserungsvorschlag.
Hier das bisherige Doif:
defmod di_kwlautomatik DOIF ([Garten.Temp:temperature] > 23 and [Eltern:presence] eq "present") \
(set kwl 0)\
DOELSEIF ([Garten.Temp:temperature] < 23 and [Eltern:presence] eq "present") \
(set kwl 1)\
DOELSEIF ([Garten.Temp:temperature] > 24 and [Eltern:presence] eq "absent")\
(set kwl 0)\
DOELSEIF ([Garten.Temp:temperature] < 23 and [Eltern:presence] eq "absent" and [09:00-10:00])\
(set kwl 2)\
DOELSEIF ([Garten.Temp:temperature] < 23 and [Eltern:presence] eq "absent" and [10:01-08:59])\
(set kwl 1)\
DOELSEIF ([Garten.Temp:temperature] > 24 and [Eltern:presence] eq "gone")\
(set kwl 0)\
DOELSEIF ([Garten.Temp:temperature] < 23 and [Eltern:presence] eq "gone")\
(set kwl 1)\
DOELSE
Wie sieht denn die Lösung aus, bei der Du unsicher bist?
Da du nur 3 verschiedene Status hast, reichen eigentlich auch nur 3 DOIF-Zweige. Und DOELSE kannst du weglassen.
Dann ist der erste Fall z.B. nur noch:
DOIF ([Garten.Temp:temperature] > 24) \
(set kwl 0)\
wenn man davon ausgehen darf, dass das eine Grad keinen Unterschied macht.
Wenn du dann noch so sortierst, dass die "seltenen" Fälle, also die mit den meisten Bedingungen vorn sind, kommst du schnell auf einen kurzen Dreizeiler.
Ob das jetzt deinen geplanten Erweiterungen entgegen steht, kann ich aber nicht beurteilen.
Danke, ich werde das mal probieren, für Optimierungen bin ich immer offen.