scripts lua toutes les 10 secondes

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 <\>.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

scripts lua toutes les 10 secondes

Message par vil1driver »

salut,

un petit post pour partager une astuce mise en place ici.

comme vous le savez, les script time lua se lancent toutes les minutes,
mais dans certains cas, on à besoin que cela soit plus fréquent,
dans ce cas certains d'entre vous décident de passer par des scripts bash, perl, python ou autre...
avec une entrée crontab qui va bien pour lancer le script par exemple toutes les 10 secondes..

seulement ces langages de programmation ne sont pas aussi évidents à utiliser...

alors voila comment je contourne le problème.

j'ai créé un switch virtuel nommé pour l'exemple 'test' et configuré avec un délai d'extinction de 10 secondes.
j'ai en suite créé un petit script qui va détecté son passage à Off et qui va aussitôt le remettre à On.
10 secondes après il va automatiquement (délai d'extinction) re passé sur Off,
le script va le remettre sur On et ainsi de suite.....
nous avons donc maintenant un script qui se lance toutes les 10 secondes :p
dans lequel on peut mètre tout ce que l'on veut.

Code : Tout sélectionner

-- script_device_10s.lua
commandArray = {}
if (devicechanged['test'] == 'Off') then
commandArray['test']='On'

--
-- toutes vos autres commandes ici
--

end
return commandArray 
bonne journée =)
Dernière modification par vil1driver le 01 mai 2015, 20:47, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
oula85
Messages : 161
Inscription : 29 avr. 2015, 18:09
Localisation : Challans

Re: scripts lua toutes les 10 secondes

Message par oula85 »

très sympa en vue de l'utilisation pour une surveillance de delestage en revanche je débute et je vois les logs de l'interrupteur qui augmentent dramatiquement même sur une journée ( autant de logs que de changements d'états de l'interrupteur ) c'est grave docteur pour le remplissage de ma carte SD et sa durée de vie ou je psychote pour rien ?

je suis encore une bille en lua et autres scripts soyez indulgents !!!
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: scripts lua toutes les 10 secondes

Message par vil1driver »

Salut,
Tu peux baisser la durée de conservation des historiques.
Ici j'ai mis 3 jours.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
oula85
Messages : 161
Inscription : 29 avr. 2015, 18:09
Localisation : Challans

Re: scripts lua toutes les 10 secondes

Message par oula85 »

nickel donc peu d'impacts négatifs . Merci de ta réponse
oula85
Messages : 161
Inscription : 29 avr. 2015, 18:09
Localisation : Challans

Re: scripts lua toutes les 10 secondes

Message par oula85 »

Encore plus simple à force de bidouilles et de tests , testé et fonctionne parfaitement tous les 16s durée de rafraichissement du CM180 ( valeurs de conso prises au hasard pour que ça fonctionne au moment ou je faisais mes tests ) .

avantages :

peu d'écritures dans les logs, vu que le script ne teste que quand il est nécessaire contrairement à un script time ou tu te retrouves à la fin de la journée avec un log dans l'interrupteur gros comme ça !!!

Code : Tout sélectionner

--script_device_CM180.lua
commandArray = {}
owl, total = otherdevices_svalues['CM180']:match("([^;]+);([^;]+)")
owl = tonumber(owl)
if devicechanged['CM180'] then  
if (owl > 280) and (otherdevices['test'] == 'Off') then
commandArray['test']='On'
elseif (owl < 280) and (otherdevices['test'] == 'On') then
commandArray['test']='Off'
end
end
return commandArray
Smat
Messages : 40
Inscription : 29 janv. 2015, 14:53

Re: scripts lua toutes les 10 secondes

Message par Smat »

Salut Vil1driver,

Depuis peu, mon inter virtuel (avec la tempo d'extinction à 10s), se bloque à 1 heure tous les jours. Aurais-tu une idée de la chose?

Je n'ai rien dans les logs.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: scripts lua toutes les 10 secondes

Message par vil1driver »

Je ne pensais pas que quelqu'un utilisait ce script :)

Non désolé, aucune idée.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
cocof
Messages : 95
Inscription : 15 sept. 2017, 18:17

Re: scripts lua toutes les 10 secondes

Message par cocof »

Bonjour, petit déterrage de sujet, y aurait un moyen plus simple que de créer un device qui change d'état toutes les 5 secondes et se synchroniser dessus pour exécuter un écrit toute les 10 ou 5 secondes? (Script écrit directement sous domoticz)?
C est pour récupérer de mon ecodevice les puissance de prod de mes panneaux d'autoconsomation.
Il doit bien y avoir un moyen car j' ai aussi un ecocompteur Legrand qui se rafraîchi toutes les.10 seconde via le plugin intégré a domoticz. Actuellement je synchronise mon ecodevice dessus, mais a terme je vais enlever mon ecocompteur pour ne garder que l ecodevice. C'est pour cela que je cherche un moyen de lancer mon script ecodevice toutes les 5 ou 10 s
Merci
Dernière modification par cocof le 19 juin 2021, 17:30, modifié 1 fois.
Raspberry / domoticz / RFXCOM / Conbee II / IPX800v4 / Ecodevice RT2 / enocean / enphase
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: scripts lua toutes les 10 secondes

Message par Chrominator »

S'il n'est pas déclenché par un device, un script ne sera pas lancé plus souvent que chaque minute dans domoticz.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
cocof
Messages : 95
Inscription : 15 sept. 2017, 18:17

Re: scripts lua toutes les 10 secondes

Message par cocof »

Bonjour je viens de modifier ma question, j ai aussi un ecocompteur Legrand qui se mets a jour toutes les 10s, mais je sais pas comment il fait ( plugin domoticz ecocompteur Legrand)
Raspberry / domoticz / RFXCOM / Conbee II / IPX800v4 / Ecodevice RT2 / enocean / enphase
Répondre