/ tech

Home Assistant et Philips Hue

The SmartHome Logo

Comment automatiser son domicile (un avant goût de la domotique)

Dernièrement je me suis intéressé à la domotique (toutes proportions gardées).
J'ai donc commandé pour Noël des philips Hue pour me permettre de débuter tranquillement une migration de mon logement vers le 21ème siècle...

Alors m'y connaissant très peu dans le domaine (ça viendra ;)), j'ai branché ça comme un Noob j'ai pris ma philips hue (ampoule en couleur avec un culot à vis), et je l'ai installée à la place d'une ancienne ampoule (dans un lampadaire IKEA que j'ai dans mon salon).

Premier essai : j'allume via l'interrupteur du lampadaire et oh magie ça s'allume, mais bon ça reste qu'une ampoule du coup je vois pas trop de différence :)

Je commence alors à faire des recherches et je me rends compte que les Philips Hue communiquent en Zigbee (protocole ouvert utilisé par plusieurs boites et centré sur la domotique).
Ce qui est cool avec ce protocole c'est que ça permet de faire le pont entre le réseau local du domicile et les ampoules, mais comme vous vous en doutez c'est pas magique...

Zigbee Logo

Il a donc fallu que j'achète ce que l'on appelle un HUB Hue, qui permet de faire le pont entre ces deux protocoles que sont le Wifi et le ZigBee.

Le Hub fonctionne de la manière suivante :
il se connecte via un port RJ45 à la box de son FAI (Freebox, Livebox, ...).
Il peut donc recevoir des ordres via un smartphone (avec une application Philips Hue dédié) et les transcode en ZigBee pour contrôler les ampoules.

L'application Philips Hue en elle-même est plutôt bien faite, on peut changer les couleurs des ampoules (en choisissant soit même la couleur parmi 16 millions), déclencher des scénarios pré-enregistrés dans l'appli (lumière de concentration, de détente, ...) ou bien même se créer ses propres scénarios.

Mais l'application va plus loin, on peut par exemple demander à activer un réveil luminaire avec une phase de transition plus ou moins longue pour imiter un réveil naturel.

Pour ce qui est de mon installation je suis donc parti sur :
StarterKit Hue
1 lampe philips Hue de couleur
StarterKit Hue

1 Kit Hub Hue vendu avec 2 ampoules classiques dont on peut gérer la luminosité
Hue Strip Hue
1 LightStrip Hue qui est en faite une bande de LED de 2 mètre que l'on peut mettre sous un meuble et derrière son canapé par exemple.

Salon Hue

... Je vous rassure c'est pas mon salon ;p

Tout ça c'est bien mais vous me direz : "mais le coté Smart est pas très smart.." en effet à part le réveil et contrôler l'ampoule via le smartphone c'est loin d'être intelligent.

J'ai donc cherché un système permettant d'allier l'utile à l'agréable.
Et j'ai trouvé un petit soft bien sympathique que je vais de ce pas vous présenter.

Home Assistant

Home Assistant est un soft open source écrit en Python et donc multi plateforme.

En effet on peut installer Home Assistant sur MacOSX, sur Windows ou sur Linux.
Le meilleur des choix reste cependant Linux qui est bien plus souple avec Python.
Et le truc cool c'est que Home Assistant est responsive design (kesako ? le site s'adaptera au device sur lequel on y accède en gros que ce soit sur smartphone, tablette ou pc le site apparaitra avec la bonne résolution).

Pour ma part j'ai choisi d'installer Home Assistant sur un Raspberry PI 2 (mais un vieux 1 qui prend la poussière dans un tiroir fera largement l'affaire compte tenu de la faible charge du soft).

J'ai installé une raspbian Jessie sur lequel j'ai calé les sources home assistant.

$ pip3 install homeassistant

le binaire pip3 devrait deja être present de base sur raspbian.

$ hass --open-ui

puis la commande hass --open-ui se charge de démarrer le programme home assistant.

Le premier demarrage est assez long, Home assistant doit se créer une base de données.

On peut alors accéder à home assistant via une interface web.

http://{ip_raspberry}:8123

vous devriez arriver sur la page de démarrage qui devrait ressembler à ca :

Home Assistant

Bon il doit pas y avoir grand chose au debut juste une carte d'introduction.

Une petite explication du soft s'impose.

Le soft fonctionne de cette manière :
il est basé sur un fichier de configuration nommé configuration.yaml et qui décrit tous les devices de son installation ainsi que les scénarios avec les déclencheurs et les actions liées.

on va commencer par regarder en détail ce fichier de configuration.

homeassistant:
  name: Le nom de votre installation
  latitude: 13.4465733
  longitude: -0.6442743
  temperature_unit: C
  time_zone: Europe/Paris

Le name sert à nommer votre installation genre MaMaisonConnectee
la latitude et longitude permettent de connaitre précisément quand le soleil se couche (ou se lève) on utilisera ça un peu plus loin ;)

introduction :

Cette carte est celle que l'on voit au démarrage il suffira de commenter cette ligne pour la faire disparaitre.

Ensuite il faut déclarer les modules dont on va avoir besoin.
Dans mon cas j'ai des ampoules hue, un chromecast (oui ca le détecte) et quelques modules optionnels.

A noter qu'énormément de modules sont détectés par Home Assistant ce qui fait un peu la force du produit (les produits Sonos, Plex, Kodi, arduino, ... ).

history:

ça permet d'avoir l'onglet history avec les graphiques qui vont bien.

sun:

ça permet de tracker le soleil pour savoir quand il se couche ou se lève.

logbook:

ça permet d'avoir l'onglet logbook qui recense toutes les actions sur Home assistant du genre lumière allumé, execution d'un scenario, ...

http:
  api_password: mot_de_passe

Cette partie permet de sécuriser par mot de passe l'interface Web.

discovery:

Le module discovery permet de découvrir les devices détectable par le soft.

conversation:

Le module conversation permet d'utiliser le micro de Home assistant, ayant testé un bon accent anglais est nécessaire mais ça fonctionne quand on s'applique.

frontend:

frontend permet de lancer l'interface graphique de Home assistant.

updater:

updater se chargera de permettre la mise à jour automatique du produit.

media_player:
   platform: cast
   host: IP_CHROMECAST

media_player nous permet de declarer les devices media player de son installation type chromecast, Kodi, Plex, ...
J'ai declarer l'ip du chromecast pour éviter que HomeAssistant le rescan à chaque coup.

et enfin on déclare le Hub HUE :

light:
   platform: hue
   host: IP_BRIDGE_HUE

à partir de là on peut redémarrer home assistant pour prendre en compte notre nouveau fichier de config.

après redémarrage on devrait commencer à voir apparaitre des trucs les media player par exemple. Mais également une carte avec un petit dessin du Hub hue qui nous invite à appuyer sur le bouton de synchro du Hub. On s'execute et on revient sur la carte pour valider le bouton J'ai appuyer sur le bouton.

Et là comme par magie toutes les lampes Hue apparaissent, on peut des lors les allumer, les éteindre, changer leur couleur, leur luminosité.

C'est deja plutôt cool mais quand y en a plus y en à encore :) on peut aller un peu plus loin.

si vous tester de lancer une video youtube par exemple sur le chromecast on voit que Home Assistant détecte la video sur le chromecast, du coup je me suis dit ca serait cool que les lumières s'éteignent quand je lance une vidéo et que ca rallume les lumières si je met en pause ou quand la vidéo est finie.

On va voir comment mettre ça en place.

Direction le post Scene et automatisation sous Home Assistant

http://back2tech.fr.cr/2016/01/13/scene-et-automatisation-sous-home-assistant/

Home Assistant et Philips Hue
Share this