Ich habe Programm und Skript hier übernommen und es funktioniert.
Wie könnte ich jetzt das grad für alle 8 FWT's machen?
Moderator: Co-Administratoren
Wie könnte ich jetzt das grad für alle 8 FWT's machen?
Code: Alles auswählen
! Umschalten der Funk Wandthermostaten im Betrieb "Zweipunktregelung" gekoppelt mit entsprechenden Schaltaktoren jeweils auf Kanal 7.
! Umschalten von Heizen auf Kühlen und zurück.
! Gästezimmer (1) (SchaltAktor UG Kanal 1)
object dev = devices.Get("WT-Gast-UG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Werkstatt (2) (SchaltAktor UG Kanal 2)
object dev = devices.Get("WT-Werkstatt-UG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Lager (8) (SchaltAktor UG Kanal 3)
object dev = devices.Get("WT-Lager-UG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Wohnen (3) (SchaltAktor EG Kanal 1)
object dev = devices.Get("WT-Wohnen-EG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Küeche-Essen (4) (SchaltAktor EG Kanal 2)
object dev = devices.Get("WT-Kueche-Essen-EG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Eltern (5) (SchaltAktor OG Kanal 1)
object dev = devices.Get("WT-Eltern-OG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Kind 1 (6) (SchaltAktor OG Kanal 2)
object dev = devices.Get("WT-Kind1-OG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
! Kind 2 (7) (SchaltAktor OG Kanal 3)
object dev = devices.Get("WT-Kind2-OG");
var cool = dom.GetObject("Kuhlen").Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev)
{ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool);
}
Code: Alles auswählen
WriteLine("Start");
var devName = "Wandtermostat_XYZ"; !<--- Hier den Namen des Wandthermostat
object dev = devices.Get(devName);
string svName = devName + "_Heizen_Kuehlen";
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(ivtBinary);
svObj.ValueSubType(istBool);
svObj.DPInfo("Heizen/Kuelen");
svObj.ValueName0("Heizen");
svObj.ValueName1("Kühlen");
svObj.ValueUnit("");
svObj.DPArchive(false);
svObj.State(false);
svObj.Internal(false);
svObj.Visible(true);
dom.RTUpdate(0);
object oChan= channels.Get (dev.Name() + ":2");
object oSys=dom.GetObject (ID_SYSTEM_VARIABLES).Get (svName);
oChan.DPs().Add (oSys);
oSys.Channel (oChan.ID());
WriteLine("Datenpunkt "#svName#" angelegt & verknüpft");
} else {
var cool = dom.GetObject(svName).Value();
if (cool) {cool = "1";}
else {cool = "0";}
if(dev){ xmlrpc.PutParamset(dev.Interface(),dev.Address(),"MASTER","HEATING_COOLING",cool); }
WriteLine("HEATING_COOLING wurde mit Systemvariable synchronisiert.");
}
WriteLine("Stop");
Fragezeichenrobbi77 hat geschrieben: Oder sind die WTs gar nicht mit den Heizungsthermostaten verbunden