Grafana et la domotique - Carmagnole

Grafana et la domotique

Rédigé par propositionjoe / 31 juillet 2017 / 2 commentaires

 
 

J'ai passé quelques jours à m'amuser à mettre en graphique les données issues de mes capteurs domotiques. C'est assez simple à faire en utilisant les métriques issus de Jeedom et en les transmettant à Influxdb puis à Grafana.

 
 
 

L'idée m'est venue après avoir vu passer de nombreuses contributions intéressantes sur le journal du hacker, montrant les mérites de l'utilisation de grafana comme interface de mise en forme de ses données. De ce que j'avais vu, l'outil en jetait pas mal, et j'avais bien envie de m'y essayer (d'autant plus quand j'ai lu les bidouillages du camarade seboss666).  J'ai donc suivi le tuto de Chocoblog, de Feub, ou encore de Guillaume.

Je ne reviens pas en détail sur les étapes, les liens donnés précédemment vous diront tout. Pour résumer, il faut dans un premier temps installer Collectd (soft qui collecte les données), Influxdb (qui est la base qui stocke les données de Collectd), et Grafana (qui met en forme les données stockées par Influxdb). C'est simpe non? En tout cas ça s'installe très facilement.

Une fois que tout est installé chez vous, vous obtiendrez des graphes pour vos différentes machines. Mais là où les choses deviennent intéressantes, c'est de faire la même chose avec les données collectées par ses capteurs domotiques. Neuhausj a mis sur github un petit soft pour récupérer les pushurl que les équipements jeedom réalisent à chaque changement d'état. Son appli fait le pont entre Jeedom et InfluxDB. Là encore, cette page vous dira tout.

Faites juste attention à l'url que vous renseignerez; voici comment elle se compose:

http://192.168.1.1:1234/updateData?name=luminosite&val=#value#&location=bureau

192.168.1.1:1234 : IP et Port où vous avez installé le soft de Neuhausj
name=luminosite : renseignez le nom de la variable que vous vouler grapher
val=#value# : Laissez comme cela, Jeedom va remplacer #value# par la valeur du capteur
location=bureau : renseigner le lieu où se situe votre capteur

Et voici ce que cela donne chez moi.

 

Ce qui est propre, c'est qu'avec ce pont il est possible de grapher facilement ce que l'on veut puisqu'il suffit d'écrire une url et de faire la requête. J'ai par exemple utilisé cette possibilité dans un simple script bash (inspiré par celui-ci) qui surveille la température de mes disques durs, et envoie le résultat avec un curl. Ce script est aussi prévu pour vous notifier si jamais la température d'un des disques dépasse les 45°c, que ce soit par mail (il faudra que votre machine en soit capable) ou que ce soit par sms (avec une ligne free).

~$ nano /home/toto/tempdisquesdurs.sh
#!/bin/bash
# Script monitoring espace disque et températures disques
# Pré-requis : apt install hddtemp
# Pour connaitre la liste des ses disques: fdisk -l
# Notification par mail ou sms free (non obligatoire).

alerte=45

liste="sda sdb sdd sde sdf sdg sdh sdi"
mail=
location=chezdédé
userfreebox=123456789
passfreebox=azertyuiop

for disque in $liste

do
temp=$(/usr/sbin/hddtemp -n /dev/$disque)
curl --insecure "http://192.168.1.1:1234/updateData?name=$disque&val=$temp&location=$location"
if [ $temp -ge $alerte ]; then
curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=$userfreebox&pass=$passfreebox&msg=La temperature du disque /dev/$disque sur `hostname` est de $temp degres"
echo "La temperature du disque /dev/$disque est de $temp degres" | mail -s "- Alerte - Disque dur sur `hostname`" $mail
fi

done
~$ chmod a+x /home/toto/tempdisquesdurs.sh

Pour automatiser la remonté d'information toutes les 3h, ajoutez simplement une ligne dans crontab.

~$ crontab -e
0 */3 * * * bash /home/toto/tempdisquesdurs.sh

Amusez-vous bien!

 

Classé dans : jeedom / Mots clés : aucun

2 commentaires

#1 jeudi 19 octobre 2017 @ 17:37 Eric Boinaud a dit :

Bonjour,
article très intéressant mais je n'arrive pas à installer les version nécessaires au bon fonctionnent de jeedomtools avec influxdb sur mon raspberry pi3.
Si vous aves des pistes complémentaires à me proposer, je suis preneur.
Cordialement,
Eric Boinaud

#2 jeudi 26 octobre 2017 @ 18:01 propositionjoe a dit :

Salut,
Désolé de te répondre si tardivement. Si tu n'as pas trouvé la solution;
Pour t'aider j'ai besoin que tu me dises ce qui bloque chez toi, où ce que tu as fait.
À bientôt

Écrire un commentaire

 Se rappeler de moi sur ce site

Capcha
Entrez le code de l'image :

Carmagnole

Soyez résolus de ne servir plus et vous voilà libres