HomeAssistant et ESP32
On aurait voulu utiliser le serveur YunoHost du FabLab, mais seule la version Core est disponible qui ne permet pas l'installation de l'add-on ESPHome. Une application en cours de création devrait permettre d'installer le dashboard ESPHome sur YunoHost.
Par ailleurs le serveur YunoHost du FabLab est configuré pour se connecter au réseau wifi du FabLab qui n'est accessible que depuis les salles du FabLab. EtantÉtant donné que les ESP32 que l'on veut piloter doivent être sur le même réseau wifi que la Raspberry ESPHome, il est plus flexible d'utiliser un routeur mobile pour pouvoir faire ça de n'importe où dans ou hors de l'IUT.
Installation de Home Assistant
Home Assistant peut être installé sur un Raspberry 3B+ moyennant de rajouter 1Go de SWAP
MAIS à l'usage l'installation des paquets, la compilation et l'upload des programmes sur les ESP ont tendance à échouer (ou timeout). Il faut donc lancer les opérations à plusieurs reprises pour qu'elles aboutissent, ce qui rend la solution peu utilisable
- installer Home Assistant OS sur un Raspberry 4 ou 5 de préférence
- Connecter le Raspberry et un PC au même
routeurrouteur, avec serveur DHCP activé - Se connecter depuis le navigateur du PC à l'interface Web : http://homeassistant.local:8123
- Déconnecter le PC de tout autre réseau pour éviter les conflits d'IP
- Attention, connexion en http sur le réseau local
- En dernier recours, chercher l'IP de la Raspberry sur l'interface du routeur et se connecter à, par ex. http://192.168.1.100:8123
- Configurer l'installation
- Ajout du premier utilisateur
- Géolocalisation
- etc.
Paramètres --> Modules Complémentaires (add-on) --> Installer ESPHome
Configuration d'un HotSpot Wifi
Home Assistant étant installé sur un Raspberry, on peut exploiter sa carte Wifi pour émettre un réseau wifi plutôt que de dépendre du routeur externe.
Attention, le réseau wifi émis par le Raspberry n'est pas très puissant, il faudra donc que les objets connectés soient dans la même pièce ou à proximité immédiate.
- Suivre ces instructions : Paramètres --> modules complémentaires --> Boutique des modules complémentaires
- ou cliquer simplement sur : http://homeassistant.local:8123/hassio/store
- puis --> trois points --> dépôts
- ou cliquer simplement sur : http://homeassistant.local:8123/hassio/store
- Ajouter https://github.com/mattlongman/hassio-addons-directory
- Attendre la mise-jour du store
- Installer le module
Hass.io Access Point
- Aller
Paramètres --> modules complémentaires --> Hass.io Access Point --> Configuration de ESPHome
Les ESP32 avec Home Assistant ne supportent pas le Wifi 5GHz
- Définir un SSID et mot-de-passe
- Laisser les autres paramètres par défaut
- Activer le serveur DHCP pour que votre PC et les ESP32 récupèrent une adresse IP automatiquement
- Autoriser l'accès internet pour que vous puissiez avoir internet via le Raspberry lorsque vous connectez votre PC au Hotspot
Configuration de ESPHome
- Paramètres --> Modules Complémentaires (add-on) --> Boutique des modules complémentaires --> Installer ESPHome
Les ESP32 avec Home Assistant ne supportent pas le Wifi 5GHz, rester sur du 2,4GHz
Ajout d'un ESP32 et d'un capteur DHT22
L'ESP32-E firebeetle 2 de DFRobot n'est pas officiellement supporté car son schéma n'a pas été ajouté à platformio.
Les I/O ne peuvent être désignés par leur nom A6A6.
De manière générale sur ESPHome, préférer les numérotations GPIO plutôt que les noms de pin type D1, A2, etc.
- Voir la discussion https://community.home-assistant.io/t/esphome-on-the-firebeetle-2-esp32-e/601747/15
- Trouver le numéro GPIO correspondant au port I/O utilisé, voir ce tableau
- Ex. : D6 --> GPIO14
- Trouver le code pour le capteur à ajouter, par exemple pour le DHT22 :
https://esphome.io/components/sensor/dht.html
#
Configuration DHT22
sensor:
- platform: dht
pin: GPIO14
temperature:
name: "Température FabLab"
humidity:
name: "Humidité FabLab"
update_interval: 60s
Débuggage
- Impossible de flasher un ESP32
Error: Could not find one of 'package.json' manifest files in the package
- Les dépendances ce sont mal installées/téléchargées
- Solution 1 : désinstaller et réinstaller ESPHome
- Solution 2 : supprimer le dossier
/home/esphome/.platformio/packages
- Les dépendances ce sont mal installées/téléchargées