Un temoin sain, et l'historique de toute une chaine par un seul branchement
datalist reste local, mais data <adresse> history <n> est adressable et rend l'enregistrement complet, quinze cellules comprises. Les trois modules de la chaine ancienne sont donc extraits d'un seul branchement, tous corriges du meme decalage lu au chronometre : 369 minutes. Les jeux sont enfin comparables entre eux, ce que les decalages deduits - divergents de deux heures et demie - ne permettaient pas. Le module d'adresse 2 donne le temoin qui manquait : meme chaine, memes courants, memes journees, et ses quinze cellules tiennent dans onze millivolts d'amplitude les unes des autres, ecart median 6 mV. Ce qui a tue les autres ne vient donc ni du regime de charge, ni du pilotage, ni de l'installation. Sur cette base commune la cellule 14 du module ...0322 passe a 273 mV et rejoint les atteintes : dix cellules, pas neuf. L'horloge se propage bien du maitre a sa chaine - j'avais conclu l'inverse en verifiant une seconde apres l'ecriture, il en faut vingt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -1271,3 +1271,93 @@ heure_reelle,etat,courant_mA,c1_mV,c2_mV,c3_mV,c4_mV,c5_mV,c6_mV,c7_mV,c8_mV,c9_
|
|||||||
2026-09-05T13:29:03.581Z,module1,,3424,3424,3424,3423,3424,3385,3382,3425,3424,3424,3411,3378,3424,3406,3424,47
|
2026-09-05T13:29:03.581Z,module1,,3424,3424,3424,3423,3424,3385,3382,3425,3424,3424,3411,3378,3424,3406,3424,47
|
||||||
2026-09-05T13:29:03.738Z,module2,,3416,3416,3417,3417,3417,3413,3416,3415,3417,3391,3415,3417,3417,3415,3414,26
|
2026-09-05T13:29:03.738Z,module2,,3416,3416,3417,3417,3417,3413,3416,3415,3417,3391,3415,3417,3417,3415,3414,26
|
||||||
2026-09-05T13:29:03.894Z,module3,,3432,3389,3427,3432,3430,3383,3431,3432,3435,3360,3432,3382,3432,3435,3382,75
|
2026-09-05T13:29:03.894Z,module3,,3432,3389,3427,3432,3430,3383,3431,3432,3435,3360,3432,3382,3432,3435,3382,75
|
||||||
|
2026-09-05T13:29:24.022Z,module1,,3422,3422,3422,3422,3422,3383,3381,3424,3422,3422,3409,3376,3423,3404,3422,48
|
||||||
|
2026-09-05T13:29:24.179Z,module2,,3416,3415,3417,3417,3416,3414,3415,3415,3416,3391,3415,3416,3416,3415,3414,26
|
||||||
|
2026-09-05T13:29:24.335Z,module3,,3430,3386,3425,3431,3428,3381,3430,3430,3433,3357,3430,3379,3430,3434,3380,77
|
||||||
|
2026-09-05T13:29:44.469Z,module1,,3422,3422,3423,3422,3423,3383,3381,3424,3423,3422,3409,3376,3423,3405,3422,48
|
||||||
|
2026-09-05T13:29:44.656Z,module2,,3417,3416,3417,3417,3417,3414,3416,3416,3417,3391,3416,3417,3417,3415,3414,26
|
||||||
|
2026-09-05T13:29:44.814Z,module3,,3430,3386,3426,3430,3428,3381,3430,3430,3433,3357,3430,3379,3430,3434,3380,77
|
||||||
|
2026-09-05T13:30:04.941Z,module1,,3422,3422,3422,3421,3422,3383,3380,3424,3422,3422,3408,3375,3422,3404,3421,49
|
||||||
|
2026-09-05T13:30:05.097Z,module2,,3417,3416,3417,3418,3417,3414,3416,3416,3417,3392,3416,3417,3417,3415,3414,26
|
||||||
|
2026-09-05T13:30:05.254Z,module3,,3430,3386,3425,3431,3428,3380,3430,3430,3433,3357,3430,3379,3430,3434,3380,77
|
||||||
|
2026-09-05T13:30:25.400Z,module1,,3422,3422,3422,3422,3423,3382,3380,3424,3422,3422,3408,3375,3423,3404,3422,49
|
||||||
|
2026-09-05T13:30:25.560Z,module2,,3417,3416,3417,3417,3416,3414,3416,3415,3417,3391,3416,3417,3417,3415,3414,26
|
||||||
|
2026-09-05T13:30:25.716Z,module3,,3429,3385,3425,3430,3427,3379,3429,3430,3433,3355,3429,3378,3429,3433,3378,78
|
||||||
|
2026-09-05T13:30:45.863Z,module1,,3425,3425,3425,3425,3426,3386,3384,3427,3425,3426,3411,3379,3426,3407,3426,48
|
||||||
|
2026-09-05T13:30:46.019Z,module2,,3418,3417,3418,3418,3418,3415,3417,3416,3418,3392,3417,3418,3418,3416,3415,26
|
||||||
|
2026-09-05T13:30:46.175Z,module3,,3430,3386,3426,3432,3430,3380,3430,3431,3435,3358,3430,3379,3431,3435,3382,77
|
||||||
|
2026-09-05T13:31:06.321Z,module1,,3427,3426,3426,3426,3427,3389,3386,3428,3426,3426,3413,3381,3427,3408,3426,47
|
||||||
|
2026-09-05T13:31:06.508Z,module2,,3418,3417,3418,3418,3417,3415,3417,3416,3418,3391,3417,3418,3418,3416,3415,27
|
||||||
|
2026-09-05T13:31:06.663Z,module3,,3433,3389,3428,3434,3432,3383,3432,3434,3437,3362,3432,3383,3433,3437,3385,75
|
||||||
|
2026-09-05T13:31:26.808Z,module1,,3426,3426,3426,3426,3427,3389,3386,3428,3426,3426,3413,3381,3427,3408,3426,47
|
||||||
|
2026-09-05T13:31:26.965Z,module2,,3417,3416,3417,3417,3416,3414,3416,3415,3417,3391,3416,3417,3417,3415,3414,26
|
||||||
|
2026-09-05T13:31:27.122Z,module3,,3433,3390,3429,3434,3432,3385,3433,3434,3437,3362,3433,3384,3434,3437,3385,75
|
||||||
|
2026-09-05T13:31:47.270Z,module1,,3426,3426,3427,3426,3427,3389,3386,3428,3427,3426,3413,3382,3427,3407,3426,46
|
||||||
|
2026-09-05T13:31:47.426Z,module2,,3417,3416,3417,3417,3416,3413,3416,3415,3417,3390,3415,3417,3417,3415,3414,27
|
||||||
|
2026-09-05T13:31:47.582Z,module3,,3434,3390,3429,3434,3432,3385,3433,3434,3437,3363,3433,3385,3434,3438,3386,75
|
||||||
|
2026-09-05T13:32:07.728Z,module1,,3426,3426,3426,3425,3426,3389,3386,3428,3426,3425,3412,3381,3427,3407,3426,47
|
||||||
|
2026-09-05T13:32:07.885Z,module2,,3416,3415,3416,3416,3415,3413,3415,3414,3416,3389,3415,3416,3416,3414,3412,27
|
||||||
|
2026-09-05T13:32:08.041Z,module3,,3433,3390,3429,3434,3431,3385,3433,3434,3437,3362,3433,3384,3434,3437,3385,75
|
||||||
|
2026-09-05T13:32:28.178Z,module1,,3426,3425,3425,3425,3425,3388,3384,3427,3425,3425,3412,3380,3426,3406,3425,47
|
||||||
|
2026-09-05T13:32:28.339Z,module2,,3415,3414,3416,3416,3415,3412,3415,3414,3415,3388,3414,3415,3415,3413,3412,28
|
||||||
|
2026-09-05T13:32:28.556Z,module3,,3433,3389,3428,3434,3431,3384,3433,3434,3437,3361,3433,3384,3433,3437,3384,76
|
||||||
|
2026-09-05T13:32:48.702Z,module1,,3426,3425,3426,3425,3426,3388,3384,3427,3426,3426,3412,3380,3426,3407,3426,47
|
||||||
|
2026-09-05T13:32:48.856Z,module2,,3416,3415,3417,3417,3417,3412,3415,3415,3416,3391,3414,3416,3416,3415,3414,26
|
||||||
|
2026-09-05T13:32:49.013Z,module3,,3433,3389,3429,3434,3431,3384,3433,3433,3436,3361,3433,3383,3433,3437,3384,76
|
||||||
|
2026-09-05T13:33:09.158Z,module1,,3426,3425,3425,3425,3426,3388,3385,3427,3426,3425,3412,3380,3426,3407,3425,47
|
||||||
|
2026-09-05T13:33:09.313Z,module2,,3418,3417,3418,3419,3418,3415,3417,3417,3418,3392,3416,3418,3418,3417,3416,27
|
||||||
|
2026-09-05T13:33:09.468Z,module3,,3433,3389,3429,3434,3431,3383,3433,3434,3437,3361,3433,3384,3433,3437,3384,76
|
||||||
|
2026-09-05T13:33:29.613Z,module1,,3425,3425,3425,3424,3425,3387,3384,3427,3425,3425,3411,3379,3425,3406,3425,48
|
||||||
|
2026-09-05T13:33:29.773Z,module2,,3419,3417,3419,3419,3419,3416,3418,3417,3419,3392,3418,3418,3419,3417,3416,27
|
||||||
|
2026-09-05T13:33:29.929Z,module3,,3433,3388,3428,3433,3431,3384,3432,3433,3436,3360,3433,3383,3433,3437,3383,77
|
||||||
|
2026-09-05T13:33:50.058Z,module1,,3424,3424,3424,3424,3424,3385,3382,3426,3424,3424,3410,3377,3424,3405,3424,49
|
||||||
|
2026-09-05T13:33:50.215Z,module2,,3418,3417,3418,3418,3418,3415,3417,3416,3418,3392,3417,3418,3418,3416,3415,26
|
||||||
|
2026-09-05T13:33:50.371Z,module3,,3431,3386,3427,3432,3430,3382,3431,3432,3435,3358,3431,3381,3432,3435,3382,77
|
||||||
|
2026-09-05T13:34:10.499Z,module1,,3408,3409,3409,3408,3409,3364,3363,3410,3409,3408,3393,3357,3409,3388,3407,53
|
||||||
|
2026-09-05T13:34:10.687Z,module2,,3404,3404,3404,3404,3404,3401,3403,3403,3404,3381,3403,3404,3404,3402,3402,23
|
||||||
|
2026-09-05T13:34:10.843Z,module3,,3415,3366,3411,3416,3414,3365,3416,3416,3418,3339,3415,3361,3416,3419,3360,80
|
||||||
|
2026-09-05T13:34:30.980Z,module1,,3413,3414,3414,3413,3414,3370,3369,3415,3414,3413,3399,3363,3414,3393,3413,52
|
||||||
|
2026-09-05T13:34:31.139Z,module2,,3412,3411,3412,3412,3412,3409,3411,3410,3412,3388,3411,3411,3412,3410,3409,24
|
||||||
|
2026-09-05T13:34:31.296Z,module3,,3421,3374,3417,3421,3418,3371,3421,3422,3424,3345,3421,3369,3421,3424,3367,79
|
||||||
|
2026-09-05T13:34:51.426Z,module1,,3423,3423,3423,3423,3424,3383,3382,3425,3424,3424,3409,3376,3424,3405,3424,49
|
||||||
|
2026-09-05T13:34:51.582Z,module2,,3420,3418,3420,3420,3420,3417,3419,3418,3419,3396,3419,3419,3419,3418,3417,24
|
||||||
|
2026-09-05T13:34:51.738Z,module3,,3429,3385,3425,3430,3428,3379,3429,3430,3433,3358,3429,3379,3430,3433,3380,75
|
||||||
|
2026-09-05T13:35:11.880Z,module1,,3424,3425,3425,3424,3425,3385,3382,3426,3425,3425,3409,3378,3425,3405,3425,48
|
||||||
|
2026-09-05T13:35:12.035Z,module2,,3420,3419,3420,3420,3419,3417,3419,3418,3419,3393,3419,3420,3420,3418,3417,27
|
||||||
|
2026-09-05T13:35:12.192Z,module3,,3431,3386,3426,3432,3429,3380,3431,3431,3435,3357,3430,3379,3431,3435,3381,78
|
||||||
|
2026-09-05T13:35:32.338Z,module1,,3425,3425,3425,3425,3426,3386,3383,3427,3426,3426,3410,3379,3426,3406,3426,48
|
||||||
|
2026-09-05T13:35:32.527Z,module2,,3419,3417,3419,3419,3418,3416,3418,3417,3418,3392,3418,3418,3418,3416,3415,27
|
||||||
|
2026-09-05T13:35:32.683Z,module3,,3431,3388,3427,3433,3431,3381,3431,3432,3435,3360,3431,3381,3432,3436,3383,76
|
||||||
|
2026-09-05T13:35:52.812Z,module1,,3429,3428,3429,3429,3429,3392,3388,3431,3429,3429,3414,3384,3429,3410,3429,47
|
||||||
|
2026-09-05T13:35:52.967Z,module2,,3420,3418,3420,3420,3418,3416,3419,3418,3419,3392,3418,3419,3419,3417,3416,28
|
||||||
|
2026-09-05T13:35:53.123Z,module3,,3435,3393,3431,3436,3434,3385,3435,3436,3439,3365,3435,3385,3436,3440,3388,75
|
||||||
|
2026-09-05T13:36:13.271Z,module1,,3428,3428,3428,3428,3429,3391,3388,3430,3428,3429,3414,3384,3428,3410,3429,46
|
||||||
|
2026-09-05T13:36:13.427Z,module2,,3415,3414,3416,3416,3415,3412,3415,3414,3415,3388,3414,3415,3415,3413,3411,28
|
||||||
|
2026-09-05T13:36:13.583Z,module3,,3435,3393,3430,3435,3434,3386,3434,3435,3438,3367,3435,3385,3435,3439,3388,72
|
||||||
|
2026-09-05T13:36:33.714Z,module1,,3431,3431,3430,3430,3431,3395,3390,3432,3431,3431,3417,3386,3431,3412,3431,46
|
||||||
|
2026-09-05T13:36:33.873Z,module2,,3418,3418,3419,3419,3417,3415,3418,3417,3418,3390,3417,3419,3418,3416,3414,29
|
||||||
|
2026-09-05T13:36:34.030Z,module3,,3438,3398,3434,3439,3436,3389,3437,3438,3442,3368,3438,3389,3439,3442,3391,74
|
||||||
|
2026-09-05T13:36:54.169Z,module1,,3429,3429,3429,3428,3429,3392,3388,3430,3429,3429,3415,3384,3429,3410,3428,46
|
||||||
|
2026-09-05T13:36:54.326Z,module2,,3414,3413,3414,3415,3414,3410,3414,3413,3415,3387,3412,3414,3414,3413,3411,28
|
||||||
|
2026-09-05T13:36:54.515Z,module3,,3437,3396,3432,3437,3435,3388,3436,3437,3440,3366,3437,3388,3437,3440,3389,74
|
||||||
|
2026-09-05T13:37:14.660Z,module1,,3431,3430,3430,3430,3430,3394,3389,3431,3430,3430,3416,3386,3430,3411,3429,45
|
||||||
|
2026-09-05T13:37:14.815Z,module2,,3418,3417,3418,3419,3419,3414,3417,3417,3419,3391,3416,3418,3418,3417,3415,28
|
||||||
|
2026-09-05T13:37:14.972Z,module3,,3438,3398,3433,3438,3436,3389,3437,3438,3441,3367,3438,3390,3438,3442,3390,75
|
||||||
|
2026-09-05T13:37:35.105Z,module1,,3427,3426,3427,3426,3426,3388,3384,3428,3427,3426,3412,3380,3427,3407,3426,48
|
||||||
|
2026-09-05T13:37:35.265Z,module2,,3417,3416,3417,3418,3418,3414,3416,3416,3418,3391,3415,3417,3417,3416,3415,27
|
||||||
|
2026-09-05T13:37:35.422Z,module3,,3434,3392,3430,3435,3432,3384,3434,3434,3437,3361,3434,3384,3434,3438,3384,77
|
||||||
|
2026-09-05T13:37:55.569Z,module1,,3425,3424,3425,3424,3424,3385,3381,3426,3424,3423,3410,3377,3425,3405,3423,49
|
||||||
|
2026-09-05T13:37:55.725Z,module2,,3416,3415,3417,3417,3418,3413,3416,3415,3417,3391,3415,3416,3417,3415,3415,27
|
||||||
|
2026-09-05T13:37:55.883Z,module3,,3433,3390,3428,3433,3430,3382,3432,3433,3436,3358,3433,3382,3433,3436,3381,78
|
||||||
|
2026-09-05T13:38:16.018Z,module1,,3426,3426,3426,3425,3425,3385,3382,3428,3426,3425,3410,3378,3426,3406,3425,50
|
||||||
|
2026-09-05T13:38:16.175Z,module2,,3421,3419,3421,3421,3421,3418,3420,3419,3421,3395,3420,3420,3421,3419,3419,26
|
||||||
|
2026-09-05T13:38:16.331Z,module3,,3433,3390,3429,3434,3431,3382,3433,3434,3437,3357,3433,3382,3434,3438,3381,81
|
||||||
|
2026-09-05T13:38:36.477Z,module1,,3422,3423,3422,3421,3422,3380,3377,3424,3422,3421,3407,3373,3423,3402,3421,51
|
||||||
|
2026-09-05T13:38:36.665Z,module2,,3421,3420,3421,3421,3421,3418,3420,3419,3421,3395,3420,3421,3421,3419,3419,26
|
||||||
|
2026-09-05T13:38:36.822Z,module3,,3430,3385,3426,3431,3428,3378,3430,3431,3434,3351,3430,3377,3430,3435,3376,84
|
||||||
|
2026-09-05T13:38:56.968Z,module1,,3424,3425,3425,3424,3425,3382,3379,3427,3425,3425,3408,3375,3425,3405,3425,52
|
||||||
|
2026-09-05T13:38:57.123Z,module2,,3422,3420,3422,3422,3421,3419,3421,3420,3422,3395,3421,3421,3422,3420,3419,27
|
||||||
|
2026-09-05T13:38:57.280Z,module3,,3431,3385,3427,3432,3429,3378,3431,3432,3435,3353,3431,3378,3431,3436,3378,83
|
||||||
|
2026-09-05T13:39:17.427Z,module1,,3423,3423,3423,3423,3424,3380,3378,3425,3424,3424,3406,3373,3424,3403,3423,52
|
||||||
|
2026-09-05T13:39:17.582Z,module2,,3421,3419,3420,3420,3420,3418,3419,3419,3420,3394,3419,3420,3420,3418,3418,27
|
||||||
|
2026-09-05T13:39:17.738Z,module3,,3429,3383,3425,3431,3428,3376,3430,3430,3434,3353,3428,3376,3430,3434,3377,81
|
||||||
|
|||||||
|
119
docs/mesures/batteries/202609051546-console.txt
Normal file
119
docs/mesures/batteries/202609051546-console.txt
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
|
||||||
|
===== 05/09/2026 15:46:22 =====
|
||||||
|
datalist 3 history dtls 1
|
||||||
|
datalist 3 history dtls 1
|
||||||
|
|
||||||
|
@
|
||||||
|
|
||||||
|
Invalid command or fail to excute.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
Show recorded data - datalist [event/history][item/bat][batnun][volt/curr/temp/coul][item]
|
||||||
|
|
||||||
|
$$
|
||||||
|
|
||||||
|
pylon>
|
||||||
|
|
||||||
|
===== 05/09/2026 15:46:23 =====
|
||||||
|
datalist history dtls 1 3
|
||||||
|
datalist history dtls 1 3
|
||||||
|
|
||||||
|
@
|
||||||
|
|
||||||
|
Invalid command or fail to excute.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
Show recorded data - datalist [event/history][item/bat][batnun][volt/curr/temp/coul][item]
|
||||||
|
|
||||||
|
$$
|
||||||
|
|
||||||
|
pylon>
|
||||||
|
|
||||||
|
===== 05/09/2026 15:46:24 =====
|
||||||
|
data 3 history 1
|
||||||
|
data 3 history 1
|
||||||
|
|
||||||
|
@
|
||||||
|
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
Rec Item Index : 1
|
||||||
|
|
||||||
|
Time : 26-07-30 11:13:44
|
||||||
|
|
||||||
|
Voltage : 49864 mV
|
||||||
|
|
||||||
|
Current : 3791 mA
|
||||||
|
|
||||||
|
Temperature : 26200 mC
|
||||||
|
|
||||||
|
Percent : 59 %
|
||||||
|
|
||||||
|
Total Coulomb : 50000 mAH
|
||||||
|
|
||||||
|
Max Voltage : 54000 mV
|
||||||
|
|
||||||
|
Base State : Charge
|
||||||
|
|
||||||
|
Volt. State : Normal
|
||||||
|
|
||||||
|
Curr. State : Normal
|
||||||
|
|
||||||
|
Tempr. State : Normal
|
||||||
|
|
||||||
|
Coul. Status : Normal
|
||||||
|
|
||||||
|
Power Events : 0x0
|
||||||
|
|
||||||
|
Bat Events : 0x0
|
||||||
|
|
||||||
|
Bat Protect ENA : BOV BHV BLV BUV BSLP CBOT CBHT CBLT CBUT DBOT DBHT DBLT DBUT
|
||||||
|
|
||||||
|
Pwr Protect ENA : POV PHV PLV PUV PSLP POT PHT COC2 COC COCA DOCA DOC DOC2 SC LCOUL
|
||||||
|
|
||||||
|
System Fault : 0x0
|
||||||
|
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Battery Volt Curr Tempr Base State Volt. State Curr. State Temp. State Coulomb
|
||||||
|
|
||||||
|
0 3326 3791 24600 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
1 3306 3791 24600 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
2 3325 3791 24600 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
3 3324 3791 24600 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
4 3325 3791 24600 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
5 3326 3791 24500 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
6 3325 3791 24500 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
7 3325 3791 24500 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
8 3324 3791 24500 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
9 3327 3791 24500 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
10 3326 3791 24200 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
11 3327 3791 24200 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
12 3325 3791 24200 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
13 3325 3791 24200 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
14 3328 3791 24200 Charge Normal Normal Normal 59%
|
||||||
|
|
||||||
|
Command completed successfully
|
||||||
|
|
||||||
|
$$
|
||||||
|
|
||||||
|
pylon>
|
||||||
|
|
||||||
|
===== 05/09/2026 15:46:26 =====
|
||||||
|
data history 1 3
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
68
docs/mesures/batteries/202609051619-console.txt
Normal file
68
docs/mesures/batteries/202609051619-console.txt
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
|
||||||
|
===== 05/09/2026 16:19:03 =====
|
||||||
|
time 26 9 5 16 19 4
|
||||||
|
time 26 9 5 16 19 4
|
||||||
|
|
||||||
|
@
|
||||||
|
|
||||||
|
Test result:pass
|
||||||
|
|
||||||
|
Command completed successfully
|
||||||
|
|
||||||
|
$$
|
||||||
|
|
||||||
|
pylon>
|
||||||
|
|
||||||
|
===== 05/09/2026 16:19:05 =====
|
||||||
|
pwr
|
||||||
|
pwr
|
||||||
|
|
||||||
|
@
|
||||||
|
|
||||||
|
Power Volt Curr Tempr Tlow Thigh Vlow Vhigh Base.St Volt.St Curr.St Temp.St Coulomb Time B.V.St B.T.St MosTempr M.T.St
|
||||||
|
|
||||||
|
1 51200 -2467 36000 25000 25900 3368 3430 Dischg Normal Normal Normal 96% 2026-09-05 16:19:05 Normal Normal 27700 Normal
|
||||||
|
|
||||||
|
2 51088 -2186 28600 24900 25500 3379 3409 Dischg Normal Normal Normal 94% 2026-09-05 22:28:28 Normal Normal 26700 Normal
|
||||||
|
|
||||||
|
3 51254 -1770 35900 25000 26100 3362 3441 Dischg Normal Normal Normal 95% 2026-09-05 22:28:29 Normal Normal 27900 Normal
|
||||||
|
|
||||||
|
4 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
5 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
6 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
7 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
8 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
9 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
10 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
11 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
12 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
13 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
14 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
15 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
16 - - - - - - - Absent - - - - - - -
|
||||||
|
|
||||||
|
Command completed successfully
|
||||||
|
|
||||||
|
$$
|
||||||
|
|
||||||
|
pylon>
|
||||||
|
|
||||||
|
===== 05/09/2026 16:19:22 =====
|
||||||
|
time 2 26 9 5 16 19 23
|
||||||
|
time 2 26 9 5 16 19 23
|
||||||
|
|
||||||
|
@
|
||||||
|
|
||||||
|
Usage:
|
||||||
File diff suppressed because one or more lines are too long
@@ -6,23 +6,25 @@ en dessous. Mettre a jour une mesure, relancer, republier.
|
|||||||
"""
|
"""
|
||||||
import pathlib, datetime
|
import pathlib, datetime
|
||||||
|
|
||||||
MAJ = "5 septembre 2026, 16 h"
|
MAJ = "5 septembre 2026, 16 h 30"
|
||||||
|
|
||||||
# Amplitude min->max de chaque cellule, relevee sur l'historique du BMS.
|
# Amplitude min->max de chaque cellule, relevee sur l'historique du BMS.
|
||||||
# C'est LA grandeur qui separe une cellule saine d'une cellule morte : une
|
# C'est LA grandeur qui separe une cellule saine d'une cellule morte : une
|
||||||
# cellule qui a perdu sa capacite se remplit et se vide avant ses voisines,
|
# cellule qui a perdu sa capacite se remplit et se vide avant ses voisines,
|
||||||
# donc elle balaye une plage bien plus large a courant identique.
|
# donc elle balaye une plage bien plus large a courant identique.
|
||||||
MODULES = [
|
MODULES = [
|
||||||
("K220803C30160322", "pack ancien · adresse 1", "1681 relevés, 14/08 → 05/09", [
|
("K220803C30160323", "pack ancien · adresse 2 — LE TÉMOIN", "1793 relevés, 30/07 → 05/09", [
|
||||||
182,178,178,178,177,548,371,181,179,179,182,691,178,251,178]),
|
191,188,188,189,190,197,187,190,189,192,191,188,187,192,198]),
|
||||||
("K220803C30160319", "pack ancien · adresse 3", "1798 relevés, 30/07 → 05/09", [
|
("K220803C30160322", "pack ancien · adresse 1", "1793 relevés, 14/08 → 05/09", [
|
||||||
184,521,187,186,183,318,185,186,187,473,187,445,186,189,424]),
|
182,178,178,178,177,548,371,181,179,179,182,691,178,273,178]),
|
||||||
|
("K220803C30160319", "pack ancien · adresse 3", "1476 relevés, 30/07 → 05/09", [
|
||||||
|
183,521,184,186,182,318,183,186,184,473,184,443,184,188,424]),
|
||||||
("K220803C30160324", "isolée (BAT3) · adresse 4", "322 relevés, 23/07 → 05/09", [
|
("K220803C30160324", "isolée (BAT3) · adresse 4", "322 relevés, 23/07 → 05/09", [
|
||||||
138,124,138,137,139,132,134,142,143,135,136,137,128,135,683]),
|
138,124,138,137,139,132,134,142,143,135,136,137,128,135,683]),
|
||||||
]
|
]
|
||||||
|
|
||||||
PARC = [
|
PARC = [
|
||||||
("K220803C30160322", "ancien", "1", "3", "6 · 7 · 12", 498, 86, "en service"),
|
("K220803C30160322", "ancien", "1", "4", "6 · 7 · 12 · 14", 498, 86, "en service"),
|
||||||
("K220803C30160323", "ancien", "2", "0", "—", 0, 0, "en service"),
|
("K220803C30160323", "ancien", "2", "0", "—", 0, 0, "en service"),
|
||||||
("K220803C30160319", "ancien", "3", "5", "2 · 6 · 10 · 12 · 15", 416, 179, "en service"),
|
("K220803C30160319", "ancien", "3", "5", "2 · 6 · 10 · 12 · 15", 416, 179, "en service"),
|
||||||
("K220803C30160324", "ancien", "4", "1", "15", 29, 59, "isolée"),
|
("K220803C30160324", "ancien", "4", "1", "15", 29, 59, "isolée"),
|
||||||
@@ -192,14 +194,14 @@ footer {{ margin-top:5rem; padding-top:1.6rem; border-top:1px solid var(--trait)
|
|||||||
<header>
|
<header>
|
||||||
<div class="etiq">Parc Pylontech · diagnostic en cours</div>
|
<div class="etiq">Parc Pylontech · diagnostic en cours</div>
|
||||||
<h1>Les cent cinq cellules</h1>
|
<h1>Les cent cinq cellules</h1>
|
||||||
<p class="chapeau">Huit modules, quinze cellules chacun. Neuf de ces cellules
|
<p class="chapeau">Huit modules, quinze cellules chacun. Dix de ces cellules
|
||||||
brident la charge des cent cinq autres. Voici lesquelles, comment on le sait,
|
brident la charge des quatre-vingt-quinze autres. Voici lesquelles, comment on le sait,
|
||||||
et ce qu’on peut en faire.</p>
|
et ce qu’on peut en faire.</p>
|
||||||
<div class="maj">Dernière mise à jour : {MAJ}</div>
|
<div class="maj">Dernière mise à jour : {MAJ}</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="verdict">
|
<div class="verdict">
|
||||||
<div><div class="n">9</div><div class="l">cellules atteintes sur 105</div></div>
|
<div><div class="n">10</div><div class="l">cellules atteintes sur 105</div></div>
|
||||||
<div><div class="n">3</div><div class="l">modules concernés sur 8</div></div>
|
<div><div class="n">3</div><div class="l">modules concernés sur 8</div></div>
|
||||||
<div><div class="n">5 s</div><div class="l">entre le franchissement du seuil et la coupure</div></div>
|
<div><div class="n">5 s</div><div class="l">entre le franchissement du seuil et la coupure</div></div>
|
||||||
<div><div class="n">30 A</div><div class="l">plafond imposé au parc entier, pour 150 A nominaux</div></div>
|
<div><div class="n">30 A</div><div class="l">plafond imposé au parc entier, pour 150 A nominaux</div></div>
|
||||||
@@ -211,9 +213,9 @@ footer {{ margin-top:5rem; padding-top:1.6rem; border-top:1px solid var(--trait)
|
|||||||
soixante cellules sans une seule anomalie, après plus de trois cents cycles. Un
|
soixante cellules sans une seule anomalie, après plus de trois cents cycles. Un
|
||||||
cinquième l’est tout autant.</p>
|
cinquième l’est tout autant.</p>
|
||||||
<p>Trois modules portent l’ensemble du problème, et à l’intérieur de ces trois,
|
<p>Trois modules portent l’ensemble du problème, et à l’intérieur de ces trois,
|
||||||
<strong>neuf cellules</strong>. Quand l’une d’elles atteint 3550 mV, le BMS réduit
|
<strong>dix cellules</strong>. Quand l’une d’elles atteint 3550 mV, le BMS réduit
|
||||||
le courant de charge — non pas de son module, mais <strong>de tout le parc</strong>.
|
le courant de charge — non pas de son module, mais <strong>de tout le parc</strong>.
|
||||||
Cinq modules sains sont bridés par neuf cellules.</p>
|
Cinq modules sains sont bridés par dix cellules.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<figure>
|
<figure>
|
||||||
@@ -225,11 +227,17 @@ Cinq modules sains sont bridés par neuf cellules.</p>
|
|||||||
<span><i class="pastille" style="background:var(--mort)"></i>terminale</span>
|
<span><i class="pastille" style="background:var(--mort)"></i>terminale</span>
|
||||||
</div>
|
</div>
|
||||||
<figcaption>Amplitude balayée par chaque cellule entre sa tension minimale et
|
<figcaption>Amplitude balayée par chaque cellule entre sa tension minimale et
|
||||||
sa tension maximale sur la période d’observation. Une cellule saine suit ses
|
sa tension maximale sur la période d’observation. Le premier module est le
|
||||||
voisines à quelques millivolts près. Une cellule qui a perdu de la capacité se
|
<strong>témoin</strong> : il vit dans la même chaîne que les deux abîmés,
|
||||||
remplit et se vide avant elles, donc elle balaye une plage bien plus large à
|
a subi les mêmes courants et les mêmes journées, et ses quinze cellules tiennent
|
||||||
courant identique — c’est le signe qui ne trompe pas, et il ne demande aucun
|
dans <strong>onze millivolts d’amplitude les unes des autres</strong>. C’est à
|
||||||
démontage.</figcaption>
|
cela que ressemble un module sain, et c’est ce qui rend les autres barres
|
||||||
|
lisibles. Une cellule qui a perdu de la capacité se remplit et se vide avant ses
|
||||||
|
voisines, donc elle balaye une plage bien plus large à courant identique — le
|
||||||
|
signe ne demande aucun démontage. Les amplitudes du module isolé sont plus
|
||||||
|
faibles parce qu’il a passé la période hors service, sur une plage de charge
|
||||||
|
plus étroite : c’est l’écart à ses propres voisines qui compte, pas la
|
||||||
|
valeur absolue.</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
<div class="mesure">
|
<div class="mesure">
|
||||||
|
|||||||
@@ -123,6 +123,28 @@ function lireHistorique(f) {
|
|||||||
return { module: bc[1], decalageMin, origine, lignes, nb: rangs.length };
|
return { module: bc[1], decalageMin, origine, lignes, nb: rangs.length };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------- historique distant (CSV)
|
||||||
|
// Produit par `--historique-distant <adresse>` : deja horodate a l'heure
|
||||||
|
// REELLE (le decalage est lu et applique a l'ecriture) et deja nomme par
|
||||||
|
// code-barres. Rien a corriger, rien a deviner.
|
||||||
|
function lireHistoDistant(f) {
|
||||||
|
const lignes = [];
|
||||||
|
const l = lireTexte(f).trim().split('\n');
|
||||||
|
const cols = l[0].split(',');
|
||||||
|
const iC = cols.indexOf('c1_mV');
|
||||||
|
for (const ligne of l.slice(1)) {
|
||||||
|
const c = ligne.split(',');
|
||||||
|
if (c.length < iC + 15) continue;
|
||||||
|
for (let k = 0; k < 15; k++) {
|
||||||
|
const mv = +c[iC + k];
|
||||||
|
if (!(mv > 1000)) continue;
|
||||||
|
lignes.push([c[0], c[1], k + 1, mv, c[4] === '' ? null : +c[4],
|
||||||
|
c[3] === '' ? null : +c[3], c[2] || null, 'historique']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return lignes.length ? { module: l[1].split(',')[1], lignes } : null;
|
||||||
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------- suivi
|
// --------------------------------------------------------------------- suivi
|
||||||
function lireSuivi(f) {
|
function lireSuivi(f) {
|
||||||
const lignes = [];
|
const lignes = [];
|
||||||
@@ -157,7 +179,10 @@ const paquets = [];
|
|||||||
for (const f of fichiers.sort()) {
|
for (const f of fichiers.sort()) {
|
||||||
const n = path.basename(f);
|
const n = path.basename(f);
|
||||||
try {
|
try {
|
||||||
if (n.endsWith('-suivi.csv')) {
|
if (n.includes('-histo-distant-')) {
|
||||||
|
const r = lireHistoDistant(f);
|
||||||
|
if (r) { paquets.push(r.lignes); console.log(` ${n}\n ${r.module}, ${r.lignes.length / 15} enregistrements, horodates a l'export`); }
|
||||||
|
} else if (n.endsWith('-suivi.csv')) {
|
||||||
const r = lireSuivi(f);
|
const r = lireSuivi(f);
|
||||||
if (r) { paquets.push(r.lignes); console.log(` ${n} suivi, ${r.lignes.length / 15} releves, modules ${r.modules.join(' ')}`); }
|
if (r) { paquets.push(r.lignes); console.log(` ${n} suivi, ${r.lignes.length / 15} releves, modules ${r.modules.join(' ')}`); }
|
||||||
} else if (/histor/i.test(n) && n.endsWith('.txt')) {
|
} else if (/histor/i.test(n) && n.endsWith('.txt')) {
|
||||||
|
|||||||
@@ -238,6 +238,60 @@ async function main() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --historique-distant <adresse> : l'historique d'un AUTRE module de la
|
||||||
|
// chaine. `datalist` est local, mais `data <adresse> history <n>` est
|
||||||
|
// adressable et rend l'enregistrement complet, quinze cellules comprises.
|
||||||
|
// Un seul branchement par chaine suffit donc pour tout son historique.
|
||||||
|
if (arg('historique-distant')) {
|
||||||
|
const ad = parseInt(String(arg('historique-distant')), 10);
|
||||||
|
if (!(ad >= 1 && ad <= 16)) { console.log('Adresse invalide.'); process.exit(1); }
|
||||||
|
|
||||||
|
// Le decalage se mesure AVANT, car les enregistrements stockes portent
|
||||||
|
// l'heure qu'avait le module quand il les a ecrits.
|
||||||
|
const rtc = await commande(l, 'time', 8000);
|
||||||
|
const mr = rtc.match(/RTC\s+(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/);
|
||||||
|
let decMs = 0;
|
||||||
|
if (mr) {
|
||||||
|
const [d, h] = mr[1].split(' ');
|
||||||
|
const [A, M, J] = d.split('-').map(Number); const [H, N, S] = h.split(':').map(Number);
|
||||||
|
decMs = new Date(A, M - 1, J, H, N, S).getTime() - Date.now();
|
||||||
|
console.log(`Horloge du module : ${mr[1]} — ${Math.round(decMs / 60000)} min d'avance, corriges a l'ecriture.`);
|
||||||
|
} else {
|
||||||
|
console.log('Horloge non lue : les horodatages seront ceux du module, non corriges.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const info = await commande(l, `info ${ad}`, 8000);
|
||||||
|
const bc = (info.match(/Barcode\s*:\s*(\S+)/) || [])[1] || `adresse${ad}`;
|
||||||
|
const f = path.join(DOSSIER, `${tampon()}-histo-distant-${bc}.csv`);
|
||||||
|
fs.mkdirSync(DOSSIER, { recursive: true });
|
||||||
|
fs.writeFileSync(f, 'heure_reelle,module,etat,courant_mA,soc,' +
|
||||||
|
Array.from({ length: 15 }, (_, i) => `c${i + 1}_mV`).join(',') + ',ecart_mV\n');
|
||||||
|
console.log(`Module ${bc} (adresse ${ad}) -> ${f}`);
|
||||||
|
|
||||||
|
let ecrits = 0, vides = 0;
|
||||||
|
for (let n = 1; n <= 1800; n++) {
|
||||||
|
const t = await commande(l, `data ${ad} history ${n}`, 8000);
|
||||||
|
const mt = t.match(/Time\s*:\s*(\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/);
|
||||||
|
const cel = cellules(t);
|
||||||
|
if (!mt || !cel || cel.length < 15) {
|
||||||
|
if (++vides > 20) break; // fin du tampon
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
vides = 0;
|
||||||
|
const [d, h] = mt[1].split(' ');
|
||||||
|
const [A, M, J] = d.split('-').map(Number); const [H, N, S] = h.split(':').map(Number);
|
||||||
|
const quand = new Date(new Date(2000 + A, M - 1, J, H, N, S).getTime() - decMs);
|
||||||
|
const v = cel.map((c) => c.mV);
|
||||||
|
const soc = (t.match(/Percent\s*:\s*(\d+)/) || [])[1] || '';
|
||||||
|
fs.appendFileSync(f, [quand.toISOString(), bc, cel[0].etat, cel[0].mA, soc,
|
||||||
|
...v, Math.max(...v) - Math.min(...v)].join(',') + '\n');
|
||||||
|
ecrits++;
|
||||||
|
if (n % 25 === 0) process.stdout.write(`\r ${n} interroges, ${ecrits} ecrits `);
|
||||||
|
}
|
||||||
|
console.log(`\n${ecrits} enregistrements ecrits dans ${f}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (arg('suivi')) {
|
if (arg('suivi')) {
|
||||||
const pas = Math.max(10, +(arg('suivi', '30')) || 30);
|
const pas = Math.max(10, +(arg('suivi', '30')) || 30);
|
||||||
const nom = `${tampon()}-suivi.csv`;
|
const nom = `${tampon()}-suivi.csv`;
|
||||||
|
|||||||
Reference in New Issue
Block a user