LUA Debute 1 inter et 1 sortie
Publié : 10 mars 2025, 15:11
Bonjour,
J'essaie de me mettre au LUA, mon premier script un inter actionne une sortie (GPIO16).
Dans le log:
Que faut t'il faire pour que la gpio16 change d' état?
Dans le /etc/init.d/domoticz.sh j'ai rajouté :
Pour déclarer la gpio 16 en sortie.
Merci pour votre aide, c'est pour moi la première fois que j'utilise LUA.
Daniel
J'essaie de me mettre au LUA, mon premier script un inter actionne une sortie (GPIO16).
Code : Tout sélectionner
commandArray = {}
-- Remplacez "Interrupteur_GPIO" par le nom de votre interrupteur dans Domoticz
local switchName = "Bouton poussoir"
-- Numéro du GPIO à contrôler (exemple: GPIO16)
local gpioPin = 16
-- Vérifiez l'état de l'interrupteur
if devicechanged[switchName] == "On" then
print("Bouton appuyé!")
-- Active la GPIO
os.execute("sudo sh -c 'echo " .. gpioPin .. " > /sys/class/gpio/export'")
os.execute("sudo sh -c 'echo out > /sys/class/gpio/gpio" .. gpioPin .. "/direction'")
os.execute("sudo sh -c 'echo 1 > /sys/class/gpio/gpio" .. gpioPin .. "/value'")
print("GPIO " .. gpioPin .. " activée")
elseif devicechanged[switchName] == "Off" then
-- Désactive la GPIO
os.execute("sudo sh -c 'echo 0 > /sys/class/gpio/gpio" .. gpioPin .. "/value'")
print("GPIO " .. gpioPin .. " désactivée")
end
return commandArray
Et dans la page interrupteur le "Bouton Poussoir" change d'état mais pas la gpio16.2025-03-10 14:57:01.392 Status: User: admin (IP: 192.168.1.13) initiated a switch command (2/Bouton poussoir/On)
2025-03-10 14:57:01.401 Capteur Virtuel: Light/Switch (Bouton poussoir)
2025-03-10 14:57:01.403 Status: LUA: Bouton appuyé!
2025-03-10 14:57:01.572 Status: LUA: GPIO 16 activée
2025-03-10 14:57:06.566 Status: User: admin (IP: 192.168.1.13) initiated a switch command (2/Bouton poussoir/Off)
2025-03-10 14:57:06.576 Capteur Virtuel: Light/Switch (Bouton poussoir)
2025-03-10 14:57:06.661 Status: LUA: GPIO 16 désactivée
Que faut t'il faire pour que la gpio16 change d' état?
Dans le /etc/init.d/domoticz.sh j'ai rajouté :
Code : Tout sélectionner
# Do NOT "set -e"
echo 16>/sys/class/gpio/export
echo out> /sys/class/gpio/gpio16/direction
echo 0> /sys/class/gpio/gpio16/active_low
Merci pour votre aide, c'est pour moi la première fois que j'utilise LUA.
Daniel