Journal Home Assistant, la domotique réunie

Posté par  . Licence CC By‑SA.
23
16
août
2016

Bonjoir nal.

Un petit billet pour te parler d'un logiciel bien sympa sur lequel je
suis tombé hier: Home Assistant.

Home Assistant est une plateforme de contrôle d'équipements de
domotique. Écrit en Python 3, sous licence MIT, il s'agit d'une web app
que permet de regrouper capteurs, interrupteurs, media-players, etc, en
une seul interface.

Home Assistant peut communiquer avec un grand nombre d'équipements
"inintelligents" grand public, mais aussi avec le port GPIO du Raspberry
Pi, des Arduinos ou encore de déclencher des commandes sur un Bash. Ce
qui laisse pas mal le marge à la bidouille. Le logiciel permet de gérer
la présence ou l'absence d’occupants et de déclencher des événements à
des moments voulus. Il permet également de configurer des scènes: un
ensemble de pré-réglages rattachés à un seul bouton. Il est simple à
installer et à utiliser, un peut moins à configurer. Mais ils n'en sont
qu'à la version 0.26.2 à l'écriture de ce billet. Il est fort probable
que la configuration s'améliore.

Si tu veux un aperçu de sa compatibilité, je t'invite à voir sa page
dédié aux "équipements": https://home-assistant.io/components/

Si tu veux t'amuser avec, le lien vers son site officiel:
https://home-assistant.io/

Et le lien vers la démo: https://home-assistant.io/demo/

PS: Lors de l'installation avec pip3, une dépendance ne s'est pas
installée. Il s'agit de CherryPy. Donc pense à l'installer avant
d'installer Home Assistant.

  • # Home Assistant, la domotique réuSSie

    Posté par  . Évalué à 4.

    Je l'ai également découvert la semaine dernière et j'ai vite été conquis :
    * nombre de matériels / protocoles supportés important (et l'auto discovery de certanis matériels aussi)
    * bonne documentation
    * quand la doc ne suffit pas ou est erronnée, les exemples de configuration d'utilisateurs aident beaucoup (ex. : device_tracker)
    * très simple à mettre en oeuvre / configurer (par exemple pour donner un accès GUI aux devices connectées en MQTT)
    * joli :)
    - pas de prise en charge simple des caméras ip RTSP (je sais "beurk", mais ça devient difficile de trouver de simples caméras MJPG de nos jours)

    Bref, très bonne surprise également et vite adopté !

    • [^] # Re: Home Assistant, la domotique réuSSie

      Posté par  . Évalué à 2.

      Ça à l'air sympa.
      Un avis par rapport à Domoticz ?

      • [^] # Re: Home Assistant, la domotique réuSSie

        Posté par  (site web personnel) . Évalué à 3.

        Ça a l'air pas mal, en effet.

        Petite question de débutant, qui n'a absolument rien installé pour l'instant : comment cela se compare-t-il par rapport à Jeedom ? Ça me semble à première vue un peu plus joli ou plus simple.

      • [^] # Re: Home Assistant, la domotique réuSSie

        Posté par  . Évalué à 3.

        J'avais regardé Jeedom et Domoticz à l'époque mais j'étais finalement parti sur Pilight pour la gestion de mes prises / capteurs en 433 Mhz qui me paraissait plus simple à installer

        Ce qui m'a fait passer à HA (en dehors du fait que je me repose de moins en moins sur des devices en 433Mhz au profit du Wifi), c'est que les fonctions sont bien séparées :
        - je modélise l'interface, j'intègre les composants et je définis les scénarios dans HA
        - je gère le transport via Mosquitto
        - si besoin d'une interface 433Mhz, je laisse pilight s'en occuper (car il le fait très bien et s'interface via un plugin à HA)

        Après, il y a des critères plus subjectifs
        - HA est en python et un simple pip install suffit pour le mettre en place, et les extensions sont scriptables en python également et je préfère l'interface "HTML5" qui ne nécessite pas d'installer d'app sur son téléphone
        - Jeedom est en PHP, mais existe sous forme d'image Raspi ou docker
        - Domoticz en C si je ne dis pas de bêtise, super pour gérer le RF433Mhz, mais moins super pour la modularité

        Bref les égouts et les couleuvres … ceci dit, la démo est très parlante et ça s'installe en 15 min top chrono : ça ne vaut pas le coup de se priver d'essayer :)

        • [^] # Re: Home Assistant, la domotique réuSSie

          Posté par  . Évalué à 3.

          Je ne connaissais pas pilight https://www.pilight.org/, merci.

          J'ai la plupart de mes capteurs en 433Mhz avec un module RFXCOM.
          Je note donc qu'on peut le gérer avec le plugin idoine.

          L'installation de HA est effectivement on ne peut plus simple par rapport à Domoticz.
          Domoticz possède également une version "responsive" voire un thème pour les accès type smartphone et depuis quelque temps une appli officielle android https://www.domoticz.com/wiki/Android#Domoticz_for_Android qui ne marche pas trop mal et qui évolue.

          Domoticz en C si je ne dis pas de bêtise, super pour gérer le RF433Mhz, mais moins super pour la modularité

          Ouais, faut recompiler les mise à jour mais c'est simple d'ajouter les sondes.
          Je ne comprends pas pas la remarque sur la modularité ? Tu parles d'ajouter la gestion de nouveaux périphériques toi-même ?

          La config de HA semble un peu plus main dans le cambouis, je m'y mettrais un weekend pour bien tester (j'ai essayé vite fait de faire gérer le rfxcom mais sans succès -> je regarderais avec le plugin pilight que tu suggères)

        • [^] # Re: Home Assistant, la domotique réuSSie

          Posté par  . Évalué à 3.

          Je suis en train de préparer ma domotique basé sur ESP8266. J'avais prévu d'utilisé XPL comme protocole de communication mais HA n'a pas de composant pour l'instant et j'étais aussi parti sur domogik mais au final je trouve qu'il ne répondra pas à mes besoin. HA est donc un bon candidat pour le remplacer.

          Donc si je garde XPL, il me faudra un composant pour. Il y a de la doc pour créer un composant. Il est possible qu'il existe quelque part aussi. Je peux aussi utiliser d'autre protocole comme MQTT/mosquito qui a un composant dans HA et qui a aussi des librairies pour arduino. Quels sont les avantages de MQTT ? Un interupteur/capteur peut-il commander directement une lumière/actionneur ?

          • [^] # Re: Home Assistant, la domotique réuSSie

            Posté par  . Évalué à 1.

            L'avantage du MQTT, c'est la simplicité de la mise en place d'un mécanisme publish / subscribe et l'ESP8266 dispose de tonnes de librairies pour l'interfacer en MQTT (oui : ça gère très bien les mécanismes dont tu parles, enfin, ça transmet le message du producteur au consommateur, charge à ce dernier d'effectuer l'action demandée :))

            Je ne vois pas bien l'intérêt aujourd'hui de développer un nouvel écosystème sur une base xPL perso (notamment compte tenu de la popularité / diffusion de MQTT depuis le passage en open source de NodeRed ) …

            Si c'est pour faire une prise commandée et que tu préfères LUA, j'ai fait un petit script qui gère ça (initialement fait pour mes prises Sonoff qui marchent sans soucis depuis plusieurs mois)

            • [^] # Re: Home Assistant, la domotique réuSSie - ESP Easy

              Posté par  (site web personnel) . Évalué à 1. Dernière modification le 18 août 2016 à 00:31.

              Pour info le MQTT prends beaucoup d'ampleur en ce moment. C'est ce que j'ai choisi personnellement (simple, puissant, sécurisable, librairies portées un peu partout). Sinon ça fait 6 mois que j'ai testé HA avec assez de satisfaction pour me dire que je vais partir là dessus… quand j'aurais du temps :-) Et ma prise sonoff il faut que je m'en occupe aussi… Un petit tuyau en passant : http://www.esp8266.nu/index.php/ESPEasy --> du bonheur mais pas assez documenté, voir le forum. Mais c'est plutôt bien fait, et en tout cas très fonctionnel ! Mes résultats de tests préliminaires ici : https://fil.crepp.org/groups/profile/197/esp-easy. Et pour ceux qui ne connaissent pas (encore), un bon fournisseur de DIY : http://www.banggood.com (utiliser la recherche sur google, leur moteur est très mauvais). Bonne domotique à vous :-)

              • [^] # Re: Home Assistant, la domotique réuSSie - ESP Easy

                Posté par  . Évalué à 2. Dernière modification le 18 août 2016 à 08:58.

                Personnellement, ça me fait toujours un peu sourire de voir des gens utiliser 4000 lignes de code logiciel côté serveur, et un paquet de code côté client, juste pour faire communiquer leur cinq ou six dispositifs domotiques.
                J'ai écrit mon propre système from scratch, qui combine un serveur UDP et une "webapp" en Flask, et les clients (ESP8266 + un Raspberry Pi avec un nRF24L01+ pour s'interfacer avec des arduino) envoient des paquets UDP ou des requêtes HTTP selon le besoin. C'est plus léger que MQTT, ça m'évite de me prendre la tête à comprendre des concepts compliqués totalement inutiles, et ça fait exactement ce que je veux. J'ai une quinzaine de montages divers qui communiquent de cette facon, et ça fonctionne très bien.

                Évidemment, chacun fait comme il veut, mais n'oubliez pas que le DIY, c'est valable pour le logiciel aussi !
                Pour justifier une plateforme logicielle complexe, il faut avoir un usage complexe, ce qui n'est quasiment jamais le cas en domotique, même avec un capteur et un actionneur par pièce.

                (Par ailleurs je n'aime pas trop ESPEasy, qui est un peu heavyweight à mon goût.)

                • [^] # Re: Home Assistant, la domotique réuSSie - ESP Easy

                  Posté par  . Évalué à 1.

                  Je ne vois pas très bien la complexité que tu vois à MQTT : mosquitto, c'est 350k côté serveur, inclus dans la plupart des distribs et le concept de publish / subscribe est assez simple

                  Je suis justement passé de requêtes HTTP à MQTT car ça me simplifiait de beaucoup la mise en place des composants(i.e. gestion du "retain" pour mémoriser le dernier statut au niveau du serveur, donc un nouveau composant qui se connecte - ex. téléphone- récupère facilement le statut des devices)

                  • [^] # Re: Home Assistant, la domotique réuSSie - ESP Easy

                    Posté par  . Évalué à 3. Dernière modification le 18 août 2016 à 11:19.

                    La complexité que je vois à MQTT, c'est que c'est quelque chose de plus à apprendre à utiliser, alors que les problèmes que ça règle sont souvent soit carrément imaginaires, soit facilement réglés autrement. Et qu'au final tous ces logiciels tout faits ont des limitations sérieuses, différentes pour chacun en fonction de ses besoins précis, qui vont poser problème.

                    On voit régulièrement des gens qui font leur premier ou deuxième montage domotique, et qui attaquent le sujet par la question "qu'est-ce que je peux installer comme logiciel serveur pour gérer cela". Au final, je trouve amusant d'avoir plus de code côté serveur, écrit par d'autres et donc pas forcément bien maîtrisé, que de code dans les "devices" - et surtout ça détourne les gens du coeur du sujet, qui est de créer et installer les "devices", pas de se poser des questions de logiciel serveur.

                    Je ne doute pas que ça peut rendre service, mais attention à ne pas régler le mauvais problème : il n'est pas nécessaire de se préoccuper de ce genre de logiciel pour faire de la domotique. Comme amélioration, une fois que les dispositifs sont en place, pourquoi pas, mais attaquer avec cela dès le début ne me semble pas vraiment justifié. De mon point de vue c'est un peu comme choisir la peinture avant d'avoir creusé les fondations.

                    (EDIT: Mosquitto, c'est environ 15kLoC dans les répertoires src/ et lib/. Je crois que ça prouve bien mon argument… j'avais cité 4k au pif, mais en fait c'est bien pire.)

                    • [^] # Re: Home Assistant, la domotique réuSSie - ESP Easy

                      Posté par  . Évalué à 3.

                      Au final, je trouve amusant d'avoir plus de code côté serveur, écrit par d'autres et donc pas forcément bien maîtrisé

                      Ouais mais bon, même si je sais "coder", je dois avoué humblement que je suis loin de savoir faire ce que tu décris avoir développé dans ton pst précédent pour interagir avec les différences appareils et capteurs qui sont présents dans toute installation domotique et je ne pense pas être le seul.

                      Partir d'un logiciel maintenu (et effectivement sûrement plus épais qu"un truc codé précisément pour mes besoins) par des gens qui savent le faire et bricoler 2-3 scripts pour finalisé des scénarios ou interactions "maison", ça me suffit et je n'ai pas forcement envie d'en faire plus.

    • [^] # Re: Home Assistant, la domotique réuSSie

      Posté par  (site web personnel) . Évalué à 1.

      très simple à mettre en oeuvre / configurer (par exemple pour donner un accès GUI aux devices connectées en MQTT)

      Autant je suis d'accord pour la mise en oeuvre, qui peut, grâce au travail de la communauté, être d'une grande facilité, autant pour la configuration, c'est légèrement prise de tête.

      Je ne parlerai pas du format du fichier de configuration pour lequel :
      - il ne faut pas utiliser de tabulation
      - il ne faut jamais utiliser les même termes (meme si ce sont des paramètres)
      - …

      Je m'arrête là, car c'est bien assez chiant à débugger quelque chose qui devrait être simple. Je sais qu'il existe plein de tutoriels qui répètent la meme chose, mais c'est lourd.

      Moi, j'ai plus un problème sur la forme de l'interface web de HA.
      Je n'ai malheureusement pas vu d'exemple qui permette de comprendre comment sortir du format standard (page d'Etats, Carte, Log, History).
      Plus spécifiquement pour la page d'Etats, c'est fonctionnel, mais pas vraiment joli: on récupère ce que le développeur du module a créé et puis c'est tout.

      D'après leur blog, il ont/vont faire des efforts sur la personnalisation de l'interface utilisateur. Des exemples concrets seraient les bienvenus.

      De mon coté, j'aurai aimé avoir quelque chose de type dashbord facilement configurable….

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.