7. Programmierung

Das System:

Die gesamte Programmierung habe ich in iOBroker realisiert. An meinem Raspi hängt ja auch der Z-Wave Dongle, mit dem ich die Aktoren anspreche, die wiederum die Inventer Regler steuern.
Die CO2 Sensoren senden ihre Daten via Wlan an iObroker und verwenden den MQTT Adapter.
Die Skripte (Programme) erstelle ich im iOBroker mit Blockly - das ist wie Logikpuzzleteilchen in einem Flussdiagramm zusammen schieben. Man muss also nicht direkt im Javascript Code herum manschen. Man kann sich visuell auf die gewünschte Logik seiner Skripte konzentrieren - eine feine und praktische Sache.

Für die Bedienung, z.B. via Smartphone, nutze ich die Visualisierung von Jarvis, die ich wegen ihrer Schlichtheit sehr schätze:

Inventer 0-10V Regelstufen via analogen Eingang

Der schon häufiger erwähnte analoge 0-10V Eingang der Inventer Regler gliedert sich in folgende Stufen zur Ansteuerung:

FunktionSteuerspannungLeistung %
Durchlüftung Stufe 40,00 V ≤ U ≤ 0,25 V100 %
Durchlüftung Stufe 30,75 V ≤ U ≤ 1,25 V50 %
Durchlüftung Stufe 21,75 V ≤ U ≤ 2,25 V35 %
Durchlüftung Stufe 12,75 V ≤ U ≤ 3,25 V25 %
AUS3,75 V ≤ U ≤ 4,25 V 
Wärmerückgewinnung Stufe 14,75 V ≤ U ≤ 5,25 V25 %
Wärmerückgewinnung Stufe 25,75 V ≤ U ≤ 6,25 V35 %
Wärmerückgewinnung Stufe 36,75 V ≤ U ≤ 7,25 V50 %
Wärmerückgewinnung Stufe 47,75 V ≤ U ≤ 8,25 V100 %

Wie man dieser Tabelle entnehmen kann, gibt es für das System zwei Modi:

  • Wärmerückgewinnung: die Lüfter arbeiten im Pendelbetrieb (Reversierbetrieb) und wechseln alle 70 Sekunden die Richtung um den Wärmetauscher auf- oder zu entladen.
  • Durchlüftung: die Lüfter wechseln nicht mehr die Richtung, ein Lüfter zieht dauerhaft Luft an, einer bläst dauerhaft die Luft raus. Dadurch werden die Wärmetauscher außer Funktion gesetzt. 

In jedem Modus gibt es wiederum 4 Stufen: 25, 35, 50 und 100% Leistung. Und die Schaltstufe "Aus" um das System komplett abzuschalten. Praktisch für z.B. Wartungs- Reinigungsarbeiten.
Womit wir ingesamt 9 Regelstufen für das System haben.

Die Logik:

Meine CO2 Sensoren übermitteln ihre Werte minütlich an das System. Sobald ein neuer Wert eingetroffen ist, vergleiche ich die beiden Werte eines Lüfterpaars (z.B. Wohnzimmer und Schlafzimmer) und schreibe den größeren Wert für die Regelung in eine Variable.

Blockly Skript zum ermitteln des höchsten CO2 Werts in einem Lüfterpaar
Blockly Skript zum ermitteln des höchsten CO2 Werts in einem Lüfterpaar

Diese Variable wird gegen Schwellwerte (die ebenfalls für eine einfachere Findungs- und Einstellphase als Variablen abgelegt sind) abgeglichen. Daraufhin wird die gewünschte Lüftungsstärke per analogen Eingang an die Inventerregler geschaltet.

Variablen für die CO2 Schwellwerte und für den analogen Eingang der Inventer Regler

Für den heißen Sommer kommt noch eine weitere Regelgröße hinzu: die Temperatur.
Für diese Betriebsart gibt es eine weitere Variable: "Durchlüften kühlen" (siehe Screenshot oben). 
Hier gleiche ich die Außentemperatur (Netatmo) mit der Innentemperatur ab. Solange es draußen wärmer als in der Wohnung ist, bleibt die Anlage im Modus Wärme(Kühle)rückgewinnung und regelt ganz normal auf Basis der CO2 Werte. Sobald es Nachts draußen kühler als in der Wohnung ist, schaltet die Anlage in den Durchlüftungsmodus mit maximaler Leistung. 

Stichwort "maximale Leistung":
Also die Anlage volle Kanone auf 100% laufen zu lassen. Tagsüber ist es OK, zum schlafen ist es uns aber doch zu laut. 
Deshalb habe ich zeitgesteuerte Variablen eingebaut, namens "Bettzeit" (siehe Screenshot oben). Je eine für die Erwachsenen und für die Kinder um auch das getrennt regeln zu können. Bei den Kindern wird sie ab 20 Uhr aktiv, bei den Erwachsenen ab 22 Uhr und bremst die Anlage auf maximal 50% ein - unbenommen der aktuellen CO2 Werte oder des Durchlüftungsbetriebs im Sommer. Bei 50% können wir alle noch gut schlafen. Ab 6:30 darf die Anlage wieder bis 100% gehen.
Zusätzlich gibt es zwei Schalter "Bettzeit Override" (für Kinder und Erwachsene), der die Einbremsung auf 50% umgeht, so lange er aktiv ist. Praktisch für den Sommer, wenn man z.B. Nachts länger auf dem Balkon sitzt, eh noch nicht schläft, das System aber gerne schon volle Lotte die kühle Luft anschnorcheln soll. Ebenso im Winter, wenn man am Wochenende Gäste hat - die entsprechend viel CO2 erzeugen. 

Die Küche:
Wie bereits an anderer Stelle erwähnt, ist für mich in der Küche nicht CO2 die entscheidende Regelgröße, sondern die Luftfeuchtigkeit. 
Sobald der Wert höher als 55% ist, vergleiche ich die Luftfeuchtigkeit der Küche mit der Luftfeuchtigkeit des Wohnzimmers (die Räume grenzen aneinander). Bei einer Differenz von 4% lasse ich den Twin Lüfter in der Küche auf voller Leistung laufen. 
Ein fixer Schwellwert ergibt für mich wenig Sinn, da es je nach Wetter und Jahreszeit Schwankungen gibt. 
Zusätzlich ermittle ich via Schaltsteckdose die aufgenommene Leistung unserer Dunstabzugshaube. Wenn die länger als 3 Minuten läuft wird gekocht - und der Twin ebenfalls voll aufgerissen.

Die Klimaanlage:
Im Sommer lassen wir unsere Monoblock Klimaanlage an sehr heißen Tagen laufen. 
Damit wir keine Fenster öffnen müssen, darf die Klimaanlage ihre heiße Abluft durch die vorhandene Kernbohrung der Dunstabzugshaube (die ich auf Umluft umgerüstet habe) nach draußen befördern. Eine entsprechende Verbindungsbohrung habe ich zwischen Küche und Wohnzimmer geschaffen, inklusive Flansch zum anschließen des Abluftschlauchs.
Wie die meisten dieser Anlagen verfügt sie über eine Infrarotfernbedienung. 
Da wir auch eine Harmony Fernbedienung inklusive Hub haben, die ich auch von iOBroker ansprechen kann, habe ich diese Schaltung ebenfalls automatisiert. 
Die Bedingungen zum einschalten sind ganz grob gesagt:
Die Variable "Klimaanlage zuschalten" ist auf 1, Durchlüften ist auf 0.
So wird die Klimanlage nur zugeschaltet, wenn die Anlage nicht eh schon im Durchluftbetrieb ist.
Durch den Umstand, dass ich die Klimaanlage nur per Infrarot schalten kann und entsprechend keinen Rückkanal über den State habe, musste ich mir etwas bauen. 
Hier habe ich nun die Klimaanlage an einer smarten Steckdose (Shelly Plus Plug S) und kann über die Leistungsaufnahme prüfen, ob die Klima nun läuft oder nicht. Wichtig falls wir nicht Zuhause sind. 

Klimaanlagen Skript mit Verbrauchsmessung und Prüfung ob sie läuft oder nicht

 

Hier geht es weiter mit: 8. Fazit

Dieser Artikel wurde aktualisiert am Mittwoch, 1 November 2023