Files
EVCS/docs/mesures/campagne-conseiller-2026-09-12.json
Tallagrand Thierry 4a9ad0bc65 Le conseiller ne lisait pas mal : on lui parlait mal
Reprise de la campagne apres la specialisation en observateur. Le harnais
affichait encore `strategy` et `night_target_soc`, deux champs que
l observateur n emet plus : il mesurait des undefined. Reecrit pour noter
ce qui compte chez un observateur — la gravite tombe-t-elle dans la
fourchette attendue, et a-t-il NOMME la chose, par des mots-cles choisis
hors du vocabulaire du prompt.

Quatre defauts trouves, aucun n etant un defaut de raisonnement du modele :

- « Contacteur FERME » : pour un relais, ferme veut dire qui laisse passer.
  Le modele l a lu comme coupe et a demande, reseau present, « pourquoi le
  contacteur reste FERME alors que le bilan juge le reseau necessaire ».
- Le signe de l excedent : le prompt affichait « 14 W », il a ecrit
  « negatif (-14 W) » — et sur un autre cas « negatif » puis « positif » au
  passage suivant, sur le MEME prompt.
- « day_vehicle_full_idle » ne veut rien dire pour lui : il signalait une
  ressource refusee sans voir que le vehicule est PLEIN.
- Un excedent calcule sous censure ne veut rien dire : sur le BOOST du
  11/09 il concluait « pas de soleil, donc le reseau est normal » alors que
  les 121 W de PV sont bas PARCE QUE la consigne de 8260 W les evince.

Plus une grandeur derivee de plus, `consigne - maison`, parce qu il voyait
la version flagrante du defaut (SOC 20, 0 A) et manquait la version
discrete (SOC 45, +2 A). Elle a d abord fait TOMBER le cas du BOOST, en
annoncant « il reste 7005 W pour recharger » comme une bonne nouvelle sur
une batterie a 96 % : corrigee en lui faisant dire l inverse quand il n y a
rien a recharger, la question ayant deja une reponse dans le bilan.

Trois defauts etaient les miens : deux fixtures decrivaient un etat que
l installation ne peut pas prendre — c est le conseiller qui l a signale —
et un attendu exigeait « haute » la ou l echelle de gravite du prompt ancre
elle-meme cet incident sur « moyenne ».

Incidents 39/40 au final, contre 23/35 au depart. Les deux cas de vrai
silence restent silencieux 5/5.

⚠️ Trouve en marge : cinq helpers du conseiller sont geles depuis la
specialisation, et le cablage de la cible SOC matin les lit encore — ses
quatre gardes passent toutes, la fraicheur datant le RUN et non la VALEUR.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-13 11:59:24 +02:00

881 lines
45 KiB
JSON

[
{
"id": "1-nuit-bloquee-sans-vehicule",
"t": "2026-09-12T04:00:00+02:00",
"certain": true,
"titre": "12/09 04:00 — SOC 20, HC ouvertes, aucun vehicule, bilan 59,1 %",
"attendu": "AGIR : engager le reseau, cible ~59 %",
"s": {
"soc_percent": "20",
"battery_current_a": "0",
"house_ac_power_w": "612",
"grid_state": "on",
"acin1_available": "1",
"night_target_soc_actual": "59.1",
"tomorrow_kwh": "75.2",
"balance_required_soc": "59.1",
"balance_required_soc_prudent": "66.2",
"balance_energy_to_cover_kwh": "3.13",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "3.4",
"balance_storage_shortfall_kwh": "6.77"
},
"passages": [
{
"constat": "SOC 20 % (plancher), reseau ferme, excedent -612 W. Bilan demande 59.1 % pour le matin. Manque de stockage critique.",
"gravite": "haute",
"ce_qui_cloche": "La batterie est au plancher de securite alors que le bilan identifie un besoin de 3.4 kWh sur le reseau et une cible de 59.1 %. Le systeme ne charge pas la nuit.",
"piste": "Verifier pourquoi le contacteur reste ferme ou si la consigne de 700 W bloque la charge nocturne. La marge de decharge est a 0 %, risque de coupure.",
"confidence": 0.95
},
{
"constat": "SOC 20 % (plancher), réseau fermé, déficit de 3.13 kWh à couvrir avant 9h. Le bilan exige le réseau mais il est coupé.",
"gravite": "haute",
"ce_qui_cloche": "Le contacteur EDF reste FERMÉ alors que le bilan identifie un besoin réseau de 3.4 kWh pour atteindre la cible SOC de 59.1 %. La batterie est au plancher de sécurité (20 %) et ne peut pas couvrir seule le déficit nocturne/matinale sans tomber sous les seuils critiques ou manquer l'énergie solaire du matin.",
"piste": "Vérifier pourquoi le 'Battery / Grid Hysteresis Fix V1' n'a pas ouvert le contacteur malgré le signal 'réseau jugé nécessaire : OUI'. Un script tiers ou une condition d'hystérésis bloquante empêche probablement la bascule vers le réseau.",
"confidence": 0.95
},
{
"constat": "SOC 20% au plancher, réseau fermé, déficit de 3.13 kWh à couvrir avant 9h. Le bilan exige le réseau mais il est coupé.",
"gravite": "haute",
"ce_qui_cloche": "Le contacteur EDF reste FERMÉ alors que le bilan indique 'réseau jugé nécessaire: OUI'. La batterie ne peut pas atteindre la cible de 59.1% sans recharge réseau, ce qui entraînera un déficit matinal payé au plein tarif ou une panne de service.",
"piste": "Vérifier pourquoi le propriétaire du contacteur (Battery / Grid Hysteresis Fix V1) n'a pas basculé en ouverture pour permettre la recharge réseau. Un script tiers ou un verrou hysteresis bloquant pourrait empêcher l'actionneur d'agir malgré la demande du bilan.",
"confidence": 0.95
}
]
},
{
"id": "2-nuit-relachee-trop-tot",
"t": "2026-09-03T03:00:00+02:00",
"certain": true,
"titre": "03/09 03:00 — SOC 45, bilan 50,4 % (releche a tort : batterie a 20 % a 06:30)",
"attendu": "AGIR : tenir le reseau, cible ~50 %",
"s": {
"soc_percent": "45",
"battery_current_a": "2",
"house_ac_power_w": "700",
"grid_state": "on",
"acin1_available": "1",
"evcs_vehicle_connected": "on",
"evcs_surplus_state": "night_session_done_idle",
"evcs_source_mode": "Réseau HC autorisé",
"night_target_soc_actual": "50.4",
"tomorrow_kwh": "33.9",
"balance_required_soc": "50.4",
"balance_required_soc_prudent": "57",
"balance_energy_to_cover_kwh": "4.3",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "1.1"
},
"passages": [
{
"constat": "Nuit, réseau fermé (HC), batterie 45% charge 2A. Bilan demande 50.4% pour 9h. Voiture branchée mais excédent solaire nul.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "Nuit, PV 0 W. Batterie 45 % (cible 50.4 %). Réseau fermé pour couvrir le déficit de 700 W. Voiture branchée mais non chargée.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 1
},
{
"constat": "Nuit, PV 0 W. Batterie 45 % (cible 50.4 %). Réseau fermé pour couvrir le déficit de 700 W. Voiture branchée mais non chargée.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 1
}
]
},
{
"id": "3-nuit-couverte-ne-rien-faire",
"t": "2026-09-12T04:00:00+02:00",
"certain": true,
"titre": "CONTREFACTUEL — meme nuit mais SOC 70, au-dessus des 59,1 % requis",
"attendu": "NE RIEN FAIRE : auto_solar_plus, pas de reseau",
"s": {
"soc_percent": "70",
"battery_current_a": "-12",
"house_ac_power_w": "612",
"grid_state": "off",
"acin1_available": "0",
"night_target_soc_actual": "59.1",
"tomorrow_kwh": "75.2",
"balance_required_soc": "59.1",
"balance_required_soc_prudent": "66.2",
"balance_energy_to_cover_kwh": "3.13",
"balance_grid_needed": "off"
},
"passages": [
{
"constat": "Batterie 70 % (cible 59.1 %), décharge -12 A, réseau ouvert. Bilan cohérent : 3.13 kWh à couvrir avant 09h.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.98
},
{
"constat": "Nuit, PV 0 W. Batterie se decharge (-12 A) pour couvrir la maison (612 W). Contacteur ouvert. Cible SOC 59.1 % coherente avec le bilan.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.98
},
{
"constat": "SOC 70% > cible 59.1%. Decharge -12A (4,8kW) incoherente avec charge maison de 612W. PV a 0W.",
"gravite": "haute",
"ce_qui_cloche": "La batterie se vide a pleine puissance (-12A) alors que la consommation est faible et qu'il n'y a pas de vehicule branche. Le courant ne correspond pas a la charge mesuree.",
"piste": "Verifier si un ecrivain externe (scripts ou EVCS) force le courant de decharge ou si le contacteur EDF bascule repetitivement (oscillation).",
"confidence": 0.9
}
]
},
{
"id": "4-hiver-nuit-longue",
"t": "2026-12-15T23:30:00+01:00",
"certain": false,
"titre": "HIVER — 15/12 23:30, prevision 6 kWh demain, croisement tardif a 11 h",
"attendu": "OUVERT : quelle cible pour une nuit d hiver ?",
"s": {
"soc_percent": "55",
"battery_current_a": "-18",
"house_ac_power_w": "1400",
"grid_state": "off",
"acin1_available": "0",
"night_target_soc_actual": "85",
"tomorrow_kwh": "6.2",
"balance_required_soc": "88",
"balance_required_soc_prudent": "97",
"balance_energy_to_cover_kwh": "9.4",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "5.1",
"balance_crossing_hour": "11 h",
"balance_storage_shortfall_kwh": "8.2"
},
"passages": [
{
"constat": "Batterie a 55% (-18A), reseau ouvert. Bilan exige 88-97% pour demain matin (11h). Manque de stockage critique identifie.",
"gravite": "haute",
"ce_qui_cloche": "Le contacteur EDF est ouvert alors que le bilan juge le reseau necessaire (5.1 kWh) et que la batterie ne peut pas couvrir le deficit nocturne/matinale sans tomber sous le plancher ou manquer l'objectif de 88%.",
"piste": "Verifier pourquoi le contacteur reste ouvert : conflit avec 'Battery / Grid Hysteresis Fix V1' ou blocage par un script/automate qui ignore le signal du bilan energetique.",
"confidence": 0.95
},
{
"constat": "Batterie a 55% (-18A), reseau ouvert. Bilan exige 88-97% pour demain, manque 8.2 kWh. Consigne reseau 700W limite la recharge nocturne.",
"gravite": "moyenne",
"ce_qui_cloche": "Le contacteur reste ouvert alors que le bilan identifie un besoin de 5.1 kWh du reseau et une cible de 88%. La consigne de 700W est trop basse pour combler le deficit avant 11h.",
"piste": "Verifier pourquoi le contacteur ne se ferme pas (seuil hysteresis ou blocage EVCS). Augmenter la consigne de puissance reseau pour permettre la recharge en heures creuses.",
"confidence": 0.9
},
{
"constat": "Batterie a 55% (-18A), reseau ouvert. Bilan exige 88-97% pour demain, manque 8.2 kWh. Consigne reseau 700W bloque la charge.",
"gravite": "moyenne",
"ce_qui_cloche": "Le contacteur reste ouvert alors que le bilan identifie un besoin de 5.1 kWh du reseau. La consigne de 700W evite la charge nocturne gratuite (HC) et force l'achat au plein tarif le matin.",
"piste": "Verifier pourquoi le Battery/Grid Hysteresis Fix V1 ne ferme pas le contacteur pour charger vers la cible de 85%. La marge de decharge (82A) est suffisante pour accepter cette charge sans fragiliser le parc.",
"confidence": 0.95
}
]
},
{
"id": "5-soir-deficit-ne-pas-demarrer",
"t": "2026-09-03T19:44:00+02:00",
"certain": true,
"titre": "03/09 19:44 — PV 758 W mais maison 1202 W : excedent NEGATIF (-444 W)",
"attendu": "NE PAS DEMARRER la charge",
"s": {
"soc_percent": "94",
"battery_current_a": "-12.2",
"pv_power_w": "758",
"pv_power_10m_avg_w": "900",
"house_ac_power_w": "1202",
"evcs_vehicle_connected": "on",
"vehicle_selected": "VW",
"evcs_source_mode": "Potentiel solaire",
"mppt_operation_modes": "mppt_active,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active",
"balance_required_soc": "99.7",
"balance_required_soc_prudent": "100",
"balance_energy_to_cover_kwh": "11.66",
"balance_grid_needed": "on",
"tomorrow_kwh": "33.9"
},
"passages": [
{
"constat": "Batterie a 94 % (marge parc 12 %) avec excedent solaire negatif (-444 W) et voiture branchee. Le bilan exige 99,7 % pour demain matin.",
"gravite": "faible",
"ce_qui_cloche": "Le controleur affiche 'vehicle_not_connected' alors que la VW est branchee, empechant l'utilisation de l'excedent ou la gestion fine du SOC cible.",
"piste": "Verifier le detecteur de presence vehicule du EVCS Surplus Controller V2.6 pour qu'il reconnaisse la charge en cours.",
"confidence": 0.95
},
{
"constat": "Batterie a 94 % (marge decharge 12 %), excedent solaire negatif (-444 W). Le bilan exige 99.7 % pour demain matin, mais le parc est quasi plein.",
"gravite": "faible",
"ce_qui_cloche": "Le systeme ne peut pas stocker l'energie necessaire au bilan (manque 6.8 kWh) car la batterie est proche du plafond et la production est insuffisante pour charger davantage sans evincer la maison.",
"piste": "Verifier si la consigne reseau de 700 W permet d'absorber un surplus eventuel ou si la limite de charge du parc bloque la progression vers les 100 % requis par le bilan.",
"confidence": 0.95
},
{
"constat": "Batterie a 94 % (marge parc 12 %), excedent solaire negatif (-444 W) avec voiture branchee. Bilan demande 99.7 % pour demain.",
"gravite": "faible",
"ce_qui_cloche": "Le controleur affiche 'vehicle_not_connected' alors que le vehicule est detecte comme BRANCHE. Incoherence d'etat entre detection et logique de pilotage.",
"piste": "Verifier pourquoi l'EVCS Surplus Controller V2.6 ne detecte pas la presence du vehicule ou si un script externe force cet etat, empechant une charge eventuelle sur surplus.",
"confidence": 0.85
}
]
},
{
"id": "6-censure-demarrer",
"t": "2026-09-03T18:50:00+02:00",
"certain": true,
"titre": "03/09 18:50 — PV 769 W, maison 755 W, chargeurs BRIDES : ressource refusee",
"attendu": "DEMARRER : la ressource est gratuite",
"s": {
"soc_percent": "94",
"battery_current_a": "0",
"pv_power_w": "769",
"pv_power_10m_avg_w": "800",
"house_ac_power_w": "755",
"evcs_vehicle_connected": "on",
"vehicle_selected": "VW",
"evcs_source_mode": "Potentiel solaire",
"mppt_operation_modes": "voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited",
"balance_pv_censored": "on",
"balance_censor_reason": "batterie_pleine_sans_puits",
"balance_required_soc": "99.7",
"balance_required_soc_prudent": "100",
"balance_energy_to_cover_kwh": "11.66",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "4.9",
"tomorrow_kwh": "33.9"
},
"passages": [
{
"constat": "Batterie pleine (94%), PV bridés (6/6), excédent quasi nul (14 W). Le bilan exige 99.7% pour demain, mais le parc est au plafond de charge.",
"gravite": "moyenne",
"ce_qui_cloche": "Le bilan identifie un manque de stockage de 6.8 kWh et juge le réseau nécessaire (4.9 kWh), mais la batterie étant saturée, l'énergie solaire est perdue (bridée) au lieu d'être stockée ou utilisée.",
"piste": "Vérifier si la consigne de puissance réseau (700 W) permettrait d'absorber cet excédent résiduel ou si la stratégie 'auto_solar_plus' doit prioriser la voiture sur ce surplus marginal avant la nuit.",
"confidence": 0.95
},
{
"constat": "PV bridee (6/6) avec excedent negatif (-14 W). Batterie a 94 % (plafond 100 A). Voiture branchee mais non chargee.",
"gravite": "faible",
"ce_qui_cloche": "La production solaire est refusee alors que la voiture est branchee, mais l'excedent net est negatif. Le systeme protege correctement le parc et la batterie.",
"piste": "Verifier si la strategie 'auto_solar_plus' permet de charger la voiture sur reseau en heures creuses pour eviter les pertes futures, mais rien a corriger immediatement.",
"confidence": 0.95
},
{
"constat": "Batterie a 94 % (plafond), PV bridee (6/6 chargeurs), excedent solaire negligeable (14 W). Le bilan exige 100 % pour demain.",
"gravite": "moyenne",
"ce_qui_cloche": "La production est refusee car la batterie est pleine, mais le bilan indique un besoin de reseau (4.9 kWh) et une cible de 100 %. L'excedent ne permet pas de charger la voiture sans vider la reserve.",
"piste": "Verifier si la consigne reseau (700 W) peut etre augmentee pour absorber l'energie refusee ou si le systeme attend bien le basculement sur EDF pour couvrir le deficit nocturne.",
"confidence": 0.85
}
]
},
{
"id": "7-boost-evince-le-solaire",
"t": "2026-09-11T17:02:00+02:00",
"certain": true,
"titre": "11/09 17:02 — BOOST 28 A, consigne 8260 W, PV effondre a 121 W",
"attendu": "AGIR : reduire la demande reseau, le solaire est evince",
"s": {
"soc_percent": "96",
"battery_current_a": "0",
"pv_power_w": "121",
"pv_power_10m_avg_w": "150",
"house_ac_power_w": "7695",
"evcs_vehicle_connected": "on",
"evcs_charging": "on",
"evcs_current_a": "28",
"vehicle_selected": "JEEP",
"user_strategy": "force_grid_now",
"grid_state": "on",
"acin1_available": "1",
"grid_setpoint_w": "8260",
"evcs_source_mode": "Réseau forcé",
"evcs_surplus_state": "charging_hold_grid",
"mppt_operation_modes": "voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited",
"plafond_edf_on_a": "28",
"balance_pv_censored": "on",
"balance_censor_reason": "production_bridee",
"balance_required_soc": "62",
"balance_required_soc_prudent": "70",
"balance_energy_to_cover_kwh": "5.2",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "1.4",
"balance_crossing_hour": "09 h",
"today_remaining_kwh": "8.4",
"tomorrow_kwh": "75.2"
},
"passages": [
{
"constat": "Batterie a 96% (plafond), PV bridee (121W), voiture chargee a 28A. Excedent solaire negatif (-1134W).",
"gravite": "moyenne",
"ce_qui_cloche": "La voiture consomme de l'energie qui force la production PV a se brider et vide la batterie au lieu de stocker le surplus gratuit.",
"piste": "Verifier si la strategie 'force_grid_now' est coherente avec un excedent negatif : charger la voiture maintenant coute du reseau ou du stockage, alors que les chargeurs sont satures.",
"confidence": 0.95
},
{
"constat": "Batterie a 96% (plafond), PV bridee (121W) alors que la maison consomme 7.7kW. Le reseau est force pour eviter l'oscillation du contacteur.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "Batterie a 96% (plafond), PV bridee, voiture chargee. Bilan demande reseau pour couvrir le deficit nocturne.",
"gravite": "moyenne",
"ce_qui_cloche": "La batterie est pleine et bloque la production solaire (bridee). Le bilan indique un besoin de reseau (1.4 kWh) mais le systeme reste en mode 'force_grid_now' sans que le contacteur ne bascule explicitement ou que la consigne ne soit ajustee pour absorber ce manque specifique identifie par le bilan.",
"piste": "Verifier si le controleur EVCS Surplus Controller V2.6 ou l'automatisation ajuste correctement la consigne de puissance reseau pour permettre l'achat des 1.4 kWh identifies comme necessaires par le bilan, maintenant que la batterie est saturee.",
"confidence": 0.85
}
]
},
{
"id": "8-voiture-pleine-ne-pas-reessayer",
"t": "2026-09-07T14:28:00+02:00",
"certain": true,
"titre": "07/09 14:28 — borne annonce charge terminee, vehicule branche immobile",
"attendu": "NE RIEN FAIRE : ne pas relancer la charge",
"s": {
"soc_percent": "97",
"battery_current_a": "1",
"pv_power_w": "2114",
"pv_power_10m_avg_w": "2000",
"house_ac_power_w": "1965",
"evcs_vehicle_connected": "on",
"evcs_current_a": "0",
"vehicle_selected": "JEEP",
"evcs_surplus_state": "day_vehicle_full_idle",
"evcs_source_mode": "Bloqué",
"mppt_operation_modes": "voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited",
"balance_pv_censored": "on",
"balance_censor_reason": "batterie_pleine_sans_puits",
"balance_required_soc": "58",
"balance_required_soc_prudent": "66",
"balance_energy_to_cover_kwh": "4.6",
"balance_grid_needed": "off",
"balance_crossing_hour": "09 h",
"today_remaining_kwh": "12",
"tomorrow_kwh": "30"
},
"passages": [
{
"constat": "PV bride (6/6) avec excedent positif de 149 W et vehicule branche. La ressource solaire refusee n'est pas absorbee par la voiture.",
"gravite": "moyenne",
"ce_qui_cloche": "Le controleur 'day_vehicle_full_idle' bloque la charge EV alors que l'excedent solaire est positif et que les chargeurs se brident. L'energie gratuite est perdue au lieu d'etre stockee dans le vehicule.",
"piste": "Verifier pourquoi le Surplus Controller V2.6 ne declenche pas la charge sur un excedent de 149 W. Le seuil de declenchement ou la logique du mode 'idle' est probablement trop restrictif.",
"confidence": 0.95
},
{
"constat": "PV bridee (6/6) avec excedent negatif (-149 W). Batterie a 97% (plafond), contacteur ouvert. Voiture branchee mais non chargee.",
"gravite": "moyenne",
"ce_qui_cloche": "La production solaire est refusee alors que la voiture est branchee et que le bilan indique un deficit nocturne de 2 kWh. L'excedent negatif empeche la charge EVCS, mais la ressource existe (bridee).",
"piste": "Verifier si l'EVCS Surplus Controller V2.6 bloque la charge a cause du SOC eleve ou de la consigne reseau. Considerer une charge minimale pour absorber l'excedent refuse avant la nuit.",
"confidence": 0.85
},
{
"constat": "PV bridee (6/6) avec excedent negatif (-149 W). Batterie a 97 % (plafond), contacteur ouvert. Voiture branchee mais non chargee.",
"gravite": "moyenne",
"ce_qui_cloche": "Ressource solaire refusee (bridee) alors que la voiture est branchee et que le bilan indique un deficit nocturne de 2 kWh. L'excedent negatif empeche la charge EVCS, mais la production perdue represente une opportunite manquee gratuite.",
"piste": "Verifier si l'EVCS Surplus Controller V2.6 permet une charge minimale ou si la consigne de puissance reseau (700 W) bloque l'absorption de l'excedent par la voiture. Considerer fermer le contacteur pour absorber le surplus via la voiture si la marge du parc le permet sans fragilisation.",
"confidence": 0.85
}
]
},
{
"id": "9-pointe-cuisson-proteger-le-parc",
"t": "2026-09-05T20:40:00+02:00",
"certain": true,
"titre": "05/09 20:40 — maison 4944 W, batterie a -97,4 A pour une limite de 100 A",
"attendu": "AGIR : appeler le reseau, le parc est a sa limite",
"s": {
"soc_percent": "79",
"battery_current_a": "-97.4",
"pv_power_w": "320",
"pv_power_10m_avg_w": "500",
"house_ac_power_w": "4944",
"grid_state": "off",
"acin1_available": "0",
"balance_required_soc": "62",
"balance_required_soc_prudent": "70",
"balance_energy_to_cover_kwh": "5.1",
"balance_grid_needed": "on",
"tomorrow_kwh": "32"
},
"passages": [
{
"constat": "Batterie a 79 % (plafond 80 %) avec marge de decharge quasi nulle (3 A). Consigne reseau 700 W incoherente avec contacteur ouvert.",
"gravite": "moyenne",
"ce_qui_cloche": "La consigne de puissance reseau est fixee a 700 W alors que le contacteur est ouvert. Si un ecrivain non autorise force la fermeture, la batterie ne peut pas absorber l'ecart sans depasser sa limite de charge ou declencher une protection.",
"piste": "Verifier qui ecrit sur la consigne de puissance reseau (proprietaire : Battery / Grid Hysteresis Fix V1) et pourquoi elle n'est pas alignee sur l'etat du contacteur.",
"confidence": 0.95
},
{
"constat": "Batterie a 79% (plafond parc) avec decharge -97A. Excedent solaire negatif (-4624W). Bilan demande 62% pour demain matin.",
"gravite": "moyenne",
"ce_qui_cloche": "La batterie est bloquee au plafond du parc (97% de la marge) et se decharge fortement. Le bilan indique un besoin de reseau (OUI) mais le contacteur est ouvert, ce qui force la maison a puiser dans la reserve solaire critique pour demain matin.",
"piste": "Verifier pourquoi le contacteur reste ouvert alors que le bilan juge le reseau necessaire. L'ecrivain 'Battery / Grid Hysteresis Fix V1' ou un script bloque-t-il la fermeture ? Risque de manquer de SOC (62%) demain matin si la nuit est deficitante.",
"confidence": 0.85
},
{
"constat": "Batterie a 79% (marge parc 3A), decharge -97A. Excedent solaire negatif (-4624W). Bilan demande 62% pour demain matin.",
"gravite": "haute",
"ce_qui_cloche": "La batterie est a 97% de sa marge de decharge declaree par le parc (limite 100A, reste 3A). Le systeme deprote le materiel en appelant le reseau alors que la production PV est faible et que la maison consomme fort.",
"piste": "Verifier si la limite de decharge du parc est mal configuree ou si le courant mesure (-97A) est un pic transitoire. Si persistant, augmenter la consigne reseau pour eviter la saturation du bus DC et proteger les cellules.",
"confidence": 0.95
}
]
},
{
"id": "10-nuage-sur-charge-28a",
"t": "2026-09-11T18:00:00+02:00",
"certain": true,
"titre": "11/09 18:00 — voiture a 28 A, consigne descendue a 1281 W, PV 6058 W",
"attendu": "AGIR : garder de la marge reseau, un nuage tomberait sur la batterie",
"s": {
"soc_percent": "96",
"battery_current_a": "-0.7",
"pv_power_w": "6058",
"pv_power_10m_avg_w": "5500",
"house_ac_power_w": "6845",
"evcs_vehicle_connected": "on",
"evcs_charging": "on",
"evcs_current_a": "28",
"vehicle_selected": "JEEP",
"user_strategy": "force_grid_now",
"grid_state": "on",
"acin1_available": "1",
"grid_setpoint_w": "1281",
"evcs_source_mode": "Réseau forcé",
"evcs_surplus_state": "charging_hold_grid",
"mppt_operation_modes": "mppt_active,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active",
"plafond_edf_on_a": "28",
"balance_required_soc": "62",
"balance_required_soc_prudent": "70",
"balance_energy_to_cover_kwh": "5.2",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "1.4",
"balance_crossing_hour": "09 h",
"today_remaining_kwh": "4",
"tomorrow_kwh": "75.2"
},
"passages": [
{
"constat": "Batterie a 96% (plafond), PV brident 0, voiture chargee a 28A. Consigne reseau 1281W coexiste avec excedent solaire de 5653W.",
"gravite": "moyenne",
"ce_qui_cloche": "La consigne reseau de 1281 W evite l'absorption de l'excedent solaire disponible (5653 W) alors que la batterie est pleine et qu'il n'y a pas de frein sur les chargeurs.",
"piste": "Verifier pourquoi le controleur maintient une consigne reseau positive au lieu de laisser la production PV alimenter la maison/voiture pour reduire la facture EDF.",
"confidence": 0.9
},
{
"constat": "Batterie a 96% (plafond), PV brident, voiture chargee au reseau (1281W) alors que l'excedent solaire est de 5.6 kW.",
"gravite": "moyenne",
"ce_qui_cloche": "Le controleur force la strategie 'force_grid_now' et alimente la voiture via le reseau (1.3 kW) pendant que les chargeurs solaires sont a fond mais sans preneur pour l'excedent. L'excedent solaire positif devrait prioritairement charger la voiture gratuitement.",
"piste": "Verifier pourquoi le EVCS Surplus Controller V2.6 ne bascule pas en mode surplus alors que l'excedent est nettement positif et que la batterie est pleine. Le contacteur reste ferme, ce qui bloque l'injection locale vers la borne.",
"confidence": 0.9
},
{
"constat": "Batterie a 96 % (plafond), PV brident, voiture chargee au reseau (1281 W) alors que l'excedent solaire est de 5.6 kW.",
"gravite": "moyenne",
"ce_qui_cloche": "La strategie force_grid evince la production solaire gratuite pour charger la voiture et maintenir le SOC haut, gaspillant l'energie disponible.",
"piste": "Verifier pourquoi le controleur EVCS ne bascule pas en mode surplus pour absorber les 5.6 kW d'excedent solaire.",
"confidence": 0.9
}
]
},
{
"id": "11-batterie-pleine-midi",
"t": "2026-09-11T12:00:00+02:00",
"certain": false,
"titre": "11/09 12:00 — SOC 98, production refusee, AUCUN vehicule branche",
"attendu": "OUVERT : y a-t-il quelque chose a faire ?",
"s": {
"soc_percent": "98",
"battery_current_a": "2.2",
"pv_power_w": "810",
"pv_power_10m_avg_w": "900",
"house_ac_power_w": "702",
"mppt_operation_modes": "voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited,voltage_current_limited",
"balance_pv_censored": "on",
"balance_censor_reason": "batterie_pleine_sans_puits",
"balance_required_soc": "55",
"balance_required_soc_prudent": "63",
"balance_energy_to_cover_kwh": "4.1",
"balance_grid_needed": "off",
"balance_crossing_hour": "09 h",
"balance_next_deficit_kwh": "4.1",
"balance_next_deficit_window": "(ce soir 20 h -> 09 h)",
"today_remaining_kwh": "45",
"tomorrow_kwh": "75.2"
},
"passages": [
{
"constat": "PV bridee (6/6) avec excedent negatif (-108 W). Batterie a 98 % (plafond), contacteur ouvert. Bilan coherent : pas de puits pour l'excedent.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "PV bridee (6/6) avec excedent negatif (-108 W). Batterie a 98 % (plafond), contacteur ouvert. Bilan coherent : pas de puits pour l'excedent.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "PV bridee (6/6) avec excedent negatif (-108 W). Batterie a 98 % (plafond), contacteur ouvert. Bilan coherent : pas de puits pour l'excedent.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
}
]
},
{
"id": "12-orage-annonce",
"t": "2026-09-12T15:30:00+02:00",
"certain": false,
"titre": "Vigilance ORANGE annoncee, SOC 72, coupures frequentes sur ce site",
"attendu": "OUVERT : jusqu ou constituer la reserve ?",
"s": {
"soc_percent": "72",
"battery_current_a": "35",
"pv_power_w": "4200",
"pv_power_10m_avg_w": "4000",
"house_ac_power_w": "900",
"mppt_operation_modes": "mppt_active,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active",
"balance_storm_level": "Orange",
"balance_storm_reserve_soc": "88",
"balance_required_soc": "55",
"balance_required_soc_prudent": "62",
"balance_energy_to_cover_kwh": "3.2",
"balance_grid_needed": "off",
"balance_crossing_hour": "09 h",
"today_remaining_kwh": "18",
"tomorrow_kwh": "40"
},
"passages": [
{
"constat": "Batterie a 72 % (charge 35 A), PV 4.2 kW, excedent 3.3 kW. Bilan demande 55-62 % pour demain matin. Orage orange conseille 88 %.",
"gravite": "faible",
"ce_qui_cloche": "Le SOC actuel (72 %) est inferieur a la reserve orageuse conseillee (88 %). La charge en cours (35 A) est insuffisante pour atteindre ce seuil avant le soir.",
"piste": "Verifier si la consigne de puissance reseau (700 W) ou un limiteur de charge bloque l'absorption maximale du surplus solaire pour monter vers 88 % avant l'orage.",
"confidence": 0.9
},
{
"constat": "SOC 72 % vs cible prudente 62 %. Surcharge de 10 pts. Orage Orange (88 %) et marge parc a 0 % rendent la situation critique.",
"gravite": "haute",
"ce_qui_cloche": "Le systeme ignore l'alerte meteo et la saturation du parc : il charge a fond alors qu'il faut se proteger et preparer le deficit nocturne.",
"piste": "Verifier pourquoi le controleur ne bascule pas en mode protection/orage. Forcer une decharge ou ouvrir le contacteur pour eviter la surcharge batterie.",
"confidence": 0.95
},
{
"constat": "Batterie chargee a 72 % (35 A), PV a 4.2 kW non bride, excedent solaire positif de 3.3 kW. Aucun vehicule branche.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
}
]
},
{
"id": "13-voiture-empruntee-echeance",
"t": "2026-09-11T17:00:00+02:00",
"certain": false,
"titre": "11/09 17:00 — voiture EMPRUNTEE a rendre a 19 h, 28 A possible, soleil present",
"attendu": "OUVERT : vitesse contre solaire, arbitrage humain",
"s": {
"soc_percent": "96",
"battery_current_a": "-10",
"pv_power_w": "4255",
"pv_power_10m_avg_w": "4000",
"house_ac_power_w": "4888",
"evcs_vehicle_connected": "on",
"evcs_charging": "on",
"evcs_current_a": "20",
"vehicle_selected": "JEEP",
"user_strategy": "force_charge_now",
"grid_state": "on",
"acin1_available": "1",
"grid_setpoint_w": "700",
"evcs_source_mode": "Solaire",
"evcs_surplus_state": "charging_hold_manual_local",
"mppt_operation_modes": "mppt_active,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active",
"plafond_edf_on_a": "28",
"required_energy_kwh": "12",
"departure_time": "19:00",
"departure_priority_enabled": "on",
"balance_required_soc": "62",
"balance_required_soc_prudent": "70",
"balance_energy_to_cover_kwh": "5.2",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "1.4",
"balance_crossing_hour": "09 h",
"today_remaining_kwh": "6",
"tomorrow_kwh": "75.2"
},
"passages": [
{
"constat": "Batterie a 96% (plafond), PV brident, voiture chargee. Bilan demande reseau pour demain matin.",
"gravite": "moyenne",
"ce_qui_cloche": "La batterie est pleine et le surplus solaire est refuse (bride). Le bilan indique un besoin de reseau (1.4 kWh) mais la consigne reste a 700 W, evitant l'achat d'energie gratuite ou necessaire.",
"piste": "Verifier pourquoi le controleur n'ouvre pas le contacteur pour acheter les 1.4 kWh identifies par le bilan, ou si la consigne de 700 W bloque l'absorption du reseau.",
"confidence": 0.85
},
{
"constat": "Batterie a 96 % (plafond), PV brident, voiture chargee. Bilan demande reseau pour couvrir la nuit.",
"gravite": "moyenne",
"ce_qui_cloche": "La batterie est pleine et le surplus solaire est refuse (bride). Le bilan indique un besoin de reseau (1.4 kWh) mais le contacteur reste ferme, privant la maison de cette ressource gratuite ou moins chere que le plein tarif du matin.",
"piste": "Verifier pourquoi le controleur n'ouvre pas le contacteur alors que le bilan juge le reseau necessaire. L'hysteresis ou un script bloque-t-il l'ouverture ?",
"confidence": 0.85
},
{
"constat": "Batterie a 96 % (plafond), PV brident, voiture chargee. Bilan demande reseau pour demain matin.",
"gravite": "moyenne",
"ce_qui_cloche": "La batterie est saturee et refuse le surplus solaire (bridee). Le bilan indique un besoin de reseau (1.4 kWh) mais la consigne reste a 700 W, evitant potentiellement l'achat ou mal gereant la transition vers le plancher.",
"piste": "Verifier si le controleur autorise bien la fermeture du contacteur pour acheter les 1.4 kWh identifies par le bilan, ou si la consigne de 700 W bloque cette action necessaire.",
"confidence": 0.85
}
]
},
{
"id": "4b-hiver-parc-12",
"t": "2026-12-15T23:30:00+01:00",
"certain": false,
"titre": "HIVER avec le parc de cet hiver — 12 equivalents (4 US2000C + 4 US5000)",
"attendu": "OUVERT : la cible baisse-t-elle quand la reserve triple ?",
"s": {
"soc_percent": "55",
"battery_current_a": "-18",
"house_ac_power_w": "1400",
"grid_state": "off",
"acin1_available": "0",
"night_target_soc_actual": "85",
"tomorrow_kwh": "6.2",
"balance_required_soc": "52",
"balance_required_soc_prudent": "59",
"balance_energy_to_cover_kwh": "9.4",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "0",
"balance_crossing_hour": "11 h",
"balance_storage_shortfall_kwh": "0",
"modules_en_service": "12",
"bms_max_discharge_current_a": "300",
"bms_max_charge_current_a": "300"
},
"passages": [
{
"constat": "SOC 55 % vs cible prudente 59 %. Manque de 400 Wh pour la nuit. Réseau ouvert, PV nul. Consigne réseau 700 W inopérante.",
"gravite": "faible",
"ce_qui_cloche": "Le bilan indique un besoin de 59 % (prudent) mais le SOC est à 55 %. Le contacteur reste ouvert alors que le réseau est jugé nécessaire pour combler ce déficit nocturne.",
"piste": "Vérifier pourquoi le Battery/Grid Hysteresis Fix V1 n'a pas fermé le contacteur pour charger les 400 Wh manquants avant minuit.",
"confidence": 0.85
},
{
"constat": "SOC 55% > cible prudente 59% pour la nuit. Déficit de 0,4 kWh à combler avant le croisement de 11h.",
"gravite": "faible",
"ce_qui_cloche": "La batterie est légèrement sous-dimensionnée par rapport au besoin nocturne identifié par le bilan (manque de 0,4 kWh).",
"piste": "Vérifier si la consigne réseau de 700 W permettrait une recharge marginale pendant les heures creuses si le contacteur était fermé, ou accepter ce léger déficit.",
"confidence": 0.85
},
{
"constat": "SOC 55% vs cible prudente 59%. Manque de 400 Wh pour la nuit. Réseau ouvert, PV nul. Consigne réseau 700 W inopérante.",
"gravite": "faible",
"ce_qui_cloche": "La batterie est légèrement sous le seuil prudent requis par le bilan (52-59%) pour couvrir les 9.4 kWh jusqu'à 11h. Le contacteur reste ouvert alors que le réseau est jugé nécessaire (bien que 0 kWh).",
"piste": "Vérifier pourquoi le contacteur n'a pas fermé pour compenser le déficit nocturne ou si la consigne de 700 W empêche une charge optimale avant le pic du matin.",
"confidence": 0.85
}
]
},
{
"id": "4c-hiver-parc-16",
"t": "2026-12-15T23:30:00+01:00",
"certain": false,
"titre": "HIVER avec 16 equivalents (vieux modules repares)",
"attendu": "OUVERT : la cible baisse-t-elle encore ?",
"s": {
"soc_percent": "55",
"battery_current_a": "-18",
"house_ac_power_w": "1400",
"grid_state": "off",
"acin1_available": "0",
"night_target_soc_actual": "85",
"tomorrow_kwh": "6.2",
"balance_required_soc": "44",
"balance_required_soc_prudent": "50",
"balance_energy_to_cover_kwh": "9.4",
"balance_grid_needed": "off",
"balance_grid_energy_needed_kwh": "0",
"balance_crossing_hour": "11 h",
"balance_storage_shortfall_kwh": "0",
"modules_en_service": "16",
"bms_max_discharge_current_a": "400",
"bms_max_charge_current_a": "400"
},
"passages": [
{
"constat": "SOC 55% > cible prudente 50%. Batterie se decharge (-18A) pour couvrir la maison (1400W). Pas de PV. Contacteur ouvert.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "SOC 55 % > cible prudente 50 %. Batterie se decharge (-18 A) pour couvrir la maison (1400 W). Contacteur ouvert. Aucun vehicule branche.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "SOC 55 % > cible prudente 50 %. Batterie se decharge (-18 A) pour couvrir la maison (1400 W). Contacteur ouvert. Aucun vehicule branche.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
}
]
},
{
"id": "15-oscillation-contacteur",
"t": "2026-09-12T06:36:00+02:00",
"certain": true,
"titre": "INCIDENT 12/09 06:25-06:35 — le contacteur bascule six fois en dix minutes",
"attendu": "REPERER : gravite haute, nommer le conflit entre ecrivains",
"s": {
"soc_percent": "35",
"battery_current_a": "20",
"pv_power_w": "0",
"house_ac_power_w": "950",
"grid_state": "on",
"acin1_available": "1",
"night_target_soc_actual": "42.8",
"balance_required_soc": "42.8",
"balance_required_soc_prudent": "49",
"balance_energy_to_cover_kwh": "1.56",
"balance_grid_needed": "on",
"balance_grid_energy_needed_kwh": "1.1",
"balance_crossing_hour": "09 h",
"grid_setpoint_w": "5759",
"tomorrow_kwh": "75.2",
"evenements_recents": "06:35:06 Contacteur EDF : off -> on|06:34:02 Contacteur EDF : on -> off|06:30:49 Contacteur EDF : off -> on|06:29:44 Contacteur EDF : on -> off|06:26:31 Contacteur EDF : off -> on|06:25:27 Contacteur EDF : on -> off"
},
"passages": [
{
"constat": "Le contacteur EDF bascule 6 fois en 10 minutes (06:25-06:35) alors que la production PV est nulle et la batterie se charge à 20 A.",
"gravite": "haute",
"ce_qui_cloche": "Oscillation répétée de l'actionneur principal. Chaque bascule coûte 50-150 Wh et use le relais. Le propriétaire du contacteur (Battery/Grid Hysteresis Fix V1) est probablement contredit par un autre écrivain (EVCS Surplus Controller ou scripts) qui force des états incohérents avec la réalité physique (PV=0).",
"piste": "Identifier quel script ou automate écrit sur le contacteur pendant ces bascules. Vérifier si l'EVCS Surplus Controller tente de piloter le contacteur malgré l'absence de véhicule et la nullité de la production solaire, créant une boucle de rétroaction instable.",
"confidence": 0.95
},
{
"constat": "Contacteur EDF bascule 6 fois en 10 min (06:25-06:35) alors que la batterie charge à 20 A et que le bilan demande du réseau.",
"gravite": "haute",
"ce_qui_cloche": "Oscillation répétée de l'actionneur principal. Le propriétaire est Battery/Grid Hysteresis Fix V1, mais EVCS Surplus Controller V2.6 ou un script écrit probablement sur le contacteur, créant une boucle de rétroaction avec la consigne de puissance (5759 W).",
"piste": "Vérifier les logs d'écriture du contacteur pour identifier si EVCS Surplus Controller V2.6 ou un script force la bascule malgré l'hystérésis. Stabiliser la logique de commutation pour éviter l'usure du relais et les transitoires (50-150 Wh/bascule).",
"confidence": 0.98
},
{
"constat": "Contacteur EDF bascule 6 fois en 10 min (06:25-06:35) alors que la batterie charge à 20 A et le réseau est nécessaire.",
"gravite": "haute",
"ce_qui_cloche": "Oscillation répétée du contacteur par un écrivain non propriétaire (EVCS Surplus Controller ou script), causant des transitoires inutiles.",
"piste": "Vérifier les règles de l'EVCS Surplus Controller V2.6 qui écrit sur le contacteur, car il n'est pas son propriétaire déclaré.",
"confidence": 0.95
}
]
},
{
"id": "16-systeme-calme",
"t": "2026-09-12T07:00:00+02:00",
"certain": true,
"titre": "CONTREFACTUEL — meme nuit, contacteur stable depuis 90 minutes",
"attendu": "NE RIEN SIGNALER : gravite aucune",
"s": {
"soc_percent": "42",
"battery_current_a": "20",
"pv_power_w": "0",
"house_ac_power_w": "950",
"grid_state": "on",
"acin1_available": "1",
"night_target_soc_actual": "42.8",
"balance_required_soc": "42.8",
"balance_required_soc_prudent": "49",
"balance_energy_to_cover_kwh": "0.9",
"balance_grid_needed": "on",
"balance_crossing_hour": "09 h",
"grid_setpoint_w": "5759",
"tomorrow_kwh": "75.2",
"evenements_recents": "05:02:51 Contacteur EDF : off -> on|05:02:51 Reprise reseau nuit : off -> on"
},
"passages": [
{
"constat": "Batterie a 42 % (cible 42.8 %), reseau ferme, PV nul. Bilan coherent : il manque 0.9 kWh pour tenir jusqu'a 9h.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "Batterie a 42 % (cible 42.8 %), reseau ferme, PV nul. Bilan coherent : il manque 0.9 kWh pour tenir jusqu'a 9h.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
},
{
"constat": "Batterie a 42 % (cible 42.8 %), reseau ferme, PV a 0 W. Bilan coherent : il manque 0.9 kWh pour tenir jusqu'a 9h.",
"gravite": "aucune",
"ce_qui_cloche": "",
"piste": "",
"confidence": 0.95
}
]
},
{
"id": "14-bilan-indisponible",
"t": "2026-09-12T04:00:00+02:00",
"certain": true,
"titre": "ROBUSTESSE — meme nuit que le cas 1 mais bilan DEGRADE",
"attendu": "Le dire dans sa raison et rester prudent",
"s": {
"soc_percent": "20",
"battery_current_a": "0",
"house_ac_power_w": "612",
"grid_state": "on",
"acin1_available": "1",
"night_target_soc_actual": "35",
"tomorrow_kwh": "75.2",
"balance_status": "degrade",
"balance_required_soc": "unknown",
"balance_energy_to_cover_kwh": "unknown"
},
"passages": [
{
"constat": "SOC 20% (plancher), bilan indisponible. Consigne reseau 700W evite la charge pendant heures creuses (01:24-07:24).",
"gravite": "moyenne",
"ce_qui_cloche": "La batterie est au plancher de securite alors que le contacteur est ferme et que nous sommes en heures creuses. La consigne de 700W bloque l'absorption du reseau, empechant la recharge gratuite avant le pic tarifaire.",
"piste": "Verifier pourquoi la consigne reste a 700W au lieu d'une valeur negative ou nulle pour autoriser la charge depuis le reseau EDF pendant les heures creuses.",
"confidence": 0.95
},
{
"constat": "SOC 20% (plancher), reseau ferme, bilan indisponible. Consigne 700W evite le pic tarifaire matinale.",
"gravite": "faible",
"ce_qui_cloche": "Le bilan energetique est degrade/indisponible, empechant la verification de la coherence entre la cible SOC 35% et les besoins reels du matin.",
"piste": "Verifier la disponibilite du service de calcul du bilan. Surveiller que le contacteur ne bascule pas avant l'aube pour atteindre la cible 35%.",
"confidence": 0.9
},
{
"constat": "SOC 20% (plancher), bilan indisponible, consigne reseau 700W. La batterie est vide avant les heures creuses.",
"gravite": "moyenne",
"ce_qui_cloche": "Le systeme laisse la batterie au plancher de securite (20%) alors que le reseau est ferme et que la cible matinale est de 35%. Sans bilan, on ne sait pas si c'est un choix ou une erreur de hysteresis.",
"piste": "Verifier pourquoi la consigne reseau n'a pas force la charge jusqu'a 35% avant 01:24 (debut HC). Verifier l'ecrivain 'Battery / Grid Hysteresis Fix V1'.",
"confidence": 0.85
}
]
}
]