«

»

Oct 15

Gestion des radiateurs 1 an après

Depuis le dernier billet sur ma gestion du chauffage, j’ai bien avancé et le système a pas mal évolué.
Au niveau de l’installation, rien n’a vraiment changé. C’est plus au niveau de la programmation que ça s’est affiné et amélioré.

Récap de l’installation

  • Une zone « pièce de vie » qui comprend cuisine/salle/salon
  • Une zone « autre pièce du RDC » avec bureau/chambre d’ami-gaming room/bibliothèque-accès étage
  • Une zone « chambre du bébé » la chambre du petit et le palier de l’étage
  • Une zone « chambre parents » juste notre chambre

Chaque zone est associée à une sonde de température, et chaque radiateur a un module on/off.
En plus de ça, il y a un module on/off sur les radiateurs des salles de bains (rdc/étage) qui ne sont pas pilotés par une sonde.

Voilà ce qui a changé

J’ai ajouté à chaque zone un bouton virtuel qui permet de passer la zone en mode automatique ou manuel. Cela me sert à désactiver la gestion des radiateurs si, par exemple, on ouvre les fenêtres en grand pour aérer. J’en ai ressenti l’utilité quand j’ai fais changer mes fenêtres. Histoire de ne pas chauffer alors qu’il n’y avait plus de fenêtre, surtout en mars quand les températures sont encore fraîches.
radiateur-vie
Autre nouveauté, la possibilité de passer en mode économie toute la maison. Le but étant de moins chauffer lorsqu’il n’y a personne à la maison (pendant les vacances, si on part en WE, ou tout simplement les jours où on travaille tous les deux). Là aussi, j’ai utilisé un bouton virtuel que j’actionne manuellement pour le moment. L’objectif est de le rendre automatique en fonction de nos plannings de travail. Madame travaillant en milieu hospitalier, elle ne travaille pas tous les jours mais peut bosser n’importe quel jour. L’emploi du temps changeant chaque semaine sans que les semaines ne se ressemblent, il est assez difficile d’automatiser tout ça. Je pense qu’il va falloir que je passe par un google calendar où on renseignerait les jours d’absences de madame pour automatiser le mode économie en semaine.

Les modifs dans le LUA des scènes

Je commence par vérifier si la zone est en mode automatique ou pas

zone_active = luup.variable_get("urn:upnp-org:serviceId:VSwitch1", "Status", zone_vie)
if(zone_active == '0') then
	return false
end

Après avoir récupéré les températures, je les logs dans une base mysql via un script php hébergé sur mon NAS. Cela me permet de faire des graphes sur la température et de voir si j’ai de gros écart ou si mes coupures la nuit sont utiles ou pas. Si il faut que les radiateurs chauffent pendant 2h pour rattraper 2h de coupure, autant ne pas couper et maintenir la température en chauffant 20/30 minutes par heure par exemple ^^

local status, result = luup.inet.wget("http://IPNAS:80/domotique/batch/logTemperature?data="..dataTemp, 5)

Après avoir défini les seuils de température en fonction du mode économie ou pas, je switch les radiateurs si nécessaire. Pour la nuit, je ne fais plus que des coupures d’1h, plus devient moins efficace (ce qui ne sera peut être plus le cas avec mes nouvelles fenêtres :) ). Je fais ces coupures en décalé pour ne pas avoir tous les radiateurs qui se rallument d’un coup. La charge électrique est trop grosse, et si j’ai le cumulus et le sèche-linge qui tourne à ce moment, j’ai droit à une coupure du courant. A 4h du matin, ça fait pas super plaisir…..
J’ai également rajouté une petite sécurité qui force le switch si la température dépasse les seuils de plus d’1°C. il arrive que l’ordre ON ou OFF arrive mal au radiateur. La Vera crois donc que le radiateur est sur OFF alors qu’il chauffe toujours. Vu que je vérifie l’état du radiateur avant de le switcher (histoire de ne pas switcher sur ON si c’est déjà ON), je passe outre cette vérification en forçant le switch.

if (inTime("02:00", "03:00") == 1) then
	if (tempe < seuil_nuit_min) then
		switch("1")
	end
	if (tempe >= seuil_nuit_max) then
		switch("0")
	end
else
	if(tempe > 21.5 or tempe < 18) then
		force = true
	end
	if (tempe < seuil_jour_min) then
		switch("1",force)
	end
	if (tempe >= seuil_jour_max) then
		switch("0",force)
	end
end

Voilà pour l’essentiel de ma gestion de radiateurs. Au niveau du code, j’ai certaines parties qui sont dans le LUA de démarrage (donc générique à tous mes scripts), mais ce sera le sujet d’un autre billet.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>