Le releve continu, et le code-barres dans le CSV plutot que l'adresse

Le suivi n'ecrivait que l'adresse du module, traduite a l'import par
une table figee sur le pack ancien. Le cable ayant change de pack,
tout releve fait maintenant aurait ete attribue aux mauvais modules.
Le code-barres est desormais resolu au demarrage et ecrit dans le CSV ;
la table ne sert plus qu'aux anciens fichiers.

Le releve tourne sur le poste qui porte le cable serie - le port USB
est la, pas sur le Synology - et n'ecrit qu'un CSV dans le depot
partage. C'est le service d'historisation, cote Synology, qui le verse
en base : le poste n'a donc aucun mot de passe a connaitre.

Archive pour le constructeur : un dossier par code-barres, plus un
manifeste en francais, anglais et chinois qui dit ou regarder en
premier et signale que les CSV sont deja corriges de la derive
d'horloge des BMS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
Tallagrand Thierry
2026-09-05 20:12:40 +02:00
parent 425c019362
commit a4de466ae1
68 changed files with 18472 additions and 8 deletions

View File

@@ -0,0 +1,32 @@
# Releve continu des tensions de cellule des BMS Pylontech.
#
# ⚠️ TOURNE SUR LE POSTE QUI PORTE LE CABLE SERIE, pas sur le Synology : le
# port USB est physiquement ici. Le service n'ecrit qu'un CSV dans le depot
# monte en NFS ; c'est le service d'historisation, cote Synology, qui le verse
# ensuite dans PostgreSQL. Aucun mot de passe de base n'est donc necessaire ici.
#
# Installation (une seule fois) :
# mkdir -p ~/.config/systemd/user
# cp deploy/releve-cellules/releve-cellules.service ~/.config/systemd/user/
# systemctl --user daemon-reload
# systemctl --user enable --now releve-cellules
# sudo loginctl enable-linger $USER # pour qu'il survive a la deconnexion
#
# Suivi : journalctl --user -u releve-cellules --since "10 min ago"
# Arret : systemctl --user stop releve-cellules
[Unit]
Description=Releve des tensions de cellule Pylontech (console serie)
After=network.target
[Service]
Type=simple
WorkingDirectory=/mnt/projects/EVCS/EVCS
# 600 s : assez fin pour voir une cellule decrocher, assez espace pour que le
# fichier reste lisible sur une semaine (~1000 lignes par module).
ExecStart=/usr/bin/node tools/pylontech-console.mjs --port /dev/ttyUSB0 --suivi 600 --modules 1,2,3,4
Restart=always
RestartSec=60
[Install]
WantedBy=default.target