Antworten
Apr 06, 2017 - 08:33
Unter Daikin Klimaanlage findest Du Skripte für IP-Symcon diese musst Du dann halt in Javascript umschreiben und an den NEO Automation Manager anpassen wenn Du den NEO Automation Manager benutzten willst.
Apr 06, 2017 - 12:39
Das ist mir zu kompliziert. Ich bin kein Programmierer.
Ich brauche nur ein einfaches Script das eine Web Seite aufruf z.B. http://192.168.178.100/aircon/get_sensor_info.
Aus dem Ergebnis sollen dann Variablen ausgelesen werden.
Hat niemand eine Idee für ein kleines Script ?
Ich brauche nur ein einfaches Script das eine Web Seite aufruf z.B. http://192.168.178.100/aircon/get_sensor_info.
Aus dem Ergebnis sollen dann Variablen ausgelesen werden.
Hat niemand eine Idee für ein kleines Script ?
Apr 06, 2017 - 15:08
Zeig mal was du schon mit browser so erfolgreich machen konntest?
die befehle...
die befehle...
Apr 07, 2017 - 06:55
Hallo
Da ich deine Klimaanlage nicht habe, habe ich eine php Seite erstellt, welche die Ausgabe deiner Url simuliert:
http://neoremote.lima-city.de/aircon/...
mit diesem Script hole ich die Werte dann in zwei Gateway Variablen vom Typ String, also du musst zwei solche Variablen erstmal
im Neo anlegen, später im code musst du sie auch anpassen, weil meine werden nicht funktionieren....
also die erste gateway variable bei mir heisst STRING [DE] und ist im Raum mediola, wie im Bild zu sehen:
im script schreibe ich in diese Variable den wert des htemp teils, welche das script zurückliefert...also 17.0
wie hier zu sehen:
genauso in diesem teil des scripts mit der variable STRING [01] bei mir, wo ich den wert otemp (15.0) in sie schreibe:
Sollte das Script dann funktionieren, kannst du dann versuchen deine url in dem code anzupassen und testen
also diese Zeile anpassen:
hier dann das ganze script mit meiner url und meinen variablen, wie oben beschrieben anpassen!!!
du brauchst auch einen auslöser welcher dieses script startet, ich habe einfach einen button erstellt, mit http aktion:
und im AM dann einen task so wie im Bild:
du kannst auch einen anderen auslöser benutzen, aber zum testen ist es am besten einen button zu benutzen.
melde dich mit dem ergebniss :)
Da ich deine Klimaanlage nicht habe, habe ich eine php Seite erstellt, welche die Ausgabe deiner Url simuliert:
http://neoremote.lima-city.de/aircon/...
mit diesem Script hole ich die Werte dann in zwei Gateway Variablen vom Typ String, also du musst zwei solche Variablen erstmal
im Neo anlegen, später im code musst du sie auch anpassen, weil meine werden nicht funktionieren....
also die erste gateway variable bei mir heisst STRING [DE] und ist im Raum mediola, wie im Bild zu sehen:
im script schreibe ich in diese Variable den wert des htemp teils, welche das script zurückliefert...also 17.0
wie hier zu sehen:
// schreibe htemp Wert in Gateway Variable (String Typ)
executeDeviceCommand(
"mediola",
"STRING [DE]",
{"value":"setValue","ext":htemp},
function(err) {
err && console.error(err);
}
);
du musst jetzt den raumname, hier mediola auf deinen raumname und den namen deiner variable, hier STRING [DE] anpassen!!!genauso in diesem teil des scripts mit der variable STRING [01] bei mir, wo ich den wert otemp (15.0) in sie schreibe:
// schreibe otemp Wert in Gateway Variable (String Typ)
executeDeviceCommand(
"mediola",
"STRING [01]",
{"value":"setValue","ext":otemp},
function(err) {
err && console.error(err);
}
);
Sollte das Script dann funktionieren, kannst du dann versuchen deine url in dem code anzupassen und testen
also diese Zeile anpassen:
var url = "http://neoremote.lima-city.de/aircon/get_sensor_info.php";
invar url = "http://ip-adresse-daikin/aircon/get_sensor_info ";
natürlich ip-adresse-daikin richtig eingeben :)hier dann das ganze script mit meiner url und meinen variablen, wie oben beschrieben anpassen!!!
var url = "http://neoremote.lima-city.de/aircon/get_sensor_info.php"; //hier die richtige url angeben
var datenHolen = function(body) {
var teil = body.split(',', 6); //Rückgabe der Url in 6 Teile (arrays) ohne (,)
var ret = teil[0]; //falls auch benötigt
var htemp = teil[1]; // htemp ist jetzt htemp=17.0 ganzer string
var hhum = teil[2]; //falls auch benötigt
var otemp = teil[3]; // otemp ist jetzt otemp=15.0 ganzer string
var err = teil[4]; //falls auch benötigt
var cmpfreq = teil[5]; //falls auch benötigt
// Werte in 2 Teile geteilt, Ausgabe von Teil 2, nach (=)
ret = ret.split('=', 2)[1];
htemp = htemp.split('=', 2)[1]; // htemp geteilt in 2 Teile ohne (=) ist jetzt 17.0
hhum = hhum.split('=', 2)[1];
otemp = otemp.split('=', 2)[1]; // otemp geteilt in 2 Teile ohne (=) ist jetzt 15.0
err = err.split('=', 2)[1];
cmpfreq = cmpfreq.split('=', 2)[1];
// schreibe htemp Wert in Gateway Variable (String Typ), Bitte die Variablen anpassen!!!
executeDeviceCommand(
"mediola",
"STRING [DE]",
{"value":"setValue","ext":htemp},
function(err) {
err && console.error(err);
}
);
// schreibe otemp Wert in Gateway Variable (String Typ), Bitte die Variablen anpassen!!!
executeDeviceCommand(
"mediola",
"STRING [01]",
{"value":"setValue","ext":otemp},
function(err) {
err && console.error(err);
}
);
}
// Anfrage an daikin anlage
var http = require('http');
var req = http.get(url, function(res) {
var body = '';
res.setEncoding('utf8');
res.on('data', function(chunk) {
body += String(chunk);
});
res.on('end', function() {
datenHolen(body);
});
});
req.on('error', function(err) {
console.error(err);
});
du brauchst auch einen auslöser welcher dieses script startet, ich habe einfach einen button erstellt, mit http aktion:
http://ip-neo-server:8088/tm/http?test=1&auth=Passwort
und im AM dann einen task so wie im Bild:
du kannst auch einen anderen auslöser benutzen, aber zum testen ist es am besten einen button zu benutzen.
melde dich mit dem ergebniss :)
Neuen Kommentar hinzufügen