pb LUA/JSON màj

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

pb LUA/JSON màj

Message par jackslayter »

salut, je veux changer le nom d'un device (custom sensor), je colle ce code json dans une barre d'adresse

Code : Tout sélectionner

http://192.168.1.20/json.htm?type=setused&idx=360&name=blablabla&switchtype=0&devoptions=1%3B%2520&used=true
ça marche

dans le lua,

Code : Tout sélectionner

variable=tostring("blabla")
os.execute('curl -s -i -H "Accept: application/json" "http://192.168.1.20/json.htm?type=setused&idx=360&name="'..variable..'"&switchtype=0&devoptions=1%3B%2520&used=true"')
ca ne marche pas
et si je mets

Code : Tout sélectionner

os.execute('curl -s -i -H "Accept: application/json" "http://192.168.1.20/json.htm?type=setused&idx=360&name=blabla&switchtype=0&devoptions=1%3B%2520&used=true"')
ça marche
si j’enlève le "tostring" j'ai une erreur de string.

avec cette commande c'est pareil

Code : Tout sélectionner

os.execute('curl -s -i -H "Accept: application/json" "http://192.168.1.20/json.htm?type=command&param=renamedevice&idx=360&name="'..variable..'"')
une idée ? j'ai essayé avec des " et des '
merci
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: pb LUA/JSON màj

Message par vil1driver »

salut,

ahhh tu aimes ça les guillemets :mrgreen:

blabla passé en chaîne ça donne "blabla" (ajout de guillemets..)
par la dessus tu y colles un tostring donc tu obtiens ""blabla""
et en plus de cela dans le code de l'url tu rajoutes encore des guillemets name="...
ça fait ptête beaucoup :D

essai juste cela pour voir

Code : Tout sélectionner

variable='blabla'
os.execute('curl -s -i -H "Accept: application/json" "http://192.168.1.20/json.htm?type=setused&idx=360&name='..variable..'&switchtype=0&devoptions=1%3B%2520&used=true"')
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
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: pb LUA/JSON màj

Message par jackslayter »

non rien changé, c'est comme si on ne pouvait pas mettre une variable dans "name="
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: pb LUA/JSON màj

Message par vil1driver »

pourtant ça fonctionne ici

Code : Tout sélectionner

curl = '/usr/bin/curl -m 15 '
domoticzIP = '192.168.22.100'	--'127.0.0.1'
domoticzPORT = '8080'
domoticzURL = 'http://'..domoticzIP..':'..domoticzPORT
domoticzUSER = ''		-- nom d'utilisateur
domoticzPSWD = ''		-- mot de pass
variable='blabla'
os.execute(curl..'-u '..domoticzUSER..':'..domoticzPSWD..' "'..domoticzURL..'/json.htm?type=setused&idx=473&name='..variable..'&switchtype=0&devoptions=1%3B%2520&used=true"')
juste ajouter un url_encode si tu souhaites pouvoir mettre des espaces dans le nom
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
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: pb LUA/JSON màj

Message par jackslayter »

marche pas avec

Code : Tout sélectionner

os.execute('curl --silent -s -i -H  "Accept: application/json" --data-urlencode "type=setused&idx=360&name='..variable..'&switchtype=0&devoptions=1%3B%2520&used=true" "http://192.168.1.20/json.htm"')
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: pb LUA/JSON màj

Message par vil1driver »

Laisses moi deviner...

Depuis le début tu indiques blabla mais ce n'est pas ce que tu fais ?
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
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: pb LUA/JSON màj

Message par jackslayter »

si , je veux modifier le data "name=" en y mettant une variable pour la faire varier
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: pb LUA/JSON màj

Message par vil1driver »

Bah pourquoi ne pas juste reprendre mon exemple ?
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
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: pb LUA/JSON màj

Message par jackslayter »

Je l'ai testé et cela n'a pas marché, vu que tu as parlé du URL encode et que effectivement il peut y avoir des espaces j'ai essayé cela aussi
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: pb LUA/JSON màj

Message par vil1driver »

Au cas ou...

Dans l'exemple j'ai laissé un idx perso...
Tu avais bien pensé à remettre 360 ?

(et bien sur l'ip..)
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
Répondre