Le système a besoin de 4 entités Domoticz et d'un script de commande :
Dans Domoticz, le thermomètre et le chauffage sont des élements réels. Le thermostat et la consigne, par contre, sont des élements virtuels.
On veut avoir une pièce à 20°C : on règle la consigne à cette température.
On défini une marge d'action qui est en degrés : prenons par exemple 1/2 degré Celsius.
Avec ce principe, si la température naturelle de la pièce est relativement stable et le chauffage efficace, sans latence, la température de la pièce thermostatée oscillera entre 19,5°C et 20,5°C Dans les faits c'est rarement vrai (à cause de la latence du chauffage, de l'éloignement du thermomètre, et de l'isolation de la pièce)
local hysteresis = 0.5 --Valeur de tolérance (hystérésis) local sonde = 'Thermomètre de la piece' --Nom de la sonde de température local thermostat = 'Interrupteur Thermostat' --Nom de l'interrupteur virtuel du thermostat local radiateur = 'Radiateur' --Nom du radiateur à allumer/éteindre local deviceconsigne = 'Consigne de la piece' -- ------------------------------------------------------------------------------------------------- commandArray = {} --La sonde emet toutes les 40 secondes. Ce sera approximativement la fréquence d'exécution de ce script. if (devicechanged[sonde]) then local consigne = otherdevices[deviceconsigne] -- Récupération de la température de consigne local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans la pièce --On n'agit que si le "thermostat" est actif if (otherdevices[thermostat]=='On') then if (temperature < (consigne - hysteresis) and otherdevices[radiateur]=='On') then print('Allumage du chauffage dans la pièce') commandArray[radiateur]='Off' elseif (temperature > (consigne + hysteresis) and otherdevices[radiateur]=='Off') then print('Extinction du chauffage dans la pièce') commandArray[radiateur]='On' end -- Extinction immédiate du chauffage si on a arrété le thermostat elseif (otherdevices[thermostat]=='Off' and otherdevices[radiateur]=='Off') then print('Thermostat Désactivé : Extinction du chauffage dans la pièce') commandArray[radiateur]='On' end end return commandArray
ATTENTION : Dans ce script, l'interrupteur Chacon utilisé pour le chauffage en “Fil pilote” marche à l'envers.
Il faut être à “Off” pour l'allumer et “On” pour l'éteindre !
Pour faire des économies de chauffage, le plus simple à partir de là, est d'appliquer une planification au Thermostat. Déterminez le temps nécéssaire à la chauffe d'une pièce depuis sa température naturelle : mettons 1h.
On pourrait planifier comme ceci :
On pourrait planifier comme ceci :
Prenez en compte les week-ends pour adapter vos heures !
Privilégiez aussi les heures creuses si votre compteur électrique en tient compte !