first commit
This commit is contained in:
45
templates/ExecuteShellCommand.dzVents
Normal file
45
templates/ExecuteShellCommand.dzVents
Normal file
@@ -0,0 +1,45 @@
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user