FaceHoof
(Andrew Tarakin)
August 15, 2026, 8:15am
1
Hello everyone,
I’m having an issue after adding an ESP32-C3 Super Mini board using the ESPHome Builder. The board flashes without any issues and works, but for some reason, I cannot create more than one switch entity for it.
Here is my YAML configuration:
captive_portal:
switch:
- platform: gpio
name: "Relay 1"
id: relay_ch1A
pin:
number: GPIO20
inverted: true
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
name: "Relay 2"
id: relay_ch2A
pin:
number: GPIO1
inverted: true
restore_mode: RESTORE_DEFAULT_OFF
In the logs, I can clearly see that both switches are detected and initialized:
[12:01:53.437][C][logger:223]: Logger:
[12:01:53.437][C][logger:223]: Max Level: DEBUG
[12:01:53.437][C][logger:223]: Initial Level: DEBUG
[12:01:53.438][C][logger:230]: Log Baud Rate: 115200
[12:01:53.438][C][logger:230]: Hardware UART: USB_SERIAL_JTAG
[12:01:53.438][C][logger:239]: Task Log Buffer Size: 768 bytes
[12:01:53.453][C][switch.gpio:088]: GPIO Switch ‘Relay 1’
[12:01:53.453][C][switch.gpio:088]: Restore Mode: restore defaults to OFF
[12:01:53.475][C][switch.gpio:131]: Pin: GPIO20
[12:01:53.475][C][switch.gpio:088]: GPIO Switch ‘Relay 2’
[12:01:53.475][C][switch.gpio:088]: Restore Mode: restore defaults to OFF
[12:01:53.476][C][switch.gpio:131]: Pin: GPIO1
[12:01:53.507][C][captive_portal:141]: Captive Portal:
[12:01:53.546][C][wifi:1556]: WiFi:
However, in Home Assistant, only one switch entity ever shows up for this device—specifically, whichever one is listed first in the YAML code.
I have already tried:
Checking the entities list (and disabling all filters).
Assigning different GPIO pins.
Re-flashing the board from scratch.
Removing the device from Home Assistant and re-adding it.
Renaming the switches and the device itself.
None of this helped; there is still only one switch visible.
That single switch works completely fine. Other sensors I’ve connected to this board (such as a temperature/humidity sensor and a water leak sensor) also work without any issues.
Why might this strange behavior be happening? Any suggestions on how to fix it?
My goto first in ESPHOME is to run Validate first, to check the rendered yaml file i correct.
There are so more options that renders before the compile and install.
There you can see if you missed a obvious one.
FaceHoof
(Andrew Tarakin)
August 15, 2026, 9:08am
3
Yes, I can see that. I received the message “INFO Configuration is valid!”
Yes, that confirms that, but if you look at the rendred yaml file, you will se that the ESPHOME add more options in your yaml file. So studdy this yaml and see if you get some hints whats going on.
FaceHoof
(Andrew Tarakin)
August 15, 2026, 9:29am
5
Here is my entire YAML file (except for the password and key). I don’t see anything here that would prevent the second switch from displaying.
esphome:
name: esp32minfortestrel
friendly_name: ESP32MinForTestREL
esp32:
variant: esp32c3
flash_size: 4MB
framework:
type: esp-idf
logger:
api:
encryption:
key: ""
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: ESP32MinForTest Fallback Hotspot
password: ""
captive_portal:
switch:
- platform: gpio
name: "Relay 1"
id: relay_ch1A
pin:
number: GPIO20
inverted: true
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
name: "Relay 2"
id: relay_ch2A
pin:
number: GPIO1
inverted: true
restore_mode: RESTORE_DEFAULT_OFF
Karosm
(Karosm)
August 15, 2026, 9:43am
6
Neither do I. This is either bug or not esphome issue. What version are you on?
FaceHoof:
Here is my entire YAML
Sorry, my(yours) entire yaml file render to, with the “Validate” that’s also shows the ESPHOME Version, not the HA version.
INFO ESPHome 2026.7.4
INFO Reading configuration /root/config/test.yaml...
esphome:
name: esp32minfortestrel
friendly_name: ESP32MinForTestREL
min_version: 2026.7.4
build_path: build/esp32minfortestrel
platformio_options: {}
build_flags: []
environment_variables: {}
includes: []
includes_c: []
libraries: []
name_add_mac_suffix: false
merge_warnings: true
debug_scheduler: false
areas: []
devices: []
esp32:
variant: ESP32C3
flash_size: 4MB
framework:
type: esp-idf
version: 5.5.5
sdkconfig_options: {}
log_level: ERROR
advanced:
compiler_optimization: SIZE
enable_idf_experimental_features: false
enable_lwip_assert: true
ignore_efuse_custom_mac: false
ignore_efuse_mac_crc: false
sram1_as_iram: false
enable_lwip_mdns_queries: true
enable_lwip_bridge_interface: false
enable_lwip_tcpip_core_locking: true
enable_lwip_check_thread_safety: true
disable_libc_locks_in_iram: true
disable_vfs_support_termios: true
disable_vfs_support_select: true
disable_vfs_support_dir: true
freertos_in_iram: false
ringbuf_in_iram: false
heap_in_iram: false
execute_from_psram: false
loop_task_stack_size: 8192
enable_ota_rollback: true
enable_ota_downgrade_protection: false
use_full_certificate_bundle: false
include_builtin_idf_components: []
enable_full_printf: false
disable_debug_stubs: true
disable_ocd_aware: true
disable_usb_serial_jtag_secondary: true
disable_dev_null_vfs: true
disable_mbedtls_peer_cert: true
disable_mbedtls_pkcs7: true
disable_regi2c_in_iram: true
adc_oneshot_in_iram: false
disable_fatfs: true
components: []
watchdog_timeout: 5s
board: esp32-c3
cpu_frequency: 160MHZ
logger:
baud_rate: 115200
tx_buffer_size: 512
deassert_rts_dtr: false
task_log_buffer_size: 768
hardware_uart: USB_SERIAL_JTAG
level: DEBUG
logs: {}
runtime_tag_levels: false
api:
port: 6053
reboot_timeout: 15min
batch_delay: 100ms
custom_services: false
homeassistant_services: false
homeassistant_states: false
listen_backlog: 4
max_connections: 5
max_send_queue: 8
ota:
- platform: web_server
- platform: esphome
version: 2
port: 3232
allow_partition_access: false
wifi:
ap:
ssid: <removed>
password: <removed>
ap_timeout: 90s
domain: .local
reboot_timeout: 15min
power_save_mode: LIGHT
fast_connect:
enabled: false
storage: flash
enable_btm: false
enable_rrm: false
passive_scan: false
enable_on_boot: true
post_connect_roaming: true
min_auth_mode: WPA2
networks:
- ssid: !secret 'wifi_ssid'
password: !secret 'wifi_password'
priority: 0
use_address: esp32minfortestrel.local
captive_portal:
compression: gzip
switch:
- platform: gpio
name: Relay 1
id: relay_ch1A
pin:
number: 20
inverted: true
mode:
output: true
input: false
open_drain: false
pullup: false
pulldown: false
ignore_pin_validation_error: false
ignore_strapping_warning: false
drive_strength: 20.0
restore_mode: RESTORE_DEFAULT_OFF
disabled_by_default: false
interlock_wait_time: 0ms
- platform: gpio
name: Relay 2
id: relay_ch2A
pin:
number: 1
inverted: true
mode:
output: true
input: false
open_drain: false
pullup: false
pulldown: false
ignore_pin_validation_error: false
ignore_strapping_warning: false
drive_strength: 20.0
restore_mode: RESTORE_DEFAULT_OFF
disabled_by_default: false
interlock_wait_time: 0ms
INFO Configuration is valid!
FaceHoof
(Andrew Tarakin)
August 15, 2026, 10:20am
9
Okay, here is my file in full.
INFO ESPHome 2026.7.4
INFO Reading configuration /config/esphome/esp32minfortestrel.yaml...
esphome:
name: esp32minfortestrel
friendly_name: ESP32MinForTestREL
min_version: 2026.7.4
build_path: build/esp32minfortestrel
platformio_options: {}
build_flags: []
environment_variables: {}
includes: []
includes_c: []
libraries: []
name_add_mac_suffix: false
merge_warnings: true
debug_scheduler: false
areas: []
devices: []
esp32:
variant: ESP32C3
flash_size: 4MB
framework:
type: esp-idf
version: 5.5.5
sdkconfig_options: {}
log_level: ERROR
advanced:
compiler_optimization: SIZE
enable_idf_experimental_features: false
enable_lwip_assert: true
ignore_efuse_custom_mac: false
ignore_efuse_mac_crc: false
sram1_as_iram: false
enable_lwip_mdns_queries: true
enable_lwip_bridge_interface: false
enable_lwip_tcpip_core_locking: true
enable_lwip_check_thread_safety: true
disable_libc_locks_in_iram: true
disable_vfs_support_termios: true
disable_vfs_support_select: true
disable_vfs_support_dir: true
freertos_in_iram: false
ringbuf_in_iram: false
heap_in_iram: false
execute_from_psram: false
loop_task_stack_size: 8192
enable_ota_rollback: true
enable_ota_downgrade_protection: false
use_full_certificate_bundle: false
include_builtin_idf_components: []
enable_full_printf: false
disable_debug_stubs: true
disable_ocd_aware: true
disable_usb_serial_jtag_secondary: true
disable_dev_null_vfs: true
disable_mbedtls_peer_cert: true
disable_mbedtls_pkcs7: true
disable_regi2c_in_iram: true
adc_oneshot_in_iram: false
disable_fatfs: true
components: []
watchdog_timeout: 5s
board: esp32-c3
cpu_frequency: 160MHZ
logger:
baud_rate: 115200
tx_buffer_size: 512
deassert_rts_dtr: false
task_log_buffer_size: 768
hardware_uart: USB_SERIAL_JTAG
level: DEBUG
logs: {}
runtime_tag_levels: false
api:
encryption:
key: <removed>
port: 6053
reboot_timeout: 15min
batch_delay: 100ms
custom_services: false
homeassistant_services: false
homeassistant_states: false
listen_backlog: 4
max_connections: 5
max_send_queue: 8
ota:
- platform: web_server
- platform: esphome
version: 2
port: 3232
allow_partition_access: false
wifi:
ap:
ssid: <removed>
password: <removed>
ap_timeout: 90s
domain: .local
reboot_timeout: 15min
power_save_mode: LIGHT
fast_connect:
enabled: false
storage: flash
enable_btm: false
enable_rrm: false
passive_scan: false
enable_on_boot: true
post_connect_roaming: true
min_auth_mode: WPA2
networks:
- ssid: !secret 'wifi_ssid'
password: !secret 'wifi_password'
priority: 0
use_address: esp32minfortestrel.local
captive_portal:
compression: gzip
switch:
- platform: gpio
name: Relay 1
id: relay_ch1A
pin:
number: 20
inverted: true
mode:
output: true
input: false
open_drain: false
pullup: false
pulldown: false
ignore_pin_validation_error: false
ignore_strapping_warning: false
drive_strength: 20.0
restore_mode: RESTORE_DEFAULT_OFF
disabled_by_default: false
interlock_wait_time: 0ms
- platform: gpio
name: Relay 2
id: relay_ch2A
pin:
number: 1
inverted: true
mode:
output: true
input: false
open_drain: false
pullup: false
pulldown: false
ignore_pin_validation_error: false
ignore_strapping_warning: false
drive_strength: 20.0
restore_mode: RESTORE_DEFAULT_OFF
disabled_by_default: false
interlock_wait_time: 0ms
INFO Configuration is valid!
Karosm
(Karosm)
August 15, 2026, 10:25am
10
Did you notice this topic?
Hi i’m in trouble with esphome and homeassisant .
i thought it was a DB problem but i clean all databases. of homeassistant.
homeassistant 2025.12.5 detect my esphome 2026.7.4 but it appear only some entities not all
If someone can help me here are some informations
esphome web :
[imagen]
homeassistant for the same esphome
[Captura desde 2026-08-14 22-27-22]
the yaml is :
substitutions:
device_home: fpg
device_zone: garden
device_type: 4relay
device_usag: pump
…
Maybe .7.4 has some issues (I’m on older version)..
FaceHoof:
Core 2025.12.5
Supervisor 2026.07.5
Operating System 16.3
Frontend 20251203.3
Ancient history versions are not supported. Update all of those and try again (including your ESPHome version).
Hi i’m the one of the other related topic.
As i’m on arm v7 i can not update my homeassistant higer than 2025.15.4
Does that mean i can not update esphome higher than 2026.6.x or 2027.7 before .4 ?
Distributor ID: Debian
Description: Debian GNU/Linux 13 (trixie)
Release: 13
Codename: trixie
Linux ha 6.6.144 #0 SMP Tue Jul 28 23:14:47 2026 armv7l GNU/Linux
Inside lxc container over openwrt
Marvell Armada 385, dual-core 1.6 GHz
:auto reply: downgrading esphome to 2026.6.5 make sensors/actors discoverable by homeassistant.
i tryed 2026.7.0 and did not works, i don’t undestand why that kind of basic is not supported anymore. first homeassistant on 32bit system. now esphome with old esphome.
@which_want_to_read . Just when ram and planet are exausted. Sorry i know the volunteer work but make the planet a trash exausted me .
(pip install --upgrade ‘esphome==2026.6.5’; )