Strange ESP-32 behavior

Problem: The ESP32 with allied relay shows as “unavailable” on the desktop. There is no entry for the ESP32 on my router/Wi-Fi. It does show up as a WAN connection!! Yet, it is not plugged into the WAN, nor has it ever been.

The ESP32 is shown as “offline” in ESPHome.

I believe this happened coincidentally with my upgrade yesterday of the HA Core.

Question 1: Could this show up on the WAN because it is connected via Bluetooth to HA?

Question 2: How might I troubleshoot the unavailable relay (which operates my heating boiler)?

Here is my setup on RPi 5, 8 GB, 250 GB USB Sata SSD:

  • Core: 2024.11.2
  • Supervisor: 2024.11.3
  • Operating System: 13.2
  • Frontend: 20241106.
  • ESP32: DoIt ESP32 (ESP32 WROOM)

YAML for ESP32

  name: "eso3201"
  friendly_name: ESP3201

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  min_version: 2024.6.0
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

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

# Allow provisioning Wi-Fi via serial
improv_serial:

wifi:
  # Set up a wifi access point
  ap: {}

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:

dashboard_import:
  package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
  import_full_config: true

# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
  authorizer: none

# To have a "next url" for improv serial
web_server:

switch:
  - platform: gpio
    name: "Relay"
    pin: GPIO19

uart:
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 9600

Logs

So you have configured no wifi credentials. This in conjunction with captive_portal: means that you need to connect to the access point network created by the ESP to configure your wifi credentials. Have you done this?