Page 3 sur 4

Re: Script qui ne se lance pas

Publié : 07 juil. 2020, 19:33
par Wolfen38
Y a aucun log d'erreur, en fait y a aucun log du tout.
C'est un petit script qui dit si peur ouverte alors allume lumière.
J'ai le log du détecteur de porte qui passe a ouvert, mais rien d'autres, pas de log de lancement du script, pas de log sur la lumière, rien.
Pour que ça re fonctionne, je copie le fichier d'un script qui fonctionne, je renomme ce fichier, je bosse le contenu et copie le contenu du script qui fonctionne plus. Et ça remarche


Envoyé de mon Mi 9T Pro en utilisant Tapatalk



Re: Script qui ne se lance pas

Publié : 07 juil. 2020, 19:43
par vil1driver
Dans le log que tu mets, le switch est nommé 'Poule' et il passe à Off
Et dans ton script tu surveilles 'Inter Poule' à On

Normal que ça n'aille pas plus loin que le print 'poule avant'

Tu comprends le fonctionnement des scripts device ?
Ils se lancent tous à la moindre maj d'un device quel qu'il soit.

Sauf si...

Tu ne nous donnes pas le nom du script.
Ça a pourtant un vrai importance.

Le nom du script correspond au nom d'un device qui du coup ne va se lancer qu'à la maj de ce dernier.

Sinon si ton script n'utilise pas modules.lua pourquoi l'intègres tu ?

Attention à la façon de dire les choses.
Si porte ouverte n'est pas la même chose que
Si porte s'ouvre...
Dans le premier cas on pourrait être dans un script time qui check un état.
Dans l'autre un type device qui check un changement d'état.

Le code demande de la rigueur jusqu'à la façon d'en parler

Re: Script qui ne se lance pas

Publié : 08 juil. 2020, 12:23
par Wolfen38
Alors, le script des poules fonctionnent maintenant avec un copier/coller, enfin de la bidouille que je ne comprends pas l’intérêt, mais c'est bon.

Depuis 2 jours, j'ai un nouveau script qui merde, script tournant depuis plus d'un an, il s'appelle "script_device_jardin.lua" et voici le code

Code : Tout sélectionner

-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
 
commandArray = {}
 
if (devicechanged['Sensor porte cuisine'] == 'Open' and otherdevices['Inter Nuit'] == 'On') then
	commandArray['Sonoff-jardin']='On'
	commandArray['Virtuel jardin']='On'
	elseif (devicechanged['Sensor porte cuisine'] == 'Closed') then
        commandArray['Sonoff-jardin']='Off AFTER 120'
		commandArray['Virtuel jardin']='Off AFTER 120'
        
end
 
return commandArray
Pour le module, en effet, il ne sert à rien dans ce script, mais je le mets au début de chaque script, histoire que si je rajoute des lignes nécessitant ce module, je l'ai, je ne pense pas que ce soit génant de l'avoir en début de script, utilisé ou pas non ?

Sinon, quand j'ouvre la porte, j'ai un log du contacteur de porte disant qu'il passe open, mais ensuite, rien, j'ai pas de log d'exécution du script. Comme si le script n'était pas dans le répertoirie des scripts, pourtant il est bien là.

Re: Script qui ne se lance pas

Publié : 08 juil. 2020, 18:56
par vil1driver
Modules.lua fait 1000 lignes et charges également json.lua qui est bien gros également.

Ça peu alourdir sans réel besoin.

Pour tes scripts, j'en sais rien, juste que ça ne fonctionne pas et qu'on s'attendrait à avoir plus de lignes de print qu'autre chose.

Le debug passe aussi par connaître l'historique, maj et autres..
Par exemple pour les dernières maj certains on récupèré un binaire compilé par quelqu'un, est ce que c'est ton cas ? Est-ce que ce binaire est vraiment fiable...

Ce genre d' interrogations qui font avancer un dépannage, une vue d'ensemble

Re: Script qui ne se lance pas

Publié : 08 juil. 2020, 19:03
par Wolfen38
Je vais rajouter des print mais le script ne se lançant pas on ne les verra pas.

Pour module, j'ai pas mal de latence, donc je vais regarder pour garder que le nécessaire.

Pour le binaire, je ne sais même pas ce que c'est....

Je suis très loin d'avoir les connaissances et compétences de certains de ce forum dont toi.
J'essaie juste d'apprendre petit a petit au fur et a mesure de mes besoins.

Envoyé de mon Mi 9T Pro en utilisant Tapatalk


Re: Script qui ne se lance pas

Publié : 08 juil. 2020, 20:30
par vil1driver
Tu ne sais pas vraiment si le script se lance ou non puisque pas de trace dans les log.
Les print vont justement te le dire
Pas juste des "ça se lance" mais des valeur comme print(devicechanged['Sensor porte cuisine'])

Par binaire je voulais parler du fichier exécutable domoticz chopé sur Google drive et mis à disposition pour ceux qui ne s'en sortaient pas sur les dernières maj

Re: Script qui ne se lance pas

Publié : 08 juil. 2020, 21:07
par Wolfen38
Ah non j'ai suivi un tuto du forum pour le passage a buster puis maj de dz, tout s'est bien passé

Envoyé de mon Mi 9T Pro en utilisant Tapatalk


Re: Script qui ne se lance pas

Publié : 08 juil. 2020, 21:37
par Wolfen38
J'ai rajouté 2 print, un avant le if et un apres comme ca :

Code : Tout sélectionner

commandArray = {}

 print(devicechanged['Sensor porte cuisine'])
if (devicechanged['Sensor porte cuisine'] == 'Open' and otherdevices['Inter Nuit'] == 'On') then
 print(devicechanged['Sensor porte cuisine'])
	commandArray['Sonoff-jardin']='On'
	commandArray['Virtuel jardin']='On'
	elseif (devicechanged['Sensor porte cuisine'] == 'Closed') then
        commandArray['Sonoff-jardin']='Off AFTER 120'
		commandArray['Virtuel jardin']='Off AFTER 120'
        
end
 
return commandArray
ca tombe bien, mon inter nuit est passé à on et j'ai ouvert la porte, voila les log, aucune trace des print ni de script lua

Code : Tout sélectionner

2020-07-08 21:32:01.136 Status: Schedule item started! Name: Inter Nuit, Type: After Sunset, DevID: 233, Time: 2020-07-08 21:32:01
2020-07-08 21:34:16.832 (Zigate) UpdateDevice - (Sensor porte cuisine) 1:Open
2020-07-08 21:34:19.941 (Zigate) UpdateDevice - (Sensor porte cuisine) 0:Closed

Re: Script qui ne se lance pas

Publié : 09 juil. 2020, 06:17
par vil1driver
Ah zigate.. UpdateDevice

Quand je parlais de vue d'ensemble..
Peut-être une piste à creuser de ce côté là.

On est bien d'accord que tu n'as pas de dispositif nommé jardin ?

Un autre truc qui peut embêter le lancement d'un script est l'appartenance du dispositif au groupe $hidenDevice.

Tu n'as jamais fais de modification dans la base de données manuellement (avec sqlite)?

Re: Script qui ne se lance pas

Publié : 09 juil. 2020, 06:27
par Wolfen38
Tiens une bonne piste, j'ai en effet une electrovanne nommé jardin. Et en effet ça fait pas longtemps que je l'ai rajouté.

Tu penses que ça peut gêner entre un device et un nom de script ?

Envoyé de mon Mi 9T Pro en utilisant Tapatalk