Le conseiller de sécurité Synology sur Jeedom

Objectif

Ce tuto a pour objectif d’utiliser le prétexte de reproduire une tuile correspondante au conseiller de sécurité Synology sur Jeedom pour expliquer comment utiliser le plugin Synology-API.

Important : Ce tuto est en deux parties

En fonction de ce que vous souhaitez faire et/ou comprendre de l’utilisation des API de Synology et du fonctionnement du plugin Synology-API, vous avez deux options :

  • Soit vous lisez la 1ere partie qui vous explique, pas à pas de manière la plus pédagogique possible ce que vous faites
  • Soit vous lisez directement la 2ème partie qui vous fournira, clé en main la tuile de votre équipement, avec les commandes et les infos déja programmées

Matériel, logiciels

  • Tous les équipements Synology sont équipés d’un Conseiller de sécurité, c’est celui-ci qui sera utilisé :

  • Coté Jeedom, il vous faut le lien Jeedom-Synology qui s’appelle Synology-API

1ère partie : Explication complète à vertu pédagogique, pas à pas

Envoyer des ordres au Syno

Trouver les commandes à envoyer au routeur

Dans le Tuto Activer/Désactiver WIFI de mon réseau avec Jeedom, il est expliqué comment trouver les commandes à envoyer.

Pour ce tuto, la commande à envoyer pour lancer l’analyse dans le conseiller de sécurité est :

  • Nom de l’API : Core.SecurityScan.Operation
  • Méthode à utiliser : start

Et comme paramètre :

  • &items=ALL

Ajout de cette commande à Jeedom

Pour envoyer un ordre du Syno, il faut ajouter une commande action dans le plugin Synology-API.

  • Lancer Synology-API et cliquer sur le + pour lancer l’assistant

  • Dans API à utiliser, sélectionner Core.SecurityScan.Operation
  • Dans Méthode à utiliser, sélectionner Start
  • Dans autres paramètres, ajouter &items=ALL
  • Attention à ne pas oublier le & au début.
  • cliquer sur Lancer la requête.

L’assistant répond “Requête envoyée et exécutée avec succès !” c’est qu’elle a fonctionné et que le Syno a répondu que la requête était exécutée.

Juste en dessous, l’assistant propose d’enregistrer cette commande pour pouvoir la réutiliser directement ou via un scénario. Remplissez le formulaire et valider l’ajout de la commande

Récupérer des infos du Syno

Sur le principe des requêtes précédentes, on peut questionner le Syno pour obtenir des informations. Pour respecter le langage Jeedom, nous qualifierons ces requêtes de “commandes info”.

Dans la continuité de l’exemple en cours, nous allons questionner le Syno pour récupérer le résultat de l’analyse du conseiller de sécurité.

La manipulation pour trouver ces informations sont identiques à l’explication précédente.

Voici l’API qu’il faut utiliser  :

  • API : SYNO.Core.SecurityScan.Status
  • Méthode à utiliser : System Get

Cette demande renvoie la réponse suivante :

Cocher :

  • toutes les cases failSeverity de chaque section
  • lastScanTime
  • sysProgress

Après avoir ajouté le nouveau device Jeedom qui inclus toutes les commandes, on peut renommer les commandes pour une meilleure compréhension.

A noter qu’il est utile d’utiliser la case “calcul” pour transformer l’information donnée par l’API en date/heure.

Par exemple : date(‘d-m-Y H:i’,#value#)

Améliorer le Widget (v1)

Le champ failSeverity donne une information sous la format d’un mot correspondant à un état : par exemple Safe, Risk, outOfDate, …

Il faudra créer un widget Jeedom pour transformer cet état en logo, voici ce que je propose de créer un Widget :

J’ai choisi de faire trois tests :

  • #value#==”safe” qui affiche fas fa-check-circle icon_green
  • #value#==”risk” qui affiche fas fa-exclamation-circle icon_red
  • #value#==”outOfDate” qui affiche fas fa-exclamation-circle icon_orange
  • #value#==”warning” qui affiche fas fa-exclamation-circle icon_orange
  • #value#==”info” qui affiche fas fa-exclamation-circle icon_blue

Ce widget est donc affecté à toutes les valeurs failSeverity 

Améliorer le Widget (v2)

J’ai laissé le paragraphe précédent car il a une vertu pédagogique pour expliquer les widgets mais depuis, j’ai intégré le widget au sein du plugin.

Ainsi, il suffit tout simplement de choisir le widget Synologyapi/Safe_Risk à chaque commande info :

Fusionner les deux devices en un seul

Le plugin Synology-API est capable de fusionner deux devices pour avoir sur le même device Jeedom les commandes et les infos.

Il suffit pour cela de suivre l’assistant de fusion

Bonus : Avoir l’actualisation en temps réel du résultat du conseiller de sécurité

La commande Lance une analyse demande au Synology de déclencher l’analyse.

Juste après le lancement de cette commande, il faut ajouter le lancement d’un refresh pour actualiser la tuile, cela se fait en cliquant sur l’engrenage à droite au bout de la commande

puis Onglet Configuration, ajouter le Refresh

Cela lancera le premier Refresh, pour la suite, il faut utiliser un scénario.

Le Scénario sera :

Ce scénario sera déclenché par :

Le contenu du scénario sera :

Résultat

2ème partie : Importation direct d’un modèle de Device

Si vous n’avez pas l’âme d’un informaticien et que vous ne souhaitez pas comprendre ce que vous faites, utilisez directement cette seconde partie qui vous donne directement le modèle de Device.

Vous aurez ainsi directement les commandes et les infos qui seront préprogrammées, même les widgets sont inclus vous proposant ainsi une tuile propre et utilisable immédiatement.

Importer un modèle d’équipement

Le plugin Synology-API a intégré une fonctionnalité d’import, il vous suffit juste de cliquer sur le bouton Importer un Modèle, juste sous le nom de l’équipement Synology concerné :

Pour ce device “Wifi”, voici le fichier JSON à importer

Une fois le widget importé, il est opérationnel.

Pour que le widget se mette à jour, il faut y ajouter le bonus de la 1ere partie, suivez ce lien pour ajouter l’automatisation du rafraichissement de la tuile.