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¶m=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
exécution impossible d'un code LUA
Re: exécution impossible d'un code LUA
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...
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
Re: exécution impossible d'un code LUA
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 :
(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
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' }
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¶m=udevice&idx=4&svalue=allumage")
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: exécution impossible d'un code LUA
Salut,
Un OpenURL fait aussi le taf pour json
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
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: exécution impossible d'un code LUA
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
en tout cas je suis content de vos réponses,ça fait du bien d’être aidé
je vous tiens au courant