Aller au contenu
MAM78

Instruction pour Adresse IP HC3

Recommended Posts

Est-ce qu'il existe une instruction pour connaitre l'adresse IP de son HC3 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce n'est pas une instruction, mais c'est disponible via l'API HTTP, donc au travers de api.get()

 

/api/settings/network

Partager ce message


Lien à poster
Partager sur d’autres sites

Dans une Quick APP, est-ce normal pour la commande suivante, d'avoir comme résultat : null status= 501

 

    local response, status = api.get("/setings/network/networkConfig") 

    self:debug(tostring(json.encode(response)), "status=", status)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bah oui, tu as ajouté networkConfig en trop, ça ne fait pas partie de l'URL

 

Si tu veux récupérer directement la valeur il faut le faire ainsi :

local networkConfig = api.get("/setings/network").networkConfig

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Non ça ne marche pas.

 

Je viens d'essayer, également ça :

 

 

    local networkConfig = api.get("/setings/network")

    self:debug(type(networkConfig))

 

ça me retourne : nil

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai l'impression que l'API bogue sur la partie "/setings/network"

 

J'ai remarqué que d'autres ont également eu ce problème

 

https://forum.fibaro.com/topic/49113-hc3-quickapps-coding-tips-and-tricks/page/7/?tab=comments#comment-202823

 

Je pense que cette partie de l'API n'a pas été implémentée

 

Modifié par MAM78

Partager ce message


Lien à poster
Partager sur d’autres sites

lol merci il faut 2 "t", @MAM78 tu aurais dû copier/coller l'URL que je t'ai donné

 

Mais donc tu n'as pas testé l'URL dans ton navigateur avant de le faire en LUA ?

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  function QuickApp:getHC3IPaddress(name)
    if self.IPaddress then return self.IPaddress
    else
      name = name or ".*"
      local networkdata = api.get("/proxy?url=http://localhost:11112/api/settings/network")
      for n,d in pairs(networkdata.networkConfig or {}) do
        if n:match(name) and d.enabled then self.IPaddress = d.ipConfig.ip; return self.IPaddress end
      end
    end
  end

 

Modifié par jang
  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Je confirme que ça ne marche pas chez moi :

 

    local network, status = api.get("/settings/network")

    self:debug("Type(network)="..type(network), "Status=", status)

 

Retour : Type(network)=nil Status= 501

 

Je vais essayer la méthode de @jang 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, jang a dit :

function QuickApp:getHC3IPaddress(name) if self.IPaddress then return self.IPaddress else name = name or ".*" local networkdata = api.get("/proxy?url=http://localhost:11112/api/settings/network") for n,d in pairs(networkdata.networkConfig or {}) do if n:match(name) and d.enabled then self.IPaddress = d.ipConfig.ip; return self.IPaddress end end end end

 

Thanks, it works great :60:

Partager ce message


Lien à poster
Partager sur d’autres sites
lol merci il faut 2 "t", [mention=9953]MAM78[/mention] tu aurais dû copier/coller l'URL que je t'ai donné
 
Mais donc tu n'as pas testé l'URL dans ton navigateur avant de le faire en LUA ?
Il est d'origine alsacienne donc il écoute rien c'est un cousin à@nico

Envoyé de mon BLA-L29 en utilisant Tapatalk

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu sais ce qu'il te dit alsacien :D

 

La commande proposée par @Lazer ne fonctionne pas de toute façon. C'est bugué :angry:

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 

 

 

Tu sais ce qu'il te dit alsacien 

 

 

Les lorrains sont les meilleurs

 

Envoyé de mon BLA-L29 en utilisant Tapatalk

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×