Le parc remonte au-dessus de 93 %, et la nuit se raconte par courriel
Le plafond a 93 % n etait pas une protection : le BMS autorisait 53,2 V, nous imposions 51,3, et la cellule la plus haute du pack recent etait 57 mV sous la premiere alarme. Le garde-fou datait des cellules faibles du pack ancien, hors service depuis hier — il protegeait un parc qui n est plus la, au prix de 0,68 kWh, soit 12 % de la reserve utile. Le helper de tension et ses paliers ne sont lus par personne : les valeurs sont une table codee en dur dans l Auto Charge Manager, qui entre au passage dans le depot. Seul le profil de la tranche 90-95 % passe a 52,4 V, soit 3,493 V par cellule, sous la tension nominale que Pylontech annonce. Verifie dans la minute : parc de 51,12 a 52,33 V, courant de -5,3 a +16,1 A, aucune alarme. Et le rapport de nuit part par courriel a 6 h 47. Il ne vit pas dans une session Claude, qui s arrete avec l ecran, mais dans le service d historisation, seul composant allume en permanence — il n y avait rien a surveiller, tout est deja enregistre, il manquait une lecture. Le texte est ecrit pour etre entendu : pas de tableau, des phrases courtes, des virgules decimales. Canal : le webhook n8n qui existait deja, teste de bout en bout. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
60
tools/patch-20260906c-tension-de-charge-52v4.mjs
Normal file
60
tools/patch-20260906c-tension-de-charge-52v4.mjs
Normal file
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env node
|
||||
// Le parc plafonnait a 93 % de SOC, et ce n'etait pas une protection.
|
||||
//
|
||||
// Mesure du 06/09 a 15:01, quatre modules du pack recent :
|
||||
// ce que le BMS AUTORISE : 53,2 V (`maximum_allowed_charging_voltage`)
|
||||
// ce que nous IMPOSIONS : 51,3 V, soit 3,42 V par cellule
|
||||
// cellules : 3 386 a 3 423 mV, ecart 25-30 mV par module
|
||||
// premiere alarme haute : 3 480 mV — la cellule la plus haute est 57 mV en dessous
|
||||
// Aucune alarme, le BMS autorisait encore 40 A de charge : c'est la consigne de
|
||||
// tension qui plafonnait le SOC, pas la batterie.
|
||||
//
|
||||
// Origine : la gestion « tension de cellule elevee » posee pour proteger les
|
||||
// cellules faibles du pack ANCIEN (cellule 12 du module ...0322 a 3 649 mV,
|
||||
// cellule 15 du ...0324). Ces modules sont hors service depuis le 05/09. Le
|
||||
// garde-fou protegeait un parc qui n'est plus la, au prix du haut de la
|
||||
// reserve : de 93 a ~100 % sur quatre modules, environ 0,68 kWh, soit 12 % de
|
||||
// l'energie utile — precisement ce qui manque en fin de nuit.
|
||||
//
|
||||
// ⚠️ LE HELPER `input_number.victron_battery_charge_voltage_normal_v` (51,3) ET
|
||||
// SES PALIERS hcv_step1/step2 NE SONT LUS PAR PERSONNE. Verifie : le nom
|
||||
// n'apparait nulle part dans l'Auto Charge Manager. Les tensions sont une table
|
||||
// codee en dur dans le node « Compute Charge Targets ». Meme famille que le
|
||||
// toggle `allow_grid_hc_night`, parse mais cable nulle part jusqu'a P7.
|
||||
// La VRAIE protection est le BMS lui-meme, qui a demontre le 05/09 une reaction
|
||||
// en CINQ SECONDES : cellule au-dessus de 3 550 mV -> plafond de courant
|
||||
// effondre. Elle reste entiere.
|
||||
//
|
||||
// 52,4 V = 3,493 V par cellule, SOUS la tension de charge nominale que
|
||||
// Pylontech annonce pour l'US2000C (52,5 V) et bien sous les 53,2 V que ce BMS
|
||||
// autorise. Avec 30 mV d'ecart entre cellules, la plus haute atteindra ~3,51 V,
|
||||
// encore 40 mV sous le seuil qui declenche la reduction de courant.
|
||||
//
|
||||
// Seul `pv_topoff` est touche : c'est le profil de la tranche 90-95 % de SOC,
|
||||
// exactement la ou ca plafonnait. `pv_boost` (SOC < 80) et `pv_mid` (80-90)
|
||||
// sont limites par le courant, pas par la tension. `pv_hold` (SOC >= 95, 50,6 V)
|
||||
// n'est PAS touche : redescendre une fois le haut atteint est le bon
|
||||
// comportement pour du LiFePO4, on ne veut pas y sejourner.
|
||||
//
|
||||
// node tools/patch-20260906c-tension-de-charge-52v4.mjs
|
||||
|
||||
import fs from 'node:fs';
|
||||
|
||||
const F = 'workflows/victron-auto-charge-manager-v1.2.json';
|
||||
const wf = JSON.parse(fs.readFileSync(F, 'utf8'));
|
||||
const calc = wf.nodes.find((n) => n.name === 'Compute Charge Targets');
|
||||
if (!calc) throw new Error('noeud "Compute Charge Targets" introuvable');
|
||||
|
||||
let c = calc.parameters.jsCode;
|
||||
const avant = ' pv_topoff: { current_a: 80, voltage_v: 51.3 },';
|
||||
const apres = ' pv_topoff: { current_a: 80, voltage_v: 52.4 },';
|
||||
|
||||
if (c.includes(apres)) {
|
||||
console.log(' deja fait');
|
||||
} else {
|
||||
if (!c.includes(avant)) throw new Error('ancre pv_topoff introuvable');
|
||||
c = c.replace(avant, apres);
|
||||
calc.parameters.jsCode = c;
|
||||
fs.writeFileSync(F, JSON.stringify(wf, null, 2) + '\n');
|
||||
console.log(' pv_topoff : 51.3 -> 52.4 V (3,493 V/cellule)');
|
||||
}
|
||||
Reference in New Issue
Block a user