Files
EVCS/deploy/historisation/grafana/provisioning/datasources/evcs.yaml
Tallagrand Thierry fe029cfdff Grafana : les deux bases se consultent, et les requetes sont verifiees
Trois tableaux de bord provisionnes depuis git, sur le modele de la regle R2
(le depot est la source de verite, l'interface ne peut pas les ecraser) :

  La nuit      SOC reel contre SOC exige par le bilan, et la marge entre les
               deux. C'est la question qui avait demande une nuit d'archeologie
               le 03/09.
  Le solaire   l'excedent (§36), la censure, et le mode declare par chacun des
               sept chargeurs (§37) — le signal le plus direct dont on dispose.
  Prevision    l'ecart heure par heure, avec la bande de censure dessous : une
               production sous la prevision peut vouloir dire mauvaise
               prevision OU absence de preneur.

Les evenements de la table `evenement` deviennent des marqueurs verticaux sur
tous les graphiques — une courbe sans ses evenements ne s'interprete pas.

tools/verifier-dashboards.mjs rejoue CHAQUE requete pour de vrai (SQL contre
PostgreSQL, Flux contre InfluxDB, macros Grafana substituees), annotations
comprises puisqu'elles s'executent sur tous les panneaux. Sans lui une requete
cassee ne se voit qu'a l'ecran, panneau par panneau. 19/19 au deploiement.

Port 3001 et non 3000 : sonde avant d'ecrire la ligne, quelque chose ecoute
deja sur 3000 — la lecon du 5432 deja pris par le PostgreSQL de DSM.

Connexion PostgreSQL par le role evcs_lecture : un tableau de bord ne doit pas
pouvoir ecrire dans la memoire. Aucun secret duplique, aucun secret commite :
le provisionnement les reference par $VARIABLE depuis les deux .env.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
2026-09-04 08:06:25 +02:00

54 lines
1.8 KiB
YAML

# Sources de donnees, versionnees dans git et appliquees au demarrage.
#
# Les secrets ne sont PAS ici : `$VARIABLE` est substitue par Grafana depuis
# l'environnement du conteneur, alimente par les deux `.env` (jamais commites).
# Ce fichier peut donc etre lu par n'importe qui sans rien reveler.
apiVersion: 1
datasources:
# ---------------------------------------------------------------
# Ce que le systeme CALCULE : bilan, decisions, prevision publiee,
# evenements. Relationnel, donc joignable.
# ---------------------------------------------------------------
- name: EVCS PostgreSQL
uid: evcs-pg
type: grafana-postgresql-datasource
access: proxy
# Nom de service du reseau interne : ni IP en dur, ni dependance au port
# publie sur l'hote.
url: postgres:5432
database: evcs
# Role EN LECTURE SEULE (plus un INSERT restreint a la table evenement).
# Un tableau de bord ne doit pas pouvoir ecrire dans la memoire.
user: evcs_lecture
secureJsonData:
password: $PG_LECTURE_PASSWORD
jsonData:
sslmode: disable
postgresVersion: 1600
timescaledb: false
isDefault: true
editable: false
# ---------------------------------------------------------------
# Ce que Home Assistant OBSERVE : chaque changement d'etat, a la
# resolution native (~1 Hz), y compris les entites auxquelles
# personne n'a encore pense. C'est ce qui manquait le 03/09, quand
# les modes des chargeurs MPPT se sont reveles etre le bon signal.
# ---------------------------------------------------------------
- name: EVCS InfluxDB
uid: evcs-influx
type: influxdb
access: proxy
url: http://influxdb:8086
jsonData:
version: Flux
organization: airtria
defaultBucket: evcs
httpMode: POST
secureJsonData:
token: $INFLUXDB_TOKEN
editable: false