Page 1 of 1

getting a nil error. probably a simple fix

Posted: Friday 22 January 2021 9:27
by Gravityz
well, i am getting rusty with dzvents


i am trying to time the time between a device gets updated but i am getting a nil error
i declared a global variable but somehow something is still wrong

also tried WatermeterDeltaTime = domoticz.time.compare('Watermeter').lastUpdate.ms but that did not help either

in the global_data is this

Code: Select all

WatermeterDeltaTime = { initial = 9999 },

Code: Select all

return {
    active = true,
    on = {
        devices = {
            'Watermeter'
        }
    },
    execute = function(domoticz, Watermeter)
        WatermeterDeltaTime = domoticz.time.compare(Watermeter.lastUpdate.ms)
        if WatermeterDeltaTime <= 9000 then
         domoticz.devices('fastpulse').updateWaterflow(WatermeterDeltaTime)   
            
            end
       --domoticz.devices('fastpulse').updateWaterflow(1)
    end
}

Re: getting a nil error. probably a simple fix

Posted: Friday 22 January 2021 9:50
by waaren
Gravityz wrote: Friday 22 January 2021 9:27 well, i am getting rusty with dzvents
You compare a time object (domoticz.time) with a number(Watermeter.lastUpdate.ms)

can you try again after changing

Code: Select all

WatermeterDeltaTime = domoticz.time.compare(Watermeter.lastUpdate.ms)
to

Code: Select all

WatermeterDeltaTime = domoticz.time.compare(Watermeter.lastUpdate).ms

That will compare two time objects and returns the ms attribute

Re: getting a nil error. probably a simple fix  [Solved]

Posted: Friday 22 January 2021 10:48
by Gravityz
thanks,

working now.