Les Carnets de Byfeel domotique , Objets connectés , DIY , Programmation, Nouvelles Technologies ….

Un Serveur domotique Home Assistant ( HASS.IO ) sous Synology – Partie 1

Cela fait un petit nomment , que je m’intéresse à la solution Home Assistant , je la testai sur mon réseau HUE et quelques autres capteurs , mais j’hésitais à transférer mon serveur Jeedom .

Je suis équipé de la solution HUE ( éclairage et capteur ) , de Sonos pour le multimedia , d’environ 80 capteurs et actionneurs Zwave ( fibaro , aeon , aeotec , nodon , qubino , etc … ) , j’utilise aussi le protocole RFX433 ( avec un RFXcom pour piloter mes volets Somfy ) et récupérer des infos de diverses sondes de température. j’utilise aussi des capteurs bluetooth ainsi que des appareils connectés en WI-FI.

Mais suite à des soucis de carte emmc défaillante , et de plus en plus de lenteur avec jeedom , je me suis posé la question de passer sur un NUC , comme la plupart des utilisateurs de domotique , mais pas vraiment envie d’investir encore de l’argent dans une nouvelle machine.Je me suis donc tourné vers mes ressources internes.

Je dispose de deux NAS synology ( dont un DS916+), pour différentes fonctions, comme serveur de photo, serveur de média et bien sûr mes sauvegardes . Et comme ils ne sont pas encore surexploités , je me suis mis en quête d’utiliser les ressources de mon NAS pour mon serveur domotique.

Au commencement …

Cela fait un petit nomment que je cherche, une solution viable dans le temps pour mon serveur domotique . J’ai commencé la domotique, en 2013, avec domoticz sur un raspberry, puis je suis passé sous jeedom qui m’offrait plus de fonctionnalité .Par la suite , mon raspberry a vite montré des problèmes de lenteur et de nombreuses cartes SD défaillantes .
Je suis passé sur un Odroid C2 avec une carte emmc, qui m’a permis de bien fonctionner sur ces quatre dernières années. Je lorgne du coté des NUC, pour améliorer la réactivité de ma domotique et gagner en confort, mais j’ai déjà beaucoup de ‘serveur » qui tourne à la maison, je cherche à centraliser et optimiser mes ressources . Je cherche une solution qui soit viable en production sur un NAS synology et plus particulièrement sous docker.

Ces derniers jours, mon serveur jeedom tombait régulièrement en panne … Le serveur Zwave tournait sans fin , il redémarrait une fois sur deux, les scénarios mettaient une dizaine de secondes à répondre … bref il fallait que je trouve une solution.

Sur mon NAS j’ai la possibilité d’utiliser soit Virtual Machine , soit la solution Docker. J’ai testé d’installer Jeedom sous virtual Machine, cela marche bien, mais ma nouvelle installation est toujours aussi lente, pas de bénéfice par rapport à mon odroid C2. De plus la VM, me prend beaucoup de ressources sur le NAS.
Installer jeedom sous docker, est réalisable, mais complexe à faire fonctionner et surtout à mettre à jour ( pas prévu pour ça), la remontée des clés USB Zwave et Rfxcom ne fonctionnait pas toujours très bien.

Lors de mes tests de home assistant , la réactivité est plus véloce , et la solution semble très bien adapté à DOCKER.

Pourquoi Home Assistant ?

  • C’est une solution Open Source
  • Possibilité de l’installer sur de nombreux environnements dont docker
  • Sauvegarde très simple.
  • Très grande communauté active.
  • Rapide et conviviale.
  • Mises à jours fréquentes
  • Compatible avec synology
  • Compatible avec les assistants vocaux
  • Compatibilité homekit très simple / possibilité de simuler plusieurs « concentrateurs »
  • De très nombreux plugins gratuit et mis à jour régulièrement

La force de home assistant est de pouvoir proposer gratuitement des plugins permettant de contrôler la quasi totalité ou presque de ce que l’on peut trouver dans le commerces comme objet connecté. La possibilité , d’afficher des informations dynamique en fonction d’état . La souplesse des scripts.

Il y a plein d’articles sur la solution , sur internet , je vous invites à lire tous ces articles avant de vous lancer.

Home assistant , existe aussi sous la forme HASS.IO , qui est un système complet qui peut être installé directement sur un raspberry ( il tourne sous Alpine linux ). La solution HASS.IO , est conseillé pour tous les utilisateurs , home assistant seul est plutôt destiné à un public plus averti.

Installation de Hass.IO sur SYNOLOGY .

Il y a plusieurs façons d’installer home assistant , mais le but de cet article et de partager avec vous mon expérience d’installation sur la solution DOCKER sur un NAS SYNOLOGY.

Sur la page de la documentation officielle , l’installation de home assistant sous docker est très bien expliquée, fonctionne parfaitement ( je me suis servis de cette installation au début pour tester la solution ) , mais pour accéder à la plupart des outils de la communauté où aux différents plugins , il est conseillé d’utiliser la solution HASS.IO .

HASS.IO est un système à part entière basé sur alpine linux , qui intègre la solution docker afin d’y installer la solution home assistant. Cette solution installe un module supervisor, qui est en charge de surveiller les containeurs et d’installer des plugins supplémentaires sous la forme de nouveaux containeurs, apporte aussi de nombreux outils comme la sauvegarde et un éditeur de config en ligne. Le tout de façon complètement automatisé, avec un minimum de configuration de la part de l utilisateur. Cela évite de passer trop de temps à tout réinventer.

HASS.IO est conseillé pour une installation en natif sur plusieurs type de serveur comme Rspberry PI ou encore intel NUC ( voir la liste sur le site de home ASSISTANT ) . L’installation est très simple à réaliser.

Mais revenons à mon but : installer home assistant et surtout HASS.IO sur mon synology équipé de Docker.

Encore une fois sous synology le travail a été préparé, il existe un paquet tout prêt.

Installation

  1. En premier lieu , installé le paquet docker , si ce n’est pas encore fait !! .
  2. Installation du paquet HASS.IO . Ajouter dans le gestionnaire de paquet la source des paquets de la communauté synology

2)

Paramètres / Sources de Paquet et coller l’emplacement suivant : http://packages.synocommunity.com/ , une fois configuré , je vais avoir accès à la liste des paquets de la communauté.

Deux paquets dédiés a home assistant sont possible , soit le paquet HASS.IO soit le paquet Home Assistant. Je m’intéresse au paquet HASS.IO de fredrike et je clic sur install. ( toute la procédure dans le fil de discussion communautaire de home assistant.

Le paquet , lance un script pour configurer Home assistant sous docker et télécharger les images de Hass.io , il va demander un espace de stockage sur votre serveur NAS , qui servira aux fichiers de configuration de home assistant.

Je choisi un nom de dossier et l’emplacement disque , pour les fichiers de configuration home assistant.

Une fois le script fini , je verifie dans mon docker que mes conteneurs hass.io sont bien activés.

Le script a lançé tous les conteneurs de la solutions hass.io , le module supervisor ( qui est le chef d’orchestre de HASS.IO ) , les conteneurs dns et multicast servent à gérer le reseau entre les differents conteneurs , le conteneur audio , gére la partie audio de home assistant et enfin le conteneur home assistant . Il ne me reste plus qu’a me connecter a l’adresse suivante : http://ipNAS:8123

Le premier démarrage , m’invite à patienter environ 20 minutes .En effet lors de l’installation , le script télécharge la dernière image à jour de Home assistant.

Après plusieurs minutes , un bon café , une petite pause …. La page d’accueille s’affiche , m’invitant à créer mon premier compte.

Puis , il est possible d’indiquer la localisation de sa maison , afin de bénéficier automatiquement des services météo et localisation.

Les premières intégrations

Home Assistant , me propose d’intégrer automatiquement , tous les appareils trouvé sur mon réseau , comme mon pont HUE , mes SONOS , mon routeur etc …..

Une fois le pont HUE connecté à Home Assistant , il me propose de récupérer tous les périphériques attachés à ce pont. ( lumières , dimmer , tap , capteurs etc … )

Il a détecter, aussi , mes sonos et mes synology.

Tout de suite , je peux constater la facilité d’intégrer ce type de module. Je verrais par la suite pour les autres équipement.

Pour intégrer mes modules RFXcom et Zwave ( via la clé usb GEN 5 ) , home assistant ne semble pas les reconnaitre ? La solution , au chapitre suivant.

Le supervisor de HASS.IO

Comme expliqué en début , l’intérêt d’installer HASS.IO et d’avoir accès au module SUPERVISOR et à tous ses plugins.

Il suffit pour cela de cliquer sur supervisor ( juste au dessus de configuration ) pour afficher la page des plugins installés / plugin disponible / Snapshot / info système

Le premier plugin à installer et File editor , qui permet d’éditer les fichiers de configuration de HA , directement depuis l’interface WEB. Ce plugin , sert à éditer les fichiers , mais permet aussi de vérifier la syntax , ainsi qu’un accès à toutes les entités et appareils de Home office ( vous comprendrez plus tard ).Il devient vite indispensable.

Si vous avez installé , HASS.IO sur un autre système que le NAS synology , le plugin samba share , vous permettra d’accéder à vos fichiers de configuration. Ici , sur une installation NAS + Docker , je me sers du partage fourni par synology. C’est le dossier qui a été demandé lors de l’installation du paquet.

Si vous avez besoin d’un Broker MQTT , je vous conseille d’installer le broker fournis avec supervisor ( Mosquito ) qui permet une intégration sécurisé avec Home Assistant. La configuration par défaut fonctionne bien. Il faudra s’identifier sur le Broker , avec un compte Home Assistant.

Pour les autres plugins , je vous laisse voir selon vos besoins.

Attention , a ne pas installer de plugin qui pourrait entrer en conflit avec un Port réseau de votre serveur NAS ( Par exemple SSH , qui est par défaut sur 22 ) .

Mon synology , ne voit pas mes clés USB Zwave ou RFXCOM ?

Le script à été conçu pour remonter automatiquement les clés USB , dans Home assistant , mais voilà certaines ne sont pas reconnu . Cela vient du Synology , qui ne posséde pas tous les drivers. Il va falloir ajouter un package , qui s’occupe de ça : USB serialdriver de jadahl.

Pour cela , je récupère le package correspondant à mon NAS : Clic sur DSM 6.2 drivers / puis je sélectionne mon NAS.

Dans le gestionnaire de paquet synology , je sélectionne installation manuelle . Je redémarre mes images HASS.IO , pour prendre en compte les changements , via l’interface docker.

Je peux verifier , dans la page de configuration de home assistant .
Menu supervisor /System / Hardware

il ne me reste plus qu’a réintégrer mes capteurs zwave et RFXcom. Pour la partie zwave et rfxcom , et d’autres protocoles , je reviendrait au fur et à mesure de mon avancement dans la solution home assistant.

Si vous voulez franchir le cap , il ne vous reste plus qu’a essayer.Je vous invite à lire la documentation officielle , ainsi que les différents blogs sur home assistant , afin de vous faire votre propre avis.

En conclusion

Il n’est pas facile de passer d’un système domotique à un autre. Quel que soit le choix du système, cela prendra beaucoup de temps. Et je ne vous cache pas que si demain vous décidez de migrer , prévoyez du temps.

Cela fait maintenant une dizaine de jours que mon serveur Home Assistant à remplacé mon Jeedom , je n’ai pas encore eu le temps de tout réintégrer , ni de reconstruire tous les scénarios. Mais le plus gros est fait ,

  • Pilotage de mes volets Somfy par RFXCOM : OK
  • Lecture des sondes de température par RFXCOM : OK
  • HUE : Tout est ok , lumières , capteurs et interrupteur
  • Sonos : ok pris en charge complète ( avec TTS )
  • Tracker , localisation , gestion des personnes : OK
  • Scénario ouverture et fermeture auto : ok ( Pour les scenarii plus complexe , je n’ai pas encore eu le temps de me pencher sur le langage interne utilisé )
  • notification : ok
  • notifHeure : ok

Pour la partie Zwave , tous mes modules ont été reconnu : Fibaro , Qubino , Nodon , Aeon , Aeotec , strip sensative etc … , tous reconnu ( 84 au total ) , mais cela à demandé beaucoup de temps . Une fois ma clé USB , connecté à home assistant , celui ci à installé automatiquement les bibliothèques Zwaves adéquates , et environ 70 modules ont tout de suite été reconnu. Les plus récalcitrant sont ceux sur piles , mais pas toujours les mêmes .

  • 3 capteurs multifonctions FIbaro ( Oeil ) FGMS-001 : j’ai du les supprimer du réseau et les re inclure.
  • 2 capteurs d’ouvertures Fibaro ( FGK-101 ) : idem , supprimer et ré inclure.
  • Les deux switchs Nodon ( octan remote ) : idem
  • Un capteur d’ouverture : Aeotec ( door /windows 6 )
  • 3 vannes danfoss : idem , besoin de réinclure.

Pour chaque modification zwave , sous home assistant , il est conseillé de redémarrer le serveur home assistant , afin que les modifications soient bien pris en compte.

L’application mobile est un plaisir à utiliser , aucun ralentissement et accès à toutes les fonctionnalité. Ma femme à tout de suite pris en main la nouvelle application mobile et la trouve plus simple à utiliser au quotidien que l’ancienne.

Après ces quinze jours , avec home assistant , je ne vois pour l’instant que du positif. Et je n’ai découvert encore que très peu de fonctions. Ce qui me laisse entrevoir encore beaucoup de possibilité.

Il faut penser , à réaliser des snapshots réguliers , car il peut être très facile de faire une fausse manoeuvre sur un des fichiers de configuration. Pour se retrouver avec un systéme qui ne démarre plus. Mais heuresement la restauration est trés rapide.

6 mois plus tard …

Après 6 mois d’utilisation sous docker , mon systéme home assistant est toujours opérationnel et supporte très bien toutes les mises à jours.

Malgré le message d’avertissement du supervisor , indiquant que ce système n’est pas pris en charge, tout est ok

hass.io indique que le système n’est pas supporté

Astuces …

Modification 05/12/2020

Depuis la version 2020.11.2 du supervisor , une option à été activé pour interdire les mises à jours des addons sur un systéme “unhealthy” , en cause la version de docker sur synology qui est en 18.

Dans l’attente, que synology docker passe à la version 19 , il existe un moyen de forcer ce comportement.

Tout est expliqué dans ce fil de discussion

supervisor issue

La solution consiste à créé un fichier jobs.json à la racine du dossier hass.io et de renseigner la clé suivante : {“ignore_conditions”: [“healthy”]}
Puis il faut redémarrer le conteneur supervisor.

Virtual Machine Manager

Il est possible d’installer hass.io sous virtual manager du synology , je l’ai testé , tout fonctionne bien et pas de message d’erreur de version non supporté.

Les clés suivantes sont très bien reconnues : USB Zwave Gen5 , USB rfxcom , USB bluetooth , USB vers onduleur et USB vers Zigbee.

Mais il y a des contraintes :

  • Une limitation à 4 USB max
  • Un serveur Synology compatible avec Virtual Manager et au moins 4 go de Ram , pour un fonctionnement sans trop de ralentissement.

Plus de détails dans la seconde partie de l’article.

30 commentaires sur “Un Serveur domotique Home Assistant ( HASS.IO ) sous Synology – Partie 1”

Les commentaires sont fermés.