Releve cellules : port stable par numero de serie (/dev/pylontech-pack2)

Rebranche pendant que le conteneur tenait ttyUSB0, le cable est revenu en
ttyUSB1 : la garde cree un lien d'apres le numero de serie et recree le
conteneur quand le port change de numero.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
This commit is contained in:
Tallagrand Thierry
2026-09-25 16:53:27 +02:00
parent 5ba52023fd
commit 7f97e8a85d
3 changed files with 68 additions and 24 deletions

View File

@@ -95,9 +95,15 @@ eux, couvrent tout le parc (agregat du Cerbo).
Debrancher puis rebrancher le cable recree `/dev/ttyUSB0` accessible a root
seul : le conteneur (uid 1026) meurt (« EIO: i/o error ») et ne repart pas.
`surveiller-port.sh` corrige cela toutes les 5 minutes, en root : pilotes
recharges si absents, droits du port rouverts, conteneur relance s'il est
arrete. Il ne fait rien si le cable est debranche, et ne journalise (tag
Et le NUMERO du port change : rebranche pendant que le conteneur tenait
`ttyUSB0` ouvert, le cable est revenu en `ttyUSB1` (25/09). `surveiller-port.sh`
corrige les deux toutes les 5 minutes, en root : pilotes recharges si absents,
lien stable **`/dev/pylontech-pack2`** cree d'apres le NUMERO DE SERIE du cable
(`A78KC4LE`, jamais l'ordre d'enumeration), droits rouverts, conteneur RECREE
si le port a change de numero (Docker resout le lien a la creation), relance
s'il est simplement arrete. `compose.yaml` mappe `/dev/pylontech-pack2` sur
`/dev/ttyUSB0` dans le conteneur. Un 2e cable FTDI s'ajoutera a la liste
`CABLES` du script, avec son propre service. Il ne fait rien si le cable est debranche, et ne journalise (tag
`evcs-releve`, `journalctl -t evcs-releve`) que lorsqu'il agit.
Pose en timer systemd (le Planificateur DSM n'a pas d'ajout en ligne de