RSS

Archives Mensuelles: mars 2012

MonThermostat : Fonctionnement du Demon

Je vais décrire ici le fonctionnement simplifié du Démon: pour rappel ce sera un programme qui tournera en tache de fond et qui sera le lien entre l’utilisateur (via l’interface Web) et le Hardware (la carte relais).

Ce programme aura pour entrées :

  • Les données de configuration stockées dans une base de donnée (très certainement Mysql) comme la température de consigne, comment joindre la carte relais, quel capteur de température pour quelle zone…
  • La température ambiante
  • La date et l’heure

Ce programme aura pour sorties :

  • l’activation d’un radiateur choisi.
  • la désactivation d’un radiateur choisi.

Pour faire simple, le programme activera la mise en marche du radiateur d’une zone donnée en fonction de la température actuelle et de la température de consigne réglée pour l’instant T.

Zone après Zone la boucle ci-dessus sera parcourue. Le programme vérifiera dans un premier temps que la zone en question est « Enable » (active) puis une fonction teste l’état du radiateur (allumé ou éteint) et envoie vers la fonction de test de la consigne de température. Le gros du programme est « la fonction » de test de consigne puisque cette dernière va « checker » et calculer les points suivants :

  • Le délestage
  • Combien de temps avant le radiateur doit être activé pour atteindre la température à l’heure voulue.
  • la gestion de l’inertie
  • Si la porte/fenêtre est ouverte (action -> couper le chauffage)
  • Si la sonde de température (affectée à la zone) tombe en panne.

Comme vous voyez (plus haut), le retour du « Calculateur » est :

  • « Température de Consigne atteinte »
  • « Température de Consigne Non-atteinte »

Le « Calculateur » aura comme données d’entrées: La Zone et le Statut du Radiateur (en Chauffe ou pas). A partir de là, le programme récupère dans la base toutes les données pour faire les calculs de consigne :

  • Adresse des Capteurs de température (Intérieur & Extérieur)
  • Adresse du capteur d’ouverture de porte ou fenêtre.
  • Statut Zone : Activé & Désactivé ?
  • La température de consigne
  • Les caractéristiques du radiateur (temps de chauffe, puissance…)

Le programme utilisera les « Adresses » pour obtenir les valeurs actuelles des températures et sondes d’ouverture. A ce moment, le « Calculateur » pourra rendre son verdict en utilisant toutes les données disponibles !

 

MonThermostat : Cahier des Charges

Introduction au problème posé :

  • Description :

Un thermostat programmable contrôle le chauffage en fonction des données entrées via interface web. En fonctionnement, le thermostat agit sur le chauffage pour faire converger la température ambiante vers la température cible courante.
Le thermostat établit la température ambiante à l’aide d’un capteur de température.
La spécification doit être flexible pour s’adapter aux contraintes suivantes :

  1. Différentes récupérations de valeurs de température ambiante (via Domogik, via Cmdline)
  2. Différents types de Carte relais (IP, USB, Série)
  3. Différents protocoles (Xpl, Linux Cmdline)

Le Thermostat a besoin à tout moment de 6 informations :

  1. Température ambiante
  2. Température extérieure
  3. Température Cible Courante
  4. Date
  5. Heure
  6. Zone

Le Thermostat dépend d’une interface utilisateur sous forme de pages web :

  • Une page visualisation avec les éléments suivants :

– Date / Heure
– Zone
– Température de consigne
– Température ambiante
– Témoin de chauffe / activité / non-activé

  • Une page de configuration avec les éléments suivants :

– Tableau Semaine
– Tableau Jour (création d’un jour, par exemple: 22°C à 7h, puis 18°C à 22h)
– Configuration Ordre/relais
– Commutateur Saison : hiver / été
– Configuration du système de notification.

Expression fonctionnelle du besoin

  • Nom du Système : MonThermostat
  • Critères: Contrôler le chauffage de multiples zones avec une grande simplicité sur une semaine (via page web).
  • Niveau: Carte Relais modifiée/améliorée pour pouvoir envoyer des ordres au fil pilote.
  • Flexibilité : Initialement pour la solution Domogik mais doit être compatible avec toutes les cartes relais (via ligne de commande Linux) et les sondes de température (via ligne de commande Linux).

Solution proposée pour répondre au besoin

Un système en 2 briques:

  • Une interface web pour la configuration et la visualisation du thermostat
  • Un Démon (Deamon en Anglais) : un programme qui sera lancé en tache de fond, ce dernier sera le lien (logiciel) entre le hardware (ici la carte relais) et l’utilisateur (via l’interface web).
 
 

MonThermostat: Introduction

La « Domotisation » du chauffage est une des taches qui est, pour moi, prioritaire. Je voulais le faire l’année dernière mais par manque de temps et l’hiver approchant à grand pas : j’ai mis ce projet en pause !

Mais il est de retour…

Beaucoup de solutions existent et ces derniers temps beaucoup d’articles ont été écrits à ce sujet, en voici un « panaché » :

Tout le monde, ou presque, a un thermostat (voire plusieurs) chez soit mais beaucoup trouvent fastidieux de le régler. Personnellement, j’ai un thermostat d’ambiance basic de chez DeltaDore installé par mon constructeur de maison individuelle (impossible à lier à mon installation) donc, impossible à piloter/régler à distance.

Nous avons été souvent absents pendant le mois de février 2012 et souvenez-vous ce mois a été plutôt rude en terme de températures. Chaque fois, la question se posait : comment régler les radiateurs pendant notre absence pour avoir une température acceptable à notre retour et ne pas engraisser EDF. Réponse difficile !

Des systèmes « tout fait » existent mais soit c’est très cher, soit pas ouvert pour le reste de mon système. Et toujours la contrainte ultime : pas de sans fil chez moi !

Tous mes radiateurs électriques sont compatibles fil pilote, donc le système peut être centralisé au niveau du Node0/Compteur Électrique. Deux ordres pour le fils pilote m’intéressent Confort & Arrêt (voir ci-dessous).

Après de nombreuses heures de réflexions ( merci les transports en commun) j’ai maintenant une idée claire de mon futur système. Je développerai, dans de prochaines parties, toute ma démarche pour arriver à mes fins (j’espère) au moindre coût !