Récupérer variable en dzvent

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Récupérer variable en dzvent

Message 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
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Récupérer variable en dzvent

Message 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 ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Récupérer variable en dzvent

Message 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.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Récupérer variable en dzvent

Message 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

denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Récupérer variable en dzvent

Message par denis_brasseur »

Les 2 sont identiques, à condition qu'ils soient identiques.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Récupérer variable en dzvent

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Récupérer variable en dzvent

Message par Wolfen38 »

Nickel, merci les gars.
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Récupérer variable en dzvent

Message 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
Répondre