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
405 lines
16 KiB
Markdown
405 lines
16 KiB
Markdown
# 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.
|