Cardane Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 (modifié) Bonjour à tous, voilà, je suis en train de faire un petit QA dans lequel j'ai simplement besoin (entre autres choses) d'aller récupérer la valeur d'une entré analogique sur mon IPX. J'ai donc le code suivant.... qui ne marche pas... j'ai enlevé toutes les lignes additionnelles pour ne garder que le minimum mais je reçois l'erreur "runtime error : invalid argument" Bon, je ne suis pas bien réveillé certainement parce que je ne vois pas du tout ce qui cloche .... si quelqu'un avec les yeux plus ouverts que moi pouvait me dire ce qui déconne dans ce bout de code :-) merci à tous function QuickApp:onInit() self:debug("onInit") self.http = net.HTTPClient({timeout=3000}) end function QuickApp:getIPXValue () self.http:request("XXX.XXX.XXX.XXX/api/xdevices.json?key=apikey&Get=A", { success = function(response) end, error = function(err) end, options = { method = 'GET' } }) end Modifié le 3 mars 2021 par Cardane
Cardane Posté(e) le 3 mars 2021 Auteur Signaler Posté(e) le 3 mars 2021 salut @Lazer, j'ai essayé avec et sans, même combat.... en fait l'erreur est dans la fonction getIPXValue, mais vu le peu de ligne qu'elle contient, soit je suis aveugle, soit c'est tellement évident que je passe à côté... les messages d'erreur complets : [03.03.2021] [11:38:15] [DEBUG] [QUICKAPP232]: std::runtime_error: 'Invalid argument' [03.03.2021] [11:38:15] [ERROR] [QUICKAPP232]: QuickApp crashed [03.03.2021] [11:38:15] [ERROR] [QUICKAPP232]: Unknown error occurred: handleJsonRpc
Lazer Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 Mais elle est appelée comment cette fonction ?
Cardane Posté(e) le 3 mars 2021 Auteur Signaler Posté(e) le 3 mars 2021 pour faire le test je l'appelle depuis la callback fonction d'un bouton, qui appelle cette fonction ci
Lazer Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 OK mais justement ma question c'est comment tu l'appelles ? La ligne de LUA je veux dire Parce que self:getIPXValue() ce n'est pas pareil que QuickApp:getIPXValue()
Cardane Posté(e) le 3 mars 2021 Auteur Signaler Posté(e) le 3 mars 2021 oops, j'avais pas compris la question, désolé voici le code, c'est via un self:getIPXValue() mais j'ai essayé aussi avec QuickApp:getIPXValue function QuickApp:onInit() self:debug("onInit") self.http = net.HTTPClient() end function QuickApp:btnRefreshOnRelease(event) self:getIPXValue() end function QuickApp:getIPXValue () self:debug("In function call") self.http:request("192.168.1.43/api/xdevices.json?key=apikey&Get=A", { options = { method = "GET" }, success = function(response) end, error = function(err) end }) end
Cardane Posté(e) le 3 mars 2021 Auteur Signaler Posté(e) le 3 mars 2021 @Lazer, mais j'ai aussi essayé en mettant l'appel http dans la fonction d'appel du bouton ou même dans le onInit, avec chaque fois les mêmes messages d'erreur... ca doit être une erreur dans le self.http:request mais je ne vois pas
Cardane Posté(e) le 3 mars 2021 Auteur Signaler Posté(e) le 3 mars 2021 @jang, yesssss, so obvious :-) thanks a lot
Lazer Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 Euh sérieux c'était juste ça, tu n'avais réellement pas mis le http devant ton IP ? de façon générale, il faut que tu penses à inclure les request() dans un pcall pour capturer et traiter l'erreur 1
Cardane Posté(e) le 3 mars 2021 Auteur Signaler Posté(e) le 3 mars 2021 (modifié) oui, c'était juste ca, un copier coller malheureux et ensuite tellement bête que je ne l'ai jamais vu :-) et oui, effectivement, mettre ca dans un pcall j'arrête de picoler le soir Modifié le 3 mars 2021 par Cardane 2
jang Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 Il y a 4 heures, Cardane a dit : j'arrête de picoler le soir Seulement le matin alors? 2 3
Messages recommandés