owmweather - Cleanup code
parent
4d46df3082
commit
1abeaa45d1
|
|
@ -3,7 +3,6 @@
|
||||||
let settings = require("Storage").readJSON("owmweather.json", 1) || {
|
let settings = require("Storage").readJSON("owmweather.json", 1) || {
|
||||||
enabled: false
|
enabled: false
|
||||||
};
|
};
|
||||||
console.log("Settings", settings);
|
|
||||||
if (settings.enabled) {
|
if (settings.enabled) {
|
||||||
let location = require("Storage").readJSON("mylocation.json", 1) || {
|
let location = require("Storage").readJSON("mylocation.json", 1) || {
|
||||||
"lat": 51.50,
|
"lat": 51.50,
|
||||||
|
|
@ -13,36 +12,30 @@
|
||||||
|
|
||||||
Bangle.pullOwmWeather = function(force, completionCallback) {
|
Bangle.pullOwmWeather = function(force, completionCallback) {
|
||||||
if (!force && responsePromise){
|
if (!force && responsePromise){
|
||||||
print("Waiting for response");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let settings = require("Storage").readJSON("owmweather.json", 1);
|
let settings = require("Storage").readJSON("owmweather.json", 1);
|
||||||
let uri = "https://api.openweathermap.org/data/2.5/weather?lat=" + location.lat.toFixed(2) + "&lon=" + location.lon.toFixed(2) + "&exclude=hourly,daily&appid=" + settings.apikey;
|
let uri = "https://api.openweathermap.org/data/2.5/weather?lat=" + location.lat.toFixed(2) + "&lon=" + location.lon.toFixed(2) + "&exclude=hourly,daily&appid=" + settings.apikey;
|
||||||
print("Calling uri " + uri);
|
|
||||||
if (Bangle.http){
|
if (Bangle.http){
|
||||||
responsePromise = Bangle.http(uri, {id:"debug"}).then(event => {
|
responsePromise = Bangle.http(uri, {id:"debug"}).then(event => {
|
||||||
print("Got event ", event);
|
|
||||||
let result = parseWeather(event.resp);
|
let result = parseWeather(event.resp);
|
||||||
responsePromise = false;
|
responsePromise = false;
|
||||||
if (completionCallback) completionCallback(result);
|
if (completionCallback) completionCallback(result);
|
||||||
}).catch((e)=>{
|
}).catch((e)=>{
|
||||||
print("Rejected call", e);
|
|
||||||
responsePromise = false;
|
responsePromise = false;
|
||||||
if (completionCallback) completionCallback(e);
|
if (completionCallback) completionCallback(e);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
print("No http method found");
|
if (completionCallback) completionCallback(/*LANG*/"No http method found");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var parseWeather = function(response) {
|
var parseWeather = function(response) {
|
||||||
let owmData = JSON.parse(response);
|
let owmData = JSON.parse(response);
|
||||||
console.log("OWM Data", owmData);
|
|
||||||
|
|
||||||
let isOwmData = owmData.coord && owmData.weather && owmData.main;
|
let isOwmData = owmData.coord && owmData.weather && owmData.main;
|
||||||
|
|
||||||
if (isOwmData) {
|
if (isOwmData) {
|
||||||
console.log("Converting data");
|
|
||||||
let json = require("Storage").readJSON('weather.json') || {};
|
let json = require("Storage").readJSON('weather.json') || {};
|
||||||
let weather = {};
|
let weather = {};
|
||||||
weather.time = Date.now();
|
weather.time = Date.now();
|
||||||
|
|
@ -63,12 +56,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
json.weather = weather;
|
json.weather = weather;
|
||||||
print("Parsed data", json);
|
|
||||||
require("Storage").writeJSON('weather.json', json);
|
require("Storage").writeJSON('weather.json', json);
|
||||||
require("weather").emit("update", json.weather);
|
require("weather").emit("update", json.weather);
|
||||||
return undefined;
|
return undefined;
|
||||||
} else {
|
} else {
|
||||||
return "Not OWM data";
|
return /*LANG*/"Not OWM data";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -76,7 +68,6 @@
|
||||||
if (weather.time + settings.refresh * 1000 * 60 < Date.now()){
|
if (weather.time + settings.refresh * 1000 * 60 < Date.now()){
|
||||||
Bangle.pullOwmWeather();
|
Bangle.pullOwmWeather();
|
||||||
}
|
}
|
||||||
console.log("Setting interval");
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
Bangle.pullOwmWeather();
|
Bangle.pullOwmWeather();
|
||||||
}, settings.refresh * 1000 * 60);
|
}, settings.refresh * 1000 * 60);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue