DzVents ou Blocky ... rien ne fonctionne Oo

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 <\>.
orducom1
Messages : 7
Inscription : 15 juin 2019, 15:17

DzVents ou Blocky ... rien ne fonctionne Oo

Message 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
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

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

Message 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
}
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Répondre