Aller au contenu

Commande Lua Net.fhttp


lolo120

Messages recommandés

bonjour,

 

Quelqu'un saurait-il où trouver la documentation concernant la commande Net.FHttp et les commandes liées? J'ai trouvé dans le forum, dans les tutoriels et ailleurs de nombreux exemples, mais pas la définition. Je débute en script LUA, mais ca n'a pas l'air de faire partie des fonctions de base, car je n'ai rien trouvé non plus sur lua.org.

Merci par avance,

 

Laurent.

Lien vers le commentaire
Partager sur d’autres sites

Net.fhttp est une couche fibaro ;) et pas natif LUA donc... Pour la documentation il y a un lien sur ce forum, tu trouveras aussi de nombreux exemples pour la mise en place dans mes codes mais pas seulement ... Que souhaites tu savoir exactement ?

Envoyé de mon iPhone àl'aide de Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Merci pour l'info. En fait, les exemples me suffisent pour mes besoins actuels, mais je voulais voir le potentiel de cette couche, et toutes les possibilités offertes.

De quel lien parles-tu? si c'est un lien vers docs.fibaro.com, ils semblent tous morts... et sur le site de Fibaro, je n'ai rien trouvé en anglais sur le sujet.

Lien vers le commentaire
Partager sur d’autres sites

En fait je pensais plus a ici http://www.domotique-fibaro.fr/index.php/cp/2-api-fibarofr/ mais le package Net.* n'est peut-être pas documenté ...

 

Pour la partie docs.fibaro.com sachant que l' API est en bêta depuis la sorite de la V3 pour moi c'est un signe :15: et il risque d'y avoir du changement :rolleyes:

 

Sinon:

-- Pour créer un client http
local http= Net.FHttp(IP, PORT);

-- En cas de besoin d'identification du client il faut utiliser ceci:
http:setBasicAuthentication(username, password);

-- Demande en méthode GET, il faut passer l'uri sans le domaine ni le port
-- result -> le retour de la requete
-- status -> l'état de la reponse 200 (ok) / 500 (err serveur) etc... une petite recherche sur le net et tu auras tous les codes
-- errorCode -> si 0 tout est ok, sinon erreur, ce n'est pas documenté pas Fibaro mais 2 est souvent un plantage du client et 1 une err serveur...
local result, status, errorCode = HC2:GET("/index.html");

-- Donc il faut tester avant d'utiliser
if tonumber(status) == 200 then
  fibaro:debug("ok nous pouvons continuer");
  -- exemple utilisation d'un retour en json
  local s = json.decode(result);
  fibaro:debug(s.root);
else
  fibaro:debug("il y a un problème, status:" .. status .. " err: " .. errorCode )
end

je viens de taper tout cela depuis ma tablette et des coquilles sont possibles

 

:)

Lien vers le commentaire
Partager sur d’autres sites


local SMS = Net.FHttp('192.168.0.38', 9090);

local result, status, errorCode = HC2:GET("/sendsms?phone=06********&text=ceci%20est%20unt%20test&password=admin");

if tonumber(status) == 200 then

fibaro:debug("SMS envoyé");

else

fibaro:debug(status);

end

Et qqun peut me dire pourquoi ce code ne passe pas (Ci dessus). Il me sort "attempt to index global Net (a nil value)...

Lien vers le commentaire
Partager sur d’autres sites

Dis moi, c'est pas ton vrais numéro de portable j’espère? si oui, tu devrais le masquer.

 

Sinon , ceci devrai marcher pour toi :

HC2 = Net.FHttp("192.168.0.xxx",9090)
 
response = HC2:GET("sendsms?phone=0662xxxxxx&text=ceci%20est%20un%20test&password=xxx")
Lien vers le commentaire
Partager sur d’autres sites

Et moi je l'ai mis dans une scène... Voilà  la raison. Merci !

Le code que j'avais mis passe effectivement dans un module virtuel sans soucis du coup...

 

Et si du coup je voudrais l'appeler depuis les notifications, c'est faisable ?

 

[OFF]Merci Moicphil pour le numéro...

Lien vers le commentaire
Partager sur d’autres sites

pas de problème, pour cela il faut utiliser

fibaro:call(VIRTUAL_DEVICE_ID, "pressButton", X);

ou X correspond au numéro du bouton qui exécute ton code dans ton vd ;)

 

Edit: lorsque tu parles de notification c'est bien depuis une scène ?

Lien vers le commentaire
Partager sur d’autres sites

Depuis une scène du coup j'avais réussi Krikroff avec la même chose que tu m'as mis, mais en fait je voulais savoir si on pouvait l'utiliser directement depuis les notifications du panneau des notifications, mais on dirait que non. A moins de passer par une scène qu'on appellerai dans les notifications ?

Lien vers le commentaire
Partager sur d’autres sites

Non ce n'est pas possible depuis les notifications.

 

Bon honnêtement je n'utilise pas le panneau des notifications que je trouve inutile dans l'état pour plusieurs raisons mais la principale: Les notifications du panneau sont statiques alors qu' en LUA elles deviennent dynamiques ex: "porte du garage ouverte depuis 2 heures", "La température est de 22,5°C" etc...

Lien vers le commentaire
Partager sur d’autres sites

Ca je suis d'accord Krikroff, mais bon c'est un peu dommage, car pour des choses très simple, cela est largement suffisant et simple à  utiliser.

Sinon pour l'alarme par contre, en le mettant dans une scène simple, on peut l'appeler depuis le panneau alarme.

 

Donc pas le choix, il faut donc créer une scène pour l'utiliser. Merci en tout cas.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...