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:
18
HANDOFF.md
18
HANDOFF.md
@@ -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
|
(04/09), dans le sens de la SURESTIMATION. Toute lecture d'energie vehicule
|
||||||
anterieure au 07/09 doit etre reprise.
|
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
|
### Rappel de methode, deuxieme fois en trois jours
|
||||||
`verifier-dashboards.mjs` prouve qu'une requete s'EXECUTE, pas qu'elle rend la
|
`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
|
grandeur voulue — il annoncait 73/73 avec le chiffre faux. Le seul controle qui
|
||||||
|
|||||||
@@ -103,6 +103,98 @@
|
|||||||
"mappings": []
|
"mappings": []
|
||||||
},
|
},
|
||||||
"overrides": [
|
"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": {
|
"matcher": {
|
||||||
"id": "byName",
|
"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": [
|
"calcs": [
|
||||||
"lastNotNull"
|
"lastNotNull"
|
||||||
],
|
],
|
||||||
"fields": "/.*/",
|
"fields": "",
|
||||||
"values": false
|
"values": false
|
||||||
},
|
},
|
||||||
"orientation": "horizontal",
|
"orientation": "horizontal",
|
||||||
@@ -241,17 +305,7 @@
|
|||||||
"mode": "multi",
|
"mode": "multi",
|
||||||
"sort": "none"
|
"sort": "none"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"transformations": [
|
|
||||||
{
|
|
||||||
"id": "filterFieldsByName",
|
|
||||||
"options": {
|
|
||||||
"include": {
|
|
||||||
"pattern": "^(Time|time|Heure|$vue)$"
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "timeseries",
|
"type": "timeseries",
|
||||||
|
|||||||
@@ -1294,20 +1294,26 @@ journee = dashboard(
|
|||||||
"consommation de la maison qui n'est PAS venue du reseau. "
|
"consommation de la maison qui n'est PAS venue du reseau. "
|
||||||
"« Batterie rendue » est ce qu'elle a restitue, donc du solaire "
|
"« Batterie rendue » est ce qu'elle a restitue, donc du solaire "
|
||||||
"differe et non une consommation supplementaire.",
|
"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(
|
{"id": "thresholds", "value": seuils(
|
||||||
("red", None), ("#EAB839", 60),
|
("red", None), ("#EAB839", 60),
|
||||||
("green", 85))}]),
|
("green", 85))}])]),
|
||||||
sur("Reseau importe", [{"id": "thresholds", "value": seuils(
|
|
||||||
("green", None), ("#EAB839", 3),
|
|
||||||
("orange", 8))}])],
|
|
||||||
champs="/.*/"),
|
|
||||||
|
|
||||||
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",
|
PG, 0, 5, 24, 9, "kwatth",
|
||||||
"La forme de la journee : quand le solaire a couvert la maison, et quand "
|
"La forme de la journee : quand le solaire a couvert la maison, et quand "
|
||||||
"il a fallu acheter. Le pas suit la periode choisie."),
|
"il a fallu acheter. Le pas suit la periode choisie."),
|
||||||
transformations=FILTRE_VUE),
|
|
||||||
|
|
||||||
ts("Les flux de la journee", [sql("A", BILAN_FLUX)],
|
ts("Les flux de la journee", [sql("A", BILAN_FLUX)],
|
||||||
PG, 0, 14, 24, 10, "watt",
|
PG, 0, 14, 24, 10, "watt",
|
||||||
|
|||||||
Reference in New Issue
Block a user