PRTG + TEMPERATURE

J’avais depuis longtemps comme projet d’équiper mes baies informatiques de sonde de température fiable et pas trop onéreuse

Il y a quelques semaines je suis tombé un peu par hasard sur un produit qui semblait correspondre à mes besoins.

il peut gérer jusqu’à 4 sondes de température

LAN DS18B20 WEB Temperature Monitor

http://sigma-shop.com/product/140/lan-ds18b20-web-temperature-monitor.html

LAN DS18B20 WEB Temperature Monitor

DC 12V 1A sécurité CCTV alimentation

https://www.amazon.fr/noir-s%C3%A9curit%C3%A9-CCTV-alimentation-cam%C3%A9ra/dp/B00B0T5D5W/ref=pd_bxgy_23_2?_encoding=UTF8&psc=1&refRID=TB65PDDY5TTM7QZT7QNX

Foxnovo 5pcs DS18B20 température étanche capteurs capteurs de températures (noir)

https://www.amazon.fr/dp/B00OPPZI8U?tag=amz-mkt-fox-fr-21&ascsubtag=1ba00-01000-org00-win70-dsk00-nomod-fr000-pcomp-feature-scomp-wm-4

 

Le boitier possède son propre serveur WEB

image

image

Le plus interressant c’est qu’il est possible de remonter les températures à travers PRTG

Il suffit de copier dans le dossier PRTG : Custom Sensors\EXEXML le script Powershell disponible en bas de l’article

Ensuite ajouter une nouvelle sonde

image

Selectionnez votre script Powershell

image

 

 

image

 

Un grand merci à Jonathan BLANCHARD pour son script

Script Powershell:

# =======================================================
# Auteur : Jonathan BLANCHARD – Groupe Sacré Coeur Angers
# Date: 03/02/2017
# VERSION 1.0
#
# Usage : Récupérer certaines valeurs d’un fichier XML contenant les valeurs des sondes thermiques. Ensuite, générer un fichier XML formaté pour PRTG.
# Entrée : fichier XML des sondes
# Sortie : fichier XML pour PRTG
# =======================================================
# Initialisation des variables
$sonde_URL = « 
http://10.49.23.127/status.xml »  # URL du fichier XML des sondes
$sonde_temp = « C:\temp\status.xml »             # Emplacement local et temporaire du fichier XML des sondes
$fichier_sortie = « C:\temp\prtg.xml »           # Emplacement du fichier XML de sortie
$prtgresult = «  »

# Téléchargement du fichier XML des sondes
$wg = New-Object System.Net.WebClient
$wg.DownloadFile($sonde_URL, $sonde_temp)

# Récupération, dans la variable $status, du contenu du fichier XML des sondes
[xml]$status = Get-Content $sonde_temp

# Ecriture du fichier XML de sortie (Comme la commande out-file n’a pas l’argument Append, le contenu du fichier est écrasé)
#echo ‘<?xml version= »1.0″ encoding= »UTF-8″?>’
$prtgresult+= « <prtg>`r`n »

foreach ($i in $status.response.sensor) # Boucle permettant de parcourir chaque sonde (enregistrement « sensor »)
{
if (-not $i.name -eq «  ») # Si l’enregistrement name n’est pas vide, on execute le contenu du if
{
$prtgresult+= « <result>`r`n »
$prtgresult+= $(« <channel> » + $i.name + « </channel>`r`n »)    # On récupère la valeur name du XML des sondes
$prtgresult+= $(« <value> » + $i.temp + « </value>`r`n »)        # On récupère la valeur temp du XML des sondes
$prtgresult+= $(« <float>1</float>`r`n »)
$prtgresult+= « </result>`r`n »
}
}
$prtgresult+= « </prtg>`r`n »
echo ($prtgresult)

 

Ajouter un Commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *