2022-10-30 14:30:10 +00:00
|
|
|
{
|
2022-07-02 21:27:02 +00:00
|
|
|
let waiting = false;
|
2023-05-17 19:54:35 +00:00
|
|
|
let settings = Object.assign(
|
|
|
|
require('Storage').readJSON("owmweather.default.json", true) || {},
|
|
|
|
require('Storage').readJSON("owmweather.json", true) || {}
|
|
|
|
);
|
2022-07-02 21:27:02 +00:00
|
|
|
|
2022-10-30 14:30:10 +00:00
|
|
|
let completion = function(){
|
2022-07-02 21:27:02 +00:00
|
|
|
waiting = false;
|
2023-05-17 20:05:08 +00:00
|
|
|
settings.updated = Date.now();
|
|
|
|
require('Storage').writeJSON("owmweather.json", settings);
|
2022-07-02 21:27:02 +00:00
|
|
|
}
|
2022-10-30 14:52:06 +00:00
|
|
|
|
2022-07-02 21:27:02 +00:00
|
|
|
if (settings.enabled) {
|
2022-07-02 13:24:11 +00:00
|
|
|
let weather = require("Storage").readJSON('weather.json') || {};
|
2022-07-03 09:41:13 +00:00
|
|
|
if (weather && weather.weather && weather.weather.time) lastUpdate = weather.weather.time;
|
2022-10-30 14:52:06 +00:00
|
|
|
|
2023-05-17 20:05:08 +00:00
|
|
|
if (!settings.updated || settings.updated + settings.refresh * 1000 * 60 < Date.now()){
|
2022-10-30 14:52:06 +00:00
|
|
|
setTimeout(() => {
|
|
|
|
if (!waiting){
|
|
|
|
waiting = true;
|
|
|
|
require("owmweather").pull(completion);
|
|
|
|
}
|
|
|
|
}, 5000);
|
2022-07-02 13:24:11 +00:00
|
|
|
}
|
2022-07-02 12:29:29 +00:00
|
|
|
setInterval(() => {
|
2022-07-03 09:18:13 +00:00
|
|
|
if (!waiting && NRF.getSecurityStatus().connected){
|
2022-07-02 21:27:02 +00:00
|
|
|
waiting = true;
|
|
|
|
require("owmweather").pull(completion);
|
|
|
|
}
|
2022-06-16 15:23:02 +00:00
|
|
|
}, settings.refresh * 1000 * 60);
|
|
|
|
}
|
2022-10-30 14:30:10 +00:00
|
|
|
}
|