Suivre les données télé-info de EDF dans Grafana

Hello,

Je vous propose de suivre votre consommation grâce aux données télé-info d’EDF recueilli. Je ne vais pas vous expliquer comment récupérer les données, mais plutôt vous aidez à les afficher dans Grafana dont voici un aperçu.

 

 

Prérequis :

  • La récupération des données fonctionne, voir tuto http://www.magdiblog.fr/gpio/teleinfo-edf-suivi-conso-de-votre-compteur-electrique/
  • Avoir monté une solution de supervision Grafana/Prometheus.

C’est partie pour l’intégration :

Installer le package xinetd qui va permettre d’afficher la page web :

apt update
apt install xinetd

On place le fichier de conf xinetd dans le repertoire /etc/xinetd.d/

cd /etc/xinetd.d/
curl -k -O https://raw.githubusercontent.com/jbsky/jbsky/master/script/edf/etc/edf

Le fichier de config xinetd téléchargé :

[pastacode lang= »bash » user= »jbsky » repos= »jbsky » path_id= »/script/edf/etc/edf » revision= » » highlight= » » lines= » » provider= »github »/]

Ensuite, on place les 3 scripts suivants dans le répertoire /usr/local/bin/

cd /usr/local/bin/
curl -k -O https://raw.githubusercontent.com/jbsky/jbsky/master/script/edf/bin/edf-teleinfo
curl -k -O https://raw.githubusercontent.com/jbsky/jbsky/master/script/edf/bin/edf-expose-metric
curl -k -O https://raw.githubusercontent.com/jbsky/jbsky/master/script/edf/bin/httpwrapper
chmod +x /usr/local/bin/{httpwrapper,edf-teleinfo,edf-expose-metric}

Le 1er qui est lancé par /etc/init.d/edf est en écoute sur le dev, ici à configurer par le votre, alimente au fur et à mesure que des infos sont lues dans un fichier /tmp.

[pastacode lang= »bash » user= »jbsky » repos= »jbsky » path_id= »/script/edf/bin/edf-teleinfo » revision= » » highlight= »3″ lines= » » provider= »github »/]

Le 2e script va afficher les métriques, si vous avez lancé le 1er script, celui-ci devrait afficher les données recueillies.

[pastacode lang= »bash » user= »jbsky » repos= »jbsky » path_id= »/script/edf/bin/edf-expose-metric » revision= » » highlight= » » lines= » » provider= »github »/]

Le dernier est le httpwrapper, en gros, ça va rajouter un header afin que n’importe quel navigateur considère les données du 2e script comme une page web.

[pastacode lang= »bash » user= »jbsky » repos= »jbsky » path_id= »/script/edf/bin/httpwrapper » revision= » » highlight= » » lines= » » provider= »github »/]

Pour la partie lancement de service de la collecte des infos dans le fichier tmp, il faut encore un script à placer dans /etc/init.d/

Malheureusement, même si j’ai un fichier systemd dans le dépot, je n’ai pas réussit à démarrer le service sans qu’il me ramène un code erreur à 2, si quelqu’un à la solution, je suis preneur, bien entendu.

cd /etc/init.d/
curl -k -O https://raw.githubusercontent.com/jbsky/jbsky/master/script/edf/init.d/edf-teleinfo
chmod +x /etc/init.d/edf-teleinfo

[pastacode lang= »bash » user= »jbsky » repos= »jbsky » path_id= »/script/edf/init.d/edf-teleinfo » revision= » » highlight= » » lines= » » provider= »github »/]

Reste à démarrer l’histoire!

systemctl restart xinetd
systemctl enable edf-teleinfo
systemctl start edf-teleinfo

Logiquement, le port 10111 doit être en écoute :

lsof -i -n -P |grep 10111

doit ramener une ligne.

=> http://192.168.X.Y:10111

Attention, un test avec le navigateur est aussi nécessaire.

Si vos données s’affiche, y a plus qu’à configurer dans Prometheus, pas de difficulté apparente, ajouter ce qui suit dans le fichier prometheus.yml.

 - job_name: 'edf'
static_configs:
- targets: ['192.168.X.Y:10111']

Étape finale, le board grafana est disponible à l’URL suivante :

https://grafana.com/grafana/dashboards/11675

Sources :

https://apawel.me/exporting-prometheus-metrics-with-bash-scripts/

6 réflexions sur « Suivre les données télé-info de EDF dans Grafana »

  1. Bonsoir,
    Réussi à faire fonctionner ce tuto…merci a son auteur..
    La galère à été de découvrir que prometheus n’accepte pas les majuscules dans les type de données (compteur, gauge) donc c’est à modifier dans le script n°2 (edf-expose-metric)
    Pour le reste il faut suivre pas a pas et ça marche..
    Jean-Claude

  2. Bonjour,
    Je constate accessoirement que le numéro de mon compteur affiché sur le dashboard grafana n’est pas le code de mon point de Livraison (PDL)
    Or le PDL est bien intégré dans mon Linky quand je fais défiler l’affichage..Je constate que le le PDL n’est pas contenu dans la trame teleinfo.
    Comment peut t on afficher le PDL plutôt que numéro de série du compteur dans grafana?
    Merci pour vos lumières !

  3. C’est bon j’ai trouvé il suffit d’afficher une constante ( le n0 du PDL) dans le Querry.

  4. Bonsoir,

    Dans grafana le graph qui affiche les données de conso journalière.Ne donne pas la conso réelle de minuit a minuit.Elle donne la différence des compteurs sur 24 h glissantes.
    Je souhaiterai pouvoir saisir l’augmentation de valeur du compteur de minuit a minuit ..c’est à dire une valeur fixe qui correspond à la consommation journalière.Mais je ne connais trop le promQL alors si vous pouviez aider.
    Merci..

Les commentaires sont fermés.