use synchronous call to read system time

This commit is contained in:
Gilles Grandou 2022-11-02 17:22:03 +01:00
parent 4b968ca944
commit d7c56585b4
1 changed files with 18 additions and 29 deletions

47
pool.js
View File

@ -241,30 +241,24 @@ function update_temp(temp) {
print("[POOL] update_temp - max:", status.temp_max, "today:", status.temp_today, "yesterday:", status.temp_yesterday); print("[POOL] update_temp - max:", status.temp_max, "today:", status.temp_today, "yesterday:", status.temp_yesterday);
Shelly.call ( let time = Shelly.getComponentStatus("sys").time; // "HH:MM"
"Sys.GetStatus", print("[POOL] time", time);
{},
function (result) {
let time = result.time; // "HH:MM"
print("[POOL] time", time);
// compute current time in float format (12h45 -> 12.75) // compute current time in float format (12h45 -> 12.75)
let t = JSON.parse(time.slice(0,2)) + JSON.parse(time.slice(3,5)) / 60; let t = JSON.parse(time.slice(0,2)) + JSON.parse(time.slice(3,5)) / 60;
if (t < status.update_time) if (t < status.update_time)
update_new_day(); update_new_day();
status.update_time = t; status.update_time = t;
if ((status.temp_max !== null) && (status.temp_max !== status.update_temp_max_last)) { if ((status.temp_max !== null) && (status.temp_max !== status.update_temp_max_last)) {
update_pump(status.temp, status.temp_max, t); update_pump(status.temp, status.temp_max, t);
status.update_temp_max_last = status.temp_max; status.update_temp_max_last = status.temp_max;
} }
else { else {
print("[POOL] no temp change, skip update_pump"); print("[POOL] no temp change, skip update_pump");
} }
}
);
status.lock_update = false; status.lock_update = false;
} }
@ -341,15 +335,10 @@ Timer.set(
true, true,
function() { function() {
status.tick++; status.tick++;
Shelly.call ( let result = Shelly.getComponentStatus("sys");
"Sys.GetStatus", print("[POOL] tick", result.time);
{}, status.time = result.time;
function (result) { status.uptime = result.uptime;
print("[POOL] tick", result.time);
status.time = result.time;
status.uptime = result.uptime;
}
);
} }
); );