HA Bilan energetique : nuage soiree/nuit (ApexCharts), points publies dans sensor.evcs_nuit_maison_prevue_kwh
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
This commit is contained in:
@@ -2015,19 +2015,23 @@ async function publierNuitMaison(client) {
|
||||
if (DRY || !client) return 0;
|
||||
const maintenant = new Date();
|
||||
const cadre = nuitMaisonPrevue([], NaN, maintenant);
|
||||
let res = cadre;
|
||||
// Les nuits closes sont lues A CHAQUE fois, meme le jour : elles alimentent
|
||||
// aussi le nuage du tableau HA (attribut `nuage`, [soiree, nuit, voiture 0/1]).
|
||||
const nuits = (await client.query(NUITS_SQL +
|
||||
'\nSELECT soiree_kwh AS soiree, maison_nuit_kwh AS nuit, voiture_kwh AS voiture FROM nuits ORDER BY j')).rows;
|
||||
let soiree = NaN;
|
||||
if (cadre.etat !== 'hors_fenetre') {
|
||||
const nuits = (await client.query(NUITS_SQL + '\nSELECT soiree_kwh AS soiree, maison_nuit_kwh AS nuit FROM nuits')).rows;
|
||||
const debut = cadre.attributs.debut_ms;
|
||||
const soir = (await client.query(SOIREE_SQL, [debut - 3.5 * 3600000, debut])).rows[0];
|
||||
// Une soiree sans mesure (service arrete) ne vaut pas zero kWh.
|
||||
const soiree = soir && Number(soir.points) > 0 ? Number(soir.kwh) : NaN;
|
||||
res = nuitMaisonPrevue(nuits, soiree, maintenant);
|
||||
soiree = soir && Number(soir.points) > 0 ? Number(soir.kwh) : NaN;
|
||||
}
|
||||
const res = nuitMaisonPrevue(nuits, soiree, maintenant);
|
||||
const nuage = nuits.map((n) => [Number(n.soiree), Number(n.nuit), Number(n.voiture) >= 0.5 ? 1 : 0]);
|
||||
await publierCapteur('sensor.evcs_nuit_maison_prevue_kwh', res.etat, {
|
||||
friendly_name: 'EVCS — nuit de la maison prevue par la soiree', icon: 'mdi:chart-scatter-plot',
|
||||
unit_of_measurement: typeof res.etat === 'number' ? 'kWh' : undefined, ...res.attributs,
|
||||
calcule_a: maintenant.toISOString(),
|
||||
nuage, calcule_a: maintenant.toISOString(),
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user