[LUA] Speedup accélérer la réactivité de domoticz

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
diunyr
Messages : 24
Inscription : 21 janv. 2017, 18:57

Re: Speedup accélérer la réactivité de domoticz

Message par diunyr »

Je viens de tester ce petit script pour accélérer mon Domoticz que je trouve lent et en plus de ne pas aller plus vite, j'ai l'impression que ça "lag".
J'ai une erreur récurrente (je suis entrain de tester pour voir).

Code : Tout sélectionner

2017-05-24 18:21:51.654 User: Admin initiated a switch command (45/Lampe Bureau/On)
2017-05-24 18:22:01.626 Error: EventSystem: Warning!, lua script C:\Program Files (x86)\Domoticz\scripts\lua\script_device_testvit.lua has been running for more than 10 seconds
J'utilise switchon,switchonfor et switchoff.
Une idée ?
Domoticz: beta v3.7450/Win 10
Devices:
- Xiaomi (Passerelle/sondes t°/ouverture porte/détecteur mouvement/switch/prise/Mi Air Purifier 2)
- Ampoules YeeLight White
- Zwave Prise GreenWave Powernode
- Fibaro FGMS 001 "Oeil de Chat"
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Speedup accélérer la réactivité de domoticz

Message par vil1driver »

Problème avec un script... A minima le montrer :|
Surtout que tu as du effectuer des modifications vu que tu es sous windows
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
bnic
Messages : 15
Inscription : 12 mai 2017, 09:28

Re: Speedup accélérer la réactivité de domoticz

Message par bnic »

Bonjour à tous,

je suis tombé sur ce sujet en cherchant à accélerer l'execution d'un groupe.

Voici le log actuel :

Code : Tout sélectionner

2017-05-28 06:20:34.796 User: Admin initiated a scene/group command
2017-05-28 06:20:34.797 Activating Scene/Group: [Lumière salon (TOUS)]
2017-05-28 06:20:34.798 Activating Scene/Group Device: Lampe salon (On)
2017-05-28 06:20:34.799 RFLink Sending: 
2017-05-28 06:20:35.289 (RFLink) Light/Switch (Lampe salon)
2017-05-28 06:20:35.349 Activating Scene/Group Device: Lampe salon 2 (On)
2017-05-28 06:20:35.349 RFLink Sending: 
2017-05-28 06:20:35.855 (RFLink) Light/Switch (Lampe salon 2)
2017-05-28 06:20:35.916 Activating Scene/Group Device: Lampe salon 3 (On)
2017-05-28 06:20:35.917 RFLink Sending: 
2017-05-28 06:20:36.415 (RFLink) Light/Switch (Lampe salon 3)
Comme on le voit il se passe 1.7 secondes entre l'appui et la fin de l'allumage. J'aimerais que les lampes s'allument quasi instantanément.
Seulement, si j'ai bien compris, la technique ne fonctionne que dans le cas d'un script et pas pour un simple groupe ?
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Speedup accélérer la réactivité de domoticz

Message par vil1driver »

Cette optimisation n'est effectivement valable qu'au sein d'un script lua
mais même dans ce cas les éléments d'un même groupe ne pourront jamais être activés simultanément.
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
bnic
Messages : 15
Inscription : 12 mai 2017, 09:28

Re: Speedup accélérer la réactivité de domoticz

Message par bnic »

Merci pour ta réponse.
Je me doute qu'il faut que le rflink envoie les commandes une à une, c'est pour cela que je précisais "quasi" instantanément, aujourd'hui, 1.7 secondes ça me parait long et visuellement je trouve ça pas terrible l'allumage un à un. Si je descends à quelques centièmes, ça sera beaucoup moins perceptible.
Je vais me renseigner pour créer mon groupe en LUA.
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: Speedup accélérer la réactivité de domoticz

Message par landaisbenj »

Je passe le sous forum en favori pour ma part. J'ai fais un tour du modules.lua et ne serait-ce que pour les exemples je le mets de coté. Maintenant que je vois qu'il accelere le changement d'etat des interrupteurs je vais surement m'en servir.

Par contre y a t il dedans une fonction qui permettrait de lister l'etat de tous les devices au lancement d'un script ? J'ai cherché mais je ne trouve pas trop. Ca me permettrai de savoir si les devices en question on le bon etat que je souhaite pour tel ou tel script.

J'ai trouvé l'idée sur le wiki de domoticz mais je n'arrive pas encore à l'adapter proprement. Je pense que ca peut permettre de faire comme la liste show current stats dans events:

genre
for deviceName,deviceValue in pairs(otherdevices) do
print (deviceName, deviceValue)
end
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Speedup accélérer la réactivité de domoticz

Message par vil1driver »

Oui il y a une fonction qui listes tout mais c'est pas top, a part pour pourrir les logs..

Utilise simplement les print ponctuellement sur ce que tu veux afficher
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
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: Speedup accélérer la réactivité de domoticz

Message par landaisbenj »

vil1driver a écrit :Oui il y a une fonction qui listes tout mais c'est pas top, a part pour pourrir les logs..

Utilise simplement les print ponctuellement sur ce que tu veux afficher
Ok merci. Tu sais comment je peux connaitre les entrées de chaque table ? Car j'ai beau chercher sur internet je ne trouve pas trop d'info...
Le wiki n'a pas l'air complet la page s’arrête au titre du chapitre DEVICE, justement ce qu'il me manque...
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Speedup accélérer la réactivité de domoticz

Message par vil1driver »

cré un sujet et détaille ce que tu veux faire au juste..
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
technick
Messages : 14
Inscription : 20 juil. 2017, 01:12

Re: Speedup accélérer la réactivité de domoticz

Message par technick »

Bonjour, si ça t'interresse tu trouveras des fonctions de log ici :

https://easydomoticz.com/forum/viewtopi ... =10&t=4437

j'étais parti des routines fournies ici mais je suis allé un peut plus loin sur cetains points, les logs et la gestion des variables entre autres.

Tu mets des logs partout et quand tu veux tracer tu definis le niveau à "trace"

_Log:SetLevel(LogLevel_Trace)

Et quand tout va bien tu reviens à "Info", voir "Warning".

_Log:SetLevel(LogLevel_Info)
Répondre