Page 1 sur 2

Script DZEvents ne se déclenche pas

Publié : 01 févr. 2021, 11:09
par Dawaman
Salut à tous,

Je suis sur un NAS QNAP.

J'ai créé un script DZEvents (enfin repris un exmple) que j'ai placé dans le répertoire:
domoticz/Domo/scripts/dzVents/scripts/

J'ai créé un interrupteur virtuel nommé "Tél"

Mon script:
return {
active = true,
on = {
devices = {
'Tél'
}
},

execute = function(domoticz, mySwitch)
if (mySwitch.state == 'On') then
domoticz.notify('Hey!', 'I am on!', domoticz.PRIORITY_NORMAL)
end
end
}
Il ne se passe rien dans mes logs

Pourquoi mon script ne se lance pas?

Re: Script DZEvents ne se déclenche pas

Publié : 01 févr. 2021, 12:32
par Keros
Bonjour Dawaman et bienvenue sur le forum ;)

Tu as un sous dossier de trop : /Domo/scripts/dzVents

Tu peux également commencer les scripts directement dans l'interface de DomoticZ. Il y aura des exemples.

J'ai rédigé un guide pour débuter en programmation dans ma signature. Tu y trouveras peut-être des infos.

Pour info, il y a des balise code pour afficher un script dans les messages. Bouton </> ;)

Re: Script DZEvents ne se déclenche pas

Publié : 01 févr. 2021, 13:13
par Dawaman
merci

je check :)

Re: Script DZEvents ne se déclenche pas

Publié : 01 févr. 2021, 15:50
par Dawaman
alors j'ai utilisé un script d'exemple

J'ai un interrupteur qui se nomme Tél_Ferdi
basé sur un matériel de type Dummy

J'ai utilisé le générateur de script dont voici le code:
return {
active = true,
on = {
'Tél Ferdi'
},
execute = function(domoticz,switch)
if (switch['Tél Ferdi'].state == 'On') then
domoticz.notify('Alerte!', 'Capteur Presence à ON!',
domoticz.PRIORITY_NORMAL)
domoticz.log ('il y qq ds le salon')
else
domoticz.notify('Fin d'alerte', 'Plus rien à signaler',
domoticz.PRIORITY_NORMAL)
end
end
}
Ile ne se passe absolument rien. Mais alors kedal :)

Savez vous pourquoi?

Re: Script DZEvents ne se déclenche pas

Publié : 01 févr. 2021, 19:13
par Keros
Utilise les balises code avec le bouton </> au lieu des quotes s'il te plait

Je pense que ton erreur est là : if (switch['Tél Ferdi'].state == 'On') then Regarde bien les exemples (le script par défaut) ou la documentation sur le DZvents : https://www.domoticz.com/wiki/DzVents:_ ... _scripting

Mais tu n'as pas d'erreur dans les logs ? :roll:

Re: Script DZEvents ne se déclenche pas

Publié : 02 févr. 2021, 08:09
par Dawaman
Salut

Pardon, oui j'utiliserai les autres balises.

Non aucune erreur. Comme si rien ne se passait.

Voici mes logs
log_Domo.png
log_Domo.png (20.97 Kio) Consulté 3250 fois

Re: Script DZEvents ne se déclenche pas

Publié : 02 févr. 2021, 09:23
par hestia
hello
d'autres scripts dzvents fonctionnement-ils?
Si c'est ton premier, relis la doc qu'a indiqué Keros, il faut activer dzvents dans les settings
Keros a écrit : 01 févr. 2021, 19:13 la documentation sur le DZvents : https://www.domoticz.com/wiki/DzVents:_ ... _scripting
Si d'autres scripts fonctionnent, repars d'une exemple device

Code : Tout sélectionner

return {
	on = {
		devices = {
			'myDevice'
		}
	},
	execute = function(domoticz, device)
		domoticz.log('Device ' .. device.name .. ' was changed', domoticz.LOG_INFO)
	end
}
en rajoutant plus de log comme cela

Code : Tout sélectionner

return {
	on = {
		devices = {
			205
		}
	},
	logging = {
    level = domoticz.LOG_DEBUG,
    marker = "TEST"
},
	execute = function(domoticz, device)
		domoticz.log('Device ' .. device.name .. ' was changed', domoticz.LOG_DEBUG)
	end
}
Je conseille de mettre les id plutôt que des noms des devices pour éviter les pb avec les accents et les blancs...
Si cet exemple fonctionne, ajoute le if....

Re: Script DZEvents ne se déclenche pas

Publié : 02 févr. 2021, 09:49
par Dawaman
J'ai changé pour l'ID.
Le DzEvent est bien activé.
log_Domo.png
log_Domo.png (13.72 Kio) Consulté 3232 fois
C'est pareil pour les autres scripts....

Re: Script DZEvents ne se déclenche pas

Publié : 02 févr. 2021, 10:04
par hestia
pour être bien sûr, pourrais-tu exécuter ce script

Code : Tout sélectionner

return {
	on = {
		timer = {
			'every minute',
        }       
    },
	logging = {
    level = domoticz.LOG_DEBUG,
    },
	execute = function(dz, timer)
        _G.logMarker =  dz.moduleLabel
		dz.log('Timer event was triggered by ' .. timer.trigger, dz.LOG_DEBUG)
	end
}
Version de domoticz, dzvents...?
Bouger le bouton enable: enlever et remettre

Re: Script DZEvents ne se déclenche pas

Publié : 02 févr. 2021, 10:08
par Dawaman
Version: 2020.2
Build Hash: b63341bc0
Compile Date: 2020-04-26 13:47:55
dzVents Version: 3.0.2
Python Version: 3.7.5 (default, Jan 7 2021, 05:19:51) [GCC 4.9.2]

Installé sur un QNAP

Je viens de le réinstaller. Activer / Désactiver le DZevent...