NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

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

Diskussionen über Zeitserien, Logging und Auswertung mit Grafana
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS, CometVisu, Grafana, Edomi oder eine andere Software beteiligt ist, dann auch immer deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
hans4711
Reactions:
Beiträge: 97
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 34 Mal
Danksagung erhalten: 56 Mal

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

#1

Beitrag 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
Zuletzt geändert von hans4711 am Sa Dez 30, 2023 11:39 pm, insgesamt 1-mal geändert.
3500 XL ID:1339

gbglace
Reactions:
Beiträge: 3615
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1272 Mal
Danksagung erhalten: 1674 Mal

#2

Beitrag von gbglace »

Hui ja da haben sich ja die Woche "Kampf" mit dem Logikeditor gelohnt.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

dali
Reactions:
Beiträge: 76
Registriert: Di Feb 04, 2020 12:23 pm
Wohnort: Österreich
Hat sich bedankt: 175 Mal
Danksagung erhalten: 48 Mal

#3

Beitrag 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
TWS 3500XL ID:1052, VPN offen, Reboot erlaubt

Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#4

Beitrag von Robert_Mini »

Wow - das ist mal ein Einstieg in Custom Logiken!
Danke für‘s Teilen und umfassend beschreiben.

Lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
hans4711
Reactions:
Beiträge: 97
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 34 Mal
Danksagung erhalten: 56 Mal

#5

Beitrag 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.
3500 XL ID:1339

blaubaerli
Reactions:
Beiträge: 2325
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 898 Mal
Danksagung erhalten: 700 Mal

#6

Beitrag 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
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Bitte WIKI lesen.
Antworten

Zurück zu „Zeitserien, Logging & Grafana“