[ { "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": "SIGNALER : reseau engage mais la batterie reste plate a 20 % alors que le bilan reclame 3,4 kWh", "graviteAttendue": [ "moyenne", "haute" ], "motsCles": [ [ "recharg", "remonte", "ne monte", "stagne", "plate", "0 a", "0a", "immobile" ] ], "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, consigne 700 W. La batterie ne peut pas couvrir les 3.13 kWh requis avant 09h sans recharger.", "gravite": "haute", "ce_qui_cloche": "Le systeme est au plancher de securite avec un deficit nocturne a combler. Le reseau est disponible mais la marge de recharge n'est que de 88 W (700W - 612W).", "piste": "Verifier pourquoi la consigne reseau est bloquee a 700 W alors que le bilan demande 3.4 kWh du reseau. Il faut augmenter la consigne pour charger la batterie avant le matin.", "confidence": 0.95 }, { "constat": "SOC 20 % (plancher) avec deficit de -612 W. Le reseau est ferme mais la consigne de 700 W ne permet que 88 W de recharge, insuffisante pour atteindre le SOC cible de 59 % avant 09 h.", "gravite": "moyenne", "ce_qui_cloche": "La marge de recharge reseau est trop etroite (88 W) pour couvrir les 3.13 kWh requis par le bilan avant le croisement solaire a 09 h. La batterie restera au plancher pendant les heures creuses.", "piste": "Verifier pourquoi la consigne de puissance reseau est limitee a 700 W alors que le bilan juge le reseau necessaire (3.4 kWh). Il faudrait augmenter cette consigne ou utiliser une session de charge plus longue si possible.", "confidence": 0.9 }, { "constat": "SOC 20 % (plancher), reseau ferme, consigne 700 W. La batterie ne peut pas couvrir les 3.13 kWh requis avant 9h sans recharger.", "gravite": "haute", "ce_qui_cloche": "Le systeme est au plancher de securite avec un deficit nocturne a venir. Le reseau est present mais la marge de recharge n'est que de 88 W (700W - 612W).", "piste": "Verifier pourquoi la consigne reseau est bloquee a 700 W alors que le bilan demande 3.4 kWh du reseau. Il faut augmenter la consigne pour charger la batterie avant le pic matinale.", "confidence": 0.95 }, { "constat": "SOC 20 % (plancher), reseau ferme, consigne 700 W. La batterie ne recharge pas (0 A) alors que le bilan exige 59 % pour tenir jusqu'a 9h.", "gravite": "haute", "ce_qui_cloche": "Le systeme est au plancher de securite avec un deficit prevu de 3.13 kWh avant l'aube. Le reseau est disponible mais la batterie reste a 0 A de charge, risquant une coupure ou un appel reseau non gere si la maison consomme plus que les 88 W restants.", "piste": "Verifier pourquoi le courant de charge est nul : est-ce le contacteur qui est ouvert ? Ou la consigne de puissance reseau (700 W) est-elle trop basse pour permettre la recharge ? Le proprietaire doit verifier l'etat du contacteur et la consigne.", "confidence": 0.9 }, { "constat": "Batterie a 20 % (plancher), reseau ferme, consigne 700 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 via le reseau et une cible de 59.1 %. Le systeme ne recharge pas la batterie depuis le reseau malgre la presence du contacteur et la marge disponible (88 W).", "piste": "Verifier pourquoi la recharge reseau n'est pas activee par le Battery/Grid Hysteresis Fix V1 ou si l'EVCS Surplus Controller bloque erroneement la fermeture du contacteur en mode 'vehicle_not_connected'.", "confidence": 0.95 } ], "notes": [ { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true } ] }, { "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": "SIGNALER : SOC sous le requis alors que la session est marquee terminee", "graviteAttendue": [ "faible", "moyenne", "haute" ], "motsCles": [ [ "sous", "en dessous", "inferieur", "manque", "deficit", "insuffisant" ], [ "terminee", "done", "fini", "relach", "session" ] ], "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 présent. Batterie 45% (cible 50.4%). Manque 1.1 kWh pour atteindre la cible avant le croisement à 9h.", "gravite": "moyenne", "ce_qui_cloche": "La consigne réseau est fixée à 700 W (égale à la charge maison), ce qui empêche toute recharge de la batterie. Le bilan identifie un besoin de 1.1 kWh manquant.", "piste": "Vérifier pourquoi l'automatisation n'a pas augmenté la consigne réseau pour couvrir le déficit identifié par le bilan (manque de stockage).", "confidence": 0.9 }, { "constat": "SOC 45% vs cible 50.4%. Deficit de 4.3 kWh a couvrir avant 9h. Reseau present mais consigne bloquee a 700W (maison), zero marge pour charger.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme est en deficit reel (-700 W) et la batterie doit fournir 4.3 kWh, mais le reseau ne recharge pas la batterie car toute sa capacite est absorbee par la consommation instantanee de la maison.", "piste": "Verifier si la consigne de puissance reseau peut etre dynamisee ou si une session de charge sur heures creuses (12:24-14:24) est planifiee pour combler l'ecart avant le pic du matin.", "confidence": 0.9 }, { "constat": "Batterie a 45 % (cible 50.4 %), reseau ferme, deficit de -700 W. Voiture branchee mais excedent solaire negatif.", "gravite": "faible", "ce_qui_cloche": "Le systeme est en attente passive alors que le bilan indique un besoin de recharge reseau (1.1 kWh) pour atteindre la cible matinale avant le croisement a 9h.", "piste": "Verifier si le controleur EVCS ou l'automatisation bloque la recharge reseau sur la batterie pendant les heures creuses (01:24-07:24) malgre le signal 'reseau juge necessaire'.", "confidence": 0.8 }, { "constat": "SOC 45% vs cible 50.4%. Reseau ferme, consigne 700W couvre la maison mais ne recharge pas la batterie. Deficit de 1.1 kWh identifie.", "gravite": "moyenne", "ce_qui_cloche": "La consigne reseau est bloquee a la consommation instantanee (700 W), empechant le chargement de la batterie necessaire pour atteindre la cible du matin.", "piste": "Verifier pourquoi la consigne n'est pas augmentee pour couvrir les 1.1 kWh de deficit identifies par le bilan, ou si l'automatisation 'auto_solar_plus' bloque la charge hors heures creuses.", "confidence": 0.9 }, { "constat": "Nuit, réseau présent. Batterie 45% (cible 50.4%). Manque 1.1 kWh pour atteindre la cible avant le croisement à 9h.", "gravite": "moyenne", "ce_qui_cloche": "La consigne réseau est fixée à 700 W (égale à la charge maison), ce qui empêche toute recharge de la batterie alors que le bilan identifie un besoin de 1.1 kWh via le réseau.", "piste": "Vérifier pourquoi l'automatisation ou le script n'a pas augmenté la consigne réseau pour couvrir le déficit identifié par le bilan énergétique.", "confidence": 0.9 } ], "notes": [ { "g": true, "k": false }, { "g": true, "k": true }, { "g": true, "k": false }, { "g": true, "k": false }, { "g": true, "k": false } ] }, { "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 SIGNALER : au-dessus de la ligne, reseau ouvert, tout est coherent", "graviteAttendue": [ "aucune" ], "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": "Samedi 04:00, nuit. Batterie 70% (-12A), maison 612W. Bilan demande 59.1% pour 09h. Réseau absent. Consigne réseau 700W inopérante.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.98 }, { "constat": "Samedi 04:00, nuit. Batterie 70% (-12A), PV 0W. Maison 612W. Réseau coupé. Bilan demande 59.1% pour 09h.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit, réseau coupé. Batterie 70% (-12A) couvre la maison (612W). Bilan demande 59.1% pour 09h. Cible appliquée cohérente.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.98 }, { "constat": "Samedi 04:00, nuit. Batterie 70% (-12A), maison 612W sur batterie. Bilan coherent : SOC cible 59.1% pour couvrir 3.13 kWh jusqu'a 09h.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.98 }, { "constat": "Samedi 04:00, nuit. Batterie 70% (-12A), maison 612W sur batterie. Bilan coherent : SOC cible 59.1% pour couvrir 3.13kWh jusqu'a 09h.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.98 } ], "notes": [ { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null } ] }, { "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 : voit-il l ecart entre la cible 85 et les 88 % requis, et le deficit de stockage ?", "graviteAttendue": null, "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": "Deficit nocturne de 9.4 kWh a couvrir avant 11h. SOC actuel 55% (insuffisant vs cible 88%). Reseau absent, batterie se vide (-18A).", "gravite": "haute", "ce_qui_cloche": "Le systeme est en ile a baton avec un deficit majeur. Le reseau est juge necessaire mais le contacteur reste ouvert. La batterie va atteindre le plancher (22%) avant le matin.", "piste": "Verifier pourquoi le contacteur EDF n'a pas ferme pour charger la batterie depuis le reseau (consigne 700W). Investiguer l'ecrivain 'Battery / Grid Hysteresis Fix V1'.", "confidence": 0.95 }, { "constat": "Deficit nocturne de 9.4 kWh a couvrir avant 11h. SOC actuel 55% (capacite ~3.7 kWh) est insuffisant. Le reseau est juge necessaire mais le contacteur est ouvert.", "gravite": "haute", "ce_qui_cloche": "Le systeme est en ile a baton avec un deficit previsible majeur. La consigne reseau (700 W) et l'etat du contacteur (ouvert) empechent la recharge batterie/reseau pour atteindre le SOC cible de 88-97%.", "piste": "Verifier pourquoi le contacteur reste ouvert alors que le bilan indique 'reseau juge necessaire'. Identifier si c'est Battery/Grid Hysteresis ou EVCS qui bloque la fermeture.", "confidence": 0.95 }, { "constat": "Deficit nocturne : la batterie (-18 A) couvre la maison (1400 W). Le bilan requiert 5.1 kWh du reseau pour atteindre le SOC de securite, mais le contacteur est ouvert.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme consomme la reserve solaire au lieu d'utiliser l'EDF (disponible et juge necessaire par le bilan), ce qui risque de laisser la batterie sous le plancher de securite avant le matin.", "piste": "Verifier pourquoi le 'Battery / Grid Hysteresis Fix V1' n'a pas ferme le contacteur alors que le bilan indique un besoin de reseau. La consigne a 700 W est coherente avec le deficit, mais l'actionneur reste inactif.", "confidence": 0.9 }, { "constat": "Batterie 55% (-18A) face à un besoin de 9.4 kWh (SOC cible 88%). Réseau absent, déficit nocturne confirmé.", "gravite": "haute", "ce_qui_cloche": "Le bilan exige le réseau (5.1 kWh) mais le contacteur est ouvert. La batterie ne suffira pas pour demain matin.", "piste": "Vérifier pourquoi le contacteur reste ouvert malgré la demande du bilan et les seuils de hysteresis.", "confidence": 0.95 }, { "constat": "Deficit nocturne de 9.4 kWh a couvrir avant 11h. SOC actuel 55% (insuffisant vs cible 88%). Reseau absent, batterie se vide (-18A).", "gravite": "haute", "ce_qui_cloche": "Le systeme est en ile a baton avec un deficit previsible majeur. Le reseau est juge necessaire mais le contacteur reste ouvert.", "piste": "Verifier pourquoi le contacteur EDF n'a pas ferme pour charger la batterie (conflit ecrivain ou seuil hysteresis bloque).", "confidence": 0.95 } ], "notes": [ { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null } ] }, { "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": "CALME (le correctif du 03/09 tient) : la charge ne demarre pas, excedent negatif", "graviteAttendue": [ "aucune", "faible" ], "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", "evcs_surplus_state": "idle_wait_conditions", "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% (-12.2A), deficit solaire de -444W, reseau absent. Le bilan exige 99.7% pour demain matin.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme est en deficit et isole du reseau alors que le bilan identifie un manque de stockage de 6.8 kWh necessaire pour la nuit.", "piste": "Verifier pourquoi le contacteur reste ouvert (reseau juge necessaire mais absent) et si la consigne de 700W bloque l'importation.", "confidence": 0.95 }, { "constat": "Deficit reel de 444 W, reseau absent. Le bilan exige 99.7 % pour demain mais le parc est a 12 % de sa limite de charge (88 A restants).", "gravite": "haute", "ce_qui_cloche": "Le systeme ne peut pas atteindre la cible SOC necessaire (99.7 %) sans violer la limite de protection du parc (80 % de la marge declaree), alors que le reseau est inutilement ferme.", "piste": "Verifier pourquoi le contacteur reste ouvert : le bilan indique 'reseau juge necessaire' mais l'actionneur ne bascule pas. Appeler le reseau maintenant pour charger la batterie au-dessus de la zone critique avant la nuit.", "confidence": 0.95 }, { "constat": "Batterie a 94 % (-12.2 A), reseau absent, excedent solaire negatif (-444 W). Le bilan demande 99.7 % pour demain matin.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme est en deficit reel et isole du reseau alors que le SOC (94 %) est inferieur au besoin calcule (99.7 %). La marge de decharge restante (88 A) est proche de la limite declaree (100 A), ce qui risque de declencher une protection ou un bridage inopine pendant la nuit.", "piste": "Verifier pourquoi le contacteur reseau est ouvert alors que le bilan indique 'reseau juge necessaire : OUI'. Si c'est volontaire (mode eco/autonomie), accepter le risque de plancher ; sinon, forcer la fermeture du contacteur pour charger via EDF avant la nuit.", "confidence": 0.9 }, { "constat": "Batterie a 94 % (-12.2 A), deficit solaire de -444 W, reseau absent. Le bilan exige 99.7 % pour demain matin.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme est en deficit reel et le reseau est coupe. La batterie doit couvrir 11.66 kWh mais ne peut pas atteindre la cible de 99.7 % sans charger sur le reseau, qui est indisponible.", "piste": "Verifier pourquoi le contacteur reseau est ouvert alors que le bilan indique 'reseau juge necessaire : OUI'. Si c'est volontaire (mode eco), accepter le risque de plancher ; sinon, rouvrir le contacteur pour charger la batterie avant la nuit.", "confidence": 0.9 }, { "constat": "Batterie a 94% (-12.2A), deficit solaire de -444W, reseau absent. Le bilan demande 99.7% pour demain matin.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme est en deficit reel et isole du reseau alors que la marge de decharge est faible (88A). La cible SOC de 35% est incoherente avec le besoin de 99.7% identifie par le bilan.", "piste": "Verifier pourquoi le contacteur reste ouvert malgre le 'reseau juge necessaire : OUI' dans le bilan. Investiguer l'ecrivain 'Battery / Grid Hysteresis Fix V1'.", "confidence": 0.9 } ], "notes": [ { "g": false, "k": null }, { "g": false, "k": null }, { "g": false, "k": null }, { "g": false, "k": null }, { "g": false, "k": null } ] }, { "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": "SIGNALER : ressource refusee et vehicule branche a l arret, energie perdue", "graviteAttendue": [ "faible", "moyenne" ], "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", "evcs_surplus_state": "idle_wait_conditions", "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 a 94 % (plafond), PV bridee (6/6 chargeurs), reseau absent. Le bilan demande 100 % pour demain mais le parc est sature.", "gravite": "moyenne", "ce_qui_cloche": "Production solaire refusee (bridee) alors que la batterie ne peut plus stocker et que le reseau est deconnecte. L'excedent est perdu.", "piste": "Verifier pourquoi le contacteur reste ouvert : le bilan juge le reseau necessaire (4.9 kWh) mais il n'est pas disponible. La voiture doit absorber l'excedent ou le reseau doit fermer.", "confidence": 0.95 }, { "constat": "Batterie a 94 % (plafond), PV bridees (6/6 chargeurs), reseau absent. Le bilan demande 100 % pour demain mais le parc est sature.", "gravite": "moyenne", "ce_qui_cloche": "Production solaire refusee (bridee) alors que la batterie ne peut plus stocker et que le reseau est deconnecte. L'excedent est perdu.", "piste": "Verifier pourquoi le contacteur reseau reste ouvert : le bilan indique 'reseau juge necessaire' (4.9 kWh). Si le reseau etait disponible, il absorberait l'excedent ou chargerait la voiture gratuitement.", "confidence": 0.95 }, { "constat": "Batterie a 94 % (plafond), PV bridee (6/6 chargeurs), reseau absent. Le bilan demande 100 % pour demain mais le parc est sature.", "gravite": "moyenne", "ce_qui_cloche": "Production solaire refusee (bridee) alors que la batterie ne peut plus stocker et que le reseau est deconnecte. L'energie est perdue.", "piste": "Verifier pourquoi le contacteur reste ouvert : le bilan juge le reseau necessaire (4.9 kWh) mais il n'est pas disponible. La voiture doit absorber l'excedent ou le reseau doit fermer.", "confidence": 0.95 }, { "constat": "Batterie a 94 % (plafond), PV bridee (6/6 chargeurs), reseau absent. Le bilan demande 100 % pour demain mais le parc est sature.", "gravite": "moyenne", "ce_qui_cloche": "Production solaire refusee (bridee) alors que la batterie ne peut plus stocker et que le reseau est deconnecte. L'energie est perdue.", "piste": "Verifier pourquoi le contacteur reste ouvert : le bilan juge le reseau necessaire (4.9 kWh) mais il n'est pas disponible. La voiture doit absorber l'excedent ou le reseau doit fermer.", "confidence": 0.95 }, { "constat": "Batterie a 94 % (plafond), PV bridee (6/6 chargeurs), reseau absent. Bilan demande 100 % pour demain, impossible sans reseau.", "gravite": "moyenne", "ce_qui_cloche": "Le systeme est en ileot (reseau ouvert) alors que le bilan identifie un besoin de 4.9 kWh du reseau et une production solaire refusee. La voiture ne consomme pas (0 W).", "piste": "Verifier pourquoi le contacteur reste ouvert : la consigne de 700 W ou un verrou hysteresis bloque-t-il la fermeture ? Le surplus solaire est perdu.", "confidence": 0.95 } ], "notes": [ { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null } ] }, { "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": "SIGNALER : la consigne reseau evince le solaire — l ancrage du prompt dit moyenne", "graviteAttendue": [ "moyenne", "haute" ], "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 (121 W), reseau force pour charger la voiture. Bilan coherent : excedent censure, marge parc saturee.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Batterie a 96 % (plafond), PV bridee (121 W), voiture chargee au reseau (6.4 kW) alors que le bilan demande du stockage pour la nuit.", "gravite": "moyenne", "ce_qui_cloche": "La production solaire est refusee par les chargeurs (bridee) et l'excedent censure masque la ressource gratuite. La voiture consomme le reseau (8.2 kW) au lieu d'absorber ce surplus, privant la batterie de recharge avant la traverssee deficitaire nocturne.", "piste": "Verifier si le controleur EVCS autorise la charge sur excedent solaire ou s'il force le reseau. Le bilan indique un manque de stockage de 6.8 kWh ; il faut absorber le surplus PV pour proteger la batterie contre la nuit.", "confidence": 0.95 }, { "constat": "Batterie a 96 % (plafond), PV bridee (121 W), voiture chargee au reseau (6.4 kW) alors que le bilan demande du stockage pour demain matin.", "gravite": "moyenne", "ce_qui_cloche": "La production solaire est refusee par la maison saturee et la batterie pleine, mais la voiture consomme ce qui devrait etre stocke ou injecte. Le systeme ne capture pas l'excedent gratuit.", "piste": "Verifier pourquoi la borne EVCS n'absorbe pas l'excedent solaire (bridee a 28 A ?) ou si la strategie force_grid evite de charger la voiture sur PV. La marge de decharge est a 0 %, bloquant toute utilisation de la batterie.", "confidence": 0.9 }, { "constat": "Batterie a 96 % (plafond), PV bridee (121 W), reseau force pour charger la voiture. Bilan coherent avec le plein tarif.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Batterie a 96 % (plafond), PV bridee (121 W), reseau force pour charger la voiture. Bilan coherent : excedent censure par les chargeurs brides.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 } ], "notes": [ { "g": false, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": false, "k": null }, { "g": false, "k": null } ] }, { "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": "CALME : l etat collant fait son travail, aucune relance", "graviteAttendue": [ "aucune", "faible" ], "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 bridee (6/6) avec reseau absent et voiture pleine. Batterie a 97% (plafond). Excedent reel masque par la censure.", "gravite": "moyenne", "ce_qui_cloche": "La production solaire est refusee car le puits de stockage est sature et le vehicule ne consomme plus. L'energie gratuite est perdue.", "piste": "Verifier si la consigne de puissance reseau (700 W) ou un seuil de SOC bloque l'absorption du surplus, ou accepter la perte si le parc est protege.", "confidence": 0.9 }, { "constat": "PV bridee (6/6) avec reseau absent et voiture pleine. La ressource solaire est refusee faute de puits, la batterie est a 97 %.", "gravite": "moyenne", "ce_qui_cloche": "L'excedent solaire reel est masque par le bridage des chargeurs. Le systeme gaspille l'energie gratuite alors que la voiture ne consomme plus rien.", "piste": "Verifier pourquoi la Jeep n'absorbe pas le surplus (borne bloquee ou strategie incoherente) pour eviter la perte de production.", "confidence": 0.95 }, { "constat": "PV bridee (6/6) avec reseau absent et vehicule plein. La ressource solaire est refusee faute de puits, la batterie est a 97 %.", "gravite": "moyenne", "ce_qui_cloche": "L'excedent solaire reel est masque par le bridage des chargeurs. Le systeme gaspille l'energie gratuite alors que le bilan identifie un manque de stockage de 6.8 kWh pour la nuit.", "piste": "Verifier pourquoi le contacteur reste ouvert (consigne 700 W vs excedent). Si le reseau est disponible, il faut l'ouvrir pour absorber le surplus ou charger le vehicule si ce n'est pas vraiment plein.", "confidence": 0.9 }, { "constat": "PV bridee (6/6) avec reseau absent et batterie a 97 %. Voiture pleine. Consigne reseau inutile car contacteur ouvert.", "gravite": "faible", "ce_qui_cloche": "La consigne de 700 W est inopérante tant que le contacteur reste ouvert, mais aucun conflit d'écriture n'est visible.", "piste": "Vérifier si la fermeture du contacteur est bloquée par un script ou l'hysteresis alors que la production excède largement la demande.", "confidence": 0.85 }, { "constat": "PV bridee (6/6) avec reseau absent et batterie a 97%. Voiture pleine. Consigne reseau inutile car contacteur ouvert.", "gravite": "faible", "ce_qui_cloche": "La consigne de 700 W est inopérante tant que le contacteur reste ouvert, mais la production excédentaire est perdue faute de puits disponible.", "piste": "Vérifier si l'ouverture du contacteur est volontaire ou un blocage de l'hysteresis, sachant que la voiture ne peut plus absorber.", "confidence": 0.9 } ], "notes": [ { "g": false, "k": null }, { "g": false, "k": null }, { "g": false, "k": null }, { "g": true, "k": null }, { "g": true, "k": null } ] }, { "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": "SIGNALER GRAVE : le parc est a 97,4 A pour une limite de 100 A, reseau ouvert", "graviteAttendue": [ "haute" ], "motsCles": [ [ "limite", "plafond", "maximum", "97", "capacite", "au bord", "saturation" ] ], "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": "Parc a -97.4 A (limite 100 A), marge de 3 A. Reseau absent alors que le bilan juge le reseau necessaire.", "gravite": "haute", "ce_qui_cloche": "Le parc opere a la limite absolue de decharge (-97.4 A) pendant que le contacteur reste ouvert, empechant l'absorption du reseau disponible et fragilisant les cellules.", "piste": "Verifier pourquoi le contacteur ne se ferme pas pour absorber le deficit : inspecter l'ecrivain 'EVCS Surplus Controller V2.6' ou le verrou hysteresis qui bloque la bascule.", "confidence": 0.95 }, { "constat": "Parc a -97.4 A (limite 100 A), marge de 3 A. Reseau absent alors que le bilan juge le reseau necessaire.", "gravite": "haute", "ce_qui_cloche": "Le parc opere a la limite declaree (-97.4 A vs -100 A) pendant que le contacteur reste ouvert, empechant l'absorption du reseau et fragilisant les cellules.", "piste": "Verifier pourquoi le contacteur ne se ferme pas pour connecter le reseau (Bilan dit OUI). Identifier si un ecrivain non-proprietaire (EVCS ou script) verrouille le contacteur.", "confidence": 0.95 }, { "constat": "Parc a -97.4 A (limite 100 A), marge de 3 A. Reseau absent alors que le bilan juge le reseau necessaire.", "gravite": "haute", "ce_qui_cloche": "Le parc opere a la limite declaree de decharge (-97.4 A / -100 A) sans marge, tandis que le contacteur reseau reste ouvert empechant l'absorption du deficit identifie par le bilan.", "piste": "Verifier pourquoi le contacteur reseau n'a pas bascule pour absorber le deficit (bilan : reseau OUI). Identifier l'ecrivain qui bloque la fermeture (Battery/Grid Hysteresis ou EVCS Surplus Controller).", "confidence": 0.95 }, { "constat": "Parc a -97.4 A (limite 100 A), marge de 3 A. Reseau absent alors que le bilan juge le reseau necessaire.", "gravite": "haute", "ce_qui_cloche": "Le parc opere a la limite declaree de decharge (-97.4 A / -100 A) pendant que le contacteur reseau reste ouvert, empechant l'absorption du deficit et sollicitant le materiel au maximum.", "piste": "Verifier pourquoi le contacteur reseau n'a pas bascule pour fermer le circuit (regle 'reseau juge necessaire : OUI'). Identifier si un ecrivain externe bloque la fermeture ou si la consigne de puissance est mal interpretee.", "confidence": 0.95 }, { "constat": "Parc a -97,4 A (limite 100 A), marge de 3 A. Reseau absent alors que le bilan juge le reseau necessaire.", "gravite": "haute", "ce_qui_cloche": "Le contacteur reseau est ouvert (reseau absent) empechant la recharge du parc qui tourne a sa limite de decharge (-97,4 A). Le bilan indique 'reseau juge necessaire : OUI'.", "piste": "Verifier pourquoi le contacteur reste ouvert. L'ecrivain 'Battery / Grid Hysteresis Fix V1' ou un script bloque-t-il la fermeture ? Risque de degradation du parc si la nuit s'allonge sans reseau.", "confidence": 0.95 } ], "notes": [ { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true } ] }, { "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": "SIGNALER : consigne a 1281 W sous une voiture a 28 A, un nuage tombe sur la batterie", "graviteAttendue": [ "faible", "moyenne", "haute" ], "motsCles": [ [ "nuage", "marge", "brutal", "chute", "passage", "si le solaire" ] ], "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, voiture chargee au reseau alors que l'excedent solaire est positif (+5.6 kW).", "gravite": "moyenne", "ce_qui_cloche": "L'EVCS Surplus Controller V2.6 force la charge sur le reseau (force_grid_now) et evince la production solaire gratuite pour alimenter la voiture.", "piste": "Verifier pourquoi le controleur ignore l'excedent solaire positif et bascule en mode reseau force.", "confidence": 0.95 }, { "constat": "Batterie a 96 % (plafond), PV brident, voiture chargee au reseau alors que l'excedent solaire est positif (+5.6 kW).", "gravite": "moyenne", "ce_qui_cloche": "L'EVCS Surplus Controller V2.6 force la charge sur le reseau (force_grid_now) et evince la production solaire gratuite qui reste disponible.", "piste": "Verifier pourquoi le controleur ignore l'excedent solaire positif pour charger la voiture ; il devrait utiliser le surplus PV avant d'appeler le reseau.", "confidence": 0.95 }, { "constat": "Batterie a 96 % (plafond), PV brident, voiture chargee au reseau alors que l'excedent solaire est positif (+5.6 kW).", "gravite": "moyenne", "ce_qui_cloche": "L'EVCS consomme le reseau pour la voiture et recharge la batterie pleine, evitant d'utiliser l'excedent solaire gratuit qui se perd.", "piste": "Verifier pourquoi l'EVCS Surplus Controller V2.6 ne bascule pas en mode surplus alors que l'excedent est positif et que les chargeurs sont a fond.", "confidence": 0.9 }, { "constat": "Batterie a 96 % (plafond), reseau force pour charger la voiture alors que l'excedent solaire est de +5.6 kW et que le reseau n'est pas requis par le bilan.", "gravite": "moyenne", "ce_qui_cloche": "Le controleur utilise la strategie 'force_grid_now' (reseau) au lieu d'utiliser l'excedent solaire gratuit (+5.6 kW) pour alimenter la charge EV, ce qui coute de l'argent inutilement.", "piste": "Verifier pourquoi le Surplus Controller V2.6 ne bascule pas en mode excedent solaire alors que les chargeurs PV sont a fond et qu'il reste de la puissance disponible.", "confidence": 0.9 }, { "constat": "Batterie a 96 % (plafond), PV brident, voiture chargee au reseau alors que l'excedent solaire est positif (+5.6 kW).", "gravite": "moyenne", "ce_qui_cloche": "L'EVCS Surplus Controller V2.6 force la charge sur le reseau (force_grid_now) et evince la production solaire gratuite, contrairement a la regle de l'excedent.", "piste": "Verifier pourquoi le controleur ignore l'excedent solaire positif pour basculer en mode reseau.", "confidence": 0.95 } ], "notes": [ { "g": true, "k": false }, { "g": true, "k": false }, { "g": true, "k": false }, { "g": true, "k": false }, { "g": true, "k": false } ] }, { "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 : production refusee sans preneur, aucun vehicule. Voit-il l energie perdue ?", "graviteAttendue": null, "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": "Batterie a 98 % (plafond), PV bridee car aucun puits disponible, reseau absent. Bilan coherent avec la saturation du stockage.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Batterie a 98 % (plafond), PV bridees (6/6), reseau absent. Surplus solaire refuse car aucun puits disponible.", "gravite": "moyenne", "ce_qui_cloche": "La production est bridee alors que le bilan indique un besoin de stockage pour la nuit (4,1 kWh). L'absence de vehicule empeche d'absorber ce surplus gratuit.", "piste": "Brancher un vehicule ou activer une charge flexible pour absorber l'excedent avant qu'il ne soit perdu par bridage des onduleurs.", "confidence": 0.95 }, { "constat": "Batterie a 98 % (plafond), PV bridee car aucun puits. Bilan demande 55-63 % pour la nuit, reseau absent.", "gravite": "moyenne", "ce_qui_cloche": "La production solaire est refusee (bridee) alors que le bilan identifie un manque de stockage de 6.8 kWh et une necessite de couvrir 4.1 kWh ce soir. Le reseau est absent, empechant l'absorption de l'excedent ou la recharge si la batterie descendait.", "piste": "Verifier pourquoi le contacteur reseau est ouvert (EDF absent ?). Si c'est volontaire, accepter la perte d'excedent. Sinon, rebrancher le reseau pour eviter la perte de 45 kWh potentiels et securiser la traversee nocturne.", "confidence": 0.95 }, { "constat": "Batterie a 98 % (plafond), PV bridee (6/6 chargeurs), reseau absent. Excedent solaire censure (+108 W reel plus eleve).", "gravite": "moyenne", "ce_qui_cloche": "La production est refusee (bridee) alors que le reseau est disponible mais non utilise, et la batterie ne peut pas absorber l'excedent.", "piste": "Verifier pourquoi le contacteur reseau reste ouvert alors que la consigne est a 700 W et que la production depasse la demande. L'automate 'Battery / Grid Hysteresis Fix V1' ou un script bloque-t-il la fermeture ?", "confidence": 0.9 }, { "constat": "Batterie a 98 % (plafond), PV bridee car aucun puits, reseau absent. Bilan coherent : excedent solaire refuse.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 } ], "notes": [ { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null } ] }, { "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 : vigilance orange, reserve 88 % contre SOC 72. Quel arbitrage ?", "graviteAttendue": null, "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": "Système autonome (réseau coupé). PV 4.2 kW, maison 0.9 kW, excédent +3.3 kW. Batterie charge à 35 A vers 72 %. Aucun véhicule branché.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Système autonome (réseau coupé) avec excédent solaire de 3300 W. La batterie se charge à 35 A vers un SOC de 72 %, cohérent avec la réserve orage conseillée de 88 %.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Système autonome (réseau coupé) avec excédent solaire de 3300 W et batterie à 72 % en charge. Le bilan indique un besoin de réserve orageuse à 88 %.", "gravite": "faible", "ce_qui_cloche": "Aucune incohérence majeure. La consigne réseau de 700 W est inactive car le contacteur est ouvert, ce qui est cohérent avec l'état mesuré.", "piste": "Surveiller la montée du SOC vers la cible de vigilance orage (88 %) pour s'assurer que la charge ne se bride pas inutilement avant la nuit.", "confidence": 0.95 }, { "constat": "Système autonome (réseau coupé). PV 4.2 kW, maison 0.9 kW, excédent +3.3 kW. Batterie charge à 35 A vers 72 %. Bilan cohérent avec prévision orage.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Système autonome (réseau coupé). PV 4.2 kW, maison 0.9 kW, excédent +3.3 kW. Batterie charge à 35 A vers 72 %.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 } ], "notes": [ { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null } ] }, { "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 : echeance 19 h contre solaire. Voit-il l arbitrage humain ?", "graviteAttendue": null, "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 a 20 A. Bilan demande 62 % pour demain matin.", "gravite": "moyenne", "ce_qui_cloche": "La batterie est saturee alors que le bilan identifie un manque de stockage de 6.8 kWh et une necessite de reseau de 1.4 kWh. L'energie solaire excedentaire (+3967 W) n'est pas absorbee par la batterie (pleine) ni par la voiture (limitee a 20 A).", "piste": "Verifier si la consigne manuelle 'force_charge_now' bloque la logique de surplus ou si la limite de courant EVCS (20 A) est trop basse pour absorber l'excedent avant saturation batterie.", "confidence": 0.9 }, { "constat": "Batterie a 96 % (plafond), PV brident, voiture consomme 4.6 kW, reseau ferme mais sous-utilise (700 W).", "gravite": "moyenne", "ce_qui_cloche": "La batterie est au plafond et ne peut plus stocker l'excédent solaire (+3967 W) qui est perdu ou force la voiture à charger via le réseau si la production baisse.", "piste": "Vérifier pourquoi la voiture charge à 20 A alors que l'excédent solaire est élevé : le surplus controller devrait-il augmenter le courant pour absorber le refus du parc ?", "confidence": 0.85 }, { "constat": "Batterie a 96 % (plafond), PV brident, voiture consomme 4.6 kW, reseau ferme avec marge de recharge faible.", "gravite": "moyenne", "ce_qui_cloche": "La batterie est au plafond alors que le bilan indique un besoin de 5.2 kWh ce matin et une traversée nocturne de 2 kWh. Le surplus solaire (+3967 W) n'est pas stocké car la batterie est pleine, mais la voiture ne charge qu'à 20 A (limité par le contrôleur ou la borne), laissant du solaire potentiellement perdu si la production dépasse la consommation maison+voiture.", "piste": "Vérifier pourquoi la voiture ne monte pas au-dessus de 20 A malgré l'excédent solaire important. Si le contrôleur limite volontairement pour protéger la batterie (déjà à 96%), c'est cohérent, mais il faut s'assurer que la stratégie 'force_charge_now' ne bloque pas l'optimisation du surplus vers la voiture si celle-ci peut accepter plus de courant sans fragiliser le parc (marge de décharge OK).", "confidence": 0.8 }, { "constat": "Batterie a 96 % (plafond), PV brident la voiture a 20 A. Consigne reseau 700 W bloque le surplus solaire (+3967 W) et empeche la recharge batterie.", "gravite": "moyenne", "ce_qui_cloche": "La consigne de puissance reseau (700 W) evince l'excedent solaire gratuit pour alimenter la voiture, alors que le bilan indique un besoin de reseau ce matin mais une ressource solaire abondante maintenant.", "piste": "Verifier pourquoi la consigne reseau est fixee a 700 W au lieu d'etre ouverte ou elevee pour absorber le surplus PV et charger la batterie/voiture sans cout.", "confidence": 0.95 }, { "constat": "Batterie a 96 % (plafond), PV brident, voiture consomme 4.6 kW, reseau ferme mais sous-utilise (700 W).", "gravite": "moyenne", "ce_qui_cloche": "La batterie est saturee alors que le reseau est disponible et que la production solaire est bridee. Le systeme ne recharge pas via le reseau pour eviter de depasser le plafond, ce qui force l'usage du reseau pour la maison au lieu d'utiliser le surplus solaire ou de stocker.", "piste": "Verifier si la consigne de puissance reseau (700 W) est trop basse pour permettre une charge utile ou si la logique de 'force_charge_now' bloque la charge reseau a cause du SOC eleve, empechant l'optimisation des heures creuses ou du surplus.", "confidence": 0.85 } ], "notes": [ { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null } ] }, { "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 : le parc triple change-t-il sa lecture de la nuit d hiver ?", "graviteAttendue": null, "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": "Batterie 55% (SOC requis prudent 59%), reseau absent, deficit nocturne de 2 kWh. Consigne reseau 700W inopérante.", "gravite": "faible", "ce_qui_cloche": "Le bilan indique un besoin de reseau (OUI) mais le contacteur est ouvert et AC-IN absent. La marge de 4% sous la cible prudente est faible pour la nuit.", "piste": "Verifier pourquoi le contacteur n'a pas fermé pour couvrir le deficit identifie par le bilan avant l'extinction complete du PV.", "confidence": 0.85 }, { "constat": "Nuit, reseau absent. Batterie 55 % (-18 A) couvre la maison (1400 W). Bilan demande 52-59 % pour demain. Consigne reseau 700 W inactive.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit, reseau absent. Batterie 55 % (-18 A) couvre la maison (1400 W). Bilan demande 52-59 % pour demain 11h. Consigne reseau 700 W inopérante.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit, reseau coupe. Batterie 55% (-18A) couvre la maison (1400W). Bilan demande 52-59%. Cible matin 85% incoherente avec le deficit nocturne.", "gravite": "moyenne", "ce_qui_cloche": "La cible SOC de 85% est inutile et contre-productive : elle force a acheter du courant EDF au plein tarif pour stocker une energie qui sera consommee par la maison avant l'aube, alors que le bilan ne requiert que ~59%.", "piste": "Verifier pourquoi la strategie auto_solar_plus maintient une cible aussi haute la nuit. Il faudrait laisser la batterie se vider vers le plancher de securite ou le niveau requis par le bilan (~59%) pour maximiser l'absorption solaire gratuite demain matin.", "confidence": 0.95 }, { "constat": "Nuit, reseau absent. Batterie 55% (-18A) couvre la maison (1400W). Bilan demande 52-59%. Cible matin 85% coherente avec hiver.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 } ], "notes": [ { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null } ] }, { "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 : et avec 16 equivalents ?", "graviteAttendue": null, "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": "Nuit hivernale, réseau coupé. Batterie 55 % (décharge -18 A) couvre la maison (1400 W). Bilan requis : 44-50 %. Marge parc confortable.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit, reseau absent. Batterie 55 % (SOC) avec -18 A. Bilan demande 44-50 % pour demain. Consigne reseau 700 W inopérante.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit, reseau absent. Batterie 55 % (SOC) avec courant -18 A. Bilan demande 44-50 % pour demain. Consigne reseau 700 W inopérante sans AC-IN.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit hivernale, réseau coupé. Batterie 55 % (décharge -18 A) couvre la maison (1400 W). Bilan requis : 50 % pour demain 11h. Marge parc confortable.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Nuit hivernale, réseau coupé. Batterie 55 % (décharge -18 A) couvre la maison (1400 W). Bilan requis : 44-50 %. Marge parc confortable.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 } ], "notes": [ { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null }, { "g": null, "k": null } ] }, { "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": "SIGNALER GRAVE : six bascules en dix minutes, nommer le conflit entre ecrivains", "graviteAttendue": [ "haute" ], "motsCles": [ [ "oscill", "bascul", "va-et-vient", "aller-retour", "repet", "six fois", "6 fois", "cycl" ], [ "conflit", "deux", "ecriv", "contradict", "se battent", "concurren", "automatisation", "hysteresis" ] ], "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 le bilan juge le reseau necessaire et qu'il est present.", "gravite": "haute", "ce_qui_cloche": "Oscillation repetee de l'actionneur 'Contacteur reseau' (proprietaire Battery / Grid Hysteresis Fix V1), probablement perturbee par un ecrivain externe (EVCS Surplus Controller ou scripts) qui defait les decisions du proprietaire.", "piste": "Verifier si le EVCS Surplus Controller V2.6 ou un script force la fermeture/ouverture du contacteur independamment de la logique d'hysteresis, et stabiliser la consigne pour eviter l'usure des relais et les transitoires.", "confidence": 0.98 }, { "constat": "Le contacteur EDF bascule 6 fois en 10 min (06:25-06:35) alors que le reseau est present et la batterie charge a 20A.", "gravite": "haute", "ce_qui_cloche": "Oscillation repetee de l'actionneur 'Contacteur reseau' (proprietaire Battery/Grid Hysteresis Fix V1), probablement perturbee par un ecrivain externe (EVCS Surplus Controller ou scripts).", "piste": "Verifier les logs du EVCS Surplus Controller V2.6 et des scripts pour identifier quel automate force la fermeture/ouverture du contacteur pendant la phase de charge.", "confidence": 0.98 }, { "constat": "Le contacteur EDF bascule 6 fois en 10 minutes (06:25-06:35) alors que le reseau est present et la batterie charge a 20 A.", "gravite": "haute", "ce_qui_cloche": "Oscillation repetee de l'actionneur 'Contacteur reseau'. Chaque bascule coute 50-150 Wh et use le relais. Le proprietaire est Battery/Grid Hysteresis Fix V1, mais EVCS Surplus Controller V2.6 ou un script interagit probablement de facon incoherente avec la consigne de puissance (5759 W).", "piste": "Identifier quel ecrivain non-proprietaire (EVCS ou script) force les bascules. Verifier si la logique d'hysteresis est contredite par une consigne dynamique du controleur EVCS qui ne tient pas compte du transitoire.", "confidence": 0.95 }, { "constat": "Le contacteur EDF bascule 6 fois en 10 minutes (06:25-06:35) alors que le bilan juge le reseau necessaire et qu'il est present.", "gravite": "haute", "ce_qui_cloche": "Oscillation repetee de l'actionneur 'Contacteur reseau' (proprietaire Battery / Grid Hysteresis Fix V1), probablement perturbee par un ecrivain externe (EVCS Surplus Controller ou scripts) qui defait les decisions du proprietaire.", "piste": "Verifier les logs des ecritures sur le contacteur pour identifier quel script ou controleur force la bascule a chaque cycle, et stabiliser la logique d'hysteresis.", "confidence": 0.98 }, { "constat": "Le contacteur EDF bascule 6 fois en 10 minutes (06:25-06:35) alors que le reseau est present et la batterie charge a 20 A.", "gravite": "haute", "ce_qui_cloche": "Oscillation repetee de l'actionneur 'Contacteur reseau'. Chaque bascule coute 50-150 Wh et use le relais. Le proprietaire est 'Battery / Grid Hysteresis Fix V1', mais les ecrivains 'EVCS Surplus Controller' ou 'scripts' sont suspects d'interference.", "piste": "Verifier si un script ou le controleur EVCS force le contacteur malgre la presence du reseau et la consigne de puissance. Stabiliser la logique de hysteresis pour eviter les micro-bascules.", "confidence": 0.98 } ], "notes": [ { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true } ] }, { "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 : meme nuit, contacteur stable depuis 90 minutes", "graviteAttendue": [ "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 : deficit matinal couvert par le reseau.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Batterie a 42 % (cible 42.8 %), reseau ferme, deficit de 950 W couvert par la batterie. Aucun vehicule branche.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Batterie a 42 % (cible matin), reseau ferme, PV nul. Bilan coherent : deficit matinal couvert par le reseau avant croisement a 09h.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 1 }, { "constat": "Batterie a 42 % (cible matin), reseau ferme, PV nul. Bilan coherent : deficit couvert par le reseau jusqu'au croisement a 09h.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 }, { "constat": "Batterie a 42 % (cible matin), reseau ferme, PV nul. Bilan coherent : deficit couvert par le reseau jusqu'au croisement a 09h.", "gravite": "aucune", "ce_qui_cloche": "", "piste": "", "confidence": 0.95 } ], "notes": [ { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null }, { "g": true, "k": null } ] }, { "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": "SIGNALER en le disant : le bilan est degrade, donc prudence assumee", "graviteAttendue": [ "faible", "moyenne", "haute" ], "motsCles": [ [ "degrad", "indisponible", "sans bilan", "pas de bilan", "inconnu", "unknown" ] ], "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": "Bilan indisponible. Batterie a 20 % (plancher), reseau ferme, excedent negatif. Consigne 700 W laisse 88 W de marge pour recharge.", "gravite": "faible", "ce_qui_cloche": "Le systeme est au plancher de securite pendant les heures creuses alors que le reseau est disponible et que la cible matinale est de 35 %. L'absence de bilan empeche de valider si cette stagnation est optimale ou une perte d'opportunite.", "piste": "Verifier pourquoi le bilan est degrade. Surveiller si la batterie remonte vers 35 % grace aux 88 W de marge reseau avant la fin des heures creuses (07:24).", "confidence": 0.6 }, { "constat": "SOC 20 % (plancher), reseau ferme, consigne 700 W laisse 88 W de marge. Bilan indisponible.", "gravite": "moyenne", "ce_qui_cloche": "La batterie est au plancher de securite pendant les heures creuses alors que le reseau est disponible et que la cible matin est a 35 %. L'opportunite de recharge gratuite est manquee.", "piste": "Verifier pourquoi la consigne reseau n'est pas relevee pour charger la batterie vers la cible de 35 % durant la nuit.", "confidence": 0.9 }, { "constat": "Batterie a 20 % (plancher) avec reseau ferme et consigne a 700 W. Bilan indisponible.", "gravite": "moyenne", "ce_qui_cloche": "La batterie est au plancher de securite pendant les heures creuses alors que le reseau est disponible. La marge de recharge n'est que de 88 W, ce qui est insuffisant pour atteindre la cible de 35 % avant le matin.", "piste": "Verifier pourquoi la consigne reseau est bloquee a 700 W (limite du contacteur ou reglages hysteresis). Augmenter la consigne pour permettre une recharge plus rapide depuis le reseau EDF.", "confidence": 0.9 }, { "constat": "Batterie a 20 % (plancher), reseau ferme, excedent solaire negatif. Bilan indisponible.", "gravite": "faible", "ce_qui_cloche": "Le bilan energetique est indisponible alors que la batterie est au plancher de securite et que le reseau est disponible pour recharger vers la cible de 35 %.", "piste": "Verifier pourquoi le calcul du bilan est en statut degrade et s'assurer que la recharge via le reseau (88 W disponibles) se fait bien pour atteindre les 35 % avant le matin.", "confidence": 0.9 }, { "constat": "Bilan indisponible. Batterie a 20% (plancher), reseau ferme, marge decharge 100A. Consigne reseau 700W laisse 88W pour recharge.", "gravite": "faible", "ce_qui_cloche": "Le systeme est au plancher de securite (20%) avec le reseau disponible mais la consigne limite la recharge a 88W. Sans bilan, on ne sait pas si c'est optimal ou si l'on rate des heures creuses.", "piste": "Verifier pourquoi le bilan est degrade et confirmer que la consigne de 700W est bien celle desiree pour la recharge nocturne avant le pic du matin.", "confidence": 0.6 } ], "notes": [ { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true }, { "g": true, "k": true } ] } ]