Non, c’est ton jeedom qui considère que tu est toujours en local/interne.
Essaie en 4G/5G
Mais c’est pareil en 4g, vue que je passe via un VPN
Je suis pourtant bien en https et jeedom est configuré comme tel!
HTTPS et depuis l’url externe ? Pas en ip locale.
oui
https://mondomaine.freeboxos.fr/index.php?v=d&p=plugin&id=smartthings
Là, c’est le core qui détermine ça en fouillant et trouvant la vraie IP du client.
C’est exactement le même code que homeconnect pour se connecter en oauth.
Essaie un autre navigateur…
Si ça ne marche pas, je peux te dire que ça plantera aussi lorsque SmartThings voudra questionner le plugin pour fournir le jeton.
Je viens d’essayer avec un autre et c’est pareil
Je ne sais pas quoi te dire, j’ai fait tout le nécessaire.
J’ai configuré un accès externe en HTTPS, ouvert les ports 80 et 443, et renseigné ces informations dans le core de Jeedom.
J’ai mis DEUX jours à y arriver! J’en peux plus ! lol
Je ne vois pas ce qu’il reste à faire.
Ton jeedom considère que ta vraie IP (de ton PC) est locale et donc refuse parce qu’il faut que la redirection soit depuis un accès externe à ton jeedom. Echages de requêtes : Jeedom => smartthings, puis smartthings => jeedom, Jeedom => smartthings, puis smartthings => jeedom
Si tu considères que jeedom se trompe et que ton jeedom est vraiment accessible depuis l’extérieur, tu peux bidouiller pour forcer : modifie dans /plugins/smartthings/ajax/smartthings.ajax.php la ligne
if (network::getUserLocation() == 'internal') {
en
if (network::getUserLocation() != 'internal') {
Ou es que je dois changer ce code ?
mais ca va marché sur le long terme ca ?
Sinn je comprend pas. Je suis bien en https, avec le certificat valide. Le probleme vient d’ou ?
Dans le fichier
C’est juste pour forcer la Connexion. Une fois le jeton récupéré, le renouvellement est automatique sans accès externe.
Je suis désolé, je suis un peu debutant mais de quel fichier tu parle ?
j’ai une erreur :
« erreur lors de la recuperation du jeton »
Les logs stp ?
[2025-01-30 19:17:13] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/apps METHODE : GET
[2025-01-30 19:17:13] DEBUG : sendRequest - CODE : 200 RESPONSE : {"items":[],"_links":{}}
[2025-01-30 19:17:13] DEBUG : checkAndCreateApp 1 $foundApp= $sameApp=
[2025-01-30 19:17:13] DEBUG : checkAndCreateApp 2 $foundApp=
[2025-01-30 19:17:13] DEBUG : checkAndCreateApp smartapp n'existe pas
[2025-01-30 19:17:13] DEBUG : checkAndCreateApp body {"appName":"jeedom_plugin_smartthings1738261033","displayName":"jeedom_plugin_smartthings","description":"SmartApp API_ONLY for Jeedom plugin.","appType":"API_ONLY","singleInstance":false,"classifications":["CONNECTED_SERVICE","AUTOMATION"],"iconImage":{"url":"https://github.com/Flobul/Jeedom-SmartThings/raw/master/plugin_info/smartthings_icon.png"},"oauth":{"clientName":"my_jeedom","scope":["r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips"],"redirectUris":["https://beausoleil43600.freeboxos.fr/plugins/smartthings/core/php/callback.php?apikey=ZC4hUkDuGjgiVfCTLvCnArSqKrTaX5P4jXOju8Wq0dQA9eMQpsBneVGJc98WqWG0"]},"apiOnly":{"targetUrl":"https://beausoleil43600.freeboxos.fr/plugins/smartthings/core/php/callback.php?apikey=ZC4hUkDuGjgiVfCTLvCnArSqKrTaX5P4jXOju8Wq0dQA9eMQpsBneVGJc98WqWG0"}}
[2025-01-30 19:17:13] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/apps METHODE : POST
[2025-01-30 19:17:13] DEBUG : sendRequest - CODE : 422 RESPONSE : {"requestId":"9163848967454484757","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"oauthScope[r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips]","message":"Invalid scope definition.","details":[]}]}}
[2025-01-30 19:17:13] DEBUG : La requête vers https://api.smartthings.com/v1/apps a retourné un code d'erreur 422 résultat = {"requestId":"9163848967454484757","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"oauthScope[r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips]","message":"Invalid scope definition.","details":[]}]}}
[2025-01-30 19:17:13] DEBUG : Le serveur a compris le type de contenu de la requête et la syntaxe de la requête est correcte, mais le serveur n'a pas été en mesure de réaliser les instructions demandées.
[2025-01-30 19:17:13] DEBUG : checkAndCreateApp $createApp false
[2025-01-30 19:17:21] DEBUG : synchronize - Début de la synchronisation
[2025-01-30 19:17:21] DEBUG : getLocations : début
[2025-01-30 19:17:21] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/locations METHODE : GET
[2025-01-30 19:17:21] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:17:21] DEBUG : La requête vers https://api.smartthings.com/v1/locations a retourné un code d'erreur 401 résultat =
[2025-01-30 19:17:21] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:17:21] DEBUG : getLocations : fin
[2025-01-30 19:17:21] DEBUG : getDevices : début
[2025-01-30 19:17:21] DEBUG : Attention : Le token est expiré, renouvellement de ce dernier
[2025-01-30 19:17:21] DEBUG : tokenData response: {"url":"https:\/\/api.smartthings.com\/oauth\/token","content_type":"application\/json","http_code":401,"header_size":593,"request_size":164,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":0.11994,"namelookup_time":0.00969,"connect_time":0.037305,"pretransfer_time":0.08521,"size_upload":50,"size_download":0,"speed_download":0,"speed_upload":420,"download_content_length":0,"upload_content_length":50,"starttransfer_time":0.085218,"redirect_time":0,"redirect_url":"","primary_ip":"52.17.156.178","certinfo":[],"primary_port":443,"local_ip":"192.168.1.167","local_port":47506,"http_version":3,"protocol":2,"ssl_verifyresult":0,"scheme":"HTTPS","appconnect_time_us":84832,"connect_time_us":37305,"namelookup_time_us":9690,"pretransfer_time_us":85210,"redirect_time_us":0,"starttransfer_time_us":85218,"total_time_us":119940}
[2025-01-30 19:17:21] DEBUG : Erreur lors de l'obtention des jetons.
[2025-01-30 19:17:21] DEBUG : refreshToken fin
[2025-01-30 19:17:21] DEBUG : Attention : Le token est manquant, merci de relancer la connexion manuellement.
[2025-01-30 19:17:21] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices METHODE : GET
[2025-01-30 19:17:21] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:17:21] DEBUG : La requête vers https://api.smartthings.com/v1/devices a retourné un code d'erreur 401 résultat =
[2025-01-30 19:17:21] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:17:21] DEBUG : getDevices : fin
[2025-01-30 19:17:21] DEBUG : synchronize - Fin de la synchronisation
[2025-01-30 19:17:30] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a METHODE : GET
[2025-01-30 19:17:30] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:17:30] DEBUG : La requête vers https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a a retourné un code d'erreur 401 résultat =
[2025-01-30 19:17:30] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:17:30] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/status METHODE : GET
[2025-01-30 19:17:30] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:17:30] DEBUG : La requête vers https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/status a retourné un code d'erreur 401 résultat =
[2025-01-30 19:17:30] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:17:30] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/status METHODE : GET
[2025-01-30 19:17:30] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:17:30] DEBUG : La requête vers https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/status a retourné un code d'erreur 401 résultat =
[2025-01-30 19:17:30] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:04] DEBUG : update : Démarrage du cron * * * * *
[2025-01-30 19:18:04] DEBUG : getHealth : début
[2025-01-30 19:18:04] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/health METHODE : GET
[2025-01-30 19:18:04] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:04] DEBUG : La requête vers https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/health a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:04] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:04] DEBUG : getHealth : fin
[2025-01-30 19:18:04] DEBUG : refresh : début Corentin
[2025-01-30 19:18:04] DEBUG : Attention : Le token est expiré, renouvellement de ce dernier
[2025-01-30 19:18:04] DEBUG : tokenData response: {"url":"https:\/\/api.smartthings.com\/oauth\/token","content_type":"application\/json","http_code":401,"header_size":593,"request_size":164,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":0.127079,"namelookup_time":0.009588,"connect_time":0.037003,"pretransfer_time":0.091147,"size_upload":50,"size_download":0,"speed_download":0,"speed_upload":393,"download_content_length":0,"upload_content_length":50,"starttransfer_time":0.091155,"redirect_time":0,"redirect_url":"","primary_ip":"54.194.238.153","certinfo":[],"primary_port":443,"local_ip":"192.168.1.167","local_port":38740,"http_version":3,"protocol":2,"ssl_verifyresult":0,"scheme":"HTTPS","appconnect_time_us":90883,"connect_time_us":37003,"namelookup_time_us":9588,"pretransfer_time_us":91147,"redirect_time_us":0,"starttransfer_time_us":91155,"total_time_us":127079}
[2025-01-30 19:18:04] DEBUG : Erreur lors de l'obtention des jetons.
[2025-01-30 19:18:04] DEBUG : refreshToken fin
[2025-01-30 19:18:04] DEBUG : Attention : Le token est manquant, merci de relancer la connexion manuellement.
[2025-01-30 19:18:04] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/status METHODE : GET
[2025-01-30 19:18:04] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:04] DEBUG : La requête vers https://api.smartthings.com/v1/devices/3b50e6b1-64d6-ab1c-1292-da12a3171b9a/status a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:04] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:04] DEBUG : getDeviceNotif : début
[2025-01-30 19:18:04] DEBUG : sendRequest - URL : https://api.smartthings.com/notification?deviceId=3b50e6b1-64d6-ab1c-1292-da12a3171b9a METHODE : GET
[2025-01-30 19:18:04] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:04] DEBUG : La requête vers https://api.smartthings.com/notification?deviceId=3b50e6b1-64d6-ab1c-1292-da12a3171b9a a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:04] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:04] DEBUG : getDeviceNotif : fin
[2025-01-30 19:18:04] DEBUG : refresh : fin
[2025-01-30 19:18:04] INFO : update : Fin du cron équipement Corentin en 0.59 secondes
[2025-01-30 19:18:04] DEBUG : getHealth : début
[2025-01-30 19:18:04] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/f686663e-8307-d22c-5ab8-07d09de1e621/health METHODE : GET
[2025-01-30 19:18:04] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:04] DEBUG : La requête vers https://api.smartthings.com/v1/devices/f686663e-8307-d22c-5ab8-07d09de1e621/health a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:04] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:04] DEBUG : getHealth : fin
[2025-01-30 19:18:04] DEBUG : refresh : début Lucas
[2025-01-30 19:18:04] DEBUG : Attention : Le token est expiré, renouvellement de ce dernier
[2025-01-30 19:18:05] DEBUG : tokenData response: {"url":"https:\/\/api.smartthings.com\/oauth\/token","content_type":"application\/json","http_code":401,"header_size":593,"request_size":164,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":0.134532,"namelookup_time":0.010624,"connect_time":0.037682,"pretransfer_time":0.092533,"size_upload":50,"size_download":0,"speed_download":0,"speed_upload":373,"download_content_length":0,"upload_content_length":50,"starttransfer_time":0.092542,"redirect_time":0,"redirect_url":"","primary_ip":"63.33.122.121","certinfo":[],"primary_port":443,"local_ip":"192.168.1.167","local_port":35650,"http_version":3,"protocol":2,"ssl_verifyresult":0,"scheme":"HTTPS","appconnect_time_us":92263,"connect_time_us":37682,"namelookup_time_us":10624,"pretransfer_time_us":92533,"redirect_time_us":0,"starttransfer_time_us":92542,"total_time_us":134532}
[2025-01-30 19:18:05] DEBUG : Erreur lors de l'obtention des jetons.
[2025-01-30 19:18:05] DEBUG : refreshToken fin
[2025-01-30 19:18:05] DEBUG : Attention : Le token est manquant, merci de relancer la connexion manuellement.
[2025-01-30 19:18:05] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/f686663e-8307-d22c-5ab8-07d09de1e621/status METHODE : GET
[2025-01-30 19:18:05] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:05] DEBUG : La requête vers https://api.smartthings.com/v1/devices/f686663e-8307-d22c-5ab8-07d09de1e621/status a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:05] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:05] DEBUG : getDeviceNotif : début
[2025-01-30 19:18:05] DEBUG : sendRequest - URL : https://api.smartthings.com/notification?deviceId=f686663e-8307-d22c-5ab8-07d09de1e621 METHODE : GET
[2025-01-30 19:18:05] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:05] DEBUG : La requête vers https://api.smartthings.com/notification?deviceId=f686663e-8307-d22c-5ab8-07d09de1e621 a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:05] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:05] DEBUG : getDeviceNotif : fin
[2025-01-30 19:18:05] DEBUG : refresh : fin
[2025-01-30 19:18:05] INFO : update : Fin du cron équipement Lucas en 0.56 secondes
[2025-01-30 19:18:05] DEBUG : getHealth : début
[2025-01-30 19:18:05] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/ccc0bab0-7b40-e0e1-c05c-08602567c137/health METHODE : GET
[2025-01-30 19:18:05] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:05] DEBUG : La requête vers https://api.smartthings.com/v1/devices/ccc0bab0-7b40-e0e1-c05c-08602567c137/health a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:05] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:05] DEBUG : getHealth : fin
[2025-01-30 19:18:05] DEBUG : refresh : début Salle de jeux
[2025-01-30 19:18:05] DEBUG : Attention : Le token est expiré, renouvellement de ce dernier
[2025-01-30 19:18:05] DEBUG : tokenData response: {"url":"https:\/\/api.smartthings.com\/oauth\/token","content_type":"application\/json","http_code":401,"header_size":593,"request_size":164,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":0.11867,"namelookup_time":0.010373,"connect_time":0.037865,"pretransfer_time":0.082216,"size_upload":50,"size_download":0,"speed_download":0,"speed_upload":423,"download_content_length":0,"upload_content_length":50,"starttransfer_time":0.082225,"redirect_time":0,"redirect_url":"","primary_ip":"54.194.238.153","certinfo":[],"primary_port":443,"local_ip":"192.168.1.167","local_port":38742,"http_version":3,"protocol":2,"ssl_verifyresult":0,"scheme":"HTTPS","appconnect_time_us":81901,"connect_time_us":37865,"namelookup_time_us":10373,"pretransfer_time_us":82216,"redirect_time_us":0,"starttransfer_time_us":82225,"total_time_us":118670}
[2025-01-30 19:18:05] DEBUG : Erreur lors de l'obtention des jetons.
[2025-01-30 19:18:05] DEBUG : refreshToken fin
[2025-01-30 19:18:05] DEBUG : Attention : Le token est manquant, merci de relancer la connexion manuellement.
[2025-01-30 19:18:05] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/devices/ccc0bab0-7b40-e0e1-c05c-08602567c137/status METHODE : GET
[2025-01-30 19:18:05] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:05] DEBUG : La requête vers https://api.smartthings.com/v1/devices/ccc0bab0-7b40-e0e1-c05c-08602567c137/status a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:05] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:05] DEBUG : getDeviceNotif : début
[2025-01-30 19:18:05] DEBUG : sendRequest - URL : https://api.smartthings.com/notification?deviceId=ccc0bab0-7b40-e0e1-c05c-08602567c137 METHODE : GET
[2025-01-30 19:18:05] DEBUG : sendRequest - CODE : 401 RESPONSE :
[2025-01-30 19:18:05] DEBUG : La requête vers https://api.smartthings.com/notification?deviceId=ccc0bab0-7b40-e0e1-c05c-08602567c137 a retourné un code d'erreur 401 résultat =
[2025-01-30 19:18:05] DEBUG : Une authentification est nécessaire pour accéder à la ressource.
[2025-01-30 19:18:05] DEBUG : getDeviceNotif : fin
[2025-01-30 19:18:05] DEBUG : refresh : fin
[2025-01-30 19:18:05] INFO : update : rafraîchissement du widget smartthings.default.html
[2025-01-30 19:18:05] INFO : update : Fin du cron équipement Salle de jeux en 0.57 secondes
[2025-01-30 19:18:05] DEBUG : update : fin
[2025-01-30 19:18:25] DEBUG : Début checkAndCreateApp
[2025-01-30 19:18:25] DEBUG : Étape 1
[2025-01-30 19:18:25] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/apps METHODE : GET
[2025-01-30 19:18:25] DEBUG : sendRequest - CODE : 200 RESPONSE : {"items":[],"_links":{}}
[2025-01-30 19:18:25] DEBUG : checkAndCreateApp 1 $foundApp= $sameApp=
[2025-01-30 19:18:25] DEBUG : checkAndCreateApp 2 $foundApp=
[2025-01-30 19:18:25] DEBUG : checkAndCreateApp smartapp n'existe pas
[2025-01-30 19:18:25] DEBUG : checkAndCreateApp body {"appName":"jeedom_plugin_smartthings1738261105","displayName":"jeedom_plugin_smartthings","description":"SmartApp API_ONLY for Jeedom plugin.","appType":"API_ONLY","singleInstance":false,"classifications":["CONNECTED_SERVICE","AUTOMATION"],"iconImage":{"url":"https://github.com/Flobul/Jeedom-SmartThings/raw/master/plugin_info/smartthings_icon.png"},"oauth":{"clientName":"my_jeedom","scope":["r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips"],"redirectUris":["https://beausoleil43600.freeboxos.fr/plugins/smartthings/core/php/callback.php?apikey=ZC4hUkDuGjgiVfCTLvCnArSqKrTaX5P4jXOju8Wq0dQA9eMQpsBneVGJc98WqWG0"]},"apiOnly":{"targetUrl":"https://beausoleil43600.freeboxos.fr/plugins/smartthings/core/php/callback.php?apikey=ZC4hUkDuGjgiVfCTLvCnArSqKrTaX5P4jXOju8Wq0dQA9eMQpsBneVGJc98WqWG0"}}
[2025-01-30 19:18:25] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/apps METHODE : POST
[2025-01-30 19:18:26] DEBUG : sendRequest - CODE : 422 RESPONSE : {"requestId":"5767867593529204054","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"oauthScope[r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips]","message":"Invalid scope definition.","details":[]}]}}
[2025-01-30 19:18:26] DEBUG : La requête vers https://api.smartthings.com/v1/apps a retourné un code d'erreur 422 résultat = {"requestId":"5767867593529204054","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"oauthScope[r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips]","message":"Invalid scope definition.","details":[]}]}}
[2025-01-30 19:18:26] DEBUG : Le serveur a compris le type de contenu de la requête et la syntaxe de la requête est correcte, mais le serveur n'a pas été en mesure de réaliser les instructions demandées.
[2025-01-30 19:18:26] DEBUG : checkAndCreateApp $createApp false
[2025-01-30 19:18:40] DEBUG : Début checkAndCreateApp
[2025-01-30 19:18:40] DEBUG : Étape 1
[2025-01-30 19:18:40] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/apps METHODE : GET
[2025-01-30 19:18:41] DEBUG : sendRequest - CODE : 200 RESPONSE : {"items":[],"_links":{}}
[2025-01-30 19:18:41] DEBUG : checkAndCreateApp 1 $foundApp= $sameApp=
[2025-01-30 19:18:41] DEBUG : checkAndCreateApp 2 $foundApp=
[2025-01-30 19:18:41] DEBUG : checkAndCreateApp smartapp n'existe pas
[2025-01-30 19:18:41] DEBUG : checkAndCreateApp body {"appName":"jeedom_plugin_smartthings1738261121","displayName":"jeedom_plugin_smartthings","description":"SmartApp API_ONLY for Jeedom plugin.","appType":"API_ONLY","singleInstance":false,"classifications":["CONNECTED_SERVICE","AUTOMATION"],"iconImage":{"url":"https://github.com/Flobul/Jeedom-SmartThings/raw/master/plugin_info/smartthings_icon.png"},"oauth":{"clientName":"my_jeedom","scope":["r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips"],"redirectUris":["https://beausoleil43600.freeboxos.fr/plugins/smartthings/core/php/callback.php?apikey=ZC4hUkDuGjgiVfCTLvCnArSqKrTaX5P4jXOju8Wq0dQA9eMQpsBneVGJc98WqWG0"]},"apiOnly":{"targetUrl":"https://beausoleil43600.freeboxos.fr/plugins/smartthings/core/php/callback.php?apikey=ZC4hUkDuGjgiVfCTLvCnArSqKrTaX5P4jXOju8Wq0dQA9eMQpsBneVGJc98WqWG0"}}
[2025-01-30 19:18:41] DEBUG : sendRequest - URL : https://api.smartthings.com/v1/apps METHODE : POST
[2025-01-30 19:18:41] DEBUG : sendRequest - CODE : 422 RESPONSE : {"requestId":"5582038665858714083","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"oauthScope[r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips]","message":"Invalid scope definition.","details":[]}]}}
[2025-01-30 19:18:41] DEBUG : La requête vers https://api.smartthings.com/v1/apps a retourné un code d'erreur 422 résultat = {"requestId":"5582038665858714083","error":{"code":"ConstraintViolationError","message":"The request is malformed.","details":[{"code":"NotValidValue","target":"oauthScope[r:locations:*,w:customcapability,x:rules:*,r:customcapability,w:rules:*,w:installedapps:*,r:installedapps:*,r:audiovideo:images,r:schedules,w:deviceprofiles,r:rules:*,x:devices:*,l:devices,w:locations:*,x:locations:*,r:channels:*,r:deviceprofiles,w:audiovideo:images,w:invitations,l:installedapps,r:audiovideo:clips,r:scenes:*,w:schedules,x:notifications:*,r:audiovideo:streams,x:scenes:*,w:channels:*,r:invitations,w:audiovideo:streams,r:drivers:*,r:devices:*,w:devices:*,w:drivers:*,l:scenes,r:apps:*,w:apps:*,w:audiovideo:clips]","message":"Invalid scope definition.","details":[]}]}}
[2025-01-30 19:18:41] DEBUG : Le serveur a compris le type de contenu de la requête et la syntaxe de la requête est correcte, mais le serveur n'a pas été en mesure de réaliser les instructions demandées.
[2025-01-30 19:18:41] DEBUG : checkAndCreateApp $createApp false
wow, c’est quoi ces scopes.
Par défaut, j’ai mis que 'r:hubs:* r:locations:* r:rules:* r:scenes:* x:devices:* w:rules:* w:locations:* w:devices:* r:devices:* x:locations:* x:scenes:*
, mais tu sembles avoir ajouté manuellement les autres.
Pourtant, ton screen n’en indique pas plus, je ne comprends pas
Oui, il fallait pas ?
Bon, j’ai relancé après manger et cette fois, la connexion a fonctionné ! Je viens de modifier les scop et de relancer un scan. La recherche est en cours, et j’ai l’impression que ça fonctionne.
Si, mais il y a une erreur dans la saisie :