lolo120 Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
Krikroff Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
lolo120 Posté(e) le 27 août 2014 Auteur Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
Krikroff Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 et il risque d'y avoir du changement 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 More sharing options...
Nico Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
Lazer Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 Tu as une variable SMS qui se transforme en HC2, voilàle probleme. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 Non, j'ai corrigé déjàcette variable, cela ne change rien, j'ai l'erreur dès la ligne 1... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moicphil Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
Lazer Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 Ah aussi ce code fonctionne dans un module virtuel mais pas dans une scène. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 Oui pas de Net.* dans les scènes ... Enfin pour le moment Envoyé de mon iPhone àl'aide de Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nico Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
Krikroff Posté(e) le 27 août 2014 Signaler Partager Posté(e) le 27 août 2014 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 More sharing options...
Nico Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 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 More sharing options...
Krikroff Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 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 More sharing options...
Nico Posté(e) le 28 août 2014 Signaler Partager Posté(e) le 28 août 2014 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 More sharing options...
lolo120 Posté(e) le 28 août 2014 Auteur Signaler Partager Posté(e) le 28 août 2014 Merci àtous pour toutes ces explications, c'est déjàplus clair pour moi. Moi aussi j'avais essayé d'utiliser cette librairie Net. dans une scène. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés