Aller au contenu

Tableau Dans Une Variable Globale


Domotique-Home

Messages recommandés

Bonjour je cherche a placer un tableau dans une variable globale.

Avez vous une idée ?

 

J'ai créée une variable "mon_tableau" = 1,2,3,4,5,60

et je voudrais la récupérer dans le code LUA comme un tableau pour récupérer une valeur. 

Exemple:

 

local mon_tableau = fibaro:getGlobal('mon_tableau');
local devices = {mon_tableau};
fibaro:debug(devices[2]);
 
bien sur l'exemple me retourne une erreur de type
[ERROR] 21:42:20: line :debug (arg 2), expected 'string const &' got 'nil'
 
 
Merci pour votre aide.

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Tu peux malheureusement stocké que des chaînes de caractères

Tu peux les stocker sous forme de chaîne avec un séparateur "," ou autre puis les "spliter" pour récupérer un tableau


function split(text, sep)
		local sep, fields = sep or ":", {}
		local pattern = string.format("([^%s]+)", sep)
		text:gsub(pattern, function(c) fields[#fields+1] = c end)
		return fields
end

local mon_tableau  = "1,2,3,4,5,60"
local devices = split(mon_tableau, ",")

fibaro:debug(devices[2])
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

En fin de compte ... il y a plus simple :)

 

json est notre ami

local tableau = {1,2,3,4,5}
 
-- pour stocker
fibaro:setGlobal("mon_tableau", json.encode(tableau))
fibaro:sleep(2000)
 
-- pour récupérer
local mon_tableau = fibaro:getGlobal("mon_tableau");
local devices = json.decode(mon_tableau);
fibaro:debug(devices[4]);
  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
×
×
  • Créer...