Budget voiture de la nuit : ce que la batterie peut donner sans EDF, arret au compteur, choix sans EDF / complete

This commit is contained in:
Tallagrand Thierry
2026-09-30 13:26:45 +02:00
parent fb98a8cbb8
commit e0d855f33f
16 changed files with 370 additions and 10 deletions

View File

@@ -300,6 +300,15 @@ if (manualPriorityOverrideActive && !evcsVehicleNotRequestingPowerState) {
// =====================================================
const reason = [...decision.reason];
// Budget voiture de la nuit (30/09) : dire pourquoi la voiture s'arrete.
if (night.nightBudgetKwh !== null && night.nightBudgetKwh !== undefined) {
const f = (x) => String(Math.round(x * 100) / 100).replace('.', ',');
reason.push(`Budget batterie nuit ${f(night.nightBudgetDeliveredKwh ?? 0)}/${f(night.nightBudgetKwh)} kWh` +
(night.nightCarWaitsNoGrid ? ' — atteint, sans EDF : la voiture attend le soleil'
: night.nightBudgetReached ? ' — atteint, EDF finit la charge' : ''));
} else if (night.nightCarWaitsNoGrid) {
reason.push('Pas de budget batterie exploitable, sans EDF : la voiture attend le soleil');
}
reason.push(`Stratégie=${strategy.userStrategy}`);
reason.push(`Profil=${context.profile}`);
reason.push(`Source=${context.sourceMode}`);
@@ -1374,6 +1383,17 @@ return [{
}
},
// Budget voiture de la nuit (30/09) : fige a l'ouverture, efface en fin.
helper_night_budget: {
execute: night.nightBudgetToWrite !== null && night.nightBudgetToWrite !== undefined,
domain: 'input_text',
service: 'set_value',
data: {
entity_id: 'input_text.victron_evcs_night_budget',
value: night.nightBudgetToWrite ?? ''
}
},
helper_night_session_start_at: {
execute: decision.setNightSessionStart || decision.clearNightSessionStart,
domain: 'input_text',