Gestion du chauffage [3]

Pas facile de s’en sortir. Je pense même qu’il y aura un « Gestion du chauffage [4]  » tellement c’est un élément important pour le confort qu’il apporte. Une mauvaise gestion et c’est pas mal d’Euros qui partent en fumée!
Ce troisième article a pour but de faire la synthèse et améliorer le fonctionnement. On y va ?

 

 

I – LE PRINCIPE :

Il reste le même depuis le début (et ne changera pas je pense) : Une scène est lancée toutes les quinze minutes, elle interroge simplement des valeurs stockées dans une ou plusieurs variables conteneur , un ou plusieurs modules virtuels et agit en fonction des valeurs récupérées. Somme toute une idée simple … Non

Les articles cités sont ici et ici si vous les avez suivi vous devriez avoir deux modules virtuels et un module conteneur (merci de ne pas tenir compte des icônes. L’auteur « chixxi » refusant obstinément qu’on le change. Pour le VContainer  vous aurez donc des ampoules ou ceci pour le conteneur, désolé.)

vc_chixxi

 

 

 

 

J’utilise pour les remontées un Everspring ST-814 mais tout autre thermostat devrait faire l’affaire!

st814

 

 

 

 

 

 II – L’ALGORITHME :

L’algorithme est assez simple on commence par vérifier si l’on est en période de chauffe, puis on récupère la température réelle que l’on compare avec la température souhaitée. Si elle est identique on quitte sinon on chauffe.

Les consignes Confort, Eco et Hors_Gel sont renseignées manuellement dans le module virtuel conteneur

et_chauffe

Temp_RC est obtenue en interrogeant le Thermostat ST814 toutes les 15 minutes. Mais ça vous l’avez déjà.

Quant au mode c’est vous qui le définissez à tout moment! Sachant qu’il peut valoir 0: Hors Gel, 1 : Eco ou 2: Confort … A vous d’imaginer!

 III – LE FONCTIONNEMENT :

Deux paramètres fondamentaux sont nécessaires :
– La présence dans la maison.
– La période de chauffe.

Si l’on est absent de la maison mais que l’on est en période de chauffe le système maintiendra au minimum la température Hors-Gel dans l’autre cas la maison ne sera simplement pas chauffé.
En période de chauffe : On compare la consigne par rapport au mode. Les scènes viennent modifier le mode et ainsi agir sur la température à appliquer.

Ainsi je crée une scène qui va passer en mode « Eco » chaque jour de la semaine à 22 heures.eco_nuit

eco_nuit

 

 

 

 

Le code lupp  à attacher est simple :

local Eco = 1
local VContainer = 89
luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",Eco,VContainer)

Puis une scène qui va remettre le chauffage le matin

Conf_SemConf_Sem

 

 

 

 

Le code lupp à attacher est simple :

local Conf = 2 
local VContainer = 89 
luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",Conf,VContainer)
IV – AMÉLIORATIONS :

Lors d’un précédent post : Agenda « Fait-Maison » j’utilisais l’excellent plugin de futzle disponible ici afin de décaler l’ouverture des volets. De là à l’appliquer pour le chauffage il n’y a qu’un pas que je vais franchir allègrement.

Une fois le plugin installé il apparait ainsi dans l’interface :

calendarPour rappel ce plugin utilise le format d’agenda « ICS » utilisé, entre-autres, par Google, Microsoft Outlook et Mozilla Thunderbird que j’utilise, vous pouvez récupérer un agenda français ici. Ce plugin ne gère qu’une occurrence par jour et il est impossible de créer des rendez-vous récurrents. Malgré ces faiblesses ce plugin est très fiable, j’ai donc décidé de l’utiliser. L’idée : Décaler de deux heures (8H et 0H) au lieu de (6H et 22H) le passage en mode confort et Eco de (22h et 0H) des radiateurs les jours de congés et autres RTT.

Pour cela voici l’agenda de ma maison… Pas grand chose à faire … Enfin presque car dans la réalité c’était chaud et cela va être chaud! On va dire « Agenda théorique »

Ag_Mais

 

 Donc je glande et ma maison doit s’adapter. Quand je dis qu’il y aura un numéro [4] c’est pas pour rien! En attendant je vais simplement ajouter deux scènes de manière à ne pas chauffer si le jour est chômé et lycée de Versailles.

J’ai donc quatre scènes :
– Chauff_Mat_Travail qui s’exécute à 6H tous les jours
– Chauff_Mat_Conges qui s’exécute à 8H tous les jours
– Chauff_Soir_Travail qui s’exécute à 22H tous les soirs
– Chauff_Soir_Off qui s’exécute tous les soirs à 0H

Certes ce n’est pas très élégant car ile me suffirai de désactiver une scène afin qu’elle ne s’exécute pas mais je n’ai pas trouvé comment faire! Donc, en gros voici un exemple pour les quatre  scènes:

-----------------------------------------------------------------------------------------------------
-- Code lupp --> Chauff_Mat_Travail 6H
-- 2012 lmet
-----------------------------------------------------------------------------------------------------
-- On commence par vérifier si le jour est férié
local ferie = luup.variable_get("urn:futzle-com:serviceId:HolidayVirtualSwitch1", "Status", 117)
if ferie == "1" then
  return false
else
  -- Le jour n'est pas férié on passe en mode confort
  local Conf = 2 
  local VContainer = 89 
  luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",Conf,VContainer)
end
-----------------------------------------------------------------------------------------------------
-- Code lupp --> Chauff_Mat_Conges 8H
-- 2012 lmet
-----------------------------------------------------------------------------------------------------
-- A Huit heures on passe en Confort même si cela est déjà fait.
local VContainer = 89
luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",2,VContainer)

Pour le soir « Idem »

-----------------------------------------------------------------------------------------------------
-- Code lupp --> Chauff_Soir_Travail 22H
-- 2012 lmet
-----------------------------------------------------------------------------------------------------
-- On commence par vérifier si le jour est férié
  local ferie = luup.variable_get("urn:futzle-com:serviceId:HolidayVirtualSwitch1", "Status", 117)
  if ferie == "0" then
    -- Le jour n'est pas férié on passe en mode Eco
    local Conf = 1 
    local VContainer = 89
    luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",Conf,VContainer)
end
-------------------------------------------------------------------------------------------------
-- Code lupp --> Chauff_Soir_Off
-- 2012 lmet
-------------------------------------------------------------------------------------------------
-- A minuit on passe en mode Eco même si cela est déjà fait par une autre scène.
local VContainer = 89
luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",1,VContainer)
V – CONCLUSION :

Le système fonctionne pas trop mal. Nous avons un véritable sentiment de chaleur constante. Contrairement à d’autres nous ne tenons pas compte d’éléments extérieurs comme la température. En fait le système maintient une température intérieure suivant une consigne donnée. C’était notre souhait.

Reste à peaufiner …