mardi 8 janvier 2013

Configurer un thermostat avec HomeAutomate




      Un petit article pour concrétiser la mise en place d'une gestion de température avec HomeAutomate et qui tourne depuis Début Décembre.

           Le cas d'utilisation : 

    - Température confort (21°) de 5h à 7h59 tous les jours ainsi que de         
      17h à 20h59 et week-end.
    - Température mini (18°) le reste du temps.


           Matériel prérequis :
         
    - Une chaudière/radiateur à contacteur sec.
    - Un module permettant de faire le contact sec (ici utilisation d'un IPX800).
    - Une sonde de température (Ici une THN132)
    - Un RFXCOM ou autre appareil capable de traiter les signaux de la THN132.
    - HomeAutomate installé et démarré.


           Les branchements : 
   
    Passons sur le RFXCOM et les sondes pour nous attarder sur le contact sec de la chaudière. J'utilise donc un relai de la carte IPX800 pour fermer ou non le circuit. J'utilise ici le relai 8 :

                

   Pour ce qui est du câblage proprement dit: 

   Du côté IPX800, pour l'instant j'utilise un seul relai le 8ème, le but sera de fermer le circuit en connectant  les 2 cables.


    

De l'autre côté (chaudière) pas de photo, mais je dois relier les 2 cables aux bornes 4 & 5 du bornier permettant en cas de fermeture de déclencher la chaudière.


ETAPE 1 : Configuration chemin plugin (si ce n'est pas déjà fait)


    Après avoir démarré HOMEAUTOMATE, direction les paramètres pour vérifier, que le répertoire des plugins est bien renseigné (ici /var/genapp/apps/ab879da5/tmp)



ETAPE 2: Peuplement des plugins (si ce n'est pas déjà fait)

         Ce sont surtout les plugins OREGON, RFXCOM, IPX800 et HEATMANAGER qui vont nous servir.


        On remarquera un nouvel icone apparu dans le menu supérieur (extrait automatiquement des plugins).



ETAPE 3: Configuration des Plages Horaires de fonctionnement

          L'ergonomie est perfectible mais complètement fonctionnelle.




ETAPE 4: Déclaration & Démarrage du RFXCOM Ethernet

        Avec un heartBeat à 60 secondes (cycle de traitement chaque minute)
        Démarrage Automatique
        Mode Trace activé
        Mode apprentissage activé (Pas besoin de déclarer les sondes).
        IP et ports à renseigner.





               


ETAPE 5 : Déclaration de l'IPX800

Mode trace activé
On renseigne juste l'IP, L'IPX800 créera automatiquement les units de type relai au nombre de 8.





Vérification des unités :

      LE RFXCOM aura du créér les THN132 détectées, et l'IPX800 tous les relais présents sur la carte.

   

ETAPE 6 & FIN : Déclaration et configuration du Manager de température.

Le manager fonctionne avec :
  
      - Une liste de sondes en entrée (1 ou plusieurs)
            * Permettra de capter la température de la maison.
     
      - Un méthode de calcul de température : 
                    MIN  : prendra la valeur minimale de toutes les sondes.
                    MOY : fera une moyenne de toutes les sondes.
                    MAX : prendra la valeur maximale de toutes les sondes.
      
     - Une liste d'actionneurs (1 ou plusieurs).
           * Permettra d'activer la chaudière

    - Une liste de plage d'activation.
           * Permettra d'activer la température confort pendant cette période.


Comment cela fonctionne ?

     Le manager fera un getValue() sur l'objet sonde pour obtenir la température, puis s'il est en mode confort et que la température n'est pas atteinte fera un on() sur les actionneurs sinon c'est off(). L'actionneur ne sera d'autre que le relai 8 de notre IPX800.

          Il suffit donc de saisir tous les paramètres demandés et de valider.
          





         Les traces permettent de vérifier le bon fonctionnement du système :



        A noter, qu'il est possible d'ajuster les températures ou encore de forcer le chauffage pendant 2h ou 4h en utilisant l'interface NEST qui intéragit dynamiquement avec le manager.






Enfin il est possible de suivre les courbes des températures des sondes dans le temps afin de vérifier le bon fonctionnement.
Possibilité également de cumuler plusieurs Units sur le même graphique :



dimanche 23 décembre 2012

Graph et stats




        Après avoir utilisé COSM (remplaçant de Pachube) pendant plusieurs mois, je constate qu'il devient extremement long de remonter la moindre mesure, générant d'ailleurs pas mal de freeze réseau sur mon système (+ de 400 requests HTTP en wait = carte réseau saturée).

         J'ai donc changé mon fusil d'épaule et décidé de stocker et de générer mes propres statistiques sur mes unités, médiators ou manager. J'ai donc implémenté une méthode respectivement dans AbstractUnit, AbstractManager et AbstractMediator, permettant de stocker une valeur à la sauce clé=valeur avec gestion de purge intégrée.


          C'était la partie la plus simple, reste maintenant à générer un graphique et là il existe des milliers de façons de faire, je suis donc tombé sur une librairie javascript permettant d'afficher élégamment les graphs et surtout de comprimer les zones de temps (look d'outils de traders).


          J'ai donc choisi d'implémenter une action struts (StatsAction) qui prends en paramètres les unités à afficher sur le graph, bref une simplicité, l'action étant chargée de générer l'html (full). On aura donc ce genre de requête HTTP 


          Cette requête produit le graph suivant (que l'on peut incorporer dans n'importe quelle iframe). On voit ici en jaune la température salon, bleu piscine, et vert les on-off d'un relai de l'IPX800.






       Il y a bien évidemment une foultitude d'options (thème, remplissages, ...) 





dimanche 18 novembre 2012

Mise en place Portail HomeAutomate + Portail Demo

News :




Vous trouverez 2 liens :



    1er : Portail sur HomeAutomate (Site distribution HomeAutomate)



    2ème : Demo 'On the Cloud' de HomeAutomate.



Evidemment, il reste du développement, des bugs et des tests ;).
D'ailleurs l'IHM doit surtout fonctionner avec Chrome et en haute résolution (HD), j'attends vos remarques pour les autres navigateurs.

A l'heure Actuelle, quelques plugins, mais surtout un plugin de gestion de température à la sauce NEST opérationnel.

Il reste également de la documentation à écrire (Rubrique Support).
Les 2 applications sont hébergées chez Cloudbees (Voir post ici), elles peuvent donc à tout moment se retrouver en hibernation, il faut attendre quelques minutes pour qu'elles sortent de leurs sommeils.


Prochainement mise en place plugin IPX800.





vendredi 12 octobre 2012

Matériel : Réception IPX800


        Profitant d'une commande groupée sur le forum domotique, j'ai pu acheter une IPX 800.
Reçue rapidement voici quelques photos. Cet appareil ne me servira qu'à piloter les luminaires de ma maison ainsi que la remontée d'informations (style: température, hygro, ph, ...). Voici donc la vue de dessus, vous noterez l'alimentation din à droite.


La face arrière :


Le petit module permettant de transformer du 220v alternatif en 12v continu.


Enfin, la carte installée dans le tableau électrique (Pensez à débrancher le jus avant ! )
Un simple tableau Legrand 1 rangée, prévoyez peut être 2 rangées si vous voulez ajouter l'extension :


Il ne me reste plus qu'à faire un plugin HomeAutomate pour ça.

mercredi 23 mai 2012

Matériel : Sonde Piscine OREGON THWR288N & HomeAutomate

    J'ai reçu ce matin une sonde de piscine OREGON Sans Fil (Modèle THWR288N). Voici un mini-reportage sur son intégration dans le système.
J'avais déjà fait l'expérience d'une sonde précédemment, mais non compatible avec mon RFXCOM. Chose réparée, puisque cette sonde OREGON est compatible.

La boite : 


Le contenu :

       + piles 
       + sondes
       + manuel
       + ficelle


La sonde (avec adhésif):


Pour ouvrir il faut tourner la sonde tout en figeant son socle, on découvre ensuite le logement pour les piles:



L'autre face, 2 switchs dispos (1 pour les chanels 1,2 ou 3 et un pour l'unité °C ou °F)


En fonctionnement : 


et enfin dans l'eau: 



Je lance maintenant le client RFXCOM pour voir un peu les trames reçues :


Nouveau message commençant par 50 puis EA4 distinctif des sondes OREGON.
En comparant la trame avec une THN132, on ne constate pas de différence si ce n'est un double 0 à la fin de la trame. Chic ! on va pouvoir utiliser le même décodage que la THN132.

On passe sous HomeAutomate, et on ajoute la nouvelle sonde dans le plugin OREGON : 


Ne pas oublier de mettre à jour le fichier plugin.xml


Faire un export as Jar et coller le dans le répertoire des plugins.

On fait un tour maintenant, dans le plugin RFXCOM, il va falloir décoder la nouvelle trame.

Voici le nouveau code (2 lignes) et c'est tout: 


On redémarre le serveur ou Reset des plugins au choix et on constate les nouvelles trames reconnues (id ok, temp ok, chanel ok): 



Reste plus qu'à créer une nouvelle sonde dans le menu de l'application (Le système reconnait automatiquement la nouvelle sonde disponible) : 


  


Et pourquoi pas, remonter les infos sur Cosm ? Facile on modifie notre CosmManager pour y inclure la nouvelle unité. Ce dernier deviendra donc "Aware" sur la nouvelle sonde piscine.



Et voilà.




dimanche 20 mai 2012

NEST Thermostat Virtuel avec JQuery et CSS3, intéraction avec HomeAutomate

Bon, rappel, NEST est une société qui commercialise des thermostats au look ravageur en voici pour preuve : 




Dans ce post précédent, je m'étais essayé à faire un potentiomètre de thermostat réglable à la souris ou au touché pour nos tablettes.

La société NEST semble pour l'instant ne distribuer ces thermostats qu'aux Etats Unis ou Canada, en tout cas pas en France. En regardant le cablage de l'appareil, il est vrai qu'on est loin des symboles que l'on peut retrouver dans nos contrées Européenes.

Donc pourquoi ne pas s'en faire un virtuel qui dialoguerait avec HomeAutomate ? 

Les outils : 

   JQuery qu'on ne présente plus et les css3 qu'on ne présentent plus non plus. 
   Un éditeur de texte (Notepad++) par exemple.

Les fonctions demandées : 

   Mode température : je souhaite pouvoir régler la température facilement.
   Mode soufflante: je souhaite pouvoir régler la soufflante VMC facilement.
   Mode demande de chauffage : je souhaite forcer la chaudière pour 2 ou 4h. 


Exigences esthétiques et ergonomiques :

  Réglage par rotation, sélection par clic ou pression digitale (Amélioration par  
  rapport à la dernière version, fini les accoups, utilisation de la tangente au 
  lieu de sin et cos)
  Look : Le plus proche possible du vrai modèle.
  Compatibles Chrome/FF/IE/Autres


Voici donc le résultat, je ne poste pas ici toutes les sources (car vite illisibles) mais voici le lien pour les obtenir. Voici également le lien vers la DEMO en ligne.


Mode d'emploi : 

Lorsque l'on charge la première fois la page, le thermostat est sur Off. Pour l'allumer, il faut cliquer sur 'nest'




Automatiquement, le thermostat se place sur le mode ventilation (AIRWAVE)
par défaut la valeur est de 50.




     Pour faire varier la valeur, rien de plus simple, cliquez et rester appuyé dans le disque noir et dirigez vous autour du disque. La valeur doit augmenter ainsi que la couleur de fond.




    La petite feuille verte indique le mode d'économie d'énergie. Pour passer au mode température, cliquez sur nest 2 fois, la navigation reste la même :




    Pour une demande express de chauffage, cliquez sur nest jusqu'à voir le mode Heat Now, là, le thermostat vous demande pour combien de temps voulez-vous que la chaudière se mette en route (2h ou 4h)




    Cliquez sur 2h ou 4h à votre convenance.La confirmation est affichée à l'aide de la petite flamme en bas. Pour supprimer la demande il suffira de cliquer sur la flamme :




Voilà pour cette deuxième partie, on verra dans une troisième partie comment faire dialoguer le thermostat avec HomeAutomate, utilisation d'Ajax.


Conclusion : Je n'avais pas trop testé l'association Css/Jquery, mais je dois dire que le travail est facilité par diverses fonctions. J'ai testé le code sur Chrome et FireFox, je dirais que Chrome est plus rapide, mais l'affichage des barres de progressions parait moins propre.




jquery knob rotate nest thermostat

Matériel : Etendeur WIFI extérieur 9dBi

     Maintenant que le toit terrasse est terminé, les connections WIFI depuis le toit ne fonctionnent plus et pour cause le signal est quasi inexistant ou trop faible.

J'ai reçu samedi, un étendeur WIFI à 24 euros accompagné d'une rallonge d'antenne de 2,5m.

Constat de puissance avant installation entre -70 et -80 Dbm: 



Tout commence avec la boite et son contenu :


           


 + Colliers de serrage (permettant de fixer l'antenne sur un mât)
 + Notice
 + Gabarit de perçage/autocollant
 + 1m de câble.
 + et bien sûr l'antenne.


Zoom sur l'extension d'antenne (une fiche mâle et une fiche femelle): 




Quelques spécifications :


Enfin le montage, on commence par percer 2 trous à l'aide du gabarit et du perfo :


Fixation du support, à l'aide des 2 chevilles et 2 vis fournies :


Enfin on accroche, l'antenne et on relie le tout sur le routeur Wifi, l'installation de l'antenne est simple, on dévisse la rigide, et on revisse la souple à la place :


Mesure des gains constatés :



Conclusion : 

     Je suis passé de 75dBm à 45dbM, soit gain de 30dBm. Je peux maintenant surfer sur ma terrasse.