cleaned filtration time
* filtration time is now fixed inside each range, instead of trying to follow linear curve * don't bother being super accurate, that's too much over-engineering after all ;)
This commit is contained in:
parent
5c7b06ff86
commit
531acd4d05
51
pool.js
51
pool.js
@ -28,12 +28,22 @@ let status = {
|
||||
|
||||
// temperature->duration chart
|
||||
let filt_time = [
|
||||
[ 5, 1.0 ], // at 5°C, 1 hour of filtering
|
||||
[ 10, 2.0 ],
|
||||
[ 12, 4.0 ],
|
||||
[ 16, 6.0 ],
|
||||
[ 24, 8.0 ],
|
||||
[ 27, 12.0 ],
|
||||
[ 5, 2.0 ], // at 5°C, 2 hours of filtering
|
||||
[ 8, 3.0 ],
|
||||
[ 10, 4.0 ],
|
||||
[ 11, 5.0 ],
|
||||
[ 12, 6.0 ],
|
||||
[ 14, 7.0 ],
|
||||
[ 16, 8.0 ],
|
||||
[ 18, 9.0 ],
|
||||
[ 20, 10.0 ],
|
||||
[ 22, 11.0 ],
|
||||
[ 24, 12.0 ],
|
||||
[ 25, 14.0 ],
|
||||
[ 26, 17.0 ],
|
||||
[ 27, 20.0 ],
|
||||
[ 28, 22.0 ],
|
||||
[ 29, 23.0 ],
|
||||
[ 30, 24.0 ]
|
||||
];
|
||||
|
||||
@ -62,23 +72,17 @@ function compute_filtration_time(t) {
|
||||
// [ start1, stop1, start2, stop2, ... ]
|
||||
|
||||
function compute_schedule_filt(d) {
|
||||
let s = null;
|
||||
if (d < 2) {
|
||||
s = [ 9, 9+d ];
|
||||
} else if (d < 8) {
|
||||
s = [ 9, 10, 14, 14+d-1 ];
|
||||
} else if (d < 11) {
|
||||
s = [ 9, 11, 14, 14+d-2 ];
|
||||
} else if (d < 14) {
|
||||
s = [ 9, 9+d-9, 14, 23];
|
||||
} else if (d < 15) {
|
||||
s = [ 9, 9+d ];
|
||||
} else if (d < 18) {
|
||||
s = [ 24-d, 0 ];
|
||||
} else if (d < 24) {
|
||||
s = [ 6, d-18 ];
|
||||
} else {
|
||||
s = [ 6 ];
|
||||
let start = 17 - d/2;
|
||||
let stop = 17 + d/2;
|
||||
|
||||
while (stop >= 24)
|
||||
stop = stop - 24;
|
||||
|
||||
if (d < 24) {
|
||||
let s = [ start, stop ];
|
||||
}
|
||||
else {
|
||||
let s = [ start ];
|
||||
}
|
||||
|
||||
return s;
|
||||
@ -142,7 +146,6 @@ function do_call(calls) {
|
||||
}
|
||||
|
||||
// compute & configure pump schedule
|
||||
// TODO force on when duration==24
|
||||
// TODO force off when duration==0
|
||||
// TODO freeze mode if cur < 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user