Aller au contenu

Messages recommandés

Posté(e)

Bonjour j'utilise pour connaitre l'état des sorties de mon IPX cette syntaxe :

--récupération de l'état des sorties
response = HC2:GET("/api/xdevices.json?cmd=20")
response = json.decode(response)

Cela me remplie ma table response et puis il suffit de faire response.OUT1 pour avoir la valeur.

 

Mais si je veux récupérer que l'état de la sortie 1, comment faire ??

 

Dans la doc il parle d'une commande "GetOut1" !!

 

Mais je n'arrive pas à  trouver la syntaxe ??

 

quelqu'un à  une idée ?

 

Merci !!!

 

 

Posté(e)

ok ! ça marche très bien pour les VD !! merci !!

 

mais pour les récupérer dans les scènes ?

 

j'essaye avec le même code que dans le VD, je rajoute juste le port après l'IP:

HC2 = Net.FHttp("192.168.2.xx",98xx)
HC2:setBasicAuthentication("admin", "mdp")
response = HC2:GET("/api/xdevices.json?cmd=20")
response = json.decode(response)
fibaro:debug(response.OUT1)

mais ça marche pas, il me dit : "attempt to index global 'net' (a nil value) à  la première ligne

 

si j'utilise ce code trouvé sur le forum de @Gazous (en l'ayant adapté) :

local http = net.HTTPClient()
response=http:request("http://192.168.2.xx:98xx/api/xdevices.json?cmd=20", {
	options = {
		method = 'GET',
       	headers = {['Authorization'] = "BASIC YWRta.......="},
	},
	success = function(response) fibaro:debug("OK") end,
	error = function(err) fibaro:debug("Error: " ..err) end
})

fibaro:debug(response)

mais marche pas non plus, il me renvoie null !

 

Quelqu’un serait m'expliquer ?

Posté(e)

bon alors visiblement d'après mes recherches, il est impossible de faire des net.FHTTP dans une scène ! :angry:

 

pourquoi ?? ?? ça restera un mystère !! <_<

 

et pour le deuxième code, voici ce que j'ai trouvé sur le forum après des heures, et des heures et des heures de lecture : et ça marche ! :60:

--[[
%% properties
%% events
%% globals
--]]

local http = net.HTTPClient()
http:request("http://192.168.2.xx/api/xdevices.json?cmd=20", {
	options = {     
			method = 'GET',
      		headers = {['Authorization'] = "BASIC YW.....="},},
	success = function(response)
    	jsonResponse = json.decode(response.data)
    	fibaro:debug(jsonResponse.OUT1)
    end,
	error = function(response)
    	fibaro:debug("Error: " ..response)
    end
})

Mais alors c'est d'un compliqué !! :huh:

y a pas moyen de faire plus simple ?

ou alors de l'écrire plus simplement ?

×
×
  • Créer...