Seite 1 von 1

[V4.0 IP5] KWL Lüftungssteuerung anhand Luftfeuchte und CO2

Verfasst: Sa Dez 30, 2023 11:39 pm
von hans4711
Hallo Zusammen,

ich habe mir einen umfangreiche Lüftungssteuerung für meine zentrale Kontrollierte WohnraumLüftungen (KWL) gebaut.
Die Lüftungsteuerung erfolgt nach Luftfeuchte und dem Co2 Wert um eine möglichst gute Luftqualität zu bekommen.
Prio ist eine gute Luftqualität in Form von geringen CO2 Werten, dann eine passsende Luftfeuchtigkeit.

Vielleicht ist das ja für jemanden hier interessant.

Was wird gemacht:
* Die Prüfung findet pro Raum statt, im Anschluss werden die Werte zusammengefasst und die Lüftungsstufe ermittelt.
* Wenn die Luftfeuchte im Raum >60% und die Zuluft der KWL trockener ist ODER die Luftfeuchte <45% und die Zuluft der KWL feuchter ist, wird lüften empfohlen.
* Sollten die Grenzwerte von >60% und <45% erreicht werden, die Zuluft aber zu trocken bzw. zu feucht ist, wird Lüften verboten, da dadurch die Luftqualität noch schlechter wird.
* Ist die Luftfeuchte im Raum >45% und <60%, die Luftqualität also gut, kann gelüftet werden, muss aber nicht, dieser Raum hat für die nachfolgende Bewertung damit keine Bedeutung
* Ist die Luftfeuchte im Raum >80% oder der CO2 Wert über 1000 gibt es eine Zwangslüftung welche die andere Bewertung überstimmt.
* Die Logik ist "Lüftungsunfreundlich", d.h. wenn der optimale Wert erreicht ist wird die Lüftung runtergeregelt, würden sich Räume verschlechtern wird nicht gelüftet obwohl es Räume gibt die gelüftet werden sollten.

Es können pro Raum die Luftfeuchte und CO2 angegeben werden. Es sind aber nicht beide Werte nötig.
Die Luftfeuchtigkeit kann in Form der absoluten Luftfeuchte oder dem Taupunkt übergeben werden.

Aufbau:
Die Raumauswertung besteht aus 16 Logikmodulen, daher habe ich diese in eine Custom-Logik zusammengefasst. Pro Raum wird einmal die Custom-Logik benötigt. Die Gesamtauswertung erfolgt dann mit den Standard-Logiken. Dadurch kann die Anzahl der Räume frei bestimmt werden und es muss keine Custom-Logik angepasst werden.

Das Ergebnis ist eine Steuerung von Stufe 0-3. Damit kann z.B. in meinem Fall eine Zehnder Q350 über ein KNX Modul angesteuert werden


Hier die komplette Logik:
Bild


Hier der Code für die Custom Logik:

Code: Alles auswählen

/**
 * Im Standard wird die Lüftung auf Abwesend betrieben.
 * Bedingungen wie erhöhte Luftfeuchte oder zu geringe Luftfeuchte oder erhöhte Co2 Werte beeinflussen die Lüftungsstufe
 * Wenn aber alles im grünen Bereich ist oder durch die Lüftung die Luftfeuchte zu weit absinkt, zu stark ansteigt wird die Luftungstufe reduziert
 * Es muss nicht Luftfeuchte und CO2 berechnet werden. Ein Wert von beiden reicht
 */

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00",
    "Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
  },
  "Input": [
        ["Luftfeuchtigkeit Raum","Luftfeuchtigkeit des Raums","$feuchteRaum","c" ],
        ["Taupunkt Raum","Taupunktemperatur des Raums","$taupunktRaum","c" ],
        ["Taupunkt Zuluft","Taupunkttemperatur des Raums","$taupunktZuluft","c" ],
        ["co2Ist","Co2 Wert des Raums","$co2Ist","c" ]
  ],
  "Output": [
        ["Lüften sinnvoll","Lüften sinnvoll","$outLueftenSinnvoll","a"],
        ["Lüften egal","Lüften egal","$outLueftenEgal","a"],
        ["Zwangslueftung","zwangslueftung","$outZwangslueftung","a"]
        
  ],
  "Level": [
        //Ein/Ausgänge
        ["$feuchteRaum","float",0.0],
        ["$taupunktRaum","float",0.0],
        ["$taupunktZuluft","float",0.0],
        ["$co2Ist","float",0.0],
        ["$outLueftenSinnvoll","bool", false],
        ["$outLueftenEgal","bool", false],
        ["$outZwangslueftung","bool", false],
        
        //Variablen für Berechnung
        ["$feuchte>60","bool", false],
        ["$feuchte<45","bool", false],
        ["$feuchte>45","bool", false],
        ["$feuchte<60","bool", false],
        ["$feuchte>80","bool", false],
        ["$feuchteeintrag","bool", false],
        ["$keinFeuchteeintrag","bool", false],
        ["$co2>800","bool", false],
        ["$co2>1000","bool", false],
        
        ["$schwellwert60","float", 60],
        ["$schwellwert45","float", 45],
        ["$schwellwert80","float", 80],
        ["$schwellwert800","float", 800],
        ["$schwellwert1000","float", 1000],
        
        
        //Variablen Zwischenergebnisse
        ["$randbereich60gut","bool", false],
        ["$randbereich45gut","bool", false],
        ["$optimalbereich","bool", false],
        ["$lueftenSinnvoll","bool", false]
        
  ],
  "Module": [
        ["Comparator" , "$feuchteRaum" , "$feuchte>60" , "$schwellwert60"],
        ["Comparator" , "$feuchteRaum" , "-$feuchte<45" , "$schwellwert45"],
        ["Comparator" , "$feuchteRaum" , "$feuchte>80" , "$schwellwert80"],
        
        ["Comparator" , "$feuchteRaum" , "$feuchte>45" , "$schwellwert45"],
        ["Comparator" , "$feuchteRaum" , "-$feuchte<60" , "$schwellwert60"],
        
        ["Comparator" , "$taupunktRaum" , "$keinFeuchteeintrag" , "$taupunktZuluft"],
        ["Comparator" , "$taupunktZuluft" , "$feuchteeintrag" , "$taupunktRaum"],
        ["Comparator" , "$co2Ist" , "$co2>800" , "$schwellwert800"],
        ["Comparator" , "$co2Ist" , "$co2>1000" , "$schwellwert1000"],
        ["And", ["$feuchte>60", "$keinFeuchteeintrag"], "$randbereich60gut"],   //Randbereich durch Lüften verbessern möglich?
        ["And", ["$feuchte<45", "$feuchteeintrag"], "$randbereich45gut"],       //Randbereich durch Lüften verbessern möglich?
        ["And", ["$feuchte>45", "$feuchte<60"], "$optimalbereich"],             //opitmaler Bereich erreicht?
        ["And", ["$feuchte>45", "$feuchte<60"], "$outLueftenEgal"],             //Nochmal die gleiche Prüfung für den Ausgang
        ["Or", ["$randbereich60gut", "$randbereich45gut"], "$lueftenSinnvoll"], //Macht es sinn die den Raum zu Lüften oder würde sich die Qualität verschlechtern?
        ["Or", ["$lueftenSinnvoll", "$optimalbereich"], "$outLueftenSinnvoll"],    //
        ["Or", ["$feuchte>80", "$co2>1000"], "$outZwangslueftung"]
      
  ]
}
Bild
Hier die benötigten Standardbausteine
Bild
Bild
Bild
Bild
Bild

Verbesserungsmöglichkeiten:
* Annäherung der Lüftungsstufe an das Optimum, nicht nur Vorgabe einer Stufe
* Ab CO2 800 Lüftungsstufe optional wenn keine Lüftungssperre, erhöhen
* Grenzwerte der Zwangslüftung als Eingang definieren
* Einbauen einer Schalthysterese
* Gewichtung der Raumergebnisse, müssen viele Räume gelüftet werden, kann eine Lüftungssperre eines einzelnen Raums überstimmt werden

Re: [V4.0 IP5] KWL Lüftungssteuerung anhand Luftfeuchte und CO2

Verfasst: Sa Dez 30, 2023 11:53 pm
von gbglace
Hui ja da haben sich ja die Woche "Kampf" mit dem Logikeditor gelohnt.

Re: [V4.0 IP5] KWL Lüftungssteuerung anhand Luftfeuchte und CO2

Verfasst: So Dez 31, 2023 4:25 am
von dali
Hallo Hans,

super, vielen Dank dafür!
Eine Verständnisfrage: mit "Lüftung" meinst du das Erhöhen der Stufe der KWL, richtig? Nicht das klassische Lüften durch Fenster öffnen?

Danke und LG,
Dali

Re: [V4.0 IP5] KWL Lüftungssteuerung anhand Luftfeuchte und CO2

Verfasst: So Dez 31, 2023 7:03 am
von Robert_Mini
Wow - das ist mal ein Einstieg in Custom Logiken!
Danke für‘s Teilen und umfassend beschreiben.

Lg
Robert

Re: [V4.0 IP5] KWL Lüftungssteuerung anhand Luftfeuchte und CO2

Verfasst: Mi Jan 03, 2024 11:53 am
von hans4711
Die Logik läuft jetzt seit einigen Tagen stabil. Ich habe jedoch den Intervall der letzten Logik welche die Lüftungsstufe setzt auf 5 Min. gesetzt. Es passiert folgendes: Mit niedrigerer Lüftungsstufe ist vermutlich die Effizenz der Feuchterückgewinnung besser (Entalpiewärmetauscher), daher wird die Zuluft feuchter und die Logik meldet lüften. Sobald die Lüftungsstufe auf 2 erhöht wird wird die Zuluft wieder trockener und die Logik meldet "nicht lüften". Hat jemand eine Idee wie ich das smarter machen kann? Evtl. erst mit Stufe 1 beginnen und wenn dann die Werte immer noch passen auf Stufe 2 sonst wieder auf Stufe 1 oder dann Stufe 0.
dali hat geschrieben: So Dez 31, 2023 4:25 am mit "Lüftung" meinst du das Erhöhen der Stufe der KWL, richtig? Nicht das klassische Lüften durch Fenster öffnen?
Ja, man könnte die customlogik jedoch auch für das Fensterlüften benutzen, die Zuluft wäre dann halt die Aussenluft und man benötigt die nachfolgende Logik nicht mehr da jeder Raum extra betrachtet werden kann, bzw. dann einfach manuell die Fenster geöffnet werden wo Lüften sinnvoll ist.

Re: [V4.0 IP5] KWL Lüftungssteuerung anhand Luftfeuchte und CO2

Verfasst: Mi Jan 03, 2024 12:23 pm
von blaubaerli
Hallo Hans,

noch mal Hut ab, vor dem was du hier so zauberst! :handgestures-thumbupright:

Wir haben hier einen gesonderten Bereich im Forum für potentiell der Allgemeinheit dienliche Logiken.

Wenn du magst, können wir die auch dorthin verschieben.

Wenn du sie offiziell den anderen Foristen zur Nutzung anbieten möchtest, dann sollte dazu noch ein entsprechender Lizenzverweis beigefügt werden.

Danke. :handgestures-salute:

Beste Grüße
Jens