#!/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');