Smart Virtual Thermostat

thermostat_80x80

Description : Module permettant de piloter vos chauffages en fonction de la température de la pièce et (optionnel) de la température extérieur.

InstallerFaire un don

Avec plusieurs utilisateurs du forum touteladomotique, nous avons fait le constat qu’il manquait cruellement un plugin pour gérer nos radiateurs. Nous avons avec Fatal25 débuté le développement au début de l’hiver pour terminer une première version publiée début décembre 2012.

1/ Présentation des fonctionnalités

Passons à la présentation de ce thermostat :

Comme chacun sait, la fonction première d’un thermostat est de réguler la température dans une pièce (ou zone). Il existe (en Z-wave notamment) des thermostats physiques (réèls), équipés d’un capteur de température et d’une connexion de commande vers votre radiateur. Vous lui indiquez la consigne est il s’occupe de piloter les radiateurs pour rester autours de la température de consigne.

Ici, le principe est le même sauf que le thermostat est virtuel et qu’il se pilote depuis votre Vera (ou votre iphone).

1.1/ De quoi avez-vous besoin ?

D’un radiateur commandé par la Vera, évidement et d’un capteur de température (lui aussi connecté à la Vera). Pour pouvoir bénéficier d’un précision suffisante, je vous conseille d’utiliser par exemple une sonde Oregon et un module rfxcom USB ( par exemple ici). Ainsi vous pourrez bénéficier des décimales pour la commande de la température.

1.2/ Les fonctions de bases

Une fois paramètrés correctement (nous aborderons le paramétrage plus loin dans l’article). Vous allez pouvoir commander un ou plusieurs radiateurs

Les différents modes :

Le thermostat peut être dans 3 modes :

  1. Off : Coupe tous les radiateurs commandés
  2. Auto : le plugin décide en fonction de la température s’il faut allumer ou éteindre les radiateurs. C’est le mode d’utilisation le plus fréquent.
  3. Bypass : Le plugin est désactivé. Utile pour pouvoir piloter votre radiateur sans passer par le module.
  4. Heat : Correspond au mode forcé : Met en route, tous vos radiateurs.

Dans le mode Auto, le plugin va déterminer automatiquement, en fonction de la température de la pièces et de la température extérieur (optionnel) le temps de chauffe nécessaire pour atteindre ou maintenir la température de consigne. Pour cela, une fois par heure (ou lors de modifications de la consigne, etc.) le plugin calcule un pourcentage de chauffe. Prenons un exemple (les valeurs sont fictives) la température de consigne est de 21 et la température de la pièce à 20.3, le plugin va estimer qu’il faut chauffer 25% du temps. Il va donc allumer le chauffage durant les 15 premières minutes, puis le couper les 45 minutes suivant. A la fin de l’heure, il relance le calcul pour estimer de nouveau le besoin etc.

Ce principe a l’avantage de laisser la température de la pièce s’équilibrer avant de recalculer le temps de chauffe. De cette manière on est indépendant de la distance entre la sonde de température et le radiateur. Ainsi on limite le nombre de changement d’état du radiateur et de module qui le commande. Sans vouloir dire de bêtise, il me semble que c’est également ce principe qui est repris sur l’eedomus.

Les températures de consignes :

Passons maintenant à la température de consigne, ou plutôt les températures de consigne car il en existe 2 : une pour le mode Confort (en rouge) et une pour le mode Eco (en bleu). En fonction du mode de consigne choisie, le plugin utilise l’une ou l’autre pour calculer la durée de chauffe nécéssaire (si bien sur vous etes dans le mode Auto). En cas de changement de consigne, ou de mode de consigne, la détermination du temps de chauffe est relancée sans attendre la fin de l’heure.

Il est possible de choisir une valeur décimale pour les consignes en passant par la vu complète :

Pour cela, il faut utiliser le bouton « Set » avec par exemple la valeur « 20.5  » (attention, le séparateur décimal est bien le point).

1.3/ Les fonctions avancées

l’Auto calibrage :

Tous les pièces (ou zone) ont leurs caractéristiques propres : Inertie thermique – puissance du chauffage – Isolation extérieur. La durée de chauffe nécéssaire à l’atteinte de la température de consigne est donc propre à chacune d’elles. Le plugin apprends en continu pour calculer au plus juste la bonne durée de chauffe et ainsi ne pas consommer plus que nécéssaire. A chaque fin de phase de chauffe, le plugin étudie la température atteinte et ajuste ses coefficients. Pour éviter les perturbations liée a des sources de chaleur extérieur, le calcul des coefficient se fait sur une moyenne pondérée des 50 derniers apprentissage. Il faut donc laisser plusieurs jours (2 à 3) pour que le plugin s’adapte au mieux.

Par exemple, chez moi avec les coefficient par défaut (60 intérieur et 1 extérieur), la température moyenne de la pièce était plutôt entre 21.2 et 21.5. Après 3 jours avec l’auto calibrage, les nouvelles constantes sont de 49.7 pour l’intérieur et 2 pour l’extérieur.

Capture d’écran 2012-12-19 à 21.40.00
Sur le graph, on voit bien qu’a chaque heure (début du carré jaune), la température de la pièce est à 21 = consigne. la température durant l’heure monte jusqu’a 21.2 puis redesent à 21. Mais ma sonde est plutôt proche du radiateur, donc effectivement le temps que la température ce moyenne dans la pièce, la température perçue est bien à 21.

La coupure en cas de fenêtre ouverte :

Il est possible d’ajouter des capteurs d’ouvertures (ou des switchs virtuels) à notre plugin afin de couper automatiquement les radiateurs en cas de détection d’ouverture de fenêtre par exemple.

Il est également possible de choisir un délai avant la coupure et un délai avant la reprise. Ainsi si vous ouvrez et refermez la fenêtre durant un bref instant (inférieur à la durée du délai que vous aurez paramétré), le plugin ne coupera pas le chauffage. (idem pour la reprise, si vous fermez et rouvrez brièvement votre fenêtre alors que le module a été coupé suite à l’ouverture prolongée de la fenêtre)

Tempo sur le mode forcé :

Il est possible de choisir d’associer un délai pour le mode forcé. Si un délai est configuré, lorsque vous activez (manuellement ou via une scène) le mode forcé (bouton heat), un compte a rebours commence. A la fin le module repasse automatiquement en mode Auto.

Sécurité sur les sondes de températures :

Une sécurité vérifie que la température remontée par vos sondes date de moins de 2 heures pour la température intérieur et 24 heures pour l’extérieur. Dans le cas contraire, la sonde est ignorée. Si toutes les sondes sont ignorées, le plugin considérera que la température de la pièce est égale à la température de consigne et coupera le chauffage.

Ainsi pas de problème si l’une de vos sondes n’a plus de pile, il n’y a pas de risque que le radiateur reste actif durant des heures

2/ Installation et configuration du plugin

2.1/ Installation du plugin

Il suffit d’aller dans APPS, et Installer des applications sur la VERA, puis télécharger le module Smart Virtual Thermostat.

Smart Virtual Thermostat - Install from store

Une fois l’installation terminée, un nouveau module est apparu sur votre interface :

SmartVT - Miniature

Appuyer sur le bouton « Reload » de votre interface pour faire redémarrer la vera

Une fois le redémarrage terminé (un rafraîchissement de la page sera peut-être nécéssaire), entrer dans les paramètres avancés du module.

2.2/ Paramétrage  du plugin

Une fois le module créé, voici la liste des paramétrages disponibles :

Paramètres obligatoires :

Inside Temp Sensors : Compléter avec la liste des ID de vos capteurs de température intérieures séparé par des virgules. Le plugin fait la moyenne de toute les valeurs.

heaters : Compléter avec la liste des ID de vos radiateurs séparé par des virgules

Paramètres facultatifs :

Outside Temp Sensors : Compléter avec la liste des ID de vos capteurs de température extérieures séparé par des virgules. Le plugin fait la moyenne de toute les valeurs.

inhibit Sensors : Compléter avec la liste de vos capteurs d’ouverture séparé par des virgules. Si vous voulez inverser la condition (coupure du chauffage si le capteur est à 0) il faut mettre un moins devant l’id du module. Si au moins un des capteurs est activé => le chauffage se coupe.

Waiting Time Open : Durée de la tempo en seconde avant coupure du chauffage si une des sondes est activée

Waiting Time Close : Durée de la tempo en seconde avant reprise du chauffage si toutes les sondes sont désactivée

Forced Mode Duration : Durée du mode forcé avant retour au mode auto. XX : en seconde, XXm : en minute (exemple 30m), XXh : en heure (exemple 1h).

PowerMin : % minimal de chauffage si le module considère qu’il est nécessaire de chauffer (en fonction de la température intérieure et extérieure)

Calculation period : Durée(en seconde) entre deux calculs de puissance de chauffe (3600 par defaut)

ConstC : C’est le coefficient de chauffe intérieur. Il dépend de la taille de votre pièce et de la puissance de chauffe de votre radiateur (60 par défaut)

ConstT : C’est le coefficient de chauffe extérieur. Il dépend de l’isolation de la pièce par rapport à l’extérieur (1 par défaut)

AutoLearning : C’est une variable propre a l’auto calibrage. Il n’y a pas besoin d’y toucher. la variable est composée de la manière suivante : X,Y1,Y2,T1,T2,P. X est le paramètre d’état : 0 = non initialisée, 1 = initialisée, 2 = désactivé. Y1 et Y2 correspond au nombre d’apprentissage pour respectivement la constante intérieur, et la constante extérieur. quand Y atteint 50 le premier apprentissage est terminé, mais l’auto calibrage continu de faire évoluer les coefficient si besoin. T1 et T2 sont les températures intérieur et extérieur au moment du dernier calcul de puissance. P est le % calculer lors du dernier calcul de puissance.

3/ Evolution des versions

**** 1.5 **** Publiée le 13/12/2012

  • Ajout de l’auto calibrage

**** 1.1 **** Publiée le 04/12/2012

  • Version initial

 

This post is also available in: Anglais