Home Assistant (@Home_Assistant) est un serveur domotique entièrement écrit en Python qui s’installe avec une seule ligne de commande dans le Terminal. Ce serait dommage de ne pas l’essayer ! Home Assistant est un projet open-source qui devenu très rapidement une référence dans le monde des serveurs domotique (github). Seul bémol, Home Assistant n’est disponible qu’en Anglais. Il est possible de traduire les étiquettes des widgets mais ça ne va pas au delà. Home Assistant et toutefois un très bon outil d’apprentissage si vous débutez en domotique ou en programmation.

Installer Home-Assistant sur Raspberry Pi 3

Pour rédiger cet article, j’ai utilisé un Raspberry Pi 3 avec la dernière version de Raspbian Jessie. Il est également possible d’installer Home-Assistant sur Mac OS X, Linux ou Windows. La seule condition est que Python 3.4 (ou supérieur) soit installé. Enfin, il est possible d’installer HomeAssistant sur un NAS Synology (la version DSM 6 est conseillée).

Avant de commencer, il est préférable de mettre la distribution à jour

 

Sur les machines Linux, il suffit d’exécuter la commande suivante dans le Terminal.

Pour les utilisateurs de Windows 10 (ou 7), commencez par installer Python 3 puis dans le Command Prompt

Et voilà, en quelques minutes, votre serveur domotique est prêt à fonctionner. Contrairement aux autres solutions, il n’y a aucun composant supplémentaire à installer. Il suffira de configurer ce dont vous avez besoin à l’aide de fichiers de configuration dans le langage YAML.

Commencer avec Home Assistant

Démarrer le serveur domotique

La commande hass permet de démarrer Home-Assistant depuis le Terminal

Pour accéder à Home Assistant, il vous suffit d’utiliser n’importe quel navigateur ayant un accès à votre réseau privé en saisissant cet URL

Démarrer en mode démo

En saisissant la commande hass –demo-mode, on démarre directement dans le mode démo qui permet de tester les principales fonctionnalités. Aucun crainte à avoir, même si vous avez déjà commencer à modifier votre script, démarrer en mode démo ne modifie pas votre script. Vous pouvez également tester la démo ici https://home-assistant.io/demo/

home-assistant demo screen ecran

Arrêter

La combinaison de touche Ctrl+X dans le Terminal permet d’arrêter proprement Home-Assistant.

Mettre à jour

Pour mettre à jour, exécutez la commande suivante

Premier script

Home-Assistant utilise le fichier configuration.yaml qui se trouve à la racine du répertoire d’installation. Sur Raspberry (Linux et Mac OS X) il se trouve à ~/.homeassistant. Sur Windows, il se trouve ici %APPDATA%/.homeassistant.

L’écriture du script est assez simple. Il faut un peu maîtriser le langage YAML (documentation en anglais) qui n’a rien de bien méchant comme nous allons le voir.

Exécutez la commande suivante pour éditer le fichier de configuration à l’aide de nano

Chaque fonction débute par un mot clé, par exemple homeassistant: Dans ce bloc on y ajoute les paramètres sous la forme clé : valeur en retournant à la ligne pour chaque couple clé/valeur.

Le symbole # est utilisé pour les commentaires.

Ajouter un capteur publiant des données sur MQTT

Dans l’article précédent, nous avons vu comment installer le broker MQTT Mosquitto sur un Raspberry. Voyons maintenant comment il est très simple de récupérer une mesure de température réalisée avec un DHT22 et un ESP8266 (ce projet fera l’objet d’un prochain article). Voici donc comment récupérer des Topics MQTT.

On ajoute une section mqtt

Maintenant on ajoute un nouveau capteur (sensor) qui lit la température. La valeur se trouve dans le payload

Si on veut ajouter de nouveau capteur, il suffit de mettre un numéro à coté du mot clé sensor comme ceci (pour récupérer l’humidité)

Enregistrez la configuration (Ctrl + X puis O) et lancez le serveur avec la commande hass. Actualisez la page dans votre navigateur pour voir apparaître la mesure de température et d’humidité.

home assistant mqtt sensor esp8266

Accéder à Home Assistant depuis Internet

Pour le moment Home-Assistant ne propose aucun service équivalent à my.openhab.com pour accéder à votre serveur domotique. Il va falloir configurer sa box manuellement pour cela

Enfin il n’existe encore aucune application pour Android et iOS, il faudra en passer par un raccourci vers la page ou un signet pour accéder rapidement à votre serveur sur iPhone ou Android.

Suite à l’arrêt de l’offre gratuite de DynDNS, je vous conseille de vous tourner vers no-ip.com qui en plus de proposer une offre gratuite et généralement proposé par les Box. Environ 30 noms de domaines sont proposés dans l’offre gratuite : hopto.org, ddns.org…

Une fois votre compte créé, allez dans DynamicDNS puis Hostnames. Commencez par ajouter un Hostname en cliquant sur “Add Hostname”. Donnez un nom et choisissez un domaine (dans la liste free).

home-assistant.io dyndns no-ip create hostname

Ensuite, vous devez activer le service DynDNS sur votre box.

Voici un exemple pour une SFR Box. Un fois connecté à l’interface d’administration, allez dans DynDNS qui se trouve dans Réseau v4.

Appuyez sur Activer et choisissez no-ip.com. Remplissez les champs nom d’utilisateur et mot de passe (ceux que vous avez utilisez pour créer un compte sur no-ip.com. Enfin indiquez votre nom de domaine (créé à l’étape précédente). Validez. Si tout est correct, le statut du service passe en vert et vous affiche l’adresse ip de votre domaine.

sfr box dyndns no-ip

Maintenant il reste encore à faire une redirection (Forwarding) du port 8123 du serveur Home-Assistant. Pour cela, allez dans Réseau v4 puis NAT. Donnez un nom à la redirection (par exemple homeassistant) et indiquez 8123 dans les champs Ports externes et Ports de destination. Indiquez enfin le dernier chiffre de l’adresse ip du poste sur lequel fonctionne Home-Assistant. Enregistrez la redirection.

sfr box dyndns no-ip redirection port

Ouvrez un navigateur, par exemple celui de votre iPhone ou de votre ordinateur et saisissez l’URL (exemple)

C’est terminé, vous pouvez accéder à votre serveur domotique Home-Assistant depuis n’importe ou lorsque vous n’êtes pas à la maison.

Sécuriser votre serveur

Maintenant que votre serveur domotique est accessible depuis internet, il est préférable d’ajouter une protection par mot de passe. Pour cela ajouter un bloc http à la configuration

Le protection n’est cependant pas parfaite car les données sont transite en clair sur internet (connexion HTPP). Pour bien faire, il faudra mettre une connexion sécurisée HPPTS à l’aide d’un certificat Let’s Encrypyt par exemple. Pour ceux que veulent se lancer dans l’aventure, je vous renvoie vers cet article (en anglais) sur le blog d’Home Assistant.

home-assistant.io password protect protection mot de passe

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

  • Migui Pda

    Bonjour,

    petite question…
    Comment s’assurer que Home Assistant démarre seul une fois que le serveur dédié domotique a démarré ?

    Une fois installé, j’ai lancé “hass –daemon” pensant qu’il resterait
    persistant une fois le serveur redémarré, mais rien n’en fut après un
    reboot de test pour le vérifier.

    D’avance merci.