Page 1 sur 1

Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 17:56
par pchatill
Bonjour.
Je decouvre petit a petit le monde de domoticz.
Aujourd'hui: les scripts !
J'ai fait un petit script tout simple qui ne fait qu'imprimer un texte.
Il s'agit d'un script device (script_device_test.lua) que j'ai mis dans /home/pi/domoticz/scripts/lua
Mais quand je vais dans les logs je vois que celui-ci se lance 5 fois de suite
Puis toutes les 30 secondes cela recommence.
Je pige pas pourquoi...
Ou est l'erreur?

Merci

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 17:59
par vil1driver
Salut,

C'est le fonctionnement normal ;)

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 18:31
par pchatill
Ah bon ...Je comprends pas...
Je croyais qu'on lançait le script sur un changement de valeur de composant.
je pensais que si device= ON ou OFF alors je lance mon script.
Ce qui a l'air vrai puisque quand j'actionne mon composant le script se lance aussi (une seule fois)
En fait le script se lance toutes les 30 secondes et c'est dans le script qu'on regarde si un composant a changé? C'est bien cela?
Mais pourquoi est-il lancé 5 fois de suite?

Decidemment, j'ai tout a decouvrir... et rien dans la doc a ce sujet!

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 18:48
par vil1driver
Tous les script_device se lancent dès qu'un périphérique est mis à jour, quel qu'il soit.

Du coups dans le script on commence généralement par vérifier que c'est tel ou tel périphérique qui vient d'être mis à jour pour déclancher les actions...

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 19:01
par pchatill
Je commence a comprendre le fonctionnement du script_device.
Je pensais au debut que le script_device_X ne se lancait que si device X avait changé et ne se lancait pas si device_Y avait changé.
Mais pourquoi mon script se lance tout seul 5 fois de suite ( et ce toutes les 30 secondes) alors qu'aucun device n'a changé?

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 19:08
par vil1driver
T'en est certain ? pas de téléinfo ou sondes de températures ou détecteur de mouvement ou météo ou valeur cpu etc...

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 19:27
par pchatill
Ben oui.
J'avais meme fait l'essai cet apres midi de supprimer toutes mes sondes et tout mon materiel.
Apres un reboot du raspi: toujours pareil...
Et quand je dis 5 fois de suite, c'est toujours 5 fois et en moins d'un dixieme de seconde
Et quand je dis 30 secondes, c'est exactement 30 secondes.
Je comprends pas...

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 19:34
par pchatill
Je viens de tout resupprimer: toujours pareil.

Une petite precision: juste avant le lancement de la série des 5 scripts, j'ai le message:

2015-09-18 19:14:16.000 Hardware Monitor: Fetching data (System sensors)

Re: Mon script lua se lance sans arret...

Publié : 18 sept. 2015, 20:00
par pchatill
Je progresse !!
Quand je fais Reglages/Materiel et que je supprime les motherboard sensors: cela resoud mon probleme
Mais quand je reboot le raspi, ce materiel est de nouveau là!
Par contre si je desactive au lieu de supprimer, le probleme a l'air reglé
On verra dans les prochains jours: je surveille mes logs...

Merci et bonne soirée

Re: Mon script lua se lance sans arret...

Publié : 19 sept. 2015, 12:20
par heartblood
pchatill a écrit :Je progresse !!
Quand je fais Reglages/Materiel et que je supprime les motherboard sensors: cela resoud mon probleme
Mais quand je reboot le raspi, ce materiel est de nouveau là!
Par contre si je desactive au lieu de supprimer, le probleme a l'air reglé
On verra dans les prochains jours: je surveille mes logs...

Merci et bonne soirée
C'est normal qu'ils reviennent après un reboot.

Ce module t'indique les valeurs de ton cpu, RAM, temperature ... de ton raspberry pi. Comme expliqué plus haut, quand une valeur est envoyée au RPI, le script_device se lance. Pour que ton script ne se lance pas tout le temps, il faut mettre dans celui-ci : if (devicechanged['nom du module']) then