Files
EVCS/docs/PROCEDURE_REMPLACEMENT_PACK.md
Tallagrand Thierry e95ea15516 Le cable bleu a un sens, et lui seul
Releve par le proprietaire : l extremite etiquetee « BATTERY » va sur le
maitre, celle etiquetee « Inverter » va sur le LV-HUB. Tous les autres
cables de communication Pylontech sont 8 broches droit, donc reversibles ;
celui-ci ne l est pas, et rien sur le connecteur ne le signale.

La raison est dans l annotation du schema constructeur, que j avais
extraite sans en tirer la consequence : « The first 3 pins ON THE PORT OF
BATTERY SIDE should be NULL. » Les broches ne sont coupees qu a UNE
extremite. Inverse, le cable presente un 8-broches complet au maitre et
un cable ampute au hub — les deux erreurs a la fois.

Piege supplementaire : l etiquette dit « Inverter » parce que le cable a
ete fabrique pour relier une batterie a un onduleur ; c est pourtant bien
cette extremite qui va au hub.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-12 22:16:15 +02:00

405 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Remplacement du parc batterie — arrêt, câblage, redémarrage
> Rédigé le 12/09/2026. Cible : retirer les trois modules **gonflés**, constituer
> un groupe de 5 US2000C et un groupe de 4 US5000, les accoupler par le LV Hub.
> État de départ relevé à 15:26 : SOC 97 %, 50,5 V, contacteur EDF **ouvert**.
---
## 0. AVANT DE TOUCHER À QUOI QUE CE SOIT
### ⚠️ Les modules gonflés ne se testent pas, ne se chargent pas
Un module LiFePO4 qui gonfle a produit du gaz. C'est irréversible et c'est un
risque d'incendie. **Cela annule le plan d'essai à l'alimentation stabilisée**
que j'avais proposé le 5 septembre sur BAT3 (`K220803C30160324`) : si elle fait
partie des trois gonflées, elle ne doit ni être chargée, ni être ouverte, ni
être mise sous tension.
Manipulation des trois modules retirés :
- ne pas les percer, ne pas les empiler, ne pas les poser sur du combustible ;
- isoler les bornes (capuchon ou ruban) ;
- les stocker **hors du local de vie**, ventilé, à l'écart du reste du parc ;
- photographier le gonflement **avec le numéro de série visible** — c'est la
pièce du dossier Pylontech ;
- garder les relevés console du 05/09 (`docs/mesures/batteries/`) : ils
documentent 498 et 416 surtensions, et des cellules descendues à 2953 mV.
### ⚠️ LA MAISON VA PERDRE LE COURANT — à vérifier d'abord
Le MultiPlus tire son alimentation interne du bus continu. **Sans batterie, il
s'arrête, et il n'y a plus rien sur AC-out**, même contacteur EDF fermé : le
passthrough exige que l'onduleur fonctionne.
Donc, avant de commencer, répondre à ceci :
> **Existe-t-il un bypass manuel qui relie le réseau directement aux circuits
> de la maison, en contournant les MultiPlus ?**
- **Oui** → le basculer avant de couper, la maison reste alimentée.
- **Non** → la maison sera **hors tension** pendant toute l'intervention.
Prévenir tout le monde, arrêter congélateurs/ordinateurs proprement, et
vérifier que la box internet a une batterie, sinon vous perdez aussi l'accès
à Home Assistant, à n8n et à mes outils pendant l'opération.
⚠️ **Home Assistant et n8n tournent sur le Synology 10.10.10.17**, qui est
alimenté par la maison. Sans bypass, ils s'arrêtent avec elle. **PostgreSQL,
InfluxDB, Grafana et le chien de garde sont sur le 10.10.10.22** — autre
machine, qui peut rester debout si elle est sur un autre circuit. À vérifier.
### Choisir le moment
Fin de matinée par beau temps : la production couvre la maison au redémarrage
et la batterie neuve trouve tout de suite de quoi se charger. **Pas le soir**,
pas avant une nuit, et pas pendant les heures creuses.
---
## 1. ARRÊT
### 1.1 Neutraliser les automates AVANT tout geste physique
Sinon ils continueront d'écrire pendant que le système est dans un état
transitoire, et rechercheront la panne qu'ils croient voir.
1. **Stratégie EVCS → `stop`** (carte EVCS Master, ou EDF Urgence).
2. **Hystérésis → OFF** : `input_boolean.victron_grid_hysteresis_enabled`.
Bouton « EDF FORCE ON » si vous voulez en plus tenir le contacteur.
3. **Automatisations Home Assistant** : désactiver les deux qui commandent le
contacteur sur un seuil de SOC —
`Victron - Grid ON si SoC < 22%` et `Sécurité: check SoC < 22% toutes les 5 min`.
(`Victron - Grid OFF si SoC > 35%` est déjà désactivée depuis ce matin.)
Sans ça, elles réagiront à un SOC qui n'a plus de sens.
4. **Débrancher le véhicule** s'il y en a un.
### 1.2 Fermer EDF
Même sans bypass, fermer le contacteur avant de couper limite la casse et
permet un redémarrage plus simple.
Bouton **« EDF ON manuel »** du dashboard Urgence — il coupe l'hystérésis,
efface le latch et ferme le contacteur ; plus aucun automate n'y touchera.
### 1.3 Arrêter la production solaire
Ouvrir les disjoncteurs / sectionneurs **DC des MPPT**. Sans batterie, un MPPT
qui produit dans un bus vide n'a nulle part où envoyer son énergie.
### 1.4 Arrêter les MultiPlus
Mettre les deux unités sur **OFF** (interrupteur en façade). Attendre l'arrêt
complet des ventilateurs et l'extinction des LED.
### 1.5 Ouvrir le disjoncteur DC de la batterie
C'est lui qui isole le parc du bus continu. **Après cette étape uniquement**,
le parc n'alimente plus rien.
### 1.6 Éteindre les modules Pylontech, dans l'ordre
Pour **chaque groupe** :
1. maintenir le bouton **SW rouge du module maître** jusqu'à extinction de tous
les modules du groupe ;
2. basculer l'interrupteur d'alimentation de **chaque** module sur OFF ;
3. vérifier que plus aucune LED n'est allumée.
Puis **éteindre le LV Hub**.
### 1.7 Attendre, puis débrancher
Compter **une minute** : les condensateurs du bus continu se déchargent.
Ensuite seulement, débrancher les câbles de puissance et les câbles de
communication RJ45.
---
## 2. CÂBLAGE DU NOUVEAU PARC
### Composition visée
| groupe | contenu | équivalents US2000C |
|---|---|---:|
| 1 | **5 × US2000C** — les 4 de `Y230202C…` plus `K220803C30160323` | 5 |
| 2 | **4 × US5000** | 8 |
| | **total** | **13** |
`K220803C30160323` est le module ancien **sain** : zéro cellule marquée, zéro
surtension, tampon d'événements vide au relevé du 05/09. Il rejoint le service
sans réparation.
Retirés : `K220803C30160322`, `K220803C30160319`, `K220803C30160324`.
### ⚠️ Le maître doit être un US5000
Règle de priorité Pylontech : le modèle le plus récent porte le firmware le
plus récent et doit être maître. Le maître de chaque groupe est le module dont
le **port de liaison 0 reste vide**.
- Groupe 2 : un US5000 en maître.
- Groupe 1 : le plus récent des US2000C, donc un `Y230202C…` — **pas**
`K220803C30160323`, qui est le plus ancien du lot.
### Adressage
Seul le **maître de chaque groupe** reçoit le réglage d'adresse par DIP
switches ; tous les autres restent en position basse. Les modules d'un même
groupe se chaînent entre eux par les câbles RJ45 courts fournis.
### Liaison au hub
Un câble RJ45 long par groupe, du port **CAN du maître** vers le port
numéroté correspondant du **LV Hub**. Le hub va vers le GX par le câble
Victron dédié — `ASS030720018`, VE.Can vers CAN-bus type A. **Ce câble-là n'est
pas interchangeable** avec un RJ45 ordinaire.
### ⚠️ Équilibrer les SOC avant d'accoupler
Les 5 US2000C sortiront du service à ~97 %. Les US5000 neufs arrivent
typiquement entre 40 et 50 %. Accoupler deux groupes très écartés provoque un
courant d'égalisation important entre eux.
La consigne d'installation : les modules doivent être **à un clignotement de
SOC d'écart** avant accouplement, sinon attendre trente minutes ou plus. En
pratique : démarrer le groupe 2 seul, le laisser se stabiliser, et ne relier le
groupe 1 qu'ensuite — voir la séquence de redémarrage.
⚠️ **Ne rebranchez pas de console sur le LV Hub** : ça le fait redémarrer.
---
## 3. REDÉMARRAGE
### 3.1 Groupe par groupe
1. Fermer le disjoncteur DC de la batterie — **non**, pas encore. Les modules
d'abord.
2. **Groupe 2 (US5000)** : allumer chaque module, puis maintenir le SW du
maître jusqu'à ce que tous affichent RUN. Vérifier **aucune alarme**.
3. **Groupe 1 (US2000C)** : idem.
4. Comparer les SOC des deux groupes. S'ils s'écartent de plus d'un
clignotement, attendre.
5. **Allumer le LV Hub.** La LED du groupe connecté doit clignoter **vert**.
Rouge → éteindre, revérifier les câbles, rallumer.
### 3.2 Remettre la puissance
6. **Fermer le disjoncteur DC** de la batterie.
7. **MultiPlus sur ON.** Attendre qu'ils prennent la main sur AC-out.
8. **Refermer les sectionneurs DC des MPPT.**
### 3.3 Vérifications avant de rendre la main aux automates
À faire **dans cet ordre**, et ne pas passer à la suite tant que ça ne colle pas :
| vérification | où | attendu |
|---|---|---|
| le parc est vu en entier | `sensor.airtria_8_us2000c_maximum_allowed_discharge_current` | **nettement au-dessus de 100 A** (il valait 100 avec 4 modules) |
| courant de charge autorisé | `…_maximum_allowed_charge_current` | au-dessus de 40 A |
| aucune alarme | `…_tension_de_cellule_elevee`, `…_low_voltage`, `…_high_discharge_current` | `no_alarm` |
| tension cohérente | `sensor.victron_battery_voltage` | 48–53 V |
| pas d'erreur VE.Bus | alarmes MultiPlus | toutes à `no_alarm` |
⚠️ **Si la limite de décharge reste à 100 A**, le hub ne voit qu'un seul groupe.
Cause la plus probable : **le LV Hub date de 2021** (`Soft V1.7`, release
21-03-25) et rien ne garantit qu'il énumère des US5000B. C'est l'inconnue
identifiée le 9 septembre. Vérifier d'abord les câbles et les DIP switches,
puis suspecter le firmware du hub.
### 3.4 Déclarer le nouveau parc au logiciel
**Une seule valeur à changer, et c'est la seule.**
Dashboard **Bilan énergétique** → onglet **Profils & réglages** → carte
**Réglages** → *Parc batterie (équivalents US2000C)* :
> **4 → 13**
⚠️ **Treize, pas neuf.** Un US5000 compte pour **deux** : 5 + (4 × 2) = 13.
Cette valeur alimente trois calculs à la fois — la capacité utile du
contrôleur, la conversion énergie/SOC du bilan, et l'échelle des limites de
courant batterie. Une erreur ici se propage aux trois.
Capacité utile attendue après changement : **~22 kWh** livrés à la maison entre
100 % et le plancher de 22 %, contre 6,8 kWh aujourd'hui.
### 3.5 Rendre la main aux automates
Dans l'ordre inverse de l'arrêt :
1. Bouton **« EDF rendre la main »** (dashboard Urgence) — réactive l'hystérésis.
2. Réactiver les deux automatisations Home Assistant désactivées en 1.1.
**Laisser désactivée** `Victron - Grid OFF si SoC > 35%`.
3. **Stratégie → `auto_solar_plus`.**
4. Vérifier que le contrôleur EVCS reprend : une exécution en succès toutes les
30 s, et un état cohérent dans `input_text.victron_evcs_surplus_state`.
---
## 4. APRÈS — ce qui doit être remesuré
La courbe énergie/SOC actuelle (0,169 kWh par point au-dessus de 33 %, genou à
33 %) a été mesurée sur l'ancien parc. **Le genou était attribué aux cellules
faibles des modules retirés : il devrait disparaître.**
Après quelques jours de fonctionnement :
```
node tools/mesure-courbe-batterie.mjs 8
```
et mettre à jour les trois nombres dans `src/energy-balance/BALANCE.js` ainsi
que `batteryUsableCapacityKwh` dans `src/nodes/INPUT_PARSE.js`. Ce sont des
**résultats de mesure, pas des réglages**.
Regénérer aussi la carte des décisions, qui horodate les évolutions :
```
node tools/carte-decisions.mjs --injecte
```
---
## 5. DOSSIER PYLONTECH
À joindre pour les trois modules :
| module | ce que disent les relevés du 05/09 |
|---|---|
| `K220803C30160322` | cellules 6, 7, 12 — la 12 oscille de 2953 à 3644 mV ; **498** surtensions, 86 dépassements |
| `K220803C30160319` | cellules 2, 6, 10, 12, 15 ; **416** surtensions, 179 dépassements |
| `K220803C30160324` | cellule 15 — 43 mΩ de résistance excédentaire, s'effondre à 84 % de charge sous 6,5 A |
Plus : photos du gonflement avec numéro de série visible, la facture du
27/04/2023 (La Boutique Solaire, 190002543), et les exports console dans
`docs/mesures/batteries/`.
Pour mémoire, un module **sain** du même parc affiche 2 mV d'écart entre
cellules et zéro compteur — c'est l'étalon qui rend les chiffres ci-dessus
parlants.
---
# ANNEXE — SÉQUENCE DE MISE EN SERVICE À DEUX GROUPES, VALIDÉE LE 12/09/2026
> Trouvée par le propriétaire après une soirée de fausses pistes. Le détail qui
> débloque tout est au point 7, et il n'est écrit nulle part dans la
> documentation Pylontech.
## Le câblage exact
```
LV-HUB port 1 ──[câble BLEU]──▶ A/CAN du maître groupe 1 (US5000)
maître groupe 1 RS485 ──[câble 8 broches]──▶ A/CAN du maître groupe 2 (US2000C)
maître groupe 2 RS485 ──▶ VIDE (dernier groupe)
LV-HUB port 0 ──[câble court 8 broches]──▶ LV-HUB CAN IN
LV-HUB CAN OUT ──[câble Victron]──▶ Cerbo GX
```
⚠️ **LES DEUX CÂBLES NE SONT PAS INTERCHANGEABLES.**
| liaison | câble | étiquette relevée |
|---|---|---|
| hub → maître groupe 1 | **3 premières broches NON connectées** | `5WRPY01-00132` · `1~3 NA` · `4~8 PIN-PIN` |
| entre maîtres, entre modules, port 0 → CAN IN | **8 broches droit** | `BAT` / `BAT` |
Un câble ordinaire à la place du premier et le hub ne voit rien — sans aucun
message d'erreur autre que le status rouge.
### ⚠️⚠️ LE CÂBLE BLEU A UN SENS, ET LUI SEUL
```
étiquette « BATTERY » ──▶ A/CAN du maître groupe 1
étiquette « Inverter » (porte ──▶ port 1 du LV-HUB
aussi une étiquette « 30V »
sur l'exemplaire installé)
```
**Tous les autres câbles de communication Pylontech sont réversibles** — ils
sont 8 broches droit, les deux extrémités sont identiques. Celui-ci ne l'est
pas, et rien sur le connecteur ne le signale : il faut lire les étiquettes.
La raison est dans l'annotation du schéma constructeur :
> *« The first 3 pins **on the port of battery side** should be NULL. »*
Les trois broches ne sont coupées **qu'à une extrémité**, celle qui va sur la
batterie. Le câble est donc asymétrique par construction. Inversé, il présente
un 8-broches complet au maître et un câble amputé au hub : les deux erreurs à
la fois.
Ce câble a par ailleurs été fabriqué pour relier une batterie à un onduleur
— d'où l'étiquette « Inverter » — et se trouve ici employé vers le hub. Ne pas
se laisser dérouter par ce libellé : **c'est bien l'extrémité « Inverter » qui
va au LV-HUB.**
## La séquence qui fonctionne
```
1. TOUT éteindre : LV-HUB et les 9 modules
2. DIP du maître groupe 1 sur 0000
3. Allumer les 4 US5000 (interrupteurs), puis les 5 US2000C
4. Appuyer sur le bouton SW ROUGE du maître groupe 1
→ les 9 modules s'allument
5. ÉCOUTER : le maître émet TROIS BIPS
= tous les groupes sont en ligne. C'est le seul signal fiable.
6. Passer le DIP du maître groupe 1 sur 0100
7. ⚠️⚠️ LE CÂBLE MAÎTRE 1 → LV-HUB DOIT ÊTRE DÉBRANCHÉ
PENDANT TOUTE LA SÉQUENCE 1 À 6
8. Brancher alors le câble bleu entre le maître 1 et le port 1 du hub
9. Allumer le LV-HUB
→ LED STATUS verte, LED de comptage des groupes verte
```
**Le point 7 est ce qui manquait.** La documentation dit « puis connectez le
câble » sans préciser qu'il doit être ABSENT auparavant. Avec le câble en
place, l'initialisation ne va jamais à son terme, les trois bips ne se
produisent pas, et le hub reste au status rouge quoi qu'on fasse — DIP, resets,
cycles d'alimentation compris.
## Comment lire les LED du hub (doc Pylontech §2.3)
| LED STATUS | signification |
|---|---|
| bleue, une fois | le hub est allumé, rien de plus |
| **ROUGE** | **aucune batterie, OU au moins un groupe hors ligne** |
> *« When battery group is REDUCED it will alarm (in red), but when battery
> group is added in it will no alarm. »*
⚠️ **Le rouge n'est donc pas une panne.** Passer de deux groupes à un le
déclenche, et il persiste tant que la séquence complète n'a pas été rejouée.
Une soirée entière a été perdue à chercher un défaut qui n'existait pas.
Les LED 1 à 4 comptent les groupes en vert : 1 groupe → LED 1 · 2 groupes →
LED 2 · 3 groupes → LED 1+2 · 4 groupes → LED 3 · 5 → LED 1+3 · 6 → LED 2+3 ·
7 → LED 1+2+3.
## Résultat mesuré, 12/09/2026 22:00
```
9 modules en service · SOC 81 % · 49,73 V
charge autorisée 130 A · décharge 250 A · aucune alarme
parc déclaré : 13 équivalents US2000C
```
Contre 6,8 kWh utiles le matin même : la réserve a triplé dans la journée.
## Fausses pistes suivies ce soir, à ne pas refaire
1. **Le mode console du hub** — la console ne bloque rien : tout débranché, le
status restait rouge.
2. **Un firmware trop ancien pour les US5000** — les deux annoncent
`Comm version V2.0`, et les US2000C donnaient le même symptôme.
3. **Une configuration corrompue** — les valeurs aberrantes lues en console
(16 cellules, coupure à 396,8 V, 0 mA) n'ont jamais été confirmées comme
étant l'état réel du hub.
4. **Chaîner les deux modèles dans une seule chaîne** — la documentation
décrit un seul modèle par groupe. Proposition retirée.
## Deux corrections à la procédure principale
- Le câble Victron pour des US2000C / US5000 est le **type A, ASS030710018**
(le type B `ASS030720018` est pour les US2000/US3000/UP2500).
- **6 modules maximum par groupe** pour les US2000C, pas 16.