JEEP branchee a midi : reseau en HC seulement si le solaire ne suffit pas avant son depart
Regle du proprietaire (28/09). Le bilan compare le besoin saisi (niveau x capacite mesuree - deja delivre) au solaire disponible avant le depart de 15:30 (mar/mer/ ven/sam) sans descendre la batterie sous le plancher « tenir jusqu'a la prochaine HC ». Le controleur relaie le verdict sous les gardes du bilan ; session de midi engagee -> voiture sur le reseau avec la batterie. Bilan 61/61, golden 121/121. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
This commit is contained in:
@@ -739,10 +739,24 @@ const nightGridSessionUncovered =
|
||||
// `required_soc` = 22,0 pour `energy_to_cover` = 0,0. Il ne remonte qu'un jour
|
||||
// sombre — ou quand le proprietaire pose un plancher manuel, ce qui est
|
||||
// exactement le cas d'usage.
|
||||
//
|
||||
// ET LA VOITURE (28/09/2026, strategie du proprietaire) : « JEEP branchee
|
||||
// engage le reseau en HC midi si l'analyse de production le justifie ». Le
|
||||
// bilan fait l'analyse (besoin saisi contre solaire disponible avant le depart,
|
||||
// batterie gardee pour tenir jusqu'a 01:24) et publie un verdict ; on le relaie,
|
||||
// sous les memes gardes de fraicheur et de statut que la cible.
|
||||
const middayVehicleGridNeeded =
|
||||
balanceMorningTargetApplied &&
|
||||
params.balanceVehicleGridNeeded &&
|
||||
parsed.evcsVehicleConnected;
|
||||
|
||||
const middayGridSessionUncovered =
|
||||
balanceMorningTargetApplied &&
|
||||
Number.isFinite(params.balanceRequiredSocPct) &&
|
||||
parsed.soc < params.balanceRequiredSocPct;
|
||||
(
|
||||
(Number.isFinite(params.balanceRequiredSocPct) &&
|
||||
parsed.soc < params.balanceRequiredSocPct) ||
|
||||
middayVehicleGridNeeded
|
||||
);
|
||||
|
||||
const gridSessionInHcWindow =
|
||||
profile === 'night_hc' || profile === 'midday_hc_or_solar';
|
||||
@@ -931,7 +945,15 @@ else if (profile === 'night_hc') {
|
||||
}
|
||||
|
||||
else if (profile === 'midday_hc_or_solar' || profile === 'morning_solar') {
|
||||
if (strongSolarSignal) {
|
||||
// Session de midi engagee et contacteur ferme : la voiture charge sur le
|
||||
// reseau avec la batterie (« batterie et voiture ensemble », 28/09), meme au
|
||||
// soleil. La consigne garde son credit solaire (HA_SERVICE_CALLS_OUTPUT) :
|
||||
// elle ne preleve au reseau que ce que les chargeurs ne donnent pas.
|
||||
if (profile === 'midday_hc_or_solar' && nightGridSessionCommitted && parsed.gridAvailable) {
|
||||
sourceMode = 'grid_hc_allowed';
|
||||
}
|
||||
|
||||
else if (strongSolarSignal) {
|
||||
sourceMode = 'solar_only';
|
||||
}
|
||||
|
||||
@@ -1168,6 +1190,7 @@ return [{
|
||||
nightBatterySurplusAvailable,
|
||||
nightBatterySurplusExhausted,
|
||||
nightGridSessionCommitted,
|
||||
middayVehicleGridNeeded,
|
||||
nightGridSessionUncovered,
|
||||
balanceTargetAgeMin:
|
||||
balanceTargetAgeMin === null ? null : Math.round(balanceTargetAgeMin * 10) / 10,
|
||||
|
||||
Reference in New Issue
Block a user