Aller au contenu

Bloug

Membres confirmés
  • Compteur de contenus

    1 340
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Bloug

  1. désolé, pour etre plus clair, je souhaite comprendre le fonctionnent, j'utilise pour récupérer des info un GET et un element de la table : local etatAlyssa = jsonTable.zones[1].state Si je souhaite modifier la valeur de l'élément et lui attribuer la valeur 1 ou 0 => state = 1 j'utilise donc la seconde parti de ton code avec POST et la valeur dans le myJson EX : local myJson = { "couleurs": { [1] = "bleu", [2] = "blanc", [3] = "rouge" }, "fruits": { [1] = "pomme", [2] = "banane" }, } donc pour mon cas je dois utiliser la même structure qu'avec GET ? ou il faut adapter comme dans ton ex avec les accolades : jsonTable.zones[1].state jsonTable.zones[1].state modif : {"zones":[{"state":"0"}]} ou peut etre qu'il n' a aucun rapport entre un GET et POST...
  2. merci pour le tuto, Petite question , si je récupère une donné avec un GET : local etatAlyssa = jsonTable.zones[1].state pour la modifier dois je utiliser la meme structure que le GET ? local myJson = { jsonTable.zones[1].state = "1" } merci
  3. Bloug

    Json T_end

    Oh cool ! Merci beaucoup je vais prendre une aspirine avant
  4. Bloug

    Json T_end

    y'a pas de pb lol C'est la fameuse erreur entre la chaise et le clavier
  5. Bloug

    Json T_end

    loool impec je regarde cela merci.
  6. Bloug

    Json T_end

    @Lazer toc toc toc bon je me doute qu'avec Alexa mon sujet n’intéresse pas grand monde ( visiteur 1 ( moi)) lol mais puis je avoir ton analyse sur le message d'erreur? et vers quel coté chercher ? Est-ce une erreur du coté de la requette qui semble fausse du myjson ou de la 'method' ? merci
  7. Et les cmd avec ha-bridge c'est quoi ? Alexa, demande à M. Bridge d'allumer..... ?
  8. Lol moi j'arrive à obtenir les infos de fibaro sur mobile mais quand je bascule sur un compte amazon fr je perds tout. Ayant un pb avec mon numéro de tel déjà associé je pense que mon pb est donc là.
  9. Cool Je test plus tard merci
  10. Quand je bascule pour avoir accès au store us j'ai mes skills fr installées qui disparaissent.... j'active donc la skills Fibaro j'active le fibaro ID mais dès que je re-bascule sur FR plus de skills de chez Fibar installé mais mes skills fr ré apparaissent .... là j'ai les skills Fr sur le phone et sur le pc je suis en US ( https://alexa.amazon.com/spa/index.html#skills/your-skills/?ref-suffix=ysa_gw )
  11. Bloug

    Json T_end

    Merci ! j'ai posé la variable myJson sur une seule ligne car sinon j'ai toujours des erreur de { local myJson = '{ "event": { "cgi": "modzona", "system_number": "1", "zone_number": "4", "option": "state", "value": 0, "device_id": "5a37f4167765621039320000" } }' local myJson = local http = net.HTTPClient() http:request('www.airzonecloud.com/events/?user_email=****&user_token=****' , { options = { method = 'PUT', data = json.encode(myJson) }, fibaro:debug('Retour : '.. myJson) }) [DEBUG] 22:54:20: [1;31m2018-06-15 22:54:20.597466 [ fatal] Unknown exception: /opt/fibaro/scenes/47.lua:15: '}' expected (to close '{' at line 14) near ':' et si je pose en ligne : local myJson = '{ "event": {"cgi": "modzona", "system_number": "1", "zone_number": "4", "option": "state", "value": 0, "device_id": "5a37f4167765621039320000" }}' local http = net.HTTPClient() http:request('www.airzonecloud.com/events/?user_email=****&user_token=****' , { options = { method = 'PUT', data = json.encode(myJson) }, fibaro:debug('Retour : '.. myJson) }) [DEBUG] 22:53:24: Retour : { "event": {"cgi": "modzona", "system_number": "1", "zone_number": "4", "option": "state", "value": "0", "device_id": "5a37f4167765621039320000" }} [DEBUG] 22:53:24: �[1;31m2018-06-15 22:52:24.972194 [ fatal] Unknown exception: std::runtime_error: 'Invalid argument'
  12. Bloug

    Json T_end

    bon nouvelle recette j'ai pas d'erreur mais j'ai pas de retour également : function postMethod(data) modeOn = ' "event": { "cgi": "modzona", "system_number": "1", "zone_number": "4", "option": "state", "value": 0, "device_id": "5a37f4167765621039320000" } ' local http = net.HTTPClient() http:request('https://airzonecloud.com/events/?user_email=****&user_token=****' , { options = { method = 'POST', headers = {}, data = modeOn, timeout = 1000 }, success = function(status) fibaro:debug(status) local result = status.data; if result.status ~= 1 then print("failed"); print(status.data); end end, error = function(err) print('[ERROR] ' .. err) end }) end meme si je vire le timeout j'ai aucun retour dans mon sniffage j'ai trouver en POST : POST /events/?user_email=****&user_token=*****8 HTTP/1.1 Host: www.airzonecloud.com Connection: keep-alive Content-Length: 131 Accept: application/json, text/plain, */* Origin: file:// X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Linux; Android 8.0.0; SM-G950F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/67.0.3396.87 Mobile Safari/537.36 Content-Type: application/json;charset=UTF-8 Accept-Encoding: gzip, deflate Accept-Language: fr-FR,en-US;q=0.9 et json { "event": { "cgi": "modzona", "system_number": "1", "zone_number": "4", "option": "state", "value": 0, "device_id": "5a37f4167765621039320000" } } où l'etat de mon Module Bureau passe de On à OFF grace à " State "
  13. Bloug

    Json T_end

    me revoila Bon j'avance bien et j'arrive a récupérer toutes les infos de mode etat consigne températures etc ... là je cherche a voir si j'arrive à modifier une consigne. La methode est POST mais ne faut il pas utiliser PUT sur la HC2 ? dois-je utiliser la même forme que précédemment : local http = net.HTTPClient() http:request('https://airzonecloud.com/events/' .. myConsigne , { options = { method = 'PUT' }, data = { "event": { "cgi": "modzona", "system_number": "1", "zone_number": "4", "option": "state", "value": 0, "device_id": "5a37f4167765621039320000" } } Je suppose que le : local http = net.HTTPClient() peut il être supprimé également ? c'est la position / ou l'insertion du data = { que j'ai calqué sur des ex du forum qui me chagrine. merci
  14. une vrai mouche mouche verte le GH
  15. Et lifedomus...
  16. Alexa ....pourquoi j'ai pas été livré ? oupsss .....pardon
  17. Bloug

    Json T_end

    Trop Fort !!
  18. Bloug

    Json T_end

    un Grand merci car là c'est chaud +++ ! j'ai toujours une erreur sur la ligne : local nameZ1 = jsonTable.zones[0].name avec l'erreur : [DEBUG] 20:04:29: [1;31m2018-06-12 20:04:29.062230 [ fatal] LUA error: /opt/fibaro/scenes/47.lua:30: attempt to index field '?' (a nil value)
  19. Bloug

    Json T_end

    :s Désolé genre c'est le liste " list.data" ou le "list" de la fonction ? local http = net.HTTPClient() http:request('https://airzonecloud.com/zones/?format=json&system_id=***&user_email=***&user_token=***', { options = { method = 'GET' }, success = function(list) fibaro:debug(' Retour : '.. list.data) end, error = function(err) fibaro:debug(err) end }) nameZ1 = json.decode(list.data) fibaro:debug(' Name Z1 : ' ..nameZ1.zones[0].name)
  20. Bloug

    Json T_end

    ok, je regarde donc du coté du httpclient() merci à tous ! Ps c'est quand meme chaud chaud local http = net.HTTPClient() http:request('https://airzonecloud.com/zones/?format=json&system_id=***&user_email=***&user_token=***', { options = { method = 'GET' }, success = function(list) fibaro:debug(' Retour : '.. list.data) end, error = function(err) fibaro:debug(err) end }) [DEBUG] 07:28:30: Retour : {"zones":[{"id":"5b139f1ef51445a30df80c70","system_id":"5b139f1ef51445a30df80c6f","device_id":"5a37f4167765621039320000","modes":"1111111011","warning":"0","name":"Salon","system_number":"2","zone_number":"1","state":"0","consign":"26.0","temp":"26.3","mode":"1","velocity":null,"show_velocity":null,"sleep":"0","lower_conf_limit":"18.0","upper_conf_limit":"30.0","master":"1","eco":"0","prog_enabled":"1","speed_prog_mode":"0","show_ventilation":"1","updated_at":1528610437,"setup_type":"0","class":"Zone","last_update":1528610437,"next_schedule_number":"0","led":null,"offset":null,"cold_offset":null,"heat_offset":null,"scene":null,"air_flow":null,"humidity":null,"coldConsign":"","heatConsign":"","auto":false,"temperature_unit":false,"config":null}]} Après j'ai un moyen de "piocher" dans le retour ? ?
  21. Bloug

    Json T_end

    Cool merci @TonyC ! à voir le cousin italien @Lazer c'est le HTTPS ou la redirection ? c'est à dire de passer par une scène ?
  22. Bloug

    Json T_end

    merci, voici le retour : HC2 = Net.FHttp("airzonecloud.com"); response, status, errorCode = HC2:GET("/zones/?format=json&system_id=***&user_email=***&user_token=***") fibaro:debug(' status : ' ..status) fibaro:debug(' errorCde : ' ..errorCode) fibaro:debug(' response : ' ..response) [DEBUG] 06:48:14: status : 302 [DEBUG] 06:48:14: errorCde : 0 [DEBUG] 06:48:14: response : y'a pas un probleme avec le HTTPS ? si je colle le lien en HTTP dans le navigateur il bascule en HTTPS
  23. Bloug

    Json T_end

    oui c'est bien le Json.decode :s
  24. Bloug

    Json T_end

    Désolé messieurs toujours la même erreur j'ai vérifie le Json sur https://jsonlint.com/ et il le déclare comme correct pourtant C'est pour récupérer les infos des mes blueface airzone et voir à pouvoir envoyer une commande mais c'est mal Barrrrré
×
×
  • Créer...