diff --git a/deploy/historisation/grafana/dashboards/systeme.json b/deploy/historisation/grafana/dashboards/systeme.json index 5679f22..909f59b 100644 --- a/deploy/historisation/grafana/dashboards/systeme.json +++ b/deploy/historisation/grafana/dashboards/systeme.json @@ -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)$" } } } diff --git a/tools/gen-grafana-dashboards.py b/tools/gen-grafana-dashboards.py index 367a158..34f09d3 100644 --- a/tools/gen-grafana-dashboards.py +++ b/tools/gen-grafana-dashboards.py @@ -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},