Aller au contenu

Messages recommandés

  • Réponses 53
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Images postées

Posté(e)

Salut,

 

Pour poster du code, tu le copie-colle dans le message et tu le mets entre les balises <>

 

Bien recu ton code, il manque des lignes que tu dois supprimer en faisant les tests.

Essaie ce code tel quel :


-- Recuperation ID du VD
local id = fibaro:getSelfId()
--icones
local IconeON = 19
local IconeOFF = 18

-- Recup de 'état de l'entree digitale 1
IPX = Net.FHttp("192.168.15.106")
response = IPX:GET("/api/xdevices.json?cmd=10")
response = json.decode(response)

fibaro:debug("Valeur de RESPONSE.OUTPUT1 : " ..response.OUTPUT1)

--Valeur de l'etat mise dans la variable "INPUT"
fibaro:setGlobal("INPUT1", response.OUTPUT1)
local input1 = fibaro:getGlobalValue("INPUT1")
fibaro:debug("Valeur de INPUT1 :" ..input1)

--Affichage icones
if (tonumber(input1) == 1)
 then
     fibaro:call(id, "setProperty", "currentIcon", IconeON)
 else
     fibaro:call(id, "setProperty", "currentIcon", IconeOFF)
end
Posté(e)

désolé, pas moyen de coller quoi que ce soit dans les post de ce forum...

c'est la première fois que je ne peux pas coller du texte

j'ai essayé pas mal d'options sans succes

Posté(e)

Sweet 3800 bonjour.
Pour lire la valeur d’une INPUT d’une IPX, il faut bien utiliser la commande de ta ligne 10
response = IPX:GET("/api/xdevices.json?cmd=10")

ou directement dans ton navigateur ex :
http://@IP de ton IPX/api/xdevices.json?cmd=10

tu obtiendra une réponse par ex ci-dessous :
{"product":"IPX800_V3","IN1":1,"IN2":1,"IN3":1,"IN4":1,"IN5":1,"IN6":1,"IN7":0,"IN8":0,"IN9":0,"IN10":0,"IN11":0,"IN12":1,"IN13":0,"IN14":1,"IN15":0,"IN16":0,"IN17":0,"IN18":0,"IN19":0,"IN20":0,"IN21":0,"IN22":0,"IN23":0,"IN24":0,"IN25":0,"IN26":0,"IN27":0,"IN28":0,"IN29":0,"IN30":0,"IN31":0,"IN32":0}

Ainsi la valeur de l’INPUT 1 est exprimée dans le champ IN1 et non OUTPUT1, champ inexistant dans  la réponse de l’IPX, par conséquent ta ligne 16 doit être (cf réponse de Pépite du 07 Aoà»t) :
fibaro:setGlobal("INPUT1", response.IN1)  et non fibaro:setGlobal("INPUT1", response.OUTPUT1)


×
×
  • Créer...