bonjour,
j'essaye de comprendre d'ou vient le problème en reprenant le script de Lordgun. Petite précision, je n'y connais vraiment pas grand chose donc fort probable que je fasse fausse route.
Tout d'abord le "heatzy-get-token.lua" ne pose pas de problème, il renouvelle toujours la variable utilisateur "heatzytoken". Donc j'ai un token à jour.
L'API semble donc fonctionner, pour m'en assurer, j'ai repris du script heatzy-get-status.lua la requête POST d'origine pour la tester dans un shell.
Dans le script d'origine on a :
Code : Tout sélectionner
--ligne de commande qui interoge les serveur heatzy pour le retour d'etat
local config=assert(io.popen('curl -X GET --header \'Accept: application/json\' --header \'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3\' \'https://euapi.gizwits.com/app/devdata/'..did..'/latest\''))
qui devient dans le shell
Code : Tout sélectionner
curl -X GET --header 'Accept: application/json' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' 'https://euapi.gizwits.com/app/devdata/MONDID/latest'
mais pour le coup on a une erreur:
Code : Tout sélectionner
{"error_code":9004,"detail_message":null,"error_message":"token invalid!"}%
Je rajoute dans la requête curl le token que le script heatzy-get-token.lua m'a donné:
Et là tout l'état remonte dont notamment le
"mode":"cft"
C'est tout de même étrange que la requête curl du script ne comporte pas le token non ? Donc, j'essaye de la rajouter dans la requête. Tout d'abord, je déclare une nouvelle variable
montoken:
Code : Tout sélectionner
--variable a configurer
did = 'MON DID' --did que l'on a trouvé, on garde les ''
selectorheatzy = 'Heatzy - Salon' --nom de votre inter selecteur qui pilote le heatzy on garde les ''
montoken = 'la valeur de mon token'
puis je rajoute un header token dans la requête curl ce qui donne :
Code : Tout sélectionner
--ligne de commande qui interoge les serveur heatzy pour le retour d'etat
local config=assert(io.popen('curl -X GET --header \'Accept: application/json\' --header \'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3\' --header \'X-Gizwits-User-token: '..montoken..'\' \'https://euapi.gizwits.com/app/devdata/'..did..'/latest\''))
Et là ça marche !!! Le statut remonte et le sélecteur est bien mis à jour.
Par contre et c'est là où je coince, comment déclarer
montoken pour qu'il prenne la valeur de
heatzytoken ?
J'ai bien essayé montoken = heatzytoken mais c'est une valeur nulle qui est attribuée à mon token.
EDIT
J'ai un peu cherché, je ne connais pas du tout lua, et endéclarant de cette manière cela fonctionne
montoken = uservariables['heatzytoken']
J'ai mis des
print un peu partout pour que ca ressorte bien dans les logs et j'ai toute la remonté de la requête curl qui s'affiche.