Blame | Last modification | View Log | Download
-- local device id's, only used in this scriptlocal cVirtConstant = 144 -- virtual Thermostat device for constant temp.local cVirtProgramma1 = 145 -- virtual Thermostat device for program 1local cVirtProgramma2 = 146 -- virtual Thermostat device for program 2local cDevTerrasMode = 51local cDevWoonkamerMode = 64local cDevSRT321 = 20 -- Thermostat devicelocal cVirtNefitTemp = 147 -- last set temperature for thermostat SRT321local cDevTerras = 52 -- Thermostat devicelocal cDevTerrasEco = 53 -- Thermostat devicelocal cDevWoonkamer = 65 -- Thermostat devicelocal cDevWoonkamerEco = 66 -- Thermostat devicelocal cDevHalMode = 77local cDevLogeerkamerMode = 90local cDevHal = 78 -- Thermostat devicelocal cDevHalEco = 79 -- Thermostat devicelocal cDevLogeerkamer = 91 -- Thermostat devicelocal cDevLogeerkamerEco = 92 -- Thermostat devicelocal uVarSensorTimeout = 'dzSensorTimeout'return {on = {timer = {'every 10 minutes', -- causes the script to be called every minute}},logging = {--level = domoticz.LOG_ERROR,level = domoticz.LOG_DEBUG + domoticz.LOG_INFO,marker = 'Alive-Devices',},execute = function(domoticz, timer)domoticz.log('Timer event was triggered by ' .. timer.trigger, domoticz.LOG_INFO)-- Calculate maximum allowed time differnece before sensor turns 'red'-- Sensor timeout is a setting in dommoticz, and with lua stored in a UserVariableiSensorTimeout = domoticz.variables(uVarSensorTimeout).value - 11domoticz.log('Sensor Timeout value in user variable is: ' .. tostring(iSensorTimeout), domoticz.LOG_INFO)if (domoticz.devices(cVirtNefitTemp).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cVirtNefitTemp).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cVirtNefitTemp).name, domoticz.LOG_DEBUG)domoticz.devices(cVirtNefitTemp).updateTemperature(domoticz.devices(cVirtNefitTemp).temperature).silent()endif (domoticz.devices(cVirtConstant).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.devices(cVirtConstant).updateSetPoint(domoticz.devices(cVirtConstant).setPoint).silent()--domoticz.devices(cVirtConstant).updateQuiet(domoticz.devices(cVirtConstant).setPoint).silent()end-- update SRT321 device with temperature set to cVirtNefitTempif (domoticz.devices(cDevSRT321).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevSRT321).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevSRT321).name, domoticz.LOG_DEBUG)domoticz.devices(cDevSRT321).updateSetPoint(domoticz.devices(cVirtNefitTemp).temperature).silent()endif (domoticz.devices(cVirtProgramma1).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.devices(cVirtProgramma1).updateSetPoint(domoticz.devices(cVirtProgramma1).setPoint).silent()--domoticz.devices(cVirtProgramma1).updateQuiet(domoticz.devices(cVirtProgramma1).setPoint).silent()endif (domoticz.devices(cVirtProgramma2).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.devices(cVirtProgramma2).updateSetPoint(domoticz.devices(cVirtProgramma2).setPoint).silent()--domoticz.devices(cVirtProgramma2).updateQuiet(domoticz.devices(cVirtProgramma2).setPoint).silent()end-- TRV Terras mode deviceif (domoticz.devices(cDevTerrasMode).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevTerrasMode).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevTerrasMode).name, domoticz.LOG_DEBUG)domoticz.devices(cDevTerrasMode).updateMode(domoticz.devices(cDevTerrasMode).modeString).silent()endif (domoticz.devices(cDevTerras).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevTerras).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevTerras).name, domoticz.LOG_DEBUG)domoticz.devices(cDevTerras).updateSetPoint(domoticz.devices(cDevTerras).setPoint).silent()endif (domoticz.devices(cDevTerrasEco).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevTerrasEco).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevTerrasEco).name, domoticz.LOG_DEBUG)domoticz.devices(cDevTerrasEco).updateSetPoint(domoticz.devices(cDevTerrasEco).setPoint).silent()end-- TRV Woonkamer mode deviceif (domoticz.devices(cDevWoonkamerMode).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevWoonkamerMode).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevWoonkamerMode).name, domoticz.LOG_DEBUG)domoticz.devices(cDevWoonkamerMode).updateMode(domoticz.devices(cDevWoonkamerMode).modeString).silent()endif (domoticz.devices(cDevWoonkamer).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevWoonkamer).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevWoonkamer).name, domoticz.LOG_DEBUG)domoticz.devices(cDevWoonkamer).updateSetPoint(domoticz.devices(cDevWoonkamer).setPoint).silent()endif (domoticz.devices(cDevWoonkamerEco).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevWoonkamerEco).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevWoonkamerEco).name, domoticz.LOG_DEBUG)domoticz.devices(cDevWoonkamerEco).updateSetPoint(domoticz.devices(cDevWoonkamerEco).setPoint).silent()end-- TRV Hal mode deviceif (domoticz.devices(cDevHalMode).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevHalMode).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevHalMode).name, domoticz.LOG_DEBUG)domoticz.devices(cDevHalMode).updateMode(domoticz.devices(cDevHalMode).modeString).silent()endif (domoticz.devices(cDevHal).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevHal).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevHal).name, domoticz.LOG_DEBUG)domoticz.devices(cDevHal).updateSetPoint(domoticz.devices(cDevHal).setPoint).silent()endif (domoticz.devices(cDevHalEco).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevHalEco).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevHalEco).name, domoticz.LOG_DEBUG)domoticz.devices(cDevHalEco).updateSetPoint(domoticz.devices(cDevHalEco).setPoint).silent()end-- TRV Logeerkamer mode deviceif (domoticz.devices(cDevLogeerkamerMode).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevLogeerkamerMode).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevLogeerkamerMode).name, domoticz.LOG_DEBUG)domoticz.devices(cDevLogeerkamerMode).updateMode(domoticz.devices(cDevLogeerkamerMode).modeString).silent()endif (domoticz.devices(cDevLogeerkamer).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevLogeerkamer).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevLogeerkamer).name, domoticz.LOG_DEBUG)domoticz.devices(cDevLogeerkamer).updateSetPoint(domoticz.devices(cDevLogeerkamer).setPoint).silent()endif (domoticz.devices(cDevLogeerkamerEco).lastUpdate.minutesAgo > iSensorTimeout) thendomoticz.log('Time difference last update: ' .. domoticz.devices(cDevLogeerkamerEco).lastUpdate.minutesAgo ..', for device \'' .. domoticz.devices(cDevLogeerkamerEco).name, domoticz.LOG_DEBUG)domoticz.devices(cDevLogeerkamerEco).updateSetPoint(domoticz.devices(cDevLogeerkamerEco).setPoint).silent()endend}