Les deux panneaux du haut affichent enfin quelque chose

Le bilan rendait sept tirets et l'histogramme « No numeric fields found », alors
que verifier-dashboards donnait les deux requetes vertes : il prouve qu'une
requete s'execute, pas qu'elle s'affiche.

FILTRE_VUE ne se recopie pas d'un tableau a l'autre : cette transformation ne
garde que les colonnes nommees par la variable $vue, propre a « Le systeme ».
Sur un tableau qui n'a pas cette variable, elle filtre tout. Retiree.

champs="/.*/" est reserve aux etats d'alarme, qui sont du texte ; sur des
colonnes numeriques il empeche le rendu. Remis a "" comme le panneau « Sur la
periode » des vehicules, et les unites kWh et % ajoutees en overrides — sans
elles les chiffres etaient nus.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
Tallagrand Thierry
2026-09-07 23:41:36 +02:00
parent fa5ad0d98a
commit 44eb415cb8
3 changed files with 126 additions and 48 deletions

View File

@@ -5527,6 +5527,24 @@ l'intermittent etait touche. 73/73 requetes valides.
(04/09), dans le sens de la SURESTIMATION. Toute lecture d'energie vehicule
anterieure au 07/09 doit etre reprise.
### Deux pieges d'affichage, corriges apres lecture a l'ecran
Les deux panneaux du haut etaient vides au premier rendu, alors que
`verifier-dashboards` les donnait verts — troisieme rappel que ce controle
prouve l'execution d'une requete, pas son affichage.
1. **`FILTRE_VUE` ne se recopie pas d'un tableau a l'autre.** Cette
transformation ne garde que les colonnes nommees par la variable `$vue`,
propre au tableau « Le systeme ». Sur un tableau qui n'a pas cette variable,
elle filtre TOUT et Grafana affiche « No numeric fields found ». Retiree :
ici on veut les quatre colonnes en permanence.
2. **`champs="/.*/"` est reserve aux etats d'ALARME, qui sont du texte.**
Sur des colonnes numeriques il empeche le rendu — sept « — » a la place des
valeurs. La valeur juste est `""` (defaut), qui ne garde que les numeriques,
comme le panneau « Sur la periode » du tableau des vehicules. Les unites
(kWh, %) ont ete ajoutees en overrides dans la foulee : sans elles les
chiffres etaient nus.
### Rappel de methode, deuxieme fois en trois jours
`verifier-dashboards.mjs` prouve qu'une requete s'EXECUTE, pas qu'elle rend la
grandeur voulue — il annoncait 73/73 avec le chiffre faux. Le seul controle qui

View File

@@ -103,6 +103,98 @@
"mappings": []
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Solaire produit"
},
"properties": [
{
"id": "unit",
"value": "kwatth"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Maison consommee"
},
"properties": [
{
"id": "unit",
"value": "kwatth"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Voiture"
},
"properties": [
{
"id": "unit",
"value": "kwatth"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Batterie chargee"
},
"properties": [
{
"id": "unit",
"value": "kwatth"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Batterie rendue"
},
"properties": [
{
"id": "unit",
"value": "kwatth"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Reseau importe"
},
"properties": [
{
"id": "unit",
"value": "kwatth"
},
{
"id": "thresholds",
"value": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "#EAB839",
"value": 3
},
{
"color": "orange",
"value": 8
}
]
}
}
]
},
{
"matcher": {
"id": "byName",
@@ -134,34 +226,6 @@
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Reseau importe"
},
"properties": [
{
"id": "thresholds",
"value": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "#EAB839",
"value": 3
},
{
"color": "orange",
"value": 8
}
]
}
}
]
}
]
},
@@ -170,7 +234,7 @@
"calcs": [
"lastNotNull"
],
"fields": "/.*/",
"fields": "",
"values": false
},
"orientation": "horizontal",
@@ -241,17 +305,7 @@
"mode": "multi",
"sort": "none"
}
},
"transformations": [
{
"id": "filterFieldsByName",
"options": {
"include": {
"pattern": "^(Time|time|Heure|$vue)$"
}
}
}
]
}
},
{
"type": "timeseries",

View File

@@ -1294,20 +1294,26 @@ journee = dashboard(
"consommation de la maison qui n'est PAS venue du reseau. "
"« Batterie rendue » est ce qu'elle a restitue, donc du solaire "
"differe et non une consommation supplementaire.",
overrides=[sur("Autonomie", [{"id": "unit", "value": "percent"},
overrides=[sur(n, [{"id": "unit", "value": "kwatth"}]) for n in
("Solaire produit", "Maison consommee", "Voiture",
"Batterie chargee", "Batterie rendue")]
+ [sur("Reseau importe", [{"id": "unit", "value": "kwatth"},
{"id": "thresholds", "value": seuils(
("green", None), ("#EAB839", 3),
("orange", 8))}]),
sur("Autonomie", [{"id": "unit", "value": "percent"},
{"id": "thresholds", "value": seuils(
("red", None), ("#EAB839", 60),
("green", 85))}]),
sur("Reseau importe", [{"id": "thresholds", "value": seuils(
("green", None), ("#EAB839", 3),
("orange", 8))}])],
champs="/.*/"),
("green", 85))}])]),
dict(barchart("Energie heure par heure", [sql("A", ENERGIE_SQL, fmt="table")],
# ⚠️ PAS de FILTRE_VUE ici : cette transformation ne garde que les colonnes
# nommees par la variable $vue de « Le systeme ». Sur un tableau qui n'a pas
# cette variable, elle filtre TOUT et Grafana affiche « No numeric fields
# found ». Ici on veut les quatre colonnes, tout le temps.
barchart("Energie heure par heure", [sql("A", ENERGIE_SQL, fmt="table")],
PG, 0, 5, 24, 9, "kwatth",
"La forme de la journee : quand le solaire a couvert la maison, et quand "
"il a fallu acheter. Le pas suit la periode choisie."),
transformations=FILTRE_VUE),
ts("Les flux de la journee", [sql("A", BILAN_FLUX)],
PG, 0, 14, 24, 10, "watt",