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