[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.
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

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

Message par landaisbenj »

Lol oui je me suis rappelé trop tard qu’un deuxième ON prenais le dessus.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

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

Message par landaisbenj »

Je cherchai un moyen de mettre a jour un custom sensor mais je n'ai pas trouvé.
La seule chose que j'ai trouvé c'est en passant par json.

Si jamais je ne me trompe pas on pourrait peut etre ajouté une fonction pour ca ? Genre customSensor(device, valeur)

Si je me trompe quelqu'un peut me donner le commandarray d'un custom sensor ?
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

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

Message par landaisbenj »

Je n'ai pas essayé mais à l’écrit je pense a ça:

Code : Tout sélectionner

function customSensor(device, valeur)
	os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?	type=command&param=udevice&idx='..otherdevices_idx[device]..'&nvalue=0&svalue='..tostring(valeur))
end
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

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

Message par landaisbenj »

landaisbenj a écrit :A mais oui tiens c'est ce que je cherchais moi un espèce de:

Code : Tout sélectionner

switchOffIn

En fait c’est un switcOnIn que je cherchais.

Si je veux activer une alarme dans 60s par exemple.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
rapinou
Messages : 119
Inscription : 17 nov. 2016, 01:44

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

Message par rapinou »

Tu te fais la conversation ? ^^

Vil1driver t'a donné une piste, réfléchis là-dessus :
vil1driver a écrit :Allumer pour 10s
Ou
Éteindre dans 10s

Humm mon cœur balance ;)
Mais pour cela, il faut essayer de comprendre son script.

Si tu regardes la fonction switchOnFor :

Code : Tout sélectionner

-- switch On a devive for x secondes 
function switchOnFor(device, secs)
   switchOn(device)
   commandArray[device] = "Off AFTER "..secs
end
En premier on donne l'ordre d'allumer le device. En second on lui donne l'ordre d'éteindre après un temps donné.

A partir de là c'est très simple de créer la fonction dont tu as besoin, utilise la même logique.
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

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

Message par landaisbenj »

Oui ca m'aide a reflechir de noter les choses.
Malheureusement je les notes ici. J'ai bien une TODO list dans mes LUA mais c'est plus facile quand j'ai des retours comme le tiens..

Bon tu veux dire que ca commandeArray['Lampe']="On AFTER 10secs" c'est possible?
Car je ne le trouve nul par sur le wiki c'est pour ca que je doutais que ca fonctionne...

Et j'arrive deja pas a tester ca commandeArray['Lampe']="Off AFTER 10secs" de moi meme alors..

[EDIT] Ca y est je fais fonctionner le off after mais on after lui n'existe pas.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
rapinou
Messages : 119
Inscription : 17 nov. 2016, 01:44

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

Message par rapinou »

Les commandes LUA (dont AFTER) : https://www.domoticz.com/wiki/LUA_commands

Ça ne fonctionne pas car tes arguments ne sont pas bons, il faut bien respecter le protocole indiqué :

Code : Tout sélectionner

commandArray['Group:MyGroup']='Off AFTER 30' -- seconds
Il ne faut pas écrire "secs".
landaisbenj a écrit :[EDIT] Ca y est je fais fonctionner le off after mais on after lui n'existe pas.
Tu n'as pas saisi le fonctionnement du fichier modules.lua de vil1driver, c'est en quelque sorte une centralisation de fonctions personnalisées, rien ne t'empêche d'ajouter tes propres fonctions.
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

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

Message par landaisbenj »

Merci pour tes explications.


Je crois que je me fait mal comprendre du coup.
rapinou a écrit :Les commandes LUA (dont AFTER) : https://www.domoticz.com/wiki/LUA_commands

Ça ne fonctionne pas car tes arguments ne sont pas bons, il faut bien respecter le protocole indiqué :

Code : Tout sélectionner

commandArray['Group:MyGroup']='Off AFTER 30' -- seconds
Il ne faut pas écrire "secs".
J'ai tester cela:

Code : Tout sélectionner

commandArray['Motion test'] = "On AFTER 5"
et c'est ca qui fonctionne tres bien
landaisbenj a écrit :[EDIT] Ca y est je fais fonctionner le off after mais on after lui n'existe pas.
Tu n'as pas saisi le fonctionnement du fichier modules.lua de vil1driver, c'est en quelque sorte une centralisation de fonctions personnalisées, rien ne t'empêche d'ajouter tes propres fonctions.
J'ai bien compris le fonctionnement du modules.lua. C'est justement pour cela que je viens en parler ici. J'ai déjà modifier mes propres fonctions, mais ce que je cherche je ne sais pas comment le réaliser. C'est pour cela que j’espère trouver quelqu'un qui puisse me coder en tant que fonction

Code : Tout sélectionner

commandeArray['Lampe']="On AFTER 10"
ou plus precisement:

Code : Tout sélectionner

switchOnIn
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
rapinou
Messages : 119
Inscription : 17 nov. 2016, 01:44

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

Message par rapinou »

En s'inspirant d'une fonction existante :

Code : Tout sélectionner

-- switch On a devive for x secondes
function switchOnFor(device, secs)
   switchOn(device)
   commandArray[device] = "Off AFTER "..secs
end
Tu peux créer ta fonction switchOnIn :

Code : Tout sélectionner

-- switch On a device in x seconds
function switchOnIn(device, secs)
   commandArray[device] = "On AFTER "..secs
end
Il n'y aura plus qu'à appeler dans ton script lua :

Code : Tout sélectionner

switchOnIn(Lampe,5)
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
rapinou
Messages : 119
Inscription : 17 nov. 2016, 01:44

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

Message par rapinou »

AFTER fonctionne avec "On" normalement.

Que veux-tu dire par :
landaisbenj a écrit :Et d'ailleurs ca n'existe meme pas...
?

Il doit y avoir un conflit avec un autre timer, voir https://www.domoticz.com/wiki/Events.

EDIT : Le temps que je réponde, le message a disparu ?
RPI 3 - Raspbian 8 (Jessie) - Domoticz V3.5877
Répondre