script lua en lancement direct par device
script lua en lancement direct par device
Bonjour;
je n'arrive pas à lancer un script lua DIRECTEMENT par un switch.
j arrive à lancer des scripts python ou shell, mais pas lua.
j ai déjà vérifié les permissions, http ou https avec ou sans id+mot de passe avec // ou /// dans la ligne de commande,
impossible ERROR 32256 et ou 512
quelqu'un a t il une idée ?
je n'arrive pas à lancer un script lua DIRECTEMENT par un switch.
j arrive à lancer des scripts python ou shell, mais pas lua.
j ai déjà vérifié les permissions, http ou https avec ou sans id+mot de passe avec // ou /// dans la ligne de commande,
impossible ERROR 32256 et ou 512
quelqu'un a t il une idée ?
Tout en WiFi et MQTT (2019)
Re: script lua en lancement direct par device
Salut,
le script Lua se lance systématiquement si un matériel change d'état et si son nom respecte çà: "script_device_xxxxxxxxx.lua"
Dès que ton switch change d'état, le script est exécuté et il doit être tourné à peu près comme çà:
Sinon, voir ici, c'est bien expliqué: https://easydomoticz.com/point-scripts-lua/
le script Lua se lance systématiquement si un matériel change d'état et si son nom respecte çà: "script_device_xxxxxxxxx.lua"
Dès que ton switch change d'état, le script est exécuté et il doit être tourné à peu près comme çà:
Code : Tout sélectionner
commandArray = {}
if (devicechanged['Mon_Switch'] == 'On' ) then
print('coucou') --do something
end
return commandArray
Raspberry Pi 3 + Raspbian Jessie Lite + Domoticz V4.9700 - RFlink USB V48 433.42MHz - Volets Somfy RTS - MySensors USB V2.1.1 - IDE Arduino 1.8.8
Re: script lua en lancement direct par device
merci,
je découvre!!!
j'essaye
je découvre!!!
j'essaye
Tout en WiFi et MQTT (2019)
Re: script lua en lancement direct par device
En fait, non, je connaissais. Je n'avais pas compris.
Je n'utilise jamais cette particularité, tous mes scripts sont déclarés par famille (time,device...) sans mention directe dans le titre (ex t_chauffage.lua) je rajoute quand meme t_ ou d_ pour m'y retrouver plus tard.
Malheureusement cela ne répond pas au problème :
comment lancer directement un script lua dans la ligne de commande d'un interrupteur ou d'un sélecteur.
par exemple j'ai sur un bouton:
dans le champ ACTION ON: script:///home/pi/433Utils/RPi_utils/otiocd_rdc 00
qui lance un script (C compilé)
impossible d arriver au même résultat avec un script LUA
Le but étant justement de court circuiter le passage par un script de type 'DEVICE'
Je n'utilise jamais cette particularité, tous mes scripts sont déclarés par famille (time,device...) sans mention directe dans le titre (ex t_chauffage.lua) je rajoute quand meme t_ ou d_ pour m'y retrouver plus tard.
Malheureusement cela ne répond pas au problème :
comment lancer directement un script lua dans la ligne de commande d'un interrupteur ou d'un sélecteur.
par exemple j'ai sur un bouton:
dans le champ ACTION ON: script:///home/pi/433Utils/RPi_utils/otiocd_rdc 00
qui lance un script (C compilé)
impossible d arriver au même résultat avec un script LUA
Le but étant justement de court circuiter le passage par un script de type 'DEVICE'
Tout en WiFi et MQTT (2019)
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: script lua en lancement direct par device
Salut,

Quel intérêt ?paya.aabg a écrit : 15 déc. 2018, 14:17 Le but étant justement de court circuiter le passage par un script de type 'DEVICE'
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: script lua en lancement direct par device
1- éviter de surcharger l'énumération des scripts dans DMZ .en principe on devrait pouvoir tout gérer avec un seul script 'time' et un seul script 'device', mais ça demande des MAJ compliquées. L'appel direct d'action évite cela pour des actions ponctuelles.
2- scripts plus 'généralistes' sur la gestion plus globale, non limités dans la durée (ça existe déjà en BASH ou en C)
3-scripts d'affichage 'direct' sur les selecteurs EX changement d'icone (pour l'instant je n'y arrive pas en direct, mais justement ca marche en passant par un script 'device')
4-j'aimerais comprendre aussi pourquoi j'arrive à lancer un BASH ou un programme en C compilé et PAS un LUA ???
2- scripts plus 'généralistes' sur la gestion plus globale, non limités dans la durée (ça existe déjà en BASH ou en C)
3-scripts d'affichage 'direct' sur les selecteurs EX changement d'icone (pour l'instant je n'y arrive pas en direct, mais justement ca marche en passant par un script 'device')
4-j'aimerais comprendre aussi pourquoi j'arrive à lancer un BASH ou un programme en C compilé et PAS un LUA ???
Tout en WiFi et MQTT (2019)
Re: script lua en lancement direct par device
PS:
c'est un reste aussi de ma formation (ancienne, très ancienne) d'économie de ressources processeur quand c'est possible...
c'est un reste aussi de ma formation (ancienne, très ancienne) d'économie de ressources processeur quand c'est possible...
Tout en WiFi et MQTT (2019)
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: script lua en lancement direct par device
Aucun soucis pour lancer un script lua ou autres langages comme tu le souhaites mais tu devras te passer des tables que domoticz fournit lorsque c'est lui qui le lance.. De même pour les actions, tout devra se faire via l'api json..
Les économies dont tu parles sont illusoires.
Un seul script device et un seul time, ca fonctionne, aucune complication niveau maj mais pas vraiment d'intérêt
Les économies dont tu parles sont illusoires.
Un seul script device et un seul time, ca fonctionne, aucune complication niveau maj mais pas vraiment d'intérêt
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: script lua en lancement direct par device
Sinon, il suffit de renommer ton fichier avec le nom du dispositif qui l'actionne :
https://wiki.domoticz.com/wiki/EventsAs of version V3.8050 device scripts can be named the same as the device to only evaluate the Lua code when this device changes. Eg. if you use script_device_switch_1.lua and you have a device named 'Switch 1', this script will only trigger when this device updates. You should only use lowercase characters in the file name for this to work. Spaces are set with an underscore (_). If you name the script randomly, eg. script_device_somethingelse.lua, and there is no such device named 'somethingelse', it will evaluate the script on all device changes, the same behavior as pre V3.8050.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: script lua en lancement direct par device
Je n'ai jamais compris pourquoi ils avaient implémenté cela, entre se palucher la liste des devices pour voir si le nom du script correspond à un device existant, ou lire les 3, 4 premières ligne du script..
Je ne suis pas certain qu'il y ait un gain.
Je ne suis pas certain qu'il y ait un gain.
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