Contents
Intro
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 »
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 à:
Perso je choisis la solution par cable USB, donc « CONTINUE »
Donner un nom à votre ESP, perso j’y intègre un rappel à son adresse IP (172 dans ce cas), puis « NEXT »
Choisir le type d’ESP, « ESP8226 » dans ce cas, puis « NEXT »
Voila vous avez créé votre ESP, reste à le configurer depuis la vue ESPHome:
Cliquer sur « INSTALL »: L’ESP est installé avec une configuration par défaut
Cliquer sur « SKIP »: Vous l’installez par la suite avec une configuration personnalisée, c’est cette option que j’uilise.
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.
Codage
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:
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 :
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.
Bonjour,
Bravo pour ton tuto. Vous avez un flasher esphome pour Windows très simple à utiliser juste le port com à sélectionner.
https://github.com/esphome/esphome-flasher/releases
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.
bien le bon jour
y at il une chance de faire fonctionné un module teleinfo et esp8266 avec un compteur linky triphasé
merci pour vos articles et visiblement vos passions
cordiale salutation
nico1340
Bonjour
Oui sans problème il y a des modules teleinfo adaptés à l’esp8266 d1, et pour le triphasé je te conseille de demander auprès de ton opérateur de passer en mode standard tu aura accès à beaucoup plus de données. Dans mes articles sur le sujet, je conseille un esp32 mini mais rien ne t’empêche d’essayer avec un d1 mini, le module téléinfo est compatible avec les deux esp. Avec l’esp d1 mini, dans un premier temps supprime la gestion de la led et de l’afficheur pour voir si il fonctionne, tu pourra les ajouter par la suite.
@+