Page 1 of 1

Wrong status

Posted: Wednesday 28 October 2020 13:35
by wouterlet
Hello,

I have an issue with Domoticz. Somehow the status in Domoticz is sometimes different then the real status. Over a few days I had it with a windowsensor a Fibaroswitch (attached to my badroom extraction) and thermostat. When I discover it and change it in domoticz it's fine again.

Especially the thermostat (Eurotronic Spirit)is wrong multiple times a week.
I switch it to 8 degrees in the morning and to 18 in the evening.

At first sometimes both in domoticz and the device were both not set after the script ran. So I changed my script and let it check every minute the setpoint, if it's wrong resend the right setpoint. Now the setpoint in Domoticz is right always but the device itself is wrong sometime.
The script seem to work because it's fine most of the time, but to be sure here is my script:

Code: Select all

return {
    on = {
        timer = {'every minute between 06:00-07:30', 'every minute between 17:00-17:30', 'every minute between 20:00-20:30'}
    },
    execute = function(dz, item)
    local ThermoPim = dz.devices('Thermo Heat Pim').setPoint
    local ThermoIvo = dz.devices('Thermo Heat Ivo').setPoint
    local ThermoOns = dz.devices('Thermo Heat Ons').setPoint
    local ThermoRobin = dz.devices('Thermo Heat Robin').setPoint
    if  dz.time.matchesRule('at 06:00-06:30') and
        ThermoPim ~= 8 then
        dz.devices('Thermo Heat Pim').updateSetPoint(8)
--        dz.notify('Thermo Pim stond niet uit, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 06:00-06:30') and
        ThermoIvo ~= 8 then
        dz.devices('Thermo Heat Ivo').updateSetPoint(8)
--        dz.notify('Thermo Ivo stond niet uit, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 06:00-06:30') and
        ThermoOns ~= 8 then
        dz.devices('Thermo Heat Ons').updateSetPoint(8)
--        dz.notify('Thermo Ons stond niet uit, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 06:00-06:30') and
        ThermoRobin ~= 8 then
        dz.devices('Thermo Heat Robin').updateSetPoint(8)
--        dz.notify('Thermo Robin stond niet uit, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 17:00-17:30') and
        ThermoPim ~= 18 then
        dz.devices('Thermo Heat Pim').updateSetPoint(18)
--        dz.notify('Thermo Pim stond niet aan, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 17:00-17:30') and
        ThermoIvo ~= 18 then
        dz.devices('Thermo Heat Ivo').updateSetPoint(18)
--        dz.notify('Thermo Ivo stond niet aan, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 20:00-20:30') and
        ThermoOns ~= 16 then
        dz.devices('Thermo Heat Ons').updateSetPoint(16)
--        dz.notify('Thermo Ons stond niet aan, nieuwe poging')    
    end
    if  dz.time.matchesRule('at 17:00-17:30') and
        ThermoRobin ~= 19 then
        dz.devices('Thermo Heat Robin').updateSetPoint(19)
--        dz.notify('Thermo Robin stond niet aan, nieuwe poging')    
    end
end
}

Re: Wrong status

Posted: Wednesday 28 October 2020 13:58
by waaren
wouterlet wrote: Wednesday 28 October 2020 13:35 The script seem to work because it's fine most of the time, but to be sure here is my script:
Script should work. If you want to be 100% sure I suggest you add some log statements at relevant places in your script.