ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Tomiliy
Beiträge: 158
Registriert: 03.12.2014, 19:28
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von Tomiliy » 02.04.2024, 14:20

Hallo zusammen, ich habe leider keine Aung vom Programmieren, ich kann den Code ein wenig verstehen und interpretieren. Aber vielleicht hat jemand Lust sich dieser Aufgabe anzunehmen.

Es geht um die Steuerung von 7 Klimageräten, von Daikin diese sind:
DaikinLara mit der IP 192.168.99.36 im Kinderzimmer Lara
DaikinGreta mit der IP 192.168.99.33 im Kinderzimmer Greta
DaikinEltern mit der IP 192.168.99.28 im Elternschlafzimmer
DaikinWZ mit der IP 192.168.99.27 im Wohnzimmer
DaikinWG mit der IP 192.168.99.35 im Wintergarten
DaikinWG2 mit der IP 192.168.99.187 auch im Wintergarten
DaikinFlur mit der IP 192.168.99.185 im Hauseingang

die Steuerung erfolgt über den Aufruf:
http://<Adresse des Gerätes>/aircon/set_control_info?
gefolgt von dem eigentlichen Aufruf: Ausschalten der Anlage: pow=0&mode=1&stemp=28&shum=0&f_rate=A&f_dir=0

oder einschalten der Anlage: pow=1&mode=1&stemp=28&shum=0&f_rate=A&f_dir=0 wobei temp=28 die Steuerung der Temperatur ist. Hier 28 Grad.
Abgefragt wird der Raum der jeweiligen Klimaanlage über in im Raum befindliches Thermostat vom Typ: HM-CC-RT-DN
REQ1182943 Elternschlafzimmer
LEQ0778974 = Hauseingang
LEQ0109312 = Kinderzimmer Greta
LEQ0779036 = Kinderzimmer Lara
LEQ1199918 = Wohnzimmer
LEQ0996640 = Wintergarten
Gesteuert werden soll folgendermaßen:
Ich brauche eine Systemvariable die festlegt ob alle Klimaanlagen an oder aus sein sollen. Geheizt oder gekühlt wird nur wenn diese Systemvariable auf ein steht. Wird die Systemvariable auf aus gestellt werden alle Klimaanlagen ausgeschaltet und bleiben solange aus, bis die Variable wieder auf ein gestellt wird. Dann jeweils eine Systemvariabel für jede Klimaanlage die von Manuell auf Automatik schaltet und je eine Systemvariable die die Temperatur im Raum festlegt.
Die Umschaltung Automatik zu manuell hat folgende Auswirkung: Im Automatik Modus kühlt oder heiz die Anlage selbstständig den Raum auf die in der Systemvariablen eingestellte Temperatur. Im Manuellen Modus kann ich über eine weitere Variable je Anlage festlegen (Eine Multiauswahl Variable), ob die Anlage an, aus, heizen oder kühlen soll. Solange bis ich diese manuell stoppe oder auf Automatik umschalte.
Im Automatik Modus soll die Temperatur folgendermaßen funktionieren: Das Skript fragt das Thermostat im jeweiligen Raum ab. ist dieser 2 Grad unter dem eingestellten Bereich wird geheizt bis 1 Grad über den eingestellten Bereich. Ist die Temperatur 2 Grad über dem eingestellten Bereich soll gekühlt werden, bis 1 Grad unter den eingestellten Bereich.
Außerdem muss folgender Schutz im Skript eingestellt werden: Ist eine Anlage oder ein Thermostat einmal nicht erreichbar, soll die Anlage diese Klimaanlage überspringen, solange bis diese oder das Thermostat wieder erreichbar sind. Außerdem soll eine Pushnachricht über Telegramm an @Tomiliy gesendet werden. einmalig, wenn die Anlage bzw. das Thermostat nicht erreichbar ist und einmalig, wenn es wieder erreichbar ist.
Wurde eine Anlage auf Manuell gestellt, soll diese automatisch nach 8 Stunden wieder auf Automatik gestellt werden.
Außerdem wenn gekühlt werden soll, soll dies ausschließlich mit Sonnenstrom erfolgen.
Dazu soll die Systemvariable: E3DC-Batterie-Status abgefragt werden, diese muss über 50% sein. Außerdem soll die Systemvariable E3DC-Photovoltaik-Leistung und E3DC-Hausverbrauch abgefragt werden. Gekühlt werden darf nur, wenn E3DC-Photovoltaik-Leistung um mindestens 5% höher als E3DC-Hausverbrauch ist oder die E3DC-Batterie-Status über 50% ist. Dieser Wert soll alle 5 Minuten überprüft werden. Für Heizen gilt diese Funktion nicht.
Im Manuellen Modus wird natürlich ebenfalls das jeweilige Thermostat abgefragt ob die Temperatur erreicht ist.

Ich habe bereits ein Skript, weches @Alchy freudndlicherweise für mich geschrieben hat (Dafür immer wieder vielen vielen Dank), welches mir wiedergibt on die jeweilige Anlage in Betrieb ist:
Sinnvollerweise geht der Befehl an die jeweilige Anlage nur raus, wenn diese auch in bzw. nicht in Betrieb ist.

Code: Alles auswählen

! Website Daikin Wifi Controller auslesen - for miwi by alchy v0.3
! +++++++++++++ Setup ++++++++++++++++
var DaikinLara = "http://192.168.99.36/aircon/get_control_info?";
var DaikinGreta = "http://192.168.99.33/aircon/get_control_info?";
var DaikinEltern = "http://192.168.99.28/aircon/get_control_info?";
var DaikinWZ = "http://192.168.99.27/aircon/get_control_info?";
var DaikinWG = "http://192.168.99.35/aircon/get_control_info?";
var DaikinWG2 = "http://192.168.99.187/aircon/get_control_info?";
var DaikinFlur = "http://192.168.99.185/aircon/get_control_info?";
! var url = "http://192.168.178.32/aircon/get_control_info"; ! selbsterklärend

!+++++++ Systemvariablen Setup ++++++
! 1. Vor Benutzung Systemvariable vom Typ Zeichenkette in CCU anlegen,
string USE_SYSVAR = "ja"; ! ja = speichern der Ausgabe des Scriptes in Systemvariable ODER nein = nur Ausgabe im Fenster
string KlimaLara = 'Klima_Lara'; ! hier den Namen dieser Variablen eintragen
string KlimaGreta = 'Klima_Greta'; ! hier den Namen dieser Variablen eintragen
string KlimaEltern = 'Klima_Eltern'; ! hier den Namen dieser Variablen eintragen
string KlimaWG = 'Klima_WG'; ! hier den Namen dieser Variablen eintragen
string KlimaWZ = 'Klima_WZ'; ! hier den Namen dieser Variablen eintragen
string KlimaWG2 = 'Klima_WG2'; ! hier den Namen dieser Variablen eintragen
string KlimaFlur = 'Klima_Flur'; ! hier den Namen dieser Variablen eintragen
! Org string LISTE = "pow,stemp,dh1"; ! Welche Werte möchtest Du in der Variable haben
string LISTE = "pow"; ! Welche Werte möchtest Du in der Variable haben

!++++++++++++++ Setup zu Ende Finger weg +++++++++++++
string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinLara#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaLara).State(slist); }else {WriteLine(slist);}


string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinGreta#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaGreta).State(slist); }else {WriteLine(slist);}


string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinEltern#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaEltern).State(slist); }else {WriteLine(slist);}


string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinWZ#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaWZ).State(slist); }else {WriteLine(slist);}


string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinWG#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaWG).State(slist); }else {WriteLine(slist);}

string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinWG2#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaWG2).State(slist); }else {WriteLine(slist);}


string i ;
string x ;
string tmp1;
string tmp2;
string slist ="";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#DaikinFlur#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
foreach(x, srueck.Split(",")) {
tmp1 = x.StrValueByIndex("=",0);
tmp2 = x.StrValueByIndex("=",1);
foreach(i, LISTE.Split(",")) {
if ( (i == "pow") && (tmp2 == 1) ){ tmp2 = "true";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "false";}
if (i == tmp1) { slist = slist #tmp2 #"  "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(KlimaFlur).State(slist); }else {WriteLine(slist);}
kann mir dabei jemand helfen und sowas schreiben?
Ich hoffe die Anfrage ist nicht unverschämt....
Danke
Thomas
--------------------------------------------
4 Kanäle in 42 Geräten:
1x HM-LC-Dim1T-FM, 1x HM-RC-8, 12x HM-Sec-SCo, 3x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-OU-CFM-Pl, 3x HM-Sen-EP, 1x HM-CC-VG-1, 1x HM-Sec-MDIR-2, 12x HM-CC-RT-DN, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-RD-O, 2x HM-PB-2-WM55-2, 1x HM-TC-IT-WM-W-EU, 1x 10000
--------------------------------------------

Tomiliy
Beiträge: 158
Registriert: 03.12.2014, 19:28
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von Tomiliy » 04.04.2024, 15:23

Hallo,

hat niemand Lust so ein Projekt umzusetzen?
Ich weiß das es nicht ganz einfach ist, aber vielleicht hat jemand Lust sich der Herausforderung zu stellen.
Ich würde es ja machen, aber leider kann ich das nicht..
--------------------------------------------
4 Kanäle in 42 Geräten:
1x HM-LC-Dim1T-FM, 1x HM-RC-8, 12x HM-Sec-SCo, 3x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-OU-CFM-Pl, 3x HM-Sen-EP, 1x HM-CC-VG-1, 1x HM-Sec-MDIR-2, 12x HM-CC-RT-DN, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-RD-O, 2x HM-PB-2-WM55-2, 1x HM-TC-IT-WM-W-EU, 1x 10000
--------------------------------------------

Benutzeravatar
HM-Villa
Beiträge: 513
Registriert: 24.01.2022, 10:13
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 121 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von HM-Villa » 04.04.2024, 17:23

Lieber Thomas,

schau mal - dies hier ist ein Forum für und von Anwendern - nix Kommerzielles. Jeder hat einen unterschiedlichen Wissensstand, man tauscht sich in seiner Freizeit aus, um das eine oder andere Problem zu lösen. Manch stiller Mitleser zieht einfach nur Wissen aus dem Forum - auch OK.

Jetzt kommst Du mit einer detaillierten Leistungsbeschreibung daher, schreibst, du hättest "keine Aung" und bestellst hier ein komplexes Script, welches Du, wenn Du es denn hättest, wahrscheinlich nicht einmal warten könntest.

Eine leisen Anflug, warum Dir keiner helfen möchte, hattest Du ja noch, als Du schriebst
Ich hoffe die Anfrage ist nicht unverschämt....
Ich weiß ja nicht, wie es den anderen hier geht, ich aber würde Deine "Bestellung" so ähnlich bezeichnen - als vermessen. Ich kann Dir auch sagen warum: Ein wenig Eigeninitiative muss man schon zeigen - einfach aufzuschreiben, was gewünscht ist, reicht da nicht aus.
______________________________________________________
950 Kanäle in 201 Geräten und 39 CUxD-Kanäle in 5 CUxD-Geräten

schlichi
Beiträge: 398
Registriert: 26.08.2016, 19:26
System: Alternative CCU (auf Basis OCCU)
Wohnort: Erding
Hat sich bedankt: 62 Mal
Danksagung erhalten: 29 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von schlichi » 04.04.2024, 18:02

Hallo Thomas,

... in Kenntnis dessen, ... wird Dir außer ALCHY niemand helfen.

Gruß
schlichi
... inzwischen autodidakter, fortgeschrittener Anfänger mit bestandener Einstiegsprüfung für den Expertenmodus Teil 3 (erfahrener Anwender) :roll:

Tomiliy
Beiträge: 158
Registriert: 03.12.2014, 19:28
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von Tomiliy » 04.04.2024, 22:22

Hallo zusammen,

Ich verstehe euch und ich möchte auch um Gottes Willen nicht als "Abstauber" oder sonst was hier in Forum bekannt werden. Ich bin gerne hier und mir wurde schon sooooo viel weiter geholfen durch engagierte Leute. An alle geht nein Dank.

Aber, trotz das ich aus der IT komme kann ich nicht programmieren. Schon gar nicht Homematic. Powershell geht.. aber dascgikft mir hier ja nicht 😁😁

Mein Gedankengang war: vielleicht hat einer, der programmieren kann, tatsächlich die Muße und den Spaß an der Sache das auszutüfteln. Ich kenne einige Programmierer, die auch in ihrer Freizeit Rum probieren und Dinge "erfinden" oder bauen, einfach weil Sie Bock drauf haben... Und weil sie es können😁😁😁


Ich gehöre leider nur zum Teil dazu . Ich hab Bock.. Jann aber nichts programmieren.
Ich würde gern helfen... Aber man müsste nur sagen wie und womit (außer Kaffee kochen) 😂😉


Ich bin nicht böse, wenn sich keiner findet. Alles gut. Und ich bin dankbar dass es so ein Forum wie dieses gibt.. ohne wäre ich, gerade in der Anfangszeit, aufgeschnissen gewesen... Wieviele Stunden ich hier schon verbracht habe.... Oh man 😉😁😁😁

Trodsnke an alle.

Wenn jemand mir sagt, was ich vorbereiten könnte.. mach ich das gern.

Gruß
Tomiliy
--------------------------------------------
4 Kanäle in 42 Geräten:
1x HM-LC-Dim1T-FM, 1x HM-RC-8, 12x HM-Sec-SCo, 3x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-OU-CFM-Pl, 3x HM-Sen-EP, 1x HM-CC-VG-1, 1x HM-Sec-MDIR-2, 12x HM-CC-RT-DN, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-RD-O, 2x HM-PB-2-WM55-2, 1x HM-TC-IT-WM-W-EU, 1x 10000
--------------------------------------------

MichaelN
Beiträge: 9695
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 701 Mal
Danksagung erhalten: 1632 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von MichaelN » 04.04.2024, 22:59

Tomiliy hat geschrieben:
04.04.2024, 22:22
Jann aber nichts programmieren.
Ist das sowas wie Skript und Code Schwäche? Ansonsten könnte man es ja einfach lernen. Die wenigsten hier sind als Programmierer geboren.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

emil70
Beiträge: 288
Registriert: 02.12.2017, 13:47
System: CCU
Hat sich bedankt: 33 Mal
Danksagung erhalten: 8 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von emil70 » 05.04.2024, 06:08

Beschäftige dich mit iobroker. Dort gibt es einen Adapter https://forum.iobroker.net/topic/5537/n ... imaanlagenfür deine Klimaanlage
gruß emil70

Tomiliy
Beiträge: 158
Registriert: 03.12.2014, 19:28
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: ein Skript zur Klimaanlagen Steuerung von Daikn Geräten

Beitrag von Tomiliy » 05.04.2024, 16:48

Danke Email,

ich möchte aber kein IOBroker nutzen, ich habe alles auf der CCU3 und so soll es auch bleiben. mit einer 2. Instanz erhöht sich auch die Abhängigkeit.
Deswegen möchte ich das lieber über ein Script auf der CCU3 lösen und im Single Machine Betrieb bleiben.
Trotzdem vielen Dank für den Tip
--------------------------------------------
4 Kanäle in 42 Geräten:
1x HM-LC-Dim1T-FM, 1x HM-RC-8, 12x HM-Sec-SCo, 3x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-OU-CFM-Pl, 3x HM-Sen-EP, 1x HM-CC-VG-1, 1x HM-Sec-MDIR-2, 12x HM-CC-RT-DN, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-RD-O, 2x HM-PB-2-WM55-2, 1x HM-TC-IT-WM-W-EU, 1x 10000
--------------------------------------------

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“