yoim Posté(e) le 2 juin 2017 Signaler Posté(e) le 2 juin 2017 Bonjour, J'ai besoin d'aide au niveau de la programmation de mon bouton activation d'alarme sur un systeme qui ne supporte aucune api ou personne ne veut comprendre ce que je veux faire. J'ai une alarme egardia. Ca fait 2 ans que je l'ai et elle fonctionne bien. Gros probleme tout est verouillé dessus. En essayant des requetes avec Request maker, je me suis rendu compte qu'on pouvait lui envoyer des infos sur un fichier JSON avec true ou false Ma request est comme ceci : https://my.egardia.com/fr/group/egardia/summary?p_p_id=portletalarmstatusegardia_WAR_portletliferayalarmsystemegardiawebapp_INSTANCE_HNn7&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_pos=2&p_p_col_count=7&action=setAlarmStatus Le soft Request Maker me sort une valeur Json comme ceci : json=%7B%22atHome%22%3Afalse%2C%22on%22%3Afalse%7D Le false permet d'eteindre l'alarme et si je mets True ca m'active l'alarme. Eureka !! ca marche. Par contre comment je peux transformer ca en LUA pour l'activation alarme avec mes bouton Module Virtuel. Si qq un a une idée. Je pense que l'info True ou False est envoyé sur leur serveur pour activer ou desactiver l'alarme. C'est un peu flou. Merci pour votre aide.
yoim Posté(e) le 2 juin 2017 Auteur Signaler Posté(e) le 2 juin 2017 Je viens de faire les tests en local, j'ai recupéré l'ip de mon alarme et j'arrive en lcoal avec la methode POST a activer ou desactiver ... http://login:password@192.168.42.125/action/panelCondPost?area=1&mode=4&_= Comment faire un bouton LUA qui envoie une commande POST avec l'url ci dessus ? J'y suis presque.
jjacques68 Posté(e) le 2 juin 2017 Signaler Posté(e) le 2 juin 2017 Dans un VD avec un truc du genre : tcpSERVER = Net.FHttp("ip", port) tcpSERVER:POST("la commande&user=admin&pwd=PASSWORD"); Mais pas sûr que ça fonctionne
jjacques68 Posté(e) le 2 juin 2017 Signaler Posté(e) le 2 juin 2017 Ou encore local HC2 = net.Fhttp() HC2:request("ta requete", { options = {method = 'POST'}, success = function(response) fibaro:debug("recherche grosse fuite en cours...") end }) Plus sûr des syntaxes, désolé...
pepite Posté(e) le 2 juin 2017 Signaler Posté(e) le 2 juin 2017 (modifié) Ou peut-etre comme ceci ;-) à tester. rien de sur niveau syntaxe, surtout pour le login:password. local password = xxxxxx local login = xxxxxxx local ip = "192.168.42.125" local data = "/panelCondPost?area=1&mode=4&_=" --local url = ..login..":"..password.."@"..ip.. local http = Net.FHttp(ip) http:POST("/action", data) En me relisant, plutot comme ceci, mais je ne sais pas ou placer login password, certainement dans data Modifié le 2 juin 2017 par pepite 1
yoim Posté(e) le 2 juin 2017 Auteur Signaler Posté(e) le 2 juin 2017 Merci pour vos reponses. C'etait presque bon et ca m'a vraiment aidé a trouvé la solution. En faite je n'avais pas besoin d'un post mais d'un get ... Je m'en suis rendu compte que après. Voila le code qui fonctionne avec un support de mon alarme complètement à coté de la plaque ... HC2 = Net.FHttp("192.168.42.125",80) -- Renseigner l'adresse ip de la box alarme HC2:setBasicAuthentication("login", "password") -- Renseigner le login + mot de passe -- Envoi de la commande http : HC2:GET("/action/panelCondPost?area=1&mode=0&_=") --Renseigner l'url GET à commander Me voila avec un beau bouton d'activation d'alarme On / Activation Off / Arret Home / Alarme quand je suis dans la maison Merci pour votre aide. Soon. 1
pepite Posté(e) le 3 juin 2017 Signaler Posté(e) le 3 juin 2017 Super :+)...bravoooEnvoyé de mon Nexus 5X en utilisant Tapatalk
Messages recommandés