Tutoriel 2 : Les échanges de COM entre eedomus et Jeedom
07/01/2017
Faire la lecture d'un état ou une température eedomus depuis Jeedom
- D'abord, identifier l'id de l'état ou de la température que vous souhaitez lire dans eedomus. Pour rappel, l'id se trouve dans la fiche configuration, onglet expert.
- D'abord, identifier l'id de l'état ou de la température que vous souhaitez lire dans eedomus. Pour rappel, l'id se trouve dans la fiche configuration, onglet expert.
- Installer ensuite le plugin "Script" dans Jeedom.
- Enfin, créez un script et le nommez-le
- Enfin, créez un script et le nommez-le
Vous pouvez créer autant de scripts que vous souhaitez.
Maintenant, je vous propose deux possibilités :
- La 1ère est classique et fonctionne toute seule sans l'aide d'un script.
- La 2ème elle fonctionne avec un script car j'ai remarqué que la 1ère méthode ne fonctionnait pas toujours.
Maintenant, je vous propose deux possibilités :
- La 1ère est classique et fonctionne toute seule sans l'aide d'un script.
- La 2ème elle fonctionne avec un script car j'ai remarqué que la 1ère méthode ne fonctionnait pas toujours.
1ère méthode :
Dans ce script faites "ajouter une commande" :
Attribuer-lui un nom : Au choix
Associer type Script : JSON
Type (en fonction de la valeur que vous souhaitez récupérer) : Info / Numérique ou Autre ou Binaire
Requête : body>last_value
Option : http://192.168.0.x/api/get?api_user=xxxxxx&api_secret=xxxxxxxxxxxxxxxxxxxxxxxx&action=periph.caract&periph_id=xx
Dans Time out saisir : 10s
Essai au maximum saisir : 2
Sauvegarder et Tester
Dans ce script faites "ajouter une commande" :
Attribuer-lui un nom : Au choix
Associer type Script : JSON
Type (en fonction de la valeur que vous souhaitez récupérer) : Info / Numérique ou Autre ou Binaire
Requête : body>last_value
Option : http://192.168.0.x/api/get?api_user=xxxxxx&api_secret=xxxxxxxxxxxxxxxxxxxxxxxx&action=periph.caract&periph_id=xx
Dans Time out saisir : 10s
Essai au maximum saisir : 2
Sauvegarder et Tester
2ème méthode :
Dans ce script faites "ajouter une commande" :
Attribuer-lui un nom : Au choix
Associer type Script : Script
Type (en fonction de la valeur que vous souhaitez récupérer) : Info / Numérique ou Autre ou Binaire
Maintenant, téléchargez cette archive qui contient le script :
Dans ce script faites "ajouter une commande" :
Attribuer-lui un nom : Au choix
Associer type Script : Script
Type (en fonction de la valeur que vous souhaitez récupérer) : Info / Numérique ou Autre ou Binaire
Maintenant, téléchargez cette archive qui contient le script :
geteedomusvalue.py.zip |
Ensuite :
- décompressez l'archive
- ouvrez le fichier avec un éditeur de texte comme Bloc Notes sur Windows ou TextEdit sur Mac.
- modifiez les lignes en faisant attention à laisser les guillemets :
- IPadress : mettez ici l'adresse ip locale de votre Box eedomus
- api_user : mettez ici votre api user
- api_secret : mettez ici votre api secret
- enregistrez le fichier
- copiez l'intégralité du contenu du fichier
Retournez dans Jeedom :
- appuyez sur le bouton "Nouveau"
- mettez le nom suivant : "geteedomusvalue.py"
- collez dans la fenêtre qui s'affiche l'intégralité du contenu du script téléchargé précédemment
- Enregistrez
Par la suite, ajoutez au bout de la ligne l'ID du périphérique, celui dont vous voulez récupérer la valeur.
Ajoutez un espace avant de mettre l'ID.
Vous devriez avoir dans le champ "Requête" :
/var/www/html/plugins/script/core/ressources/geteedomusvalue.py IDduperipheedomus
Ensuite, enregistrez le tout, puis cliquez sur le bouton "Tester" (à la fin de la ligne) pour voir ci cela fonctionne.
Remarque :
Si vous le souhaitez, en fonction du Type que vous avez précisé, vous pouvez ajouter une unité ou encore une valeur minimum et maximum.
Pour récupérer d'autres valeurs :
Pour récupérer d'autres valeurs, il vous suffit de dupliquer la ligne, et de modifier l'ID du périphérique eedomus.
Il n'est donc pas nécessaire de ré-importer à chaque fois le script dans Jeedom.
Si vous souhaitez modifier par la suite, l'adresse IP, l'api user ou l'api secret, cliquez sur le bouton "Editer" dans Jeedom afin de vous rendre sur l'interface d'édition du script.
- décompressez l'archive
- ouvrez le fichier avec un éditeur de texte comme Bloc Notes sur Windows ou TextEdit sur Mac.
- modifiez les lignes en faisant attention à laisser les guillemets :
- IPadress : mettez ici l'adresse ip locale de votre Box eedomus
- api_user : mettez ici votre api user
- api_secret : mettez ici votre api secret
- enregistrez le fichier
- copiez l'intégralité du contenu du fichier
Retournez dans Jeedom :
- appuyez sur le bouton "Nouveau"
- mettez le nom suivant : "geteedomusvalue.py"
- collez dans la fenêtre qui s'affiche l'intégralité du contenu du script téléchargé précédemment
- Enregistrez
Par la suite, ajoutez au bout de la ligne l'ID du périphérique, celui dont vous voulez récupérer la valeur.
Ajoutez un espace avant de mettre l'ID.
Vous devriez avoir dans le champ "Requête" :
/var/www/html/plugins/script/core/ressources/geteedomusvalue.py IDduperipheedomus
Ensuite, enregistrez le tout, puis cliquez sur le bouton "Tester" (à la fin de la ligne) pour voir ci cela fonctionne.
Remarque :
Si vous le souhaitez, en fonction du Type que vous avez précisé, vous pouvez ajouter une unité ou encore une valeur minimum et maximum.
Pour récupérer d'autres valeurs :
Pour récupérer d'autres valeurs, il vous suffit de dupliquer la ligne, et de modifier l'ID du périphérique eedomus.
Il n'est donc pas nécessaire de ré-importer à chaque fois le script dans Jeedom.
Si vous souhaitez modifier par la suite, l'adresse IP, l'api user ou l'api secret, cliquez sur le bouton "Editer" dans Jeedom afin de vous rendre sur l'interface d'édition du script.
Envoyer une commande depuis Jeedom vers un actionneur rattaché à eedomus
Idem qu'avant , pré-identifier l'id de l'actionneur à contrôler dans eedomus,
Ajouter une nouvelle commande dans le script créé précédemment (ou créer un nouveau script)
Attribuer-lui un nom : Au choix
Associer type Script : HTTP
Type : Action / Defaut
Requête : http://192.168.0.x/api/set?api_user=xxxxxxx&api_secret=xxxxxxxxxxxxxx&action=periph.value&periph_id=xxxxxx&value=x (Value = 0, 1, 10, 100, etc... en fonction de la sortie souhaitée)
Dans Time out saisir : 2s
Sauvegarder et Tester
Envoyer une commande depuis eedomus pour activer un Scénario Jeedom
- Répérer tout d'abord le n° ID du périphérique ou d'une commande scénario de jeedom. l'id que vous allez déclencher depuis eedomus.
Exemple : Cet id peut être la commande d'une sortie relais dans le plugin jeeduino, une touche TV dans le plugin TVPhilips, etc....
La photo ci-dessous illustre lla désactivation du relais. Vous noterez que dans jeedom il n'y pas de commande Stop ou Start pour le basculement du relais. Il vous faudra créer deux commandes distincts donc 2 scénarios, soit 2 id.
- Répérer tout d'abord le n° ID du périphérique ou d'une commande scénario de jeedom. l'id que vous allez déclencher depuis eedomus.
Exemple : Cet id peut être la commande d'une sortie relais dans le plugin jeeduino, une touche TV dans le plugin TVPhilips, etc....
La photo ci-dessous illustre lla désactivation du relais. Vous noterez que dans jeedom il n'y pas de commande Stop ou Start pour le basculement du relais. Il vous faudra créer deux commandes distincts donc 2 scénarios, soit 2 id.
- Créer ensuite l'Actionneur HTTP correspondant dans eedomus
- Dans cet actionneur, créer autant de lignes de commande que vous souhaitez (ex ci-dessous)
Saisissez ensuite :
Dans URL : http://[IP_Locale_Jeedom]/core/api/jeeApi.php
Type : GET
Paramètres pour un scénario créé dans Jeedom :
?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&type=scenario&id=12&action=start
Sauvegarder et Tester
La photo ci-dessous illustre l'activation et la désactivation du relais. Activation scénario 11 ou 12.
- Dans cet actionneur, créer autant de lignes de commande que vous souhaitez (ex ci-dessous)
Saisissez ensuite :
Dans URL : http://[IP_Locale_Jeedom]/core/api/jeeApi.php
Type : GET
Paramètres pour un scénario créé dans Jeedom :
?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&type=scenario&id=12&action=start
Sauvegarder et Tester
La photo ci-dessous illustre l'activation et la désactivation du relais. Activation scénario 11 ou 12.
Envoyer une commande depuis eedomus pour activer une action Jeedom
La commande est assez similaire à celle ci dessus, mais il y a néanmoins quelques différences.
- Répérer tout d'abord le n° ID du périphérique ou d'une commande de jeedom. L'id que vous allez déclencher depuis eedomus.
Exemple : Cet id peut être la commande d'une sortie relais dans le plugin jeeduino, une touche TV dans le plugin TVPhilips, etc....
Les photos ci-dessous illustrent l'emplacement d'un ID.
La commande est assez similaire à celle ci dessus, mais il y a néanmoins quelques différences.
- Répérer tout d'abord le n° ID du périphérique ou d'une commande de jeedom. L'id que vous allez déclencher depuis eedomus.
Exemple : Cet id peut être la commande d'une sortie relais dans le plugin jeeduino, une touche TV dans le plugin TVPhilips, etc....
Les photos ci-dessous illustrent l'emplacement d'un ID.
- Créer ensuite l'Actionneur HTTP correspondant dans eedomus
- Dans cet actionneur, créer autant de lignes de commande que vous souhaitez (ex ci-dessous)
Saisissez ensuite :
Dans URL : http://[IP_Locale_Jeedom]/core/api/jeeApi.php
Type : GET
Paramètres pour un scénario créé dans Jeedom :
?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&type=cmd&id=1205
Sauvegarder et Tester
- Dans cet actionneur, créer autant de lignes de commande que vous souhaitez (ex ci-dessous)
Saisissez ensuite :
Dans URL : http://[IP_Locale_Jeedom]/core/api/jeeApi.php
Type : GET
Paramètres pour un scénario créé dans Jeedom :
?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&type=cmd&id=1205
Sauvegarder et Tester
Récupérer une valeur de Jeedom pour l'envoyer sur eedomus
Cette méthode consiste à faire en sorte que Jeedom envoie une donnée à eedomus uniquement quand cette dernière change.
- Créez un état sur eedomus avec comme Usage : Autre Indicateur (Capteur), réglez le type de donnés que vous souhaitez et enfin, récupérez le lien API comme ceci :
Les photos ci dessous montrent les étapes à suivre.
Cette méthode consiste à faire en sorte que Jeedom envoie une donnée à eedomus uniquement quand cette dernière change.
- Créez un état sur eedomus avec comme Usage : Autre Indicateur (Capteur), réglez le type de donnés que vous souhaitez et enfin, récupérez le lien API comme ceci :
- Cliquez sur la Clé à côté de l'API qui se trouve dans "Paramètres Expert"
- Entrez le mot de passe de votre compte eedomus
- Réglez "Destination" sur "Local"
- Réglez "Direction" sur "SET"
- Réglez "Action" sur "periph.value"
- Réglez "Valeur" sur vide
- Mettez le lien API obtenu de côté
Les photos ci dessous montrent les étapes à suivre.
Ensuite rendez vous sur Jeedom, dans le périphérique dont vous souhaitez envoyer la valeur à eedomus.
Une fois entré dans la page de configuration du périphérique, allez dans le menu "Commandes" et allez dans les paramètres de l'info que vous souhaitez envoyer à eedomus (roue crantée voir image ci dessous).
Maintenant allez dans le menu "Configuration" et descendez tout en bas dans la section "Autres".
Mettez "Gestion de la répétition des valeurs" sur : "Automatique"
Collez le lien que vous aviez récupéré dans eedomus et collez le dans "Push URL", et rajoutez y à la fin : #value#
Voici le lien au final :
http://XXX.XXX.XXX.XXX/api/set?api_user=YYYYYYY&api_secret=ZZZZZZZZZZZZZZZZ&action=periph.value&periph_id=690157&value=#value#
Syntaxe : lien_eedomus#value#
Pour finir, sauvegardez en remontant tout en haut de l'interface de configuration, quittez l'interface de configuration, et sauvegardez le périphérique.
Les photos ci dessous présentent les différentes étapes à suivre dans Jeedom.
Une fois entré dans la page de configuration du périphérique, allez dans le menu "Commandes" et allez dans les paramètres de l'info que vous souhaitez envoyer à eedomus (roue crantée voir image ci dessous).
Maintenant allez dans le menu "Configuration" et descendez tout en bas dans la section "Autres".
Mettez "Gestion de la répétition des valeurs" sur : "Automatique"
Collez le lien que vous aviez récupéré dans eedomus et collez le dans "Push URL", et rajoutez y à la fin : #value#
Voici le lien au final :
http://XXX.XXX.XXX.XXX/api/set?api_user=YYYYYYY&api_secret=ZZZZZZZZZZZZZZZZ&action=periph.value&periph_id=690157&value=#value#
Syntaxe : lien_eedomus#value#
Pour finir, sauvegardez en remontant tout en haut de l'interface de configuration, quittez l'interface de configuration, et sauvegardez le périphérique.
Les photos ci dessous présentent les différentes étapes à suivre dans Jeedom.
Rappel
La clé API de jeedom se trouve dans le menu configuration
La clé API de jeedom se trouve dans le menu configuration