Page 1 sur 1

Récupérer variable en dzvent

Publié : 06 juin 2020, 16:39
par Wolfen38
Salut,

J'essaie de récupérer une variable utilisateur en dzvent, mais je n'y arrive pas.

J'ai essayé différentes choses dont

Code : Tout sélectionner

prec = domoticz.variables('Pluie-jour').value
Mais sans succès

Je googlise a fond, mais je trouve pas

Re: Récupérer variable en dzvent

Publié : 06 juin 2020, 18:53
par Keros
J'utilise le code suivant : domoticz.variables('Xxxxxxxxxxxxxxx').value : ton code me semble bon.

Tu as bien la même texte comme nom de la variable ?

Tu n'as pas pas de dispositif avec le même nom ?

Re: Récupérer variable en dzvent

Publié : 06 juin 2020, 19:36
par denis_brasseur
Le référentiel DzVents
DzVents: next generation LUA scripting
J'utilise ceci, et fonctionne parfaitement.

Code : Tout sélectionner

execute = function(dz)
	local ma_variable = dz.variables('var_ma_variable ').value
Attention à function(dz), dz peut être différent, en tenir compte

Je commence toujours le nom de mes variables par var_ pour eviter les doublons avec des noms de devices.

Re: Récupérer variable en dzvent

Publié : 06 juin 2020, 21:04
par Wolfen38
Qu'entends tu par dz peut être différent ?

Je connais pas le dzvent et en effet dans tout ce que j'ai lu parfois c'est dz et parfois domoticz mais je ne sais pas pourquoi. Je pensais que les 2 étaient identiques

Envoyé de mon Mi 9T Pro en utilisant Tapatalk


Re: Récupérer variable en dzvent

Publié : 06 juin 2020, 22:14
par denis_brasseur
Les 2 sont identiques, à condition qu'ils soient identiques.

Re: Récupérer variable en dzvent

Publié : 06 juin 2020, 22:25
par Keros
Le code par défaut pour un déclenchement sur device en dzvents est :

Code : Tout sélectionner

return {
	on = {
		devices = {
			'myDevice'
		}
	},
	execute = function(domoticz, device)
		domoticz.log('Device ' .. device.name .. ' was changed', domoticz.LOG_INFO)
	end
}
domoticz est un nom de variable dans execute = function(domoticz, device). Certains utilisent dz pour réduire les écritures. Pareil pour device, certains utilisent item.

Re: Récupérer variable en dzvent

Publié : 07 juin 2020, 11:04
par Wolfen38
Nickel, merci les gars.

Re: Récupérer variable en dzvent

Publié : 07 juin 2020, 17:27
par hestia
Wolfen38 a écrit : 06 juin 2020, 21:04 j'ai lu parfois c'est dz et parfois domoticz mais je ne sais pas pourquoi
tu pourrais mettre toto ;-)
on peut mettre soit

Code : Tout sélectionner

execute = function(domoticz triggerObject)
...
dz.log('*** Hello', domoticz.LOG_FORCE)
soit

Code : Tout sélectionner

execute = function(dz, triggerObject)
...
dz.log('*** Hello', dz.LOG_FORCE)
l'avantage mettre dz, c'est que c'est plus court et plus lisible dans le script.
Mais il faut mettre la même chose partout, sauf

Code : Tout sélectionner

return {
active = true,
logging = {level = domoticz.LOG_ERROR,
où c'est domoticz en entier car avant le execute