couillerot Posté(e) le 19 avril 2021 Signaler Posté(e) le 19 avril 2021 (modifié) salut à tous, je bute sur ce morceau de code et je n'en comprends pas la cause... if (fibaro.getGlobalVariable("Etat_Consigne_HC") == "ACTIVE") and ( (tonumber(fibaro.getValue(idTemp, "value")) >= tonumber(fibaro.getGlobalVariable("Consigne_HC") - 1) and tonumber(fibaro.getValue(idTemp, "value")) <= tonumber(fibaro.getGlobalVariable("Consigne_HC")) ) ) [19.04.2021] [17:38:00] [ERROR] [QUICKAPP690]: main.lua:77: bad argument #2 to 'tonumber' (base out of range) et ça m'énerve de ne pas pouvoir me débrouiller seul car ça doit être un truc tout c.n !!! Stef Modifié le 19 avril 2021 par couillerot
Lazer Posté(e) le 19 avril 2021 Signaler Posté(e) le 19 avril 2021 il doit avoir du mal à interpréter la base (décimal, binaire, hexadécimal, etc). Essaye de forcer la base décimale : tonumber(xxx, 10)
couillerot Posté(e) le 19 avril 2021 Auteur Signaler Posté(e) le 19 avril 2021 merci Lazer ! dans ce style là ? tonumber(fibaro.getGlobalVariable("Consigne_HC", 10) - 1)
Lazer Posté(e) le 19 avril 2021 Signaler Posté(e) le 19 avril 2021 Avec le -1 en dehors du tonumber du coup, car il faut que ta string soit convertie en nombre avant l'opération tonumber(fibaro.getGlobalVariable("Consigne_HC", 10)) - 1
couillerot Posté(e) le 19 avril 2021 Auteur Signaler Posté(e) le 19 avril 2021 marche pas mais c'est ok, j'ai pu contourner le probleme ! merci encore Lazer pour ta patience Stef
couillerot Posté(e) le 25 avril 2021 Auteur Signaler Posté(e) le 25 avril 2021 Autre question de newbie peut-on créer des "variables énumérées" (ou pseudo-énumérées via une extraction de chaine) avec le tableau des variables locales ? merci Stef
Lazer Posté(e) le 25 avril 2021 Signaler Posté(e) le 25 avril 2021 Non... enfin il va falloir coder ta propre logique, mais rien n'empêcherait un utilisateur de modifier la variable à une valeur non autorisée directement via l'interface Web. Le principe des variables énumérées c'est de limiter les valeur à une liste de choix prédéfinie... du coup la réponse directe à ta question, c'est bien non.
couillerot Posté(e) le 25 avril 2021 Auteur Signaler Posté(e) le 25 avril 2021 (modifié) ok, merci Lazer pour cette précision au moins je sais vers quoi je dois me diriger ou plutôt vers quoi je ne dois pas m'orienter : une impasse ! Stef Modifié le 25 avril 2021 par couillerot
Lazer Posté(e) le 25 avril 2021 Signaler Posté(e) le 25 avril 2021 Pour compléter, ça sera possible, un jour, quand Fibaro permettra officiellement d'utiliser les listes déroulantes dans l'interface des QuickApps. Ainsi l'utilisateur pourra facilement choisir une valeur dans la liste déroulante, limitée aux choix proposés. En attendant, tu peux faire plusieurs boutons, chaque bouton permettant de porter la valeur qui t'intéresse. Bon si par contre tu as une liste de choix parmi 10....20... 50 valeurs, créer autant de boutons ne va pas être une bonne solution.
couillerot Posté(e) le 29 avril 2021 Auteur Signaler Posté(e) le 29 avril 2021 Autre question qui n'a rien à voir... voilà, je souhaite réaliser un petit QA basé sur l'api de weatherbit qui s'orienterait plutôt vers les prévisions de précipitations pour mon arrosage auto. j'arrive bien à extraire les datas mais je coince sur le comment récupérer toutes les variables "precip"... du data ??? et je n'y connais absolument rien en table s'il s'agit de cela... je sais bien que cela est très basique comme demande mais je ne souhaite qu'apprendre et pouvoir bricoler deux ou trois trucs merci Stef voici un extrait du data :
Lazer Posté(e) le 29 avril 2021 Signaler Posté(e) le 29 avril 2021 Ce sont des données au format JSON, donc un début de réponse c'est d'utiliser json.decode() pour transformer son contenu en un beau tableau exploitable en LUA. Exemple ici :
couillerot Posté(e) le 30 avril 2021 Auteur Signaler Posté(e) le 30 avril 2021 merci Lazer, je l'avais déjà repérer depuis un bon moment Stef
couillerot Posté(e) le 30 avril 2021 Auteur Signaler Posté(e) le 30 avril 2021 zut... {"status_code":429,"status_message":"Your request count (872) is over the allowed limit of 500 per day - Upgrade your key, or retry after 513.63333333333 minutes"}
Lazer Posté(e) le 30 avril 2021 Signaler Posté(e) le 30 avril 2021 LOL, ben tu n'as plus qu'à attendre 513.63333333333 minutes, attention c'est précis
couillerot Posté(e) le 30 avril 2021 Auteur Signaler Posté(e) le 30 avril 2021 j'ai hâte que les 0.6333333 se terminent !!! Stef
couillerot Posté(e) le 1 mai 2021 Auteur Signaler Posté(e) le 1 mai 2021 (modifié) finalement, sur le debug j'arrive obtenir quelquechose : cependant, je souhaite aller justement dans la table data / table dans le tableau des variables, j'arrive bien à récupérer quelques donnée mais la table data est vide... une piste, peut-être... je sèche ! voici le morceau de code : self.http:request("http://api.weatherbit.io/v2.0/forecast/daily?city_id=3027642&lang=fr&key=e1fc285d7350412c80504c0670faba05", { success = function(response) if response.status == 200 then if response.data and response.data ~= "" then local jsonTable = json.decode(response.data) local k, v for k, v in pairs(jsonTable) do print("key = " .. k .. " - type(v) = " .. type(v)) self:setVariable(k,v) end Stef Modifié le 1 mai 2021 par couillerot
Lazer Posté(e) le 1 mai 2021 Signaler Posté(e) le 1 mai 2021 Dans ce cas il faut que tu parcoures la table jsonTable.data
couillerot Posté(e) le 1 mai 2021 Auteur Signaler Posté(e) le 1 mai 2021 (modifié) {"status_code":429,"status_message":"Your request count (513) is over the allowed limit of 500 per day - Upgrade your key, or retry after 477.41666666667 minutes"} rebelotte ! Stef Modifié le 1 mai 2021 par couillerot 1
couillerot Posté(e) le 1 mai 2021 Auteur Signaler Posté(e) le 1 mai 2021 question : pourquoi sous data il me marque des object Object... ? données pas encore décodées ? Stef
Lazer Posté(e) le 1 mai 2021 Signaler Posté(e) le 1 mai 2021 Euh... je ne sais pas Mais il semble y avoir beaucoup de données, et plusieurs tableaux imbriquées, donc il faut que tu trouves le bon "chemin" pour accéder aux données dont tu as besoin.
couillerot Posté(e) le 1 mai 2021 Auteur Signaler Posté(e) le 1 mai 2021 merci Lazer pour ces précisions Stef
couillerot Posté(e) le 9 mai 2021 Auteur Signaler Posté(e) le 9 mai 2021 Merci Lazer pour ton aide car j'ai bientôt fini mon QA WeatherBit avec gestion auto de l'arrosage il me reste encore à fignoler quelques bricoles et surtout l'intégrer en tant que fibaro.weather Stef eee40" comme valeur à "data" 1
couillerot Posté(e) le 9 mai 2021 Auteur Signaler Posté(e) le 9 mai 2021 au fait, existe t-il un moyen de décaler du texte ? j'ai bien essayé avec string.gsub, \t, \b ...mais rien à faire ! merci Stef
Lazer Posté(e) le 9 mai 2021 Signaler Posté(e) le 9 mai 2021 Essaie l'espace forcé en HTML : Tu peux en mettre plusieurs à la suite
couillerot Posté(e) le 9 mai 2021 Auteur Signaler Posté(e) le 9 mai 2021 merci lazer, je vais essayer stef
Messages recommandés