Hallo Mediola Team (Sebastian) und alle anderen User :)
Hier hat ein user die Frage wie ich gestellt:
Wetter über Script im Automation ManagerNun habe ich jetzt einen script gefunden, welches eigentlich im iobroker funktioniert.
Leider bekomme ich es nicht hin im Neo Automation Manager zum laufen, bzw. diese variablen in die des Gateways zu schreiben oder eben in CCU variablen.
Mir ist aufgefallen das die zeile:
var request = require('request');
das script nicht zu ende ausführen lässt
ändert man sie in:
var request = require('http');
geht das script, aber ich kann nicht im log sehen ob da was passiert.
Ist überhaupt möglich die ausgabe im log zu sehen?
Vielleicht kann Sebastian einwenig erklären, wie man das script anpassen muss, um die variablen zu befüllen.
hier das script, mann muss einen api key haben bei wunderground, sowie eine station im script eingeben, am anfang des scriptes:
// Key und station id müssen über Wunderground bezogen werden
// bitte eintragen
var key = "xxxxxxxxxxxxxxx";
var station = "YYYYYYYYYYY";
var request = require('request');
var startAktualisierung = "Last Updated on "; // letzter update start
var endAktualisierung = ""; // letzter update end
var startBedingungen = ""; // start wetterbedingungen
var endBedingungen = ""; // ende wetterbedingungen
var startTemperatur_C = ""; // start temperatur # ZAHL
var endTemperatur_C = ""; //ende temperatur # ZAHL
var startWind_kmh = ""; // ende Windgeschwindigkeit # ZAHL
var endWind_kmh = ""; // ende Windgeschwindigkeit # ZAHL
var startWindboeen = ""; // Windboeengeschwindigkeit # ZAHL
var endWindboeen = ""; // Windboeengeschwindigkeit # ZAHL
var startWindrichtung = ""; // windrichtung
var endWindrichtung = ""; // windrichtung
var startWindbedingungen = ""; // windbedingungen
var endWindbedingungen = ""; // windbedingungen
var startLuftdruck = ""; // Luftdruck #ZAHL
var endLuftdruck = ""; // Luftdruck #ZAHL
var startLuftdrucktrend = ""; //Luftdrucktrend
var endLuftdrucktrend = "/pressure_trend>"; //Luftdrucktrend
var startLuftfeuchte = ""; //Luftfeuchte
var endLuftfeuchte = ""; //Luftfeuchte
var url = "http://api.wunderground.com/api/" + key + "/conditions/lang:DL/q/pws:" + station + ".xml";
var position = 0;
var start_position = 0;
var end_position = 0;
var data_length = 0;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
start_position = body.indexOf(startAktualisierung) + startAktualisierung.length; // Anfangsposition
end_position = body.indexOf(endAktualisierung); // Endeposition
data_length = end_position - start_position;
var dataAktualisierung = body.substring(start_position, start_position + data_length) ;
start_position = body.indexOf(startBedingungen) + startBedingungen.length; // Anfangsposition
end_position = body.indexOf(endBedingungen); // Endeposition
data_length = end_position - start_position;
var dataBedingungen = body.substring(start_position, start_position + data_length) ;
log('Bedingungen ' + dataBedingungen , "info");
start_position = body.indexOf(startTemperatur_C) + startTemperatur_C.length; // Anfangsposition
end_position = body.indexOf(endTemperatur_C); // Endeposition
data_length = end_position - start_position;
var dataTemperatur_C = body.substring(start_position, start_position + data_length) ;
log('Temperatur_C ' + dataTemperatur_C , "info");
start_position = body.indexOf(startWind_kmh) + startWind_kmh.length; // Anfangsposition
end_position = body.indexOf(endWind_kmh); // Endeposition
data_length = end_position - start_position;
var dataWind_kmh = body.substring(start_position, start_position + data_length) ;
log('Wind_kmh ' + dataWind_kmh , "info");
start_position = body.indexOf(startWindboeen) + startWindboeen.length; // Anfangsposition
end_position = body.indexOf(endWindboeen); // Endeposition
data_length = end_position - start_position;
var dataAWindboeen = body.substring(start_position, start_position + data_length) ;
log('Windboeen ' + dataAWindboeen , "info");
start_position = body.indexOf(startWindrichtung) + startWindrichtung.length; // Anfangsposition
end_position = body.indexOf(endWindrichtung); // Endeposition
data_length = end_position - start_position;
var dataWindrichtung = body.substring(start_position, start_position + data_length) ;
log('Windrichtung ' + dataWindrichtung , "info");
start_position = body.indexOf(startWindbedingungen) + startWindbedingungen.length; // Anfangsposition
end_position = body.indexOf(endWindbedingungen); // Endeposition
data_length = end_position - start_position;
var dataWindbedingungen = body.substring(start_position, start_position + data_length) ;
log('Windbedingungen ' + dataWindbedingungen , "info");
start_position = body.indexOf(startLuftdruck) + startLuftdruck.length; // Anfangsposition
end_position = body.indexOf(endLuftdruck); // Endeposition
data_length = end_position - start_position;
var dataLuftdruck = body.substring(start_position, start_position + data_length) ;
log('Luftdruck ' + dataLuftdruck , "info");
start_position = body.indexOf(startLuftdrucktrend) + startLuftdrucktrend.length; // Anfangsposition
end_position = body.indexOf(endLuftdrucktrend); // Endeposition
data_length = end_position - start_position - 1;
var dataLuftdrucktrend = body.substring(start_position, start_position + data_length) ;
log('Luftdrucktrend ' + dataLuftdrucktrend , "info");
start_position = body.indexOf(startLuftfeuchte) + startLuftfeuchte.length; // Anfangsposition
end_position = body.indexOf(endLuftfeuchte); // Endeposition
data_length = end_position - start_position;
var dataLuftfeuchte = body.substring(start_position, start_position + data_length) ;
log('Luftfeuchte ' + dataLuftfeuchte , "info");
} else {
log(error);
log('Wunderground nicht erreichbar');
}
});
Vielleicht könnte man den Automation Manager auch besser nutzen :)
Neuen Kommentar hinzufügen