-
Compteur de contenus
1078 -
Inscription
-
Dernière visite
-
Jours gagnés
13
Tout ce qui a été posté par Cardane
-
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
-
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
si tu le dis je m'endormirai moins bête ce soir ;-) merci pour ton aide -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC bon, après quelques tests, il semble que ca fonctionne j'ai repris un bout de ton code, dont le nouveau gsub, et ca fonctionne ca ne résoudra pas tes problèmes mémoire, mais il y a au moins ca de positif aujourd'hui merci pour ton aide je vais maintenant enfin tester avec ne vraie action sur mes velux, on verra si ils restent ouverts toute la nuit... -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
voilà la description que j'ai trouvé... --raw-output / -r: With this option, if the filter’s result is a string then it will be written directly to standard output rather than being formatted as a JSON string with quotes. This can be useful for making jq filters talk to non-JSON-based systems. si je comprends bien, ca permet de balancer la string "brute", en mode raw, et donc il n'interprète pas les caractères de ce type -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC en fait il faudrait l'équivalent du jq -r qu'il utilise dans le shell script (comme j'ai mis en page 3), mais là, je ne connais pas du tout assez bien lua pour ca -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC toujours le même problème... en plus c'est chiant, faut que je teste 20 fois avant qu'il ne me génère un token avec un caractère comme ca -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@Nico, non par contre si je dis "Dis Siri, ouvre les velux", ca marche -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
voici le code -- Authentification local ip = "192.168.1.33" local url = 'http://'.. ip .. '/api/v1/auth' local dataslogin = '{"action":"login","params":{"password":"velux123"}}' local dataslogout = '{"action":"logout","params":{}}' local klf = net.HTTPClient() klf:request(url , { success = function(response) fibaro:debug(json.encode(response)) local temp = json.encode(response) local key = "token" local token = temp:match('\\\"token\\\":\\\"(.+)\\\",\\\"result') string.gsub(token, "\\", "\\\\") fibaro:debug("token\n") fibaro:debug("") fibaro:debug(token) klf:request(url , { success = function(response) fibaro:debug("Je suis dans response\n") fibaro:debug("response\n") fibaro:debug(json.encode(response)) fibaro:debug("response.data\n") fibaro:debug(response.data) end, error = function(err) print ("Je suis dans err") print('error = ' .. err) end, options = { method = 'POST', headers = { ["content-type"] = 'application/json, charset=utf-8', ["Authorization"] = "Bearer "..token, }, data = dataslogout } }) end, error = function(err) print ("Je suis dans err") print('error = ' .. err) end, options = { method = 'POST', headers = { ["content-type"] = 'application/json, charset=utf-8', }, data = dataslogin } }) et voici le debug [DEBUG] 20:28:54: {"data":")]}',\n{\"token\":\"Ezm\/TjhEQwAWeEhrpWu\/YA==\",\"result\":true,\"deviceStatus\":\"IDLE\",\"data\":{},\"errors\":[]}","status":200,"headers":{"Content-Length":"100","Connection":"Keep-Alive","Content-Type":"application\/json"}} [DEBUG] 20:28:54: token [DEBUG] 20:28:54: [DEBUG] 20:28:54: [DEBUG] 20:28:54: Ezm\/TjhEQwAWeEhrpWu\/YA== [DEBUG] 20:28:55: Je suis dans response [DEBUG] 20:28:55: [DEBUG] 20:28:55: response [DEBUG] 20:28:55: [DEBUG] 20:28:55: {"data":"HTTP\/1.1 403\r\nContent-Type: application\/json\r\nConnection: Keep-Alive\r\nContent-Length: 65\r\n\r\n)]}',\n{\"result\":true,\"deviceStatus\":\"IDLE\",\"data\":{},\"errors\":[]}","status":1,"headers":{}} [DEBUG] 20:28:55: response.data [DEBUG] 20:28:55: [DEBUG] 20:28:55: HTTP/1.1 403 [DEBUG] 20:28:55: Content-Type: application/json [DEBUG] 20:28:55: Connection: Keep-Alive [DEBUG] 20:28:55: Content-Length: 65 [DEBUG] 20:28:55: [DEBUG] 20:28:55: )]}', [DEBUG] 20:28:55: {"result":true,"deviceStatus":"IDLE","data":{},"errors":[]} -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC re salut bon, mauvaise nouvelle, en fait dès que le token contient un caractère d'échappement, ca ne marche pas... mon test c'est d’enchaîner un login, puis un logout, donc lors de l'appel au logout je lui passe comme paramètre le token obtenu lors du login. j'ai bien rajouté le peit bout de code que tu m'as donné ci-dessus mais je reçois un access denied (erreur 403) lors de l'appel au logout. si c'est un token normal, ca marche tu as une idée ????? -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
Yo, je te fais ca ce weekend, (faudra que je monte à l'échelle )... mais comme de toute manière je crois que pour faire revivre ma télécommande je dois faire un reset des velux... -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
ah tu parles des volets toi ? moi je parle des moteurs d'ouverture des velux. Les Integra, ils arrivent avec le moteur d'ouverture et toute la connectique pour venir brancher rapidement tous les autres accessoires, comme les volets, les stores, les lampes, etc et d'office tu les retrouves sur la télécommande. en fait moi je n'ai qu'un câble d'alimentation 220v qui arrive au Velux -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@pepite, pas de problème je vais essayer de faire ca dans les meilleurs délais (suis un peu débordé ce weekend mais je vais essayer) par contre tu as bien des Velux Integra ? parce que j'ai l'impression que ca ne marche qu'avec ca... ou tu as des velux que tu as motorisé par la suite ? oui, moi aussi quand le gars est venu installer les velux il avait un KUX100, mais je ne voyais pas l'intérêt d'installer ce truc puisque de toute manière ils étaient fournis avec la télécommande tactile KLR200 (celle que je viens de bousiller ) -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
ah oui, juste, il faut que je rajoute systématiquement ce bout de code avant de réutiliser le token, merci d'y avoir pensé -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
merci pour l'explication -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
oufffff, super content, le WAF rentre ce soir, et comme j'ai bousillé l'autre télécommande en faisant mes tests, je crois que si je n'avais pas de solution via la HC2, j'aurais encore entendu parler de ma domotique tout le weekend -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC@pepite@Steven@Lazer alors là, @OJC chapeau bas je ne comprends toujours rien au pattern, mais CA MAAAAAARCHE !!!! une super grand merci à tous pour votre aide, je vais enfin pouvoir ouvrir mes Velux via la HC2 il me reste à intégrer la commande du run pour actionner les scènes du klf, remettre tout au propre, et vous faire un petit tuto un peu mieux torché si vous le désirez -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC le fibaro:debug n'arrange rien, je viens d'essayer... tu veux dire quoi avec le copier / coller du debug ? je viens de le mettre deux posts plus haut , ce n'est pas ca que tu veux ? -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC@Steven toujours le même résultat "nil" en fait le token change à chaque fois, donc il n'y a pas toujours les caractères d'échappement voici le dernier test local url = 'http://'.. ip .. '/api/v1/auth' local datas = '{"action":"login","params":{"password":"velux123"}}' local klf = net.HTTPClient() klf:request(url , { success = function(response) fibaro:debug(json.encode(response)) local temp = json.encode(response) fibaro:debug(temp) local key = "token" print(temp:match("\""..key.."\":\"(.+)\",")) end, et le résultat... -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
ben non, même avec la deuxième proposition de steven la retour est toujours "nil" -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@OJC ton test en passant par la table ne marche pas, il génère une erreur LUA, je suppose une fois de plus à cause de la présence du "\n" dans le response... -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@pepite @Steven @OJC bon, soit j'ai encore loupé un truc mais j'essaie avec le code de @Steven et ca ne marche pas... voilà le code klf:request(url , { success = function(response) print ("Je suis dans response") fibaro:debug(json.encode(response)) local temp = json.encode(response) fibaro:debug(temp) local key = "token" print(temp:match("\""..key.."\":.(%w+).")) end, et voilà le debug -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
Salut @pepite je viens d'essayer ta solution, ca ne marche pas. En fait je reste persuadé que c'est le retour à la ligne qui pose problème. Si je regarde l'exemple en shell ci-dessus, il utilise bien le "tail -n +2" pour prendre la deuxième ligne (donc après le \n) Il n'y a pas une fonction quelque part qui pourrait me transformer tout ca en string .... ensuite je me débrouille pour manipuler la string... -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@pepite effectivement si je rajoute le fibaro:debug(json.encode(response)) voila ce que j'obtiens et on retrouve bien la suite de caractères juste après "data".... reste plus qu'à trouver comment passer outre... je suppose que c'est à ca que servent les deux commandes tail -n +2 et jq -r dans l'exemple du shell, puisque tail - n +2 va prendre ce qui suit la deuxième ligne, donc ce qui suit le "\n" mais bon, c'est quoi l'équivalent en lua ?? -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
@pepite @Lazer ca progresse , mais j'ai encore un tout petit peu besoin de vous.... je suis parvenu à voir le token, et donc à faire un login puis un logout avec le code suivant : local ip = "192.168.1.33" local url = 'http://'.. ip .. '/api/v1/auth' local datas = '{"action":"login","params":{"password":"velux123"}}' local klf = net.HTTPClient() klf:request(url , { success = function(response) print ("Je suis dans response") fibaro:debug(response.data) local jsonTable = json.decode(response.data) fibaro:debug(jsonTable.token) end, error = function(err) print ("Je suis dans err") print('error = ' .. err) end, options = { method = 'POST', headers = { ["content-type"] = 'application/json, charset=utf-8' }, data = datas } }) le seul problème qu'il me reste est le suivant... le fibaro:debug(response.data) affiche ceci : je peux donc visualiser le token et le noter, mais ce que je ne comprend pas c'est la deuxième ligne qui affiche le )]}', et aussi pourquoi le fibaro:debug(jsonTable.token) ne fonctionne pas ??? une fois ce problème résolu, c'est bon, je peux mettre le code au propre et créer une scène complète avec un login, un run et un logout -
Velux ... intégration avec HC2, un peu de teasing :-)
Cardane a répondu à un(e) sujet de Cardane dans Actionneurs & Ouvrants (Portail, volets, piscines, ...)
Bon, je viens de faire un test tout simple avec juste le login.... le print (response) affiche : table: 0x8d2aa10 le bon point c'est que je ne suis pas en erreur mais alors maintenant, qu'est-ce que je fais avec cette 'response' pour trouver mon token ? (qui doit ressembler à un truc comme bBbpXgBfTlw9LQwytyH5Cw== ) donc je suppose que je dois faire l'équivalent de tail -n +2 | jq -r sur response ? comment on fait ca en lua ?????????
