Page 9 sur 16
Re: Speedup accélérer la réactivité de domoticz
Publié : 21 nov. 2017, 13:34
par Phebus06
Alors la bravo, je suis vraiment une truffe...je m'en étais même pas rendu compte lol
A chercher la petite bête on ne voit pas la grosse.
Comme quoi c'est toujours bon que quelqu'un d'autre regarde ce qu'on fait

Re: Speedup accélérer la réactivité de domoticz
Publié : 21 nov. 2017, 13:40
par landaisbenj
Phebus06 a écrit :
Comme quoi c'est toujours bon que quelqu'un d'autre regarde ce qu'on fait

Je trouve aussi. Même quand un script fonctionne le montrer peut avoir de belle répercussion... Amélioration du code, correction de compréhension ou même partage...
Re: Speedup accélérer la réactivité de domoticz
Publié : 21 nov. 2017, 17:41
par totof60
J'utilise le module de vil1driver pour commander un éclairage sur détection de Pir.
La fonction qui m’intéressait était : switchOnFor
Je crois de comprendre que cette fonction n’est pas accélérée ?
En plus je pense que ce n'est pas trés utile de l'utiliser puisque dans les paramètres des devices on peux mettre un temps d'activation.
Mais j'ai voulu essayer!
J'ai donc remplacé
par
Code : Tout sélectionner
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command¶m=switchlight&idx='..otherdevices_idx[device]..'&switchcmd=On&passcode='..domoticzPASSCODE..'" &')
Ai-je bien compris le principe ?
Re: Speedup accélérer la réactivité de domoticz
Publié : 21 nov. 2017, 18:18
par landaisbenj
totof60 a écrit :
Je crois de comprendre que cette fonction n’est pas accélérée ?
switchOnFor utilise le curl, et accélère donc le traitement de la requete par rapport a commandArray['device']='On FOR 5'
(dans le cas ou mes informations sont a jour. Ca se trouve domoticz a ete nettoyé et est peut etre aussi rapide en commandArray qu'avec le JSON)
En plus je pense que ce n'est pas trés utile de l'utiliser puisque dans les paramètres des devices on peux mettre un temps d'activation.
A toi de voir comment tu l'utilise. Mais effectivement le temps d’extinction (et non d'activation dans le cas d'un On FOR) sera gérable dans le device.
Pour info ce n'est pas le FOR qui est accéléré(...) mais le On. Donc aucun rapport ici en terme de rapidité d’exécution.
J'ai donc remplacé
par
Code : Tout sélectionner
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command¶m=switchlight&idx='..otherdevices_idx[device]..'&switchcmd=On&passcode='..domoticzPASSCODE..'" &')
Ai-je bien compris le principe ?
Tu as bien compris si tu as evidemment remplacer les variables dans la commande curl par les bonnes infos.
Dans ce cas, au lieu d'utiliser le commandArray tu utilise le curl et envoi l'info a ton device en direct. Et non, traité par le server en lui meme. Donc plus rapide au On.
En gros switchOn n'est qu'un raccourci pour ne pas écrire toute cette commande. Et du coup tu accélère les reponses domoticz en remplaçant commandArray['device'] par une ou l'autre de ces commandes. Moi j'ai pour instinct de me dire que utiliser la commande pure sera forcement plus rapide que d'utiliser un raccourci qui charge un fichier et qui utilise au final la même commande. Mais c'est très minime...
Re: Speedup accélérer la réactivité de domoticz
Publié : 21 nov. 2017, 18:56
par vil1driver
Merci à toi pour ton temps à expliquer les choses,
que tu as au passage très bien comprises
landaisbenj a écrit :
(dans le cas ou mes informations sont a jour. Ca se trouve domoticz a ete nettoyé et est peut etre aussi rapide en commandArray qu'avec le JSON)
Je sais qu'il y avait une volonté en ce sens, il faudrait s'y intéresser effectivement..
landaisbenj a écrit :j'ai pour instinct de me dire que utiliser la commande pure sera forcement plus rapide que d'utiliser un raccourci qui charge un fichier et qui utilise au final la même commande. Mais c'est très minime...

Re: Speedup accélérer la réactivité de domoticz
Publié : 21 nov. 2017, 19:51
par landaisbenj
vil1driver a écrit :
Je sais qu'il y avait une volonté en ce sens, il faudrait s'y intéresser effectivement..
Vu le dernier thème qui était annoncé il y a peu je suppose qu'ils vont s'y intéresser a ce moment? On verra en tout cas meme le fait de raccourcir facilement les commandes ça reste intéressant.
Des fichiers comme celui la aide largement a comprendre comment fonctionnent les interactions entre tous les services. Mais c'est surtout les remontés de chacun qui m'ont aidés. Du coup si je peux en faire profiter ça me plait.
Re: Speedup accélérer la réactivité de domoticz
Publié : 22 nov. 2017, 10:01
par Phebus06
Bon j'ai fini par réussir à faire fonctionner le script Speedup avec tous vos conseils
Maintenant je me disais que ça serai bien en plus de pouvoir allumer un ruban de led et de choisir son intensité, de pouvoir choisir la couleur donc est ce que vous pensez que je peux rajouter un truc comme ça dans le script :
Code : Tout sélectionner
-- switch Color device if RGB
function switchColor(device,color)
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command¶m=setcolbrightnessvalue&idx='..otherdevices_idx[device]..'&hex='..color..'&brightness=5&iswhite=false'" &')
end
et on l’appellerait comme ceci dans un script_device_essai.lua
Code : Tout sélectionner
-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')
commandArray = {}
if ( devicechanged['Pir couloir'] == 'On' ) then
switchOn('ruban led salon', '50')
switchColor('ruban led salon', '2E64FE')
end
return commandArray
j'ai essayé vite fait hier soir mais je n'ai pas l'impression que cela fonctionne ...
Pensez vous que l'idée soit bonne et que ce soit possible ???
Re: Speedup accélérer la réactivité de domoticz
Publié : 22 nov. 2017, 13:06
par landaisbenj
C'est avec toi qu'on avait deja discuté d'une commande pour la couleur et l'intensité en meme temps ? Car en cherchant pour ta reponse je suis tombé la dessus sur l'API JSON de domoticz:
Plutôt que de spécifier des paramètres de teinte / luminosité, vous pouvez utiliser un triplet hexadécimal RVB via '& hex =' comme suit
Code : Tout sélectionner
/json.htm?type=command¶m=setcolbrightnessvalue&idx=99&hex=RRGGBB&brightness=100&iswhite=false
dans ce cas, l'intensité est inhérente à la valeur hexadécimale (c'est-à-dire que ff0000 représente le rouge de pleine luminosité alors que par exemple 3f0000 est également rouge pur mais sera plus faible) et le paramètre & brigntness ne fait rien. Le laisser dehors cependant semble causer des problèmes avec le scintillement de Philips Hue donc mieux le laisser à 100. Un site comme
colorhexa peut être utilisé pour aider à choisir des valeurs hexadécimales selon les couleurs désirées.
Sinon oui, le faire comme ca en temps que fonction dois pouvoir fonctionner. Et tu aurais même pu faire "switchColor(device,color,intensite)"...
Je ne sais pas pourquoi cela ne fonctionne pas. Par contre ici:
Code : Tout sélectionner
switchOn('ruban led salon', '50')
switchColor('ruban led salon', '2E64FE')
Avec ta première commande tu demande la lumière a "ON" avec intensité a 50% et avec la deuxième tu demande en couleur avec intensité a 5%:
Code : Tout sélectionner
".'&hex='..color..'&[u]brightness=5[/u]&iswhite=false'" &')".
Je ne sais pas si c'est compatible tout ca... deux brightness et une couleur hexadecimal (suivant ce que j'ai collé en haut du post)
As-tu d'abord essayé ca avec un simple bouton test ?
Code : Tout sélectionner
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=command¶m=setcolbrightnessvalue&idx='..otherdevices_idx[device]..'&hex='..color..'&brightness=5&iswhite=false'" &')
Re: Speedup accélérer la réactivité de domoticz
Publié : 22 nov. 2017, 13:52
par Jeff
Merci à toi pour ton temps à expliquer les choses,
que tu as au passage très bien comprises
@landaisbenj
Moi je dis que je viens d'apprendre plein de trucs et je dis bravo pour la pédagogie, çà coule de source
Tu dois être surement professeur

Re: Speedup accélérer la réactivité de domoticz
Publié : 22 nov. 2017, 14:38
par landaisbenj
Jeff a écrit :Merci à toi pour ton temps à expliquer les choses,
que tu as au passage très bien comprises
@landaisbenj
Moi je dis que je viens d'apprendre plein de trucs et je dis bravo pour la pédagogie, çà coule de source
Tu dois être surement professeur

Lol merci, mais non. Par contre j'ai tellement eu de mal a comprendre avec les profs ou mes parents quand je devez faire un simple probleme, que maintenant j'essai d'etre clair
