HC de midi : consigne qui ne descend plus avec un manque batterie, voiture autorisee au-dessus de 35 % en session, tension de recharge 51,5 V
This commit is contained in:
23
HANDOFF.md
23
HANDOFF.md
@@ -2256,5 +2256,26 @@ approximations successives ») ; cette nuit la VW a charge A FOND de 05:17 a 07:
|
|||||||
- **A verifier au matin du 10/10** (revue) : SOC a 07:24 contre 50,4 % ; HC de midi (gain, courant ACM, partage
|
- **A verifier au matin du 10/10** (revue) : SOC a 07:24 contre 50,4 % ; HC de midi (gain, courant ACM, partage
|
||||||
avec la JEEP) ; aucune fermeture EDF en HP le soir ; JEEP pleine pour 06:30 samedi.
|
avec la JEEP) ; aucune fermeture EDF en HP le soir ; JEEP pleine pour 06:30 samedi.
|
||||||
|
|
||||||
|
### 09/10 midi — HC de midi du jour faible : TROIS freins, corriges entre 14:02 et 14:10
|
||||||
|
Releve 13:59 : session engagee (jour faible), EDF ferme, ACM 140 A, bilan 12,9 kWh a reprendre (cible 100 %), mais
|
||||||
|
batterie a 32 A et JEEP (branchee 13:01, 52 %) qui ne demarre pas. SOC 47 % a 12 h -> 57 % a 14 h.
|
||||||
|
1. **Consigne qui descendait** (HA_SERVICE_CALLS_OUTPUT) : un chargeur bride faisait descendre la consigne a la maison
|
||||||
|
(2 524 W) malgre le manque. Desormais, avec un manque batterie, descente seulement si la batterie est pres de sa
|
||||||
|
limite (>= 80 % du DVCC). Scenario `consigne-hc-midi-chargeur-bride-batterie-loin-de-sa-limite` (9 059 W ; 2 087
|
||||||
|
sans le correctif) ; le scenario du 18/09 garde sa descente avec batterie a 170 A sur 180.
|
||||||
|
2. **Voiture bloquee au-dessus de 35 %** (BATTERY_CLOUD_LOCKS, `gridAllowedBySoc`, garde V2.5) : hors nuit, le reseau
|
||||||
|
n'etait permis a la voiture que si SOC <= 35, force_grid_now ou urgence de depart. Ajout : HC de midi ET session
|
||||||
|
engagee. ⚠️ La regle « voiture a midi » du 28/09 n'a donc JAMAIS pu charger une voiture au-dessus de 35 % (cause
|
||||||
|
aussi du 06/10 ; le golden ne verifiait que la source). Scenario `hc-midi-session-engagee-voiture-demarre-soc-55`.
|
||||||
|
Golden 146/146, mutations qui mordent. Deploye 14:02 : JEEP en charge des 14:03.
|
||||||
|
3. **Tension de recharge 50,1 V** (ACM, `tools/patch-20261009-acm-tension-recharge.mjs`) : evcs_takeover_recover
|
||||||
|
gardait la tension de night_slow ; a SOC 58 le chargeur passait en limitation de tension (23 A pour 140 A
|
||||||
|
autorises, reseau plafonne a 3,2 kW). Tension = pv_mid (51,5 V) des qu'un courant est calcule. golden-acm 26/26
|
||||||
|
(+1 releve du 09/10). Deploye 14:06, effectif 14:10 : **batterie 121-127 A, reseau 8,7 kW, JEEP 2,9 kW**.
|
||||||
|
- Nuit du 08-09/10 conforme : session engagee a 03:36 (SOC passe sous 50,4 %), SOC tenu a 51-52 %, ~51 % a 07:24.
|
||||||
|
Jour faible decide a 07:25 (52,7 % prevus a 17 h pour 71,2 %). Revue du 09/10 : rien a signaler.
|
||||||
|
- ⚠️ JEEP part samedi 06:30 : mode de nuit « complete » conseille ce soir (aucune regle ne charge une voiture a
|
||||||
|
depart connu en « sans EDF » si EDF ne se ferme pas pour la batterie — cas du planificateur).
|
||||||
|
|
||||||
---
|
---
|
||||||
*Document mis a jour le : 09/10/2026 (~01:50) — conseiller relecteur de la journee (revue calculee + pistes) ; nuit : voiture qui profite d'EDF ferme pour la batterie, nuit qui prepare le soir les jours annonces faibles ; 08/10/2026 (~00:15) — jour faible : charge maximale en HC de midi (bilan 100 %, ACM plafond + solaire) ; 07/10/2026 (~22:45) — reprise de 16 h verifiee, EDF en HP a 18:03, bilan : reprise du soir et prevision recalee sur la matinee ; bilan HC de midi, reprise du soir apres coupure en pleine chauffe, mesure ECS sur 10 min ; recharge reseau HC : courant calcule (12 kVA) et consigne non tenue ; HC de midi : AUTO ne chauffe pas (BOOST), alerte v2, Jeep (contact, relecture, zone), recharge batterie bridee a 30 A par l'ACM ; jour faible = EDF les deux fenetres HC pour le chauffe-eau, alerte BOOST, Victron Mobile refait ; 1re decision jour faible en reel, mesure ECS reparee, douches 06:00/20:00, Grafana chauffe-eau, tableaux ECS ; chauffe-eau en HC de nuit les jours faibles (decision du bilan, workflow ECS sous controle du depot, VRM, V2.3 desactive) ; garde batterie reseau : voiture bridee a 6 A au lieu d'un arret ; garde-fou concierge 2 h ; allers-retours brefs de la borne retrouves dans l'historique HA (echange VW -> JEEP de 20 s), production 14,5 kWh contre 22 prevus, defaut garde batterie en mode reseau a trancher ; voiture a midi : la batterie n'est plus comptee comme du solaire (EDF automatique les jours de depart si le surplus ne couvre pas) ; nuit 05->06 : JEEP chargee sur EDF en complete (6,32 kWh), budget 0 du a la prevision, Windy/ECMWF contre VRM, a comparer ce soir ; concierge aligne sur la preuve fin de trajet ; a verifier : nuit 05->06 et mardi faible, comparaison VRM/Forecast.Solar ; JEEP identifiee aussi par sa fin de trajet, prevision de la nuit 05->06 ; identification JEEP reussie en reel, correction humaine qui prime (refus supprime), session du 04/10 coupee ; EVCS Master en quatre onglets ; Jeep lue par Uconnect et identifiee seule, capacite JEEP 10 kWh, concierge variante (a) ; releve par photo (SPARK), hass-uconnect en attente ; ecart semaine/week-end mesure (pas de profil week-end la nuit) ; nuit du budget : budget borne au plancher prudent, sans EDF = voiture bloquee meme EDF ferme (batterie seule) ; Energie : sauts corriges ; tableau Energie complete (Sud/Ouest, batterie par integration, borne ; aucun redemarrage HA) ; kilometrage des vehicules (km/kWh, capacite, releves de reference, agent cable 15/15) ; a verifier le 04/10 au matin : nuit du budget JEEP ; concierge : vehicule non confirme demande, heure de saisie ; Grafana vehicules en tableau ; Grafana vehicules : ZERO et Invite ajoutes, session 16:46 reetiquetee ZERO ; prevision SOC 10 h ~35 % ; concierge fiable : niveau note par le script, une ligne, dedoublonnage, simulation par drapeau ; agent : message incompris = question, bourse sur demande explicite (banc final 6/6) ; a verifier : nuit du samedi 03 au dimanche 04/10 (budget < besoin JEEP), cron orange-cloture lundi 05/10 apres 17:40, comparaison VRM / Forecast.Solar lundi 05/10*
|
*Document mis a jour le : 09/10/2026 (~14:15) — conseiller relecteur de la journee (revue calculee + pistes) ; nuit : voiture qui profite d'EDF ferme pour la batterie, nuit qui prepare le soir les jours annonces faibles ; 08/10/2026 (~00:15) — jour faible : charge maximale en HC de midi (bilan 100 %, ACM plafond + solaire) ; 07/10/2026 (~22:45) — reprise de 16 h verifiee, EDF en HP a 18:03, bilan : reprise du soir et prevision recalee sur la matinee ; bilan HC de midi, reprise du soir apres coupure en pleine chauffe, mesure ECS sur 10 min ; recharge reseau HC : courant calcule (12 kVA) et consigne non tenue ; HC de midi : AUTO ne chauffe pas (BOOST), alerte v2, Jeep (contact, relecture, zone), recharge batterie bridee a 30 A par l'ACM ; jour faible = EDF les deux fenetres HC pour le chauffe-eau, alerte BOOST, Victron Mobile refait ; 1re decision jour faible en reel, mesure ECS reparee, douches 06:00/20:00, Grafana chauffe-eau, tableaux ECS ; chauffe-eau en HC de nuit les jours faibles (decision du bilan, workflow ECS sous controle du depot, VRM, V2.3 desactive) ; garde batterie reseau : voiture bridee a 6 A au lieu d'un arret ; garde-fou concierge 2 h ; allers-retours brefs de la borne retrouves dans l'historique HA (echange VW -> JEEP de 20 s), production 14,5 kWh contre 22 prevus, defaut garde batterie en mode reseau a trancher ; voiture a midi : la batterie n'est plus comptee comme du solaire (EDF automatique les jours de depart si le surplus ne couvre pas) ; nuit 05->06 : JEEP chargee sur EDF en complete (6,32 kWh), budget 0 du a la prevision, Windy/ECMWF contre VRM, a comparer ce soir ; concierge aligne sur la preuve fin de trajet ; a verifier : nuit 05->06 et mardi faible, comparaison VRM/Forecast.Solar ; JEEP identifiee aussi par sa fin de trajet, prevision de la nuit 05->06 ; identification JEEP reussie en reel, correction humaine qui prime (refus supprime), session du 04/10 coupee ; EVCS Master en quatre onglets ; Jeep lue par Uconnect et identifiee seule, capacite JEEP 10 kWh, concierge variante (a) ; releve par photo (SPARK), hass-uconnect en attente ; ecart semaine/week-end mesure (pas de profil week-end la nuit) ; nuit du budget : budget borne au plancher prudent, sans EDF = voiture bloquee meme EDF ferme (batterie seule) ; Energie : sauts corriges ; tableau Energie complete (Sud/Ouest, batterie par integration, borne ; aucun redemarrage HA) ; kilometrage des vehicules (km/kWh, capacite, releves de reference, agent cable 15/15) ; a verifier le 04/10 au matin : nuit du budget JEEP ; concierge : vehicule non confirme demande, heure de saisie ; Grafana vehicules en tableau ; Grafana vehicules : ZERO et Invite ajoutes, session 16:46 reetiquetee ZERO ; prevision SOC 10 h ~35 % ; concierge fiable : niveau note par le script, une ligne, dedoublonnage, simulation par drapeau ; agent : message incompris = question, bourse sur demande explicite (banc final 6/6) ; a verifier : nuit du samedi 03 au dimanche 04/10 (budget < besoin JEEP), cron orange-cloture lundi 05/10 apres 17:40, comparaison VRM / Forecast.Solar lundi 05/10*
|
||||||
|
|||||||
@@ -808,10 +808,17 @@ const solarHoldOk =
|
|||||||
|
|
||||||
// FIX V2.5: Garde SOC - pas de grid pour EVCS si SOC > 35% sauf force_grid_now
|
// FIX V2.5: Garde SOC - pas de grid pour EVCS si SOC > 35% sauf force_grid_now
|
||||||
// P9 (09/08/2026) : la fenêtre départ imminent autorise aussi le réseau.
|
// P9 (09/08/2026) : la fenêtre départ imminent autorise aussi le réseau.
|
||||||
|
// ⚠️ HC DE MIDI AVEC SESSION ENGAGEE (09/10/2026) : EDF est ferme de toute
|
||||||
|
// facon (jour faible, batterie, voiture avant depart). La garde « SOC <= 35 »
|
||||||
|
// empechait la voiture de demarrer : JEEP branchee a 13:01 le 09/10, SOC 55,
|
||||||
|
// « Conditions de demarrage non reunies » ; meme cause le 06/10 (SOC 57).
|
||||||
|
// La regle « voiture a midi » du 28/09 n'a donc jamais pu charger une voiture
|
||||||
|
// au-dessus de 35 %.
|
||||||
const gridAllowedBySoc =
|
const gridAllowedBySoc =
|
||||||
strategy.forceGridRequested ||
|
strategy.forceGridRequested ||
|
||||||
context.profile === 'night_hc' ||
|
context.profile === 'night_hc' ||
|
||||||
departureUrgentActive ||
|
departureUrgentActive ||
|
||||||
|
(context.profile === 'midday_hc_or_solar' && nightGridSessionCommitted) ||
|
||||||
parsed.soc <= 35;
|
parsed.soc <= 35;
|
||||||
|
|
||||||
const gridStartOk =
|
const gridStartOk =
|
||||||
|
|||||||
@@ -590,8 +590,19 @@ const solarResourceRefused =
|
|||||||
|
|
||||||
// Pendant la fenetre d'etablissement (§29) les mesures PV et batterie ne
|
// Pendant la fenetre d'etablissement (§29) les mesures PV et batterie ne
|
||||||
// decrivent aucun regime permanent : on ne descend pas sur elles.
|
// decrivent aucun regime permanent : on ne descend pas sur elles.
|
||||||
|
// ⚠️ MANQUE BATTERIE EN HC : NE DESCENDRE QUE SI LA BATTERIE EST SATUREE (09/10/2026).
|
||||||
|
// HC de midi du 09/10, jour faible, 12,9 kWh demandes, ACM a 140 A : un chargeur
|
||||||
|
// bride a fait descendre la consigne a 2 524 W (la maison) et la batterie n'a pris
|
||||||
|
// que 32 A. Un chargeur bride ne prouve une ressource refusee QUE si la batterie
|
||||||
|
// est pres de sa limite de charge (sinon elle prendrait le solaire) ; avec 7 kW de
|
||||||
|
// soleil et la batterie a sa limite, descendre laisse bien entrer le solaire
|
||||||
|
// (scenario du 18/09).
|
||||||
|
const batteryNearChargeLimit =
|
||||||
|
Number.isFinite(params.dvccChargeLimitA) && params.dvccChargeLimitA > 0 &&
|
||||||
|
parsed.batteryCurrentA >= 0.8 * params.dvccChargeLimitA;
|
||||||
const gridSetpointDescendOk =
|
const gridSetpointDescendOk =
|
||||||
gridSessionActive &&
|
gridSessionActive &&
|
||||||
|
(!(batterySetpointShareW > 0) || batteryNearChargeLimit) &&
|
||||||
solarResourceRefused &&
|
solarResourceRefused &&
|
||||||
!batteryPolicy.batterySoftBreachNow &&
|
!batteryPolicy.batterySoftBreachNow &&
|
||||||
!derived.gridSettling &&
|
!derived.gridSettling &&
|
||||||
|
|||||||
@@ -59,8 +59,18 @@ export const scenarios = [
|
|||||||
time: h(ETE, '02:30'),
|
time: h(ETE, '02:30'),
|
||||||
overrides: { ...parcNeuf, soc_percent: '30', night_takeover: 'on',
|
overrides: { ...parcNeuf, soc_percent: '30', night_takeover: 'on',
|
||||||
edf_switch: 'on', night_target_soc: '50' },
|
edf_switch: 'on', night_target_soc: '50' },
|
||||||
|
// 09/10 : tension de la charge solaire normale (51,5 V) des qu'un courant est calcule.
|
||||||
expect: { mode: 'evcs_takeover_recover', profil: 'night_slow',
|
expect: { mode: 'evcs_takeover_recover', profil: 'night_slow',
|
||||||
courantA: 30, tensionV: 50.1 },
|
courantA: 30, tensionV: 51.5 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'acm-takeover-midi-soc-58-tension-pas-bridee',
|
||||||
|
label: 'RELEVE 09/10 14:05 : SOC 58, 12,9 kWh a reprendre, maison 2,3 kW : 140 A ET 51,5 V (a 50,1 V la batterie plafonnait a 23 A)',
|
||||||
|
time: h(ETE, '14:05'),
|
||||||
|
overrides: { ...parcNeuf, soc_percent: '58', night_takeover: 'on', edf_switch: 'on',
|
||||||
|
night_target_soc: '90', grid_energy_needed_kwh: '12.9', house_ac_power_w: '2300',
|
||||||
|
grid_subscription_va: '12000', battery_voltage_v: '51', pv_power_w: '500' },
|
||||||
|
expect: { mode: 'evcs_takeover_recover', courantA: 140, tensionV: 51.5 },
|
||||||
},
|
},
|
||||||
// COURANT CALCULE (07/10/2026) : energie a reprendre / temps restant, borne
|
// COURANT CALCULE (07/10/2026) : energie a reprendre / temps restant, borne
|
||||||
// par l'abonnement 12 kVA moins la maison. Releve du 07/10 a midi : SOC 31,
|
// par l'abonnement 12 kVA moins la maison. Releve du 07/10 a midi : SOC 31,
|
||||||
|
|||||||
@@ -2823,6 +2823,52 @@ export const scenarios = [
|
|||||||
},
|
},
|
||||||
expect: { profile: 'midday_hc_or_solar', sourceMode: 'grid_hc_allowed', takeoverNeeded: true },
|
expect: { profile: 'midday_hc_or_solar', sourceMode: 'grid_hc_allowed', takeoverNeeded: true },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// RELEVE 09/10 13:59 : JEEP branchee 13:01 a 52 %, SOC 55-57, session de midi
|
||||||
|
// engagee (jour faible), EDF ferme : « Conditions de demarrage non reunies ».
|
||||||
|
// La garde gridAllowedBySoc (SOC <= 35 hors nuit) bloquait le demarrage. Le
|
||||||
|
// scenario precedent ne verifiait que la source, pas la charge.
|
||||||
|
id: 'hc-midi-session-engagee-voiture-demarre-soc-55',
|
||||||
|
label: 'RELEVE 09/10 13:59 — midi, session engagee, EDF ferme, SOC 55 : la JEEP DEMARRE sur le reseau',
|
||||||
|
time: MIDDAY,
|
||||||
|
overrides: {
|
||||||
|
evcs_vehicle_connected: 'on', evcs_device_connected: 'on',
|
||||||
|
grid_state: 'on', victron_acin1_available: '1',
|
||||||
|
night_grid_session_committed_prev: 'on',
|
||||||
|
soc_percent: '55', battery_current_a: '30',
|
||||||
|
pv_power_w: '1750', pv_power_10m_avg_w: '1700', pv_trend_w: '0',
|
||||||
|
house_ac_power_w: '1650', vebus_ac_out_l1_power_w: '1650',
|
||||||
|
evcs_ac_power_w: '0',
|
||||||
|
balance_required_soc: '100', balance_energy_to_cover_kwh: '0.33',
|
||||||
|
balance_grid_energy_needed_kwh: '12.9',
|
||||||
|
balance_status: 'ok', balance_last_run: '08/08 12:50',
|
||||||
|
balance_vehicle_grid_needed: 'off', balance_ecs_nuit: 'on',
|
||||||
|
},
|
||||||
|
expect: { profile: 'midday_hc_or_solar', sourceMode: 'grid_hc_allowed', desiredCharging: true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'consigne-hc-midi-chargeur-bride-batterie-loin-de-sa-limite',
|
||||||
|
label: 'RELEVE 09/10 13:59 — midi, manque 12,9 kWh, un chargeur bride, batterie a 32 A sur 140 : la consigne NE DESCEND PAS a la maison',
|
||||||
|
time: MIDDAY,
|
||||||
|
overrides: {
|
||||||
|
evcs_vehicle_connected: 'off', evcs_device_connected: 'on',
|
||||||
|
grid_state: 'on', victron_acin1_available: '1',
|
||||||
|
night_grid_session_committed_prev: 'on',
|
||||||
|
soc_percent: '57', battery_current_a: '32',
|
||||||
|
pv_power_w: '1750', pv_power_10m_avg_w: '1700', pv_trend_w: '0',
|
||||||
|
mppt_operation_modes: 'voltage_current_limited,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active',
|
||||||
|
house_ac_power_w: '1650', vebus_ac_out_l1_power_w: '1650',
|
||||||
|
evcs_ac_power_w: '0',
|
||||||
|
grid_setpoint_w: '2524',
|
||||||
|
dvcc_max_charge_current_a: '140',
|
||||||
|
balance_required_soc: '100', balance_energy_to_cover_kwh: '0.33',
|
||||||
|
balance_grid_energy_needed_kwh: '12.9',
|
||||||
|
balance_status: 'ok', balance_last_run: '08/08 12:50',
|
||||||
|
balance_ecs_nuit: 'on',
|
||||||
|
},
|
||||||
|
// Maison 1 650 + 140 A x 52,9 V (tension de reference) = 9 059 W ; sans le correctif : 2 087 W (descente).
|
||||||
|
expect: { gridSetpointW: 9059 },
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'consigne-bilan-plancher-nuage-exclut-la-batterie',
|
id: 'consigne-bilan-plancher-nuage-exclut-la-batterie',
|
||||||
label: 'CONSIGNE 18/09 — midi, soleil bride, manque batterie, PAS de voiture : le terme batterie ne doit PAS remonter le plancher nuage',
|
label: 'CONSIGNE 18/09 — midi, soleil bride, manque batterie, PAS de voiture : le terme batterie ne doit PAS remonter le plancher nuage',
|
||||||
@@ -2842,7 +2888,9 @@ export const scenarios = [
|
|||||||
victron_evcs_strategy: 'force_grid_now',
|
victron_evcs_strategy: 'force_grid_now',
|
||||||
evcs_vehicle_connected: 'off', evcs_device_connected: 'on',
|
evcs_vehicle_connected: 'off', evcs_device_connected: 'on',
|
||||||
grid_state: 'on', victron_acin1_available: '1',
|
grid_state: 'on', victron_acin1_available: '1',
|
||||||
soc_percent: '35', battery_current_a: '20',
|
// 09/10 : batterie a sa limite (170 A sur 180) -> la descente est legitime ;
|
||||||
|
// a 20 A elle ne l'est plus (scenario consigne-hc-midi-chargeur-bride-batterie-loin-de-sa-limite).
|
||||||
|
soc_percent: '35', battery_current_a: '170',
|
||||||
pv_power_w: '7000', pv_power_10m_avg_w: '6500', pv_trend_w: '0',
|
pv_power_w: '7000', pv_power_10m_avg_w: '6500', pv_trend_w: '0',
|
||||||
mppt_operation_modes: 'voltage_current_limited,voltage_current_limited,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active',
|
mppt_operation_modes: 'voltage_current_limited,voltage_current_limited,mppt_active,mppt_active,mppt_active,mppt_active,mppt_active',
|
||||||
house_ac_power_w: '900', vebus_ac_out_l1_power_w: '900',
|
house_ac_power_w: '900', vebus_ac_out_l1_power_w: '900',
|
||||||
|
|||||||
24
tools/patch-20261009-acm-tension-recharge.mjs
Normal file
24
tools/patch-20261009-acm-tension-recharge.mjs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
// 09/10/2026 : la recharge reseau HC (evcs_takeover_recover) gardait la TENSION
|
||||||
|
// du profil night_slow, 50,1 V. A SOC 58 la batterie en charge depasse 50,1 V :
|
||||||
|
// le chargeur se met en limitation de tension et le courant tombe a ~23 A, quel
|
||||||
|
// que soit le courant autorise (140 A). Releve du 09/10 14:05 : DVCC 140 A,
|
||||||
|
// consigne 8 kW, reseau plafonne a 3,2 kW, batterie 23 A. Le 07/10 a 14:20 le
|
||||||
|
// meme chemin donnait 99 A parce que le SOC etait a 34 %.
|
||||||
|
// Quand un courant de recharge est calcule, la tension devient celle de la
|
||||||
|
// charge solaire normale (pv_mid, 51,5 V, sous les 53,2 V du BMS). Rejouable.
|
||||||
|
import fs from 'fs';
|
||||||
|
const F = 'workflows/victron-auto-charge-manager-v1.2.json';
|
||||||
|
const wf = JSON.parse(fs.readFileSync(F, 'utf8'));
|
||||||
|
const node = wf.nodes.find((n) => n.name === 'Compute Charge Targets');
|
||||||
|
let c = node.parameters.jsCode;
|
||||||
|
if (c.includes('TENSION DE RECHARGE (09/10/2026)')) { console.log('deja applique'); process.exit(0); }
|
||||||
|
const a = ` targetCurrentA = Math.round(Math.max(10, Math.min(plafondA, Math.ceil(besoinA / 5) * 5)) * 10) / 10;`;
|
||||||
|
if (c.split(a).length !== 2) throw new Error('motif introuvable');
|
||||||
|
c = c.replace(a, a + `
|
||||||
|
// TENSION DE RECHARGE (09/10/2026) : 50,1 V (night_slow) bride le courant des que
|
||||||
|
// la batterie depasse ~50 % ; on charge a la tension solaire normale.
|
||||||
|
targetVoltageV = cfg.profiles.pv_mid.voltage_v;`);
|
||||||
|
node.parameters.jsCode = c;
|
||||||
|
fs.writeFileSync(F, JSON.stringify(wf, null, 2) + '\n');
|
||||||
|
console.log('patch applique');
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user