[Tuto] stocker plusieures variables dans une seule

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

[Tuto] stocker plusieures variables dans une seule

Message par jackslayter »

tout d'abord il faut créer une variable user
1.png
1.png (26.18 Kio) Consulté 4078 fois
ensuite il faut choisir un caractère qui servira de séparateur, dans mon cas c'est ; si vous voulez mettre autre chose il ne faudra pas que ce caractère soit présent dans vos variables.

dans un script lua vous récupérez les variables comme ceci

Code : Tout sélectionner

V1, V2, V3, V4, V5 = uservariables['multivariable']:match("([^;]+);([^;]+);([^;]+);([^;]+);([^;]+)")
vous pouvez voir les ; qui sont entre );(

vous pouvez ajouter d'autres variables (V6, V7,...) il suffit d'ajouter le caractère séparateur ; et le code

Code : Tout sélectionner

([^;]+)
-ensuite il faut mettre la variable user à jour en répétant les variables inchangées (V1,V3,V4,V5) et en ajoutant la nouvelle variable (la_nouvelle_variable)
-changer devant la variable le type de valeur: "tostring" pour une chaine ou "tonumber" pour un nombre

Code : Tout sélectionner

commandArray[99] = {['Variable:multivariable'] = tostring(V1)..";"..tostring(la_nouvelle_variable)..";"..tostring(V3)..";"..tonumber(V4)..";"..tostring(V5)}
la on peu voir le caractère séparateur ; (..";"..)

voila
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: [Tuto] stocker plusieures variables dans une seule

Message par Chrominator »

Je vais être un peu brutal mais ça sert à quoi ? :ugeek:
Le nombre de variables dispo est limité dans Domoticz ?
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: [Tuto] stocker plusieures variables dans une seule

Message par vil1driver »

Salut,

Ceci suffit ;)

Code : Tout sélectionner

commandArray['Variable:multivariable'] = V1..";"..la_nouvelle_variable..";"..V3..";"..V4..";"..V5
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre