Hi elgarne
Yes there are on/off switches.
Blocky does the following:
When Heating switch is switched Off, Eco and Confort switches are switched Off -> Heating off
When Eco switch is switched On, Heating switch is switched On and Confort is switched Off -> Heating running in Eco mode
When Confort switch is switched On, Heating switch is switched On and Eco is switched Off -> -> Heating running in Confort mode
Yes I use it only for the bathroom (Additional heating). The rest of the house is controlled by an other heating system.
As I said, I used a lua script to manage heating on & off, Eco and Confort mode with a temperature sensor and Domoticz thermostat.
Code: Select all
-- script_device_ChauffageSdB1er.lua
-- Ce script permet de gérer la température dans la salle de bain du 1er étage en fonction de la température de consigne et du mode Confort et Eco
-- Les modes Confort, Eco et Arret sont gérés à partir de 3 intérupteurs virtuels
-- La température est mesurée par une sonde Oregon Scientific
-- La température de consigne du mode Confort est gérée par un thermostat virtuel
-- La température de consigne du mode Eco est calculée à partir de la consigne Confort moins la valeur de la varialble DifConsigne
-- Pour éviter que le chauffage ne s'allume et ne s'éteigne sans arrêt, la régulation se fait à l'aide d'un hysteresis. La mise en route du chauffage se produit dès que la température est inférieure à la consigne moins l’hystérésis et il s’éteint dès que la température dépasse la consigne plus l’hystérésis. Cette valeur devra être ajustée en fonction de la précision de la sonde de température (Hystérésis supérieur ou égal à la précision)
-- Variables
local Sonde = 'T et H SdB 1er' -- Sonde de temperature
local Confort = 'Chauffage SdB 1er Confort' -- Switch virtuel chauffage mode Confort
local Eco = 'Chauffage SdB 1er Eco' -- Switch virtuel chauffage mode Eco
local FilPilote1 = 'FP SdB 1er S1' -- Commande fil pilote Arret (1/2 alternance positive)
local Thermostat = 'SdB 1er' -- Thermostat virtuel
local Hysteresis = tonumber(uservariables['Hysteresis SdB 1er']) -- Hysteresis
local DifConsigne = tonumber(uservariables['Dif Consigne SdB 1er']) -- Difference consigne entre Confort et Eco
-- local Hysteresis = 0.5 -- Hysteresis
-- local DifConsigne = 3 -- Difference consigne entre Confort et Eco
commandArray = {}
-- Regulation du chauffage
if (devicechanged[Sonde] or devicechanged[Confort] or devicechanged[Eco]) then
--print ('Gestion chauffage SdB 1er') -- Debug
sTemp1, sHumidity1, sHumidityStat1 = otherdevices_svalues[Sonde]:match("([^;]+);([^;]+);([^;]+)")
--print ('-- Temperature SdB 1er = ' .. sTemp1 .. '°C') -- Debug
sConsigne = otherdevices_svalues[Thermostat]:match("([^;]+)")
--print ('-- Consigne thermostat = ' .. sConsigne .. '°C') -- Debug
-- Regulation active si mode Confort ou Eco actif
if (otherdevices[Confort] == 'On') then
--print('-- Gestion mode Confort') -- Debug
if (tonumber(sTemp1) > (tonumber(sConsigne) + Hysteresis)) then
--print('-- Arrêt chauffage') -- Debug
if otherdevices[FilPilote1] ~= 'On' then commandArray[FilPilote1] = 'On' end -- Arrêt chauffage
else if (tonumber(sTemp1) < (tonumber(sConsigne) - Hysteresis)) then
--print('-- Mise en marche chauffage') -- Debug
if otherdevices[FilPilote1] ~= 'Off' then commandArray[FilPilote1] = 'Off' end -- Marche chauffage
end
end
else if (otherdevices[Eco] == 'On') then
--print('-- Gestion mode Eco') -- Debug
if (tonumber(sTemp1) > (tonumber(sConsigne) - DifConsigne + Hysteresis)) then
--print('-- Arrêt chauffage') -- Debug
if otherdevices[FilPilote1] ~= 'On' then commandArray[FilPilote1] = 'On' end -- Arrêt chauffage
else if (tonumber(sTemp1) < (tonumber(sConsigne) - DifConsigne - Hysteresis)) then
--print('-- Mise en marche chauffage') -- Debug
if otherdevices[FilPilote1] ~= 'Off' then commandArray[FilPilote1] = 'Off' end -- Marche chauffage
end
end
end
end
end
return commandArray
Here is a copy, Sorry for non French Domoticz's fans. If needed I can do foreign english translation.
JC