Garde batterie en charge reseau : voiture bridee au courant mini au lieu d'un arret + 20 min de verrou
This commit is contained in:
@@ -1041,11 +1041,26 @@ const mustStopHard =
|
||||
derived.vebusAcOutHardReached ||
|
||||
batteryCurrentHardExceeded;
|
||||
|
||||
const gridBatteryProtectionStop =
|
||||
// 07/10/2026 (proprietaire : « brider a 6 A au lieu de couper »). Le 06/10
|
||||
// sous force_grid_now, deux pointes de la maison (7,1 et 7,7 kW, voiture
|
||||
// comprise) ont fait passer la batterie a -41,9 / -47,3 A : la garde coupait la
|
||||
// voiture puis posait 20 min de verrou — 2,0 kWh donnes au lieu de ~4 en
|
||||
// 66 min. La voiture est la charge compressible : au-dessus du courant mini, on
|
||||
// la RAMENE au mini tout de suite (sans attendre le cooldown) ; l'arret et son
|
||||
// verrou ne restent que si la batterie est encore trop sollicitee AU MINI.
|
||||
const gridBatteryHardBreach =
|
||||
sessionObservedActive &&
|
||||
isGridSource &&
|
||||
parsed.batteryCurrentA < gridBatteryHardDynamicA;
|
||||
|
||||
const gridBatteryCutToMin =
|
||||
gridBatteryHardBreach &&
|
||||
derived.currentReferenceA > params.currentMinA;
|
||||
|
||||
const gridBatteryProtectionStop =
|
||||
gridBatteryHardBreach &&
|
||||
!gridBatteryCutToMin;
|
||||
|
||||
// =====================================================
|
||||
// OUTPUT
|
||||
// =====================================================
|
||||
@@ -1192,6 +1207,7 @@ return [{
|
||||
batteryCurrentHardExceeded,
|
||||
mustStopHard,
|
||||
gridBatteryProtectionStop,
|
||||
gridBatteryCutToMin,
|
||||
},
|
||||
|
||||
conditions: {
|
||||
|
||||
@@ -607,6 +607,19 @@ else if (cloud.sessionObservedActive) {
|
||||
});
|
||||
}
|
||||
|
||||
else if (safeguards.gridBatteryCutToMin) {
|
||||
// 07/10 : pointe de la maison en charge reseau -> voiture ramenee au
|
||||
// courant mini, sans arret ni verrou (la remontee reprend au pas normal).
|
||||
setOn({
|
||||
stateName: 'charging_cut_to_min_grid_guard',
|
||||
decisionName: 'step_down',
|
||||
currentA: params.currentMinA,
|
||||
reasonText: `Réseau : pointe de la maison, voiture bridée à ${params.currentMinA} A (batterie ${round1(parsed.batteryCurrentA)}A)`,
|
||||
dynamic: true,
|
||||
mustStopFlag: false,
|
||||
});
|
||||
}
|
||||
|
||||
else if (safeguards.gridBatteryProtectionStop) {
|
||||
setOff({
|
||||
stateName: 'stop_grid_battery_guard',
|
||||
|
||||
Reference in New Issue
Block a user