Damit es vielleicht der ein oder andere auch findet und ich den Kram bei Bedarf besser aktuell halten kann,
hier die Sache nach Tipps und Tricks gebracht.
Hier mal zur Einstimmung das Auslesen, ob die Klima ein oder aus ist:
Code: Alles auswählen
! Website Daikin Wifi Controller auslesen - for miwi by alchy v0.1
var url = "http://192.168.178.32/aircon/get_control_info";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
string power = srueck.StrValueByIndex(",",1).ToString().StrValueByIndex("=",1);
if (power == "0") { WriteLine("AUSgeschaltet");}
if (power == "1") { WriteLine("EINgeschaltet");}
Das nächste Script liest noch ein paar Werte zusätzlich aus, keine Ahnung ob die wichtig / richtig sind.
Ist ja modular erweiterbar, kleines Setup oben eingefügt, damit auch unerfahrende User klar kommen.
Die Ausgabe kann bei Bedarf in eine Stringvariable auf der CCU gespeichert werden.
Code: Alles auswählen
! Website Daikin Wifi Controller auslesen - for miwi by alchy v0.3
! +++++++++++++ Setup ++++++++++++++++
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 = "nein"; ! ja = peichern der Ausgabe des Scriptes in Systemvariable ODER nein = nur Ausgabe im Fenster
string SYSVAR_NAME = "Name deiner Speichervariable"; ! hier den Namen dieser Variablen eintragen
string LISTE = "pow,stemp,dh1"; ! 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 - '"#url#"'");
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 = "EINGESCHALTEN";}
if ( (i == "pow") && (tmp2 == 0) ){ tmp2 = "AUSGESCHALTEN";}
if (i == tmp1) { slist = slist #tmp2 #" "; }
}}
if ( USE_SYSVAR == "ja"){ dom.GetObject(SYSVAR_NAME).State(slist); }else {WriteLine(slist);}