evcs_import_jour_kwh : le compteur du contacteur EDF fait foi, le MultiPlus en recoupement et en repli
Premier releve live (26/09 12:19) : compteur EDF 0,8 = VRM, delta des compteurs AC-in du MultiPlus 0,7 (0,6 + 0,1, pas apparent de 0,1 kWh). Repli sur le MultiPlus si le compteur EDF est muet ou remis a zero. Tests diagnostics 55/55, deux mutations qui mordent. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011xd7aRDEChdShwsECohnDN
This commit is contained in:
@@ -223,24 +223,25 @@ for (const [nom, r, test] of res) {
|
||||
console.log(`${ok ? 'OK ' : 'KO '} ${nom}`);
|
||||
}
|
||||
|
||||
// Import depuis minuit. Valeurs de minuit fictives, deltas du 26/09 (0,8 kWh VRM).
|
||||
// Import depuis minuit. Releve reel du 26/09 12:19 : EDF 0,8 (= VRM), MultiPlus 0,6 + 0,1.
|
||||
const [OUT, INV] = COMPTEURS_IMPORT;
|
||||
const mn = { [OUT]: 1200.00, [INV]: 845.00, [COMPTEUR_EDF]: 3082.00 };
|
||||
const mn = { [OUT]: 1200.0, [INV]: 845.0, [COMPTEUR_EDF]: 3082.0 };
|
||||
const ok26 = { [OUT]: 1200.6, [INV]: 845.1, [COMPTEUR_EDF]: 3082.83 };
|
||||
const imp = [
|
||||
['26/09 : 0,5 vers maison + 0,3 vers batterie -> 0,8 complet, recoupe EDF',
|
||||
importJour({ [OUT]: 1200.5, [INV]: 845.3, [COMPTEUR_EDF]: 3082.83 }, mn),
|
||||
(r) => r.etat === 0.8 && r.attributs.statut === 'complet' && r.attributs.compteur_edf_kwh === 0.8
|
||||
&& r.attributs.detail_kwh.vers_ac_out === 0.5 && r.attributs.detail_kwh.vers_inverter === 0.3],
|
||||
['26/09 : le compteur EDF fait foi -> 0,8 comme VRM, MultiPlus 0,7 en recoupement',
|
||||
importJour(ok26, mn), (r) => r.etat === 0.8 && r.attributs.source === 'compteur_edf' && r.attributs.victron_kwh === 0.7],
|
||||
['journee sans reseau -> 0, pas indisponible',
|
||||
importJour({ [OUT]: 1200, [INV]: 845, [COMPTEUR_EDF]: 3082 }, mn), (r) => r.etat === 0 && r.attributs.statut === 'complet'],
|
||||
['compteur remis a zero -> indetermine, jamais un import negatif',
|
||||
importJour({ [OUT]: 3.2, [INV]: 845.3 }, mn), (r) => r.etat === 'indetermine'],
|
||||
['un compteur illisible -> partiel, au moins',
|
||||
importJour({ [OUT]: 1200.5, [INV]: null }, mn), (r) => r.etat === 0.5 && r.attributs.statut === 'partiel'],
|
||||
['valeur de minuit inconnue -> indisponible',
|
||||
importJour({ [OUT]: 1200.5, [INV]: 845.3 }, {}), (r) => r.etat === 'indisponible'],
|
||||
['compteur EDF absent : le total ne change pas, recoupement null',
|
||||
importJour({ [OUT]: 1200.5, [INV]: 845.3 }, mn), (r) => r.etat === 0.8 && r.attributs.compteur_edf_kwh === null],
|
||||
['compteur EDF remis a zero -> repli MultiPlus, jamais un import negatif',
|
||||
importJour({ ...ok26, [COMPTEUR_EDF]: 0.4 }, mn), (r) => r.etat === 0.7 && r.attributs.statut === 'repli_victron'],
|
||||
['compteur EDF muet -> repli MultiPlus, dit « environ »',
|
||||
importJour({ ...ok26, [COMPTEUR_EDF]: null }, mn), (r) => r.etat === 0.7 && /Environ/.test(r.attributs.explication)],
|
||||
['EDF muet ET un MultiPlus remis a zero -> indisponible',
|
||||
importJour({ [OUT]: 3.2, [INV]: 845.1, [COMPTEUR_EDF]: null }, mn), (r) => r.etat === 'indisponible'],
|
||||
['EDF muet ET un MultiPlus muet -> indisponible, pas de total partiel',
|
||||
importJour({ [OUT]: 1200.6, [INV]: null, [COMPTEUR_EDF]: null }, mn), (r) => r.etat === 'indisponible'],
|
||||
['valeurs de minuit inconnues -> indisponible',
|
||||
importJour(ok26, {}), (r) => r.etat === 'indisponible'],
|
||||
];
|
||||
for (const [nom, r, test] of imp) {
|
||||
const ok = test(r);
|
||||
|
||||
Reference in New Issue
Block a user