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
- http://jeedom.sigalou-domotique.fr/documentssigalou/Conseiller_de_securite.json
- ou au format zip : http://jeedom.sigalou-domotique.fr/documentssigalou/Conseiller_de_securite.zip
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.