Compare commits
No commits in common. "09713684824fa423b7a66e8308f5725c7ce55565" and "c927997d6944e6be129e5a8bdcd21f53bab40e19" have entirely different histories.
0971368482
...
c927997d69
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,2 @@
|
||||
*.log
|
||||
.inspect.json
|
||||
shelly.conf
|
||||
*.log
|
||||
|
56
pool.js
56
pool.js
@ -7,6 +7,7 @@ let status = {
|
||||
temp_yesterday: null,
|
||||
|
||||
update_time: null,
|
||||
update_time_last: 0,
|
||||
update_temp_max_last: null,
|
||||
|
||||
disable_temp: null,
|
||||
@ -23,6 +24,7 @@ let status = {
|
||||
tick_temp: 0,
|
||||
tick_lock: 0,
|
||||
tick_pump: 0,
|
||||
tick_pump_skip: 0,
|
||||
tick_day: 0,
|
||||
};
|
||||
|
||||
@ -241,24 +243,37 @@ function update_temp(temp) {
|
||||
|
||||
print("[POOL] update_temp - max:", status.temp_max, "today:", status.temp_today, "yesterday:", status.temp_yesterday);
|
||||
|
||||
let time = Shelly.getComponentStatus("sys").time; // "HH:MM"
|
||||
print("[POOL] time", time);
|
||||
Shelly.call (
|
||||
"Sys.GetStatus",
|
||||
{},
|
||||
function (result) {
|
||||
let time = result.time; // "HH:MM"
|
||||
print("[POOL] time", time);
|
||||
|
||||
// compute current time in float format (12h45 -> 12.75)
|
||||
let t = JSON.parse(time.slice(0,2)) + JSON.parse(time.slice(3,5)) / 60;
|
||||
// compute current time in float format (12h45 -> 12.75)
|
||||
let t = JSON.parse(time.slice(0,2)) + JSON.parse(time.slice(3,5)) / 60;
|
||||
|
||||
if (t < status.update_time)
|
||||
update_new_day();
|
||||
if (t < status.update_time)
|
||||
update_new_day();
|
||||
|
||||
status.update_time = t;
|
||||
status.update_time = t;
|
||||
|
||||
if ((status.temp_max !== null) && (status.temp_max !== status.update_temp_max_last)) {
|
||||
update_pump(status.temp, status.temp_max, t);
|
||||
status.update_temp_max_last = status.temp_max;
|
||||
}
|
||||
else {
|
||||
print("[POOL] no temp change, skip update_pump");
|
||||
}
|
||||
if ((status.temp_max !== null) && (status.temp_max !== status.update_temp_max_last)) {
|
||||
if ((t - status.update_time_last) > 0.15) { // 9 minutes
|
||||
update_pump(status.temp, status.temp_max, t);
|
||||
status.update_time_last = t;
|
||||
status.update_temp_max_last = status.temp_max;
|
||||
}
|
||||
else {
|
||||
status.tick_pump_skip++;
|
||||
print("[POOL] to much update_pump, skipped", status.tick_pump_skip);
|
||||
}
|
||||
}
|
||||
else {
|
||||
print("[POOL] no temp change, skip update_pump");
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
status.lock_update = false;
|
||||
}
|
||||
@ -335,10 +350,15 @@ Timer.set(
|
||||
true,
|
||||
function() {
|
||||
status.tick++;
|
||||
let result = Shelly.getComponentStatus("sys");
|
||||
print("[POOL] tick", result.time);
|
||||
status.time = result.time;
|
||||
status.uptime = result.uptime;
|
||||
Shelly.call (
|
||||
"Sys.GetStatus",
|
||||
{},
|
||||
function (result) {
|
||||
print("[POOL] tick", result.time);
|
||||
status.time = result.time;
|
||||
status.uptime = result.uptime;
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user