# 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.