Indyana Posté(e) le 23 juin 2015 Signaler Posté(e) le 23 juin 2015 Au secours! Depuis cette nuit il semble que j'ai de gros problème avec le json.decode. Celui ci ne fonctionne plus. Le code suivant tout simple me donne l'erreur "[ERROR] 14:29:12: line 26: bad argument #1 to 'decode' (expected 1 argument)" Ca m'a shooté mes variables globales dont celle qui contient mes id de modules. Auriez vous une idée? toto=json.encode('jaimelespommes'); titi=json.decode(toto);
Indyana Posté(e) le 23 juin 2015 Auteur Signaler Posté(e) le 23 juin 2015 Heum.... évolution après 2 reboot, le decodage simple fonctionne.Mais galère, il semble que ce soit le passage par référence de ma global qui pose problème : liste = fibaro:getGlobal('id'); id = json.decode(liste); fibaro:debug('ID1:'..tostring(json.decode(liste))); => Fonctionne renvoi bien ma table id = json.decode(fibaro:getGlobal('id')); => Erreur Bad argument #1 to 'decode' fibaro:debug('ID2:'..tostring(json.decode(liste))); Je suppute donc un problème de variable globale... Mais j'ai eut beau la recréer/supprimer, rien àfaire, ca passe pas.
jojo Posté(e) le 23 juin 2015 Signaler Posté(e) le 23 juin 2015 j'ai essayé ceci chez moi dans un VD, et il fonctionne parfaitement. Es-tu sûr que c'est dans un VD ? car dans une scène il y a un problème connu avec json.decode/json.encode
Invité chris6783 Posté(e) le 23 juin 2015 Signaler Posté(e) le 23 juin 2015 N'aurais tu pas modifié et sauvé une autre variable avec le panneau variable ? Chez moi cela reset les autres variables un peu au hasard et souvent à"NaN" ( je suis en 3.591). Si c'est le cas en fonction de ton code le décode peut en effet partir en exception
Indyana Posté(e) le 23 juin 2015 Auteur Signaler Posté(e) le 23 juin 2015 Chez moi c'est l'inverse, dans une de mes scènes il fonctione parfaitement alors que dans mon vd ca fonctionne pas! [Mode boulet on] Bon heu alors en fait, il y avait une double parenthèse qui devait servir à quelquechose et que j'avais supprimer parceque pas beau pour un "puriste compulsif obsessionnel pas bien dans sa tête" comme moi: id = json.decode((fibaro:getGlobal('id'))); => Fonctionne id = json.decode(fibaro:getGlobal('id')); => ne fonctionne pas.... Si je tenais le gars qui a codé le Lua.... [Mode boulet off]
jojo Posté(e) le 23 juin 2015 Signaler Posté(e) le 23 juin 2015 @Indiyana, J'ai déjàobservé ce problème : dans le json.decode, l'argument doit être une variable, et pas une fonction, comme tu l'as identifié dans ton exemple
Indyana Posté(e) le 23 juin 2015 Auteur Signaler Posté(e) le 23 juin 2015 En fait j'ai eut une conjonction de problème (une variable globale qui a dépassé les 250 caractères + modif du json.decode). Je découvre le problème pour le json, mais je vais le retenir celui làtellement il m'a cassé les pieds!...
Messages recommandés