Page 1 sur 1

DzVents ou Blocky ... rien ne fonctionne Oo

Publié : 18 juin 2019, 22:59
par orducom1
Salut les bidouilleurs ;)

Après un échec cuisant en Python :oops: je teste un truc tout bête en DzVents et même en Blocky pour le fun ...

Je souhaite juste affecter une simple valeur entière (ici 23) à une variable utilisateur. Bien sûr, le variable a été créée.
J'ai repris l'exemple sur le wiki de Domoticz :

Code : Tout sélectionner

return {
	on = {
		variables = {
			'Check_Porte_Garage'
		}
	},
	execute = function(domoticz, variable)
		domoticz.log('Variable ' .. variable.name .. ' was changed', domoticz.LOG_INFO)
		variable.value = 23
		--ou - aucune ne fonctionne :(
		--variable.setupvalue = 23
	end
}
et ... rien !

J'ai essayé en Blocky et ... rien non plus :shock:

un exemple de log :

Code : Tout sélectionner

2019-06-18 21:57:22.065 Status: dzVents: Debug: Dumping domoticz data to /home/pi/domoticz/scripts/dzVents/domoticzData.lua
2019-06-18 21:57:22.101 Status: dzVents: Debug: Processing device-adapter for Ch. Olympe: Temperature+humidity device adapter
2019-06-18 21:57:22.101 Status: dzVents: Debug: dzVents version: 2.4.19

Re: DzVents ou Blocky ... rien ne fonctionne Oo

Publié : 19 juin 2019, 11:08
par boum
Bonjour,

Pour modifier une variable utilisateur, c'est

Code : Tout sélectionner

variable.set(nouvelleValeur);
Voir https://www.domoticz.com/wiki/DzVents:_ ... riables.29

Dans ton exemple, le déclencheur est la modification de la variable. Changer sa valeur dans l'exécution du script risquede relancer ce script. Il vaut mieux changer le déclencheur sur un timer ou device pour éviter une boucle infinie.

Un exemple:

Code : Tout sélectionner

return {
	on = {
		devices = {
			'Prise1'
		}
	},
	execute = function(domoticz, device)
		domoticz.log('Device ' .. device.name .. ' was changed', domoticz.LOG_INFO)
		local var = domoticz.variables('Compteur')
		var.set(var.value + 1);
	end
}