@all
Ich häng mich mal mit dran.
Nachfolgendes Script erstellt oder aktualisiert globale Variablen im Fibaro HomeController HC2.
Original Code von Nico Bode - www.iqHaus.de
Da hier das 'request' anders als im Example-Code verwendet wird und ich nicht so fit in JS bin,
kann ich das nicht nach 'httpGet' oder 'httpPut' umstellen.
Kann mir dabei bitte jemand helfen?
Gruß
ATARI
var request = require('request');
var fibaro_username = 'username'; // Fibaro Admin Loginname
var fibaro_password = 'password'; // Fibaro Password
var fibaro_ip = 'ip_adresse'; // Fibaro IP adresse
function fibaro_create_global_var(fibaro_global_name,fibaro_global_value,fibaro_create_when_not_exist=true) {
request.post({
url: 'http://'+fibaro_username+':'+fibaro_password+'@'+fibaro_ip+'/api/globalVariables/',
form: '{"name":"'+fibaro_global_name+'","value":"'+fibaro_global_value+'"}'
}, function(error, response, body) {
if (error) {
//log(error, 'error');
} else {
if (response.statusCode == 201) {
log('Variable '+ fibaro_global_name+' bei Fibaro mit dem Wert '+fibaro_global_value+' angelegt ','info');
} else {
log('HTTP Fehler2','info');
log(JSON.stringify(response), 'error');
}
}
});
}
function fibaro_update_global_var(fibaro_global_name,fibaro_global_value,fibaro_create_when_not_exist=true) {
String(fibaro_global_name);
String(fibaro_global_value);
request.put({
url: 'http://'+fibaro_username+':'+fibaro_password+'@'+fibaro_ip+'/api/globalVariables/'+fibaro_global_name,
form: '{"name":"'+fibaro_global_name+'","value":"'+fibaro_global_value+'","invokeScenes":true}'
}, function(error, response, body) {
if (error) {
log(error, 'error');
} else {
if (response.statusCode == 200) {
log('Variable '+ fibaro_global_name+' bei Fibaro mit dem Wert '+fibaro_global_value+' gespeichert ','info');
} else {
if(response.statusCode == 404 && fibaro_create_when_not_exist === true) {
log('Variable wird angelegt','info');
fibaro_create_global_var(fibaro_global_name,fibaro_global_value);
} else {
log('HTTP Fehler','info');
log(JSON.stringify(response), 'error');
}
}
}
});
}