MAICO KWL-Geräte WS 160, 320, 470, 170 KB / WR 310, 410 / WS 75 Powerbox / WS 300 Flat

1. Einleitung

1.1 Zielsetzung

Die Komfortlüfter - auch kontrollierte Wohnraumlüftung (KWL) genannt - der Firma MAICO sollen möglichst einfach in eine Loxone Steuerung integriert werden. Der Betrieb soll über die Loxone Oberfläche gesteuert werden oder soll sich auf Grund der vorhandenen Sensoren oder Betriebszustände selbständig dem Benutzerverhalten anpassen.

1.2 Voraussetzungen

Diese Erläuterungen basieren auf Erfahrungen mit dem Modell WS 170 KBL (@Max Felser).

Diese Komfortlüfter verfügen in der Grundausrüstung über eine eingebaute Modbus-RTU Schnittstelle. Wenn der Loxone Miniserver schon über eine Modbus Extension verfügt, kann diese Zweidrahtleitung mit dem KWL Gerät verbunden werden. Ab der Firmware Version 1.1.1 hat die MAICO KWL in der FW einen Modbus-TCP Zugriff über die vorhandene Ethernet Schnittstelle eingebaut. Damit kann das KWL Gerät ohne zusätzliche Hardware-Erweiterungen direkt über Ethernet in Loxone integriert werden. Die Funktionalität der beider Modbus Schnittstellen ist identisch.

1.3 Upgrade der FW

Sollte auf dem MAICO Komfortlüfter eine ältere Version als V1.1.1 ohne Modbus-TCP installiert sein, kann man die neuste Version selber installieren. Man besorgt sich die neuste Version der KWL Inbetriebnahme Software  und installiert diese auf dem PC.

http://www.maico-ventilatoren.com/service/downloads/

In dieser KWL Inbetriebnahme Software (ab Version 2.0) ist auch die notwendige Firmware vorhanden. PC und KWL-Geräte mittels USB-Kabel verbinden und das KWL Update Tool über Desktop-Icon starten. Verbindung zum KWL-Gerät herstellen und die Datei „KWL Update V1.1.1.Image“ (oder neuer) auswählen. Update Starten. Es braucht etwa 5 Minuten um die Firmware zu aktualisieren, alle eingestellten Parameter bleiben dabei erhalten.

1.4 KWL Gerät im IP Netzwerk integrieren

Um das KWL Gerät über IP zugreifen zu können, muss die IP Adresse des KWL Gerätes bekannt sein. Default ist die Adresse 192.168.1.100 fest eingestellt. Über die Webseite des KWL Gerätes (user: admin, kein Passwort erforderlich) kann unter Einstellungen eine andere, feste IP Adresse eingegeben werden. (Alternativ kann das Einrichten der Netzwerkeinstellungen auch über die Inbetriebnahmesoftware unter Einstellungen – Internet durchgeführt werden). Sollte der Loxone Miniserver und das KWL Gerät nicht in demselben Netzwerk sein, muss zwingend der Default Gateway richtig angegeben werden.

Alternativ kann die Adresse auch über einen DHCP Server zugewiesen werden. In diesem Fall muss der DHCP Server immer die gleiche, bekannt IP Adresse zuweisen oder die Namensauflösung erlauben. Der Namen des KWL Gerätes ist „maicokwl“. Somit kann die Webseite des KWL Gerätes mit http://maicokwl aufgerufen werden.

1.5 KWL Gerät in Loxone integrieren

Um das MAICO KWL Gerät in Loxone Config einzubauen kann man das Template verwenden:

Man kopiert diese Datei in das Verzeichnis der Templates und startet Loxone Config.

1. In der Loxone Config unter "Miniserverkommunikation" einen Modbusserver hinzufügen.

2. Den Modbus Server entsprechend auf die Adresse des KWL Gerätes einstellen.

Adresse: „IP des KWL“:502

Adresse: maicokwl:502

3. Das Template sollte nun unter „Sensoren und Aktoren“ – „Vordefinierte Geräte“ als „Maico Lüfter“ erscheinen und kann eingefügt werden:

Im Template sind die hier erwähnten Register schon vordefiniert. Weitere Datenpunkte können angefügt werden. Die komplette Liste der Modbus Register und die Wertebereiche findet man hier:

KWL+WS Steuerung+Modbus+Parameterbeschreibung+RTU+TCP 21-07-02.pdf (danke der Firma Maico diese Liste hier veröffentlichen zu dürfen)

Damit die Aktoren und Sensoren einfacher in der Beschreibung gefunden werden können, beginnen deren Bezeichnung mit der Hunderter Zahl der Modbus Register Nummer.

Temperaturen und auch relative Feuchtigkeit werden in den Modbus Registern gerne in Zehntel Grad oder Zehntel % angegeben. Dies kann einfach bei der Definition der Modbus Datenpunkte korrigiert werden. Hier das Einlesen der Temperatur der Abluft als Beispiel:

2. Kontrolle der Temperatur

2.1 Jahreszeit

Die Regelung auf Raum-Solltemperatur ist nur in Verbindung mit einem Nachheizregister möglich.

Zusätzlich hat das KWL Gerät auch zwei Jahreszeiten (Register 552): Sommer (Registerwert = 1) und Winter (Registerwert = 0). Diese Umschaltung kann in Loxone einfach automatisiert werden:

Im Sommer wird, wenn die Temperatur (T-Raum) einen maximalen Wert (T-Raum max. Register 302) überschreitet, ein Bypass aktiviert damit der Wärmetauscher deaktiviert ist und eine Kühlung der Wohnung erfolgt. Mit welcher minimalen Zulufttemperatur, die Raumkühlung in diesem Fall erfolgen darf, kann mit dem Parameter T-Zuluft min (Register 301) vorgegeben werden. Der Bypassbetrieb wird, entweder bei Unterschreiten von T-Raum < T-Raum mx. -1K oder bei AUL-Temperatur >= T-Raum automatisch beendet.

2.2 Anzeige der Temperaturen

Die verschiedenen Temperaturen können überwacht werden:

Bei den Einstellungen wird festgelegt, welche Quelle als Raum Referenz Temperatur verwendet wird. Dies kann über Register 109 eingestellt werden. Bei einer externen Raum Referenz Temperatur aus Loxone wird somit Register 109 auf 1=Extern gesetzt und im Register 701 die aktuelle Temperatur geschrieben. Diese sollte dann im Register 700 erscheinen.

3. Kontrolle des Volumenstroms

Es gibt drei Möglichkeiten den Volumenstrom des KWL von Maico zu kontrollieren:

1. Manuelle Auswahl einer Lüftungsstufe

2. Auto Sensor Betrieb mit am Lüfter angeschlossenen Sensoren

3. Auto Sensor Betrieb mit an Loxone angeschlossenen Sensoren

3.1 Manuelle Auswahl einer Lüftungsstufe

Das KWL Gerät wird auf die Betriebsart (Register 550) „Manuell“ (1) gestellt. Mit der Lüftungsstufe kann anschliessend ausgewählt werden ob der Nennwert (3), Reduziert (2) oder Intensiv (4) gelüftet werden soll.

Die Lüftungsstufe kann über das Schreiben des Modbus Register 554 aus Loxone verstellt werden. Diese Schreibbefehle können nun manuell über die Bedienoberfläche oder basierend auf den Loxone Betriebszuständen „Abwesend“ oder „Party“ kann der KWL auf „Reduziert“ respektive auf „Intensiv“ gestellt werden.

Mit dem Setzen des Registers 551 auf (1) kann eine Stosslüftung – eine „intensive“ Lüftung für eine in den Einstellungen (Dauer Lüftungsstufe - Register 153) festgelegte Zeit - ausgelöst werden.

3.2 Auto Sensor Betrieb mit am Lüfter angeschlossenen Sensoren

Beim KWL Gerät von MAICO können optional zusätzliche Sensoren für relative Luftfeuchtigkeit und/oder CO2 Gehalt der Raumluft direkt am Lüftungsgerät angeschlossen werden. Das KWL Gerät muss dazu in der Betriebsart (Register 550) „Auto Sensor“ (3) betrieben werden. Bei den Einstellungen wird der Installateur die verdrahteten Sensoren konfigurieren. Diese gemessenen Werte der Sensoren können aus dem KWL Gerät herausgelesen werden. Die entsprechenden Register findet man in der oben verlinkten Tabelle.

In der Betriebsart „Auto Sensor“ kann wie im manuellen Betrieb die Lüftungsstufe (Register 554) verstellt werden. Wird die Einstellung während aktivem „Auto Sensor“ verstellt, ist diese zeitbegrenzt aktiv (Dauer Lüftungsstufe - Register 153). Nach Ablauf der Eingestellten Zeit wird das Geräte wieder an Abhängigkeit der Sensorwerte betrieben.

3.3 Auto Sensor Betrieb mit an Loxone angeschlossenen Sensoren

Wenn man die Messwerte für CO2 und relative Luftfeuchtigkeit schon im Loxone Miniserver hat, kann man diese Werte auch dem KWL Gerät übergeben, das in der Folge den Luftstrom stufenlos steuert.

Dazu schreiben wir den im Loxone Miniserver vorhandenen Wert für relative Feuchtigkeit auf den Sensor r.F. extern (Register 763) und den Wert der Luftqualität (LQ) extern (Register 764) mit dem vorhandenen Wert in ppm.



In meinem Aufbau verwende ich für die relative Feuchtigkeit den Mittelwert von mehreren Loxone-Tree Tastern. Für den CO2 Wert nehme ich den Wert von meiner Netatmo Station (@Max Felser).

Das KWL Gerät steuert nun den Luftstrom zwischen „Reduziert“ und „Intensiv“ linear zu den Werten des CO2 Bereiches anhand der hinterlegten Grenzwerte.

Zusätzlich kann man auch die relative Feuchtigkeit für eine lineare Steuerung heranziehen. Dazu muss man in den Einstellungen auf dem KWL Gerät den „Betrieb Kombisensor“ auf „linear“ stellen. Mit den Grenzwerten bestimmt man in welchem Bereich die Luft linear gesteuert werden soll.

Das KWL Gerät verwendet nun den Maximalwert aus Feuchte und LQ-Sensoren, um den Luftstrom zu bestimmen.

Eine Umstellung der Lüftungsstufen sollte jetzt nicht mehr notwendig sein, da der Luftstrom auf Grund der Luftqualität linear angepasst wird .

4. Komfortfunktionen

Mit dem Einsatz von Bausteinen können die Informationen und Funktionen des Maico KWL noch besser ausgenutzt werden.

Dieses Projekt wird als Beispiel zur Verfügung gestellt und wird in den weiteren Abschnitten genauer beschrieben.

Demo Komfortlüftung MAICO.Loxone

4.1 Wartung der Filter

Das KWL Gerät verfügt über Luftfilter für die Zuluft und Abluft. Diese müssen in definierten Intervallen ausgewechselt werden. Diese Intervalle werden in den Einstellungen des KWL Geräts eingestellt und mit den effektiven Betriebszeiten überwacht. Wenn diese Zeit abläuft, soll nun auch der Anwender über Loxone informiert werden. Zusätzliche kann der optionale Aussenfilter und/oder der optionale Raumfilter auch überwacht werden.

Dazu kann man ein einfachen Statusbaustein verwenden, um den Ablauf der Standzeiten der Filter zu überwachen. Ein Auswechseln des Filters wird mit einem Aktorbefehl quittiert und damit die Standzeit des entsprechenden Filters neu gesetzt. Dazu kann zum Status „Filterwechsel“ auch die virtuellen Taster für die Rücksetzung der Filter direkt verlinken als „verlinkte Bausteine“.

4.2 Hinweise und Fehlermeldungen

Das KWL Gerät liefert Hinweise zum Betriebszustand und Fehlermeldungen über Betriebsstörungen.  Diese Hinweise und Fehlermeldungen sind in einem Bitmuster abgelegt, wobei jedes Bit einen Hinweis oder eine Fehlermeldung umfasst. Die Bedeutung dieser Bit ist in der Tabelle der Modbus Register abgelegt.

Die Umsetzung mit einem Baustein mit einzelnen Bit und Statusmeldungen wird sehr umfangreich. Eine Lösung mit einem Pico-C Programm ist dagegen eher eine schlanke Lösung und kommt mit nur drei Bausteinen zurecht,

Mit dem Programm Baustein im Beispielprogramm kann dieser Fehler decodiert und als Text dargestellt werden. Dazu wird ein einfaches Pico-C Programm verwendet:

Programm für Fehlermeldungen und Hinweise
// write program here in PicoC #define BIT0 0x01 #define BIT1 0x02 #define BIT2 0x04 #define BIT3 0x08 #define BIT4 0x10 #define BIT5 0x20 #define BIT6 0x40 #define BIT7 0x80 #define BIT8 0x100 #define BIT9 0x200 #define BIT10 0x400 #define BIT11 0x800 #define BIT12 0x1000 #define BIT13 0x2000 #define BIT14 0x4000 #define BIT15 0x8000 char szFehler[512]; char szHinweis[512]; int nFL,nFH,nHL,nHH; int nEvents; setoutputtext(0,"Keine Fehlermeldung"); setoutputtext(1,"Kein Hinweis"); while(TRUE){ nEvents = getinputevent(); // Anzeige Fehlermeldungen if (nEvents & 0x18){ nFL = getinput(0); nFH = getinput(1); if ((nFL == 0) && (nFH == 0)){ szFehler = "Keine Fehlermeldung"; } else { szFehler = ""; if (nFL & BIT0) strcat(szFehler," (0) Ventilator Zuluft"); if (nFL & BIT1) strcat(szFehler," (1) Ventilator Abluft"); if (nFL & BIT2) strcat(szFehler," (2) Sensor T-Lufteintritt"); if (nFL & BIT3) strcat(szFehler," (3) Sensor T-Zuluft"); if (nFL & BIT4) strcat(szFehler," (4) Sensor T-Fortluft"); if (nFL & BIT5) strcat(szFehler," (5) Sensor T-Raum BDE"); if (nFL & BIT6) strcat(szFehler," (6) Sensor T-Raum"); if (nFL & BIT7) strcat(szFehler," (7) Sensor T-Aussenluft vor EWT"); if (nFL & BIT8) strcat(szFehler," (8) Bypass"); if (nFL & BIT9) strcat(szFehler," (9) Zonenklappe"); if (nFL & BIT10) strcat(szFehler," (10) Kombisensor"); if (nFL & BIT11) strcat(szFehler," (11) Frostschutz"); if (nFL & BIT12) strcat(szFehler," (12) Externe Vorheizung"); if (nFL & BIT13) strcat(szFehler," (13) Zuluft zu kalt"); if (nFL & BIT14) strcat(szFehler," (14) Abluft zu kalt"); if (nFL & BIT15) strcat(szFehler," (15) Sensor T-Raum Bus"); if (nFH & BIT0) strcat(szFehler," (16) Kommunikation ZP1"); if (nFH & BIT1) strcat(szFehler," (17) Kommunikation ZP2"); if (nFH & BIT3) strcat(szFehler," (19) Kommunikation BDE"); if (nFH & BIT4) strcat(szFehler," (20) Systemspeicher"); if (nFH & BIT5) strcat(szFehler," (21) Systembus"); if (nFH & BIT3) strcat(szFehler," (22) unbekannt"); } setoutputtext(0,szFehler); } // Anzeige Hinweise if (nEvents & 0x60){ nHL = getinput(2); nHH = getinput(3); if ((nHL == 0) && (nHH == 0)){ szHinweis = "Kein Hinweis"; } else { szHinweis = ""; if (nHL & BIT0) strcat(szHinweis," (0) Sole-Ewt Kühlleistung zu gering"); if (nHL & BIT1) strcat(szHinweis," (1) Kommunikation EnOcean"); if (nHL & BIT2) strcat(szHinweis," (2) Kommunikation KNX"); if (nHL & BIT3) strcat(szHinweis," (3) Kommunikation air@home"); if (nHL & BIT4) strcat(szHinweis," (4) Bypass aktiv"); if (nHL & BIT5) strcat(szHinweis," (5) Zonenlüftung aktiv"); if (nHL & BIT6) strcat(szHinweis," (6) Frostschutz aktiv"); if (nHL & BIT7) strcat(szHinweis," (7) Volumenstromreduzierung"); if (nHL & BIT8) strcat(szHinweis," (8) Tstensperre aktiv"); if (nHL & BIT9) strcat(szHinweis," (9) Filtermeldung Gerätefilter"); if (nHL & BIT10) strcat(szHinweis," (10) Filtermeldung Aussenfilter"); if (nHL & BIT11) strcat(szHinweis," (11) Filtermeldung Raumfilter"); if (nHL & BIT12) strcat(szHinweis," (12) Volumenstrommessung aktiv"); if (nHL & BIT13) strcat(szHinweis," (13) Überfeuchtungsschutz aktiv"); if (nHL & BIT14) strcat(szHinweis," (14) Nacherwärmung aktiv"); if (nHL & BIT15) strcat(szHinweis," (15) Türkontaktschalter ausgelöst"); if (nHH & BIT0) strcat(szHinweis," (16) Betriebsunterbrechung"); if (nHH & BIT2) strcat(szHinweis," (17) Zwangslauf aktiv"); if (nHH & BIT3) strcat(szHinweis," (18) Kommunikation Modbus"); if (nHH & BIT4) strcat(szHinweis," (19) Schalttest aktiv"); if (nHH & BIT5) strcat(szHinweis," (20) Initialisierung aktiv"); if (nHH & BIT6) strcat(szHinweis," (21) Sollwert Druckkonstanz nicht erreicht"); } setoutputtext(1,szHinweis); } sleep(100); }

Dazu wird einfach der Programmbaustein im Beispielprogramm in die aktuelle Konfiguration kopiert und die 4 Register der Fehlermeldungen und Hinweise mit dem Baustein verbunden.

Fehlermeldungen müssen nach der Behebung der Fehlerursache zurückgesetzt werden. Dazu kann man den virtuellen Eingangstaster mit dem Reset Aktor verbinden. Ich habe diese Taster auch direkt mit der Fehlernmeldung verlinkt, so dass der Reset Taster gleichzeitig mit der Fehlermeldung auf der Loxone App erscheint.

4.3 Graphische Darstellung

In der aktuellen Loxone Version kann man für die Bedienung ein Anlagenschema hinterlegen. Im Beispielprogramm ist dies auch für das KWL Gerät erstellt worden. Die nachstehende Graphik:



Kann in den Baustein Anlageschema geladen werden. Nun werden alle aufgeführten und vorhandenen Sensoren des KWL Gerätes herangezogen und an den richtigen Ort auf der Graphik angeordnet. Achtung, wo vorhanden nehmen wir den Wert nicht direkt vom Sensor, sondern den aus dem Statusbaustein oder Programmbaustein aufbereiteten Text.

Mit diesen Texten wird die Darstellung jetzt sehr verständlich und man bekommt auch ohne grosse Fachkenntnis einen schnellen Überblick über den Betriebszustand des KWL Gerätes.

Im Beispielprogramm ist dieser Baustein auch eingefügt und kann als Vorlage dienen. Bei einem kopieren in ein aktuelles Projekt geht aber der Bezug zu den einzelnen Sensoren verloren und muss leider neu geschaffen werden.

Für die Analyse des zeitlichen Verlaufs kann je nach Bedarf zu jedem Sensor noch die Loxone eigene Statistikfunktion eingeschaltet werden.