[wifi] Skip the post-connect roam scan on LN882x by default

This commit is contained in:
J. Nick Koston
2026-10-04 19:59:46 -05:00
parent e4be4c7fcb
commit 3314e1953a
3 changed files with 34 additions and 1 deletions
+12 -1
View File
@@ -542,7 +542,18 @@ CONFIG_SCHEMA = cv.All(
),
cv.Optional(CONF_PASSIVE_SCAN, default=False): cv.boolean,
cv.Optional(CONF_ENABLE_ON_BOOT, default=True): cv.boolean,
cv.Optional(CONF_POST_CONNECT_ROAMING, default=True): cv.boolean,
# An LN882H scan takes the radio off the AP long enough to drop
# the association, so the post-connect roam check costs a
# disconnect there.
cv.SplitDefault(
CONF_POST_CONNECT_ROAMING,
esp8266=True,
esp32=True,
rp2=True,
bk72xx=True,
rtl87xx=True,
ln882x=False,
): cv.boolean,
cv.Optional(CONF_ON_CONNECT): automation.validate_automation(single=True),
cv.Optional(CONF_ON_DISCONNECT): automation.validate_automation(
single=True
@@ -0,0 +1,12 @@
---
esphome:
name: test
ln882x:
board: generic-ln882h
wifi:
ssid: test
password: testtest
ap:
ssid: fallback
@@ -37,3 +37,13 @@ def test_custom_values_are_emitted(
assert "set_reboot_timeout(0);" in main_cpp
assert "set_power_save_mode(wifi::WIFI_POWER_SAVE_LIGHT);" in main_cpp
assert "set_min_auth_mode(wifi::WIFI_MIN_AUTH_MODE_WPA);" in main_cpp
def test_ln882x_skips_post_connect_roaming(
generate_main: Callable[[str | Path], str],
component_config_path: Callable[[str], Path],
) -> None:
"""An LN882H scan drops the association, so LN882x does not roam by default."""
main_cpp = generate_main(component_config_path("bare_ln882x.yaml"))
assert "set_post_connect_roaming(false);" in main_cpp