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.
Cualquier duda, sugerencia o comentario será bien recibida en la web!