[Résolu] Script qui ne se lance 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 <\>.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

[Résolu] Script qui ne se lance pas

Message par Wolfen38 »

Salut,

J'ai ce script tout con

Code : Tout sélectionner

commandArray={}

if devicechanged['Inter Poule'] == 'On' then
print(tyty)
commandArray[#commandArray + 1] = {['Poule'] = 'On' }
commandArray[#commandArray + 1] = {['Poule'] = 'Off AFTER 20' }
commandArray[#commandArray + 1] = {['Inter Poule'] = 'Off' }
end
	
return commandArray
Mais quand je passe mon inter a on, rien ne se passe, le script ne se lance pas, j'ai le même pour mon autre vanne, et ca fonctionne.

Image

Y a un nombre max de script autorisé dans DZ ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script qui ne se lance pas

Message par Keros »

Je ne pense pas qu'il y ait des limitations sur le nombre de scripts.

Ton script est bien de type device ?
Ajoute un print avant ta condition : tu pourra vérifier (1) que ton programme s'exécute et (2) la valeur de Inter Poule que tu souhaites vérifier.

D'autres idées dans mon lien Aide au débogage en signature.
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
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: Script qui ne se lance pas

Message par boum »

Autres pistes en plus de celles de @keros :
  • Le nom du dispositif est-il correct ? Caractères spéciaux, espaces supplémentaires à la fin…
  • print(tyty) n'affichera rien si tyty n'est pas une variable correctement initialisée.
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Script qui ne se lance pas

Message par Wolfen38 »

Oui, c'est bien un device.

J'ai rajouté un print('tyty') avant la condition, et toujours rien, voici le log quand je passe à ON l'inter

Code : Tout sélectionner

2020-06-25 12:11:33.999 Status: User: Wolfen38 initiated a switch command (416/Inter Poule/On)
2020-06-25 12:11:34.008 (Virtualsensor) Light/Switch (Inter Poule)
Comme si le script n'existait pas....
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script qui ne se lance pas

Message par Keros »

Le script est dans les évènements de DomoticZ ou c'est un fichier dans le dossier script ?
Si il est dans les évènements, est-ce qu'il est bien sur ON ?

Essaye de créer un nouveau script de type device et tu y colles ton script.
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: Script qui ne se lance pas

Message par Wolfen38 »

Il est dans le répertoire script lua de dz avec tous les autres. Et c'est déjà un copier d'un autre qui fonctionne, j'ai juste change le nom de l'Inter et de la vanne

Envoyé de mon Mi 9T Pro en utilisant Tapatalk

Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script qui ne se lance pas

Message par Keros »

Ce ne serait pas un problème de droit sur le fichier ?

Si tu mets pour tester ton script dans les évènements, il fonctionne ?
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: Script qui ne se lance pas

Message par Wolfen38 »

Je viens de faire l'essai dans les évènements et ça fonctionne. Je pige pas le problème avec mon script

Envoyé de mon Mi 9T Pro en utilisant Tapatalk

Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script qui ne se lance pas

Message par Keros »

Je vois un soucis d’exécution. Tu peux refaire un sudo chmod +x monscript.sh (en mettant le nom du fichier qui va bien).
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
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Script qui ne se lance pas

Message par lost »

Keros a écrit : 25 juin 2020, 16:14 Je vois un soucis d’exécution. Tu peux refaire un sudo chmod +x monscript.sh (en mettant le nom du fichier qui va bien).
Ce n'est pas un script shell interprété par le shell système (bash) ayant donc besoin des droits exécution du système, mais lua qui se fait mouliner par l'interpréteur lua intégré à domoticz.

Lui coller un +x ne changera rien, c'est pas le problème: S'il est bien nommé (script_device_XXX.lua, script_time_XXX.lua) il sera lancé en accord avec son nommage device/time et laissera toujours des traces dans les logs domoticz, y compris sur erreur.

Maintenant, pour des "poules", il faut peut-être payer avant qu'elles ne s’exécutent!!!!
:lol:

Note par contre que si les droits read (chmod a+r script_device_machin.lua pour être sur) ne sont pas là, domoticz ne pourra lire le script avant de l'interpréter... Bizarre que pas d'erreur de lecture du fichier dans les logs par contre.
Répondre