HA-ESP HOME

Je vous invite à découvrir ESPHOME, c’est un Add-on indispensable à la création de petit système basé sur de l’ESP8266 ou 32. Ses possibilités sont nombreuses et simples à mettre en œuvre au moins sur la partie logicielle car il s’intègre parfaitement dans HA.

Installation ESPHOME

C’est un Add-on de « Home Assistant Community Add-ons » donc rien de compliqué. Aucune configuration particulière.
Cocher « Afficher dans la barre latérale »

Une fois installé et en run

Création d’un ESP.

Depuis la barre latérale lancer ESPHome.
Dans la fenêtre ESPHome, cliquez sur + en bas à droite.

Un wizard d’assistance vous invite à:

  • Saisir le nom du module (j’y fait toujours apparaitre une référence à l’adresse IP, c’est plus facile à exploiter par la suite)
  • La connexion WiFi, vous pourrez la modifier et/ou en ajouter une deuxième par la suite.
  • Next vous envoi au wizard suivant:

Le type d’ESP est modifiable par la suite.

Voila vous avez créé votre ESP, reste à le configurer depuis la vue ESPHome:

Les trois points vous permettent de:

  • Validate: Vérifier la configuration
  • Install:  Ceci compile le firmware pour votre nœud et l’installe. L’installation se fait sans fil si vous avez activé le composant de mise à jour OTA dans votre configuration et initialisé l’ESP (voir chapitre: premier chargement). Vous pouvez également l’installer à partir de votre navigateur ou via un appareil connecté à la machine exécutant le tableau de bord ESPHome. Voir la description des trois options ci-après.
  • Clean Build Files: Effacer les fichiers précédemment compilés
  • Delete: Supprimer l’ESP.

Dans la fenêtre principale de l’ESP:

  • Open: Ouvre une fenetre WEB embarquée (voir explications au chapitre « Page WEB intégrée »
  • Edit: ouvre un fichier .yaml dans lequel vous y retrouvez les informations précédemment saisies dans le wizard de configuration.
  • Logs:  Avec cette commande, vous pouvez afficher tous les journaux que le nœud génère. Si un périphérique USB est connecté, il tentera d’utiliser la connexion série. Sinon, il utilisera les journaux OTA intégrés.

Vous trouverez ci-après le code type de mes ESP:


La partie « substitutions » vous évite d’avoir de saisir plusieurs fois la même information.

  • Le nom du device (éviter le caractère « _ » )
  • L’adresse IP fixe
  • le nom que vous retrouverez dans le « name » des entitées
  • La time zone

Bien évidemment vous pouvez l’adapter à vos besoins. Vous trouverez des explications dans la page d’aide.

substitutions:
  device_name: esp141-test-esp01
  adress_ip: "192.168.0.141"
  friendly_name: esp141
  time_timezone: "Europe/Paris"
  
esphome:
  name: ${device_name}
  platform: ESP8266
  board: esp01_1m

wifi:
  networks:
    - ssid: !secret wifi
      password: !secret mdpwifi

  reboot_timeout: 5min
  fast_connect: true

  manual_ip:
    static_ip: ${adress_ip}
    gateway: 192.168.0.1
    subnet: 255.255.255.0

logger:
api:
ota:
web_server:
  port: 80

time:
  - platform: homeassistant
    timezone:  ${time_timezone} 

#uart:
#  rx_pin: GPIO3 # RX=pin 21
#  tx_pin: GPIO1 # TX=pin 22
#  baud_rate: 9600

i2c:
  sda: GPIO00 #
  scl: GPIO02 #
  scan: true
  id: bus_a

#Etat de la connection
binary_sensor:
  - platform: status
    name: "${friendly_name} Status"

switch:    

  - platform: restart
    name: "${friendly_name} Restart"

sensor:
  - platform: htu21d
    temperature:
      name: "${device_name} Temperature"
    humidity:
      name: "${device_name} Humidité"
    update_interval: 60s
    
  - platform: wifi_signal
    name: "${friendly_name} WiFi Signal Sensor"
    update_interval: 60s

  - platform: uptime
    name: "${friendly_name} Uptime Sensor"
    update_interval: 60s

text_sensor:
  # IP address #
  - platform: wifi_info
    ip_address:
      name: "${friendly_name} IP address"
      icon: "mdi:network-outline"
    ssid:
      name: "${friendly_name} Connected SSID"
    bssid:
      name: "${friendly_name} Connected BSSID"
  - platform: version
    id: text_sensor_version
    name: "${friendly_name} ESPHome Version"

Le sensor htu21d est un exemple.

Les variables « secrets » sont à créer dans un fichier spécifique accessible depuis la page principale en haut à droite.

Premier téléchargement

La partie la plus difficile de la configuration d’un nouvel appareil ESPHome est l’installation initiale. L’installation nécessite que votre ESP soit connecté avec un câble à un ordinateur. Les mises à jour ultérieures peuvent être installées sans fil.

Nota: Attention au choix du cable USB: Certains ne servent qu’à charger l’appareil et donc n’ont que deux fils de raccordés (Alim+/-). Veillez à utiliser un câble « Data » avec les quatre fils (Alim+/- et data).

  • La première option concerne la mise à jour d’un ESP déja intialisé et connecté
  • La deuxieme consiste à initialiser l’ESP depuis un navigateur Edge ou Chrome
  • La troisieme consiste à initialiser un ESP depuis l’ordinateur supportant HA
  • La quatrième consiste à initialiser un ESP depuis n’importe quel PC via un UPLOADER.

Je vous décris, ci-après, vous trouverez les trois solutions de téléchargement de la configuration initiale:

Option 1 – Par un port USB du PC connecté à HA

Vous pouvez également connecté votre ESP sur l’ordinateur qui vous sert à vous connecter sur HA, cependant il y a deux regles à respecter:

  • Utiliser Microsoft Edge ou Google Chrome
  • Accéder à votre HA en HTTPS

Brancher votre ESP sur un port USB et sélectionner le dans la liste proposer par HA avant compilation et transfert.

Option 2 – par le Port USB de votre PC Home Assistant

Si vous en avez la possibilité, vous utilisez, dans cette solution, un port USB de l’ordinateur sur lequel est installé votre HA (un NUC dans mon cas).

Pour être sur d’utiliser le bon port USB, je regarde les ports utilisés avant de brancher l’ESP

Puis je regarde à nouveau une fois celui-ci branché, vous en déduirez facilement celui de l’ESP.

le nom du port dépend de la puce de l’USB:

Ici un ESP32
Ici un ESP8266

le systeme compile le programme et le téléverse dans l’ESP

Option 3 – Téléchargement manuel

Il permet d’initialiser l’ESP avec un fichier « .bin ».

La compilation, normalement terminée sans erreur, vous invite, en bas à droite, au téléchargement d’un fichier « .bin » .

Une fois le fichier « .bin » généré et téléchargé, il reste à le flasher dans l’ESP.

Flashage du fichier

Pour ce faire, j’utilise le logiciel gratuit «  esphome-flasher« . J’utilise la version Windows mais il existe aussi sur d’autres OS. C’est suite à un commentaire de « Dckiller » que j’ai découvert cet utilitaire, merci à lui.

Vous choisissez le « COM » sur lequel vous avez branché votre ESP, le firmware .bin, vous lancez par « Flash ESP ».

Une fois le Flashage terminé, la connexion est établie avec l’ESP, le log défile dans la console.

Quitter le log, débrancher l’ESP puis brancher son alimentation.

Après la première installation, vous n’aurez probablement plus jamais besoin d’utiliser le câble USB, car toutes les fonctionnalités d’ESPHome sont également activées à distance.

Connecter votre appareil à Home Assistant 

Une fois votre configuration installée sur l’ ESP et en ligne, elle sera automatiquement découverte par Home Assistant et proposée à la configuration sur votre écran d’intégrations :

Ouvrez votre instance Home Assistant et commencez à configurer une nouvelle intégration.

Le cas échéant vous pouvez ajouter l’ESP manuellement en cliquant sur « +Ajouter intégration » en bas à droite de l’écran, sélectionner ESP, saisir son adresse IP, laisser le port proposé par défaut et soumettez:

Une fois intégré, vous le retrouverez dans la page des intégrations.

Page WEB intégrée

Depuis la page des ESP, cliquer sur OPEN, vous accédez à une page web embarquée (si vous avez déclaré « web_server port:80 » dans votre fichier de configuration).

.

Modification en ligne.

Une fois l’ESP initialisé, vous pouvez modifier votre configuration et la télécharger en ligne .

Cliquer sur « Edit », puis après modification du fichier, sur « install »

Choisissez la première option (il faut que l’ESP soit en ligne),

Après compilation, le nouveau fichier est transféré dans l’ESP.

Si OK, le log va commencer à défiler, il faut attendre un peu que l’ESP redémarre.

Conclusion

ESPHome est très puissant et possède de nombreuses fonctionnalités qui traitées par l’ESP soulage HA. Il peut souvent amener une solution aux montages DIY qui sortent de l’ordinaire.

2 Comments on “HA-ESP HOME”

    1. Merci pour votre commentaire et l’info sur le flasher. Je viens de le tester et effectivement il est hyper simple, je modifierai l’article en conséquence.

Répondre à rem81 Annuler la réponse

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.