Repere des modules = pack x 10 + rang (11 = pack 1 module 1, 21 = pack 2 module 1)

Colonne cellule.pack deduite du nom du fichier de releve ; Grafana et
sensor.evcs_cellules l'affichent. Historique renseigne depuis le 24/09.

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-26 01:05:54 +02:00
parent 7942577967
commit dd83727900
6 changed files with 44 additions and 12 deletions

View File

@@ -1261,10 +1261,16 @@ vehicules = dashboard("evcs-vehicules", "Les vehicules", (
VARIABLE_MODULE = {
"name": "module", "label": "Module", "type": "query", "datasource": PG,
"refresh": 1, "includeAll": False, "multi": False,
"query": ("SELECT DISTINCT ON (module) "
"CASE WHEN rang IS NULL THEN module "
"ELSE rang || ' \u00b7 ' || module END AS __text, "
"module AS __value FROM cellule ORDER BY module, ts DESC"),
# Repere = pack x 10 + rang (11 = pack 1 module 1, 21 = pack 2 module 1) :
# chaque chaine numerote ses modules a partir de 1, le rang seul est ambigu.
"query": ("SELECT __text, __value FROM ("
"SELECT DISTINCT ON (module) "
"CASE WHEN pack IS NOT NULL AND rang IS NOT NULL "
"THEN (pack * 10 + rang) || ' \u00b7 ' || module "
"WHEN rang IS NOT NULL THEN rang || ' \u00b7 ' || module "
"ELSE module END AS __text, "
"module AS __value FROM cellule ORDER BY module, ts DESC) v "
"ORDER BY __text"),
}
# Echelle d'alarme du materiel, lue dans `sysinfo` du LVHUB le 05/09/2026.
@@ -1284,7 +1290,9 @@ batteries = dashboard("evcs-batteries", "Les batteries", (
" SELECT module FROM cellule GROUP BY module\n"
" HAVING max(ts) > now() - interval '2 hours'),\n"
"dernier AS (\n"
" SELECT DISTINCT ON (module) module, ts, rang FROM cellule\n"
" SELECT DISTINCT ON (module) module, ts,\n"
" CASE WHEN pack IS NOT NULL AND rang IS NOT NULL THEN pack * 10 + rang\n"
" ELSE rang END AS rang FROM cellule\n"
" WHERE module IN (SELECT module FROM vivants)\n"
" ORDER BY module, ts DESC),\n"
"maintenant AS (\n"
@@ -1298,7 +1306,7 @@ batteries = dashboard("evcs-batteries", "Les batteries", (
" SELECT module, ts, max(mv) - min(mv) AS ecart\n"
" FROM cellule WHERE $__timeFilter(ts) GROUP BY module, ts) x\n"
" GROUP BY module)\n"
"SELECT m.rang AS \"Rang\", m.module AS \"Module\",\n"
"SELECT m.rang AS \"Repere\", m.module AS \"Module\",\n"
" m.ecart AS \"Ecart maintenant\",\n"
" p.ecart_max AS \"Ecart max sur la periode\",\n"
" m.haute AS \"Plus haute\", m.basse AS \"Plus basse\",\n"