pepite Posté(e) le 26 avril 2017 Signaler Posté(e) le 26 avril 2017 Bonjour @tibo789, Tu peux ressayer cela stp ? Pour ma culture ;-) local jsonTable = api.get("/api/panels/drenchers") fibaro:debug("Lecture de json.rainDelay avant modification: " ..jsonTable.rainDelay.. " Cycles : " ..jsonTable.cycles) fibaro:debug("Nom 187 : " ..jsonTable.drenchers[1].name)
tibo789 Posté(e) le 26 avril 2017 Auteur Signaler Posté(e) le 26 avril 2017 Bonjour pépite, je suis encore à l'hosto je test des que j'ai retrouvé la forme
pepite Posté(e) le 26 avril 2017 Signaler Posté(e) le 26 avril 2017 Bonne convalescence, j'espère que ça s'est bien passé ;-) embete pas trop les infirmières ;-)
tibo789 Posté(e) le 1 mai 2017 Auteur Signaler Posté(e) le 1 mai 2017 Bonjour, je viens de tester ton code et : je modifie en ajoutant la ligne decode : local response = api.get("/api/panels/drenchers") jsonTable = json.decode(response) fibaro:debug("Lecture de json.rainDelay avant modification: " ..jsonTable.rainDelay.. " Cycles : " ..jsonTable.cycles) fibaro:debug("Nom 187 : " ..jsonTable.drenchers[1].name) et l'erreur devient Je remplace l'api:get : HC2 = Net.FHttp("127.0.0.1",11111) local response = HC2:GET("/api/panels/drenchers") jsonTable = json.decode(response) fibaro:debug("Lecture de json.rainDelay avant modification: " ..jsonTable.rainDelay.. " Cycles : " ..jsonTable.cycles) fibaro:debug("Nom 187 : " ..jsonTable.drenchers[1].name) et la nickel donc je continu en realisnat une modif: HC2 = Net.FHttp("127.0.0.1",11111) local response = HC2:GET("/api/panels/drenchers") jsonTable = json.decode(response) fibaro:debug("Lecture de json.rainDelay avant modification: " ..jsonTable.rainDelay.. " Cycles : " ..jsonTable.cycles) fibaro:debug("Nom 187 : " ..jsonTable.drenchers[1].name.." Mode : "..jsonTable.drenchers[1].mode) jsonTable.rainDelay=34 jsonTable.cycles=2 jsonTable.drenchers[1].mode="off" fibaro:debug("Lecture de json.rainDelay apres modification :" ..jsonTable.rainDelay.. " Cycles : " ..jsonTable.cycles) fibaro:debug("Nom 187 : " ..jsonTable.drenchers[1].name.." Mode : "..jsonTable.drenchers[1].mode) et la de mieux en mieux donc je rajoute la ligne Hc2:Put et la c'est la M... erreur 503 , le restart service ne suffit pas je doit faire le restaure et galere pendant plus d'une heure
pepite Posté(e) le 1 mai 2017 Signaler Posté(e) le 1 mai 2017 Bonjour, Bon sorti de l'hosto..j'espere que ta convalescence se passe bien. C'est bizarre quand même que l'api.get ne fonctionne pas chez toi ;-) Après la modification que tu fais, il faut reencoder ton nouveau json avec un nom different à mon avis puis il faut renvoyer tout le json Comme ceci local newJson = json.encode(jsonTable) HC2:PUT("/api/panels/drenchers", newJson) Courage ;-) l'api.get fonctionnerait on aurait pas a faire tout ça;-)
tibo789 Posté(e) le 1 mai 2017 Auteur Signaler Posté(e) le 1 mai 2017 j'ai reussi a faire fonctionner l'api.get local response = api.get("/api/panels/drenchers") il faut retirer "/Api" local response = api.get("/panels/drenchers") mais encore un essai erreur 503 je vais craquer ;(
tibo789 Posté(e) le 1 mai 2017 Auteur Signaler Posté(e) le 1 mai 2017 Au fond du lit a me prendre la tete avec ma Hc2 La boite ne veux pas redemarrer , c'est reparti pour un restaure . j'ai juste essayé d'ecrire le raindelay en numerique avant le api.put. Il doit y avoir un probleme de format, ce qui m'enerve c'est que cela a bien fonctionné pendant 1an
pepite Posté(e) le 1 mai 2017 Signaler Posté(e) le 1 mai 2017 olaala, c'est de ma faute, j' n'avais pas vu, effectivement, il ne faut pas le /api..quel c.. je te faire perdre du temps....PArdon.. je te refais ça avec l'api.get et api.put, inutile de gérer les erreurs ni d'encoder la réponse ;-)
pepite Posté(e) le 1 mai 2017 Signaler Posté(e) le 1 mai 2017 A tester évidemment ;-) mais ça devrait le faire ;-) local drenchersTable = api.get("/panels/drenchers") fibaro:debug("Lecture de rainDelay avant modification: " ..drenchersTable.rainDelay.. " Cycles : " ..drenchersTable.cycles) fibaro:debug("Nom 187 : " ..drenchersTable.drenchers[1].name.." Mode : "..drenchersTable.drenchers[1].mode) -- --------------------- drenchersTable.rainDelay=34 drenchersTable.cycles=2 drenchersTable.drenchers[1].mode="off" -- --------------------- fibaro:debug("Lecture de rainDelay apres modification :" ..drenchersTable.rainDelay.. " Cycles : " ..drenchersTable.cycles) fibaro:debug("Nom 187 : " ..drenchersTable.drenchers[1].name.." Mode : "..drenchersTable.drenchers[1].mode) -- --------------------- api.put("/panels/drenchers", drenchersTable)
tibo789 Posté(e) le 2 mai 2017 Auteur Signaler Posté(e) le 2 mai 2017 Il n'y a pas moyen des que je fais l'api.put je pars en erreur 503. et restore obligatoire De ton coté ,tu as essayé avec ta box? je sais plus quoi faire . ca sert a rien d'avoir de la domotique pour gerer son arrosage si l'on ne peu pas la gerer comme on veut en fonction de la meteo
pepite Posté(e) le 2 mai 2017 Signaler Posté(e) le 2 mai 2017 SAlut, Je te l'ai dit, je n'utilise pas le panneau d'arrosage. Les api.put fonctionnent. c'est bizarre, t'as essaye d'alerter le support. Essai un api.put sur autre chose que le panneau d'arrosage, pour tester. Ca permettra peut-être d'éliminer des causes.
tibo789 Posté(e) le 2 mai 2017 Auteur Signaler Posté(e) le 2 mai 2017 Salut pepite, je pense avoir essayé dans tous les sens meme avec mon restore en 4.036 ou cela fonctionnait correctement. J'ai vu des problemes similaires sur d'autre forum donc J'ai fait un ticket au support fibaro mais , ils sont fermé. Dans l'attente de la reponse, en tout cas merci et à suivre
pepite Posté(e) le 2 mai 2017 Signaler Posté(e) le 2 mai 2017 Meme un put sur un simple device, genre la description d un module ? Wait and see:-)Envoyé de mon Nexus 5X en utilisant Tapatalk
tibo789 Posté(e) le 2 mai 2017 Auteur Signaler Posté(e) le 2 mai 2017 j'attends la reponse de fibaro, j'en est marre de faire des restore sur restore. Pourtant j'avais trouvé le type de variable a ecrire qui etait bien integer le probleme doit etre ailleur Il va falloir remettre toutes les icones quel bordel.
Loizeauc Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 Il y a 14 heures, tibo789 a dit : j'attends la reponse de fibaro, j'en est marre de faire des restore sur restore. Pourtant j'avais trouvé le type de variable a ecrire qui etait bien integer le probleme doit etre ailleur Il va falloir remettre toutes les icones quel bordel. Bonjour, j'ai refait des tests avec mes panneaux et le code partagé précédemment et aucun soucis chez moi. Avez-vous essayé de supprimer totalement les panneaux et d'en créer de nouveaux ? Autre piste qui pourrait avoir une relation de cause à effet, vérifiez si ipaddress/api/mobile/interface/data donne bien un xml complet, si pas couper le courant de la box et la laisser redémarrer. 1
tibo789 Posté(e) le 3 mai 2017 Auteur Signaler Posté(e) le 3 mai 2017 Bonjour, j'aviais jamais vue a priori le fichier est complet. apres le restore ,il doit se recreer completement je pense. Oui mais il me semble que l'on a pas la meme version d'apres ce que tu m'a dit . je suis en 4.120 et en 4.036 ca marche j'ai fait le test en restorant la box
Loizeauc Posté(e) le 3 mai 2017 Signaler Posté(e) le 3 mai 2017 Il y a 1 heure, tibo789 a dit : Bonjour, j'aviais jamais vue a priori le fichier est complet. apres le restore ,il doit se recreer completement je pense. Oui mais il me semble que l'on a pas la meme version d'apres ce que tu m'a dit . je suis en 4.120 et en 4.036 ca marche j'ai fait le test en restorant la box moi je suis en 4.120
tibo789 Posté(e) le 4 mai 2017 Auteur Signaler Posté(e) le 4 mai 2017 OK, C'est reparti. J'efface mes 7 arroseurs , je sauvegarde, je reboot et je teste ton code 1
pepite Posté(e) le 4 mai 2017 Signaler Posté(e) le 4 mai 2017 En edoerant que ca soit la solution :-) courageEnvoyé de mon Nexus 5X en utilisant Tapatalk
tibo789 Posté(e) le 4 mai 2017 Auteur Signaler Posté(e) le 4 mai 2017 Bonjour Loizeauc, J'ai reussi a faire fonctionner ton code apres quelques modif , il faut ajouter l'index du tableau drenchers => drenchers Révélation for i = 1, #dr do fibaro:debug("Device : " .. #dr) id = jsonTable.drenchers.id nd = jsonTable.drenchers.nextDrenching md = jsonTable.drenchers.mode fibaro:call(id, "setDrenchingMode", "auto") cy = jsonTable.drenchers.cycles -- si pas d'enchainage entre les arroseurs alors remise du temps de départ if ds == 0 then hhn = hh -- début du cycle 1 mmn = mm end -- modification de chaque ligne de cycle for c = 1, #cy do fibaro:debug("Cycle : " .. c) jsonTable.drenchers.cycles[c].hour = hhn jsonTable.drenchers.cycles[c].minute = mmn if da == 0 or jsonTable.drenchers.cycles[c].duration == 0 then jsonTable.drenchers.cycles[c].duration = dun end du = jsonTable.drenchers.cycles[c].duration ET CA MARCHE SANS PLANTAGE J'ai reussi a changer le mode et la duree Bon , il n'y a plus qu'a remonter les manches pour faire VD digne de ce nom 1
tibo789 Posté(e) le 9 mai 2017 Auteur Signaler Posté(e) le 9 mai 2017 Bonjour , en résumé pour résoudre le problème de l'erreur 503 sur modification du json drenchers, il aura fallut supprimer le panneau d'arrosage et le recréer Bizarre mais ça marche nickel. En tout cas de votre aide D’où le VD qui permet le pilotage total de l'arrosage bien sur le délai et ajustement sont piloté par une scène en fonction de la météo Arrosage.vfib
Loizeauc Posté(e) le 9 mai 2017 Signaler Posté(e) le 9 mai 2017 il y a 1 minute, tibo789 a dit : Bonjour , en résumé pour résoudre le problème de l'erreur 503 sur modification du json drenchers, il aura fallut supprimer le panneau d'arrosage et le recréer Bizarre mais ça marche nickel. En tout cas de votre aide D’où le VD qui permet le pilotage total de l'arrosage bien sur le délai et ajustement sont piloté par une scène en fonction de la météo Arrosage.vfib Quelques fois, quand plus rien ne marche ... merci pour le VD Christophe
Messages recommandés