[RTEX] #plugin-esphome ESP32-C3-ZERO-M DS18B20

Bonjour à tous, c’est akenad :slight_smile: ,

Aujourd’hui un petit retour d’expérience sur l’utilisation du plugin-esphome avec un ESP32-C3-ZERO-M et une sonde de température Dallas DS18B20 Etanche (1-wire bus).

J’ai suivi la documentation du plugin : https://vegeta0911.github.io/documentation/plugins/fr_FR/ESPhome/

Le plugin vient juste de passer en stable.

Le plugin ESPHome m’a permis d’installer (build et flashage) un ESPHome sur un ESP32-C3-ZERO-M tout juste déballé, de définir la configuration ESPHome (YAML) et de voir les commandes remontées dans Jeedom.

J’ai été amené à redémarrer le démon lors de plusieurs essais de YAML mais globalement ça fonctionne.

La sonde est connectée sur l’ESP32 sur ses broches :
-GND (noir)
-3V3 (rouge)
-GPIO0 (jaune) data 1-Wire
et une résistance de 4.7 kΩ entre jaune et rouge.

L’ESP32 est connecté en USB sur la Box Jeedom.

Sélection du Port série usb :

YAML :

# === Votre Configuration ≡
esphome:
  name: esp32c3-5-eh
  friendly_name: esp32c3-5-eh

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:
 encryption:
   key: !secret api_esp32c3-5-eh

# Allow Over-The-Air updates
ota:
 - platform: esphome

wifi:
 ssid: !secret wifi_ssid
 password: !secret wifi_password
 
one_wire:
 - platform: gpio
   pin: GPIO0
 
sensor:
 - platform: wifi_signal
   name: "Signal Wi-Fi de esp32c3-5-eh"
   update_interval: 60s

 - platform: dallas_temp
   name: TemperatureDS18B20
   update_interval: 120s
   
text_sensor:
 - platform: uptime
   name: "Uptime de esp32c3-5-eh"
   format:
     days: "d"
     hours: "h"
     minutes: "m"
     seconds: "s"
     separator: " "
     expand: true
    
web_server:
  port: 80
# === Votre Configuration FIN ≡

Quelques remarques :

-Le plugin ESPHome utilise ESPHome 2025.5.2 sachant que ESPHome 2026.2.2 est disponible.
-Le plugin ESPHome ne prend pas en charge dans YAML l’option « variant » dans la section esp32 alors j’ai utilisé l’option « board » qui était obligatoire (peut être lié à la remarque précédente).

-J’ai effectué plusieurs build et flashage uniquement en passant par le port usb de la box jeedom. Ce n’est qu’après que j’ai branché l’ESP32 sur une alim. Les commandes remontant alors dans Jeedom via le wifi.

Voila j’espère que ce retour d’expérience sera utile aux membres Jeedom.

akenad :slight_smile:

1 « J'aime »

Merci du retour ça fait plaisir de voir que ça fonctionne, pour information debian 11 avec python 3.9 le maximum qu’ont peut avoir est esphome 2025.5.2 les versions supérieurs et sur python 3.11 et il me semble qu’ils sont à la version 2026.2.2.

En effet,
-Debian 11 (Python 3.9), plugin ESPHome => dépendance ESPHome 2025.5.2.

-Debian 12 (Python 3.11), plugin ESPHome => dépendance ESPHome 2026.2.2.
et du coup
variant: esp32c3
à la place de
board: esp32-c3-devkitm-1
est valide.

akenad :slight_smile:

1 « J'aime »

J’utilise pas mal ESPHome, aussi bien sous HA (parce que c’est « natif ») que sous Jeedom (sans le plug-in).
Le plug-in est assez cher je trouve pour ce qu’il fait. Je ne nie pas le fait que son développement à du demander du travail mais de base ESPHome est gratuit, il s’installe très facilement sous Windows ou sans beaucoup de difficulté dans un container Docker sur la même machine que Jeedom.
Et ensuite le périphérique ESPHome peut très bien communiquer avec Jeedom en MQTT (c’est la solution que j’utilise)

J’utilise aussi avec HA, MQTT et ESPHome Web.
Ce sujet est un retour d’expérience sur un plugin Jeedom qui remonte les commandes en natif.

akenad :slight_smile:

Moi aussi j’ai testé ce plugin.
j’avais testé sur home assistant via une virtualbox…ça reste quand même pas aussi simple qu’ESPEasy !

Après quelques loupés hier soir malgré la doc et les infos d’akenad, ce matin…tout c’est bien passé avec l’ESP32 sur le raspberry pi 4 pour la programmation.
juste une sonde de température sur un ESP32dev.

par la suite, j’aimerais pouvoir tester ce type d’afficheur qui, il me semble est pris en charge par Esphome
https://fr.aliexpress.com/item/1005006302251538.html

Bonjour,

J’ai testé le plugin, et bien pas convaincu… impossible de faire apparaitre une commande on-off light. alors que bien visible en http, les infos remontent bien.

Bonjour,

retour intéressant mais sans préciser le modèle d’esp32 utilisé,
sans fournir le contenu du yaml, sans fournir le contenu des commandes de l’équipement jeedom.

akenad :slight_smile:

bonjour Akenad,

merci pour ta réponse, voici le YAML:

# === Votre Configuration ===
# Board: ESP32 DevKit V1 (Espressif)
# Definition: definitions/boards/esp32-devkit-v1/manifest.yaml

esphome:
  name: esp32-jeedom
  friendly_name: esp32-jeedom

esp32:
  variant: esp32
  flash_size: 4MB
  board: esp32dev
  framework:
    type: esp-idf

logger:
  level: INFO
 
api:
 encryption:
   key: "c1jBy3NAUmfPGM0ZNGUDp1yJ5fLqs7+E3aV2zwQBKK4="
   
ota:
  - platform: esphome
    password: ota-esp32-jeedom

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
#  ap:
#    ssid: "ESP-wifi"
#    password: "ESPWIFIPASS"
    
captive_portal:


# 1. LED output on GPIO23
output:
  - platform: gpio
    pin: GPIO23
    id: outside_led_output

# 2. Expose LED as a switch
switch:
  - platform: output
    name: "Outside LED"
    output: outside_led_output
    id: outside_led
    inverted: false

# 3. Button input on GPIO32 to toggle the LED
    on_turn_on:
      - then:
          - switch.turn_on: outside_led
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO32
      mode: INPUT_PULLUP
      inverted: true
    name: "External Button"
    id: external_button
#   on_press:
#     - switch.toggle: outside_led
      
# Allume la lumière dès qu'on appuie
    on_press:
      - switch.turn_on: outside_led
      
# Éteint la lumière dès qu'on relâche
    on_release:
      - switch.turn_off: outside_led
light:
  - platform: binary
    name: Binary Light
    id: light_binary_1
    output: outside_led_output
web_server:
  port: 80
# === Votre Configuration FIN ===

Bonjour

Il y a t’il des commandes jeedom dans l’équipement à nous montrer.

commande ON-OFF de light

Est’il possible d’avoir une capture de la liste des commande est avoir les log en debug du esphome_daemon.

je voudrais aussi avoir cette parti dans l’onglet YAML dans l’équipement :

# === JEEDOM AUTO BEGIN ===
substitutions:
#--------VARIABLE-----------

#-----------------------------------------ESPHOME-------------------------------------
# dans la section esphome: mettre les informations suivantes.
  name: test
  friendly_name: test
#-------------------------------------------------------------------------------------

#--------------------------------------WI-FI------------------------------------------
# dans la section wifi: mettre les informations suivantes.
  nom_wifi: !secret wifi_ssid
  pass: !secret wifi_password
#-------------------------------------------------------------------------------------
#--------------------------------------AP wifi----------------------------------------
  wifi_ap_ssid: "AC-wifi"
  wifi_ap_password: "slwf01pro"
#-------------------------------------------------------------------------------------

#--------------------------------------LOGGER-----------------------------------------
# dans la section logger: mettre l'information suivante
  niv: INFO
#-------------------------------------------------------------------------------------

#-------------------------------API POUR JEEDOM --------------------------------------
# dans la section wifi: apres encryption: il faut mettre les informations suivantes.
  cle: !secret api_test
#-------------------------------------------------------------------------------------

#---------------------------------------OTA-------------------------------------------
# dans la section ota apres platform: esphome mettre l'information suivant.
  pass_ota: !secret ota_test
#-------------------------------------------------------------------------------------
#--------------------------------------TEMPERATURE------------------------------------
  visual_min_temperature: "17 °C"
  visual_max_temperature: "30 °C"
  visual_temperature_step: "1.0 °C"
#-------------------------------------------------------------------------------------
# === JEEDOM AUTO END ===

# === JEEDOM AUTO BEGIN ===
substitutions:
#--------VARIABLE-----------

#-----------------------------------------ESPHOME-------------------------------------
# dans la section esphome: mettre les informations suivantes.
  name: esp32-jeedom
  friendly_name: esp32-jeedom
#-------------------------------------------------------------------------------------

#--------------------------------------WI-FI------------------------------------------
# dans la section wifi: mettre les informations suivantes.
  nom_wifi: !secret wifi_ssid
  pass: !secret wifi_password
#-------------------------------------------------------------------------------------
#--------------------------------------AP wifi----------------------------------------
  wifi_ap_ssid: "esp32-wifi"
  wifi_ap_password: "esp32password"
#-------------------------------------------------------------------------------------

#--------------------------------------LOGGER-----------------------------------------
# dans la section logger: mettre l'information suivante
  niv: INFO
#-------------------------------------------------------------------------------------

#-------------------------------API POUR JEEDOM --------------------------------------
# dans la section wifi: apres encryption: il faut mettre les informations suivantes.
  cle: !secret api_esp32-jeedom
#-------------------------------------------------------------------------------------

#---------------------------------------OTA-------------------------------------------
# dans la section ota apres platform: esphome mettre l'information suivant.
  pass_ota: !secret ota_esp32-jeedom
#-------------------------------------------------------------------------------------
#--------------------------------------TEMPERATURE------------------------------------
  visual_min_temperature: "17 °C"
  visual_max_temperature: "30 °C"
  visual_temperature_step: "1.0 °C"
#-------------------------------------------------------------------------------------
# === JEEDOM AUTO END ===

merci pour les ionformation il manque la log de esphome_daemon .

[2026-09-05 15:40:39][INFO] : Writing PID 462836 to /tmp/jeedom/esphome/deamon.pid
[2026-09-05 15:40:39][INFO] : ESPHome daemon started
[2026-09-05 15:40:39][INFO] : Start changes async thread
[2026-09-05 15:40:39][INFO] : Init request module v2.32.5
[2026-09-05 15:40:39][INFO] : [SOCKET] Listening
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
[2026-09-05 15:40:39][INFO] : [ESPHome] Connecting to esp32-jeedom
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/var/www/html/plugins/esphome/resources/esphome_daemon/daemon.py", line 140, in listen_jeedom
    jeedomSocket.open()
  File "/var/www/html/plugins/esphome/resources/esphome_daemon/jeedom/jeedom.py", line 303, in open
    self.netAdapter = TCPServer((self.address, self.port), jeedom_socket_handler)
  File "/usr/lib/python3.9/socketserver.py", line 452, in __init__
    self.server_bind()
  File "/usr/lib/python3.9/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use
[2026-09-05 15:40:40][INFO] : [ESPHome] Connected via MDNS: esp32-jeedom
[2026-09-05 15:40:40][INFO] : [ESPHome] esp32-jeedom ready for commands
[2026-09-05 15:41:38][INFO] : [ESPHome] Connecting to esp32-jeedom
[2026-09-05 15:41:38][WARNING] : esp32-jeedom @ 192.168.1.170: Connection error occurred: esp32-jeedom @ 192.168.1.170: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (aioesphomeapi)
[2026-09-05 15:41:38][WARNING] : 192.168.1.170: Connection error occurred: 192.168.1.170: EOF received
[2026-09-05 15:41:38][ERROR] : [ESPHome] esp32-jeedom error: esp32-jeedom @ 192.168.1.170: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (aioesphomeapi) | 192.168.1.170: EOF received

Attention, je fais des tests en parallèle…

ok je pense a voir trouver il faut mettre !secret api_esp32-jeedom a la place de ça « c1jBy3NAUmfPGM0ZNGUDp1yJ5fLqs7+E3aV2zwQBKK4= » dans la section API car la il l’arrive pas le contacter car l’api est pas bon.

oui, j’ai, vu mais déjà testé, cela ne change rien

quand tu change le fichier yaml il faut le réinjecter dans le esp32, sinon le esp32 garde la cle erronée.

et pour cette erreur il dit que ton port socket du daemon et déja utilisé. il faut le changer avec un autre puis sauvegarder et redémarrer le daemon.