DZvents : créer un unique tableau de paramètres?

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

DZvents : créer un unique tableau de paramètres?

Message par papoo »

Bonjour,
dans un script DZvents je souhaiterais simplifier ma déclaration des devices et de leurs paramètres
actuellement je suis obligé de faire comme ceci :

Code : Tout sélectionner

local DEVICES = {
	['device_1'] = 'device_1 Act',
	['device_2'] = 'device_2 Act'
}
local TimeOut = {
	['device_1 Act'] = 6,
	['device_2 Act'] = 10
}

local Min = {
	['device_1 Act'] = 4,
	['device_2 Act'] = 3
}
local Max = {
	['device_1 Act'] = 15,
	['device_2 Act'] = 100
}
local Notify = {
	['device_1 Act'] = 'No',
	['device_2 Act'] = 'Yes'
}
return {

	on = {
		devices = {							
			'device_1',
			'device_1 Act',
			'device_2',
			'device_2 Act'
		},
	},


	execute = function(domoticz, device)

		if (DEVICES[device.name] ~= nil) then

			local switch = domoticz.devices(DEVICES[device.name])
			local timeout = TimeOut[DEVICES[device.name]]
			local Min = Min[DEVICES[device.name]]
			local Max = Max[DEVICES[device.name]]
            
        end
je souhaiterais remplacer les Min, Max, Notify, TimeOut
par un truc du genre

Code : Tout sélectionner

local parametres = {
	['device_1 Act'] = {TimeOut = 6, Min = 4, Max = 15, Notify = 'No'},
	['device_2 Act'] = {TimeOut = 10, Min = 3, Max = 100, Notify = 'Yes'}
}
la syntaxe est elle bonne? comment ensuite récupérer les paramètres de chaque device
j'ai essayé entre autres domoticz.parametres.

Code : Tout sélectionner

local timeout = domoticz.parametres.TimeOut[DEVICES[device.name]]
sans succès
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre