Bonjour, le tag « plugin-connexoon » sur ce plugin n’existe pas il s’agit du plugin en Beta de Connexoon de benjamin pevrot @benjamin.prevot
Ce plugin Jeedom permet de piloter les volets roulants à partir de la box [Connexoon de Somfy]. Il utilise l’API mise à disposition ici https://developer.somfy.com/.
Comme indiqué dans la documentation du plugin, j’ai crée une application sur le site de développeur de SOMFY. Je récupère bien mes 2 clés de connexion. Mais quand je vais dans le plugin et que je cherche à autoriser le plugin à se connecter au serveur Somfy, je pense que l’autorisation auth2 échoue (j’ai essayé avec l’url Local et l’url dns).
Dans la fenêtre popup d’identification de Somfy ca me met :
en retour quand on valide
et réponse dans la fenetre
{« error »:« redirect_uri_mismatch »,« error_description »:« The redirect URI provided does not match registered URI(s). »}
Pour les Logs du plugin en debug
[2020-10-02 09:41:59][INFO] : Début d'activation du plugin
[2020-10-02 09:42:00][INFO] : Info sur le démon : {"launchable_message":"","launchable":"nok","state":"nok","log":"nok","auto":0}
[2020-10-02 09:42:14][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:14][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:14][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:14][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:14][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:14][ERROR] : [Somfy] GET - https://api.somfy.com/api/v1/site - Number of tries exceeded
[2020-10-02 09:42:31][DEBUG] : [benjaminprevotConnexoon] Synchronize devices
[2020-10-02 09:42:31][DEBUG] : [Somfy] Get sites list
[2020-10-02 09:42:31][DEBUG] : [Somfy] Call https://api.somfy.com/api/v1/site - try 5
[2020-10-02 09:42:31][DEBUG] : [HTTP] GET - https://api.somfy.com/api/v1/site - Status: 401 - Body:
[2020-10-02 09:42:31][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:31][DEBUG] : [Somfy] Call https://api.somfy.com/api/v1/site - try 4
[2020-10-02 09:42:31][DEBUG] : [HTTP] GET - https://api.somfy.com/api/v1/site - Status: 401 - Body:
[2020-10-02 09:42:31][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:31][DEBUG] : [Somfy] Call https://api.somfy.com/api/v1/site - try 3
[2020-10-02 09:42:32][DEBUG] : [HTTP] GET - https://api.somfy.com/api/v1/site - Status: 401 - Body:
[2020-10-02 09:42:32][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:32][DEBUG] : [Somfy] Call https://api.somfy.com/api/v1/site - try 2
[2020-10-02 09:42:32][DEBUG] : [HTTP] GET - https://api.somfy.com/api/v1/site - Status: 401 - Body:
[2020-10-02 09:42:32][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:32][DEBUG] : [Somfy] Call https://api.somfy.com/api/v1/site - try 1
[2020-10-02 09:42:32][DEBUG] : [HTTP] GET - https://api.somfy.com/api/v1/site - Status: 401 - Body:
[2020-10-02 09:42:32][WARNING] : [Somfy] Code received 401 - retry
[2020-10-02 09:42:32][DEBUG] : [Somfy] Call https://api.somfy.com/api/v1/site - try 0
[2020-10-02 09:42:32][ERROR] : [Somfy] GET - https://api.somfy.com/api/v1/site - Number of tries exceeded
Petit update je viens de regarder le code pour trouver pourquoi ca n’envoyé pas la bonne url et sur la partie authentification pour la function getToken et getAuthUrl
en remplaçant la première partie pour avoir le https cela fonctionne, je récupère bien le Token et la synchronisation ce fait et je récupère mon équipement
Par contre je ne peux pas renommer l’équipement ni les commandes. On ne peut donc pas changer les parametres types des commandes. Et je pense qu’il manque le retour d’état du positionnement du volet on a que l’action sur le positionnement qui est en action / others. Mais on peut piloter le volet.
Les génériques des commandes ne sont pas remplis il faudrait les rajouter dans la function addCommand.
Pour le widget par contre les commandes se superpose sur le dashboard
Une mise à jour du plugin a été faite ce matin mais la connexion n’a pas été corrigée. Quelqu’un à une idée de savoir comment on pourrait contacter le développeur du plugin Benjamin prévot ?
Autre remarque une fois qu’un équipement est crée on ne peut pas le supprimer.
Comme le plugin est encore en beta le tag n’existe pas c’est donc normal que tu n’y arrive pas et pour créer un tag plugin-connexoon il faut qu’il présente son plugin
J’ai mis le code que cela génère dans mon premier message, on voit bien qu’il ne prends pas le https dans le cas d’une connexion en dns ce qui est mon cas.
J’ai remplacé dans le code pour que cela fonctionne ceci
Pour les équipements crées on devrait pouvoir modifier le nom, supprimer celui-ci
Pour la création des commandes il faudrait aussi qu’elle soit totalement éditable (ajout, suppression, modification)
Remplir les génériques à la création des commandes tu pourrais faire cela pour le slider, open, close, stop avec
Le mieux est de s’inspirer de plugin qui font bien les créations de commande car je ne sais pas si il y a une documentation qui indique tous les génériques possible, …
LA seule que je connais est celle la https://doc.jeedom.com/fr_FR/dev/tutorial_plugin
J’ai testé ta solution pour l’authentification mais elle ne fonctionne pas pour moi.
Pour être sûr que l’URL de callback est bonne, j’ai pensé ajouter une zone avec cette URL qu’il suffit de recopier dans la console de dev Somfy (dans l’écran de config de mon plugin).
Si ça te va, je pushe la modification et tu pourrais faire le test en copiant cette valeur ?
Je vais faire quelques recherches pour tes autres remarques.
Bizarre, tu es sur quelle version de Jeedom / Debian ? Tu as bien configuré la partie réseau de ton Jeedom car cela prends les informations à ce niveaux, la fonction marche pour internal ou external
C’est pour cette raison je pense que cela ne fonctionne pas chez toi car cette fonction utilise cette partie. dans to ncas si tu as que le local de rempli ca doit etre network::getNetworkAccess(‹ internal ›)
C’est pour ça que je n’ai pas utilisé network::getNetworkAccess(…), car il faut que l’URL de callback soit celle correspondant à l’accès en cours de l’utilisateur.
D’où l’ajout de la callback à renseigner dans l’admin du plugin pour éviter les problèmes lors de la configuration.
Bonjour,
C’est un peu obscur pour moi l’url de retour à renseigner sur app somfy.
J’ai essayé plusieurs formes sans réussir.
L’adresse externe de ma jeedom est : https://xxxxxxx.dns5.jeedom.com/index.php
est ce que c’est ça qu’il faut mettre ?
Comme en plus on a un retour d’erreur [Somfy] GET - https://api.somfy.com/api/v1/site - Number of tries exceeded je vais attendre d’avoir à nouveau le droit d’appeler l’api.
Je suppose que tant que Token exist n’est pas ok ce n’est pas la peine de synchroniser ?
Cordialement
Heddy