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:
Tallagrand Thierry
2026-10-07 07:25:41 +02:00
parent c9e0e4bb5a
commit 36c2fb713a
10 changed files with 654 additions and 12 deletions

View File

@@ -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