Script para medir el tiempo de encendido de unas bombas

Jose Lopez del grupo de telegram comparte con nosotros su script para medir el tiempo de encendido de unas bombas, con alguna pequeña modificación.

TIEMPO_BOMBA_1


--[[ este script se encarga del tiempo de trabajo de las bombas guardados en variables y dummy de texto ]]--

return {
on = { devices = {'BOMBA_1' }}, -- nombre del dispositivo

logging = { level = domoticz.LOG_DEBUG,
marker = "getUptime" },

data = { lastState = { initial = "Off" },
secondsOn = { initial = 0 },
lastSwitchTime = { initial = "0" }},

execute = function(dz,trigger)
local myTextDevice = dz.devices("TIEMPO_BOMBA_1") -- nombre del sensor virtual de texto
-- ( dejar vacio si no hay sensor de texto )
local function updateSensor()
if myTextDevice then
local myText = "\nMinutos de actividad de la " .. trigger.name .. " ==>> ".. dz.utils.round( tonumber(dz.data.secondsOn) / 60 )
dz.variables(6).set( dz.utils.round( tonumber(dz.data.secondsOn)) )
if myTextDevice.text ~= myText then
myTextDevice.updateText( myText )
end
end
end

if trigger.state ~= dz.data.lastState then
if trigger.state == "Off" then
local Time = require('Time')
t1 = Time(dz.time.rawDate .." " .. dz.time.rawTime)
t2 = Time(dz.data.lastSwitchTime)
deltaTime = t1.compare(t2).secs
dz.data.secondsOn = dz.data.secondsOn + deltaTime
updateSensor()
end
dz.data.lastState = trigger.state
dz.data.lastSwitchTime = dz.time.rawDate .. " " .. dz.time.rawTime
end
dz.log("State ==>> " .. trigger.state .. "; Date Time ==>> " .. dz.time.rawDate .." " ..
dz.time.rawTime .. "; secondsOn ===>> " .. dz.data.secondsOn ,dz.LOG_DEBUG)

end
}

Para cualquier duda o consulta tienes disponible el grupo de telegram «Domoticz a lo Spain» para entrar, ponerte cómodo y participar cuanto quieras.

Clica aquí para entrar en él

Cualquier duda, sugerencia o comentario será bien recibida en la web!