Domoticz – Monitorer son NAS Synology

Si vous avez un NAS Synology et un serveur de domotique avec Domoticz vous avez tout ce qu’il faut pour faire le monitoring de votre NAS. Depuis l’interface d’administration d’un NAS, on retrouve plusieurs infos comme l’espace disque, la température du système, la température de chaque disque dur, l’utilisation du CPU ou encore de la mémoire. Cependant, toutes ces informations sont à différents endroits entre la température du système dans le panneau de configuration, la température des disques dans le gestionnaire de disque et il faut sélectionner les disques un à un pour avoir la température. Grâce à Domoticz et un script fait par un utilisateur du forum EasyDomoticz nous allons pouvoir remonter toutes ces infos sur une seule page.

Afin de récupérer les différentes valeurs, nous allons utiliser le protocole SMNP. Ce dernier permet de superviser tout type d’équipement réseau et de remonter les valeurs OID(identifiants universels) propres à chaque constructeur. Sur le site de Synology, on peut retrouver un PDF avec tous les différents OID. Sur l’image ci-dessus chaque tuile Domoticz correspond à un OID.

Côté NAS

Nous allons commencer par activer une option du NAS. Tout d’abord, allez dans le Panneau de configuration puis tout en bas sur Terminal & SNMP. Déplacez-vous ensuite sur l’onglet SNMP, cochez la case Activer le service SNMP et cochez aussi Service SNMP v1. Dans Communauté: indiquez ce que vous voulez, mais retenez le mot… nous allons en avoir besoin plus loin. Pour ma part, je choisis cachem 😉

Côté Domoticz

Sur votre serveur Domoticz, il faut installer 2 paquets. Pour cela, depuis un terminal ou depuis putty, tapez les 2 commandes suivantes l’une après l’autre. En premier sudo apt-get install snmpd puis sudo apt-get install snmp une fois fait redémarrez votre serveur.
Nous allons tester la communication avec le NAS et voir si celui-ci nous remonte bien la valeur demandée. Toujours en terminal on va devoir exécuter la commande suivante :
snmpget -v 2c -c PASSWORD -O qv NASIPADDRESS 1.3.6.1.4.1.6574.2.1.1.6.0, mais avant de la lancer il faut changer certains paramètres. Remplacez PASSWORD par le nom de la communauté que vous avez tapé sur le NAS et remplacez NASIPADRESS par l’IP local de votre NAS. À la suite de l’IP on remarque un OID c’est le code pour remonter la température du disque dur 1 du NAS. Voici la ligne prête à être exécutée :
snmpget -v 2c -c cachem -O qv 192.168.1.5 1.3.6.1.4.1.6574.2.1.1.6.0
Si tout est bon, vous devriez avoir une valeur qui s’affiche comme ci-dessus, 35 signifie donc 35°.

Ajout sur Domoticz

Maintenant que l’on sait que tout communique bien, on va ajouter sur Domoticz un matériel virtuel, des capteurs virtuels et le script. On commence par aller dans Réglages puis Matériel. Indiquez un nom Synology par exemple et dans la liste Type sélectionnez Dummy et cliquez sur Ajouter.

Passons maintenant à la création de capteurs virtuels. Pour le nom du capteur, il ne faut pas de caractères spéciaux (é ou à) et le nom est important, car il devra être identique dans le script. Je vous recommande de mettre les mêmes noms que le script… ou alors il vous faudra le changer dans le script. Pour cela, vous pouvez consulter le GitHub au lien suivant et le nom des tuiles commence à la ligne 87. Voici les capteurs dont on va avoir besoin.

  • Un capteur interrupteur (indique si le NAS fonctionne ou non) ;
  • 3 capteurs pourcentage (pour l’utilisation du CPU, de la RAM et l’occupation du HDD) ;
  • Au moins 2 capteurs de température (un pour la température du système et un pour un HDD, si vous avez plusieurs HDD ajoutez en plus, le script est prévu pour 4 HDD) ;
  • Un Custom Sensor (Il servira pour l’espace disque disponible avec comme valeur une unité).

Cliquez sur Créer un capteur virtuel et ajoutez tous les capteurs comme indiqué ci-dessus et comme sur les captures.

Naviguez maintenant sur les différents menus de Domoticz, vous devriez avoir vos différents capteurs. Les icônes ne sont pas forcément les meilleures, mais on va revoir cela en bonus à la fin de l’article 🙂

Installation du script

Avant d’ajouter le script, je vous recommande de tester les OID pour chaque capteur avec la ligne de commande que nous avons vu plus haut. Si vous regardez le script sur Github (très bien commenté par son créateur), à la ligne 98 à 100 dans le commentaire en bout de ligne il indique que le dernier chiffre de l’OID peut varier selon le modèle du NAS ou de DSM. Personnellement sur un RS814+, l’OID se termine avec .51 pour fonctionner. Faites le test, si cela ne fonctionne pas dans l’OID suivant par exemple 1.3.6.1.2.1.25.2.3.1.4.51 remplacez .51 par .38 pour DSM 5.1 ou .41 pour DSM 6.0 et plus. Ce test permet d’être sûr que le script fonctionnera.

Copiez tout le contenu du script sur Github et ensuite allez sur Réglages puis Plus d’options et Événements. À droite, indiquez un nom, en dessous sélectionnez DzVents puis All et cochez Event active pour l’activer. Cliquez sur Save.

Dans la zone de saisie, supprimez le code d’exemple et copiez le code du script.

Ensuite, il faut modifier 2 lignes pour indiquer l’IP du NAS et votre nom de communauté cela se ferra à la ligne 85 et 86. Ayant besoin de remonter la température des 4 HDD de mon RS814, j’ai modifié le script pour fonctionner avec 2 HDD, le créateur a mis en ligne le script modifié. Si vous avez plus de 2 HDD il faudra ajouter le nom comme le HDD 1 dans les guillemets indiquer le nom. Je vous recommande de mettre la même chose que le HDD1 donc Synology HDD2 Temp. Il vous faudra faire la modification à la ligne 94, 95 et 96.
Pour voir si tout est bon, aller dans Réglages puis Logs toutes les minutes vous devriez voir les lignes suivantes:

2019-04-07 15:09:00.181 Status: dzVents: Info: Synology Monitor v1.3 : —— Start internal script: Synology:, trigger: every minute
2019-04-07 15:09:00.246 Status: dzVents: Debug: Synology Monitor v1.3 : NASTemp : 40
2019-04-07 15:09:00.262 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology Temp: Temperature device adapter
2019-04-07 15:09:00.263 Status: dzVents: Debug: Synology Monitor v1.3 : HDUnit : 4096
2019-04-07 15:09:00.263 Status: dzVents: Debug: Synology Monitor v1.3 : HDTotal : 1403048756
2019-04-07 15:09:00.263 Status: dzVents: Debug: Synology Monitor v1.3 : HDUsed : 897072681
2019-04-07 15:09:00.263 Status: dzVents: Debug: Synology Monitor v1.3 : CpuUser : 4
2019-04-07 15:09:00.263 Status: dzVents: Debug: Synology Monitor v1.3 : CpuSystem : 6
2019-04-07 15:09:00.263 Status: dzVents: Debug: Synology Monitor v1.3 : HDTemp1 : 36
2019-04-07 15:09:00.264 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology HDD1 Temp: Temperature device adapter
2019-04-07 15:09:00.264 Status: dzVents: Debug: Synology Monitor v1.3 : HDTemp2 : 39
2019-04-07 15:09:00.265 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology HDD2 Temp: Temperature device adapter
2019-04-07 15:09:00.265 Status: dzVents: Debug: Synology Monitor v1.3 : HDTemp3 : 40
2019-04-07 15:09:00.265 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology HDD3 Temp: Temperature device adapter
2019-04-07 15:09:00.265 Status: dzVents: Debug: Synology Monitor v1.3 : HDTemp4 : 38
2019-04-07 15:09:00.266 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology HDD4 Temp: Temperature device adapter
2019-04-07 15:09:00.266 Status: dzVents: Debug: Synology Monitor v1.3 : HDTotalGo : 5.23
2019-04-07 15:09:00.266 Status: dzVents: Debug: Synology Monitor v1.3 : HDFreeGo : 1.88
2019-04-07 15:09:00.267 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology Espace Disponible: Custom sensor device adapter
2019-04-07 15:09:00.267 Status: dzVents: Debug: Synology Monitor v1.3 : HDFreePercent : 64
2019-04-07 15:09:00.268 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology Occupation Disque: Percentage device adapter
2019-04-07 15:09:00.268 Status: dzVents: Debug: Synology Monitor v1.3 : CpuUsed : 10
2019-04-07 15:09:00.269 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology Utilisation CPU: Percentage device adapter
2019-04-07 15:09:00.269 Status: dzVents: Debug: Synology Monitor v1.3 : memTotalSwap: 4521908
2019-04-07 15:09:00.269 Status: dzVents: Debug: Synology Monitor v1.3 : memTotalReal: 4042312
2019-04-07 15:09:00.269 Status: dzVents: Debug: Synology Monitor v1.3 : memTotalFree: 3750424
2019-04-07 15:09:00.269 Status: dzVents: Debug: Synology Monitor v1.3 : MemUsedPercent : 56
2019-04-07 15:09:00.270 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology Utilisation RAM: Percentage device adapter
2019-04-07 15:09:00.270 Status: dzVents: Debug: Synology Monitor v1.3 : Requete SNMP correcte
2019-04-07 15:09:00.271 Status: dzVents: Debug: Synology Monitor v1.3 : Processing device-adapter for Synology: Switch device adapter
2019-04-07 15:09:00.271 Status: dzVents: Debug: Synology Monitor v1.3 : Constructed timed-command: On
2019-04-07 15:09:00.272 Status: dzVents: Info: Synology Monitor v1.3 : —— Finished Synology

Naviguez dans les menus, vous devriez avoir les valeurs remontées. Si ça fonctionne, vous pouvez désactiver le mode Debug à la ligne 138 en ajoutant les 2 – – devant level et sauvegardez. Vous aurez moins de logs, mais toujours un état sur l’utilisation du script.

Ce script est très complet. Il y a encore des petites choses à voir et à tester notamment pour la partie stockage sur un de mes NAS. Je suis en Raid SHR, donc tous mes disques sont fusionnés en un seul volume. Les informations remontent bien… par contre, sur mon second NAS, j’ai 2 HDD en Basic. Ce n’est pas pareil, je n’ai que le Volume 2 qui remonte. Dans le script, il y a plusieurs paramètres possible. Le créateur en parle à la ligne 39. Il y a plusieurs OID pour cela à la ligne 60 : OID_HDUnit, OID_HDTotal, OID_HDUsed. Je n’ai pas encore testé cette partie.
Le système Raid peut être activé afin de surveiller l’état de votre Raid. Vous pouvez le voir en fin de script, une ligne est commentée, mais je n’ai pas non plus encore testé cette partie.

2019-04-07 15:13:00.221 Status: dzVents: Info: Synology Monitor v1.3 : —— Start internal script: Synology:, trigger: every minute
2019-04-07 15:13:00.307 Status: dzVents: Info: Synology Monitor v1.3 : —— Finished Synology

Bonus

On allons voir 2 choses : la première comment mettre tout sur une même page et ensuite personnaliser les icônes.
Allez dans Réglages, puis Plus d’options puis Plans et Périphérique par emplacement. Cliquez ensuite sur Ajouter un plan et indiquez un Nom, cliquez sur Add. Sélectionnez votre NAS avec un simple clic.

Dans Dispositif, choisissez ce que vous souhaitez ajouter et cliquez sur le bouton Ajouter. Répétez l’opération pour chaque dispositif souhaité…

Retournez sur le Dashbord de Domoticz et en haut à droite, vous aurez un nouveau sélecteur. Dans la liste, sélectionnez votre NAS et vous aurez toutes les informations sur une même page.

Personnaliser les icônes

Sur ce Google Drive, vous trouverez de nombreuses icônes en tout genre pour votre Domoticz. Pour notre NAS, on va suivre ce lien et vous pourrez choisir entre 3 packs (les packs NAS 2 et NAS 3 sont pour les Synology). Téléchargez votre pack, allez ensuite dans Réglages puis Plus d’options et Icônes personnalisées. Sélectionnez votre fichier et cliquez sur Télécharger. Rien ne se passe, c’est normal. Allez ensuite dans le Dashbord et revenez sur les icônes personnalisées pour voir si vous avez bien votre icône. Allez maintenant sur l’onglet Interrupteurs et cliquez sur Modifier, dans la liste sélectionnez l’icône du NAS et Sauvegarder.

L’icône évolue suivant l’état du NAS, avec des voyants allumés, quand il est en fonctionnement.

Vous pouvez faire la même chose pour l’espace disque disponible, cliquez sur Modifier, sélectionnez l’icône puis sur Modifier.

On arrive à la fin de l’article, libre à vous maintenant de tester de plus près ce script. Si vous avez besoin d’aide ou contribuer à ce script vous pouvez en discuter sur le sujet du forum EasyDomoticz.

  1. La même chose existe pour qnap????

    J’ai essayé grafana mais c’est pas évident à mettre en place en tant que novice linux, docker.

  2. Bonjour à tous,

    Je me pose une question, est-il possible d’installer le tout si le serveur « Domoticz » est installé sur le NAS lui-même ?

    Merci pour vos avis.
    Stephane

    1. Pour moi oui car il n’y a pas de plugin à installer mais uniquement un script après je peux pas le confirmer car j’ai vite abandonnée domoticz sur un Nas car trop limité.

    2. Je suis entrain de tester ca, malheureusement le client, snmpget n’es pas dispo sur synology….
      Ducoup faudrait peut etre passer par un docker dedie (mais plus d’acces au zwave a priori dans ce cas)…
      J’essaie de voir si je peux compiler snmpget sur place

  3. J’y suis arrivé (ouf) quelques problèmes (une nuit blanche tout de même pour y arriver…).

    En SSH j’avais bien les bonnes infos (par exemple la température de HDD1, etc.), mais elles n’étaient pas remontées… j’ai tellement bricolé (en SSH) que cela fonctionne maintenant. Sauf pour l’info « Synology Utilisation RAM », le chiffre est à 74% alors qu’en réalité (vu sur DSM) je suis à environ 40% … pour l’instant je sèche:-(

  4. Une erreur bizarre :

    2019-05-03 19:16:00.380 Status: EventSystem: Script event triggered: /home/xxxxxxx/domoticz/dzVents/runtime/dzVents.lua
    2019-05-03 19:17:00.277 Status: dzVents: Info: Synology Monitor v1.35 : —— Start internal script: Synology:, trigger: every minute
    2019-05-03 19:17:00.332 Status: dzVents: Error (2.4.6): Synology Monitor v1.35 : There is no device with that name or id: Synology HDD1 Temp
    2019-05-03 19:17:00.333 Status: dzVents: Error (2.4.6): Synology Monitor v1.35 : An error occured when calling event handler Synology
    2019-05-03 19:17:00.333 Status: dzVents: Error (2.4.6): Synology Monitor v1.35 : …/domoticz/scripts/dzVents/generated_scripts/Synology.lua:190: attempt to index a nil value
    2019-05-03 19:17:00.333 Status: dzVents: Info: Synology Monitor v1.35 : —— Finished Synology
    2019-05-03 19:17:00.389 Status: EventSystem: Script event triggered: /home/xxxxxxx/domoticz/dzVents/runtime/dzVents.lua

    Une idée pourquoi le nom « Synology HDD1 Temp » est en erreur alors que j’ai bien une info qui est remontée !?

  5. En suivant, votre tuto, je n’ai pas les remontées dans les dummy sauf pour Synology Temp…

    creation des dummy : Synology HDD1 Temp » dans le script et « Synology HDD 1 Temp » sur les copies écrans du tutoriel … » ?

  6. Ca marche; j’ai remplacé les lignes suivantes :

    local OID_HDUnit = ‘1.3.6.1.2.1.25.2.3.1.4.51’ — OID HD Unit Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .51 on my DS218

    local OID_HDTotal = ‘1.3.6.1.2.1.25.2.3.1.5.51’ — OID Total space volume in Go Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .51 on my DS218

    local OID_HDUsed = ‘1.3.6.1.2.1.25.2.3.1.6.51’ — OID Space used volume in Go Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .51 on my DS218

    par :

    local OID_HDUnit = ‘1.3.6.1.2.1.25.2.3.1.4.41’ — OID HD Unit Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .51 on my DS414slim

    local OID_HDTotal = ‘1.3.6.1.2.1.25.2.3.1.5.41’ — OID Total space volume in Go Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .51 on my DS414slim

    local OID_HDUsed = ‘1.3.6.1.2.1.25.2.3.1.6.41’ — OID Space used volume in Go Change OID to .38 on DSM 5.1 or .41 on DSM 6.0+ or .51 on my DS414slim

    et tout fonctionne. Merci et bravo aux contributeurs …

    je testerai si je peux arrêter mon NAS via Domoticz avec un bouton panic wave (mon but au départ…)
    avec une commande commandArray[‘Synology’] = ‘Off’ dans un script LUA :

    commandArray = {}
    if(devicechanged[‘Level Panic Button’] == ‘On’) then
    print(« bouton panic appuyé »)

    commandArray[‘Scene:je monte me coucher’]=’On’

    — arret amplificateur Home Cinéma
    commandArray[‘Denon Marantz Ampli – Power’] = ‘Off’

    — arret NAS
    commandArray[‘Synology’] = ‘Off’

    end
    return commandArray

    Cordialement

  7. Bonjour. Le script fonctionnait parfaitement jusqu’à la mise à jour vers DSM 7.0. Les OID ont-ils changés? J’ai testé avec .38, mais les valeurs renvoyées ne sont pas correctes (espace disponible = 0To ; occupation disque = 5%). Merci pour votre aide.

    1. Salut,
      C’est le risque des mise à jour et ne suis pas encore passé à DSM 7 et je t’avoue que j’aimerais pas perdre cette remonté.
      J’ai vu que tu avais mis un message sur le forum easydomoticz reste à voir si l’auteur va diffuser une mise à jour du plugin.
      J’ai aussi peur pour la partie onduleur l’as tu fais ?

      1. Salut,
        Pas de souci côté de l’onduleur (Eaton), les valeurs semblent correctes.
        Seules les valeurs espace disponible (= 0To) et occupation disque (= 5%) du NAS sont erronées.

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.