Page 1 sur 3

Script lua uservariables

Publié : 27 sept. 2017, 13:39
par shinji
Bonjour à tous,

j'ai un souci avec un script uservariable. Il n'est pas "scanner" lorsque je change l'état d'une variable.

Dans un script device j'ai ceci:

Code : Tout sélectionner

commandArray = {}

if devicechanged['Bouton Chambre'] == 'Click' then
    commandArray['Variable:Alarme'] = 'ON' 
    commandArray['Bouton Chambre'] = 'Off'
    
elseif devicechanged['Bouton Chambre'] == 'Double Click' then
    commandArray['Variable:Alarme'] = 'OFF' 
    commandArray['Bouton Chambre'] = 'Off'
end

return commandArray
Et dans un autre script uservariable cette fois, j'ai ceci:

Code : Tout sélectionner

commandArray = {}

print "toto"
if (uservariables["Alarme"] == "ON") then                           
    print"alarm mode jour"
end

return commandArray
La variable est bien maj mais mon print "toto" qui devrait s'afficher à chaque appui sur le bouton, ne s'affiche jamais.
Hors si je change manuellement l'état de la variable dans le menu de déclaration de uservariable, en faisant modifier, tout fonctionne bien.

Du coup je ne comprend pas pourquoi ça ne fonctionne pas quand je modifie la variable via le bouton.
Je n'ai pas réussi a trouver des infos sur internet donc me voici ici :).

Merci d'avance.

Re: Script lua uservariables

Publié : 27 sept. 2017, 13:59
par vil1driver
Salut
Maj ta variable par une requête json

Re: Script lua uservariables

Publié : 27 sept. 2017, 14:13
par jackslayter

Re: Script lua uservariables

Publié : 27 sept. 2017, 14:24
par shinji
Ok merci du coup si j'ai bien compris il faut que je change le

commandArray['Variable:Alarme'] = 'ON'
par
/json.htm?type=command&param=updateuservariable&vname=Alarme&vtype=2&vvalue=ON

par contre pourquoi l'autre méthode ne fonctionne pas ? Pas de remontée de modification dans uservariable ?

Re: Script lua uservariables

Publié : 27 sept. 2017, 15:30
par jackslayter
oui c'est ça
si ça fonctionne, c'est exactement ça même si tu peux voir si une variable est modifiée (script_variable_x.lua)

Re: Script lua uservariables

Publié : 27 sept. 2017, 18:41
par shinji
Pfffff c'est la vraie galère le JSON j'y connais pas grand chose.

Du coup j'ai testé ça

Code : Tout sélectionner

http://192.168.0.15:8084/json.htm?type=command&param=updateuservariable&vname=Alarme&vtype=2&vvalue=ON
car il y avait cet exemple:

Code : Tout sélectionner

eg. http://192.168.1.2:8080/json.htm?type=command&param=udevice&idx=$idx&nvalue=0&svalue=79
ça marche pas déjà dans le lua j'ai des erreurs partout et j'ai essayé avec ça et c'est pas mieux

Code : Tout sélectionner

http://bob:toto@domoticz-ip:192.168.0.15:8084/json.htm?type=command&param=updateuservariable&vname=Alarme&vtype=2&vvalue=ON
bob = user et toto en password j'ai vu aussi certain exemple avec curl devant

Code : Tout sélectionner

curl 'http://192.168.0.15:8084/json.htm?type=command&param=updateuservariable&vname=Alarme&vtype=2&vvalue=ON'
mais ça marche pas non plus !

La ligne se suffit à elle même ou alors il faut une déclaration préalable ?

Bref j'ai fait une peu de code à l'école je découvre le lua assez facilement mais JSON je capte pas grand chose !

Merci

Re: Script lua uservariables

Publié : 27 sept. 2017, 18:45
par vil1driver

Code : Tout sélectionner

commandArray['OpenURL'] ='url' 

Re: Script lua uservariables

Publié : 27 sept. 2017, 19:53
par shinji
cool ça marche si j’enlève le user et mot de passe sur domoticz

Code : Tout sélectionner

 commandArray['OpenURL'] ='http://192.168.0.15:8084/json.htm?type=command&param=updateuservariable&vname=Alarme&vtype=2&vvalue=ON'
Du coup ça c'est OK merci :)

Par contre je suis toujours bloqué avec le user et password si je le remet

Code : Tout sélectionner

http://<username:password@>domoticz-ip<:port>/json.htm?api-call

Code : Tout sélectionner

 commandArray['OpenURL'] ='http://<bob:toto@>192.168.0.15:8084/json.htm?type=command&param=updateuservariable&vname=Alarme&vtype=2&vvalue=ON'

Error: Error opening url: http://192.168.0.15:8084/json.htm?type=command¶m=updateuservariable&vname=Alarme&vtype=2&vvalue=ON
la déclaration est bien identique à l'exemple pourtant <username:password@> => <bob:toto@>

merci encore ...... :)

Re: Script lua uservariables

Publié : 27 sept. 2017, 21:20
par cyberbob
Un truc que je ne comprend pas en lisant ces post,
J'ai une variable utilisateurs déclarée dans "réglages/plus d'options/variable utilisateur"
Et je la change de valeurs dans différent scipts Blockly avec un "set"
On ne peut donc pas faire la même chose dans un script LUA ?

Re: Script lua uservariables

Publié : 27 sept. 2017, 22:03
par papoo

Code : Tout sélectionner

commandArray['Variable:MyVar']='Some value'
https://www.domoticz.com/wiki/Events