Aller au contenu
yoim

Creer un bouton pour activer ou desactiver son alarme

Recommended Posts

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.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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é...

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par pepite
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

 

5931d62b8575f_ScreenShot2017-06-02at23_18_01.png.935d8191d65d6b2078e93a74e77a18d5.png

 

 

On / Activation

Off / Arret

Home / Alarme quand je suis dans la maison

 

Merci pour votre aide.

 

Soon.

 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Super :+)...bravooo

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

×