Page 3 sur 16
Re: RE: Re: Speedup accélérer la réactivité de domoticz
Publié : 12 déc. 2016, 18:24
par deennoo
vil1driver a écrit :une fois n'est pas coutume j'ai posté sans tester et après essai, allez savoir pourquoi ça ne fonctionne pas

et vous ?
le Off AFTER n'est pris en compte que si je ne passe pas la lampe à On avant

est ce que la commande Off AFTER serait passée avant la commande On et donc annulée par cette dernière ?

Pas essayer non plus...pas eu le temps je suis sur les ampoules yeelight.
Une histoire de
Commandarray[1]=
CommandArray[2]=
Etc qui force l'orde
Re: Speedup accélérer la réactivité de domoticz
Publié : 21 déc. 2016, 13:15
par vil1driver
bon, c'est résolu, la faute au script send twice qui renvoyait la commande On et désactivait du coups le Off AFTER.
donc ça fonctionne au poil

Re: Speedup accélérer la réactivité de domoticz
Publié : 23 mars 2017, 17:42
par OyyoDams
Salut vil1driver,
Pour ma part j'utilise pas mal le mode "protégé" pour des inter virtuels sensibles. Or ton script ne sais pas les gérer, car quand on passe par un json dans ce cas il faut ajouter "&passcode=XXXX" en remplaçant XXXX par le mot de passe choisi dans "Protection Luminaires/Interrupteurs".
Je te propose donc une nouvelle version qui prend en compte ce paramètre:
Code : Tout sélectionner
-- /!\ require Domoticz v3.5776 and after /!\
curl = '/usr/bin/curl ' -- don't forgot the final space
domoticzIP = '127.0.0.1'
domoticzPORT = '8080'
domoticzURL = 'http://'..domoticzIP..':'..domoticzPORT
domoticzPASSCODE = 'XXXX'
-- switch On a device and set level if dimmmable
function switchOn(device, level)
if level ~= nil then
os.execute(curl..'"'..domoticzURL..'/json.htm?type=command¶m=switchlight&idx='..otherdevices_idx[device]..'&switchcmd=Set%20Leve
l&level='..level..'&passcode='..domoticzPASSCODE..'" &')
else
os.execute(curl..'"'..domoticzURL..'/json.htm?type=command¶m=switchlight&idx='..otherdevices_idx[device]..'&switchcmd=On&passcod
e='..domoticzPASSCODE..'" &')
end
end
-- switch On a devive for x seconds
-- non compatible avec le script sendTwice
function switchOnFor(device, secs)
switchOn(device)
commandArray[device] = "Off AFTER "..secs
end
-- switch Off a device
function switchOff(device)
os.execute(curl..'"'..domoticzURL..'/json.htm?type=command¶m=switchlight&idx='..otherdevices_idx[device]..'&switchcmd=Off&passcode=
'..domoticzPASSCODE..'" &')
end
-- Toggle a device
function switch(device)
os.execute(curl..'"'..domoticzURL..'/json.htm?type=command¶m=switchlight&idx='..otherdevices_idx[device]..'&switchcmd=Toggle&passco
de='..domoticzPASSCODE..'" &')
end
-- switch On a group or scene
function groupOn(device)
os.execute(curl..'"'..domoticzURL..'/json.htm?type=command¶m=switchscene&idx='..otherdevices_scenesgroups_idx[device]..'&switchcmd=
On&passcode='..domoticzPASSCODE..'" &')
end
-- switch Off a group
function groupOff(device)
os.execute(curl..'"'..domoticzURL..'/json.htm?type=command¶m=switchscene&idx='..otherdevices_scenesgroups_idx[device]..'&switchcmd=
Off&passcode='..domoticzPASSCODE..'" &')
end
Re: Speedup accélérer la réactivité de domoticz
Publié : 23 mars 2017, 19:14
par vil1driver
Merci

Re: Speedup accélérer la réactivité de domoticz
Publié : 17 avr. 2017, 18:59
par Merangle
Bonsoir à tous et merci pour toutes ces astuces.
J'essaye de mettre en oeuvre cette solution pour optimiser la vitesse de DZ:
j'ai donc les instructions suivantes
cmd = "/usr/bin/curl
http://192.168.1.41:8080/json.htm?type= ... itchcmd=On"
print ('Tools '..cmd)
os.execute(cmd)
qui reproduit les instructions proposées par Vil1driver et j'obtiens dans la log pour le print
extrait de la chaine cmd pour la voir complètement
type=command¶m=switchlight&idx=42&switchcmd=On"
2017-04-17 18:53:13.625 LUA: Tools /usr/bin/curl
http://192.168.1.41:8080/json.htm?type=command¶m=switchlight&idx=42&switchcmd=On
et bien sûr la commande ne s'exécute pas.
La même commande envoyée par le browser s'exécute correctement.
Le point embêtant est la transformation de "command¶m" en "command(paragraphe)m" par transformation de &par en (paragraphe).
J'utilise comme éditeur notepad++ (et même chose avec nano).
Le même type d'instruction dans un programme bash marche parfaitement.
Auriez-vous une idée pour corriger ce point bloquant ?????
Merci d'avance pour votre aide .
Re: Speedup accélérer la réactivité de domoticz
Publié : 17 avr. 2017, 19:20
par vil1driver
Dans notepad++ vérifie bien que tu es en utf8
Re: Speedup accélérer la réactivité de domoticz
Publié : 17 avr. 2017, 19:36
par Merangle
Bonsoir Vil1driver
Il est en UTF8 sans BOM
Il y a l'option UTF8 seul. J'ai essayé cette option. Cela ne corrige pas le pb.
Merci pour ta suggestion.
Re: Speedup accélérer la réactivité de domoticz
Publié : 17 avr. 2017, 19:40
par Doume
Merangle a écrit :Bonsoir à tous et merci pour toutes ces astuces.
J'essaye de mettre en oeuvre cette solution pour optimiser la vitesse de DZ:
j'ai donc les instructions suivantes
cmd = "/usr/bin/curl
http://192.168.1.41:8080/json.htm?type= ... itchcmd=On"
print ('Tools '..cmd)
os.execute(cmd)
qui reproduit les instructions proposées par Vil1driver et j'obtiens dans la log pour le print
extrait de la chaine cmd pour la voir complètement
type=command¶m=switchlight&idx=42&switchcmd=On"
2017-04-17 18:53:13.625 LUA: Tools /usr/bin/curl
http://192.168.1.41:8080/json.htm?type=command¶m=switchlight&idx=42&switchcmd=On
et bien sûr la commande ne s'exécute pas.
La même commande envoyée par le browser s'exécute correctement.
Le point embêtant est la transformation de "command¶m" en "command(paragraphe)m" par transformation de &par en (paragraphe).
J'utilise comme éditeur notepad++ (et même chose avec nano).
Le même type d'instruction dans un programme bash marche parfaitement.
Auriez-vous une idée pour corriger ce point bloquant ?????
Merci d'avance pour votre aide .
Lorsque tu concatènes des chaines en PHP ( string1..string2 ) le langage n'accepte pas les caractères '&'
Ca fonctionne si tu remplaces le & par &
Re: Speedup accélérer la réactivité de domoticz
Publié : 17 avr. 2017, 21:10
par Merangle
Bonsoir
Merci pour l'astuce de remplacer & par &.
Effectivement la commande cmd devient lisible.
Mais l'interrupteur ne s'allume toujours pas. Il faut que je cherche pourquoi.
En tous les cas, merci de votre aide.
Re: Speedup accélérer la réactivité de domoticz
Publié : 17 avr. 2017, 21:15
par Neutrino
Echange type et param :
devient