manuxenon Posté(e) le 18 avril 2021 Signaler Posté(e) le 18 avril 2021 Bonjour. J'essais de récupérer les ids d'une zone d'alarme avec la fonction : local essai = api.get("/api/alarms/v1/partitions/" .. id) A chaque fois, j'ai un retour vide. J'ai aussi essayé aussi avec la méthode http = net.HTTPClient(). Avez-vous une idée ? Merci.
Lazer Posté(e) le 18 avril 2021 Signaler Posté(e) le 18 avril 2021 Il ne faut pas mettre /api dans la fonction api.get() Donc : api.get("/alarms/v1/partitions/" .. id)
manuxenon Posté(e) le 18 avril 2021 Auteur Signaler Posté(e) le 18 avril 2021 Bon, j'ai encore un problème. J'ai une erreur pour remplir la variable du QA : [18.04.2021] [23:12:23] [DEBUG] [QUICKAPP289]: no static 'properties' in class 'QuickApp' [18.04.2021] [23:12:23] [ERROR] [QUICKAPP289]: QuickApp crashed [18.04.2021] [23:12:23] [ERROR] [QUICKAPP289]: Unknown error occurred: handleJsonRpc J'ai essayé de la supprimer et de la recréer, mais rien ni fait. function QuickApp:IDsAlarm(id) local liste = tostring("") local nombre = 0 local listeID = api.get("/alarms/v1/partitions/" .. id) -- Recupére les "devices" du json de listeID for key,value in pairs(listeID.devices) do -- print(key,value) -- key = numéro de la valeur & value = valeur à récupérer (ID) liste = liste .. "," .. value if key == 1 then liste = value end nombre = key end local liste = "[" .. liste .. "]" print("Nombre d'ID :", nombre, " - Liste : ",liste) self:setVariable("PA_Sensors", liste) end
manuxenon Posté(e) le 19 avril 2021 Auteur Signaler Posté(e) le 19 avril 2021 Bonjour. J'ai créé une variable globale, en dépannage. Ca fonctionne sans problème. Si quelqu'un a une idée, je suis preneur pour la variable du QA. Merci.
Lazer Posté(e) le 19 avril 2021 Signaler Posté(e) le 19 avril 2021 C'est bizarre, il faudrait que tu mettes des traces de debug un peu partout dans ton code, car en l'état je n'ai aucune idée de la ligne qui a provoqué le plantage.
manuxenon Posté(e) le 19 avril 2021 Auteur Signaler Posté(e) le 19 avril 2021 (modifié) J'ai tout commenté. Il ne reste que ca : function QuickApp:onInit() self:debug("Initialisation") end function QuickApp:IDsAlarm(idAlarme) local liste = tostring("") local nombre = 0 local listeID = api.get("/alarms/v1/partitions/" .. idAlarme) -- Recupére les "devices" du json de listeID for key,value in pairs(listeID.devices) do -- print(key,value) -- key = numéro de la valeur & value = valeur à récupérer (ID) liste = liste .. "," .. value if key == 1 then liste = value end nombre = key end local liste = "[" .. liste .. "]" print("liste",liste) self:setVariable("PA_Sensors", liste) -- NE FONCTIONNE PAS -- fibaro.setGlobalVariable("PA_Sensors", liste) end function QuickApp:btnJour() QuickApp:IDsAlarm(2) end function QuickApp:btnNuit() print("nuit") end function QuickApp:btnArret() print("arret") end function QuickApp:TestOuvrants() print("test") end Messages quand je clique sur QuickApp:btnJour : [19.04.2021] [11:56:13] [TRACE] [QUICKAPP289]: UIEvent: {"deviceId":289,"elementName":"button3_1","values":[null],"eventType":"onReleased"} [19.04.2021] [11:56:13] [DEBUG] [QUICKAPP289]: liste [24,27,35,38,41,43,47,50,82,83,87,92,93,94,95,96,105,108,124,149,193,226] [19.04.2021] [11:56:13] [DEBUG] [QUICKAPP289]: no static 'properties' in class 'QuickApp' [19.04.2021] [11:56:13] [ERROR] [QUICKAPP289]: QuickApp crashed [19.04.2021] [11:56:13] [ERROR] [QUICKAPP289]: Unknown error occurred: handleJsonRpc Modifié le 19 avril 2021 par manuxenon
Lazer Posté(e) le 19 avril 2021 Signaler Posté(e) le 19 avril 2021 (modifié) Donc c'est bien l'appel de self:setVariable() qui provoque le crash Alors là c'est très étrange, je ne comprends pas pourquoi.... EDIT : mais si bien sûr, le problème se situe lors de l'appel de ta fonction IDsAlarm(), il faut utiliser self : function QuickApp:btnJour() self:IDsAlarm(2) end Modifié le 19 avril 2021 par Lazer
manuxenon Posté(e) le 19 avril 2021 Auteur Signaler Posté(e) le 19 avril 2021 Super, c'est bien ça. La MAJ se fait sans problème maintenant. Merci Lazer.
Messages recommandés