jjacques68 Posté(e) le 22 juillet 2023 Signaler Posté(e) le 22 juillet 2023 (modifié) Hello tout le monde, j'espère que vous allez bien ! Je rencontre un soucis avec une http:request() avec PushBullet. Depuis quelques temps (semaines), la réponse à la requête http semble avoir changée. avant je faisais ceci pour tester le retour : success = function(response) if response.status == 200 then ... else self:error("error "..response.status) end end et maintenant j'ai une erreur error 1 response.status semble être à 1 et plus à 200 si je fais un debug de response.data, j'ai ceci : HTTP/1.1 200 Content-Type: application/json; charset=utf-8 X-RateLimit-Limit: 131072 X-RateLimit-Remaining: 130794 X-RateLimit-Reset: 1690014525 Content-Length: 2153 Date: Sat, 22 Jul 2023 07:44:00 GMT Via: 1.1 google Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Connection: close {"accounts":[],"blocks":[],"channels":[],"chats":[],"clients":[],"contacts":[],"devices":[{ici les données qui m'intéressent}],"grants":[],"pushes":[],"profiles":[],"subscriptions":[],"texts":[]} on le voit le status 200 au début de la chaine de caractère. J'ai pas d'autres rubriques dans la réponse, que status et data. Mais c'est quoi ce type de status, "1" ? on a "0" si y a une erreur ? Donc je contourne le test de ce status avec : if string.find(response.data, "HTTP/1.1 200") > 0 then mais c'est un peu pourri non !!!? merci pour vos lumières !! EDIT : en fait la réponse est clairement inexploitable, je cherche justement à utiliser la rubrique "devices" du json, mais comme il est noyer dans cette chaine de caractères, je peux rien en faire... une idée ? Modifié le 22 juillet 2023 par jjacques68
Lazer Posté(e) le 23 juillet 2023 Signaler Posté(e) le 23 juillet 2023 C'est très étrange... je ne pense pas avoir jamais vu ça. Tu es en firmware stable ou beta ? Ouvre peut être un dossier auprès du support Fibaro, ça ressemble à un gros bug dans la fonction http:request()
jjacques68 Posté(e) le 23 juillet 2023 Auteur Signaler Posté(e) le 23 juillet 2023 alors j'avais pas pensé à ce que ça provienne de la HC3 ! J'étais plutôt parti sur une modif de PushBullet... Suis toujours en version 5.140.17, j'ai pas fait la dernière update. j'ai contourné le problème en faisant un string.sub() du json, puis en l'exploitant comme il se doit, mais c'est null comme méthode ! je vais poster sur le forum officiel, on verra...
Lazer Posté(e) le 23 juillet 2023 Signaler Posté(e) le 23 juillet 2023 Tu dits que la variable response de la fonction de callback success() est malformée, puisque c'est normalement une table qui contient les 3 variables suivantes : status, data, et headers Vu que status ne contient pas la valeur attendue, c'est donc un bug de cette fonction mise à disposition par la box Fibaro. Si le bug venait du site Web en face, le status serait correct (ou contiendrait une autre valeur que 200, mais sous forme de code HTTP valide : 404, etc), et ce serait la variable data qui serait mal formée.
jjacques68 Posté(e) le 23 juillet 2023 Auteur Signaler Posté(e) le 23 juillet 2023 ah oui il y a le headers encore !! oui donc ça vient de fibaro... je comprends bien, en effet. merci !! suis entrain d'écrire sur le forum officiel
Lazer Posté(e) le 23 juillet 2023 Signaler Posté(e) le 23 juillet 2023 Par contre, ce qui est bien possible, c'est que ça soit la réponse du site Web qui fasse bugger ladite fonction... mais nous n'avons pas les moyens de débugguer ce qui se passe dans les librairies LUA mises à disposition par Fibaro. A noter qu'entre les QA et les Scènes ce n'est pas la même version de LUA... si tu es motivé ça vaut le coup de tester si le comportement est identique.
jjacques68 Posté(e) le 23 juillet 2023 Auteur Signaler Posté(e) le 23 juillet 2023 ça vaut le coup d'essayer, je testerai, mais pas maintenant... Sur le forum officiel , y a un endroit spécifique pour poster ce genre de chose, ou je le mets simplement dans la rubrique HC3 ?
Lazer Posté(e) le 23 juillet 2023 Signaler Posté(e) le 23 juillet 2023 Je ne sais pas trop... dans le doute je posterais dans la section du firmware stable : https://forum.fibaro.com/forum/1501-update-5140/ 1
Messages recommandés