Catégorie : Domotique

  • Installation de Hacs Ewelink et Zwave-js-ui

    Installation de Hacs Ewelink et Zwave-js-ui

    Dans cet article nous verrons comment effectuer l’installation de Hacs, Ewelink et Zwave-js-ui pour Home-Assistant.

    Hacs rajoutera la boutique communautaire permettant d’installer des intégrations développées par la communauté.

    Ewelink est une application parfois demandée pour contrôler certains modules Zigbee.

    Et Zwave-js-ui vous permettra de coupler votre dongle Zwave à Home-Assistant.

    HACS

    De l’acronyme, Home Assistant Community Store, est la boutique d’intégration de la communauté de HA.

    Celle-ci permet de télécharger des nouveaux éléments personnalisés et de les gérer de manière simplifier. C’est un peu comme le Playstore ou l’Apple Store.

    Vous y trouverez de nombreuses intégrations très utiles qui vous simplifierons l’automatisation de vos périphériques. Nous pouvons noter Versatile Thermostat, qui vous permettra de configurer vos radiateurs avec précision et aisance.

    Si vous avez suivi mes articles précédant, vous avez installé Home Assistant sous docker grâce à docker compose.

    Cette fois-ci nous ferons quelques commandes pour configurer Hacs.

    Entrer dans le container Home Assistant.

    sudo docker exec -it homeassistant bash

    Puis nous téléchargerons et exécuterons le plugin Hacs.

    wget -O https://get.hacs.xyz | bash

    Une fois ces commandes passées, vous pouvez redémarrer Home Assistant, puis vous y connecter, et allez dans le manu d’ajout des intégrations.

    Paramètre > Appareil et service > Ajouter une intégration.

    Vous devriez retrouver Hacs depuis la recherche.

    Cocher toutes les cases. Il faudra ensuite créer un compte sur GitHub.

    Puis cliquer sur le lien d’activation et coller le code indiqué.

    Il suffira pour finaliser d’autoriser Hacs.

    Vous pouvez désormais installer Versatile Thermostat et commencer à configurer vos radiateurs avec vos modules NodOn.

    Ewelink

    Ewelink smart home est une application qui permet de contrôler certains périphériques. Cela est très intéressant mais nos périphériques dépendent d’un cloud, et donc d’une connexion internet.

    Nativement, Home Assistant ne permet pas de rajouter son intégration. Nous allons donc créer un container Ewelink qui nous permettra de contrôler nos périphériques en local.

    Comme à notre habitude, nous allons créer un répertoire pour l’application.

    Et compte tenu, que nous voulons garder un serveur propre, nous allons créer un répertoire qui référencera toutes nos plugins Home Assistant.

    On se positionne donc dans notre répertoire HA, puis nous créerons un répertoire Add-on, puis dedans un répertoire ewelink.

    cd home-assistant
    mkdir add-on && cd add-on
    mkdir ewelink && cd ewelink

    Nous allons maintenant créer notre docker-compose.yml

    sudo nano docker-compose.yml

    On y indiquer le nom du service, l’image à utiliser, le nom du container, et le mode réseau host.

    services:
      ewelink_smart_home:
        image: ewelink_smart_home
        container_name: ewelink
        restart: unless-stopped
        network_mode: host

    Nous allons par la suite indiquer un fichier de variable d’environnement.

    Ce qui nous permettra d’y stocker les variables demandées par l’environnement de l’application, l’url de HA, le token pour la communication entre eux deux, et le répertoire de données.

        env_file:
          - .env
        environment:
          - HA_URL=${HA_URL}
          - SUPERVISOR_TOKEN=${TOKEN}
        volumes:
          - ${DATA}:/data

    Une fois ceci fait, nous fermons le docker-compose et nous créons le fichier .env.

    sudo nano .env

    Puis nous y déclarons nos variables.

    TOKEN=votre_token_généré_depuis HA
    HA_URL=http://IP_de_votre_instance_HA:port
    DATA=./data

    Pour générer le token, il faudra ouvrir Home Assistant, cliquer sur votre nom en bas dans le menu de gauche.

    Puis en haut à droite sur sécurité. En bas de cette nouvelle page, vous pourrez y générer un token de longue durée. Il faudra copier ce token dans la variable TOKEN de notre fichier .env.

    Pour la variable HA_URL, il ne faudra pas oublier de préciser le port de connexion. Par exemple HA_URL=http://127.0.0.1:8123

    Une fois tout ceci configuré vous pouvez lancer votre container avec la commande :

    sudo docker compose up -d

    Vous pourrez vous connecter sur l’URL de Ewelink sur le port 3000 : http://IP_du_serveur:3000

    Zwave

    Si vous êtes l’heureux possesseur d’une clef Zwave comme la Combee II, vous serez forcement intéresser pour installer Zwave-js-ui sur docker.

    Nous l’installerons par docker compose. Vous trouverez le GitHub à cet adresse : https://github.com/zwave-js/zwave-js-ui/blob/master/docker/docker-compose.yml

    Mais rassurerez-vous, nous allons expliquer comment le mettre en place.

    Pour commencer, nous allons nous déplacer dans le répertoire add-on de Home assistant que nous avons créé précédemment. Puis nous allons créer un répertoire Zwave.

    cd home-assistant/add-on
    mkdir zwave && cd zwave

    Puis on crée notre fichier docker compose

    sudo nano docker-compose.yml

    Dans ce fichier, on y indiquera le service, l’image, l’environnement et le réseau.

    services:
        zwave-js-ui:
            container_name: zwave-js-ui
            image: zwavejs/zwave-js-ui:latest
            restart: always
            tty: true
            stop_signal: SIGINT
            environment:
                - SESSION_SECRET=mysupersecretkey
                - ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db
                # Uncomment if you want log times and dates to match your timezone instead of UTC
                # Available at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
                - TZ=Europe/Paris
            networks:
                - zwave

    Pour la SESSION_SECRET, vous pouvez générer un code aléatoire de vous même ou en utilisant pwgen.

    Par la suite il faudra définir votre clef Zwave.

    Pour cela, dans votre terminal, il faudra entrer cette commande :

    ls /dev/serial/by-id/

    Ce qui donne dans mon cas :

    On construira ensuite les volumes et nous ouvrirons les ports du container.

            devices:
                # Do not use /dev/ttyUSBX serial devices, as those mappings can change over time.
                # Instead, use the /dev/serial/by-id/X serial device for your Z-Wave stick.
                - '/dev/serial/by-id/usb-0658_0200-if00:/dev/zwave'
            volumes:
                - zwave-config:/usr/src/app/store
            # Or by using local folder
            # - ./store:/usr/src/app/store
            ports:
                - '8091:8091' # port for web interface
                - '3001:3001' # port for Z-Wave JS websocket server
    networks:
        zwave:
    volumes:
        zwave-config:
            name: zwave-config

    N’hésitez pas à changer les ports, s’ils entrent en conflit avec d’autres appli.

    Il ne reste plus qu’à lancer notre container, puis d’ajouter l’intégration Z-wave dans Home Assistant.

    Il faudra indiquer pour le serveur websocket : ws://localhost:3001

    Conclusion

    Nous avons vu comment effectuer l’installation de Hacs, Ewelink et Zwave-js-ui pour Home Assistant sur Docker.

    Nous avons maintenant tous les outils nécessaires pour commencer la configuration de notre maison intelligente.

    Dans un prochain article, je vous montrerai comment mettre en place un thermostat avec le module NodON chauffage.

    Il commence à faire froid, et çà sera très utile pour améliorer notre confort sans pour autant nous ruiner.

  • Installation de Home Assistant sous Docker

    Installation de Home Assistant sous Docker

    Cet article traitera de l’installation de Home assistant sous docker.

    J’expliquerai pourquoi j’utilise Home Assistant comme box domotique puis nous aborderons son installation.

    Home Assistant, awaken your home

    Mais au juste, c’est quoi une box domotique ?

    Du latin domus (« maison »), et du suffixe -tique (ou -ique devant t), « qui est propre à », dans le domaine des sciences (Wikipedia)

    La domotique est l’intégration des techniques modernes d’aménagement dans la maison, de l’automatisation et des technologies électro-domestiques.

    Le but de la domotique est d’automatiser les tâches routinières pour un meilleur confort au quotidien. En premier lieu, elle permet d’assurer votre sécurité et votre confort mais également de véritables économies d’énergie, tout en baissant votre emprunte carbone, grâce à des algorithmes de plus en plus poussés.

    Un fonctionnement en local

    Home assistant est un logiciel open source qui donne la priorité au réseau local et à la vie privée.

    Cela veut dire que Home assistant fonctionne en local et ne dépend pas d’un cloud.

    Les effets se sont ressentir car les commandes sont instantanées. Elles ne souffrent du temps de latence de connexion à l’internet.

    Un fonctionnement Online

    Et oui, car de nos jours, si on ne peut pas agir à distance, quel est l’intérêt ?

    Vous pouvez donc accéder à votre box domotique de plusieurs façons.

    Certaines demanderont d’ouvrir des ports de votre routeur, d’intégrer un certificat SSL, de vous connecter en local via un VPN. Vous avez aussi la possibilité de souscrire à un abonnement chez Nabu-casa pour moins de 6€ par mois, pour bénéficier du cloud de Home Assistant.

    Une communauté massive et présente

    Si vous tapez sur Google Home assistant, vous verrez de nombreux sites parler d’home assistant. Il y a de nombreux tutoriels sur le sujet, des forums spécialisés. On voit que nous sommes dans l’open source et l’entraide est au centre de cette politique.

    De plus, grâce à HACS vous pourrez bénéficier des plugins développés par la communauté, simplifiant l’automatisation de nos appareils.

    3 méthodes d’installation différentes

    Vous pouvez installer Home Assistant de trois façon différente.

    En tant que système d’exploitation. Vous dédiez alors une machine pour cette tâche. Le grand avantage est que Home assistant se gérera tout seul. Il fera sa propre maintenance, et gérera la sécurité sur serveur.

    Cette méthode est à privilégier si vous êtes peu habitués à utiliser un système par ligne de commande.

    Installation de Home Assistant sous docker

    Si vous avez suivi l’article Installation de Raspberry PI OS et Docker, vous avez alors docker et docker compose d’installé.

    Nous commencerons par créer un répertoire Home-assistant et nous y déplacerons dedans :

    mkdir home-assistant && cd home-assistant

    Puis nous créerons notre fichier docker-compose

    sudo nano docker-compose.yml

    Nous allons commencer notre fichier en déclarant le nom du service, le nom du container, puis l’image à utiliser

    services:
        homeassistant:
             container_name: homeassistant
             image: "ghcr.io/home-assistant/home-assistant:stable"

    Si vous avez une clé zigbee il faudra l’indiquer dans le docker compose.

    Vous pouvez faire cette commande pour identifier le port usb utilisé :

    ls -l /dev/serial/by-id

    Puis nous indiquerons les volumes qu’utilisera Home Assistant

        devices:
          - /dev/ttyUSB0:/dev/ttyUSB0
        volumes:
          - ./config:/config
          - /etc/localtime:/etc/localtime:ro
          - /run/dbus:/run/dbus:ro

    Pour finir nous déclarerons le mode privilégié, puis l’utilisation du réseau hôte.

        restart: unless-stopped
        privileged: true
        network_mode: host 

    Nous pouvons fermer notre docker-compose et lancer la création du container.

    sudo docker compose up -d

    Vous pouvez vous connecter à l’interface de Home-Assistant avec :

    http://IP-hôte:8123

    Une fois l’installation terminée, vous serez invité à créer votre compte.

    Conclusion

    Nous avons appris à faire l’installation de home assistant sous docker.

    Nous avons vu les points positifs d’utiliser ce logiciel comme box domotique.

    Nous avons écrit le docker compose de celui-ci et nous nous sommes connectés à l’interface de Home Assistant.

    Lors d’un prochain billet, je vous montrerai comment installer HACS, ewelink smart home, et z-wave-js-ui.