Deux defauts introduits avec les vues

1. « Data is missing a time field » sur Les flux. Mon filtre de vue laissait
   passer « time » en minuscules, or la source PostgreSQL nomme le champ
   temporel « Time » avec une majuscule dans le format time_series. Le filtre
   supprimait donc l'axe des temps. Les deux graphies sont desormais acceptees.

2. Les deux alarmes du panneau BMS n'apparaissaient pas. Un panneau stat ne
   reduit que les champs NUMERIQUES par defaut, et « no_alarm » est du texte :
   il faut "/.*/" pour l'afficher. Applique a ce seul panneau — les autres
   n'ont que des nombres et le reglage par defaut y est correct.

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 02:26:39 +02:00
parent 2a367d0960
commit c7006a030c
2 changed files with 14 additions and 6 deletions

View File

@@ -1025,7 +1025,7 @@
"calcs": [
"lastNotNull"
],
"fields": "",
"fields": "/.*/",
"values": false
},
"orientation": "horizontal",
@@ -1183,7 +1183,7 @@
"id": "filterFieldsByName",
"options": {
"include": {
"pattern": "^(time|Heure|$vue)$"
"pattern": "^(Time|time|Heure|$vue)$"
}
}
}
@@ -1253,7 +1253,7 @@
"id": "filterFieldsByName",
"options": {
"include": {
"pattern": "^(time|Heure|$vue)$"
"pattern": "^(Time|time|Heure|$vue)$"
}
}
}

View File

@@ -74,7 +74,7 @@ def ts(title, targets, ds, x, y, w, h, unit="", desc="", extra=None, legend="bot
return p
def stat(title, targets, ds, x, y, w, h, desc="", overrides=None, texte="auto",
taille=None, mappings=None):
taille=None, mappings=None, champs=""):
"""Grands chiffres. Sur telephone, Grafana empile TOUS les panneaux en
pleine largeur sous ~770 px : mettre plusieurs valeurs dans UN panneau est
donc le seul moyen de les garder cote a cote et de limiter le defilement."""
@@ -87,7 +87,10 @@ def stat(title, targets, ds, x, y, w, h, desc="", overrides=None, texte="auto",
"steps": [{"color": "text", "value": None}]},
"mappings": mappings or []}, "overrides": overrides or []},
"options": {"reduceOptions": {"calcs": ["lastNotNull"],
"fields": "", "values": False},
# "" = champs numeriques seulement.
# Les etats d'alarme sont du TEXTE :
# il faut "/.*/" pour les afficher.
"fields": champs, "values": False},
"orientation": "horizontal", "textMode": texte,
"colorMode": "value", "graphMode": "none",
"justifyMode": "center",
@@ -787,8 +790,12 @@ VARIABLE_VUE = {
"current": {"selected": True, "text": _VUES[0][0], "value": _VUES[0][1]},
"multi": False, "includeAll": False,
}
# « Time » avec une MAJUSCULE : c'est ainsi que la source PostgreSQL nomme le
# champ temporel dans le format time_series. Ecrit en minuscules, le filtre
# supprimait l'axe des temps et le panneau repondait « Data is missing a time
# field ». Les deux graphies sont acceptees, la casse etant significative ici.
FILTRE_VUE = [{"id": "filterFieldsByName",
"options": {"include": {"pattern": "^(time|Heure|$vue)$"}}}]
"options": {"include": {"pattern": "^(Time|time|Heure|$vue)$"}}}]
systeme = dashboard("evcs-systeme", "Le systeme", (
"Replique locale de la vue generale VRM. La console Victron est hebergee "
@@ -902,6 +909,7 @@ systeme = dashboard("evcs-systeme", "Le systeme", (
"qui sature, c'est une cellule.",
overrides=[col("Charge max", "amp"), col("Sante", "percent")],
taille={"valueSize": 24, "titleSize": 11},
champs="/.*/",
mappings=[{"type": "value", "options": {
"no_alarm": {"text": "OK", "color": "green", "index": 0},
"warning": {"text": "AVERTISSEMENT", "color": "orange", "index": 1},