Files
Domoticz/templates/ExecuteShellCommand.dzVents
2025-03-06 11:09:58 +01:00

46 lines
993 B
Plaintext

local myResponse
return {
on = {
devices = {
'test'
},
shellCommandResponses = {
'myResponse', -- must match with the callback passed to the executeShellCommand
},
},
logging = {
level = domoticz.LOG_INFO,
marker = 'template',
},
execute = function(domoticz, item)
if (item.isDevice) then
domoticz.executeShellCommand({
command = 'speedtest-cli --json', -- just an example
callback = 'myResponse', -- see shellCommandResponses above.
timeout = 50, -- Max runtime 50 seconds
})
end
if (item.isShellCommandResponse) then
if (item.statusCode==0) then
if (item.isJSON) then
domoticz.log('Download speed is '.. item.json.download,domoticz.LOG_INFO) -- just an example
-- update some device in Domoticz
domoticz.devices('myTextDevice').updateText(someValue)
end
else
domoticz.log('There was a problem handling the request', domoticz.LOG_ERROR)
domoticz.log(item, domoticz.LOG_ERROR)
end
end
end
}