From e8051533ec6a280eab7c05daaded076724ab0ad8 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 15:26:26 -1000 Subject: [PATCH] fix more isolation --- script/analyze_component_buses.py | 6 ++++++ tests/components/selec_meter/common.yaml | 1 + tests/components/selec_meter/test.esp32-c3-idf.yaml | 4 +++- tests/components/selec_meter/test.esp32-idf.yaml | 3 ++- tests/components/selec_meter/test.esp8266-ard.yaml | 3 ++- tests/components/selec_meter/test.rp2040-ard.yaml | 3 ++- 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index 678dcab9fc..c594f757b8 100644 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -68,6 +68,7 @@ ISOLATED_COMPONENTS = { "esp32_camera": "Leaks config into other components", "esp32_camera_web_server": "Leaks config into other components", "esphome": "Defines devices/areas in esphome: section that are referenced in other sections - breaks when merged", + "ethernet": "Defines ethernet: which conflicts with wifi: used by most components", "lvgl": "Defines multiple SDL displays on host platform that conflict when merged with other display configs", "matrix_keypad": "Needs isolation due to keypad", "mcp4725": "no YAML config to specify i2c bus id", @@ -322,6 +323,11 @@ def analyze_all_components( # Note: Components using $component_dir are now groupable because the merge # script rewrites these to absolute paths with component-specific substitutions + # Check if component is explicitly isolated + # These have known issues that prevent grouping with other components + if component_name in ISOLATED_COMPONENTS: + non_groupable.add(component_name) + # Check if component is a base bus component # These are platform implementations and must be tested separately if component_name in BASE_BUS_COMPONENTS: diff --git a/tests/components/selec_meter/common.yaml b/tests/components/selec_meter/common.yaml index 36caa2e507..2febbee540 100644 --- a/tests/components/selec_meter/common.yaml +++ b/tests/components/selec_meter/common.yaml @@ -1,5 +1,6 @@ sensor: - platform: selec_meter + modbus_id: modbus_bus total_active_energy: name: SelecEM2M Total Active Energy import_active_energy: diff --git a/tests/components/selec_meter/test.esp32-c3-idf.yaml b/tests/components/selec_meter/test.esp32-c3-idf.yaml index 4b7c8351a7..beb90e1471 100644 --- a/tests/components/selec_meter/test.esp32-c3-idf.yaml +++ b/tests/components/selec_meter/test.esp32-c3-idf.yaml @@ -1,5 +1,7 @@ substitutions: + flow_control_pin: GPIO10 + packages: - uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/selec_meter/test.esp32-idf.yaml b/tests/components/selec_meter/test.esp32-idf.yaml index b415125e84..4df9f5863e 100644 --- a/tests/components/selec_meter/test.esp32-idf.yaml +++ b/tests/components/selec_meter/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO26 packages: - uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/selec_meter/test.esp8266-ard.yaml b/tests/components/selec_meter/test.esp8266-ard.yaml index 96ab4ef6ac..48a7307795 100644 --- a/tests/components/selec_meter/test.esp8266-ard.yaml +++ b/tests/components/selec_meter/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: tx_pin: GPIO0 rx_pin: GPIO2 + flow_control_pin: GPIO4 packages: - uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/selec_meter/test.rp2040-ard.yaml b/tests/components/selec_meter/test.rp2040-ard.yaml index b28f2b5e05..a65500ccc3 100644 --- a/tests/components/selec_meter/test.rp2040-ard.yaml +++ b/tests/components/selec_meter/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO6 packages: - uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml <<: !include common.yaml