sensor.evcs_reseau : verdict de raccordement conscient du contacteur (un 0 fige n'est pas une panne quand EDF est ouvert)

Incident du 26/09 : l'agent vocal a annonce le capteur reseau bloque a 07:24,
alors que le contacteur s'etait ouvert a la fin des heures creuses. Le verdict
ne juge l'age de la mesure que contacteur ferme ; ouvert, c'est non_raccorde.
Tests diagnostics 37 -> 48, trois 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:
Tallagrand Thierry
2026-09-26 11:51:03 +02:00
parent 0f2cf8566f
commit 7a5ab7a616
3 changed files with 146 additions and 3 deletions

View File

@@ -30,7 +30,7 @@ import path from 'node:path';
import { fileURLToPath } from 'node:url';
import pg from 'pg';
import { texteRapport, envoyer, donneesNuit, texteDepuis } from './rapport-nuit.mjs';
import { diagnosticPv, etatCellules, productionJour, chargeSolaire, bilanNuit } from './diagnostics-agent.mjs';
import { diagnosticPv, etatCellules, productionJour, chargeSolaire, bilanNuit, etatReseau } from './diagnostics-agent.mjs';
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
const ONCE = process.argv.includes('--once');
@@ -1853,6 +1853,11 @@ async function publierDiagnosticPv(st) {
await publierCapteur('sensor.evcs_charge_solaire', ch.etat, {
friendly_name: 'EVCS — charge voiture (decision du controleur)', icon: 'mdi:ev-station', ...ch.attributs,
});
// Raccordement reseau : contacteur ouvert = import nul, pas une panne (26/09).
const rr = etatReseau(st);
await publierCapteur('sensor.evcs_reseau', rr.etat, {
friendly_name: 'EVCS — raccordement reseau EDF', icon: 'mdi:transmission-tower', ...rr.attributs,
});
return 1;
}