Beta : Thermostat virtuel pour la Vera

Beta : Thermostat virtuel pour la Vera
Note de l’utilisateur

Un petit pardon avant de débuter cet article, je n’ai pas eu beaucoup de temps pour poster de nouveaux articles sur le blog. Un peu de congés et pas mal de boulot ! Je profite donc de ce retour pour vous faire découvrir un plugin que je co-développe avec un membre du forum touteladomotique : Fatal25.

Avec plusieurs utilisateurs de ce forum, nous avons fait le constat qu’il manquait cruellement un plugin pour gérer nos radiateurs. Nous avons débuté le développement au début de l’hiver et nous venons de lancer depuis la semaine dernière la beta ouverte ! Bien sur la prochaine étape sera la publication sur l’app store de Micasaverde.

1/ Présentation des fonctionnalités

Sans plus attendre, 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. 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 bon « Set » avec par exemple la valeur « 20.5  » (attention, le séparateur décimal est bien le point).

1.3/ Les fonctions avancées

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 15 minutes. 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/ La phase de Beta

2.1/ Présentation

La phase de Beta test est plutôt réservée aux utilisateurs qui se sentent alaise avec la Vera. La version de l’application est instable et est susceptible d’évoluer, utiliser la à vos propres risques :twisted: et sur des systèmes non critique.

Durant cette phase, vous devrez déposer vous même les fichiers sur la Vera et créer manuellement le device virtuel. Assurez-vous régulièrement d’avoir la dernière version a jour, en particulier avant de signaler un problème.

Une fois la phase de test terminée, le plug-in sera disponible via le magasin d’application pour permettre une installation simplifiée et profiter du système de mise à jour automatique.

Pour l’instant la doc est plutôt minimaliste. Elle détaille l’usage des différents paramètres de configuration du plugin.
Vous pouvez la retrouver ici : https://github.com/AntorFr/SmartVT/wiki

2.2/ Récupérer les fichiers

nous allons gérer 3 versions (branches) :

Pour simplifier et partager vos retours, je propose de tout centraliser sur ce post du forum touteladomotique.

2.3/ Installation sur votre Vera

Déposer les fichiers sur votre Vera puis créer un device virtuel avec comme paramètres :
Upnp Device Filename : D_SmartVT1.xml
Upnp Implementation Filename : I_SmartVT1.xml

Vous aurez probablement a redémarrer votre Vera puis a recharger votre page Web.

2.4/ 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 défaut)

3/ Le reste à faire

La première version est plutôt complète, nous avons réussi a intégrer tout ce que nous souhaitions y mettre.

Une évolution majeur reste a venir : l’auto calibrage du plugin. Aujourd’hui, le calcul du temps de chauffe est fait à partir de coefficients qui fonctionne très bien pour des pièces de taille standard. L’idée est d’ajouter une fonction qui ajuste automatiquement les coefficients en fonction de la température atteinte en fin de cycle (sur une base d’un grand nombre de cycle). Ainsi le plugin s’adaptera avec encore plus de précision à la taille de la pièce et à son isolement avec l’extérieur.

Cette fonction viendra dans un second temps mais nous commençons dès maintenant a travailler dessus.

4/ A vous de jouer

Have fun, et merci d’avance pour vos retours qui nous serons utile pour améliorer le système (via ce post)

This post is also available in: Anglais