Script DZEvents ne se déclenche pas

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 <\>.
Dawaman
Messages : 14
Inscription : 30 janv. 2021, 13:27

Script DZEvents ne se déclenche pas

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

Re: Script DZEvents ne se déclenche pas

Message 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 </> ;)
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
Dawaman
Messages : 14
Inscription : 30 janv. 2021, 13:27

Re: Script DZEvents ne se déclenche pas

Message par Dawaman »

merci

je check :)
Dawaman
Messages : 14
Inscription : 30 janv. 2021, 13:27

Re: Script DZEvents ne se déclenche pas

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

Re: Script DZEvents ne se déclenche pas

Message 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:
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
Dawaman
Messages : 14
Inscription : 30 janv. 2021, 13:27

Re: Script DZEvents ne se déclenche pas

Message 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é 3253 fois
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Script DZEvents ne se déclenche pas

Message 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....
Dawaman
Messages : 14
Inscription : 30 janv. 2021, 13:27

Re: Script DZEvents ne se déclenche pas

Message par Dawaman »

J'ai changé pour l'ID.
Le DzEvent est bien activé.
log_Domo.png
log_Domo.png (13.72 Kio) Consulté 3235 fois
C'est pareil pour les autres scripts....
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Script DZEvents ne se déclenche pas

Message 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
Dawaman
Messages : 14
Inscription : 30 janv. 2021, 13:27

Re: Script DZEvents ne se déclenche pas

Message 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...
Dernière modification par Dawaman le 02 févr. 2021, 10:28, modifié 1 fois.
Répondre