Hi,
ich muss dass hier leider mal aufwärmen, da ich nicht durchsteige.
Hintergrund:
Ich möchte die Wochenprogramme meiner Heißkörperthermostate via ioBroker durchschalten.
Wie? 😄
okay hab da jetzt was zusammengepfluckt was zu funktionieren scheint:
`// Konstanten für CCU Push
var http = require('http');
var path = "/blabla.exe";
function setCCUscript (sDevice,wochenprog) {
var data = 'object o1= devices.Get("' + sDevice + '");';
data +='string s2="";';
data +='if (o1) {';
data += 'xmlrpc.PutParamset (o1.Interface(), o1.Address(), "MASTER", "WEEK_PROGRAM_POINTER", '+ wochenprog.toString () +'); s2="SET";';
data += '} else { s2 = "NO DEVICE"; }';
return data
}
function setPushVar (data) {
var options = {
host: getObject('system.adapter.hm-rpc.0').native.homematicAddress,
port: 8181,
path: path,
method: 'POST',
headers: {
'User-Agent' : 'Mozilla/5.0',
'Content-Type': 'text/plain',
'Content-Length': data.length,
}
};
return options;
}
function httpPost (options,data) {
var req = http.request(options, function(res) {
var body='';
res.on('data', function(d) { body += d.toString (); });
res.on('end', function() { });
});
req.on('error', function(e) { log('ERROR: ' + e.message,"warn"); });
(data ? req.write(data) : log("Daten: keine Daten angegeben"));
req.end();
}
on ({id: "javascript.0.Heizung_Energiesparmodus", change: 'ne'}, function(obj) {
if (getState ("javascript.0.Heizung_Energiesparmodus").val ==1) {
var array = ["Wohnzimmer Heizung Gruppe", "Schlafzimmer Heizung Gruppe", "Küche Heizung Gruppe", "Büro Heizung Gruppe", "Kinderzimmer Heizung Gruppe", "Hauswirtschaftsraum Heizung Gruppe", "Badezimmer Wanne Heizung Gruppe", "Badezimmer Dusche Heizung Gruppe", "Flur Heizung Gruppe"];
var i;
log ("Heizung_Energiesparmodus ist an");
for (i = 0; i < array.length; i++) {
var script = setCCUscript (array[i], 2);
httpPost (setPushVar (script),script);
}
} else {
var array = ["Wohnzimmer Heizung Gruppe", "Schlafzimmer Heizung Gruppe", "Küche Heizung Gruppe", "Büro Heizung Gruppe", "Kinderzimmer Heizung Gruppe", "Hauswirtschaftsraum Heizung Gruppe", "Badezimmer Wanne Heizung Gruppe", "Badezimmer Dusche Heizung Gruppe", "Flur Heizung Gruppe"];
var i;
log ("Heizung_Energiesparmodus ist aus");
for (i = 0; i < array.length; i++) {
var script = setCCUscript (array[i], 0);
httpPost (setPushVar (script),script);
}
}
});`
Grüße
Kevin[/i][/i]