owmweather - Cleanup code

master
Martin Boonk 2022-07-02 16:39:59 +02:00
parent 4d46df3082
commit 1abeaa45d1
1 changed files with 2 additions and 11 deletions

View File

@ -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);