Aller au contenu

Messages recommandés

Posté(e)

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.

image.png.9491d29586e162dbea3e93ecab57bbc9.png

 

Posté(e)

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

 

Posté(e)

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.

Posté(e)

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.

 

 

Posté(e) (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é par manuxenon
Posté(e) (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é par Lazer
×
×
  • Créer...