Installez Home-assistant

Si vous avez suivi le premier billet vous devriez avoir un Raspberry Pi prêt à être utilisé. Je vous propose aujourd’hui de mettre en place un outil qui permettra de centraliser, de tracer d’unifier et d’automatiser le contrôle de nos appareils.Avec une rapide recherche sur internet il est facile de trouver des solutions pouvant nous aider.

  • https://gladysproject.com/fr/
  • https://github.com/home-assistant/home-assistant

Dans mon cas, j’ai choisi d’essayer home-assistant car il semble convivial, simple, complet, ouvert, il a l’air de bien répondre aux besoins et la communauté semble assez active. Voyons si ce choix est judicieux!

Installez home-assistant

L’installation est rapide et simple. En effet, cet outil est codé en python, il suffit de lancer la commande suivante:

sudo python3 -m pip install homeassistant

 

Python3 est embarqué nativement avec la version de Raspbian que j’ai choisi. Si ce n’est pas votre cas vous pouvez l’installer en tapant

 

sudo apt-get install python3

A présent démarrons le programme

hass --open-ui

 

Une fois l’application démarrée, vous devriez pouvoir accéder à une interface web similaire à celle ci-dessous en entrant l’adresse

http://addresse_ip_du_raspberry:8123
Accueil Home assistant

Accueil Home assistant

Si vous souhaitez une installation comprenant MQTT, Z-Wave et Open-Zwave Control Panel il existe un script d’installation automatisé. Pour l’utiliser, il vous suffit de remplacer la commande

sudo python3 -m pip install homeassistant

par

curl -O https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && sudo chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh

Cependant attention, l’installation est assez longue et certains éléments peuvent différer de ce que nous avons vu. Il est donc possible que les commandes que nous vous proposons par la suite ne soit pas exactement les mêmes si vous choisissez cette méthode. pour plus d’info rendez-vous ici.

Configuration de base

Avant d’aller plus loin, il est important de comprendre comment paramétrer cette solution.
Home assistant est entièrement articulé autour d’un fichier central de configuration

configuration.yaml

 

Vous pouvez le modifier grâce à la commande suivante:

vi ~/.homeassistant/configuration.yaml

Attention, toutes modifications de ce fichier nécessite un redémarrage de l’application afin qu’elles soient prises en compte.

Retenez bien les informations de ce chapitre elles nous seront utiles dans la suite du billet.

Votre système accessible partout

Pour le moment, le système n’est accessible que via votre réseau local. Nous allons mettre en place les éléments qui nous permettront d’ouvrir notre système.

Définir un mot de passe

Avant d’aller plus loin, nous allons mettre en place un mot de passe. Ouvrez le fichier de configuration et rendez vous au niveau du bloc de configuration http.

Vous y trouverez une ligne password qu’il suffit de dé-commenter et de compléter.

http:
api_password: VOTRE_MOT_DE_PASSE

Configuration d’un nom de domaine

Pour accéder à notre installation nous avons besoin de passer par votre box. Hors, la plupart du temps, l’adresse Ip de cette dernière change régulièrement. Pour pallier à ce problème et pour nous rendre la vie plus simple nous allons mettre en place un dyndns qui nous permettra d’avoir une URL simple.

Tout d’abord, il est nécessaire de choisir une solution nous fournissant:

  • un nom de domaine
  • un service de dns dynamique

Il existe plusieurs alternatives gratuites, mais plus ou moins limitées. On notera notamment no-ip, Duckdns, dtdns, etc.

D’autres alternatives payantes offrent généralement plus de services et de flexibilité. Dans mon cas j’ai choisi ovh car j’ai un nom de domaine chez eux et qu’ils offrent un service de dns dynamique.

Si vous optez pour la même solution rendez vous dans votre espace client. Là-bas vous pourrez administrer le domaine que vous souhaitez.

Menu Ovh

Menu Ovh

  • Sélectionnez l’onglet DynHost
  • Créez un identifiant grâce au bouton prévu sur la droite de l’écran
  • Cliquez sur “Ajoutez un DynHost”
DynHost Ovh

DynHost Ovh

  • Renseignez un nom de sous domaine et l’ip de votre box (que vous pouvez déterminer facilement grâce à des sites comme celui-ci).

Voilà c’est fini ! Cependant, si vous tentez d’utiliser l’adresse que vous venez de créer elle ne devrait pas marcher pour le moment.

Règle NAT

Nous allons maintenant mettre en place des règles de NAT. Leurs paramétrages sont liés à votre box. Nous allons voir comment les mettre en place sur une Bbox, si vous possédez un autre modèle vous trouverez très facilement des instructions adaptées à votre cas sur internet.

  • Tapez dans votre navigateur l’adresse 192.168.1.254
  • Entrez votre mot de passe ou générez en un via le lien “mot de passe oublié”
  • cliquez sur “SERVICES DE LA BOX” et “Redirection de ports”

    DynDNS Bbox

    DynDNS Bbox

  • Dans la partie “NAT & PAT” cliquez sur “AJOUTER UNE REGLE”
  • Entrer la première règle en vous inspirant de l’impression écran ci-dessous (En choisissant votre raspberry comme équipement réseau cible)

    NAT Bbox

    NAT Bbox

En modifiant la deuxième règle et en redirigeant le port 80 sur le port 8123 de votre raspberry vous pourrez dès maintenant tester votre nom de domaine défini plus haut. Une fois le test effectué n’oubliez pas de remettre la règle comme ci-dessus.

Let’s encrypt

Afin d’avoir un système un minimum sécurisé nous allons mettre en place un certificat. Pour ma part, j’ai choisi la solution let’s encrypt car elle est gratuite et qu’elle dispose d’un système de renouvellement automatique. En effet, tout certificat a une date de “péremption”. Pour cette solution la durée de vie est de 90 jours.

Dans un premier temps nous allons installer les outils nécessaires.

  • Editez le fichier /etc/apt/sources.list.d/raspi.list
  • Ajoutez la ligne
    deb http://ftp.debian.org/debian jessie-backports main

     

  • Exécutez la commande
    sudo apt-get update

     

  • Enfin lancez cette dernière commande
    sudo apt-get install certbot -t jessie-backports

     

Maintenant que tous les outils sont installés nous allons pouvoir générer notre certificat grâce à la commande suivante:

certbot certonly --standalone \ --standalone-supported-challenges http-01 \ --email votre_email@email.com \ -d votre_domaine.com

Vous devriez avoir généré votre certificat. Avant d’aller plus loin nous allons vérifier que le renouvellement automatique fonctionne.

Lancez la commande

sudo certbot renew --dry-run

Si celle-ci réussie vous ne devriez pas avoir de problème de renouvellement lors de la fin de validité du certificat.

Tout est en place, il ne nous reste plus qu’à indiquer à home-assistant l’emplacement des fichiers générés par certbot. Rendez vous dans le fichier de configuration et identifiez la partie http que nous avons manipulé tout à l’heure. Ajoutez les items ssl_certificate et ssl_key en vous inspirant de l’exemple ci-dessous.

http:
api_password: VOTRE_MOT_DE_PASSE
ssl_certificate: /etc/letsencrypt/live/votre_domaine/fullchain.pem
ssl_key: /etc/letsencrypt/live/votre_domaine/privkey.pem

Après un redémarrage de l’application vous devriez normalement pouvoir accéder à votre système en https via l’URL définie plus haut.

Conclusion

Votre home assistant est en place et accessible de partout ! Il ne vous permet pas encore de faire grand chose mais la découverte automatique de périphérique devrait déjà vous permettre de jouer. Nous verrons très bientôt comment aller plus loin avec cet outil.

Merci de m’avoir suivi et n’hésitez pas à utiliser les commentaires si certaines étapes ne sont pas claires. Dans tous les cas à bientôt pour en savoir plus !

Cadre en informatique dans une multinationale je suis un touche-à-tout passionné de nouvelles technologies.
Tu aimes cet article ? Alors partage le Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on Tumblr

Laisser un commentaire