Monitoring de température hardware vers Domoticz

Il y a des jours comme ça où on se réveille (trop) tôt. En passant le temps sur le PC pendant que la maison dort, on a une idée qui germe sans prévenir. Ce matin c’était de trouver le moyen pour faire remonter la température CPU de mon serveur pour la monitorer sur Domoticz. En mélangeant lm-sensors, curl et l’API Domoticz, j’ai écrit un petit script qui fonctionne plutôt bien.

Le principe est assez simple. Il suffit d’installer lm-sensors et curl sur la machine à monitorer. C’est logiciels sont bien entendu des applications linux. Il faut aussi lancer une fois la reconnaissance des sondes de températures reconnues pas lm-sensors. Je vous laisse chercher comment on fait, il y a plein de sources sur le web à ce propos.

Ensuite, on lance la commande « sensors » afin d’avoir la liste des sondes reconnues et leur valeurs actuelles. Chez moi la commande remonte ces infos:

La valeur qui nous intéresse est « temp1 ».

Une fois que l’on sait ce que l’on veut utiliser, il ne reste plus qu’à scripter le tout de cette façon :

Comme l’indiquent les commentaires, le fonctionnement est relativement simple :

On récupère les valeurs des sondes dans la variable $sensors. Ensuite on extrait la partie concernant uniquement « temp1 » grâce à grep. On enlève tout ce qui n’est pas la valeur de la température avec la commande cut et on met cette valeur dans la variable $CPU.

On crée une nouvelle variable contenant l’url ($url) permettant de mettre à jour la valeur de la température comme c’est prévu dans l’API de domoticz. Cette url contenant la variable $CPU créée juste avant.

On termine en faisant une requête silencieuse vers la machine où est installé domoticz avec la commande curl.

Notez que pour que ça fonctionne vous devez avoir créé un capteur virtuel (dummy) sur domoticz. Ce capteur aura une ID que vous devrez entrer dans l’url juste après « &idx= ». Dans mon cas l’ID est 40.

Il ne reste plus qu’à l’exploiter comme vous le souhaitez dans votre solution domotique.

(622)

Leave a Reply

© 2017 Tom23's blog. All Rights Reserved.
WordPress theme by Blogging Tips