CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Wernig un
Moderator: Co-Administratoren
- homematicfan_13
- Beiträge: 202
- Registriert: 30.07.2013, 20:28
- Wohnort: in der Schweiz
- Danksagung erhalten: 1 Mal
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
string svName = "CM Kommando";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("State_Fan_Stage;State_Temperature;State_Filters;Set_Fan_Stage;State_Comfo_Temperature;State_Bypass;Set_Comfo_Temperature;Reset_Filter_time");
svObj.State(2);
svObj.DPInfo("Kommandos für die ComfoAir");
dom.RTUpdate(false);
}
svName = "CM Status";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Status des letzten Kommandos");
svObj.ValueUnit("");
svObj.State("");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Stufe";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueUnit("");
svObj.ValueList("Auto;Abwesend;niedrig;mittel;hoch");
svObj.State(2);
svObj.Internal(false);
svObj.Visible(true);
svObj.DPInfo("Lüfterstufe der ComfoAir");
dom.RTUpdate(false);
}
svName = "CM State Bypass";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Bypass Klappenstatus der ComfoAir");
svObj.ValueUnit("%");
svObj.ValueMin(0);
svObj.ValueMax(255);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Komforttemperatur";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Komfortemperatur der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(12);
svObj.ValueMax(28);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Status Komforttemperatur";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Aktuelle Komfortemperatur der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(12);
svObj.ValueMax(28);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Status Stufe";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("Auto;Abwesend;niedrig;mittel;hoch");
svObj.State(2);
svObj.DPInfo("Aktuelle Stufe der ComfoAir");
dom.RTUpdate(false);
}
svName = "CM Außenluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Außenluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Zuluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Zuluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Abluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Abluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Fortluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Fortluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
string svName = "CM Filter Betriebsstunden";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Betriebsstunden der Filter in der ComfoAir");
svObj.ValueUnit("Stunden");
svObj.ValueMin(0);
svObj.ValueMax(65000);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("State_Fan_Stage;State_Temperature;State_Filters;Set_Fan_Stage;State_Comfo_Temperature;State_Bypass;Set_Comfo_Temperature;Reset_Filter_time");
svObj.State(2);
svObj.DPInfo("Kommandos für die ComfoAir");
dom.RTUpdate(false);
}
svName = "CM Status";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtString);
svObj.ValueSubType(istChar8859);
svObj.DPInfo("Status des letzten Kommandos");
svObj.ValueUnit("");
svObj.State("");
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Stufe";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueUnit("");
svObj.ValueList("Auto;Abwesend;niedrig;mittel;hoch");
svObj.State(2);
svObj.Internal(false);
svObj.Visible(true);
svObj.DPInfo("Lüfterstufe der ComfoAir");
dom.RTUpdate(false);
}
svName = "CM State Bypass";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Bypass Klappenstatus der ComfoAir");
svObj.ValueUnit("%");
svObj.ValueMin(0);
svObj.ValueMax(255);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Komforttemperatur";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Komfortemperatur der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(12);
svObj.ValueMax(28);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Status Komforttemperatur";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Aktuelle Komfortemperatur der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(12);
svObj.ValueMax(28);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Status Stufe";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtInteger);
svObj.ValueSubType(istEnum);
svObj.ValueList("Auto;Abwesend;niedrig;mittel;hoch");
svObj.State(2);
svObj.DPInfo("Aktuelle Stufe der ComfoAir");
dom.RTUpdate(false);
}
svName = "CM Außenluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Außenluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Zuluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Zuluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Abluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Abluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
svName = "CM Fortluft";
svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Fortluft der ComfoAir");
svObj.ValueUnit("°C");
svObj.ValueMin(-20);
svObj.ValueMax(107.5);
svObj.State(21);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
string svName = "CM Filter Betriebsstunden";
object svObj = dom.GetObject(svName);
if (!svObj){
object svObjects = dom.GetObject(ID_SYSTEM_VARIABLES);
svObj = dom.CreateObject(OT_VARDP);
svObjects.Add(svObj.ID());
svObj.Name(svName);
svObj.ValueType(ivtFloat);
svObj.ValueSubType(istGeneric);
svObj.DPInfo("Betriebsstunden der Filter in der ComfoAir");
svObj.ValueUnit("Stunden");
svObj.ValueMin(0);
svObj.ValueMax(65000);
svObj.State(0);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(false);
}
Gruss
Martin
Martin
- homematicfan_13
- Beiträge: 202
- Registriert: 30.07.2013, 20:28
- Wohnort: in der Schweiz
- Danksagung erhalten: 1 Mal
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
habe das als Programm mit script getan und nun sind die Systemvariablen alle da....
Gruss
Martin
Martin
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
Hallo,
Ich habe noch ein Update zum Display an der Konnektorplatine. Ich habe inzwischen festgestellt, dass das Display doch besser abgeklemmt werden sollte. Es kommt sporadisch zu Kommunikationsfehlern, welche die Kommunikation dann z.T. für mehrere Stunden komplett lahmlegt.
Von daher die Erkenntnis, Display abklemmen
Gruß
Gesendet von meinem Nexus 5X mit Tapatalk
Ich habe noch ein Update zum Display an der Konnektorplatine. Ich habe inzwischen festgestellt, dass das Display doch besser abgeklemmt werden sollte. Es kommt sporadisch zu Kommunikationsfehlern, welche die Kommunikation dann z.T. für mehrere Stunden komplett lahmlegt.
Von daher die Erkenntnis, Display abklemmen
Gruß
Gesendet von meinem Nexus 5X mit Tapatalk
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
Hi,
super Projekt. Leider komme ich nicht ganz klar damit!
Die Systemvariablen wurden bei mir auch nicht angelegt, aber das ließ sich tatsächlich händisch machen.
Ich möchte zunächst erst mal nur abfragen, aber das klappt leider nur um 1:28 Uhr teilweise!?!?
Nur die Temperaturen lassen sich abfragen. Habe mit Programmen rumgefummelt! Ich hatte vorher alle Variablen in dem Programm.
Und wenn es mal funktioniert ist mir nicht klar wie ich die Stufen verstellen kann.
Habe übrigens nur eine Comfoair 160, aber diese ist von der RS232 gleich mit der 350er.
Interessant wären auch noch die Lüfter Drehzahlen, da bei niedrigen Temperaturen die Lüfter nicht mehr gleich drehen.
Wenn man keinen Zusatzheizer hat ist das dann ein Vereisungsschutz.
Gruss
super Projekt. Leider komme ich nicht ganz klar damit!
Die Systemvariablen wurden bei mir auch nicht angelegt, aber das ließ sich tatsächlich händisch machen.
Ich möchte zunächst erst mal nur abfragen, aber das klappt leider nur um 1:28 Uhr teilweise!?!?
Nur die Temperaturen lassen sich abfragen. Habe mit Programmen rumgefummelt! Ich hatte vorher alle Variablen in dem Programm.
Und wenn es mal funktioniert ist mir nicht klar wie ich die Stufen verstellen kann.
Habe übrigens nur eine Comfoair 160, aber diese ist von der RS232 gleich mit der 350er.
Interessant wären auch noch die Lüfter Drehzahlen, da bei niedrigen Temperaturen die Lüfter nicht mehr gleich drehen.
Wenn man keinen Zusatzheizer hat ist das dann ein Vereisungsschutz.
Gruss
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
Moin,
du mußt erst die Systemvariable "CM Kommando" setzen. Wenn du dann das Programm startest wird das Kommando ausgeführt, welches in der Systemvariable hinterlegt ist. In der Systemvariablen "CM Status" kannst du dann gucken was das Programm gemacht hat. Probiere doch mal die beiden Programme im ersten Beitrag aus, vielleicht wird es dann klarer.
Gruß
du mußt erst die Systemvariable "CM Kommando" setzen. Wenn du dann das Programm startest wird das Kommando ausgeführt, welches in der Systemvariable hinterlegt ist. In der Systemvariablen "CM Status" kannst du dann gucken was das Programm gemacht hat. Probiere doch mal die beiden Programme im ersten Beitrag aus, vielleicht wird es dann klarer.
Gruß
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
Hi,
vielen Dank für Deine Info. Es funktioniert so halb.
Ich würde gerne durchgehend die Temperaturen abfragen. Das funktioniert eine Zeit wird aber dann nicht weiter geführt. Ich habe ein CCU-Historian laufen, mit der ich die Temperaturen aufzeichnen möchte.
Die Lüfter Stufe lässt sich setzen. Danach muss ich ein neues Programm neu machen, um wieder abzufragen. Die Temperaturen lassen sich dann aber auch nur durch ein neu erstelltes Programm abfragen.
Die letzte Abfrage wird durch das Script durchgeführt und nicht das was gerade abgefragt werden soll.
Ich werde mal neu installieren!
Grüsse
vielen Dank für Deine Info. Es funktioniert so halb.
Ich würde gerne durchgehend die Temperaturen abfragen. Das funktioniert eine Zeit wird aber dann nicht weiter geführt. Ich habe ein CCU-Historian laufen, mit der ich die Temperaturen aufzeichnen möchte.
Die Lüfter Stufe lässt sich setzen. Danach muss ich ein neues Programm neu machen, um wieder abzufragen. Die Temperaturen lassen sich dann aber auch nur durch ein neu erstelltes Programm abfragen.
Die letzte Abfrage wird durch das Script durchgeführt und nicht das was gerade abgefragt werden soll.
Ich werde mal neu installieren!
Grüsse
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
Hallo,
vielen Dank, das ist total super.
Jetzt hab ich nur noch eine Frage eines total Anfängers, mit welchen Bauteilen und an Welchen Anschlüssen hast du die Comfoair physikalisch an die Homatic angebunden?
Ich habe eine Raspimatic und eine 350 Luxe und könnte am Standort KWL sowohl LAN bereitstellen oder noch direkt irgend ein Kabel ziehen...bzw. den Techniker bitten, der sowieso demnächst kommt
Vielen lieben Dank schon mal
vielen Dank, das ist total super.
Jetzt hab ich nur noch eine Frage eines total Anfängers, mit welchen Bauteilen und an Welchen Anschlüssen hast du die Comfoair physikalisch an die Homatic angebunden?
Ich habe eine Raspimatic und eine 350 Luxe und könnte am Standort KWL sowohl LAN bereitstellen oder noch direkt irgend ein Kabel ziehen...bzw. den Techniker bitten, der sowieso demnächst kommt
Vielen lieben Dank schon mal
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Werni
Hallo,
über einen "RS232 zu Ethernet LAN Adapter" und dann mit einem Powerlan Adapter ins Netzwerk. Ein LAN Kabel ist aber anstelle des Powerlan natürlich besser.
Gruß
über einen "RS232 zu Ethernet LAN Adapter" und dann mit einem Powerlan Adapter ins Netzwerk. Ein LAN Kabel ist aber anstelle des Powerlan natürlich besser.
Gruß
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Wernig un
Läuft perfekt auf der CCU2 mit der Comfoair 550 - vielen Dank an den Ersteller!
Re: CCU-Addon für Lüfteranlagen von Zehnder, StorkAir, Wernig un
Läuft auch prima auf meiner CCU3 - nur beim Einspielen gab es ein Problem, ist wohl eigentlich nicht für die CCU3 optimiert.
Aber nach einem Neustart ging es...
Aber nach einem Neustart ging es...