Aller au contenu

Messages recommandés

Posté(e) (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é par Cardane
Posté(e)

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

Posté(e)

pour faire le test je l'appelle depuis la callback fonction d'un bouton, qui appelle cette fonction ci

Posté(e)

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()

Posté(e)

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

 

Posté(e)

@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

Posté(e)

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

  • Like 1
Posté(e) (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 :D

Modifié par Cardane
  • Like 2
×
×
  • Créer...