[***] Thermostat virtuel, compatible HS2 + améliorations

Le chauffage est la première source à optimiser pour réduire vos dépenses. Que vous chauffiez à l'électrique, au gaz ou au fioul, des solutions existent pour réduire vos dépenses, et chauffer uniquement quand vous êtes à votre domicile.

[***] Thermostat virtuel, compatible HS2 + améliorations

Messagede ycsimon » 08 Mar 2006, 03:48

Desolé pour le retard, bien que je sois chez Free, FT a intervertit 2 abonnés d'où coupure d'internet une semaine, déjà qu'ils m'avaient cablé sur un dslam defectueux à l'ouverture de ma ligne...

J'ai testé sous Homeseer 2 et modifié le script en consequence, ça fonctionne bien maintenant tout en restant compatible avec la première version.

L'installation est simplifiée, il suffit comme d'habitude de télécharger le fichier VThermostat.thm , de le placer dans le repertoire "scripts" de Homeseer et de créer un nouveau type de device "Thermostat Virtuel" de type Thermostat associé à ce script puis d'ajouter votre device de ce type.
Il n'y a plus besoin de créer un fichier ini, s'il n'est pas detecté, il est crée automatiquement.

Si les paramètres de votre thermostat ne sont pas detectés (nouveau thermostat), une installation assistée va se lancer, aussi dans HS2 n'appuyez pas tout de suite sur un bouton avant de l'avoir
Si jamais l'installation ne se lance pas (HS2 est parfois capricieux et ça m'est arrivé une fois sur ~100 essais) appelez la fonction
VThermostat.thm ("ResetThermo","code_du_thermostat")

A tout moment vous pouvez changer un ou plusieurs paramètre grâce au bouton "Reset" qui va relancer l'assistant mais avec les valeurs que vous avez déjà entré par défaut pour faciliter le travail.

Le thermostat s'actualise tout seul toutes les minutes, j'ai fais une legère modification pour que ça marche sous HS2 même si j'ai constaté de legères irregularités.
Vous pouvez bien sur appelez à la place la fonction
VThermostat.thm ("GetTemp","code_du_thermostat")
grace à un evenement recurrent (conseillé si vous avez plusieurs sondes) ou qui trigge sur changement de valeur de votre sonde.

Sinon, le thermostat fonctionne maintenant avec des valeurs de SetPoint/CoolSetPoint au dixième et comme on ne peut pas les mettre dans l'interface, j'ai ajouté deux boutons SH et SC qui vous permettra d'entrer une valeur de mode confort et eco par question. par event il suffit d'appeler les fonctions:
VThermostat.thm ("SetSetPoint","code_du_thermostat:valeur")
VThermostat.thm ("SetCoolSetPoint","code_du_thermostat:valeur")

PS: attention pour les nombres decimaux, ça peut être une virgule ou un point en fonction de vos paramètres dans windows (Options régionales et linguistiques)

A+

EDIT: je viens de rajouter des boutons suplémentaires et boutons permettent de les appeler, voir 5 messages plus bas.
Dernière édition par ycsimon le 09 Mar 2006, 15:58, édité 1 fois.
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Messagede bernier » 08 Mar 2006, 15:00

Décidemment, en ce moment je dois avoir le mauvais oeil en domotique car je suis directement tombé sous HS2 sur le cas une fois sur cent! mais le reset s'est bien passé!
Attention toutefois : parfois l'inputbox reste sous HS2 et donc ne se voit pas sauf à iconiser HS!
Merci pour la saisie en 10ème de degré :D . Toutefois comme toujours toute amélioration a son revers : puisque tu utilises des inputbox, il faut évidemment être sur la machine où HS2 est installé pour changer le setpoint :( As-tu une idée sur ce qu'il faudrait faire pour changer le setpoint sur une machine distante (réseau local ou non?)
bernier
P'tit Dieu de domotique
 
Messages: 174
Inscription: 09 Fév 2006, 14:21

Messagede ycsimon » 08 Mar 2006, 17:16

Salut,

Viens pas râler, j'ai mis le dixième rien que pour toi! :D :wink:

Je ne sais pas si tu es dans ce cas mais s'il y avait déjà un thermostat d'installé de même code avant, les paramètres sont toujours dans le fichier ini donc le script le detecte et ne lance pas l'installation.
Chez moi, l'inputbox apparait sur la barre des tache de windows et si je cliques dessus, ça le met en premier plan.

Pour changer les setpoint avec des valeurs entières c'est toujours faisable avec la méthode inclue dans l'interface web de HS, il n'y a pas de perte de fonctionalité.
Pour les valeurs decimales, c'est dommage que HS ne permette pas d'inclure des formulaires dans l'interface web autres que les boutons.
Je verrais si j'ai le temps de faire une petite page en html/asp que l'on pourrais ajouter à l'interface web et qui permettrais de gérer tous les thermostats avec toutes les fonctionalités.

Sinon, il y a des moyens de contourner ça:
Si tu utilises souvent les mêmes valeurs tu peux créer des evenements vers les fonctions
VThermostat.thm ("SetSetPoint","code_du_thermostat:valeur")
VThermostat.thm ("SetCoolSetPoint","code_du_thermostat:valeur")
et tu pourras par interface web appeler ces evenements (pas terrible mais bon)
Je pense aussi qu'il est faisable de créer un device virtuel avec des valeurs de 150 à 250 qui representerait la valeur du setpoint. Ensuite un evenement appelle un script quand la valeur de ce device change. et le contenu du script fais changer le setpoint en lui attribuant la valeur de ce device divisée par 10. C'est un peu long à mettre en place mais ça peut être sympa de choisir le setpoint directement dans une liste déroulante.
Autre possibilité, ecrire un petit script qui augmente et baisse le setpoint (/coolsetpoint/auxsetpoint/offsetpoint) du dixième puis creer des events qui appelle ces fonctions ou bien un device avec des boutons qui pointent vers elles.

Je vais y réflechir dis-moi ce que tu en penses, je peux aussi remplacer les deux boutons présents par d'autres, inclure les fonctions d'augmentation/diminution au dixième, etc. à voir...
Si seulement j'avais le temps, je me pencherais sur la création de plugin pour faire un thermostat indépendant de celui de Homeseer mais c'est un peu bête, ce que je trouve dommage, c'est que bien que HS se rapproche de plus en plus du web ils n'ont pas ouvert de possibilités sur ce qu'on peut en faire à part en ajoutant des pages faites maison et avec des plugins mais ce n'est plus à la porté de tout le monde. Pareil pour la création de boutons et de valeurs, ça devrait être un truc de base avec une interface pour ça...

A+
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Messagede bernier » 08 Mar 2006, 18:38

Très franchement, je n'avais pas eu l'impression de râler :!:
Que veux-tu l'informatique rend de plus en plus glandeur : comme j'ai la babasse où HS est installé au 1er et un portable en réseau au RdC (sans parler d'un pocket Wifi qui traine...) c'était sympa de modifier le set point au 10ème de n'importe où (ce que je peux tjs faire si je rentre des SP multipliés par 10 et que je redivise dans le script :!: )
Donc c'est très bien comme cela... et je ne change pas le SP tous les jours (sauf en test de mise au point, ce qui est le cas en ce moment)
bernier
P'tit Dieu de domotique
 
Messages: 174
Inscription: 09 Fév 2006, 14:21

Messagede ycsimon » 08 Mar 2006, 20:40

Mais non tu rallais pas, je deconnais un peu :) t'as parfaitement raison, c'est bête de ne pas pouvoir regler manuellement au dixième à distance simplement.
Je vais ajouter des fonctions pour augmenter et diminuer, ça permettra de le faire par exemple d'une télécommande murale du style SS13.
Pour une programmation horaire en 10ieme il suffira de créer des events qui appelle les fonctions de SetPoint et CoolSetPoint.
Et à distance combiner entre l'interface pour fixer la valeur entière la plus proche et ensuite augmenter ou diminuer de quelques dixièmes avec des events.
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Messagede ycsimon » 09 Mar 2006, 16:12

Je viens de rajouter des fonctions qui permettent de faire varier le SetPoint et le CoolSetPoint de +- 1° et de +- 0.1°, d'où 8 fonctions qui peuvent être appelées comme ceci:
Heat+1:
VThermostat.thm ("SetSetPointP1", "code_du_thermostat")
Heat-1:
VThermostat.thm ("SetSetPointM1", "code_du_thermostat")
Heat+0.1:
VThermostat.thm ("SetSetPointP01", "code_du_thermostat")
Heat-0.1:
VThermostat.thm ("SetSetPointM01", "code_du_thermostat")
Cool+1:
VThermostat.thm ("SetCoolSetPointP1", "code_du_thermostat")
Cool-1:
VThermostat.thm ("SetCoolSetPointM1", "code_du_thermostat")
Cool+0.1:
VThermostat.thm ("SetCoolSetPointP01", "code_du_thermostat")
Cool-0.1:
VThermostat.thm ("SetCoolSetPointM01", "code_du_thermostat")
ce qui permet de les appeler grâce à des télécomandes, events ou dans un frontend.

En plus j'ai ajouté une question lors de la configuration qui demande si on veut ajouter les boutons correspondants dans l'interface avec 5 possibilités:
Tous les boutons
Tous ceux du mode Confort
Tous ceux du mode Eco
Ceux du mode Confort et Eco mais au degrès
Ceux du mode Confort et Eco mais au dixième

Il suffit si le thermostat est déjà installé de retélécharger le script, de remplacer l'ancien puis faire un reset sur chaque thermostat.

A+ :)
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Messagede bernier » 09 Mar 2006, 18:20

Super :!: :D
bernier
P'tit Dieu de domotique
 
Messages: 174
Inscription: 09 Fév 2006, 14:21

Messagede bernier » 12 Mar 2006, 16:11

Je viens de tomber sur un petit os : le thermostat virtuel a passé aujourd'hui un ordre de marche pendant une coupure de courant (voila ce que c'est d'avoir mis un petit onduleur sur ma babasse!) Du coup l'ordre n'est pas vraiment passé... et ne repasse pas :(

D'où 2 petites questions :
-1- je n'ai pas mis de piles dans le CM11 en supposant que cela n'avait aucune utilité avec HS. Est-ce que cela aurait changé quelque chose?
-2- tu envoies un ordre X10 uniquement si le même ordre n'a pas été envoyé précédemment. Est ce que cela aurait un inconvénient pour le matériel de l'envoyer systématiquement ?
bernier
P'tit Dieu de domotique
 
Messages: 174
Inscription: 09 Fév 2006, 14:21

Messagede ycsimon » 12 Mar 2006, 16:41

Effectivement... :?

Pour régler temporairement ça, passe tes modules de chauffage à off dans HS (même ceux qui apparaissent déjà sur off et qui ne le sont pas vraiment).
Si seulement les modules X10 avaient status request...

1/ Les piles dans le CM11 n'y changeraient rien. elles ne servent que pour retenir une eventuelle programmation interne.

2/ Tu peux modifier le script pour changer la vérification d'état mais les ordres vont être envoyés à chaque appel du thermostat ce qui encombre le réseau.
remplace cette partie:
Code: Tout sélectionner
If (commande = "On" and hs.IsOff(module)) or (commande = "Off" and hs.IsOn(module)) Then
   hs.ExecX10 "" & module, commande, 0, 0
   hs.SetDeviceLastChange device, Now
End If

par:
Code: Tout sélectionner
If (commande = "On" and hs.IsOff(module)) or (commande = "Off" and hs.IsOn(module)) Then
   hs.SetDeviceLastChange device, Now
End If
hs.ExecX10 "" & module, commande, 0, 0

Mais c'est une solution temporaire à mon avis.

Ce problème peut d'ailleurs arriver avec n'importe quel autre module de Homeseer quand un evenement change l'état d'un module alors que le reseau est inactif, le mieux serait d'obtenir le status de l'onduleur que l'on pourais utiliser pour revalider les modules que l'on souhaite quand le courant reviens.
Si tu veux on peut s'y mettre à deux pour trouver un moyen, je regarderais sur le Homeseer board, si tu peux trouver des infos de ton côté ce seriat bien, j'ai un onduleur MGE avec connexon usb, et toi?
Si on trouve un moyen je ferais un script qui permette de prendre des decisions lors du retour du courant.

A+
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Messagede bernier » 12 Mar 2006, 17:09

Effectivement ce serait autrement plus efficace de connaitre le statut réel des modules X10, mais bon faut faire avec!
Pour ma part j'ai repassé des ordres ON aux modules qui vu de HS étaient passés à ON pendant la coupure, ce qui m'a poussé à dire que l'on pouvait balancer systématiquement l'ordre, mais comme tu dis cela charge le réseau (encore que j'ai mis le polling à 5mn, ce n'est pas énorme)
J'ai vu dans les plugin qu'il y avait un "powermonitor", je vais essayer de comprendre si ça peut servir dans ce cas.
bernier
P'tit Dieu de domotique
 
Messages: 174
Inscription: 09 Fév 2006, 14:21

Messagede ycsimon » 12 Mar 2006, 17:44

Dans les paramètres de mon onduleur (commun à tous les onduleurs MGE) tu peux faire des actions à differents stades, dont log, message à l'ecran et surtout une ligne de commande au moment ou l'éléctricité revient.
Je ne sais pas si on peut faire executer un script par homeseer en ligne de commande mais si c'est le cas c'est bon.
Le script serait simple: regarder l'état des modules que l'on veut et renvoyer de nouveau la commande x10 qui correspond à cet état.
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Messagede ycsimon » 12 Mar 2006, 18:43

Sur la page des téléchrgements de Homeseer http://www.homeseer.com/downloads/ il y a à télécharger:
HomeSeer Command Line application: This small exe program will you to control some aspects of HomeSeer from the Windows command line. This includes the ability to trigger events, send X10 commands and speak

Mais c'est pour HS 1.7 seulement...

Sinon c'est simple, il y a un fichier hsc.exe

Pour lancer un evenement il suffit de faire
hsc -e "Retour du courant"
Avatar de l’utilisateur
ycsimon
Dieu de domotique
 
Messages: 218
Inscription: 07 Sep 2005, 03:17

Suivante

Retourner vers Chauffage, CESI, Climatisation, Poêle à granules, etc

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

Copyright © 2011 - Touteladomotique.com - Tous droits réservés
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique