Hallo,
ich versuche ein Lüftungssteuerung mit DOIF und TRESHOLD zu bauen. Wenn gewisse Co2-Grenzwerte überschritten sind, soll FHEM jeweils in die entsprechende Stufe schalten:
Zuerst ein dummy-Schalter zum ein/ausschalten der Automatik.:
define Auto.Schalter.Lueften dummy
attr Auto.Schalter.Lueften alias Lueftungsautomatik
attr Auto.Schalter.Lueften devStateIcon on:10px-kreis-gruen off:10px-kreis-rot
attr Auto.Schalter.Lueften setList on off
Ohne ein Device zum Schalten anzugeben, scheint die Hysterese bei THRESHOLD nicht zu funktionieren. Daher hier der "dooferdummy" - ohne sonstige Funktion.:
define dooferdummy dummy
Die THRESHOLD-Devices. Funktionieren wie gewünscht. Ist der Messwert unterschritten: on, wird der entsprechende Messwert überschritten: off.:
define Auto.Wert.Lueften.Co2.Wohnen.2 THRESHOLD Umwelt.Co2.Wohnen:state:100:700 dooferdummy||||off:on
define Auto.Wert.Lueften.Co2.Schlafen.2 THRESHOLD Umwelt.Co2.Schlafen:state:100:700 dooferdummy||||off:on
define Auto.Wert.Lueften.Co2.Wohnen.3 THRESHOLD Umwelt.Co2.Wohnen:state:100:850 dooferdummy||||off:on
define Auto.Wert.Lueften.Co2.Schlafen.3 THRESHOLD Umwelt.Co2.Schlafen:state:100:850 dooferdummy||||off:on
define Auto.Wert.Lueften.Co2.Wohnen.4 THRESHOLD Umwelt.Co2.Wohnen:state:100:1000 dooferdummy||||off:on
define Auto.Wert.Lueften.Co2.Schlafen.4 THRESHOLD Umwelt.Co2.Schlafen:state:100:1000 dooferdummy||||off:on
Vermutlich liegt hier irgendwo das Problem, per DOIF versuche ich die passende Stufe zu setzen. Der set-Befehl an sich funktioniert auch. Bei einem Test ging die Lüftung auf Stufe 4, springt dann eine Weile zwischen 4 und 2 hin und her, danach zwischen 3 und 1, dann 2 und 1 um schließlich sich bei 1 einzupendeln obwohl noch noch Auto.Wert.Lueften.Wohnen.2 und 3 gesetzt waren. Der Co2-Wert war in dieser Zeit auch konstant fallend ohne Sprünge:
define Auto.Funktion.Lueften DOIF ([Auto.Schalter.Lueften] ne "on") \
DOELSEIF ([Auto.Wert.Lueften.Co2.Wohnen.4] eq "off" or [Auto.Wert.Lueften.Co2.Schlafen.4] eq "off") (set Lueftung.Wert.Stufe value 50 g2) \
DOELSEIF ([Auto.Wert.Lueften.Co2.Wohnen.3] eq "off" or [Auto.Wert.Lueften.Co2.Schlafen.3] eq "off") (set Lueftung.Wert.Stufe value 37 g2) \
DOELSEIF ([Auto.Wert.Lueften.Co2.Wohnen.2] eq "off" or [Auto.Wert.Lueften.Co2.Schlafen.2] eq "off") (set Lueftung.Wert.Stufe value 25 g2) \
DOELSE (set Lueftung.Wert.Stufe value 12 g2)
attr Auto.Funktion.Lueften cmdState off|4|3|2|1
Viele Grüße
Guna
Hallo,
die mehreren THRESHOLD auf das gleiche Gerät würden mich stören. Was ist, wenn Du das nur mit DOIF aufbaust ? Statt der Hysterese könnte man ein delay nehmen.
Also
DOIF ([Umwelt.CO2.Wohnen] > 1000 or [Umwelt.CO2.Schlafen] > 1000) (set Lüfter Stufe 4)
DOELSEIF ([Umwelt.CO2.Wohnen] > 850 or [Umwelt.CO2.Schlafen] > 850) (set Lüfter Stufe 3)
DOELSEIF ([Umwelt.CO2.Wohnen] > 700 or [Umwelt.CO2.Schlafen] > 700) (set Lüfter Stufe 2)
.....
attr Name_des_DOIF delay 6000
Gruß Christoph
Es gibt bezüglich Lüftungssteuerung und TRESHOLD einen tollen Wikieintrag. Nur mal so am Rande erwähnt ;)
delay gibt einen Fehler aus, aber mit "attr DOIF-DEVICE wait 0:5:5:5:5" funktioniert es. Auch wenn mir eine Lösung mit Hysterese besser gefallen hätte.
Den Wikibeitrag finde ich nicht. Eine Suche nach Lüftung ergibt nur die Kategorie "Klima und Lüftung", dadrin gibt es nur einen Beitrag zu einer Lüftung die aber nur "an/aus" kennt, keine Stufen. Die Suche nach Threshold liefert auch nichts was mir weitergeholfen hätte :-/.
Sory war die CommandRef
Beispiele für Belüftungssteuerung:
Einfache Belüftung anhand der Luftfeuchtigkeit:
Es soll gelüftet werden, wenn die Feuchtigkeit im Zimmer über 70 % ist; bei 60 % geht der Lüfter wieder aus.
define TH_hum THRESHOLD sens:humidity:10:70 ventilator|set @ on|set @ off|1
Belüftung anhand des Taupunktes, abhängig von der Luftfeuchtigkeit innen:
Es soll gelüftet werden, wenn die Luftfeuchtigkeit im Zimmer über 70 % ist und der Taupunkt innen höher ist als außen.
define TH_hum THRESHOLD sens:humidity:10:70||||on:off|_sc
define dewpoint dewpoint indoor
define dewpoint dewpoint outdoor
define TH_room THRESHOLD indoor:dewpoint:0:outdoor:dewpoint AND TH_hum:state:on ventilator|set @ on|set @ off|2
Belüftung in Kombination mit einem Lichtschalter mit Nachlaufsteuerung: siehe DOIF-Modul.