Aller au contenu

Retour D'information Depuis L'ipx800 V3I


sweet38000

Messages recommandés

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

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Images postées

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
Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites


×
×
  • Créer...