Configuration du plugin SmartThings pour Jeedom

Note
Pour fonctionner, il faut un jeton d’accès à SmartThings.

Modèles et versions compatibles

Tous les appareils compatibles SmartThings qui sont reconnus et ont été ajoutés à l’application SmartThings.
Il faut également que l’appareil communique bien avec SmartThings.
S’il est hors ligne ou mal importé dans SmartThings, les informations ne seront pas remontées.

Dashboard

Configuration du plugin

Après téléchargement du plugin, activez le plugin.

Jeton PAT créé avant décembre 2024

Si vous possédez un jeton avant cette date, la procédure est simplifiée.

Rendez-vous sur https://account.smartthings.com/tokens pour générer un jeton d’accès.

Cliquez sur GENERATE NEW TOKEN :

Saisissez un nom de jeton. (aucune importance)
Cochez :
– Appareils (obligatoire),
– Applications installées (obligatoire si nouveau jeton PAT),
– Scènes (obligatoire si coché dans le plugin),
– Applications (obligatoire si nouveau jeton PAT),
– Lieux (obligatoire),
– Rules (obligatoire si coché dans le plugin),
– Notifications (obligatoire si coché dans le plugin).

Exemple minimal :

Puis cliquez sur Générer un jeton.
Copiez le jeton généré et collez-le dans le plugin SmartThings sur votre Jeedom.
Pensez à cocher la case « Ancien jeton PAT », sinon le plugin considérera que votre jeton n’est valable que 24 heures et créera la SmartApp (voir Jeton PAT créé après décembre 2024)


Sélectionnez un intervalle de rafraîchissement et sauvegardez.
Rendez-vous sur la page des équipements et cliquez sur Synchroniser.

Jeton PAT créé après décembre 2024

Depuis décembre 2024, les jetons PAT générés expirent après 24 heures et sont non renouvelables.
Il n’est donc plus possible de les utiliser plus de 24 heures dans le plugin SmartThings.
SmartThings oblige maintenant les développeurs à créer leur SmartApp afin d’établir une connexion depuis une application tierce via le protocole OAuth.
Le plugin SmartThings permet désormais d’établir ce type de connexion.
Voici la procédure.

Générer un jeton PAT

Rendez-vous sur https://account.smartthings.com/tokens pour générer un jeton d’accès.
Connectez-vous à votre compte Samsung.

Cliquer sur Générer un nouveau jeton.

Entrez un nom et sélectionnez à minima ces droits d’accès : Appareils, Applications installées, Applications, Lieux.
Et cliquez sur Générer un jeton.

Accès externe Jeedom

Il faut absolument que votre Jeedom soit accessible de l’extérieur pour établir la connexion (une fois connecté, plus besoin)
SmartThings oblige à avoir un accès en https (port 443).
Ceci afin de recevoir les requêtes des serveur SmartThings.

Menu Réglages > Système > Configuration > Onglet Réseaux

Connexion

Cliquez sur Se connecter.


1. Une requête est envoyée sur les serveurs SmartThings pour créer une SmartApp (contenant, la Redirect URI de votre Jeedom)
2. Les client_id et client_secret de la SmartApp sont sauvegardés par le plugin.
3. Une requête est envoyée pour demander l’enregistrement de la SmartApp.
4. Les serveurs SmartThings répondent par le lien de Redirect URI fournit en envoyant un lien à valider.
5. Le plugin valide le lien en lui envoyant une requête.
6. Le plugin redirige la page vers une page d’autorisation SmartThings demandant d’autoriser l’application jeedom_plugin_smartthings à accéder au lieu. Sélectionnez votre lieu et cliquez sur Autoriser. Autoriser les appareils, hubs, lieux, rules, scenes que vous voulez partagez au plugin SmartThings (déjà précochés) et cliquez sur Autoriser.
7. Retour automatiquement sur la page de configuration du plugin avec les champs Connexion renseignés (et expiration du jeton à la valeur 86400)

Le jeton d’accès sera alors automatiquement renouvelé, sans refaire toute la procédure ci-dessus.

Sélectionnez un intervalle de rafraîchissement et sauvegardez.
Rendez-vous sur la page des équipements et cliquez sur Synchroniser.

Commande des équipements

Les commandes de chaque équipement sont créées en fonction de chaque équipement pendant la resynchronisation.
Elles sont générées selon les informations envoyées par SmartThings.
Si une information est nulle, la commande n’est pas créée sur Jeedom afin de ne pas polluer l’équipement de commandes inutiles.

Pour chaque appareil :

  • une commande info Santé est créée. Elle retourne l’état de santé de l’appareil. Les états possibles :
"En ligne"
"Malade"
"Hors ligne"
"Connecté"
"Déconnecté"
  • une commande action Rafraîchir les informations est créée. Elle permet de rafraîchir manuellement les informations en récupérant les informations sur SmartThings. Si un appareil est hors ligne, les informations récupérées ne changent pas.
  • en fonction de l’appareil :
    • une commande action Rafraîchir est créée. Elle permet de commander un rafraîchissement des informations entre l’appareil et SmartThings. Le debug du plugin sera plus verbeux après l’envoi de cette commande.
    • une commande info Sous tension est créée. Elle remonte l’état de l’appareil (allumé ou éteint).
    • deux commandes action Action Sous tension On et Off sont créées. Elle permettent d’allumer ou d’éteindre l’appareil à distance.
    • toutes les commandes info et action disponibles non nulles (dépend de l’appareil).

Pages du plugin

  • La page d’accueil du plugin présente de façon organisée les différents appareils présents sur votre compte SmartThings.
  • La page Santé donne des informations générales de chaque appareil.
  • La page équipement de chaque appareil donne des informations d’identification et de présentation de l’appareil.
  • Dans l’onglet Commandes, un bouton Infos brutes permet d’afficher en direct le json de status en provenance de SmartThings. Toutes les informations et les valeurs y figurent.

Loading

5 réflexions sur « Configuration du plugin SmartThings pour Jeedom »

  1. Bonjour,

    Bravo pour ton plugin SmartThings.
    J’ai acheté une CAM 360 chez Aeotec compatible SmartThings.
    J’y suis presque avec ton plugin mais je n’arrive à afficher une image ou video en streaming.

    Serait-il possible de l’intégrer ?

    Merci

Laisser un commentaire

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