Aller au contenu

Messages recommandés

Posté(e)

salut a tous

 

j'ai une petit question, comment récupérer la nom de la section( interieur, exterieur.....)

 

la j'ai le nom de la pièce  : fibaro:debug( fibaro:getRoomName( fibaro:getRoomID(deviceID) ) ) 

 

mai je ne vois pas comment récupéré le nom de la section

 

 

Posté(e)

tu peux aussi regarder dans le json

http://<ip box>/api/sections
http://<ip box>/api/sections?id=1

 

Posté(e) (modifié)

salut et merci de votre aide

 

j'ai de-jas tester mai pour le moment j'ai : 

 

le nom de la piece : cuisine

le nom de module : lampe de la cuisine

 

mai je trouve pas comment récupéré le nom de la section (intérieur, extérieur, etage.....)


 
Modifié par 971jmd
Posté(e)
Il y a 23 heures, jojo a dit :

http://<ip box>/api/sections?id=1

salut,

@jojo t'avait repondu. Regarde dans le tien, à priori cela doit être 4 ton id ;-)

Posté(e)

@jojo  salut

désolé, mai ce n'est pas mon but de profité de personne :(

 

le code de pepit ne fonctionne pas, surement  du la v4.120

 

 

 

Posté(e)

comme ça j'ai un resultat 

http://192.168.0.203/api/sections

 

[{"id":478,"name":"Interieur","sortOrder":1},{"id":479,"name":"Exterieur","sortOrder":2}]

 

mai le probleme est comment explorer les donnés dans une variable 

Posté(e)

regarde dans ma signature sur un des deux VD du mode chauffage, tu y verras comment récupérer l'information (dans une variable) d'un champ d'un json

  • Upvote 1
Posté(e)

tu dois pouvoir faire : 

local SectionId = fibaro:getSectionID(33) 
print("SectionId : " ..SectionId)
local json = api.get("/sections/SectionId)
print ("Nom : " ..json.name)

 

Posté(e) (modifié)

salut

 

c'est très compliquée :P

 

voila le resultat de mes recherches 

 

local http = net.HTTPClient()
http:request('http://127.0.0.1:11111/api/sections/4' , {
    options = {
      method = 'GET'
    },
    success = function(response)
      local result = json.decode(response.data);
      
	  MessMem = "" ..tostring(result.name)..""    		
      
	  
	  fibaro:debug( "La section = " ..MessMem)
    end
  })

qui me donne :

[DEBUG] 23:15:09: La section = Interieur

bon, j'ai gagné une bataille, mais pas la guerre 

 

mon probleme est comment réaliser une liaison entre ID du module et le section ?

 

exemple: si ID33 alors affiche section intérieur 

 

 

Dans l API, pour accédée a la section il y plusieur couches 

 

ID du Module = 33, on trouve  Room ID et dans Room Id on trouve enfin la section 

 

/api/devices/

/api/rooms/
/api/sections/

 

 

 

 

 

 

 

Modifié par 971jmd
Posté(e)

Bonjour, tu peux gagner peut-être une étape en faisant :
ID module --> getSectionId(idmodule) --> /api/sections/idsection

Envoyé de mon Nexus 5X en utilisant Tapatalk

Posté(e)

salut 

 

la ou je pèche, c'est comment inséré un variable entre 1 et 2

 

code normale 

http:request('http://127.0.0.1:11111/api/sections/4'

 

Exemple avec variable

locale variable1 = sections

local variable2 = 4

http:request('http://127.0.0.1:11111/api/variable1/variable2'

Posté(e)

as-tu essayé tout simplement ceci ?

http:request('http://127.0.0.1:11111/api/'..variable1..'/'..variable2 

 

Posté(e)

Je pense qu'il et inutile de faire du http:request pour atteindre l'api depuis la HC2

 

api.get est plus simple :-). Ca fait moins de lignes ;-)

 

Tes variables pour moi doivent être : 

 - ID du module

 - ID de la section qui et permettra de récupérer le nom de la section. 

 

Posté(e)

Code OK, je viens de tester : 

 

local idModule = 57
local SectionId = fibaro:getSectionID(idModule) 
print("SectionId : " ..SectionId)
local json = api.get("/sections/"..SectionId)
print ("Nom : " ..json.name)

 

 

Le Debug

 

[DEBUG] 20:34:32: SectionId : 5
[DEBUG] 20:34:32: Nom : RDC

 

  • Upvote 1
Posté(e)

j'essaye de comprendre mai c pas très claire  

 

ça fonctionne pourtant il n'y a pas de IF

 

local idModule = 57
local SectionId = fibaro:getSectionID(idModule) 
print("SectionId : " ..SectionId)
local json = api.get("/sections/"..SectionId)
print ("Nom : " ..json.name)
  • Upvote 1
×
×
  • Créer...