Les “devicechanged” ne répondent 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 <\>.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Les “devicechanged” ne répondent pas

Message par Keros »

DomoEsp32 a écrit : 29 déc. 2023, 00:47 • “ Tu as mis les logs dans un fichier texte ? ” => je ne comprends pas ta question ? sous Pi/var/log , je n'ai pas de fichier domoticz.log
C'était ça que je te proposais de désactiver.
DomoEsp32 a écrit : 29 déc. 2023, 00:47 • oui je pourrais basculer en script de type Time, mais j'ai besoin pendant plusieurs mois de savoir précisement
le maximum de données temporelles sur tous les panneaux solaires (ombrages, temps de réaction etc.....)
Le type de trigger ne changera rien sur les données enregistrées.
Souvent, les équipements de mesure électrique renvoient des infos toutes les 15-20 secondes, soit 4 fois par minute. Multiplié par le nombre d'équipements, cela fait vite une vingtaine de lancements par minute : le script étant lancé à chaque mise à jour de device, ton système est constamment sollicité.
Avec un trigger de type Time, le script n'est lancé qu'une seule fois toutes les minutes. Alors oui, il analyse à ce moment-là une valeur d'il y a quelques secondes, mais c'est normalement suffisant. Pour mémoire, DomoticZ n'enregistre que toutes les 5 minutes pour ces graphiques d'historique.

Avec les logs de type Info, cela fait beaucoup de données à écrire en permanence > d'où le gain que tu as maintenant.

DomoEsp32 a écrit : 29 déc. 2023, 00:47 Remarque “étrange” : ce script est un “device”.
Si je mets cette commande :
print(" *-*-*-*-*-*-*-*-*-*-*-*-* le 28/12/2023 *-*-*-*-*-*-*-*");
avant la condition :
if (devicechanged[Nom_Owl_Pignon]) or (devicechanged[Nom_Owl_PM]) or (devicechanged[Nom_Owl_Toit_123]) or ....etc

8.509 Status: EventSystem: Script event triggered: script_device_dahua_ecran
2023-12-29 00:07:17.518 Status: EventSystem: reset all events...
2023-12-29 00:07:18.613 Status: LUA: *-*-*-*-*-*-*-*-*-*-*-*-* le 28/12/2023 *-*-*-*-*-*-*-*
2023-12-29 00:07:19.472 Status: LUA: *-*-*-*-*-*-*-*-*-*-*-*-* le 28/12/2023 *-*-*-*-*-*-*-*
2023-12-29 00:07:19.553 Status: LUA: *-*-*-*-*-*-*-*-*-*-*-*-* le 28/12/2023 *-*-*-*-*-*-*-*
un vingtaine de fois
2023-12-29 00:07:38.448 Status: LUA: script_device_owl=========================================================== 1 => 0
2023-12-29 00:07:38.509 Status: LUA: script_device_owl=========================================================== 2 => 0
2023-12-29 00:07:38.509 Status: LUA: script_device_owl========

C'est normal, le script est lancé à chaque mise à jour d'un device, c'est ensuite à l'intérieur que l'on réduit les choses avec des conditions pour ne réaliser des actions qu'en fonction des objets choisis. Si ton Print est à l'extérieur de ces conditions, il sera mis dans les logs à chaque lancement du script > à chaque fois qu'un objet sera mis à jour dans DomoticZ.
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
Répondre