script non exécuté de manière aléatoire

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: script non exécuté de manière aléatoire

Message par Keros »

Merci Denis pour l'info ;)
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
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: script non exécuté de manière aléatoire

Message par dominique »

bonjour j'ai fait le test tout à l'heure

Code : Tout sélectionner

2020-09-18 18:39:56.721 (Dummy) Light/Switch (Bureau)
2020-09-18 18:39:56.399 Status: User: Admin initiated a switch command (146/Bureau/Set Level)
2020-09-18 18:39:57.109 (système 1W) Temp (Temp convertisseur)
2020-09-18 18:39:57.210 (système 1W) RFXSensor (U_Convert)
2020-09-18 18:39:57.257 (système 1W) RFXSensor (U_alim)
2020-09-18 18:39:57.307 (système 1W) RFXSensor (Unknown)
2020-09-18 18:39:57.355 (système 1W) General/Solar Radiation (Solar Radiation)
2020-09-18 18:39:58.844 (système 1W) Temp (T_Baptiste)
2020-09-18 18:39:58.433 Status: LUA: requette----------------------------------------------------------Bureau----- A07V1Oo
2020-09-18 18:39:59.646 (système 1W) Temp (CH4)
2020-09-18 18:40:00.456 (système 1W) Temp (Hotte poêle)
j'ai enlevé le "\n" de ma string trame et là je n'ai plus cette ligne vierge


je vais voir si ça change quelque chose
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: script non exécuté de manière aléatoire

Message par Keros »

Je ne pense pas que ça change quelque chose.

Tu as pu regarder avec tes horaires de planning si tu as eu des erreurs de 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
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: script non exécuté de manière aléatoire

Message par dominique »

Bonjour j'ai commencé ce matin à comparer les les horaires de scripts avec les différents logs

on ordre passé et exécuté laisse 3 lignes

Code : Tout sélectionner

2020-09-19 08:03:01.015  Status: Schedule item started! Name: Bureau, Type: On Time, DevID: 146, Time: 2020-09-19 08:03:01
2020-09-19 08:03:01.124  (Dummy) Light/Switch (Bureau)
2020-09-19 08:03:02.739  Status: LUA: requette----------------------------------------------------------Bureau-----   A07V1Oo
sur un ordre non exécuté je n'ai aucune de ces lignes
ni aucun défaut
j'en ai retrouvé qu'un pour ce matin
dans ce cas c'est bien le déclenchement du planning qui n'a pas fonctionné
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: script non exécuté de manière aléatoire

Message par dominique »

savez vous comment changer le moment ou la période de déclenchement des scripts_time toutes les 5 ou 10 min
ou même mieux déphaser de 30 sec pour répartir la charge du Pi
ce serai peux-être une piste
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: script non exécuté de manière aléatoire

Message par Keros »

En enregistrant les log de DomoticZ, on voit que ce sont les déclenchements qui te pose problème. On avance :)

Le problème ne serait pas que tu essayes de faire changer un planning et voir ce changement dans un script time en même temps ? Si le script est exécuter quelques millisecondes avant que le planning soit changer, le script n'as pas vu le changement.
Par contre, ce que je ne comprends pas, c'est pourquoi la minute d'après, ton script time ne se "relance" pas ? Le planning est déjà revenu à l'état initial ?
Pourquoi n'utilise tu as pas des scripts device ? changement de planning > lancement du script.

Pour répondre à tes interrogations :
  • Les scripts times ne sont que toutes les minutes. Pas de possibilité de les décaler (c'est dans le code de DomoticZ)
    Par contre, tu peux vérifier la valeur de la minute (si =0 ou 5 ou 10 etc...) et continuer l'exécution du script ou pas.
  • Tu peux facilement faire des scripts "time" qui s’exécute toutes les X minutes en DZvent. Toutes les infos https://www.domoticz.com/wiki/DzVents:_ ... _scripting
Mais regarde comment tu gères tes exécutions de script. Je sais que j'ai des planning qui changent à 10h00 mais les scripts ne font les actions qu'à 10h01.
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
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: script non exécuté de manière aléatoire

Message par dominique »

qu'entend tu par changement de planning ?
je ne fait pas de changement dans mes plannings.
je ne savais pas qu'on pouvait les modifier avec un script.
"Schedule item started" veux dire "Élément de planification démarré" merci google
cette ligne apparaît en premier à chaque déclenchement d'un ordre.

j'ai des scripts_time qui envoient aussi des ordres sous certaines conditions
dans le log j'ai vu que les heures de sunset et sunrise ce mettent à jour à minuit rien qui peux tomber dans les heures de mouvements de volets
Pièces jointes
Capture du 2020-09-19 11-02-47.png
Capture du 2020-09-19 11-02-47.png (72.17 Kio) Consulté 3352 fois
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: script non exécuté de manière aléatoire

Message par Keros »

Ok donc si je ne dis pas de bêtises : ton planning envoi des "impulsions" et tu essayes de les choper avec un script qui s'exécute toutes les minutes ... Je pense que ton soucis aléatoire vient de là.

Soit tu modifies ton script en device en pour s'exécuter quand ton planning change, soit tu fais un planning avec une plage horaire où de 20h à 8h le planning est à Off et le reste du temps à On. Faut alors modifier ton script pour regarder si le planning est à OFF alors fermer le volet. Le soucis derrière ça est que si tu ouvres le volets "manuellement", à la minute d'après, le script va le refermer.
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
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: script non exécuté de manière aléatoire

Message par dominique »

je ne te comprend pas
ça fonctionne déjà comme ça
j'ai mis un place un planning sur un dummy pour chaque volet
au heures prévues l'inter selecteur change de position il n'est jamais off.
mon "script_device" détecte le changement "devicechanged" et s'exécute
je n'es pas d'autres scripts dans la boucle
j'ai fonctionné comme ça pendant des années avec ma vieille version.
Depuis cet upgrade de domoticz j'ai ces ordres qui ne passent pas
dominique
Messages : 32
Inscription : 14 mai 2016, 21:08

Re: script non exécuté de manière aléatoire

Message par dominique »

en continuant mes recherches j'ai pris un mauvais exemple car la ligne est désactivée je viens de le voir
j'ai trouvé un autre cas hier soir plus intéressant

ordre non éxécuté
le 3ème "ENTREE"
les deux autres sont passés

je te mets le log complet

Code : Tout sélectionner

2020-09-18 20:30:00.352  Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_chauffage_ventilateur_chambre.lua
2020-09-18 20:30:01.228  Status: Schedule item started! Name: SAM_S_porte, Type: On Time, DevID: 136, Time: 2020-09-18 20:30:01
2020-09-18 20:30:01.951  (système 1W) Temp (Buanderie)
2020-09-18 20:30:02.518  (système 1W) Temp (grenier)
2020-09-18 20:30:02.544  Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_tension_pic_DS2438_fichier.lua
2020-09-18 20:30:02.628  (Dummy) Light/Switch (SAM_S_porte)
2020-09-18 20:30:02.674  Status: Schedule item started! Name: SAM_W_porte, Type: On Time, DevID: 138, Time: 2020-09-18 20:30:01
2020-09-18 20:30:02.676  Delaying switch [SAM_W_porte] action (Set Level) for 5 seconds
2020-09-18 20:30:02.678  Status: Schedule item started! Name: ENTREE, Type: On Time, DevID: 178, Time: 2020-09-18 20:30:01
2020-09-18 20:30:02.706  (système 1W) Lighting 2 (Vent_chambre)
2020-09-18 20:30:02.803  (système 1W) Temp (T_Emilie)
2020-09-18 20:30:02.918  (Dummy) Light/Switch (ENTREE)
2020-09-18 20:30:02.919  Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_eau_usb.lua
2020-09-18 20:30:02.974  Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_chauffage_ventilateur_SAM.lua
2020-09-18 20:30:03.020  (système 1W) Temp (T_SAM)
2020-09-18 20:30:03.065  Status: LUA:  ---------------script volets sud chambres------mini int    21.0   mini ext  24.0  mini grenier 30.0°C
2020-09-18 20:30:03.180  Status: LUA:  ---------------script volets ouest SAM------mini int    21.0   mini ext  24.0  mini grenier 30.0°C    T_nord  21.4°C
2020-09-18 20:30:03.805  (système 1W) Lighting 2 (Vent_SAM)
2020-09-18 20:30:03.941  Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_hauteur_cuve_fichier.lua
2020-09-18 20:30:04.001  (système 1W) Temp (Temperature)
2020-09-18 20:30:04.173  (système 1W) RFXSensor (U_Convert)
2020-09-18 20:30:04.237  (système 1W) RFXSensor (U_alim)
2020-09-18 20:30:04.285  (système 1W) RFXSensor (Unknown)
2020-09-18 20:30:04.343  (système 1W) General/Solar Radiation (Solar Radiation)
2020-09-18 20:30:04.784  (système 1W) Temp (Temp convertisseur)
2020-09-18 20:30:04.881  (système 1W) RFXSensor (U_Convert)
2020-09-18 20:30:04.948  (système 1W) RFXSensor (U_alim)
2020-09-18 20:30:04.998  (système 1W) RFXSensor (Unknown)
2020-09-18 20:30:05.047  (système 1W) General/Solar Radiation (Solar Radiation)
2020-09-18 20:30:05.098  (Teleinfo ) General/kWh (Teleinfo kWh Heures Creuses)
2020-09-18 20:30:05.167  (Teleinfo ) General/kWh (Teleinfo kWh Heures Pleines)
2020-09-18 20:30:05.272  (Teleinfo ) P1 Smart Meter (EDF)
2020-09-18 20:30:05.288  Status: LUA: requette---------------------------------------------------------------- SAM_S_porte-----  A11V1Of

2020-09-18 20:30:05.357  (Teleinfo ) Current (Teleinfo_Courant)
2020-09-18 20:30:05.428  (Teleinfo ) General/Percentage (Teleinfo Pourcentage de Charge)
2020-09-18 20:30:06.500  (système 1W) Temp (T_Baptiste)
2020-09-18 20:30:07.312  (système 1W) Temp (CH4)
2020-09-18 20:30:07.729  (Dummy) Light/Switch (SAM_W_porte)
2020-09-18 20:30:08.114  (système 1W) Temp (Hotte poêle)
2020-09-18 20:30:08.926  (système 1W) Temp (gaine grenier)
2020-09-18 20:30:09.733  (système 1W) Temp (T_sud)
2020-09-18 20:30:09.770  Status: LUA: requette-----------------------------------------------------------SAM_W_porte-----   A10V1Of

2020-09-18 20:30:10.583  (système 1W) Temp (T_nord)
la ligne "2020-09-18 20:30:02.676 Delaying switch [SAM_W_porte] action (Set Level) for 5 seconds" me semble intéressante
le pi à l'air saturé et à besoin de délai.
Répondre