971jmd Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 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
jojo Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 fibaro:getSectionID(id, "value") ou fibaro:gerSectionID(DeviceID)
Fanou Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 Je pense que la reponse est la.. http://www.fibarouk.co.uk/support/lua/library/fibarogetroomname/Envoyé de mon SM-G928F en utilisant Tapatalk
jojo Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 tu peux aussi regarder dans le json http://<ip box>/api/sections http://<ip box>/api/sections?id=1
971jmd Posté(e) le 19 avril 2017 Auteur Signaler Posté(e) le 19 avril 2017 (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é le 19 avril 2017 par 971jmd
pepite Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 Salut @971jmd, @jojo t'a donné la réponse, ca ne fonctionne pas ? fibaro:getSectionID(deviceID)
971jmd Posté(e) le 19 avril 2017 Auteur Signaler Posté(e) le 19 avril 2017 fibaro:getSectionID(33) me donne 4 4 est ID de la section, mai je n'est pas nom de la section
jojo Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 regarde dans le json http://<ip box>/api/sections?id=1
pepite Posté(e) le 19 avril 2017 Signaler Posté(e) le 19 avril 2017 Dans le json tu dos pouvoir récuperer le nom non ?
971jmd Posté(e) le 20 avril 2017 Auteur Signaler Posté(e) le 20 avril 2017 salut avez-vous un exemple de code json ?
pepite Posté(e) le 20 avril 2017 Signaler Posté(e) le 20 avril 2017 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 ;-)
jojo Posté(e) le 20 avril 2017 Signaler Posté(e) le 20 avril 2017 @971jmd, Je trouve que @pepite est extrêmement patient. STP, lis les infos qu'on te donne, et cherche un peu par toi-même sur base de l'information fournie. Merci 2
971jmd Posté(e) le 20 avril 2017 Auteur Signaler Posté(e) le 20 avril 2017 @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
971jmd Posté(e) le 20 avril 2017 Auteur Signaler Posté(e) le 20 avril 2017 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
jojo Posté(e) le 20 avril 2017 Signaler Posté(e) le 20 avril 2017 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 1
pepite Posté(e) le 20 avril 2017 Signaler Posté(e) le 20 avril 2017 tu dois pouvoir faire : local SectionId = fibaro:getSectionID(33) print("SectionId : " ..SectionId) local json = api.get("/sections/SectionId) print ("Nom : " ..json.name)
971jmd Posté(e) le 21 avril 2017 Auteur Signaler Posté(e) le 21 avril 2017 (modifié) salut c'est très compliquée 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é le 21 avril 2017 par 971jmd
jojo Posté(e) le 21 avril 2017 Signaler Posté(e) le 21 avril 2017 il n'y a pas de chemin direct, il faut passer par toutes les étapes que tu as décrites
pepite Posté(e) le 21 avril 2017 Signaler Posté(e) le 21 avril 2017 Bonjour, tu peux gagner peut-être une étape en faisant :ID module --> getSectionId(idmodule) --> /api/sections/idsectionEnvoyé de mon Nexus 5X en utilisant Tapatalk
971jmd Posté(e) le 21 avril 2017 Auteur Signaler Posté(e) le 21 avril 2017 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'
jojo Posté(e) le 21 avril 2017 Signaler Posté(e) le 21 avril 2017 as-tu essayé tout simplement ceci ? http:request('http://127.0.0.1:11111/api/'..variable1..'/'..variable2
pepite Posté(e) le 21 avril 2017 Signaler Posté(e) le 21 avril 2017 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.
971jmd Posté(e) le 21 avril 2017 Auteur Signaler Posté(e) le 21 avril 2017 API.get , enchanté de la connaîtreEnvoyé de mon iPhone en utilisant Tapatalk 1
pepite Posté(e) le 21 avril 2017 Signaler Posté(e) le 21 avril 2017 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 1
971jmd Posté(e) le 22 avril 2017 Auteur Signaler Posté(e) le 22 avril 2017 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) 1
Messages recommandés