exécution impossible d'un code LUA

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 <\>.
figaro
Messages : 2
Inscription : 21 févr. 2018, 19:57

exécution impossible d'un code LUA

Message par figaro »

Bonjour à tous
je débute dans le codage LUA ,j'ai un contact auquel j'essai de même un code il s'agit d'afficher un texte dans un dispositif virtuel ,j'ai copié simplement le code suivant :

- Allumage Lumière Entree.
commandArray = {}
if (devicechanged['cuve'] ) then
commandArray['cuve']='On'
print(' Allumage ' )
http://192.168.X.XX:8080/json.htm?type=command&param=udevice&idx=4&svalue=allumage
end
return commandArray

ce qui est incroyable c'est quand j’enlève la ligne" http ........." j'ai le texte "allumage" qui affiche dans le log de domoticz et quand je place la ligne "http ..........." dans le programme j'ai l'erreur :
2018-02-21 19:53:02.118 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_on.lua: /home/pi/domoticz/scripts/lua/script_device_on.lua:4: expected near '/'

et je n'ai plus "allumage" dans le LOg


je n'ai aucun de mot de passe nul par ,pour le capteur virtuel j'ai choisi comme type de capteur "TEXT"

si une âme charitable peut m’aider , ou si quelqu'un à déjà eu ce problème car la je vais craquer
merci pour votre aide
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: exécution impossible d'un code LUA

Message par Jeff »

Pour un texte, regarde le wiki domoticz, rubrique 'Event', ci joint un extrait.
Il ya aussi l'histoire de 2 commandarray ala suite, voir sujet dans ce forum...

Code : Tout sélectionner

commandArray['Switch']='On'
 commandArray['Scene:Livingroom']='On'         -- remember, Scene cannot be turned Off!
 commandArray['Group:Kitchen']='Inactive'
 commandArray['Keyfob']='Group On'
 commandArray['DimmableDevice']='Set Level 50'
 commandArray['Selector']='Set Level: 50'
 commandArray['SendNotification']='subject#body#0'
 commandArray['SendEmail']='subject#body#your@email.com'
 commandArray['OpenURL']='www.yourdomain.com/api/movecamtopreset.cgi' 
 commandArray['Blinds']='On RANDOM 30'
 commandArray['Porch Light']='On FOR 2'
 commandArray['Variable:MyVar']='Some value'
 commandArray['Variable:MyVar']='Some value AFTER 3'
 commandArray[textDeviceIdx] = { ['UpdateDevice'] = textDeviceIdx..'|0|'..'some text' }
 commandArray[tempDeviceIdx] = { ['UpdateDevice'] = tempDeviceIdx..'|0|'..temp }
 commandArray[tempHumDevIdx] = { ['UpdateDevice'] = tempHumDevIdx..'|0|'.. temp ..';'.. hum ..';'.. hum_stat }
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: exécution impossible d'un code LUA

Message par papoo »

pour compléter ce que dit Jeff
soit tu utilises les commandes events de domoticz pour mettre à jour ton device

exemple dans ton cas pour un device text :

Code : Tout sélectionner

local textDeviceIdx = 4
local some text = "Allumage"
commandArray[#commandArray+1] = { ['UpdateDevice'] = textDeviceIdx..'|0|'..'some text' }
(note le commandArray[#commandArray+1] qui te permet de t'affranchir de la restriction du nb de commande array comme l’évoque Jeff)


ou bien tu utilise la commande json mais dans ce cas la tu doit la faire exécuter par os.execute et curl

dans ton cas

Code : Tout sélectionner

os.execute(curl "http://192.168.X.XX:8080/json.htm?type=command&param=udevice&idx=4&svalue=allumage")

domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: exécution impossible d'un code LUA

Message par vil1driver »

Salut,

Un OpenURL fait aussi le taf pour json ;)
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
figaro
Messages : 2
Inscription : 21 févr. 2018, 19:57

Re: exécution impossible d'un code LUA

Message par figaro »

Bonjour à tous je vais essayer toutes vos astuces ,je suis convaincu que cela va m'aider à grandir
en tout cas je suis content de vos réponses,ça fait du bien d’être aidé
je vous tiens au courant
Répondre