Le schéma est vraiment simple. On notera la connexion de GPIO16 sur reset pour permettre le réveil après le deepsleep.
Noter les résistances de pull-up sur EN et de pull-down sur GPIO15.
Voici le petit circuit imprimé (Vu coté composants) ; il supporte 2 connecteurs femelles au pas de 2mm car l'ESP est équipé de connecteurs mâles. Cela permet aussi de placer des résistances sous l'ESP.
5 pastilles permettent de connecter la batterie et le capteur DS18B20.
Reste à écrire le fichier YAML de l'appareil dans ESPHome builder.
La particularité est la présence dans Home Assistant d'un switch virtuel (Paramètres --> Appareils --> Entrées) nommé "maj_thermometre_demandee". Ce switch permet d'empêcher l'ESP de
se rendormir après son prochain réveil, ceci afin de pouvoir lui envoyer une mise à jour OTA.
esphome:
name: thermometre-piscine
friendly_name: Thermometre piscine
on_boot:
then:
- wait_until: api.connected
- delay: 3s
- if:
condition:
binary_sensor.is_on: MAJ
then:
- deep_sleep.prevent: deepsleep1
esp8266:
board: esp12e
logger:
esp8266_store_log_strings_in_flash: false
api:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
ap:
ssid: "Thermo-piscine Hotspot"
captive_portal:
ota:
- platform: esphome
deep_sleep:
id: deepsleep1
run_duration: 10s
sleep_duration: 60min
binary_sensor:
- platform: status
name: "Statut"
- platform: homeassistant
id: MAJ
name: MAJ
entity_id: input_boolean.maj_thermometre_demandee
one_wire:
- platform: gpio
pin: GPIO2
sensor:
- platform: dallas_temp
name: Temperature
update_interval: 5s
Et une petite photo de l'appreil et de son boitier.