Frage zum Script zur Steuerung einer Lüftungsanlage

Hallo,

ich habe eine Lüftungsanlage, die ich über IPS steuern kann. Dazu hängt ein HomeMatic-Aktor an der Lüftungsanlage, über die ich die Lüftungsstufen und den Bypass steuern kann.

Über 1Wire-Sensoren habe ich Temperaturen ausgelesen und möchte nun die Bypass-Steuerung abhängig von der Jahreszeit automatisieren.

Dazu habe ich folgendes Script gebaut.
Die Original-Steuerung funktioniert so:

Bypass öffnet wenn eine der Bedingungen erfüllt ist:

a) Abluft > Bypasstemperatur
b) Aussentemperatur < Ablufttemperatur
c) Aussentemperatur > Mindest-Aussentemperatur (bei mir auf 10 Grad eingestellt)

Der Bypass schließt wenn er geöffnet ist und eine der Bedingungen erfüllt ist:

d) Abluft < als Bypasstemperatur die um 2 Grad reduziert ist (bei mir ist das die Bypass_Temperatur_reduziert)
e) Aussentemperatur < Mindest-Aussentemperatur

Zusätzlich lasse ich 2x im Jahr die Variable „Sommerbetrieb“ auf True oder False setzen, um im Winter den Bypass sicher geschlossen zu halten, und damit die Wärmerückgewinnung aktiv zu haben. Im Sommer darf der Bypass gerne geschlossen werden, falls die Abluft zu kalt wird.

<?
$Bypass_Temperatur = "25,0";                                        // gewünschte Raumtemperatur;
$Bypass_Temperatur_reduziert = "23,0";                              // reduzierte Bypasstemperatur zur Laufzeitsicherung des Bypasses
$Mindest_Aussentemperatur = "10,0";                                 // minimale Aussentemperatur; 
$Aussenluft = 38339;                                                // Variable für Außentemperatur
$Aussenluft_aktuell = GetValueFloat(38339);                         // aktuelle Außentemperatur
$Abluft = 48456;                                                    // Variable für Ablufttemperatur
$Abluft_aktuell = GetValueFloat(48456);                             // aktuelle Ablufttemperatur
$Zuluft = 53040;                                                    // Variable für Zulufttemperatur
$Zuluft_aktuell = GetValueFloat(53040);                             // aktuelle Zulufttemperatur
$Aktor_Bypass = 52155;                                              // Variable für Bypassstatus
$Aktor_Bypass_aktuell = GetValueBoolean(36803);                     // aktueller Bypassstatus
$Sommerbetrieb = GetValueBoolean(17793);                            // Prüfung ob Sommer- oder Winterhalbjahr

if ($Aktor_Bypass_aktuell = false){                               // Bedingungen für Öffnung des Bypass, nur im Sommerhalbjahr aktiv
    if ($Sommerbetrieb = true) 	{                               // Prüfung auf Sommerhalbjahr
		if ($Abluft_aktuell > $Bypass_Temperatur) {
			HM_WriteValueBoolean(52155,"STATE",true);               // Bypass öffnen
		}
		elseif ($Aussenluft_aktuell < $Abluft_aktuell) {
			HM_WriteValueBoolean(52155,"STATE",true);               // Bypass öffnen
		}	
	}
   else HM_WriteValueBoolean(52155,"STATE",false);                 // im Winter Bypass geschlossen halten
	}

elseif ($Aktor_Bypass_aktuell = true){                           // Bypass schließen
    if ($Sommerbetrieb = true) {                                  // Prüfung auf Sommerhalbjahr
	    if ($Abluft_aktuell < $Bypass_Temperatur_reduziert) {
	    	HM_WriteValueBoolean(52155,"STATE",false);              // Bypass schließen
	        }
      }
    else HM_WriteValueBoolean(52155,"STATE",false);
}
?>

Das Skript an sich funktioniert, allerdings klappt das mit der Abfrage des Sommerbetriebes nicht.
Ich habe die Variable aktuell auf „false“, damit müsste der Bypass schließen - tut er aber nicht.

Wo steckt denn mein Fehler?

In der If Zeile 2 Gleichheitszeichen, würde ich mal versuchen.
Gruß Helmut

Das war einfach - muss man aber auch wissen :slight_smile:

Danke, funktioniert!

Alles ist einfach, wenn man(n) es weiß :wink:

Was für eine Lüftungsanlage steuerst Du und ginge das grundsätzlich mit den Anlagen?
Ich frage, da die Entscheidung bei mir bald abstehen könnte.
Grüße
Matthias

Es ist eine Helios KWL 370 Eco. Mein Schwager hat dazu eine Platine gebaut, die man an die Anschlussbox der KWL klemmt. Dort kann man den Bypass regeln, die Stufen direkt im Klemmkasten an der Seite.

Die neueren Modelle haben direkt ein Webinterface, vielleicht geht das bei denen auch darüber.

Bei der Vallox 90se gibt es einen 0-10V Eingang (habs aber noch nicht getestet). Ich glaube es war hier im Forum aber auch einer an der RS-485 dran. habs gefunden…

Hallo Peter,
auch wenn ich dieses Thema dadurch wieder aufleben lasse.
Mich würde diese Platine für die Helios ECO 370 interessieren.
Gäbe es dazu nähere Unterlagen?
Ansonsten muss ich selbst Forschung betreiben.
Gerne auch in einem eigenen Thread.

Hallo,

das ganze geht auf einen Thread im knx-user-forum.de zurück:

https://knx-user-forum.de/forum/öffentlicher-bereich/gebäudetechnik-ohne-knx-eib/28618-helios-kwl-warten-auf-die-neuen-2013er-modelle?p=535551#post535551

ich hab das für mich etwas angepasst und erweitert. Bei meiner Schaltung habe ich dann auch noch die Kontroll-LED (Power, Wartung) wie im Original und jeweils eine LED für die aktuelle Stufe ergänzt.

Im Prinzip bekommt die Originalsteuerung (Schiebeschalter) 24V vom Lüftungsgerät. Mit einem Spannungsregler werden daraus konstante 10V. Dann folgt ein einfacher Spannungsteiler mit zwei Widerständen. In der Anleitung zum Lüftungsgerät ist eine Tabelle, die angibt, welche Spannung welchem Volumenstrom entspricht.

Ich habe das dann an vier Kanälen eines KNX-Aktors hängen und kann damit fünf Lüftungsstufen schalten. Die Wartungs-LED lässt dich durch mehrfaches schnelles umschalten der Stufe 1 und 5 zurücksetzen.

In der angehängten zip-Datei habe ich dir meine Schaltung und eine Tabelle zum Ausrechnen der erforderlichen Widerstände angehängt. In der Tabelle steht auch die Pin-Belegung des RJ11-Steckers.

Gruß
Tobias

Steuerung Helios.zip (1,1 MB)

1 „Gefällt mir“