Il y a 45 articles disponibles !

ESPHome sur Docker et Home Assistant

Dernière mise à jour le 24 mars 2024

ESPHome sue Docker et Home Assistant

ESPHome sur Docker et home assistant, donner vie à vos projets DIY !

ESPHome c’est quoi ?

https://esphome.io/index.html

Tout d’abord, bonjour et bienvenue sur mon blog Technologie Geek ! Aujourd’hui, voyons ensemble comment installer ESPHome sur Docker et Home Assistant. ESPHome est un framework open source qui vous facilite la création de logiciels pour les microcontrôleurs ESP8266 et ESP32. Ensuite, Il vous permet de programmer ces microcontrôleurs en utilisant la syntaxe YAML, vous évitant ainsi du codage plus complexe. Enfin, vous pouvez facilement contrôler tous types de capteurs tel que des sondes de températures, d’humidité, mais aussi des relais, des interrupteurs…

ESPHome est idéal pour les projets domotiques DIY (Faites le vous même). Que vous soyez un débutant ou bien un développeur expérimenté, il vous offre une solution flexible pour créer des objets connectés sur mesure. ESPHome est pris en charge par une communauté active, ce qui signifie que vous bénéficiez de mises à jour fréquentes, ainsi que de nouvelles fonctionnalités et d’une documentation complète. En installant ESPHome sur Docker vos modules sont automatiquement découverts par Home Assistant.


Les Prérequis :

  • Premièrement, vous devez disposer d’une installation de Home Assistant.
  • Ensuite, et comme d’habitude j’utilise Portainer.
  • Le logiciel ESP Flasher.
  • Pour finir, vous devez avoir un ESP32 ou un ESP8266.

Installation et test de ESPHome sur Docker et Home Assistant !

1. ESPHome sur Docker :

Pour commencer, rendez vous sur Portainer et sélectionner votre environnement local. Ensuite, aller dans « Stacks » puis cliquer sur « Add stack » en haut à droite.

Maintenant dans « Nane » taper le nom de votre stack, pour ma part se sera « esphome » puis coller le code ci-dessous en ajustant le volume, l’identifiant ainsi que le mot de passe et cliquer sur « deploy the stack » :

version: '3.8'
services:
  esphome:
    container_name: esphome
    image: ghcr.io/esphome/esphome
    volumes:
      - /opt/docker/esphome/config:/config
      - /etc/localtime:/etc/localtime:ro
    restart: always
    privileged: true
    network_mode: host
    environment:
      - USERNAME=test
      - PASSWORD=ChangeMe
      - ESPHOME_DASHBOARD_USE_PING=true
    ports:
      - 6052:6052

Explication du code :
  • Premièrement, version: ‘3.8’ est la version du moteur Docker. Connectez vous en ssh et taper « docker -v ». Ensuite, pour plus d’info aller à la page Docker versioning.
  • services: Démarre un nouveau service.
  • esphome: Est le nom du service.
  • Ensuite, container_name: esphome, est le nom du conteneur.
  • image: ghcr.io/esphome/esphome, est le lien vers l’image utilisée. Rendez-vous sur Docker Hub.
  • volumes: sont vos volumes pour la persistance des données.
  • restart: always, le conteneur doit redémarré dans tout les cas.
  • privileged: true, votre conteneur à les droits « root » sur les périphériques de votre système hôte.
  • network_mode: host, la pile réseau de ce conteneur n’est pas isolée de l’hôte Docker.
  • environment: Nous déclarons les variables d’environnement.
  • Enfin, ports: le port de votre conteneur qui est exposé.
Stack ESPHome
2. ESPHome dans Home Assistant :

Premièrement, ajoutons maintenant un raccourci ESPHome dans Home Assistant. Pour cela vous devez modifier le fichier « configuration.yaml ». Connectez vous en SSH sur votre serveur, puis aller dans le dossier config de votre conteneur Home Assistant pour ma part « opt/docker/ha/config ». Enfin, éditer votre fichier avec « nano ».

Configuration.yaml
sudo nano configuration.yaml

Pour finir l’intégration de ESPHome dans Home Assistant sur Docker, copier le code suivant puis coller le dans votre fichier « configuration.yaml ». Bien sûr, dans « url » il vous faut mettre l’adresse IP de votre serveur puis redémarrer votre Home Assistant.

panel_iframe:
  esphome:
    title: ESPHome
    icon: mdi:car-esp
    url: http://xxx.xxx.x.xxx:6052/

3. Création d’un appareil avec ESPHome :

Pour commencer, cliquer sur ESPHome dans le menu latéral de Home Assistant, puis identifiez vous avec le nom d’utilisateur et le mot de passe que vous avez mis dans votre Docker compose. Ensuite, cliquer sur « NEW DEVICE », puis sur « CONTINUE ». Enfin, sur les écrans suivant donner un nom à votre module, renseigner vos informations de connexion pour le WiFi et sélectionner le type d’ESP.

Ça y est votre premier appareil est créé ! ESPHome vous affiche votre clé de chiffrement pour ce module, vous la trouverez également dans le fichier de configuration. Maintenant appuyer sur « SKIP », puis sur « EDIT ». Nous allons ajouter un « switch » ainsi qu’une adresse IP fixe dans notre fichier YAML. Sans cette IP fixe vous n’aurez pas le retour d’information dans ESPHome. Pour ma part j’ai connecté une LED sur la PIN 5 de mon ESP32, vous devez ajuster les paramètres « switch et WiFi » selon votre matériel !

manual_ip:
    static_ip: 192.168.1.113
    gateway: 192.168.1.1
    subnet: 255.255.255.0
    dns1: 192.168.1.1

switch:
  - platform: gpio
    name: "ESP"
    pin: 5

ESPHome sur Docker et Home Assistant
4. ESPHome sur Docker, flasher votre module :

Pour flasher la première fois votre appareil, vous devez télécharger le firmware et connecter votre ESP sur votre ordinateur. Par la suite vous pourrez le faire par le WiFi. Cliquer sur les trois points puis sur « Install » et enfin « Manuel download » et patienter un moment. Lorsque la compilation et terminer, télécharger le firmware « Legacy format ».

Démarrer maintenant ESP flasher. Une fois votre ESP connecté sur votre PC, sélectionner votre port COM ainsi que le firmware que vous venez de télécharger. Ensuite, appuyer et maintenez le bouton « boot » de votre module et cliquer sur « Flash ESP ». Lorsque l’opération est lancée vous pouvez relâcher le bouton « boot ». Pour rappel, l’appuis sur ce bouton met le GPIO0 la masse.

ESPHome sur Docker et home assistant, donner vie à vos projets DIY !
5. Connexion de votre module ESPHome dans Home Assistant sur Docker :

Rendez vous dans Home Assistant puis dans « Paramètres/Appareils et Services/Ajouter une intégration » et chercher ESPHome. Ensuite, dans la fenêtre, renseigner l’adresse IP de votre module et valider. Enfin sur l’écran suivant copier la clé de chiffrement générée dans votre fichier YAML.

Il ne vous reste plus qu’à sélectionner la pièce à laquelle votre appareil appartient !

Pièce de votre module


Laisser un commentaire

Technologie Geek

bonjour !

Inscrivez-vous pour recevoir nos nouveaux articles !

Nous ne spammons pas ! Consultez notre politique de confidentialité pour plus d’informations.

Bienvenue sur mon blog Technologie Geek ! Je m'appelle Stéphane, je suis chef d'entreprise et Je suis un passionné de technologie, découvrez mes articles et mes test sur l'informatique, la domotique ainsi que la virtualisation.

Je crois que chacun peut apprendre quelque chose de nouveau chaque jour. Partager ses connaissances peut enrichir la vie des autres. C’est pourquoi j’ai créé ce blog pour offrir à notre communauté une plateforme pour partager des idées, des opinions et des expériences.