J'ai eu l'interrogation sur l'intepréteur LUA.
lors de l'os.execute celui ci appelle l'intepréteur local qui en version 5. 1.5 alors que celui embarqué dans domoticz est en version 5.2 quelque chose comme çà. Quoi qu'il en soit ce ne sont pas les mêmes, alors possiblement il n'y aucune interaction sur le domoticz.
Dans le doute j'ai remplacé la commande os.execute par un loadfile et passé les params ainsi dans mon main file :
Code : Tout sélectionner
function alarm(from, cmd)
print('Ligne '..debug.getinfo(1).currentline..' : alarm command')
local securityStatus = globalvariables['Security']
assert(loadfile('/etc/domoticz/scripts/lua/alarm.lua'))(from, cmd, securityStatus)
end
dès lors ici alarm.lua :
Code : Tout sélectionner
dofile('/etc/domoticz/scripts/lua/logger.lua')
logToFile(debug.getinfo(1).currentline, 'Entering '..debug.getinfo(1,'S').source..'')
local from, cmd, securityStatus = ...
-- Vérification de l'état de l'alarme
logToFile(debug.getinfo(1).currentline, 'Checking for Panel status : '..securityStatus..'')
if cmd == 'OFF' then
logToFile(debug.getinfo(1).currentline, 'Command OFF called')
if securityStatus == 'Disarmed' then
logToFile(debug.getinfo(1).currentline, 'FAIL - Alarm still desactivate')
os.execute ('sudo -u gammu gammu-smsd-inject TEXT "'..from..'" -text "L\'alarme est déjà désactivée, est ce normal?"')
end
if securityStatus == 'Armed Away' then
logToFile(debug.getinfo(1).currentline, 'SUCCESS - Alarm desactivated')
commandArray['Domoticz Security Panel'] = 'Disarm'
os.execute ('sudo -u gammu gammu-smsd-inject TEXT "'..from..'" -text "alarme désactivée"')
end
end
....
etc...
....
Là ou j'ai du faire l'erreur c'était justement retourner un commandArray alors qu'il n'a besoin que d'etre setter :
J'ai trouvé ma réponse ici :
-
https://www.domoticz.com/forum/viewtopi ... 48#p118748
-
https://github.com/Siewert308SW/MyDomoticz-Scripts