Code: Select all
return {
on = {
timer = {
'every minute',
function(domoticz)
return true
end,
}
},
logging = {
level = domoticz.LOG_INFO,
marker = 'template',
},
execute = function(domoticz, timer)
package.cpath ="/usr/lib/arm-linux-gnueabihf/lua/5.3/?.so;" .. package.cpath
package.path = "/usr/share/lua/5.3/?.lua;" .. package.path
local socket = require("socket")
local udp = assert(socket.udp())
local data
udp:settimeout(2)
assert(udp:setsockname("*",0))
assert(udp:setpeername("192.168.1.10",8899))
for i = 0, 2, 1 do
assert(udp:send("\xAA\x55\xc0\x7f\x01\x06\x00\x02\x45"))
data = udp:receive()
if data then
break
end
end
if data == nil then
print("timeout")
else
print("Datos Recibidos: "..data)
end
local energiadisponible=-200
print("Energia disponible="..energiadisponible)
domoticz.devices('Energia Disponible').updateEnergy(energiadisponible)
domoticz.log('Timer event was triggered by ' .. timer.trigger, domoticz.LOG_INFO)
end
}