Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu – Home Assistant – Bienvenue sur le forum de domotique-et-objets-connectes.fr

77sjhg1cmxxddckgd7hk-1969390

Il est très facile d’installer Home Assistant sur une distribution Linux (Ubuntu, Debian, CentOS…) sur une machine virtuelle fonctionnant sur un NAS avec snapd. Les snaps sont des packages d’applications pour le bureau, le cloud et l’IoT qui sont faciles à installer, sécurisés, multiplateformes et sans dépendance. Une seule ligne de commande est nécessaire pour installer une application ce qui réduit considérablement les difficultés lorsqu’on débute sur Linux.

Hassio, la version packagée de Home Assistant intégrant le superviseur est très facile à installer avec Docker. Cependant lorsque la version de Docker installée sur le NAS est trop ancienne ou que la mise à jour tarde, il n’est plus possible de mettre à jour Hassio (Home Assistant). Si vous NAS dispose de suffisamment de puissance (au moins 8Go de RAM) et supporte la virtualisation (généralement les NAS équipés de processeur Intel), installer Hassio sur une Machine Virtuelle (VM) est une alternative pérenne.

Quel NAS choisir pour faire fonctionner une VM

Plusieurs modèles grand public peuvent convenir pour faire fonctionner une machine virtuelle Linux (Debian, Ubuntu…).

Optez de préférence pour un modèle à double baie permettant de créer un volume RAID 1 ou Btrfs (plus moderne) afin de sécuriser vos données.

(*) nécessite au moins 4GB de RAM.

(**) Le NAS est livré sans disque dur et extension de mémoire.

(***) Permet de réduire fortement l’espace de stockage (et donc le cout global du NAS) pour la vidéo-surveillance

Quelle version de Linux choisir pour installer Hassio (Home Assistant) ?

Toutes les versions de Linux pourront faire fonctionner Home Assistant. Si vous débutez, le mieux est de rester sur une distribution avec une très grande communauté et des mises à jour régulières et stables.

Ubuntu est un très bon choix, mais c’est vraiment une question de goût. Si la machine virtuelle est dédiée à Home Assistant, inutile de s’encombrer du bureau graphique (version Desktop), la version Lite / Server fera l’affaire…à condition de ne pas être effrayé par le Terminal, évidemment. Ne vous inquiétez ps, tout est expliqué dans le tutoriel !

Créer une machine virtuelle Ubuntu 20.04 LTS sur NAS Synology

Allez sur le site officielle de Ubuntu pour récupérer l’image ISO de la distribution de votre choix. Optez de préférence pour une version LTS (Long Time Service) qui recevra les mises à jours de sécurité durant 10 ans.

Ensuite créer une machine virtuelle sur le NAS Synology comme vous en avez l’habitude. N’oubliez pas de désélectionner le fichier ISO de la distribution Ubuntu à la fin de l’installation.

Activer le port SSH

Par défaut, Ubuntu ne dispose pas de serveur SSH. Quelque soit la version installée (Desktop ou serveur), c’est bien plus pratique et rapide d’installer SSH. Commencez par passer en mode administrateur, cela vous évitera de devoir faire précédé chaque commande d’un sudo.

sudo -i

Ensuite on met à jour le système et on installe le serveur openssh

apt update
apt install openssh-server

z6y0roquta3ougrrpjtd-3204193

Maintenant, on vérifie que le service ssh est bien démarré en exécutant la commande systemctl status ssh

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-12-14 1335 CET; 4min 17s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 2961 (sshd)
      Tasks: 1 (limit: 2318)
     Memory: 3.3M
     CGroup: /system.slice/ssh.service
             └─2961 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

déc. 14 1335 vm-ubuntu20 systemd[1]: Starting OpenBSD Secure Shell server...
déc. 14 1335 vm-ubuntu20 sshd[2961]: Server listening on 0.0.0.0 port 22.
déc. 14 1335 vm-ubuntu20 sshd[2961]: Server listening on :: port 22.
déc. 14 1335 vm-ubuntu20 systemd[1]: Started OpenBSD Secure Shell server.

Il ne reste plus qu’à modifier les paramètres du pare feu en autorisant SSH

ufw allow ssh

Vous pouvez maintenant vous connecter en SSH sur Ubuntu depuis le Terminal de macOS ou Linux ou à l’aide de Putty avec Windows.

Activer snapd sur votre distribution Linux

Snapd est le service d’arrière-plan qui gère et maintient automatiquement vos snaps. Le package (snap) est indépendant* de la distribution Linux et de la plateforme (ARM, Intel…), c’est ce qui est génial avec snap. Ca fonctionne même sur le Raspberry Pi !

hzn0fldgdbf5u6bhsaln-1230876

Si vous utilisez Ubuntu 16.04 LTS (Xenial Xerus) ou une version ultérieure, y compris Ubuntu 18.04 LTS (Bionic Beaver) et Ubuntu 20.04 LTS (Focal Fossa), vous n’avez rien à faire. Snap est déjà installé et prêt à fonctionner.

Pour les versions d’Ubuntu entre  14.04 LTS (Trusty Tahr)  et  15.10 (Wily Werewolf), ainsi que les versions Ubuntu qui n’incluent pas snap par défaut, snap peut être installé à partir du Centre logiciel Ubuntu en recherchant snapd.

En cas de problème d’installation sur votre distribution Linux, allez sur cette page de la documentation de snapcraft.

Installer les snaps de Hassio, Home Assistant, Configurator, HACS

Il existe (actuellement) deux snaps de Home Assistant. Il faut installer les snaps développés par Joachim Marthinsen Giæver. Je vous conseille d’installer les 3 snaps pour avoir une configuration au Top.

Je vous propose ici d’installer en ligne de commande depuis le Terminal les 3 snaps car vous aurez de toute façon besoin de saisir quelques paramètres durant l’installation. Sachez toutefois que le 3 snaps de Joachim peuvent également être installés depuis

Cliquez sur la loupe puis saisissez Home Assistant dans le champ de recherche pour les trouver.

trp99elora8yvyxixsmy-4452763

1 home-assistant-snap le Core du serveur domotique home assistant

snap install home-assistant-snap

Dès la fin de l’installation, Home Assistant démarre sous la forme d’un service. On accède à l’interface HTML est accessible depuis un navigateur à l’adresse IP_UBUNTU:8123

Un fois que vous avez créé votre compte utilisateur, allez dans Configuration -> Info pour récupérer le chemin vers le fichier configuration.yaml de Home Assistant.

Généralement, les fichiers de configuration et les scripts de Home Assistant sont stockés dans le dossier /var/snap/home-assistant-snap/101/

2 home-assistant-configurator

Le configurateur (ancien File Editor) permet de modifier tous les fichiers de configuration et les scripts sans quitter l’interface de Home Assistant

snap install home-assistant-configurator

Les deux snaps sont automatiquement connectés entre eux. Pour le vérifier, exécuter

snap connections

Si tous s’est bien déroulé, vous devriez trouver la ligne suivante dans la liste

content[configurations]   home-assistant-configurator:configurations  home-assistant-snap:configurations

Si ce n’est pas le cas, on connecte manuellement les snaps en exécutant la commande

snap connect home-assistant-configurator:configurations home-assistant-snap:configurations

Ouvrez le fichier configuration.yaml

nano /var/snap/home-assistant-snap/101/configuration.yaml

et ajouter les lignes suivantes en modifiant IP_HASSIO par l’adresse IP de votre machine virtuelle Ubuntu sur le NAS Synology. Remarques :

  • Indiquer le nom de domaine ou l’adresse IP uniquement. localhost ne fonctionne pas car Home Assistant intègre la page HTML du configurateur sous la forme d’une iframe.
  • Si vous avez activé le support HTTPS sur Home Assistant, vous pouvez saisir https dans l’url, sinon la page du configurateur ne sera pas accessible
panel_iframe:
  configurator:
    title: Configurator
    icon: mdi:wrench
    url:  http://IP_HASSIO:3218 

Enregistrer la modification avec Ctrl + X (puis Y) puis redémarrer Home Assistant

sudo snap restart home-assistant-snap

Vous avez maintenant accès à tous les scripts et fichiers de YAML de HomeAssistant

3 HACS permet d’installer directement depuis l’interface de Home Assistant de nombreux thèmes et plugins complémentaires.

L’installation de HACS est ultra simplifié en utilisant le snap de Joachim.

Excécuter cette commande pour installer le snap HACS

sudo snap install home-assistant-hacs

A la fin de l’installation, re-démarrer le serveur

sudo snap restart home-assistant-snap

Attendez le re-démarrage de Home Assistant puis allez dans Configuration -> Intégration -> + Ajouter une intégration.

Chercher HACS dans le champ de recherche et cliquer sur la ligne

Cocher pour accepter toutes les conditions d’utilisation

Vous aurez besoin d’un compte GitHub (gratuit) pour accéder aux dépôts HACS.

Terminez en cliquant sur soumettre. Si tout est correct, vous devez obtenir un message de succès. Vous pouvez associer HACS à une pièce mais ce n’est pas obligatoire. Cliquer enfin sur Terminer

0cjdorcpmdllectrjvow-6886154

Vous pouvez maintenant ajouter de nouveaux plugins et thèmes.

Lisez cet article pour en savoir plus sur HACS

Mettre à jour Home Assistant

Pour le moment, il n’y a aucun snap permettant d’ajouter le Superviseur ce qui permettrait de mettre à jour Home Assistant depuis l’interface HTML.

La seule chose qu’il est possible de faire est d’installer la version candidate comme ceci.

Arrêter le service

sudo snap stop home-assistant-snap

Rafraîchir (mettre à jour) en ajoutant l’option –candidate

sudo snap refresh home-assistant-snap --candidate

Puis on relance le serveur

sudo snap start home-assistant-snap

Quelques commandes utiles pour gérer vos snaps

Voici quelques commandes utiles

Lister les snaps installés

Arrêter un snap

sudo snap stop nom_du_snap

Toutes les autres commande

  • Fonctions de base : find, info, install, remove, list
  • Avancés : refresh, revert, switch, disable, enable, create-cohort
  • Historiques : changes, tasks, abort, watch
  • Services : services, start, stop, restart, logs
  • Permissions : connections, interface, connect, disconnect
  • Configuration: get, set, unset, wait
  • Aliases : alias, aliases, unalias, prefer
  • Compte utilisateur : login, logout, whoami
  • Snapshots : saved, save, check-snapshot, restore, forget
  • Device : model, reboot, recovery
  • Autres : warnings, okay, known, ack, version
  • Développement : download, pack, run, try

Mises à jour

14/12/2020Publication du tutoriel