Chauffe-eau : Grafana « Le chauffe-eau », historisation (compteur rattrape depuis le 14/08), jour faible = aussi surplus solaire reel et securite douche de 20 h
This commit is contained in:
@@ -5,6 +5,20 @@
|
||||
// indisponible ne cree ni energie negative ni saut.
|
||||
export const COMPTEUR_CHAUFFE_EAU = 'sensor.tt_chauffe_eau_pleumeur_energie_totale';
|
||||
|
||||
// Energie depuis `depuisMs` (meme regle : somme des hausses ; le point juste
|
||||
// avant la borne sert de reference).
|
||||
export function energieDepuis(serie, depuisMs) {
|
||||
const pts = (serie || []).map((e) => [Date.parse(e.last_changed), Number.parseFloat(e.state)])
|
||||
.filter(([t, v]) => Number.isFinite(t) && Number.isFinite(v));
|
||||
if (!pts.length) return null;
|
||||
let ref = null; const apres = [];
|
||||
for (const p of pts) { if (p[0] <= depuisMs) ref = p; else apres.push(p); }
|
||||
const vals = (ref ? [ref, ...apres] : apres).map((p) => p[1]);
|
||||
let kwh = 0;
|
||||
for (let i = 1; i < vals.length; i++) if (vals[i] > vals[i - 1]) kwh += vals[i] - vals[i - 1];
|
||||
return Math.round(kwh * 100) / 100;
|
||||
}
|
||||
|
||||
export function energieSur24h(serie) {
|
||||
const vals = (serie || []).map((e) => Number.parseFloat(e.state)).filter(Number.isFinite);
|
||||
if (!vals.length) return null; // compteur illisible sur 24 h : on ne dit rien
|
||||
|
||||
Reference in New Issue
Block a user