chrispec Posté(e) le 15 octobre 2015 Signaler Posté(e) le 15 octobre 2015 Bonjour, Avis aux possesseurs d'alarmes Myfox, je viens de trouver cela: http://gurau-audibert.hd.free.fr/josdblog/2015/03/communication-en-lua-avec-la-centrale-myfox/#more-6458 Ce qui nous ferait ... --[[ %% properties %% globals –]] local https = require("ssl.https") local identifiant = '<identifiant>' local motDePasse = '<mot de passe>' local clientID = '<Client ID>' local clientSecret = '<Client Secret>' local siteId = '<Site Id>' local access_token = nil local refresh_token = nil local echeance = nil -- Request access token function acquerirJeton() local url = 'https://api.myfox.me/oauth2/token' local post = string.format('grant_type=password&client_id=%s&client_secret=%s&username=%s&password=%s', clientID, clientSecret, identifiant, motDePasse) local body, code = https.request(url, post) assert(code == 200) access_token, refresh_token = string.match(body, '"access_token":"([^"]*)".*"refresh_token":"([^"]*)"') end -- Refreshing an expired access_token function renouvelerJeton() local url = 'https://api.myfox.me/oauth2/token' local post = string.format('grant_type=refresh_token&refresh_token=%s&client_id=%s&client_secret=%s', refresh_token, clientID, clientSecret) local body, code = https.request(url, post) assert(code == 200) access_token, refresh_token = string.match(body, '"access_token":"([^"]*)".*"refresh_token":"([^"]*)"') end -- Statut de l'alarme : 'disarmed', 'partial' ou 'armed' function statut() local url = string.format('https://api.myfox.me:443/v2/site/%s/security?access_token=%s', tostring(siteId), access_token) local body, code = https.request(url) assert(code == 200) local statut = string.match(body, '"statusLabel":"([^"]*)"') return statut end Je le testerai ce WE ... avis aux intéressés ... 2
q.philippe Posté(e) le 15 octobre 2015 Signaler Posté(e) le 15 octobre 2015 interessant, il reste plus qu'à construire son module qui va bien , alors lol concretement, on le transforme comment , en module intéressant.
TonyC Posté(e) le 15 octobre 2015 Signaler Posté(e) le 15 octobre 2015 Merci Chrispec, oui interressé par un petit retour, merci!!
BenjyNet Posté(e) le 16 octobre 2015 Signaler Posté(e) le 16 octobre 2015 Heu cette ligne m'interpelle local https = require("ssl.https") Je ne suis absolument pas certain que cela puisse fonctionner sur nos box
chrispec Posté(e) le 16 octobre 2015 Auteur Signaler Posté(e) le 16 octobre 2015 Bonjour BenjyNet, C'est aussi l'interrogation de Laurent sur son blog: http://gurau-audibert.hd.free.fr/josdblog/2015/03/communication-en-lua-avec-la-centrale-myfox/#more-6458 D'ailleurs, en voulant m'inspirer de: http://www.domotique-fibaro.fr/index.php/topic/776-module-pour-gestion-des-volets-automatique/ Pour VD: (variable globale SysMyfox avec comme valeurs: ON, OFF et PARTIEL) Pour un des boutons: Et pour le Mainloop: --[[ %% properties %% globals –]] --local https = require("ssl.https") local identifiant = '<identifiant>' local motDePasse = '<mot de passe>' local clientID = '<Client ID>' local clientSecret = '<Client Secret>' local siteId = '<Site Id>' local access_token = nil local refresh_token = nil local echeance = nil -- Request access token function acquerirJeton() local url = 'https://api.myfox.me/oauth2/token' local post = string.format('grant_type=password&client_id=%s&client_secret=%s&username=%s&password=%s', clientID, clientSecret, identifiant, motDePasse) local body, code = https.request(url, post) assert(code == 200) access_token, refresh_token = string.match(body, '"access_token":"([^"]*)".*"refresh_token":"([^"]*)"') end -- Refreshing an expired access_token function renouvelerJeton() local url = 'https://api.myfox.me/oauth2/token' local post = string.format('grant_type=refresh_token&refresh_token=%s&client_id=%s&client_secret=%s', refresh_token, clientID, clientSecret) local body, code = https.request(url, post) assert(code == 200) access_token, refresh_token = string.match(body, '"access_token":"([^"]*)".*"refresh_token":"([^"]*)"') end -- Statut de l'alarme : 'disarmed', 'partial' ou 'armed' function statut() local url = string.format('https://api.myfox.me:443/v2/site/%s/security?access_token=%s', tostring(siteId), access_token) local body, code = https.request(url) assert(code == 200) local statut = string.match(body, '"statusLabel":"([^"]*)"') return statut fibaro:setGlobal("SysMyfox", statut); end Qu'en penses-tu ?
BenjyNet Posté(e) le 16 octobre 2015 Signaler Posté(e) le 16 octobre 2015 (modifié) Oui c'est bien tout ça mais sans ssl de toute façon tu ne pourras rien faire Donc tout tes appels aux urls commençant par httpS... c'est mort Il me semble qu'il n'y a que par les plugins qu'on peut avoir du https mais faudrait confirmer par nos experts Edit : tu confonds scenes et virtual device. Le main loop ne commence jamais par --[[ %% properties %% globals –]] Ce code est réservé aux scènes uniquement ! Et je te confirme que le httpS n'est pas utilisable dans un virtual device mais uniquement dans une scene. Regarde ce post qui pourrait t'inspirer : http://www.domotique-fibaro.fr/index.php/topic/5961-particle-photon-et-hc2/?p=90930 Modifié le 16 octobre 2015 par BenjyNet
q.philippe Posté(e) le 16 octobre 2015 Signaler Posté(e) le 16 octobre 2015 chrispec, je pense que tu utilises deja le module de Krikroff ? il faut attendre le https, qui devrait (6mois) pas tarder, tout depends de ton GMT, et de la planète de Figaro.
chrispec Posté(e) le 17 octobre 2015 Auteur Signaler Posté(e) le 17 octobre 2015 module de Krikroff ? lequel ?
q.philippe Posté(e) le 19 octobre 2015 Signaler Posté(e) le 19 octobre 2015 http://www.domotique-fibaro.fr/index.php/topic/1392-raccorder-myfox-en-module-sur-fibaro/
Steven Posté(e) le 23 octobre 2015 Signaler Posté(e) le 23 octobre 2015 En v4, les scènes supportent très bien le HTTPS, je confirme. Il n'y a donc aucune raison que ce script ne puisse être porté sur une HC2. J'avais fait le même genre de script pour Netatmo ... c'est en https et nécessite aussi un token. http://www.domotique-fibaro.fr/index.php/topic/4626-pluviom%C3%A9trie-avec-netatmo/ Courage
domotics Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 Bonsoir Donc au final, est ce que ce script pour Myfox fonctionne avec la HC2 en firmware v4 ? Merci
q.philippe Posté(e) le 8 novembre 2015 Signaler Posté(e) le 8 novembre 2015 Moi, j'ai un script Php, "MyApiFox" que j'utilise depuis 1,5 an now, il est opérationnel et fonctionne pour mes scènes pour désactiver m'alarme et fermer mes volets ou les ouvrir. Seulement avec un serveur Php externe àla HC2.
domotics Posté(e) le 8 novembre 2015 Signaler Posté(e) le 8 novembre 2015 Oui, mais je voulais savoir si ca fonctionnait en lua car c'est plus user friendly D'après ce que je comprends, c'est faisable en v4. Mais je voulais qu'on me confirme avant de me lancer Merci
Helico Posté(e) le 22 novembre 2015 Signaler Posté(e) le 22 novembre 2015 J'en suis au même point ! +1
q.philippe Posté(e) le 27 octobre 2016 Signaler Posté(e) le 27 octobre 2016 Salut Comme les scènes https fonctionne en v4, je reviens dessus (plus le chemin est court mieux sait, actuellement je passe par ifttt). J'ai teste le script https de dessus , debug : [DEBUG] 22:51:46: line 44: 'end' expected (to close 'function' at line 37) near 'fibaro'
Messages recommandés