Короткий ответ: если ESP32-C3 SuperMini в ESPHome видит вашу 2.4 ГГц сеть, но не подключается и в логах повторяется Auth Expired, попробуйте указать не только SSID и пароль, но и точный BSSID точки доступа, включить fast_connect: true и поставить умеренную мощность Wi-Fi, например output_power: 8.5dB.
Эта заметка появилась после практической диагностики ESP32-C3 SuperMini с ESPHome 2026.6.2. Было проверено несколько плат ESP32-C3 SuperMini, разные кабели, iPhone hotspot и домашний роутер 2.4 ГГц. Пароль был правильный, другие устройства подключались, но ESP32-C3 раз за разом падала на авторизации.
Симптомы
Типичная картина выглядит так:
- ESPHome успешно прошивается через USB;
- плата сканирует эфир и видит нужный Wi-Fi;
- сигнал может быть нормальным, например около -60 dB;
- SSID и пароль точно правильные;
- но IP-адрес не появляется;
- в логах повторяется
Auth Expired.
[W][wifi_esp32]: Disconnected ssid='WIFI_SSID_HERE' reason='Auth Expired'
[W][wifi]: Connecting to network failed
На этом этапе легко подумать, что пароль неверный. Но если телевизор, телефон или ноутбук подключаются к этой же сети, а ESP32-C3 нет, причина может быть не в пароле.
Что помогло
Рабочим решением стала привязка ESPHome к конкретной точке доступа через bssid. То есть ESP подключается не просто к сети по имени, а к конкретному радиомодулю роутера.
Было так:
wifi:
ssid: "WIFI_SSID_HERE"
password: "WIFI_PASSWORD_HERE"
fast_connect: true
power_save_mode: none
Стало так:
wifi:
networks:
- ssid: "WIFI_SSID_HERE"
bssid: AA:BB:CC:DD:EE:FF
password: "WIFI_PASSWORD_HERE"
fast_connect: true
output_power: 8.5dB
power_save_mode: none
ap:
ssid: "ESPHome Fallback"
password: "fallback-password"
После такой настройки плата получила IP и начала отвечать по сети:
[C][wifi]: Connected: YES
[C][wifi]: IP Address: 192.168.1.207
[C][wifi]: SSID: 'WIFI_SSID_HERE'
[C][wifi]: BSSID: AA:BB:CC:DD:EE:FF
Почему BSSID может помочь
SSID — это имя сети, которое видит человек. Например, Home_WiFi_2.4. Но за одним SSID может стоять несколько физических точек: основной роутер, mesh, репитер, гостевая точка или соседний узел с тем же именем.
BSSID — это MAC-адрес конкретной Wi-Fi точки. Когда мы указываем BSSID, ESP32-C3 перестаёт выбирать точку сама и подключается строго к заданному радиомодулю.
В нашем случае именно это изменило поведение: без BSSID были постоянные Auth Expired, а с BSSID плата подключилась и получила IP.
Как узнать BSSID
Самый простой способ — посмотреть логи ESPHome при сканировании. До подключения ESPHome обычно выводит найденные сети примерно так:
- 'WIFI_SSID_HERE' (AA:BB:CC:DD:EE:FF) Ch: 6 -61dB
Вот значение в скобках и есть BSSID. Его нужно вставить в YAML:
bssid: AA:BB:CC:DD:EE:FF
На macOS BSSID также можно посмотреть через Wi-Fi диагностику или сторонние Wi-Fi scanner приложения. На Android это часто видно в приложениях типа WiFi Analyzer.
Важная проверка: уровень сигнала
Если сеть видна с уровнем около -85…-90 dB, это очень слабый сигнал. ESP32-C3 SuperMini может видеть такую сеть в скане, но не удерживать авторизацию. В таком случае BSSID может не помочь: нужно поднести плату ближе к роутеру, использовать другую точку доступа или поставить репитер ближе.
Ориентиры по уровню сигнала:
-40…-60 dB— хорошо;-60…-70 dB— обычно нормально;-75 dBи ниже — уже рискованно;-85…-90 dB— сеть может отображаться, но подключение будет нестабильным.
Пример для ESPHome + Midea climate
Если ESP32-C3 SuperMini используется как Wi-Fi модуль для кондиционера Midea через UART, сначала проверьте Wi-Fi отдельной тестовой прошивкой. Только после успешного IP переходите к полной конфигурации Midea.
esp32:
board: esp32-c3-devkitm-1
framework:
type: arduino
wifi:
networks:
- ssid: "WIFI_SSID_HERE"
bssid: AA:BB:CC:DD:EE:FF
password: "WIFI_PASSWORD_HERE"
fast_connect: true
output_power: 8.5dB
power_save_mode: none
uart:
id: uart_midea
tx_pin: GPIO20
rx_pin: GPIO21
baud_rate: 9600
climate:
- platform: midea
name: "Midea AC"
uart_id: uart_midea
autoconf: true
Для компонента climate.midea в ESPHome важно использовать Arduino framework:
esp32:
board: esp32-c3-devkitm-1
framework:
type: arduino
Чек-лист диагностики
- Проверьте, что сеть именно 2.4 ГГц. ESP32-C3 не подключается к 5 ГГц.
- Проверьте пароль на другом устройстве.
- Отключите MAC-фильтр, blacklist/whitelist и WPS на роутере.
- Поставьте WPA2-PSK/AES, без экзотических смешанных режимов.
- Посмотрите в логах ESPHome, видит ли плата сеть и какой уровень сигнала.
- Если видите
Auth Expired, попробуйте конфигурацию сbssid. - Если сигнал слабее -80 dB, проверьте рядом с роутером.
- Сначала прошейте Wi-Fi test, потом уже датчики, UART и Midea climate.
Почему лучше сначала делать Wi-Fi test
Если сразу прошить полную конфигурацию с кондиционером, UART и климатом, будет сложнее понять, где проблема: в питании, в Midea UART, в ESPHome-компоненте или в Wi-Fi. Минимальная Wi-Fi прошивка быстро отделяет сетевую проблему от всего остального.
FAQ
Что означает Auth Expired в ESPHome?
Это означает, что ESP начала подключение к Wi-Fi, но авторизация с точкой доступа не завершилась. Причина может быть в пароле, настройках безопасности роутера, слабом сигнале, mesh/роуминге или несовместимости конкретной платы с точкой доступа.
Если пароль точно правильный, почему ESP32-C3 всё равно не подключается?
Потому что Wi-Fi подключение — это не только пароль. ESP должна выбрать правильную точку доступа, пройти обмен пакетами авторизации и удержать сигнал. На некоторых роутерах ESP32-C3 SuperMini может срываться на этом этапе, хотя другие устройства работают нормально.
Можно ли публиковать свой настоящий BSSID в интернете?
Обычно BSSID не является паролем, но это идентификатор вашей точки доступа. В публичных примерах лучше заменять его на AA:BB:CC:DD:EE:FF, как в этой статье.
Нужно ли всегда указывать BSSID?
Нет. Если ESP подключается к Wi-Fi обычным способом, BSSID не нужен. Его стоит добавлять, когда есть повторяющиеся ошибки Auth Expired, несколько точек с одним SSID, mesh-сеть или нестабильное подключение.
Что будет, если поменять роутер?
BSSID изменится. После замены роутера, mesh-точки или репитера нужно заново посмотреть BSSID и обновить YAML.
Вывод
ESP32-C3 SuperMini может нормально работать с ESPHome, но иногда требует более точной Wi-Fi настройки. Если вы видите Auth Expired, не спешите менять пароль десять раз. Проверьте сигнал, отключите лишние фильтры на роутере и попробуйте привязку к BSSID.
В нашем случае именно эта настройка решила проблему: ESP32-C3 SuperMini подключилась к домашней 2.4 ГГц сети, получила IP и стала доступна по ESPHome API.