Projekt Be- und Entlüftungsanlage Zehnder ComfoAir 350

Moin aus dem Norden,

ich lebe in einem Passivhaus. Die Be- und Entlüftungsanlage in meinem Fall von Zehnder Modell ComfoAir 350 Luxe ist daher essentiell. Ich habe es geschafft meine Zehnder ComfoAir 350 in das Z-Wave-Netzwerk zu integrieren. Dazu habe ich den Qubino 0-10V Flash Dimmer benutzt und diesen an ein 12V Universalnetzteil und den anlogen 10V Steuereingang meiner Be- und Entlüftungsanlage angeschlossen. Im Ergebnis kann ich jetzt die Be- und Entlüftungsintensität von 0-100 % (entsprechend 0-10V) in der HC2 über den Qubino Dimmer regeln. Das rauszufinden war schon nicht einfach und hat mich einige Recherche und Emails mit dem Kundenservice vom Hersteller gekostet. Der Anschluss an sich war dann wieder sehr einfach.

Jetzt beginnt für mich der schwierigere Teil, denn ich möchte eine automatische Regelung der Anlage erreichen und habe leider von LUA kaum Ahnung. Fibaro liefert dafür wohl auch keine Steuerung. Ich hoffe Ihr könnt mir helfen. Gewünscht ist folgende Funktionsweise:

Ich habe an strategischen Punkten im Haus (z.B. Bäder) Luftfeuchtesensoren aufgestellt. Ich möchte, dass die Lüftungsintensität steigt wenn ein Schwellenwert überschritten wird (>65%) und solange auf erhöhter Stufe gelüftet wird bis sich die Luftfeuchte normalisiert hat (<55%) und kein Anstieg der Luftfeuchte in einer Zeitspanne von 2 Minuten gemessen werden kann.

Im Schlafzimmer werde ich einen CO2-Sensor aufstellen. Das ist bei uns der Ort wo die klimatischen Bedingungen an problematischsten sind. Ich möchte, dass die Lüftungsintensität steigt wenn ein Schwellenwert überschritten wird (Wert noch festzulegen) und solange auf erhöhter Stufe gelüftet wird bis sich der CO2-Gehalt der Luft normalisiert hat und kein Anstieg in einer Zeitspanne von 2 Minuten gemessen werden kann.

Sollte die Außentemperatur über 21 Grad liegen und die Innentemperatur darüber soll die Lüftungsintensität steigen bis sich die Temperaturen angeglichen haben. Hinweis: Meine Lüftungsanlage hat für diesen Fall einen sogenannten Bypass. Es öffnet sich eine Klappe und die Außenluft kann einströmen ohne, dass diese im Wärmetauscher durch die Innenluft erwärmt wird. Dadurch kann eine Kühlung im Sommer erreicht werden.

Außerhalb von Events wie unter 1 bis 3 beschrieben soll ein Wochenkalender zur Steuerung der Anlage gelten, also z.B. Wochentags morgens 7 bis 8 Uhr mittlere Intensität, abends 19-23 Uhr und am Wochenende ganztägig ebenso, wochentags den Rest des Tages aber niedrige Stufe. Es sollte zwei Wochenkalender geben für die Sommer- und Winterzeit, da die Lüftungsanforderungen sich stark unterscheiden. Im Sommer werden die Fenster geöffnet und die Lüftung wird nicht mehr so viel benötigt, im Winter bleiben die Fenster geschlossen.

Das manuelle Setzen einer Lüftungsstufe durch betätigen eines Wandschalters oder eines Softwareschalters in fibaro sollte die automatische Regelung für eine Zeitspanne von z.B. 15 Minuten außer Kraft setzen. Beispiel: Küchengerüche abführen.

Es soll entsprechend der Programmierung der Anlage 4 Intensitätsstufen geben:
A (abwesend) = 16%, 1 = 35%, 2= 50%, 3= 70%. Es wäre praktisch die Definition und das Setzen der Belüftungsstufe in ein gesondertes Programm auszulagern, dann kann dies jederzeit leicht geändert werden. Die Lüftungsstufe könnte man z.B. als globale Variable übergeben und speichern.

Es würde mich sehr freuen wenn Ihr gute Ideen und Vorschläge für die Umsetzung habt. Wie geschrieben tue ich mich sehr schwer mit der Programmierung von LUA. Mit einer entsprechenden Vorlage würde ich mich vermutlich deutlich leichter tun.
Ich weiß aus anderen Foren, dass viele derartige Anlagen in Ihr Smarthome integrieren wollen und sich – wie ich – etwas überfordert fühlen.

Schon mal vielen Dank.

Ich habe jetzt angefangen den Punkt 1 über Blockszenen zu realisieren. Das Hochregeln der Lüftungsanlage klappt auch prima, nur das Runterregeln nicht. Mir ist unklar woran das liegen kann. Die Szene sind im Prinzip identisch. Hier mal der LUA Code: ID 206 ist der Luftfeuchtesensor und ID 198 der Dimmer den ich zur Lüftungssteuerung verwende.

--[[
%% properties
206 value
%% weather
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if(startSource["type"] == "other") then
	fibaro:call(198, "setValue", "35");
else
if (( tonumber(fibaro:getValue(206, "value")) < 55 )) then
setTimeout(function()
local delayedCheck0 = false;
local tempDeviceState0, deviceLastModification0 = fibaro:get(206, "value");
if (( tonumber(fibaro:getValue(206, "value")) < 55 ) and (os.time() - deviceLastModification0) >= 60) then
	delayedCheck0 = true;
end

local startSource = fibaro:getSourceTrigger();
if (
 ( delayedCheck0 == true )
or
startSource["type"] == "other"
)
then
	fibaro:call(198, "setValue", "35");
end
end, 60000)
end
end

Die Szene wird nicht getriggert obwohl der Luftfeuchtesensor im Testzeitraum mehrfach Werte unter 55% gemeldet hat. Woran kann das liegen?

Erwartete Funktion wäre: Wenn der Luftfeuchtesensor mehr als 60 Sekunden weniger als 55% meldet soll die Lüftungsanlage auf 35% eingestellt werden.

Danke vorab.

Hallo n8flight,

sorry… aber ich glaube nicht, dass dir hier jemand deine (wirklich komplexe) Anforderungen für ein Danke programmiert. Die obige Szene ist eigentlich falsch, weil sie von Hand ausgeführt immer hochregeln würde. Ich würde dazu gerne mal die Block Szene sehen.
Bei deinem Szenario musst du auch immer die Revidation im Auge behalten. Der Aufwand für deine Wünsche liegt locker bei einem Tag.

Hallo @DeMaulwurfn,

ich habe nicht erwartet, dass mir hier jemand eine fertige Lösung präsentiert. Ich habe selbst einige Programmiererfahrung, aber das ist jetzt schon Jahre her und mit LUA kenne ich mich bisher nicht aus. Klar könnte ich mich jetzt vom Hello World bis zum Atomraktenabwehrsystem durch die LUA Programmierung arbeiten, aber das würde Monate dauern.

Die Idee war daher hier mein Projekt vorzustellen und möglichst viele Codeschnipsel einzusammeln die mir den Start vereinfachen. Da bisher noch nichts kam habe ich jetzt mal angefangen Blockszenen zu generieren und mir anzuschauen wie der Code dazu aussieht. Der obige Code ist übrigens komplett durch Fibaro generiert. Ich habe nichts verändert. Die Blockszene füge ich bei, meine HC2 läuft auf Software 4.110. Es wäre nett wenn Du helfen kannst. Vielen Dank.

Hier noch die Blockszene zum hochregeln der Anlage. Die Szene funktioniert einwandfrei.

Hey n8flight!

Genau das habe ich befürchtet (mit der Szene)!

Dann lasse uns wenigstens bitte mit der echten Basis beginnen.
Bitte führe auf, wie viele Räume, mit wie vielen Sensoren gesamt geregelt werden sollen.

Zudem musst du noch eine Hardware-Veränderung vornehmen.
Dazu benötigst du einen UBS (Universal Binär Sensor) und 4 Temperatursensoren

Den benötigen wir um die Anlage gesamt mit Fibaro auswerten zu können. Wir brauchen alle 4 Temperaturen der Anlage
Temp - Luft Eingang extern
Temp - Luft Ausgang extern
Temp - Luft Eingang intern
Temp - Luft Eingang intern

Servus,

ich habe lediglich zwei Bäder mit jeweils einem Luftfeuchtesensor und einen zentralen CO2 Sensor. Das ist völlig ausreichend. Die Anlage regelt ja das ganze Haus, eine Einzelraumregelung gibt es nicht. Die Sensoren sind daher in den Räumen angeordnet in denen eine Überschreitung der definierten Grenzwerte am ehesten auftritt.

Wofür brauche ich die ganzen Temperatursensoren an der Lüftungsanlage? Die Außentemperaturen kommen per Wettersensor oder wie im Moment einfach per Wetterdienst. Das ist m.E. genau genug. Und die Eingangs- und Ausgangstemperaturen werden doch eh durch den Wärmetauscher angeglichen. Da gibt es keine großen Unterschiede. Wenn man diesen Vorgang kontrollieren möchte kann man das sinnvoll eh nur über den RS232 der Anlage und entsprechende Software tun. Die Anlage hat ja bereits entsprechende Sensoren. Aber wofür brauche ich in Fibaro diese Angaben?