From 93266ad08f119c927435208b8e1e0b839a7ca518 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 8 Oct 2025 21:14:44 +1300 Subject: [PATCH 001/201] Bump version to 2025.10.0b1 --- Doxyfile | 2 +- esphome/const.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index cad97e645a..8284c564e0 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = ESPHome # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2025.10.0-dev +PROJECT_NUMBER = 2025.10.0b1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/esphome/const.py b/esphome/const.py index 44dc5a6052..5f81790a10 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -4,7 +4,7 @@ from enum import Enum from esphome.enum import StrEnum -__version__ = "2025.10.0-dev" +__version__ = "2025.10.0b1" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" VALID_SUBSTITUTIONS_CHARACTERS = ( From 82bdb08884a65b58b823848452edb17bd2faa751 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 8 Oct 2025 08:24:26 -1000 Subject: [PATCH 002/201] [ci] Reduce component test group size to prevent runner disk exhaustion (#11121) --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb038cb8aa..3dcfd7c044 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -391,7 +391,7 @@ jobs: ./script/test_build_components -e compile -c ${{ matrix.file }} test-build-components-splitter: - name: Split components for testing into 20 groups maximum + name: Split components for testing into 14 components per group runs-on: ubuntu-24.04 needs: - common @@ -402,10 +402,10 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Split components into 20 groups + - name: Split components into groups of 14 id: split run: | - components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(20) | join(" ")]') + components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(14) | join(" ")]') echo "components=$components" >> $GITHUB_OUTPUT test-build-components-split: From 785df05631f2ef6bc81cc0cccf2c971c1544285c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 8 Oct 2025 08:24:26 -1000 Subject: [PATCH 003/201] [ci] Reduce component test group size to prevent runner disk exhaustion (#11121) --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb038cb8aa..3dcfd7c044 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -391,7 +391,7 @@ jobs: ./script/test_build_components -e compile -c ${{ matrix.file }} test-build-components-splitter: - name: Split components for testing into 20 groups maximum + name: Split components for testing into 14 components per group runs-on: ubuntu-24.04 needs: - common @@ -402,10 +402,10 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Split components into 20 groups + - name: Split components into groups of 14 id: split run: | - components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(20) | join(" ")]') + components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(14) | join(" ")]') echo "components=$components" >> $GITHUB_OUTPUT test-build-components-split: From 6bb1e4c9c0bccdbc20c3f91878cfbfd71d6ef346 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 8 Oct 2025 11:35:52 -1000 Subject: [PATCH 004/201] [ci] Reduce component test group size to 10 to prevent runner disk exhaustion (#11122) --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3dcfd7c044..1d7043c888 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -391,7 +391,7 @@ jobs: ./script/test_build_components -e compile -c ${{ matrix.file }} test-build-components-splitter: - name: Split components for testing into 14 components per group + name: Split components for testing into 10 components per group runs-on: ubuntu-24.04 needs: - common @@ -402,10 +402,10 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Split components into groups of 14 + - name: Split components into groups of 10 id: split run: | - components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(14) | join(" ")]') + components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(10) | join(" ")]') echo "components=$components" >> $GITHUB_OUTPUT test-build-components-split: From f1af9d978c975276a4fddce4beba460e8d9433da Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 8 Oct 2025 11:35:52 -1000 Subject: [PATCH 005/201] [ci] Reduce component test group size to 10 to prevent runner disk exhaustion (#11122) --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3dcfd7c044..1d7043c888 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -391,7 +391,7 @@ jobs: ./script/test_build_components -e compile -c ${{ matrix.file }} test-build-components-splitter: - name: Split components for testing into 14 components per group + name: Split components for testing into 10 components per group runs-on: ubuntu-24.04 needs: - common @@ -402,10 +402,10 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Split components into groups of 14 + - name: Split components into groups of 10 id: split run: | - components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(14) | join(" ")]') + components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(10) | join(" ")]') echo "components=$components" >> $GITHUB_OUTPUT test-build-components-split: From d006008539b9ccd2624647d2161d9728bfdfec8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 09:26:38 -0400 Subject: [PATCH 006/201] Bump esphome-dashboard from 20250904.0 to 20251009.0 (#11123) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7ff4a6eeb2..8cc2b4ed45 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ pyserial==3.5 platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 -esphome-dashboard==20250904.0 +esphome-dashboard==20251009.0 aioesphomeapi==41.13.0 zeroconf==0.148.0 puremagic==1.30 From 84ad7ee0e423f34c2e7c548fa77c390c72823fbb Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Thu, 9 Oct 2025 10:10:48 -0700 Subject: [PATCH 007/201] [esp32] Accept more framework URL schemes as sources (#11125) --- esphome/components/esp32/__init__.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 860f2450e6..3cbcdb99b4 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -304,6 +304,17 @@ def _format_framework_espidf_version(ver: cv.Version, release: str) -> str: return f"pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v{str(ver)}/esp-idf-v{str(ver)}.zip" +def _is_framework_url(source: str) -> str: + # platformio accepts many URL schemes for framework repositories and archives including http, https, git, file, and symlink + import urllib.parse + + try: + parsed = urllib.parse.urlparse(source) + except ValueError: + return False + return bool(parsed.scheme) + + # NOTE: Keep this in mind when updating the recommended version: # * New framework historically have had some regressions, especially for WiFi. # The new version needs to be thoroughly validated before changing the @@ -386,7 +397,7 @@ def _check_versions(value): value[CONF_SOURCE] = value.get( CONF_SOURCE, _format_framework_arduino_version(version) ) - if value[CONF_SOURCE].startswith("http"): + if _is_framework_url(value[CONF_SOURCE]): value[CONF_SOURCE] = ( f"pioarduino/framework-arduinoespressif32@{value[CONF_SOURCE]}" ) @@ -399,7 +410,7 @@ def _check_versions(value): CONF_SOURCE, _format_framework_espidf_version(version, value.get(CONF_RELEASE, None)), ) - if value[CONF_SOURCE].startswith("http"): + if _is_framework_url(value[CONF_SOURCE]): value[CONF_SOURCE] = f"pioarduino/framework-espidf@{value[CONF_SOURCE]}" if CONF_PLATFORM_VERSION not in value: From a4b7e0c7009bdae610cb0868146ae5994c5166ab Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 07:41:49 -1000 Subject: [PATCH 008/201] [canbus][mcp23xxx_base] Mark virtual methods as pure virtual to fix linker errors (#11133) --- esphome/components/canbus/canbus.h | 6 +++--- esphome/components/mcp23xxx_base/mcp23xxx_base.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/esphome/components/canbus/canbus.h b/esphome/components/canbus/canbus.h index 56e2f2719b..51d7c0830a 100644 --- a/esphome/components/canbus/canbus.h +++ b/esphome/components/canbus/canbus.h @@ -105,9 +105,9 @@ class Canbus : public Component { CallbackManager &data)> callback_manager_{}; - virtual bool setup_internal(); - virtual Error send_message(struct CanFrame *frame); - virtual Error read_message(struct CanFrame *frame); + virtual bool setup_internal() = 0; + virtual Error send_message(struct CanFrame *frame) = 0; + virtual Error read_message(struct CanFrame *frame) = 0; }; template class CanbusSendAction : public Action, public Parented { diff --git a/esphome/components/mcp23xxx_base/mcp23xxx_base.h b/esphome/components/mcp23xxx_base/mcp23xxx_base.h index ab7f8ec398..cf0ef5d41c 100644 --- a/esphome/components/mcp23xxx_base/mcp23xxx_base.h +++ b/esphome/components/mcp23xxx_base/mcp23xxx_base.h @@ -21,11 +21,11 @@ template class MCP23XXXBase : public Component, public gpio_expander: protected: // read a given register - virtual bool read_reg(uint8_t reg, uint8_t *value); + virtual bool read_reg(uint8_t reg, uint8_t *value) = 0; // write a value to a given register - virtual bool write_reg(uint8_t reg, uint8_t value); + virtual bool write_reg(uint8_t reg, uint8_t value) = 0; // update registers with given pin value. - virtual void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a); + virtual void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) = 0; bool open_drain_ints_; }; From 56334b7832ae28375d834001d259bace9afbae62 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 08:26:41 -1000 Subject: [PATCH 009/201] [ci][tests] Remove redundant ESP32 Arduino test files (#11136) --- tests/components/a01nyub/test.esp32-ard.yaml | 5 -- .../components/a01nyub/test.esp32-c3-ard.yaml | 5 -- tests/components/a02yyuw/test.esp32-ard.yaml | 5 -- .../components/a02yyuw/test.esp32-c3-ard.yaml | 5 -- tests/components/a4988/test.esp32-ard.yaml | 6 -- tests/components/a4988/test.esp32-c3-ard.yaml | 6 -- .../absolute_humidity/test.esp32-ard.yaml | 1 - .../absolute_humidity/test.esp32-c3-ard.yaml | 1 - tests/components/adc/test.esp32-ard.yaml | 6 -- tests/components/adc/test.esp32-c3-ard.yaml | 6 -- tests/components/adc/test.esp32-s2-ard.yaml | 6 -- tests/components/adc/test.esp32-s3-ard.yaml | 6 -- .../components/adc128s102/test.esp32-ard.yaml | 7 --- .../adc128s102/test.esp32-c3-ard.yaml | 7 --- .../esp32_rmt_led_strip.esp32-ard.yaml | 4 -- .../esp32_rmt_led_strip.esp32-c3-ard.yaml | 4 -- .../fastled_clockless.esp32-ard.yaml | 4 -- tests/components/ade7880/test.esp32-ard.yaml | 8 --- .../components/ade7880/test.esp32-c3-ard.yaml | 8 --- .../ade7953_i2c/test.esp32-ard.yaml | 6 -- .../ade7953_i2c/test.esp32-c3-ard.yaml | 6 -- .../ade7953_spi/test.esp32-ard.yaml | 8 --- .../ade7953_spi/test.esp32-c3-ard.yaml | 8 --- tests/components/ads1115/test.esp32-ard.yaml | 5 -- .../components/ads1115/test.esp32-c3-ard.yaml | 5 -- tests/components/ags10/test.esp32-ard.yaml | 5 -- tests/components/ags10/test.esp32-c3-ard.yaml | 5 -- tests/components/aht10/test.esp32-ard.yaml | 5 -- tests/components/aht10/test.esp32-c3-ard.yaml | 5 -- tests/components/aic3204/test.esp32-ard.yaml | 5 -- .../components/aic3204/test.esp32-c3-ard.yaml | 5 -- .../airthings_wave_mini/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../airthings_wave_plus/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../alarm_control_panel/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - tests/components/alpha3/test.esp32-ard.yaml | 1 - .../components/alpha3/test.esp32-c3-ard.yaml | 1 - tests/components/am2315c/test.esp32-ard.yaml | 5 -- .../components/am2315c/test.esp32-c3-ard.yaml | 5 -- tests/components/am2320/test.esp32-ard.yaml | 5 -- .../components/am2320/test.esp32-c3-ard.yaml | 5 -- tests/components/am43/test.esp32-ard.yaml | 1 - tests/components/am43/test.esp32-c3-ard.yaml | 1 - .../analog_threshold/test.esp32-ard.yaml | 1 - .../analog_threshold/test.esp32-c3-ard.yaml | 1 - .../components/animation/test.esp32-ard.yaml | 17 ------ .../animation/test.esp32-c3-ard.yaml | 17 ------ tests/components/anova/test.esp32-ard.yaml | 1 - tests/components/anova/test.esp32-c3-ard.yaml | 1 - tests/components/apds9306/test.esp32-ard.yaml | 5 -- .../apds9306/test.esp32-c3-ard.yaml | 5 -- tests/components/apds9960/test.esp32-ard.yaml | 5 -- .../apds9960/test.esp32-c3-ard.yaml | 5 -- tests/components/api/test.esp32-ard.yaml | 5 -- tests/components/api/test.esp32-c3-ard.yaml | 5 -- .../components/as3935_i2c/test.esp32-ard.yaml | 11 ---- .../as3935_i2c/test.esp32-c3-ard.yaml | 6 -- .../components/as3935_spi/test.esp32-ard.yaml | 8 --- .../as3935_spi/test.esp32-c3-ard.yaml | 8 --- tests/components/as5600/test.esp32-ard.yaml | 6 -- .../components/as5600/test.esp32-c3-ard.yaml | 6 -- tests/components/as7341/test.esp32-ard.yaml | 5 -- .../components/as7341/test.esp32-c3-ard.yaml | 5 -- tests/components/at581x/test.esp32-ard.yaml | 5 -- .../components/at581x/test.esp32-c3-ard.yaml | 5 -- .../atc_mithermometer/test.esp32-ard.yaml | 1 - .../atc_mithermometer/test.esp32-c3-ard.yaml | 1 - tests/components/atm90e26/test.esp32-ard.yaml | 7 --- .../atm90e26/test.esp32-c3-ard.yaml | 7 --- tests/components/atm90e32/test.esp32-ard.yaml | 7 --- .../atm90e32/test.esp32-c3-ard.yaml | 7 --- tests/components/axs15231/test.esp32-ard.yaml | 1 - .../axs15231/test.esp32-c3-ard.yaml | 1 - .../components/b_parasite/test.esp32-ard.yaml | 1 - .../b_parasite/test.esp32-c3-ard.yaml | 1 - tests/components/ballu/test.esp32-ard.yaml | 4 -- .../components/bang_bang/test.esp32-ard.yaml | 1 - .../bang_bang/test.esp32-c3-ard.yaml | 1 - tests/components/bedjet/test.esp32-ard.yaml | 1 - .../components/bedjet/test.esp32-c3-ard.yaml | 1 - tests/components/bh1750/test.esp32-ard.yaml | 5 -- .../components/bh1750/test.esp32-c3-ard.yaml | 5 -- .../binary_sensor/test.esp32-ard.yaml | 2 - .../binary_sensor/test.esp32-c3-ard.yaml | 2 - .../binary_sensor_map/test.esp32-ard.yaml | 1 - .../binary_sensor_map/test.esp32-c3-ard.yaml | 1 - tests/components/bl0906/test.esp32-ard.yaml | 5 -- .../components/bl0906/test.esp32-c3-ard.yaml | 5 -- tests/components/bl0939/test.esp32-ard.yaml | 5 -- .../components/bl0939/test.esp32-c3-ard.yaml | 5 -- tests/components/bl0940/test.esp32-ard.yaml | 5 -- .../components/bl0940/test.esp32-c3-ard.yaml | 5 -- tests/components/bl0942/test.esp32-ard.yaml | 5 -- .../components/bl0942/test.esp32-c3-ard.yaml | 5 -- .../components/ble_client/test.esp32-ard.yaml | 1 - .../ble_client/test.esp32-c3-ard.yaml | 1 - .../ble_presence/test.esp32-ard.yaml | 1 - .../ble_presence/test.esp32-c3-ard.yaml | 1 - tests/components/ble_rssi/test.esp32-ard.yaml | 1 - .../ble_rssi/test.esp32-c3-ard.yaml | 1 - .../ble_scanner/test.esp32-ard.yaml | 1 - .../ble_scanner/test.esp32-c3-ard.yaml | 1 - .../bluetooth_proxy/test.esp32-s3-ard.yaml | 8 --- .../components/bme280_i2c/test.esp32-ard.yaml | 5 -- .../bme280_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/bme280_spi/test.esp32-ard.yaml | 7 --- .../bme280_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/bme680/test.esp32-ard.yaml | 5 -- .../components/bme680/test.esp32-c3-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-c3-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-s2-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-s3-ard.yaml | 5 -- tests/components/bmi160/test.esp32-ard.yaml | 5 -- .../components/bmi160/test.esp32-c3-ard.yaml | 5 -- tests/components/bmp085/test.esp32-ard.yaml | 5 -- .../components/bmp085/test.esp32-c3-ard.yaml | 5 -- .../components/bmp280_i2c/test.esp32-ard.yaml | 5 -- .../bmp280_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/bmp280_spi/test.esp32-ard.yaml | 7 --- .../bmp280_spi/test.esp32-c3-ard.yaml | 7 --- .../components/bmp3xx_i2c/test.esp32-ard.yaml | 5 -- .../bmp3xx_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/bmp3xx_spi/test.esp32-ard.yaml | 7 --- .../bmp3xx_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/bmp581/test.esp32-ard.yaml | 5 -- .../components/bmp581/test.esp32-c3-ard.yaml | 5 -- tests/components/bp1658cj/test.esp32-ard.yaml | 5 -- .../bp1658cj/test.esp32-c3-ard.yaml | 5 -- tests/components/bp5758d/test.esp32-ard.yaml | 5 -- .../components/bp5758d/test.esp32-c3-ard.yaml | 5 -- tests/components/button/test.esp32-ard.yaml | 1 - .../components/button/test.esp32-c3-ard.yaml | 1 - .../components/bytebuffer/test.esp32-ard.yaml | 1 - .../bytebuffer/test.esp32-c3-ard.yaml | 1 - tests/components/camera/test.esp32-ard.yaml | 1 - .../camera_encoder/test.esp32-ard.yaml | 1 - tests/components/canbus/test.esp32-ard.yaml | 1 - .../components/canbus/test.esp32-c3-ard.yaml | 1 - tests/components/cap1188/test.esp32-ard.yaml | 6 -- .../components/cap1188/test.esp32-c3-ard.yaml | 6 -- tests/components/ccs811/test.esp32-ard.yaml | 5 -- .../components/ccs811/test.esp32-c3-ard.yaml | 5 -- .../components/cd74hc4067/test.esp32-ard.yaml | 8 --- .../cd74hc4067/test.esp32-c3-ard.yaml | 8 --- tests/components/ch422g/test.esp32-ard.yaml | 6 -- .../components/ch422g/test.esp32-c3-ard.yaml | 6 -- tests/components/chsc6x/test.esp32-ard.yaml | 25 -------- .../components/chsc6x/test.esp32-c3-ard.yaml | 25 -------- .../climate_ir_lg/test.esp32-ard.yaml | 4 -- .../climate_ir_lg/test.esp32-c3-ard.yaml | 4 -- tests/components/cm1106/test.esp32-ard.yaml | 5 -- .../components/cm1106/test.esp32-c3-ard.yaml | 5 -- tests/components/color/test.esp32-ard.yaml | 1 - tests/components/color/test.esp32-c3-ard.yaml | 1 - .../color_temperature/test.esp32-ard.yaml | 6 -- .../color_temperature/test.esp32-c3-ard.yaml | 6 -- .../combination/test.esp32-ard.yaml | 1 - .../combination/test.esp32-c3-ard.yaml | 1 - tests/components/coolix/test.esp32-ard.yaml | 4 -- .../components/coolix/test.esp32-c3-ard.yaml | 4 -- tests/components/copy/test.esp32-ard.yaml | 5 -- tests/components/copy/test.esp32-c3-ard.yaml | 5 -- tests/components/cs5460a/test.esp32-ard.yaml | 7 --- .../components/cs5460a/test.esp32-c3-ard.yaml | 7 --- tests/components/cse7761/test.esp32-ard.yaml | 5 -- .../components/cse7761/test.esp32-c3-ard.yaml | 5 -- tests/components/cse7766/test.esp32-ard.yaml | 5 -- .../components/cse7766/test.esp32-c3-ard.yaml | 5 -- tests/components/cst226/test.esp32-ard.yaml | 12 ---- .../components/cst226/test.esp32-c3-ard.yaml | 12 ---- tests/components/cst816/test.esp32-ard.yaml | 12 ---- .../components/cst816/test.esp32-c3-ard.yaml | 12 ---- tests/components/ct_clamp/test.esp32-ard.yaml | 4 -- .../ct_clamp/test.esp32-c3-ard.yaml | 4 -- .../current_based/test.esp32-ard.yaml | 6 -- .../current_based/test.esp32-c3-ard.yaml | 6 -- tests/components/cwww/test.esp32-ard.yaml | 6 -- tests/components/cwww/test.esp32-c3-ard.yaml | 6 -- tests/components/dac7678/test.esp32-ard.yaml | 5 -- .../components/dac7678/test.esp32-c3-ard.yaml | 5 -- tests/components/daikin/test.esp32-ard.yaml | 4 -- .../components/daikin_arc/test.esp32-ard.yaml | 5 -- .../components/daikin_brc/test.esp32-ard.yaml | 4 -- .../daikin_brc/test.esp32-c3-ard.yaml | 4 -- .../dallas_temp/test.esp32-ard.yaml | 1 - .../dallas_temp/test.esp32-c3-ard.yaml | 1 - tests/components/daly_bms/test.esp32-ard.yaml | 5 -- .../daly_bms/test.esp32-c3-ard.yaml | 5 -- .../components/deep_sleep/test.esp32-ard.yaml | 5 -- .../deep_sleep/test.esp32-c3-ard.yaml | 5 -- tests/components/delonghi/test.esp32-ard.yaml | 4 -- .../delonghi/test.esp32-c3-ard.yaml | 4 -- tests/components/dfplayer/test.esp32-ard.yaml | 5 -- .../dfplayer/test.esp32-c3-ard.yaml | 5 -- .../dfrobot_sen0395/test.esp32-ard.yaml | 5 -- .../dfrobot_sen0395/test.esp32-c3-ard.yaml | 5 -- tests/components/dht/test.esp32-ard.yaml | 1 - tests/components/dht/test.esp32-c3-ard.yaml | 1 - tests/components/dht12/test.esp32-ard.yaml | 5 -- tests/components/dht12/test.esp32-c3-ard.yaml | 5 -- tests/components/display/test.esp32-ard.yaml | 1 - tests/components/dps310/test.esp32-ard.yaml | 5 -- .../components/dps310/test.esp32-c3-ard.yaml | 5 -- tests/components/ds1307/test.esp32-ard.yaml | 5 -- .../components/ds1307/test.esp32-c3-ard.yaml | 5 -- tests/components/ds2484/test.esp32-ard.yaml | 5 -- .../components/ds2484/test.esp32-c3-ard.yaml | 5 -- .../components/duty_cycle/test.esp32-ard.yaml | 1 - .../duty_cycle/test.esp32-c3-ard.yaml | 1 - .../components/duty_time/test.esp32-ard.yaml | 1 - .../duty_time/test.esp32-c3-ard.yaml | 1 - tests/components/e131/test.esp32-ard.yaml | 5 -- tests/components/e131/test.esp32-c3-ard.yaml | 5 -- tests/components/ee895/test.esp32-ard.yaml | 5 -- tests/components/ee895/test.esp32-c3-ard.yaml | 5 -- tests/components/ektf2232/test.esp32-ard.yaml | 8 --- .../ektf2232/test.esp32-c3-ard.yaml | 8 --- tests/components/emc2101/test.esp32-ard.yaml | 5 -- .../components/emc2101/test.esp32-c3-ard.yaml | 5 -- tests/components/emmeti/test.esp32-ard.yaml | 5 -- tests/components/endstop/test.esp32-ard.yaml | 1 - .../components/endstop/test.esp32-c3-ard.yaml | 1 - .../components/ens160_i2c/test.esp32-ard.yaml | 5 -- .../ens160_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/ens160_spi/test.esp32-ard.yaml | 7 --- .../ens160_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/ens210/test.esp32-ard.yaml | 5 -- .../components/ens210/test.esp32-c3-ard.yaml | 5 -- tests/components/es7210/test.esp32-ard.yaml | 5 -- .../components/es7210/test.esp32-c3-ard.yaml | 5 -- tests/components/es7243e/test.esp32-ard.yaml | 5 -- .../components/es7243e/test.esp32-c3-ard.yaml | 5 -- tests/components/es8156/test.esp32-ard.yaml | 5 -- .../components/es8156/test.esp32-c3-ard.yaml | 5 -- tests/components/es8311/test.esp32-ard.yaml | 5 -- .../components/es8311/test.esp32-c3-ard.yaml | 5 -- tests/components/es8388/test.esp32-ard.yaml | 5 -- .../components/es8388/test.esp32-c3-ard.yaml | 5 -- .../esp32_ble_client/test.esp32-ard.yaml | 1 - .../esp32_ble_client/test.esp32-c3-ard.yaml | 1 - .../esp32_ble_server/test.esp32-ard.yaml | 1 - .../esp32_ble_server/test.esp32-c3-ard.yaml | 1 - .../esp32_camera/test.esp32-ard.yaml | 1 - .../test.esp32-ard.yaml | 1 - .../components/esp32_can/test.esp32-ard.yaml | 5 -- .../esp32_can/test.esp32-c3-ard.yaml | 5 -- .../components/esp32_dac/test.esp32-ard.yaml | 1 - .../esp32_improv/test.esp32-ard.yaml | 1 - .../esp32_improv/test.esp32-c3-ard.yaml | 1 - .../esp32_rmt_led_strip/test.esp32-ard.yaml | 6 -- .../test.esp32-c3-ard.yaml | 6 -- .../esp32_touch/test.esp32-ard.yaml | 4 -- .../esp32_touch/test.esp32-s2-ard.yaml | 4 -- .../esp32_touch/test.esp32-s3-ard.yaml | 4 -- tests/components/esphome/test.esp32-ard.yaml | 1 - .../components/esphome/test.esp32-c3-ard.yaml | 1 - .../ethernet_info/test.esp32-ard.yaml | 1 - tests/components/event/test.esp32-ard.yaml | 1 - tests/components/event/test.esp32-c3-ard.yaml | 1 - .../test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../external_components/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - tests/components/ezo/test.esp32-ard.yaml | 5 -- tests/components/ezo/test.esp32-c3-ard.yaml | 5 -- tests/components/ezo_pmp/test.esp32-ard.yaml | 5 -- .../components/ezo_pmp/test.esp32-c3-ard.yaml | 5 -- .../factory_reset/test.esp32-ard.yaml | 1 - .../factory_reset/test.esp32-c3-ard.yaml | 1 - tests/components/feedback/test.esp32-ard.yaml | 1 - .../feedback/test.esp32-c3-ard.yaml | 1 - .../fingerprint_grow/test.esp32-ard.yaml | 6 -- .../fingerprint_grow/test.esp32-c3-ard.yaml | 6 -- tests/components/font/test.esp32-ard.yaml | 7 --- tests/components/font/test.esp32-c3-ard.yaml | 7 --- tests/components/fs3000/test.esp32-ard.yaml | 5 -- .../components/fs3000/test.esp32-c3-ard.yaml | 5 -- tests/components/ft5x06/test.esp32-ard.yaml | 6 -- .../components/ft5x06/test.esp32-c3-ard.yaml | 6 -- tests/components/ft63x6/test.esp32-ard.yaml | 9 --- .../components/ft63x6/test.esp32-c3-ard.yaml | 9 --- .../fujitsu_general/test.esp32-ard.yaml | 4 -- .../fujitsu_general/test.esp32-c3-ard.yaml | 4 -- tests/components/gcja5/test.esp32-ard.yaml | 5 -- tests/components/gcja5/test.esp32-c3-ard.yaml | 5 -- tests/components/gdk101/test.esp32-ard.yaml | 5 -- .../components/gl_r01_i2c/test.esp32-ard.yaml | 5 -- .../gl_r01_i2c/test.esp32-c3-ard.yaml | 5 -- tests/components/globals/test.esp32-ard.yaml | 1 - .../components/globals/test.esp32-c3-ard.yaml | 1 - .../gp2y1010au0f/test.esp32-ard.yaml | 5 -- .../gp2y1010au0f/test.esp32-c3-ard.yaml | 5 -- tests/components/gp8403/test.esp32-ard.yaml | 5 -- .../components/gp8403/test.esp32-c3-ard.yaml | 5 -- tests/components/gpio/test.esp32-ard.yaml | 6 -- tests/components/gpio/test.esp32-c3-ard.yaml | 6 -- tests/components/gps/test.esp32-ard.yaml | 5 -- tests/components/gps/test.esp32-c3-ard.yaml | 5 -- tests/components/graph/test.esp32-ard.yaml | 6 -- tests/components/graph/test.esp32-c3-ard.yaml | 6 -- .../test.esp32-ard.yaml | 6 -- .../test.esp32-c3-ard.yaml | 6 -- tests/components/gree/test.esp32-ard.yaml | 4 -- tests/components/gree/test.esp32-c3-ard.yaml | 4 -- .../grove_gas_mc_v2/test.esp32-ard.yaml | 5 -- .../grove_gas_mc_v2/test.esp32-c3-ard.yaml | 5 -- .../grove_tb6612fng/test.esp32-ard.yaml | 5 -- .../grove_tb6612fng/test.esp32-c3-ard.yaml | 5 -- .../growatt_solar/test.esp32-ard.yaml | 6 -- .../growatt_solar/test.esp32-c3-ard.yaml | 6 -- tests/components/gt911/test.esp32-ard.yaml | 1 - tests/components/gt911/test.esp32-c3-ard.yaml | 1 - tests/components/haier/test.esp32-ard.yaml | 5 -- tests/components/haier/test.esp32-c3-ard.yaml | 5 -- .../havells_solar/test.esp32-ard.yaml | 6 -- .../havells_solar/test.esp32-c3-ard.yaml | 6 -- tests/components/hbridge/test.esp32-ard.yaml | 17 ------ .../components/hbridge/test.esp32-c3-ard.yaml | 16 ----- tests/components/hdc1080/test.esp32-ard.yaml | 5 -- .../components/hdc1080/test.esp32-c3-ard.yaml | 5 -- tests/components/he60r/test.esp32-ard.yaml | 5 -- tests/components/he60r/test.esp32-c3-ard.yaml | 5 -- .../hitachi_ac344/test.esp32-ard.yaml | 4 -- .../hitachi_ac344/test.esp32-c3-ard.yaml | 4 -- .../hitachi_ac424/test.esp32-ard.yaml | 4 -- .../hitachi_ac424/test.esp32-c3-ard.yaml | 4 -- tests/components/hlw8012/test.esp32-ard.yaml | 6 -- .../components/hlw8012/test.esp32-c3-ard.yaml | 6 -- tests/components/hm3301/test.esp32-ard.yaml | 5 -- .../components/hm3301/test.esp32-c3-ard.yaml | 5 -- tests/components/hmc5883l/test.esp32-ard.yaml | 5 -- .../hmc5883l/test.esp32-c3-ard.yaml | 5 -- .../homeassistant/test.esp32-ard.yaml | 2 - .../homeassistant/test.esp32-c3-ard.yaml | 2 - .../honeywell_hih_i2c/test.esp32-ard.yaml | 5 -- .../honeywell_hih_i2c/test.esp32-c3-ard.yaml | 5 -- .../honeywellabp/test.esp32-ard.yaml | 7 --- .../honeywellabp/test.esp32-c3-ard.yaml | 7 --- .../honeywellabp2_i2c/test.esp32-ard.yaml | 5 -- .../honeywellabp2_i2c/test.esp32-c3-ard.yaml | 5 -- .../hrxl_maxsonar_wr/test.esp32-ard.yaml | 5 -- .../hrxl_maxsonar_wr/test.esp32-c3-ard.yaml | 5 -- tests/components/hte501/test.esp32-ard.yaml | 5 -- .../components/hte501/test.esp32-c3-ard.yaml | 5 -- tests/components/htu21d/test.esp32-ard.yaml | 5 -- .../components/htu21d/test.esp32-c3-ard.yaml | 5 -- tests/components/htu31d/test.esp32-ard.yaml | 5 -- .../components/htu31d/test.esp32-c3-ard.yaml | 5 -- tests/components/hx711/test.esp32-ard.yaml | 5 -- tests/components/hx711/test.esp32-c3-ard.yaml | 5 -- .../hydreon_rgxx/test.esp32-ard.yaml | 5 -- .../hydreon_rgxx/test.esp32-c3-ard.yaml | 5 -- tests/components/hyt271/test.esp32-ard.yaml | 5 -- .../components/hyt271/test.esp32-c3-ard.yaml | 5 -- .../components/i2c_device/test.esp32-ard.yaml | 5 -- .../i2c_device/test.esp32-c3-ard.yaml | 5 -- .../components/i2s_audio/test.esp32-ard.yaml | 6 -- .../i2s_audio/test.esp32-c3-ard.yaml | 6 -- tests/components/iaqcore/test.esp32-ard.yaml | 5 -- .../components/iaqcore/test.esp32-c3-ard.yaml | 5 -- tests/components/ili9xxx/test.esp32-ard.yaml | 11 ---- .../components/ili9xxx/test.esp32-c3-ard.yaml | 12 ---- tests/components/ina219/test.esp32-ard.yaml | 5 -- .../components/ina219/test.esp32-c3-ard.yaml | 5 -- tests/components/ina226/test.esp32-ard.yaml | 5 -- .../components/ina226/test.esp32-c3-ard.yaml | 5 -- tests/components/ina260/test.esp32-ard.yaml | 5 -- .../components/ina260/test.esp32-c3-ard.yaml | 5 -- .../components/ina2xx_i2c/test.esp32-ard.yaml | 5 -- .../ina2xx_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/ina2xx_spi/test.esp32-ard.yaml | 7 --- .../ina2xx_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/ina3221/test.esp32-ard.yaml | 5 -- .../components/ina3221/test.esp32-c3-ard.yaml | 5 -- .../inkbird_ibsth1_mini/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - tests/components/inkplate/test.esp32-ard.yaml | 1 - .../integration/test.esp32-ard.yaml | 4 -- .../integration/test.esp32-c3-ard.yaml | 4 -- .../internal_temperature/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../test.esp32-s2-ard.yaml | 1 - .../test.esp32-s3-ard.yaml | 1 - tests/components/interval/test.esp32-ard.yaml | 1 - .../interval/test.esp32-c3-ard.yaml | 1 - .../components/jsn_sr04t/test.esp32-ard.yaml | 5 -- .../jsn_sr04t/test.esp32-c3-ard.yaml | 5 -- .../kamstrup_kmp/test.esp32-ard.yaml | 5 -- .../key_collector/test.esp32-ard.yaml | 7 --- .../key_collector/test.esp32-c3-ard.yaml | 7 --- .../components/kmeteriso/test.esp32-ard.yaml | 5 -- .../kmeteriso/test.esp32-c3-ard.yaml | 5 -- tests/components/kuntze/test.esp32-ard.yaml | 6 -- .../components/kuntze/test.esp32-c3-ard.yaml | 6 -- .../components/lc709203f/test.esp32-ard.yaml | 5 -- .../lc709203f/test.esp32-c3-ard.yaml | 5 -- tests/components/lcd_gpio/test.esp32-ard.yaml | 9 --- .../lcd_gpio/test.esp32-c3-ard.yaml | 9 --- tests/components/lcd_menu/test.esp32-ard.yaml | 9 --- .../lcd_menu/test.esp32-c3-ard.yaml | 9 --- .../lcd_pcf8574/test.esp32-ard.yaml | 5 -- .../lcd_pcf8574/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2410/test.esp32-ard.yaml | 5 -- .../components/ld2410/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2412/test.esp32-ard.yaml | 5 -- .../components/ld2412/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2420/test.esp32-ard.yaml | 5 -- .../components/ld2420/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2450/test.esp32-ard.yaml | 5 -- .../components/ld2450/test.esp32-c3-ard.yaml | 5 -- tests/components/ledc/test.esp32-ard.yaml | 1 - tests/components/ledc/test.esp32-c3-ard.yaml | 1 - tests/components/light/test.esp32-ard.yaml | 21 ------- tests/components/light/test.esp32-c3-ard.yaml | 21 ------- .../lilygo_t5_47/test.esp32-ard.yaml | 7 --- .../lilygo_t5_47/test.esp32-c3-ard.yaml | 7 --- tests/components/lm75b/test.esp32-ard.yaml | 5 -- tests/components/lm75b/test.esp32-c3-ard.yaml | 5 -- tests/components/lock/test.esp32-ard.yaml | 1 - tests/components/lock/test.esp32-c3-ard.yaml | 1 - tests/components/lps22/test.esp32-ard.yaml | 6 -- tests/components/lps22/test.esp32-c3-ard.yaml | 6 -- tests/components/ltr390/test.esp32-ard.yaml | 5 -- .../components/ltr390/test.esp32-c3-ard.yaml | 5 -- tests/components/ltr501/test.esp32-ard.yaml | 6 -- .../components/ltr501/test.esp32-c3-ard.yaml | 6 -- .../components/ltr_als_ps/test.esp32-ard.yaml | 6 -- .../ltr_als_ps/test.esp32-c3-ard.yaml | 6 -- tests/components/lvgl/test.esp32-ard.yaml | 58 ------------------- .../m5stack_8angle/test.esp32-ard.yaml | 1 - .../m5stack_8angle/test.esp32-c3-ard.yaml | 1 - tests/components/mapping/test.esp32-ard.yaml | 17 ------ .../components/mapping/test.esp32-c3-ard.yaml | 17 ------ .../matrix_keypad/test.esp32-ard.yaml | 15 ----- .../matrix_keypad/test.esp32-c3-ard.yaml | 15 ----- tests/components/max17043/test.esp32-ard.yaml | 5 -- .../max17043/test.esp32-c3-ard.yaml | 5 -- tests/components/max31855/test.esp32-ard.yaml | 7 --- .../max31855/test.esp32-c3-ard.yaml | 7 --- tests/components/max31856/test.esp32-ard.yaml | 7 --- .../max31856/test.esp32-c3-ard.yaml | 7 --- tests/components/max31865/test.esp32-ard.yaml | 7 --- .../max31865/test.esp32-c3-ard.yaml | 7 --- tests/components/max44009/test.esp32-ard.yaml | 5 -- .../max44009/test.esp32-c3-ard.yaml | 5 -- tests/components/max6675/test.esp32-ard.yaml | 7 --- .../components/max6675/test.esp32-c3-ard.yaml | 7 --- tests/components/max6956/test.esp32-ard.yaml | 5 -- .../components/max6956/test.esp32-c3-ard.yaml | 5 -- tests/components/max7219/test.esp32-ard.yaml | 7 --- .../components/max7219/test.esp32-c3-ard.yaml | 7 --- .../max7219digit/test.esp32-ard.yaml | 7 --- .../max7219digit/test.esp32-c3-ard.yaml | 7 --- tests/components/max9611/test.esp32-ard.yaml | 5 -- .../components/max9611/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23008/test.esp32-ard.yaml | 5 -- .../mcp23008/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23016/test.esp32-ard.yaml | 5 -- .../mcp23016/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23017/test.esp32-ard.yaml | 5 -- .../mcp23017/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23s08/test.esp32-ard.yaml | 7 --- .../mcp23s08/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp23s17/test.esp32-ard.yaml | 7 --- .../mcp23s17/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp2515/test.esp32-ard.yaml | 7 --- .../components/mcp2515/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp3008/test.esp32-ard.yaml | 7 --- .../components/mcp3008/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp3204/test.esp32-ard.yaml | 7 --- .../components/mcp3204/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp4461/test.esp32-ard.yaml | 5 -- .../components/mcp4461/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp4725/test.esp32-ard.yaml | 5 -- .../components/mcp4725/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp4728/test.esp32-ard.yaml | 5 -- .../components/mcp4728/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp47a1/test.esp32-ard.yaml | 5 -- .../components/mcp47a1/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp9600/test.esp32-ard.yaml | 5 -- .../components/mcp9600/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp9808/test.esp32-ard.yaml | 5 -- .../components/mcp9808/test.esp32-c3-ard.yaml | 5 -- .../media_player/test.esp32-ard.yaml | 1 - tests/components/mhz19/test.esp32-ard.yaml | 5 -- tests/components/mhz19/test.esp32-c3-ard.yaml | 5 -- .../components/micronova/test.esp32-ard.yaml | 6 -- .../micronova/test.esp32-c3-ard.yaml | 6 -- .../components/microphone/test.esp32-ard.yaml | 13 ----- .../microphone/test.esp32-c3-ard.yaml | 7 --- .../components/mics_4514/test.esp32-ard.yaml | 5 -- .../mics_4514/test.esp32-c3-ard.yaml | 5 -- tests/components/midea_ir/test.esp32-ard.yaml | 1 - .../midea_ir/test.esp32-c3-ard.yaml | 1 - tests/components/mipi_spi/test.esp32-ard.yaml | 15 ----- .../mipi_spi/test.esp32-c3-ard.yaml | 10 ---- .../components/mitsubishi/test.esp32-ard.yaml | 1 - .../mitsubishi/test.esp32-c3-ard.yaml | 1 - tests/components/mixer/test.esp32-ard.yaml | 7 --- tests/components/mixer/test.esp32-c3-ard.yaml | 7 --- tests/components/mixer/test.esp32-s3-ard.yaml | 7 --- tests/components/mlx90393/test.esp32-ard.yaml | 5 -- .../mlx90393/test.esp32-c3-ard.yaml | 5 -- .../mlx90393/test.esp32-s3-ard.yaml | 5 -- tests/components/mlx90614/test.esp32-ard.yaml | 5 -- .../mlx90614/test.esp32-c3-ard.yaml | 5 -- tests/components/mmc5603/test.esp32-ard.yaml | 5 -- .../components/mmc5603/test.esp32-c3-ard.yaml | 5 -- tests/components/mmc5983/test.esp32-ard.yaml | 5 -- .../components/mmc5983/test.esp32-c3-ard.yaml | 5 -- tests/components/modbus/test.esp32-ard.yaml | 6 -- .../components/modbus/test.esp32-c3-ard.yaml | 6 -- .../modbus_controller/test.esp32-ard.yaml | 8 --- .../modbus_controller/test.esp32-c3-ard.yaml | 8 --- .../monochromatic/test.esp32-ard.yaml | 5 -- .../monochromatic/test.esp32-c3-ard.yaml | 5 -- .../components/mopeka_ble/test.esp32-ard.yaml | 1 - .../mopeka_ble/test.esp32-c3-ard.yaml | 1 - .../mopeka_pro_check/test.esp32-ard.yaml | 1 - .../mopeka_pro_check/test.esp32-c3-ard.yaml | 1 - .../mopeka_std_check/test.esp32-ard.yaml | 1 - .../mopeka_std_check/test.esp32-c3-ard.yaml | 1 - .../components/mpl3115a2/test.esp32-ard.yaml | 5 -- .../mpl3115a2/test.esp32-c3-ard.yaml | 5 -- tests/components/mpr121/test.esp32-ard.yaml | 5 -- .../components/mpr121/test.esp32-c3-ard.yaml | 5 -- tests/components/mpu6050/test.esp32-ard.yaml | 5 -- .../components/mpu6050/test.esp32-c3-ard.yaml | 5 -- tests/components/mpu6886/test.esp32-ard.yaml | 5 -- .../components/mpu6886/test.esp32-c3-ard.yaml | 5 -- tests/components/mqtt/test.esp32-ard.yaml | 6 -- tests/components/mqtt/test.esp32-c3-ard.yaml | 6 -- .../mqtt_subscribe/test.esp32-ard.yaml | 1 - .../mqtt_subscribe/test.esp32-c3-ard.yaml | 1 - tests/components/ms5611/test.esp32-ard.yaml | 5 -- .../components/ms5611/test.esp32-c3-ard.yaml | 5 -- tests/components/msa3xx/test.esp32-ard.yaml | 6 -- .../components/msa3xx/test.esp32-c3-ard.yaml | 6 -- tests/components/my9231/test.esp32-ard.yaml | 1 - .../components/my9231/test.esp32-c3-ard.yaml | 1 - tests/components/nau7802/test.esp32-ard.yaml | 6 -- .../components/nau7802/test.esp32-c3-ard.yaml | 6 -- tests/components/noblex/test.esp32-ard.yaml | 1 - .../components/noblex/test.esp32-c3-ard.yaml | 1 - tests/components/npi19/test.esp32-ard.yaml | 5 -- tests/components/npi19/test.esp32-s3-ard.yaml | 5 -- tests/components/ntc/test.esp32-ard.yaml | 4 -- tests/components/ntc/test.esp32-c3-ard.yaml | 4 -- tests/components/ntc/test.esp32-s2-ard.yaml | 4 -- tests/components/ntc/test.esp32-s3-ard.yaml | 4 -- .../online_image/test.esp32-ard.yaml | 4 -- tests/components/opt3001/test.esp32-ard.yaml | 5 -- .../components/opt3001/test.esp32-c3-ard.yaml | 5 -- tests/components/output/test.esp32-ard.yaml | 5 -- .../components/output/test.esp32-c3-ard.yaml | 5 -- tests/components/packages/test.esp32-ard.yaml | 11 ---- .../packet_transport/test.esp32-ard.yaml | 1 - .../packet_transport/test.esp32-c3-ard.yaml | 1 - .../components/partition/test.esp32-ard.yaml | 5 -- .../partition/test.esp32-c3-ard.yaml | 5 -- tests/components/pca6416a/test.esp32-ard.yaml | 5 -- .../pca6416a/test.esp32-c3-ard.yaml | 5 -- tests/components/pca9554/test.esp32-ard.yaml | 5 -- .../components/pca9554/test.esp32-c3-ard.yaml | 5 -- tests/components/pca9685/test.esp32-ard.yaml | 5 -- .../components/pca9685/test.esp32-c3-ard.yaml | 5 -- tests/components/pcd8544/test.esp32-ard.yaml | 9 --- .../components/pcd8544/test.esp32-c3-ard.yaml | 9 --- tests/components/pcf85063/test.esp32-ard.yaml | 5 -- .../pcf85063/test.esp32-c3-ard.yaml | 5 -- tests/components/pcf8563/test.esp32-ard.yaml | 5 -- .../components/pcf8563/test.esp32-c3-ard.yaml | 5 -- tests/components/pcf8574/test.esp32-ard.yaml | 5 -- .../components/pcf8574/test.esp32-c3-ard.yaml | 5 -- .../pi4ioe5v6408/test.esp32-ard.yaml | 5 -- tests/components/pid/test.esp32-ard.yaml | 1 - tests/components/pid/test.esp32-c3-ard.yaml | 1 - tests/components/pipsolar/test.esp32-ard.yaml | 5 -- .../pipsolar/test.esp32-c3-ard.yaml | 5 -- tests/components/pm1006/test.esp32-ard.yaml | 5 -- .../components/pm1006/test.esp32-c3-ard.yaml | 5 -- tests/components/pm2005/test.esp32-ard.yaml | 5 -- .../components/pm2005/test.esp32-c3-ard.yaml | 5 -- tests/components/pmsa003i/test.esp32-ard.yaml | 5 -- .../pmsa003i/test.esp32-c3-ard.yaml | 5 -- tests/components/pmsx003/test.esp32-ard.yaml | 5 -- .../components/pmsx003/test.esp32-c3-ard.yaml | 5 -- tests/components/pmwcs3/test.esp32-ard.yaml | 5 -- .../components/pmwcs3/test.esp32-c3-ard.yaml | 5 -- .../components/pn532_i2c/test.esp32-ard.yaml | 5 -- .../pn532_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/pn532_spi/test.esp32-ard.yaml | 7 --- .../pn532_spi/test.esp32-c3-ard.yaml | 7 --- .../components/pn7150_i2c/test.esp32-ard.yaml | 7 --- .../pn7150_i2c/test.esp32-c3-ard.yaml | 7 --- .../components/pn7160_i2c/test.esp32-ard.yaml | 7 --- .../pn7160_i2c/test.esp32-c3-ard.yaml | 7 --- .../components/pn7160_spi/test.esp32-ard.yaml | 9 --- .../pn7160_spi/test.esp32-c3-ard.yaml | 9 --- .../power_supply/test.esp32-ard.yaml | 1 - .../power_supply/test.esp32-c3-ard.yaml | 1 - .../components/prometheus/test.esp32-ard.yaml | 38 ------------ .../prometheus/test.esp32-c3-ard.yaml | 5 -- tests/components/psram/test.esp32-ard.yaml | 1 - tests/components/psram/test.esp32-s2-ard.yaml | 1 - tests/components/psram/test.esp32-s3-ard.yaml | 3 - .../pulse_counter/test.esp32-ard.yaml | 1 - .../pulse_counter/test.esp32-c3-ard.yaml | 1 - .../pulse_meter/test.esp32-ard.yaml | 1 - .../pulse_meter/test.esp32-c3-ard.yaml | 1 - .../pulse_width/test.esp32-ard.yaml | 1 - .../pulse_width/test.esp32-c3-ard.yaml | 1 - .../pvvx_mithermometer/test.esp32-ard.yaml | 1 - .../pvvx_mithermometer/test.esp32-c3-ard.yaml | 1 - .../components/pylontech/test.esp32-ard.yaml | 5 -- .../pylontech/test.esp32-c3-ard.yaml | 5 -- tests/components/pzem004t/test.esp32-ard.yaml | 5 -- .../pzem004t/test.esp32-c3-ard.yaml | 5 -- tests/components/pzemac/test.esp32-ard.yaml | 5 -- .../components/pzemac/test.esp32-c3-ard.yaml | 5 -- tests/components/pzemdc/test.esp32-ard.yaml | 5 -- .../components/pzemdc/test.esp32-c3-ard.yaml | 5 -- tests/components/qmc5883l/test.esp32-ard.yaml | 6 -- .../qmc5883l/test.esp32-c3-ard.yaml | 6 -- tests/components/qmp6988/test.esp32-ard.yaml | 5 -- .../components/qmp6988/test.esp32-c3-ard.yaml | 5 -- tests/components/qr_code/test.esp32-ard.yaml | 8 --- .../components/qr_code/test.esp32-c3-ard.yaml | 9 --- .../components/qwiic_pir/test.esp32-ard.yaml | 5 -- .../qwiic_pir/test.esp32-c3-ard.yaml | 5 -- .../radon_eye_ble/test.esp32-ard.yaml | 1 - .../radon_eye_ble/test.esp32-c3-ard.yaml | 1 - .../radon_eye_rd200/test.esp32-ard.yaml | 1 - .../radon_eye_rd200/test.esp32-c3-ard.yaml | 1 - .../components/rc522_i2c/test.esp32-ard.yaml | 5 -- .../rc522_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/rc522_spi/test.esp32-ard.yaml | 7 --- .../rc522_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/rdm6300/test.esp32-ard.yaml | 5 -- .../components/rdm6300/test.esp32-c3-ard.yaml | 5 -- .../remote_receiver/test.esp32-ard.yaml | 9 --- .../remote_receiver/test.esp32-c3-ard.yaml | 9 --- .../remote_transmitter/test.esp32-ard.yaml | 7 --- .../remote_transmitter/test.esp32-c3-ard.yaml | 7 --- .../components/resampler/test.esp32-ard.yaml | 7 --- .../resampler/test.esp32-c3-ard.yaml | 7 --- .../resampler/test.esp32-s3-ard.yaml | 7 --- .../components/resistance/test.esp32-ard.yaml | 4 -- .../resistance/test.esp32-c3-ard.yaml | 4 -- .../resistance/test.esp32-s2-ard.yaml | 4 -- .../resistance/test.esp32-s3-ard.yaml | 4 -- tests/components/restart/test.esp32-ard.yaml | 1 - .../components/restart/test.esp32-c3-ard.yaml | 1 - .../components/rf_bridge/test.esp32-ard.yaml | 5 -- .../rf_bridge/test.esp32-c3-ard.yaml | 5 -- tests/components/rgb/test.esp32-ard.yaml | 7 --- tests/components/rgb/test.esp32-c3-ard.yaml | 7 --- tests/components/rgbct/test.esp32-ard.yaml | 9 --- tests/components/rgbct/test.esp32-c3-ard.yaml | 9 --- tests/components/rgbw/test.esp32-ard.yaml | 8 --- tests/components/rgbw/test.esp32-c3-ard.yaml | 8 --- tests/components/rgbww/test.esp32-ard.yaml | 9 --- tests/components/rgbww/test.esp32-c3-ard.yaml | 9 --- .../rotary_encoder/test.esp32-ard.yaml | 6 -- .../rotary_encoder/test.esp32-c3-ard.yaml | 6 -- tests/components/rtttl/test.esp32-ard.yaml | 5 -- tests/components/rtttl/test.esp32-c3-ard.yaml | 5 -- .../runtime_stats/test.esp32-ard.yaml | 1 - .../components/ruuvi_ble/test.esp32-ard.yaml | 1 - .../ruuvi_ble/test.esp32-c3-ard.yaml | 1 - tests/components/ruuvitag/test.esp32-ard.yaml | 1 - .../ruuvitag/test.esp32-c3-ard.yaml | 1 - .../safe_mode/test-enabled.esp32-ard.yaml | 1 - .../safe_mode/test-enabled.esp32-c3-ard.yaml | 1 - tests/components/scd30/test.esp32-ard.yaml | 5 -- tests/components/scd30/test.esp32-c3-ard.yaml | 5 -- tests/components/scd4x/test.esp32-ard.yaml | 5 -- tests/components/scd4x/test.esp32-c3-ard.yaml | 5 -- tests/components/script/test.esp32-ard.yaml | 1 - .../components/script/test.esp32-c3-ard.yaml | 1 - .../components/sdm_meter/test.esp32-ard.yaml | 5 -- .../sdm_meter/test.esp32-c3-ard.yaml | 5 -- tests/components/sdp3x/test.esp32-ard.yaml | 5 -- tests/components/sdp3x/test.esp32-c3-ard.yaml | 5 -- tests/components/sds011/test.esp32-ard.yaml | 5 -- .../components/sds011/test.esp32-c3-ard.yaml | 5 -- .../seeed_mr24hpc1/test.esp32-c3-ard.yaml | 5 -- .../seeed_mr60bha2/test.esp32-c3-ard.yaml | 5 -- .../seeed_mr60fda2/test.esp32-c3-ard.yaml | 5 -- .../selec_meter/test.esp32-ard.yaml | 5 -- .../selec_meter/test.esp32-c3-ard.yaml | 5 -- tests/components/sen0321/test.esp32-ard.yaml | 5 -- .../components/sen0321/test.esp32-c3-ard.yaml | 5 -- tests/components/sen21231/test.esp32-ard.yaml | 5 -- .../sen21231/test.esp32-c3-ard.yaml | 5 -- tests/components/sen5x/test.esp32-ard.yaml | 5 -- tests/components/sen5x/test.esp32-c3-ard.yaml | 5 -- tests/components/senseair/test.esp32-ard.yaml | 5 -- .../senseair/test.esp32-c3-ard.yaml | 5 -- tests/components/servo/test.esp32-ard.yaml | 5 -- tests/components/servo/test.esp32-c3-ard.yaml | 5 -- tests/components/sfa30/test.esp32-ard.yaml | 5 -- tests/components/sfa30/test.esp32-c3-ard.yaml | 5 -- tests/components/sgp30/test.esp32-ard.yaml | 5 -- tests/components/sgp30/test.esp32-c3-ard.yaml | 5 -- tests/components/sgp4x/test.esp32-ard.yaml | 5 -- tests/components/sgp4x/test.esp32-c3-ard.yaml | 5 -- tests/components/sht3xd/test.esp32-ard.yaml | 5 -- .../components/sht3xd/test.esp32-c3-ard.yaml | 5 -- tests/components/sht4x/test.esp32-ard.yaml | 5 -- tests/components/sht4x/test.esp32-c3-ard.yaml | 5 -- tests/components/shtcx/test.esp32-ard.yaml | 5 -- tests/components/shtcx/test.esp32-c3-ard.yaml | 5 -- tests/components/shutdown/test.esp32-ard.yaml | 1 - .../shutdown/test.esp32-c3-ard.yaml | 1 - .../sigma_delta_output/test.esp32-ard.yaml | 1 - .../sigma_delta_output/test.esp32-c3-ard.yaml | 1 - tests/components/sim800l/test.esp32-ard.yaml | 5 -- .../components/sim800l/test.esp32-c3-ard.yaml | 5 -- tests/components/slow_pwm/test.esp32-ard.yaml | 1 - .../slow_pwm/test.esp32-c3-ard.yaml | 1 - tests/components/sm16716/test.esp32-ard.yaml | 5 -- .../components/sm16716/test.esp32-c3-ard.yaml | 5 -- tests/components/sm2135/test.esp32-ard.yaml | 5 -- .../components/sm2135/test.esp32-c3-ard.yaml | 5 -- tests/components/sm2235/test.esp32-ard.yaml | 5 -- .../components/sm2235/test.esp32-c3-ard.yaml | 5 -- tests/components/sm2335/test.esp32-ard.yaml | 5 -- .../components/sm2335/test.esp32-c3-ard.yaml | 5 -- tests/components/sm300d2/test.esp32-ard.yaml | 5 -- .../components/sm300d2/test.esp32-c3-ard.yaml | 5 -- tests/components/sml/test.esp32-ard.yaml | 5 -- tests/components/sml/test.esp32-c3-ard.yaml | 5 -- tests/components/smt100/test.esp32-ard.yaml | 5 -- .../components/smt100/test.esp32-c3-ard.yaml | 5 -- .../components/sn74hc165/test.esp32-ard.yaml | 7 --- .../sn74hc165/test.esp32-c3-ard.yaml | 7 --- .../components/sn74hc595/test.esp32-ard.yaml | 12 ---- .../sn74hc595/test.esp32-c3-ard.yaml | 12 ---- tests/components/sntp/test.esp32-ard.yaml | 1 - tests/components/sntp/test.esp32-c3-ard.yaml | 1 - .../components/sonoff_d1/test.esp32-ard.yaml | 5 -- .../sonoff_d1/test.esp32-c3-ard.yaml | 5 -- .../sound_level/test.esp32-ard.yaml | 6 -- .../sound_level/test.esp32-c3-ard.yaml | 6 -- .../sound_level/test.esp32-s3-ard.yaml | 6 -- tests/components/speed/test.esp32-ard.yaml | 5 -- tests/components/speed/test.esp32-c3-ard.yaml | 5 -- .../components/spi_device/test.esp32-ard.yaml | 6 -- .../spi_device/test.esp32-c3-ard.yaml | 6 -- .../spi_led_strip/test.esp32-ard.yaml | 5 -- .../spi_led_strip/test.esp32-c3-ard.yaml | 5 -- .../components/sprinkler/test.esp32-ard.yaml | 1 - .../sprinkler/test.esp32-c3-ard.yaml | 1 - tests/components/sps30/test.esp32-ard.yaml | 5 -- tests/components/sps30/test.esp32-c3-ard.yaml | 5 -- .../ssd1306_i2c/test.esp32-ard.yaml | 6 -- .../ssd1306_i2c/test.esp32-c3-ard.yaml | 6 -- .../ssd1306_spi/test.esp32-ard.yaml | 8 --- .../ssd1306_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1322_spi/test.esp32-ard.yaml | 8 --- .../ssd1322_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1325_spi/test.esp32-ard.yaml | 8 --- .../ssd1325_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1327_i2c/test.esp32-ard.yaml | 6 -- .../ssd1327_i2c/test.esp32-c3-ard.yaml | 6 -- .../ssd1327_spi/test.esp32-ard.yaml | 8 --- .../ssd1327_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1331_spi/test.esp32-ard.yaml | 8 --- .../ssd1331_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1351_spi/test.esp32-ard.yaml | 8 --- .../ssd1351_spi/test.esp32-c3-ard.yaml | 9 --- .../components/st7567_i2c/test.esp32-ard.yaml | 6 -- .../st7567_i2c/test.esp32-c3-ard.yaml | 6 -- .../components/st7567_spi/test.esp32-ard.yaml | 8 --- .../st7567_spi/test.esp32-c3-ard.yaml | 9 --- tests/components/st7735/test.esp32-ard.yaml | 8 --- .../components/st7735/test.esp32-c3-ard.yaml | 9 --- tests/components/st7789v/test.esp32-ard.yaml | 8 --- .../components/st7789v/test.esp32-c3-ard.yaml | 9 --- tests/components/st7920/test.esp32-ard.yaml | 6 -- .../components/st7920/test.esp32-c3-ard.yaml | 7 --- tests/components/statsD/test.esp32-ard.yaml | 2 - .../components/statsD/test.esp32-c3-ard.yaml | 2 - tests/components/status/test.esp32-ard.yaml | 1 - .../components/status/test.esp32-c3-ard.yaml | 1 - .../components/status_led/test.esp32-ard.yaml | 1 - .../status_led/test.esp32-c3-ard.yaml | 1 - tests/components/stepper/test.esp32-ard.yaml | 1 - .../components/stepper/test.esp32-c3-ard.yaml | 1 - tests/components/sts3x/test.esp32-ard.yaml | 5 -- tests/components/sts3x/test.esp32-c3-ard.yaml | 5 -- tests/components/sun/test.esp32-ard.yaml | 1 - tests/components/sun/test.esp32-c3-ard.yaml | 1 - .../components/sun_gtil2/test.esp32-ard.yaml | 4 -- .../sun_gtil2/test.esp32-c3-ard.yaml | 4 -- tests/components/switch/test.esp32-ard.yaml | 2 - .../components/switch/test.esp32-c3-ard.yaml | 2 - tests/components/sx126x/test.esp32-ard.yaml | 10 ---- .../components/sx126x/test.esp32-c3-ard.yaml | 10 ---- tests/components/sx127x/test.esp32-ard.yaml | 9 --- .../components/sx127x/test.esp32-c3-ard.yaml | 9 --- tests/components/sx1509/test.esp32-ard.yaml | 5 -- .../components/sx1509/test.esp32-c3-ard.yaml | 5 -- tests/components/syslog/test.esp32-ard.yaml | 1 - .../components/syslog/test.esp32-c3-ard.yaml | 1 - tests/components/t6615/test.esp32-ard.yaml | 5 -- tests/components/t6615/test.esp32-c3-ard.yaml | 5 -- tests/components/tc74/test.esp32-ard.yaml | 5 -- tests/components/tc74/test.esp32-c3-ard.yaml | 5 -- tests/components/tca9548a/test.esp32-ard.yaml | 5 -- .../tca9548a/test.esp32-c3-ard.yaml | 5 -- tests/components/tca9555/test.esp32-ard.yaml | 5 -- .../components/tca9555/test.esp32-c3-ard.yaml | 5 -- tests/components/tcl112/test.esp32-ard.yaml | 4 -- .../components/tcl112/test.esp32-c3-ard.yaml | 4 -- tests/components/tcs34725/test.esp32-ard.yaml | 5 -- .../tcs34725/test.esp32-c3-ard.yaml | 5 -- tests/components/tee501/test.esp32-ard.yaml | 5 -- .../components/tee501/test.esp32-c3-ard.yaml | 5 -- tests/components/teleinfo/test.esp32-ard.yaml | 5 -- .../teleinfo/test.esp32-c3-ard.yaml | 5 -- tests/components/tem3200/test.esp32-ard.yaml | 5 -- .../components/tem3200/test.esp32-s3-ard.yaml | 5 -- tests/components/template/test.esp32-ard.yaml | 2 - .../template/test.esp32-c3-ard.yaml | 2 - .../components/thermostat/test.esp32-ard.yaml | 1 - .../thermostat/test.esp32-c3-ard.yaml | 1 - .../components/time_based/test.esp32-ard.yaml | 1 - .../time_based/test.esp32-c3-ard.yaml | 1 - .../components/tlc59208f/test.esp32-ard.yaml | 5 -- .../tlc59208f/test.esp32-c3-ard.yaml | 5 -- tests/components/tlc5947/test.esp32-ard.yaml | 7 --- .../components/tlc5947/test.esp32-c3-ard.yaml | 7 --- tests/components/tlc5971/test.esp32-ard.yaml | 7 --- .../components/tlc5971/test.esp32-c3-ard.yaml | 6 -- .../components/tlc5971/test.esp32-s2-ard.yaml | 6 -- tests/components/tm1621/test.esp32-ard.yaml | 7 --- .../components/tm1621/test.esp32-c3-ard.yaml | 7 --- tests/components/tm1637/test.esp32-ard.yaml | 5 -- .../components/tm1637/test.esp32-c3-ard.yaml | 5 -- tests/components/tm1638/test.esp32-ard.yaml | 1 - .../components/tm1638/test.esp32-c3-ard.yaml | 1 - tests/components/tm1651/test.esp32-ard.yaml | 1 - .../components/tm1651/test.esp32-c3-ard.yaml | 1 - tests/components/tmp102/test.esp32-ard.yaml | 5 -- .../components/tmp102/test.esp32-c3-ard.yaml | 5 -- tests/components/tmp1075/test.esp32-ard.yaml | 5 -- .../components/tmp1075/test.esp32-c3-ard.yaml | 5 -- tests/components/tmp117/test.esp32-ard.yaml | 5 -- .../components/tmp117/test.esp32-c3-ard.yaml | 5 -- tests/components/tof10120/test.esp32-ard.yaml | 5 -- .../tof10120/test.esp32-c3-ard.yaml | 5 -- tests/components/tormatic/test.esp32-ard.yaml | 5 -- .../tormatic/test.esp32-c3-ard.yaml | 5 -- tests/components/toshiba/test.esp32-ard.yaml | 4 -- .../components/toshiba/test.esp32-c3-ard.yaml | 4 -- .../total_daily_energy/test.esp32-ard.yaml | 6 -- .../total_daily_energy/test.esp32-c3-ard.yaml | 6 -- tests/components/tsl2561/test.esp32-ard.yaml | 5 -- .../components/tsl2561/test.esp32-c3-ard.yaml | 5 -- tests/components/tsl2591/test.esp32-ard.yaml | 5 -- .../components/tsl2591/test.esp32-c3-ard.yaml | 5 -- tests/components/tt21100/test.esp32-ard.yaml | 8 --- .../components/tt21100/test.esp32-c3-ard.yaml | 8 --- .../components/ttp229_bsf/test.esp32-ard.yaml | 5 -- .../ttp229_bsf/test.esp32-c3-ard.yaml | 5 -- .../components/ttp229_lsf/test.esp32-ard.yaml | 5 -- .../ttp229_lsf/test.esp32-c3-ard.yaml | 5 -- tests/components/tuya/test.esp32-ard.yaml | 6 -- tests/components/tuya/test.esp32-c3-ard.yaml | 6 -- tests/components/tx20/test.esp32-ard.yaml | 1 - tests/components/tx20/test.esp32-c3-ard.yaml | 1 - ...st-uart_max_with_usb_cdc.esp32-c3-ard.yaml | 36 ------------ ...st-uart_max_with_usb_cdc.esp32-s2-ard.yaml | 36 ------------ ...st-uart_max_with_usb_cdc.esp32-s3-ard.yaml | 48 --------------- tests/components/uart/test.esp32-ard.yaml | 18 ------ tests/components/uart/test.esp32-c3-ard.yaml | 18 ------ tests/components/udp/test.esp32-ard.yaml | 1 - tests/components/udp/test.esp32-c3-ard.yaml | 1 - tests/components/ufire_ec/test.esp32-ard.yaml | 5 -- .../ufire_ec/test.esp32-c3-ard.yaml | 5 -- .../components/ufire_ise/test.esp32-ard.yaml | 5 -- .../ufire_ise/test.esp32-c3-ard.yaml | 5 -- tests/components/uln2003/test.esp32-ard.yaml | 7 --- .../components/uln2003/test.esp32-c3-ard.yaml | 7 --- .../components/ultrasonic/test.esp32-ard.yaml | 1 - .../ultrasonic/test.esp32-c3-ard.yaml | 1 - tests/components/update/test.esp32-ard.yaml | 4 -- .../uponor_smatrix/test.esp32-ard.yaml | 5 -- .../uponor_smatrix/test.esp32-c3-ard.yaml | 5 -- tests/components/uptime/test.esp32-ard.yaml | 1 - .../components/uptime/test.esp32-c3-ard.yaml | 1 - tests/components/vbus/test.esp32-ard.yaml | 5 -- tests/components/vbus/test.esp32-c3-ard.yaml | 5 -- tests/components/veml3235/test.esp32-ard.yaml | 5 -- .../veml3235/test.esp32-c3-ard.yaml | 5 -- tests/components/veml7700/test.esp32-ard.yaml | 5 -- .../veml7700/test.esp32-c3-ard.yaml | 5 -- tests/components/version/test.esp32-ard.yaml | 1 - .../components/version/test.esp32-c3-ard.yaml | 1 - tests/components/vl53l0x/test.esp32-ard.yaml | 5 -- .../components/vl53l0x/test.esp32-c3-ard.yaml | 5 -- .../voice_assistant/test.esp32-ard.yaml | 8 --- .../voice_assistant/test.esp32-c3-ard.yaml | 8 --- .../wake_on_lan/test.esp32-ard.yaml | 1 - .../wake_on_lan/test.esp32-c3-ard.yaml | 1 - .../waveshare_epaper/test.esp32-ard.yaml | 9 --- .../waveshare_epaper/test.esp32-c3-ard.yaml | 9 --- .../components/whirlpool/test.esp32-ard.yaml | 4 -- .../whirlpool/test.esp32-c3-ard.yaml | 4 -- tests/components/whynter/test.esp32-ard.yaml | 4 -- .../components/whynter/test.esp32-c3-ard.yaml | 4 -- tests/components/wiegand/test.esp32-ard.yaml | 1 - .../components/wiegand/test.esp32-c3-ard.yaml | 1 - tests/components/wifi/test-eap.esp32-ard.yaml | 1 - tests/components/wifi/test.esp32-ard.yaml | 1 - tests/components/wifi/test.esp32-c3-ard.yaml | 1 - .../components/wifi_info/test.esp32-ard.yaml | 1 - .../wifi_info/test.esp32-c3-ard.yaml | 1 - .../wifi_signal/test.esp32-ard.yaml | 1 - .../wifi_signal/test.esp32-c3-ard.yaml | 1 - .../components/wireguard/test.esp32-ard.yaml | 4 -- .../wireguard/test.esp32-c3-ard.yaml | 1 - .../components/wk2132_i2c/test.esp32-ard.yaml | 5 -- .../wk2132_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2132_spi/test.esp32-ard.yaml | 7 --- .../wk2132_spi/test.esp32-s3-ard.yaml | 7 --- .../components/wk2168_i2c/test.esp32-ard.yaml | 5 -- .../wk2168_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2168_spi/test.esp32-ard.yaml | 7 --- .../wk2168_spi/test.esp32-s3-ard.yaml | 7 --- .../components/wk2204_i2c/test.esp32-ard.yaml | 5 -- .../wk2204_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2204_spi/test.esp32-ard.yaml | 7 --- .../wk2204_spi/test.esp32-s3-ard.yaml | 7 --- .../components/wk2212_i2c/test.esp32-ard.yaml | 5 -- .../wk2212_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2212_spi/test.esp32-ard.yaml | 7 --- .../wk2212_spi/test.esp32-s3-ard.yaml | 7 --- tests/components/wl_134/test.esp32-ard.yaml | 5 -- .../components/wl_134/test.esp32-c3-ard.yaml | 5 -- tests/components/wts01/test.esp32-ard.yaml | 5 -- tests/components/wts01/test.esp32-c3-ard.yaml | 5 -- tests/components/x9c/test.esp32-ard.yaml | 6 -- tests/components/x9c/test.esp32-c3-ard.yaml | 6 -- tests/components/xgzp68xx/test.esp32-ard.yaml | 5 -- .../xgzp68xx/test.esp32-c3-ard.yaml | 5 -- .../components/xiaomi_ble/test.esp32-ard.yaml | 1 - .../xiaomi_ble/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgd1/test.esp32-ard.yaml | 1 - .../xiaomi_cgd1/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgdk2/test.esp32-ard.yaml | 1 - .../xiaomi_cgdk2/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgg1/test.esp32-ard.yaml | 1 - .../xiaomi_cgg1/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgpr1/test.esp32-ard.yaml | 1 - .../xiaomi_cgpr1/test.esp32-c3-ard.yaml | 1 - .../xiaomi_gcls002/test.esp32-ard.yaml | 1 - .../xiaomi_gcls002/test.esp32-c3-ard.yaml | 1 - .../xiaomi_hhccjcy01/test.esp32-ard.yaml | 1 - .../xiaomi_hhccjcy01/test.esp32-c3-ard.yaml | 1 - .../xiaomi_hhccpot002/test.esp32-ard.yaml | 1 - .../xiaomi_hhccpot002/test.esp32-c3-ard.yaml | 1 - .../xiaomi_jqjcy01ym/test.esp32-ard.yaml | 1 - .../xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsd02/test.esp32-ard.yaml | 1 - .../xiaomi_lywsd02/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsd02mmc/test.esp32-ard.yaml | 1 - .../xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsd03mmc/test.esp32-ard.yaml | 1 - .../xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsdcgq/test.esp32-ard.yaml | 1 - .../xiaomi_lywsdcgq/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mhoc303/test.esp32-ard.yaml | 1 - .../xiaomi_mhoc303/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mhoc401/test.esp32-ard.yaml | 1 - .../xiaomi_mhoc401/test.esp32-c3-ard.yaml | 1 - .../xiaomi_miscale/test.esp32-ard.yaml | 1 - .../xiaomi_miscale/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mjyd02yla/test.esp32-ard.yaml | 1 - .../xiaomi_mjyd02yla/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mue4094rt/test.esp32-ard.yaml | 1 - .../xiaomi_mue4094rt/test.esp32-c3-ard.yaml | 1 - .../xiaomi_rtcgq02lm/test.esp32-ard.yaml | 1 - .../xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml | 1 - .../xiaomi_wx08zm/test.esp32-ard.yaml | 1 - .../xiaomi_wx08zm/test.esp32-c3-ard.yaml | 1 - .../xiaomi_xmwsdj04mmc/test.esp32-ard.yaml | 1 - .../xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml | 1 - tests/components/xl9535/test.esp32-ard.yaml | 5 -- .../components/xl9535/test.esp32-c3-ard.yaml | 5 -- tests/components/xpt2046/test.esp32-ard.yaml | 11 ---- .../components/xpt2046/test.esp32-c3-ard.yaml | 11 ---- tests/components/yashima/test.esp32-ard.yaml | 4 -- .../components/yashima/test.esp32-c3-ard.yaml | 4 -- tests/components/zhlt01/test.esp32-ard.yaml | 4 -- .../components/zhlt01/test.esp32-c3-ard.yaml | 4 -- .../zio_ultrasonic/test.esp32-ard.yaml | 5 -- .../zio_ultrasonic/test.esp32-c3-ard.yaml | 5 -- .../zwave_proxy/test.esp32-ard.yaml | 5 -- .../zwave_proxy/test.esp32-c3-ard.yaml | 5 -- tests/components/zyaura/test.esp32-ard.yaml | 5 -- .../components/zyaura/test.esp32-c3-ard.yaml | 5 -- 1007 files changed, 4942 deletions(-) delete mode 100644 tests/components/a01nyub/test.esp32-ard.yaml delete mode 100644 tests/components/a01nyub/test.esp32-c3-ard.yaml delete mode 100644 tests/components/a02yyuw/test.esp32-ard.yaml delete mode 100644 tests/components/a02yyuw/test.esp32-c3-ard.yaml delete mode 100644 tests/components/a4988/test.esp32-ard.yaml delete mode 100644 tests/components/a4988/test.esp32-c3-ard.yaml delete mode 100644 tests/components/absolute_humidity/test.esp32-ard.yaml delete mode 100644 tests/components/absolute_humidity/test.esp32-c3-ard.yaml delete mode 100644 tests/components/adc/test.esp32-ard.yaml delete mode 100644 tests/components/adc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/adc/test.esp32-s2-ard.yaml delete mode 100644 tests/components/adc/test.esp32-s3-ard.yaml delete mode 100644 tests/components/adc128s102/test.esp32-ard.yaml delete mode 100644 tests/components/adc128s102/test.esp32-c3-ard.yaml delete mode 100644 tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml delete mode 100644 tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml delete mode 100644 tests/components/addressable_light/fastled_clockless.esp32-ard.yaml delete mode 100644 tests/components/ade7880/test.esp32-ard.yaml delete mode 100644 tests/components/ade7880/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ade7953_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ade7953_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ade7953_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ade7953_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ads1115/test.esp32-ard.yaml delete mode 100644 tests/components/ads1115/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ags10/test.esp32-ard.yaml delete mode 100644 tests/components/ags10/test.esp32-c3-ard.yaml delete mode 100644 tests/components/aht10/test.esp32-ard.yaml delete mode 100644 tests/components/aht10/test.esp32-c3-ard.yaml delete mode 100644 tests/components/aic3204/test.esp32-ard.yaml delete mode 100644 tests/components/aic3204/test.esp32-c3-ard.yaml delete mode 100644 tests/components/airthings_wave_mini/test.esp32-ard.yaml delete mode 100644 tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml delete mode 100644 tests/components/airthings_wave_plus/test.esp32-ard.yaml delete mode 100644 tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/alarm_control_panel/test.esp32-ard.yaml delete mode 100644 tests/components/alarm_control_panel/test.esp32-c3-ard.yaml delete mode 100644 tests/components/alpha3/test.esp32-ard.yaml delete mode 100644 tests/components/alpha3/test.esp32-c3-ard.yaml delete mode 100644 tests/components/am2315c/test.esp32-ard.yaml delete mode 100644 tests/components/am2315c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/am2320/test.esp32-ard.yaml delete mode 100644 tests/components/am2320/test.esp32-c3-ard.yaml delete mode 100644 tests/components/am43/test.esp32-ard.yaml delete mode 100644 tests/components/am43/test.esp32-c3-ard.yaml delete mode 100644 tests/components/analog_threshold/test.esp32-ard.yaml delete mode 100644 tests/components/analog_threshold/test.esp32-c3-ard.yaml delete mode 100644 tests/components/animation/test.esp32-ard.yaml delete mode 100644 tests/components/animation/test.esp32-c3-ard.yaml delete mode 100644 tests/components/anova/test.esp32-ard.yaml delete mode 100644 tests/components/anova/test.esp32-c3-ard.yaml delete mode 100644 tests/components/apds9306/test.esp32-ard.yaml delete mode 100644 tests/components/apds9306/test.esp32-c3-ard.yaml delete mode 100644 tests/components/apds9960/test.esp32-ard.yaml delete mode 100644 tests/components/apds9960/test.esp32-c3-ard.yaml delete mode 100644 tests/components/api/test.esp32-ard.yaml delete mode 100644 tests/components/api/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as3935_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/as3935_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as3935_spi/test.esp32-ard.yaml delete mode 100644 tests/components/as3935_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as5600/test.esp32-ard.yaml delete mode 100644 tests/components/as5600/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as7341/test.esp32-ard.yaml delete mode 100644 tests/components/as7341/test.esp32-c3-ard.yaml delete mode 100644 tests/components/at581x/test.esp32-ard.yaml delete mode 100644 tests/components/at581x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/atc_mithermometer/test.esp32-ard.yaml delete mode 100644 tests/components/atc_mithermometer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/atm90e26/test.esp32-ard.yaml delete mode 100644 tests/components/atm90e26/test.esp32-c3-ard.yaml delete mode 100644 tests/components/atm90e32/test.esp32-ard.yaml delete mode 100644 tests/components/atm90e32/test.esp32-c3-ard.yaml delete mode 100644 tests/components/axs15231/test.esp32-ard.yaml delete mode 100644 tests/components/axs15231/test.esp32-c3-ard.yaml delete mode 100644 tests/components/b_parasite/test.esp32-ard.yaml delete mode 100644 tests/components/b_parasite/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ballu/test.esp32-ard.yaml delete mode 100644 tests/components/bang_bang/test.esp32-ard.yaml delete mode 100644 tests/components/bang_bang/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bedjet/test.esp32-ard.yaml delete mode 100644 tests/components/bedjet/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bh1750/test.esp32-ard.yaml delete mode 100644 tests/components/bh1750/test.esp32-c3-ard.yaml delete mode 100644 tests/components/binary_sensor/test.esp32-ard.yaml delete mode 100644 tests/components/binary_sensor/test.esp32-c3-ard.yaml delete mode 100644 tests/components/binary_sensor_map/test.esp32-ard.yaml delete mode 100644 tests/components/binary_sensor_map/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0906/test.esp32-ard.yaml delete mode 100644 tests/components/bl0906/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0939/test.esp32-ard.yaml delete mode 100644 tests/components/bl0939/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0940/test.esp32-ard.yaml delete mode 100644 tests/components/bl0940/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0942/test.esp32-ard.yaml delete mode 100644 tests/components/bl0942/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_client/test.esp32-ard.yaml delete mode 100644 tests/components/ble_client/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_presence/test.esp32-ard.yaml delete mode 100644 tests/components/ble_presence/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_rssi/test.esp32-ard.yaml delete mode 100644 tests/components/ble_rssi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_scanner/test.esp32-ard.yaml delete mode 100644 tests/components/ble_scanner/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml delete mode 100644 tests/components/bme280_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bme280_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme280_spi/test.esp32-ard.yaml delete mode 100644 tests/components/bme280_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme680/test.esp32-ard.yaml delete mode 100644 tests/components/bme680/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/bmi160/test.esp32-ard.yaml delete mode 100644 tests/components/bmi160/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp085/test.esp32-ard.yaml delete mode 100644 tests/components/bmp085/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp280_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bmp280_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp280_spi/test.esp32-ard.yaml delete mode 100644 tests/components/bmp280_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp3xx_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp3xx_spi/test.esp32-ard.yaml delete mode 100644 tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp581/test.esp32-ard.yaml delete mode 100644 tests/components/bmp581/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bp1658cj/test.esp32-ard.yaml delete mode 100644 tests/components/bp1658cj/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bp5758d/test.esp32-ard.yaml delete mode 100644 tests/components/bp5758d/test.esp32-c3-ard.yaml delete mode 100644 tests/components/button/test.esp32-ard.yaml delete mode 100644 tests/components/button/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bytebuffer/test.esp32-ard.yaml delete mode 100644 tests/components/bytebuffer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/camera/test.esp32-ard.yaml delete mode 100644 tests/components/camera_encoder/test.esp32-ard.yaml delete mode 100644 tests/components/canbus/test.esp32-ard.yaml delete mode 100644 tests/components/canbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cap1188/test.esp32-ard.yaml delete mode 100644 tests/components/cap1188/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ccs811/test.esp32-ard.yaml delete mode 100644 tests/components/ccs811/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cd74hc4067/test.esp32-ard.yaml delete mode 100644 tests/components/cd74hc4067/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ch422g/test.esp32-ard.yaml delete mode 100644 tests/components/ch422g/test.esp32-c3-ard.yaml delete mode 100644 tests/components/chsc6x/test.esp32-ard.yaml delete mode 100644 tests/components/chsc6x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/climate_ir_lg/test.esp32-ard.yaml delete mode 100644 tests/components/climate_ir_lg/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cm1106/test.esp32-ard.yaml delete mode 100644 tests/components/cm1106/test.esp32-c3-ard.yaml delete mode 100644 tests/components/color/test.esp32-ard.yaml delete mode 100644 tests/components/color/test.esp32-c3-ard.yaml delete mode 100644 tests/components/color_temperature/test.esp32-ard.yaml delete mode 100644 tests/components/color_temperature/test.esp32-c3-ard.yaml delete mode 100644 tests/components/combination/test.esp32-ard.yaml delete mode 100644 tests/components/combination/test.esp32-c3-ard.yaml delete mode 100644 tests/components/coolix/test.esp32-ard.yaml delete mode 100644 tests/components/coolix/test.esp32-c3-ard.yaml delete mode 100644 tests/components/copy/test.esp32-ard.yaml delete mode 100644 tests/components/copy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cs5460a/test.esp32-ard.yaml delete mode 100644 tests/components/cs5460a/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cse7761/test.esp32-ard.yaml delete mode 100644 tests/components/cse7761/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cse7766/test.esp32-ard.yaml delete mode 100644 tests/components/cse7766/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cst226/test.esp32-ard.yaml delete mode 100644 tests/components/cst226/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cst816/test.esp32-ard.yaml delete mode 100644 tests/components/cst816/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ct_clamp/test.esp32-ard.yaml delete mode 100644 tests/components/ct_clamp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/current_based/test.esp32-ard.yaml delete mode 100644 tests/components/current_based/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cwww/test.esp32-ard.yaml delete mode 100644 tests/components/cwww/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dac7678/test.esp32-ard.yaml delete mode 100644 tests/components/dac7678/test.esp32-c3-ard.yaml delete mode 100644 tests/components/daikin/test.esp32-ard.yaml delete mode 100644 tests/components/daikin_arc/test.esp32-ard.yaml delete mode 100644 tests/components/daikin_brc/test.esp32-ard.yaml delete mode 100644 tests/components/daikin_brc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dallas_temp/test.esp32-ard.yaml delete mode 100644 tests/components/dallas_temp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/daly_bms/test.esp32-ard.yaml delete mode 100644 tests/components/daly_bms/test.esp32-c3-ard.yaml delete mode 100644 tests/components/deep_sleep/test.esp32-ard.yaml delete mode 100644 tests/components/deep_sleep/test.esp32-c3-ard.yaml delete mode 100644 tests/components/delonghi/test.esp32-ard.yaml delete mode 100644 tests/components/delonghi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dfplayer/test.esp32-ard.yaml delete mode 100644 tests/components/dfplayer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dfrobot_sen0395/test.esp32-ard.yaml delete mode 100644 tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dht/test.esp32-ard.yaml delete mode 100644 tests/components/dht/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dht12/test.esp32-ard.yaml delete mode 100644 tests/components/dht12/test.esp32-c3-ard.yaml delete mode 100644 tests/components/display/test.esp32-ard.yaml delete mode 100644 tests/components/dps310/test.esp32-ard.yaml delete mode 100644 tests/components/dps310/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ds1307/test.esp32-ard.yaml delete mode 100644 tests/components/ds1307/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ds2484/test.esp32-ard.yaml delete mode 100644 tests/components/ds2484/test.esp32-c3-ard.yaml delete mode 100644 tests/components/duty_cycle/test.esp32-ard.yaml delete mode 100644 tests/components/duty_cycle/test.esp32-c3-ard.yaml delete mode 100644 tests/components/duty_time/test.esp32-ard.yaml delete mode 100644 tests/components/duty_time/test.esp32-c3-ard.yaml delete mode 100644 tests/components/e131/test.esp32-ard.yaml delete mode 100644 tests/components/e131/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ee895/test.esp32-ard.yaml delete mode 100644 tests/components/ee895/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ektf2232/test.esp32-ard.yaml delete mode 100644 tests/components/ektf2232/test.esp32-c3-ard.yaml delete mode 100644 tests/components/emc2101/test.esp32-ard.yaml delete mode 100644 tests/components/emc2101/test.esp32-c3-ard.yaml delete mode 100644 tests/components/emmeti/test.esp32-ard.yaml delete mode 100644 tests/components/endstop/test.esp32-ard.yaml delete mode 100644 tests/components/endstop/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ens160_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ens160_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ens160_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ens160_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ens210/test.esp32-ard.yaml delete mode 100644 tests/components/ens210/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es7210/test.esp32-ard.yaml delete mode 100644 tests/components/es7210/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es7243e/test.esp32-ard.yaml delete mode 100644 tests/components/es7243e/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es8156/test.esp32-ard.yaml delete mode 100644 tests/components/es8156/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es8311/test.esp32-ard.yaml delete mode 100644 tests/components/es8311/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es8388/test.esp32-ard.yaml delete mode 100644 tests/components/es8388/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble_client/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_client/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble_server/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_server/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_camera/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_camera_web_server/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_can/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_can/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_dac/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_improv/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_improv/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_touch/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_touch/test.esp32-s2-ard.yaml delete mode 100644 tests/components/esp32_touch/test.esp32-s3-ard.yaml delete mode 100644 tests/components/esphome/test.esp32-ard.yaml delete mode 100644 tests/components/esphome/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ethernet_info/test.esp32-ard.yaml delete mode 100644 tests/components/event/test.esp32-ard.yaml delete mode 100644 tests/components/event/test.esp32-c3-ard.yaml delete mode 100644 tests/components/exposure_notifications/test.esp32-ard.yaml delete mode 100644 tests/components/exposure_notifications/test.esp32-c3-ard.yaml delete mode 100644 tests/components/external_components/test.esp32-ard.yaml delete mode 100644 tests/components/external_components/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ezo/test.esp32-ard.yaml delete mode 100644 tests/components/ezo/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ezo_pmp/test.esp32-ard.yaml delete mode 100644 tests/components/ezo_pmp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/factory_reset/test.esp32-ard.yaml delete mode 100644 tests/components/factory_reset/test.esp32-c3-ard.yaml delete mode 100644 tests/components/feedback/test.esp32-ard.yaml delete mode 100644 tests/components/feedback/test.esp32-c3-ard.yaml delete mode 100644 tests/components/fingerprint_grow/test.esp32-ard.yaml delete mode 100644 tests/components/fingerprint_grow/test.esp32-c3-ard.yaml delete mode 100644 tests/components/font/test.esp32-ard.yaml delete mode 100644 tests/components/font/test.esp32-c3-ard.yaml delete mode 100644 tests/components/fs3000/test.esp32-ard.yaml delete mode 100644 tests/components/fs3000/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ft5x06/test.esp32-ard.yaml delete mode 100644 tests/components/ft5x06/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ft63x6/test.esp32-ard.yaml delete mode 100644 tests/components/ft63x6/test.esp32-c3-ard.yaml delete mode 100644 tests/components/fujitsu_general/test.esp32-ard.yaml delete mode 100644 tests/components/fujitsu_general/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gcja5/test.esp32-ard.yaml delete mode 100644 tests/components/gcja5/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gdk101/test.esp32-ard.yaml delete mode 100644 tests/components/gl_r01_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/globals/test.esp32-ard.yaml delete mode 100644 tests/components/globals/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gp2y1010au0f/test.esp32-ard.yaml delete mode 100644 tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gp8403/test.esp32-ard.yaml delete mode 100644 tests/components/gp8403/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gpio/test.esp32-ard.yaml delete mode 100644 tests/components/gpio/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gps/test.esp32-ard.yaml delete mode 100644 tests/components/gps/test.esp32-c3-ard.yaml delete mode 100644 tests/components/graph/test.esp32-ard.yaml delete mode 100644 tests/components/graph/test.esp32-c3-ard.yaml delete mode 100644 tests/components/graphical_display_menu/test.esp32-ard.yaml delete mode 100644 tests/components/graphical_display_menu/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gree/test.esp32-ard.yaml delete mode 100644 tests/components/gree/test.esp32-c3-ard.yaml delete mode 100644 tests/components/grove_gas_mc_v2/test.esp32-ard.yaml delete mode 100644 tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/grove_tb6612fng/test.esp32-ard.yaml delete mode 100644 tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml delete mode 100644 tests/components/growatt_solar/test.esp32-ard.yaml delete mode 100644 tests/components/growatt_solar/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gt911/test.esp32-ard.yaml delete mode 100644 tests/components/gt911/test.esp32-c3-ard.yaml delete mode 100644 tests/components/haier/test.esp32-ard.yaml delete mode 100644 tests/components/haier/test.esp32-c3-ard.yaml delete mode 100644 tests/components/havells_solar/test.esp32-ard.yaml delete mode 100644 tests/components/havells_solar/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hbridge/test.esp32-ard.yaml delete mode 100644 tests/components/hbridge/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hdc1080/test.esp32-ard.yaml delete mode 100644 tests/components/hdc1080/test.esp32-c3-ard.yaml delete mode 100644 tests/components/he60r/test.esp32-ard.yaml delete mode 100644 tests/components/he60r/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hitachi_ac344/test.esp32-ard.yaml delete mode 100644 tests/components/hitachi_ac344/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hitachi_ac424/test.esp32-ard.yaml delete mode 100644 tests/components/hitachi_ac424/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hlw8012/test.esp32-ard.yaml delete mode 100644 tests/components/hlw8012/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hm3301/test.esp32-ard.yaml delete mode 100644 tests/components/hm3301/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hmc5883l/test.esp32-ard.yaml delete mode 100644 tests/components/hmc5883l/test.esp32-c3-ard.yaml delete mode 100644 tests/components/homeassistant/test.esp32-ard.yaml delete mode 100644 tests/components/homeassistant/test.esp32-c3-ard.yaml delete mode 100644 tests/components/honeywell_hih_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/honeywellabp/test.esp32-ard.yaml delete mode 100644 tests/components/honeywellabp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/honeywellabp2_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml delete mode 100644 tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hte501/test.esp32-ard.yaml delete mode 100644 tests/components/hte501/test.esp32-c3-ard.yaml delete mode 100644 tests/components/htu21d/test.esp32-ard.yaml delete mode 100644 tests/components/htu21d/test.esp32-c3-ard.yaml delete mode 100644 tests/components/htu31d/test.esp32-ard.yaml delete mode 100644 tests/components/htu31d/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hx711/test.esp32-ard.yaml delete mode 100644 tests/components/hx711/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hydreon_rgxx/test.esp32-ard.yaml delete mode 100644 tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hyt271/test.esp32-ard.yaml delete mode 100644 tests/components/hyt271/test.esp32-c3-ard.yaml delete mode 100644 tests/components/i2c_device/test.esp32-ard.yaml delete mode 100644 tests/components/i2c_device/test.esp32-c3-ard.yaml delete mode 100644 tests/components/i2s_audio/test.esp32-ard.yaml delete mode 100644 tests/components/i2s_audio/test.esp32-c3-ard.yaml delete mode 100644 tests/components/iaqcore/test.esp32-ard.yaml delete mode 100644 tests/components/iaqcore/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ili9xxx/test.esp32-ard.yaml delete mode 100644 tests/components/ili9xxx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina219/test.esp32-ard.yaml delete mode 100644 tests/components/ina219/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina226/test.esp32-ard.yaml delete mode 100644 tests/components/ina226/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina260/test.esp32-ard.yaml delete mode 100644 tests/components/ina260/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina2xx_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina2xx_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ina2xx_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina3221/test.esp32-ard.yaml delete mode 100644 tests/components/ina3221/test.esp32-c3-ard.yaml delete mode 100644 tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml delete mode 100644 tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml delete mode 100644 tests/components/inkplate/test.esp32-ard.yaml delete mode 100644 tests/components/integration/test.esp32-ard.yaml delete mode 100644 tests/components/integration/test.esp32-c3-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-c3-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-s2-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-s3-ard.yaml delete mode 100644 tests/components/interval/test.esp32-ard.yaml delete mode 100644 tests/components/interval/test.esp32-c3-ard.yaml delete mode 100644 tests/components/jsn_sr04t/test.esp32-ard.yaml delete mode 100644 tests/components/jsn_sr04t/test.esp32-c3-ard.yaml delete mode 100644 tests/components/kamstrup_kmp/test.esp32-ard.yaml delete mode 100644 tests/components/key_collector/test.esp32-ard.yaml delete mode 100644 tests/components/key_collector/test.esp32-c3-ard.yaml delete mode 100644 tests/components/kmeteriso/test.esp32-ard.yaml delete mode 100644 tests/components/kmeteriso/test.esp32-c3-ard.yaml delete mode 100644 tests/components/kuntze/test.esp32-ard.yaml delete mode 100644 tests/components/kuntze/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lc709203f/test.esp32-ard.yaml delete mode 100644 tests/components/lc709203f/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lcd_gpio/test.esp32-ard.yaml delete mode 100644 tests/components/lcd_gpio/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lcd_menu/test.esp32-ard.yaml delete mode 100644 tests/components/lcd_menu/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lcd_pcf8574/test.esp32-ard.yaml delete mode 100644 tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2410/test.esp32-ard.yaml delete mode 100644 tests/components/ld2410/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2412/test.esp32-ard.yaml delete mode 100644 tests/components/ld2412/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2420/test.esp32-ard.yaml delete mode 100644 tests/components/ld2420/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2450/test.esp32-ard.yaml delete mode 100644 tests/components/ld2450/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ledc/test.esp32-ard.yaml delete mode 100644 tests/components/ledc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/light/test.esp32-ard.yaml delete mode 100644 tests/components/light/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lilygo_t5_47/test.esp32-ard.yaml delete mode 100644 tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lm75b/test.esp32-ard.yaml delete mode 100644 tests/components/lm75b/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lock/test.esp32-ard.yaml delete mode 100644 tests/components/lock/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lps22/test.esp32-ard.yaml delete mode 100644 tests/components/lps22/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ltr390/test.esp32-ard.yaml delete mode 100644 tests/components/ltr390/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ltr501/test.esp32-ard.yaml delete mode 100644 tests/components/ltr501/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ltr_als_ps/test.esp32-ard.yaml delete mode 100644 tests/components/ltr_als_ps/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lvgl/test.esp32-ard.yaml delete mode 100644 tests/components/m5stack_8angle/test.esp32-ard.yaml delete mode 100644 tests/components/m5stack_8angle/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mapping/test.esp32-ard.yaml delete mode 100644 tests/components/mapping/test.esp32-c3-ard.yaml delete mode 100644 tests/components/matrix_keypad/test.esp32-ard.yaml delete mode 100644 tests/components/matrix_keypad/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max17043/test.esp32-ard.yaml delete mode 100644 tests/components/max17043/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max31855/test.esp32-ard.yaml delete mode 100644 tests/components/max31855/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max31856/test.esp32-ard.yaml delete mode 100644 tests/components/max31856/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max31865/test.esp32-ard.yaml delete mode 100644 tests/components/max31865/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max44009/test.esp32-ard.yaml delete mode 100644 tests/components/max44009/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max6675/test.esp32-ard.yaml delete mode 100644 tests/components/max6675/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max6956/test.esp32-ard.yaml delete mode 100644 tests/components/max6956/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max7219/test.esp32-ard.yaml delete mode 100644 tests/components/max7219/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max7219digit/test.esp32-ard.yaml delete mode 100644 tests/components/max7219digit/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max9611/test.esp32-ard.yaml delete mode 100644 tests/components/max9611/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23008/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23008/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23016/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23016/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23017/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23017/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23s08/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23s08/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23s17/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23s17/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp2515/test.esp32-ard.yaml delete mode 100644 tests/components/mcp2515/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp3008/test.esp32-ard.yaml delete mode 100644 tests/components/mcp3008/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp3204/test.esp32-ard.yaml delete mode 100644 tests/components/mcp3204/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp4461/test.esp32-ard.yaml delete mode 100644 tests/components/mcp4461/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp4725/test.esp32-ard.yaml delete mode 100644 tests/components/mcp4725/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp4728/test.esp32-ard.yaml delete mode 100644 tests/components/mcp4728/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp47a1/test.esp32-ard.yaml delete mode 100644 tests/components/mcp47a1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp9600/test.esp32-ard.yaml delete mode 100644 tests/components/mcp9600/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp9808/test.esp32-ard.yaml delete mode 100644 tests/components/mcp9808/test.esp32-c3-ard.yaml delete mode 100644 tests/components/media_player/test.esp32-ard.yaml delete mode 100644 tests/components/mhz19/test.esp32-ard.yaml delete mode 100644 tests/components/mhz19/test.esp32-c3-ard.yaml delete mode 100644 tests/components/micronova/test.esp32-ard.yaml delete mode 100644 tests/components/micronova/test.esp32-c3-ard.yaml delete mode 100644 tests/components/microphone/test.esp32-ard.yaml delete mode 100644 tests/components/microphone/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mics_4514/test.esp32-ard.yaml delete mode 100644 tests/components/mics_4514/test.esp32-c3-ard.yaml delete mode 100644 tests/components/midea_ir/test.esp32-ard.yaml delete mode 100644 tests/components/midea_ir/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mipi_spi/test.esp32-ard.yaml delete mode 100644 tests/components/mipi_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mitsubishi/test.esp32-ard.yaml delete mode 100644 tests/components/mitsubishi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mixer/test.esp32-ard.yaml delete mode 100644 tests/components/mixer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mixer/test.esp32-s3-ard.yaml delete mode 100644 tests/components/mlx90393/test.esp32-ard.yaml delete mode 100644 tests/components/mlx90393/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mlx90393/test.esp32-s3-ard.yaml delete mode 100644 tests/components/mlx90614/test.esp32-ard.yaml delete mode 100644 tests/components/mlx90614/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mmc5603/test.esp32-ard.yaml delete mode 100644 tests/components/mmc5603/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mmc5983/test.esp32-ard.yaml delete mode 100644 tests/components/mmc5983/test.esp32-c3-ard.yaml delete mode 100644 tests/components/modbus/test.esp32-ard.yaml delete mode 100644 tests/components/modbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/modbus_controller/test.esp32-ard.yaml delete mode 100644 tests/components/modbus_controller/test.esp32-c3-ard.yaml delete mode 100644 tests/components/monochromatic/test.esp32-ard.yaml delete mode 100644 tests/components/monochromatic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mopeka_ble/test.esp32-ard.yaml delete mode 100644 tests/components/mopeka_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mopeka_pro_check/test.esp32-ard.yaml delete mode 100644 tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mopeka_std_check/test.esp32-ard.yaml delete mode 100644 tests/components/mopeka_std_check/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpl3115a2/test.esp32-ard.yaml delete mode 100644 tests/components/mpl3115a2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpr121/test.esp32-ard.yaml delete mode 100644 tests/components/mpr121/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpu6050/test.esp32-ard.yaml delete mode 100644 tests/components/mpu6050/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpu6886/test.esp32-ard.yaml delete mode 100644 tests/components/mpu6886/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mqtt/test.esp32-ard.yaml delete mode 100644 tests/components/mqtt/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mqtt_subscribe/test.esp32-ard.yaml delete mode 100644 tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ms5611/test.esp32-ard.yaml delete mode 100644 tests/components/ms5611/test.esp32-c3-ard.yaml delete mode 100644 tests/components/msa3xx/test.esp32-ard.yaml delete mode 100644 tests/components/msa3xx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/my9231/test.esp32-ard.yaml delete mode 100644 tests/components/my9231/test.esp32-c3-ard.yaml delete mode 100644 tests/components/nau7802/test.esp32-ard.yaml delete mode 100644 tests/components/nau7802/test.esp32-c3-ard.yaml delete mode 100644 tests/components/noblex/test.esp32-ard.yaml delete mode 100644 tests/components/noblex/test.esp32-c3-ard.yaml delete mode 100644 tests/components/npi19/test.esp32-ard.yaml delete mode 100644 tests/components/npi19/test.esp32-s3-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-s2-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-s3-ard.yaml delete mode 100644 tests/components/online_image/test.esp32-ard.yaml delete mode 100644 tests/components/opt3001/test.esp32-ard.yaml delete mode 100644 tests/components/opt3001/test.esp32-c3-ard.yaml delete mode 100644 tests/components/output/test.esp32-ard.yaml delete mode 100644 tests/components/output/test.esp32-c3-ard.yaml delete mode 100644 tests/components/packages/test.esp32-ard.yaml delete mode 100644 tests/components/packet_transport/test.esp32-ard.yaml delete mode 100644 tests/components/packet_transport/test.esp32-c3-ard.yaml delete mode 100644 tests/components/partition/test.esp32-ard.yaml delete mode 100644 tests/components/partition/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pca6416a/test.esp32-ard.yaml delete mode 100644 tests/components/pca6416a/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pca9554/test.esp32-ard.yaml delete mode 100644 tests/components/pca9554/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pca9685/test.esp32-ard.yaml delete mode 100644 tests/components/pca9685/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcd8544/test.esp32-ard.yaml delete mode 100644 tests/components/pcd8544/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcf85063/test.esp32-ard.yaml delete mode 100644 tests/components/pcf85063/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcf8563/test.esp32-ard.yaml delete mode 100644 tests/components/pcf8563/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcf8574/test.esp32-ard.yaml delete mode 100644 tests/components/pcf8574/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pi4ioe5v6408/test.esp32-ard.yaml delete mode 100644 tests/components/pid/test.esp32-ard.yaml delete mode 100644 tests/components/pid/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pipsolar/test.esp32-ard.yaml delete mode 100644 tests/components/pipsolar/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pm1006/test.esp32-ard.yaml delete mode 100644 tests/components/pm1006/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pm2005/test.esp32-ard.yaml delete mode 100644 tests/components/pm2005/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pmsa003i/test.esp32-ard.yaml delete mode 100644 tests/components/pmsa003i/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pmsx003/test.esp32-ard.yaml delete mode 100644 tests/components/pmsx003/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pmwcs3/test.esp32-ard.yaml delete mode 100644 tests/components/pmwcs3/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn532_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/pn532_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn532_spi/test.esp32-ard.yaml delete mode 100644 tests/components/pn532_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn7150_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/pn7150_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn7160_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/pn7160_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn7160_spi/test.esp32-ard.yaml delete mode 100644 tests/components/pn7160_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/power_supply/test.esp32-ard.yaml delete mode 100644 tests/components/power_supply/test.esp32-c3-ard.yaml delete mode 100644 tests/components/prometheus/test.esp32-ard.yaml delete mode 100644 tests/components/prometheus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/psram/test.esp32-ard.yaml delete mode 100644 tests/components/psram/test.esp32-s2-ard.yaml delete mode 100644 tests/components/psram/test.esp32-s3-ard.yaml delete mode 100644 tests/components/pulse_counter/test.esp32-ard.yaml delete mode 100644 tests/components/pulse_counter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pulse_meter/test.esp32-ard.yaml delete mode 100644 tests/components/pulse_meter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pulse_width/test.esp32-ard.yaml delete mode 100644 tests/components/pulse_width/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pvvx_mithermometer/test.esp32-ard.yaml delete mode 100644 tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pylontech/test.esp32-ard.yaml delete mode 100644 tests/components/pylontech/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pzem004t/test.esp32-ard.yaml delete mode 100644 tests/components/pzem004t/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pzemac/test.esp32-ard.yaml delete mode 100644 tests/components/pzemac/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pzemdc/test.esp32-ard.yaml delete mode 100644 tests/components/pzemdc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qmc5883l/test.esp32-ard.yaml delete mode 100644 tests/components/qmc5883l/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qmp6988/test.esp32-ard.yaml delete mode 100644 tests/components/qmp6988/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qr_code/test.esp32-ard.yaml delete mode 100644 tests/components/qr_code/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qwiic_pir/test.esp32-ard.yaml delete mode 100644 tests/components/qwiic_pir/test.esp32-c3-ard.yaml delete mode 100644 tests/components/radon_eye_ble/test.esp32-ard.yaml delete mode 100644 tests/components/radon_eye_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/radon_eye_rd200/test.esp32-ard.yaml delete mode 100644 tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rc522_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/rc522_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rc522_spi/test.esp32-ard.yaml delete mode 100644 tests/components/rc522_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rdm6300/test.esp32-ard.yaml delete mode 100644 tests/components/rdm6300/test.esp32-c3-ard.yaml delete mode 100644 tests/components/remote_receiver/test.esp32-ard.yaml delete mode 100644 tests/components/remote_receiver/test.esp32-c3-ard.yaml delete mode 100644 tests/components/remote_transmitter/test.esp32-ard.yaml delete mode 100644 tests/components/remote_transmitter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/resampler/test.esp32-ard.yaml delete mode 100644 tests/components/resampler/test.esp32-c3-ard.yaml delete mode 100644 tests/components/resampler/test.esp32-s3-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-c3-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-s2-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-s3-ard.yaml delete mode 100644 tests/components/restart/test.esp32-ard.yaml delete mode 100644 tests/components/restart/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rf_bridge/test.esp32-ard.yaml delete mode 100644 tests/components/rf_bridge/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgb/test.esp32-ard.yaml delete mode 100644 tests/components/rgb/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgbct/test.esp32-ard.yaml delete mode 100644 tests/components/rgbct/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgbw/test.esp32-ard.yaml delete mode 100644 tests/components/rgbw/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgbww/test.esp32-ard.yaml delete mode 100644 tests/components/rgbww/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rotary_encoder/test.esp32-ard.yaml delete mode 100644 tests/components/rotary_encoder/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rtttl/test.esp32-ard.yaml delete mode 100644 tests/components/rtttl/test.esp32-c3-ard.yaml delete mode 100644 tests/components/runtime_stats/test.esp32-ard.yaml delete mode 100644 tests/components/ruuvi_ble/test.esp32-ard.yaml delete mode 100644 tests/components/ruuvi_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ruuvitag/test.esp32-ard.yaml delete mode 100644 tests/components/ruuvitag/test.esp32-c3-ard.yaml delete mode 100644 tests/components/safe_mode/test-enabled.esp32-ard.yaml delete mode 100644 tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml delete mode 100644 tests/components/scd30/test.esp32-ard.yaml delete mode 100644 tests/components/scd30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/scd4x/test.esp32-ard.yaml delete mode 100644 tests/components/scd4x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/script/test.esp32-ard.yaml delete mode 100644 tests/components/script/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sdm_meter/test.esp32-ard.yaml delete mode 100644 tests/components/sdm_meter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sdp3x/test.esp32-ard.yaml delete mode 100644 tests/components/sdp3x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sds011/test.esp32-ard.yaml delete mode 100644 tests/components/sds011/test.esp32-c3-ard.yaml delete mode 100644 tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/selec_meter/test.esp32-ard.yaml delete mode 100644 tests/components/selec_meter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sen0321/test.esp32-ard.yaml delete mode 100644 tests/components/sen0321/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sen21231/test.esp32-ard.yaml delete mode 100644 tests/components/sen21231/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sen5x/test.esp32-ard.yaml delete mode 100644 tests/components/sen5x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/senseair/test.esp32-ard.yaml delete mode 100644 tests/components/senseair/test.esp32-c3-ard.yaml delete mode 100644 tests/components/servo/test.esp32-ard.yaml delete mode 100644 tests/components/servo/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sfa30/test.esp32-ard.yaml delete mode 100644 tests/components/sfa30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sgp30/test.esp32-ard.yaml delete mode 100644 tests/components/sgp30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sgp4x/test.esp32-ard.yaml delete mode 100644 tests/components/sgp4x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sht3xd/test.esp32-ard.yaml delete mode 100644 tests/components/sht3xd/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sht4x/test.esp32-ard.yaml delete mode 100644 tests/components/sht4x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/shtcx/test.esp32-ard.yaml delete mode 100644 tests/components/shtcx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/shutdown/test.esp32-ard.yaml delete mode 100644 tests/components/shutdown/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sigma_delta_output/test.esp32-ard.yaml delete mode 100644 tests/components/sigma_delta_output/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sim800l/test.esp32-ard.yaml delete mode 100644 tests/components/sim800l/test.esp32-c3-ard.yaml delete mode 100644 tests/components/slow_pwm/test.esp32-ard.yaml delete mode 100644 tests/components/slow_pwm/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm16716/test.esp32-ard.yaml delete mode 100644 tests/components/sm16716/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm2135/test.esp32-ard.yaml delete mode 100644 tests/components/sm2135/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm2235/test.esp32-ard.yaml delete mode 100644 tests/components/sm2235/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm2335/test.esp32-ard.yaml delete mode 100644 tests/components/sm2335/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm300d2/test.esp32-ard.yaml delete mode 100644 tests/components/sm300d2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sml/test.esp32-ard.yaml delete mode 100644 tests/components/sml/test.esp32-c3-ard.yaml delete mode 100644 tests/components/smt100/test.esp32-ard.yaml delete mode 100644 tests/components/smt100/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sn74hc165/test.esp32-ard.yaml delete mode 100644 tests/components/sn74hc165/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sn74hc595/test.esp32-ard.yaml delete mode 100644 tests/components/sn74hc595/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sntp/test.esp32-ard.yaml delete mode 100644 tests/components/sntp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sonoff_d1/test.esp32-ard.yaml delete mode 100644 tests/components/sonoff_d1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sound_level/test.esp32-ard.yaml delete mode 100644 tests/components/sound_level/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sound_level/test.esp32-s3-ard.yaml delete mode 100644 tests/components/speed/test.esp32-ard.yaml delete mode 100644 tests/components/speed/test.esp32-c3-ard.yaml delete mode 100644 tests/components/spi_device/test.esp32-ard.yaml delete mode 100644 tests/components/spi_device/test.esp32-c3-ard.yaml delete mode 100644 tests/components/spi_led_strip/test.esp32-ard.yaml delete mode 100644 tests/components/spi_led_strip/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sprinkler/test.esp32-ard.yaml delete mode 100644 tests/components/sprinkler/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sps30/test.esp32-ard.yaml delete mode 100644 tests/components/sps30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1306_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1306_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1306_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1322_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1322_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1325_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1325_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1327_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1327_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1327_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1331_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1331_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1351_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1351_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7567_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/st7567_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7567_spi/test.esp32-ard.yaml delete mode 100644 tests/components/st7567_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7735/test.esp32-ard.yaml delete mode 100644 tests/components/st7735/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7789v/test.esp32-ard.yaml delete mode 100644 tests/components/st7789v/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7920/test.esp32-ard.yaml delete mode 100644 tests/components/st7920/test.esp32-c3-ard.yaml delete mode 100644 tests/components/statsD/test.esp32-ard.yaml delete mode 100644 tests/components/statsD/test.esp32-c3-ard.yaml delete mode 100644 tests/components/status/test.esp32-ard.yaml delete mode 100644 tests/components/status/test.esp32-c3-ard.yaml delete mode 100644 tests/components/status_led/test.esp32-ard.yaml delete mode 100644 tests/components/status_led/test.esp32-c3-ard.yaml delete mode 100644 tests/components/stepper/test.esp32-ard.yaml delete mode 100644 tests/components/stepper/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sts3x/test.esp32-ard.yaml delete mode 100644 tests/components/sts3x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sun/test.esp32-ard.yaml delete mode 100644 tests/components/sun/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sun_gtil2/test.esp32-ard.yaml delete mode 100644 tests/components/sun_gtil2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/switch/test.esp32-ard.yaml delete mode 100644 tests/components/switch/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sx126x/test.esp32-ard.yaml delete mode 100644 tests/components/sx126x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sx127x/test.esp32-ard.yaml delete mode 100644 tests/components/sx127x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sx1509/test.esp32-ard.yaml delete mode 100644 tests/components/sx1509/test.esp32-c3-ard.yaml delete mode 100644 tests/components/syslog/test.esp32-ard.yaml delete mode 100644 tests/components/syslog/test.esp32-c3-ard.yaml delete mode 100644 tests/components/t6615/test.esp32-ard.yaml delete mode 100644 tests/components/t6615/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tc74/test.esp32-ard.yaml delete mode 100644 tests/components/tc74/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tca9548a/test.esp32-ard.yaml delete mode 100644 tests/components/tca9548a/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tca9555/test.esp32-ard.yaml delete mode 100644 tests/components/tca9555/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tcl112/test.esp32-ard.yaml delete mode 100644 tests/components/tcl112/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tcs34725/test.esp32-ard.yaml delete mode 100644 tests/components/tcs34725/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tee501/test.esp32-ard.yaml delete mode 100644 tests/components/tee501/test.esp32-c3-ard.yaml delete mode 100644 tests/components/teleinfo/test.esp32-ard.yaml delete mode 100644 tests/components/teleinfo/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tem3200/test.esp32-ard.yaml delete mode 100644 tests/components/tem3200/test.esp32-s3-ard.yaml delete mode 100644 tests/components/template/test.esp32-ard.yaml delete mode 100644 tests/components/template/test.esp32-c3-ard.yaml delete mode 100644 tests/components/thermostat/test.esp32-ard.yaml delete mode 100644 tests/components/thermostat/test.esp32-c3-ard.yaml delete mode 100644 tests/components/time_based/test.esp32-ard.yaml delete mode 100644 tests/components/time_based/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc59208f/test.esp32-ard.yaml delete mode 100644 tests/components/tlc59208f/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc5947/test.esp32-ard.yaml delete mode 100644 tests/components/tlc5947/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc5971/test.esp32-ard.yaml delete mode 100644 tests/components/tlc5971/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc5971/test.esp32-s2-ard.yaml delete mode 100644 tests/components/tm1621/test.esp32-ard.yaml delete mode 100644 tests/components/tm1621/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tm1637/test.esp32-ard.yaml delete mode 100644 tests/components/tm1637/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tm1638/test.esp32-ard.yaml delete mode 100644 tests/components/tm1638/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tm1651/test.esp32-ard.yaml delete mode 100644 tests/components/tm1651/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tmp102/test.esp32-ard.yaml delete mode 100644 tests/components/tmp102/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tmp1075/test.esp32-ard.yaml delete mode 100644 tests/components/tmp1075/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tmp117/test.esp32-ard.yaml delete mode 100644 tests/components/tmp117/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tof10120/test.esp32-ard.yaml delete mode 100644 tests/components/tof10120/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tormatic/test.esp32-ard.yaml delete mode 100644 tests/components/tormatic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/toshiba/test.esp32-ard.yaml delete mode 100644 tests/components/toshiba/test.esp32-c3-ard.yaml delete mode 100644 tests/components/total_daily_energy/test.esp32-ard.yaml delete mode 100644 tests/components/total_daily_energy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tsl2561/test.esp32-ard.yaml delete mode 100644 tests/components/tsl2561/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tsl2591/test.esp32-ard.yaml delete mode 100644 tests/components/tsl2591/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tt21100/test.esp32-ard.yaml delete mode 100644 tests/components/tt21100/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ttp229_bsf/test.esp32-ard.yaml delete mode 100644 tests/components/ttp229_bsf/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ttp229_lsf/test.esp32-ard.yaml delete mode 100644 tests/components/ttp229_lsf/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tuya/test.esp32-ard.yaml delete mode 100644 tests/components/tuya/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tx20/test.esp32-ard.yaml delete mode 100644 tests/components/tx20/test.esp32-c3-ard.yaml delete mode 100644 tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml delete mode 100644 tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml delete mode 100644 tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml delete mode 100644 tests/components/uart/test.esp32-ard.yaml delete mode 100644 tests/components/uart/test.esp32-c3-ard.yaml delete mode 100644 tests/components/udp/test.esp32-ard.yaml delete mode 100644 tests/components/udp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ufire_ec/test.esp32-ard.yaml delete mode 100644 tests/components/ufire_ec/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ufire_ise/test.esp32-ard.yaml delete mode 100644 tests/components/ufire_ise/test.esp32-c3-ard.yaml delete mode 100644 tests/components/uln2003/test.esp32-ard.yaml delete mode 100644 tests/components/uln2003/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ultrasonic/test.esp32-ard.yaml delete mode 100644 tests/components/ultrasonic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/update/test.esp32-ard.yaml delete mode 100644 tests/components/uponor_smatrix/test.esp32-ard.yaml delete mode 100644 tests/components/uponor_smatrix/test.esp32-c3-ard.yaml delete mode 100644 tests/components/uptime/test.esp32-ard.yaml delete mode 100644 tests/components/uptime/test.esp32-c3-ard.yaml delete mode 100644 tests/components/vbus/test.esp32-ard.yaml delete mode 100644 tests/components/vbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/veml3235/test.esp32-ard.yaml delete mode 100644 tests/components/veml3235/test.esp32-c3-ard.yaml delete mode 100644 tests/components/veml7700/test.esp32-ard.yaml delete mode 100644 tests/components/veml7700/test.esp32-c3-ard.yaml delete mode 100644 tests/components/version/test.esp32-ard.yaml delete mode 100644 tests/components/version/test.esp32-c3-ard.yaml delete mode 100644 tests/components/vl53l0x/test.esp32-ard.yaml delete mode 100644 tests/components/vl53l0x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/voice_assistant/test.esp32-ard.yaml delete mode 100644 tests/components/voice_assistant/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wake_on_lan/test.esp32-ard.yaml delete mode 100644 tests/components/wake_on_lan/test.esp32-c3-ard.yaml delete mode 100644 tests/components/waveshare_epaper/test.esp32-ard.yaml delete mode 100644 tests/components/waveshare_epaper/test.esp32-c3-ard.yaml delete mode 100644 tests/components/whirlpool/test.esp32-ard.yaml delete mode 100644 tests/components/whirlpool/test.esp32-c3-ard.yaml delete mode 100644 tests/components/whynter/test.esp32-ard.yaml delete mode 100644 tests/components/whynter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wiegand/test.esp32-ard.yaml delete mode 100644 tests/components/wiegand/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wifi/test-eap.esp32-ard.yaml delete mode 100644 tests/components/wifi/test.esp32-ard.yaml delete mode 100644 tests/components/wifi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wifi_info/test.esp32-ard.yaml delete mode 100644 tests/components/wifi_info/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wifi_signal/test.esp32-ard.yaml delete mode 100644 tests/components/wifi_signal/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wireguard/test.esp32-ard.yaml delete mode 100644 tests/components/wireguard/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wk2132_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2132_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2132_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2132_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2168_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2168_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2168_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2168_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2204_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2204_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2204_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2204_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2212_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2212_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2212_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2212_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wl_134/test.esp32-ard.yaml delete mode 100644 tests/components/wl_134/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wts01/test.esp32-ard.yaml delete mode 100644 tests/components/wts01/test.esp32-c3-ard.yaml delete mode 100644 tests/components/x9c/test.esp32-ard.yaml delete mode 100644 tests/components/x9c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xgzp68xx/test.esp32-ard.yaml delete mode 100644 tests/components/xgzp68xx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_ble/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgd1/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgdk2/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgg1/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgpr1/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_gcls002/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc303/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc401/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_miscale/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_wx08zm/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xl9535/test.esp32-ard.yaml delete mode 100644 tests/components/xl9535/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xpt2046/test.esp32-ard.yaml delete mode 100644 tests/components/xpt2046/test.esp32-c3-ard.yaml delete mode 100644 tests/components/yashima/test.esp32-ard.yaml delete mode 100644 tests/components/yashima/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zhlt01/test.esp32-ard.yaml delete mode 100644 tests/components/zhlt01/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zio_ultrasonic/test.esp32-ard.yaml delete mode 100644 tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zwave_proxy/test.esp32-ard.yaml delete mode 100644 tests/components/zwave_proxy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zyaura/test.esp32-ard.yaml delete mode 100644 tests/components/zyaura/test.esp32-c3-ard.yaml diff --git a/tests/components/a01nyub/test.esp32-ard.yaml b/tests/components/a01nyub/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/a01nyub/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/a01nyub/test.esp32-c3-ard.yaml b/tests/components/a01nyub/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/a01nyub/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/a02yyuw/test.esp32-ard.yaml b/tests/components/a02yyuw/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/a02yyuw/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/a02yyuw/test.esp32-c3-ard.yaml b/tests/components/a02yyuw/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/a02yyuw/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/a4988/test.esp32-ard.yaml b/tests/components/a4988/test.esp32-ard.yaml deleted file mode 100644 index 1ca8c0c084..0000000000 --- a/tests/components/a4988/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - step_pin: GPIO22 - dir_pin: GPIO23 - sleep_pin: GPIO25 - -<<: !include common.yaml diff --git a/tests/components/a4988/test.esp32-c3-ard.yaml b/tests/components/a4988/test.esp32-c3-ard.yaml deleted file mode 100644 index 25caba75b5..0000000000 --- a/tests/components/a4988/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - step_pin: GPIO2 - dir_pin: GPIO3 - sleep_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/absolute_humidity/test.esp32-ard.yaml b/tests/components/absolute_humidity/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/absolute_humidity/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/absolute_humidity/test.esp32-c3-ard.yaml b/tests/components/absolute_humidity/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/absolute_humidity/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/adc/test.esp32-ard.yaml b/tests/components/adc/test.esp32-ard.yaml deleted file mode 100644 index e6a1fd3bd9..0000000000 --- a/tests/components/adc/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: A0 diff --git a/tests/components/adc/test.esp32-c3-ard.yaml b/tests/components/adc/test.esp32-c3-ard.yaml deleted file mode 100644 index ea3b00a85f..0000000000 --- a/tests/components/adc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: 4 diff --git a/tests/components/adc/test.esp32-s2-ard.yaml b/tests/components/adc/test.esp32-s2-ard.yaml deleted file mode 100644 index bbd91c5e5a..0000000000 --- a/tests/components/adc/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: 1 diff --git a/tests/components/adc/test.esp32-s3-ard.yaml b/tests/components/adc/test.esp32-s3-ard.yaml deleted file mode 100644 index bbd91c5e5a..0000000000 --- a/tests/components/adc/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: 1 diff --git a/tests/components/adc128s102/test.esp32-ard.yaml b/tests/components/adc128s102/test.esp32-ard.yaml deleted file mode 100644 index aba72f0614..0000000000 --- a/tests/components/adc128s102/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/adc128s102/test.esp32-c3-ard.yaml b/tests/components/adc128s102/test.esp32-c3-ard.yaml deleted file mode 100644 index 24da4b5452..0000000000 --- a/tests/components/adc128s102/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml b/tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml deleted file mode 100644 index d93c554dae..0000000000 --- a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common-ard-esp32_rmt_led_strip.yaml diff --git a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml b/tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml deleted file mode 100644 index d93c554dae..0000000000 --- a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common-ard-esp32_rmt_led_strip.yaml diff --git a/tests/components/addressable_light/fastled_clockless.esp32-ard.yaml b/tests/components/addressable_light/fastled_clockless.esp32-ard.yaml deleted file mode 100644 index 78eb5d7fdb..0000000000 --- a/tests/components/addressable_light/fastled_clockless.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common-ard-fastled.yaml diff --git a/tests/components/ade7880/test.esp32-ard.yaml b/tests/components/ade7880/test.esp32-ard.yaml deleted file mode 100644 index 685b49ff32..0000000000 --- a/tests/components/ade7880/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq0_pin: GPIO13 - irq1_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ade7880/test.esp32-c3-ard.yaml b/tests/components/ade7880/test.esp32-c3-ard.yaml deleted file mode 100644 index 87db3e9427..0000000000 --- a/tests/components/ade7880/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq0_pin: GPIO6 - irq1_pin: GPIO7 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp32-ard.yaml b/tests/components/ade7953_i2c/test.esp32-ard.yaml deleted file mode 100644 index 2c57d412f6..0000000000 --- a/tests/components/ade7953_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp32-c3-ard.yaml b/tests/components/ade7953_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 799acabd5a..0000000000 --- a/tests/components/ade7953_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp32-ard.yaml b/tests/components/ade7953_spi/test.esp32-ard.yaml deleted file mode 100644 index e00f522dd4..0000000000 --- a/tests/components/ade7953_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - irq_pin: GPIO13 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp32-c3-ard.yaml b/tests/components/ade7953_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index fcf35f528e..0000000000 --- a/tests/components/ade7953_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - irq_pin: GPIO9 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ads1115/test.esp32-ard.yaml b/tests/components/ads1115/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ads1115/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ads1115/test.esp32-c3-ard.yaml b/tests/components/ads1115/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ads1115/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ags10/test.esp32-ard.yaml b/tests/components/ags10/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ags10/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ags10/test.esp32-c3-ard.yaml b/tests/components/ags10/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ags10/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/aht10/test.esp32-ard.yaml b/tests/components/aht10/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/aht10/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/aht10/test.esp32-c3-ard.yaml b/tests/components/aht10/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/aht10/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/aic3204/test.esp32-ard.yaml b/tests/components/aic3204/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/aic3204/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/aic3204/test.esp32-c3-ard.yaml b/tests/components/aic3204/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/aic3204/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-ard.yaml b/tests/components/airthings_wave_mini/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_mini/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml b/tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-ard.yaml b/tests/components/airthings_wave_plus/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_plus/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml b/tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alarm_control_panel/test.esp32-ard.yaml b/tests/components/alarm_control_panel/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alarm_control_panel/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alarm_control_panel/test.esp32-c3-ard.yaml b/tests/components/alarm_control_panel/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alarm_control_panel/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-ard.yaml b/tests/components/alpha3/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alpha3/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-c3-ard.yaml b/tests/components/alpha3/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alpha3/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/am2315c/test.esp32-ard.yaml b/tests/components/am2315c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/am2315c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/am2315c/test.esp32-c3-ard.yaml b/tests/components/am2315c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/am2315c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/am2320/test.esp32-ard.yaml b/tests/components/am2320/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/am2320/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/am2320/test.esp32-c3-ard.yaml b/tests/components/am2320/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/am2320/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/am43/test.esp32-ard.yaml b/tests/components/am43/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/am43/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/am43/test.esp32-c3-ard.yaml b/tests/components/am43/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/am43/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/analog_threshold/test.esp32-ard.yaml b/tests/components/analog_threshold/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/analog_threshold/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/analog_threshold/test.esp32-c3-ard.yaml b/tests/components/analog_threshold/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/analog_threshold/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/animation/test.esp32-ard.yaml b/tests/components/animation/test.esp32-ard.yaml deleted file mode 100644 index 7d9fe45bff..0000000000 --- a/tests/components/animation/test.esp32-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 - -display: - - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 12 - dc_pin: 13 - reset_pin: 21 - invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.esp32-c3-ard.yaml b/tests/components/animation/test.esp32-c3-ard.yaml deleted file mode 100644 index 18aa2a5b06..0000000000 --- a/tests/components/animation/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 - -display: - - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 8 - dc_pin: 9 - reset_pin: 10 - invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/anova/test.esp32-ard.yaml b/tests/components/anova/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/anova/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/anova/test.esp32-c3-ard.yaml b/tests/components/anova/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/anova/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/apds9306/test.esp32-ard.yaml b/tests/components/apds9306/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/apds9306/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/apds9306/test.esp32-c3-ard.yaml b/tests/components/apds9306/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/apds9306/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/apds9960/test.esp32-ard.yaml b/tests/components/apds9960/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/apds9960/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/apds9960/test.esp32-c3-ard.yaml b/tests/components/apds9960/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/apds9960/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/api/test.esp32-ard.yaml b/tests/components/api/test.esp32-ard.yaml deleted file mode 100644 index 46c01d926f..0000000000 --- a/tests/components/api/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -wifi: - ssid: MySSID - password: password1 diff --git a/tests/components/api/test.esp32-c3-ard.yaml b/tests/components/api/test.esp32-c3-ard.yaml deleted file mode 100644 index 46c01d926f..0000000000 --- a/tests/components/api/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -wifi: - ssid: MySSID - password: password1 diff --git a/tests/components/as3935_i2c/test.esp32-ard.yaml b/tests/components/as3935_i2c/test.esp32-ard.yaml deleted file mode 100644 index 52d5a045cb..0000000000 --- a/tests/components/as3935_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO15 - -packages: - as3935: !include common.yaml - -# Trigger issue: https://github.com/esphome/issues/issues/6990 -# Compile with no binary sensor results in error -binary_sensor: !remove diff --git a/tests/components/as3935_i2c/test.esp32-c3-ard.yaml b/tests/components/as3935_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 799acabd5a..0000000000 --- a/tests/components/as3935_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp32-ard.yaml b/tests/components/as3935_spi/test.esp32-ard.yaml deleted file mode 100644 index e00f522dd4..0000000000 --- a/tests/components/as3935_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - irq_pin: GPIO13 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp32-c3-ard.yaml b/tests/components/as3935_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index fcf35f528e..0000000000 --- a/tests/components/as3935_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - irq_pin: GPIO9 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/as5600/test.esp32-ard.yaml b/tests/components/as5600/test.esp32-ard.yaml deleted file mode 100644 index fa08763501..0000000000 --- a/tests/components/as5600/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - dir_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/as5600/test.esp32-c3-ard.yaml b/tests/components/as5600/test.esp32-c3-ard.yaml deleted file mode 100644 index a0623c91e5..0000000000 --- a/tests/components/as5600/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - dir_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/as7341/test.esp32-ard.yaml b/tests/components/as7341/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/as7341/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/as7341/test.esp32-c3-ard.yaml b/tests/components/as7341/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/as7341/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/at581x/test.esp32-ard.yaml b/tests/components/at581x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/at581x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/at581x/test.esp32-c3-ard.yaml b/tests/components/at581x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/at581x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-ard.yaml b/tests/components/atc_mithermometer/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/atc_mithermometer/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-c3-ard.yaml b/tests/components/atc_mithermometer/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/atc_mithermometer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp32-ard.yaml b/tests/components/atm90e26/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/atm90e26/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp32-c3-ard.yaml b/tests/components/atm90e26/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/atm90e26/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp32-ard.yaml b/tests/components/atm90e32/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/atm90e32/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp32-c3-ard.yaml b/tests/components/atm90e32/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/atm90e32/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/axs15231/test.esp32-ard.yaml b/tests/components/axs15231/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/axs15231/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/axs15231/test.esp32-c3-ard.yaml b/tests/components/axs15231/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/axs15231/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-ard.yaml b/tests/components/b_parasite/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/b_parasite/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-c3-ard.yaml b/tests/components/b_parasite/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/b_parasite/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ballu/test.esp32-ard.yaml b/tests/components/ballu/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/ballu/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/bang_bang/test.esp32-ard.yaml b/tests/components/bang_bang/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bang_bang/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bang_bang/test.esp32-c3-ard.yaml b/tests/components/bang_bang/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bang_bang/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-ard.yaml b/tests/components/bedjet/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bedjet/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-c3-ard.yaml b/tests/components/bedjet/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bedjet/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bh1750/test.esp32-ard.yaml b/tests/components/bh1750/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bh1750/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bh1750/test.esp32-c3-ard.yaml b/tests/components/bh1750/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bh1750/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/binary_sensor/test.esp32-ard.yaml b/tests/components/binary_sensor/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/binary_sensor/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/binary_sensor/test.esp32-c3-ard.yaml b/tests/components/binary_sensor/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/binary_sensor/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/binary_sensor_map/test.esp32-ard.yaml b/tests/components/binary_sensor_map/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/binary_sensor_map/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/binary_sensor_map/test.esp32-c3-ard.yaml b/tests/components/binary_sensor_map/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/binary_sensor_map/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bl0906/test.esp32-ard.yaml b/tests/components/bl0906/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0906/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0906/test.esp32-c3-ard.yaml b/tests/components/bl0906/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0906/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bl0939/test.esp32-ard.yaml b/tests/components/bl0939/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0939/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0939/test.esp32-c3-ard.yaml b/tests/components/bl0939/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0939/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bl0940/test.esp32-ard.yaml b/tests/components/bl0940/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0940/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0940/test.esp32-c3-ard.yaml b/tests/components/bl0940/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0940/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-ard.yaml b/tests/components/bl0942/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0942/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-c3-ard.yaml b/tests/components/bl0942/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0942/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-ard.yaml b/tests/components/ble_client/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_client/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-c3-ard.yaml b/tests/components/ble_client/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_client/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-ard.yaml b/tests/components/ble_presence/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_presence/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-c3-ard.yaml b/tests/components/ble_presence/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_presence/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-ard.yaml b/tests/components/ble_rssi/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_rssi/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-c3-ard.yaml b/tests/components/ble_rssi/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_rssi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-ard.yaml b/tests/components/ble_scanner/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_scanner/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-c3-ard.yaml b/tests/components/ble_scanner/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_scanner/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml b/tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml deleted file mode 100644 index bf01b65b6f..0000000000 --- a/tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -<<: !include common.yaml - -esp32_ble_tracker: - max_connections: 3 - -bluetooth_proxy: - active: true - connection_slots: 2 diff --git a/tests/components/bme280_i2c/test.esp32-ard.yaml b/tests/components/bme280_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme280_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.esp32-c3-ard.yaml b/tests/components/bme280_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bme280_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp32-ard.yaml b/tests/components/bme280_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/bme280_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp32-c3-ard.yaml b/tests/components/bme280_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/bme280_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bme680/test.esp32-ard.yaml b/tests/components/bme680/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bme680/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bme680/test.esp32-c3-ard.yaml b/tests/components/bme680/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bme680/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 84a9dd4bb4..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO6 - sda_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bmi160/test.esp32-ard.yaml b/tests/components/bmi160/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bmi160/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bmi160/test.esp32-c3-ard.yaml b/tests/components/bmi160/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmi160/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp085/test.esp32-ard.yaml b/tests/components/bmp085/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bmp085/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bmp085/test.esp32-c3-ard.yaml b/tests/components/bmp085/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp085/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp32-ard.yaml b/tests/components/bmp280_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bmp280_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp32-c3-ard.yaml b/tests/components/bmp280_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp280_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp32-ard.yaml b/tests/components/bmp280_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/bmp280_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp32-c3-ard.yaml b/tests/components/bmp280_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/bmp280_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp32-ard.yaml b/tests/components/bmp3xx_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bmp3xx_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml b/tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp32-ard.yaml b/tests/components/bmp3xx_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/bmp3xx_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml b/tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bmp581/test.esp32-ard.yaml b/tests/components/bmp581/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bmp581/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bmp581/test.esp32-c3-ard.yaml b/tests/components/bmp581/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp581/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp32-ard.yaml b/tests/components/bp1658cj/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/bp1658cj/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp32-c3-ard.yaml b/tests/components/bp1658cj/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/bp1658cj/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp32-ard.yaml b/tests/components/bp5758d/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/bp5758d/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp32-c3-ard.yaml b/tests/components/bp5758d/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/bp5758d/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/button/test.esp32-ard.yaml b/tests/components/button/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/button/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/button/test.esp32-c3-ard.yaml b/tests/components/button/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/button/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bytebuffer/test.esp32-ard.yaml b/tests/components/bytebuffer/test.esp32-ard.yaml deleted file mode 100644 index 380ca87628..0000000000 --- a/tests/components/bytebuffer/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -!include common.yaml diff --git a/tests/components/bytebuffer/test.esp32-c3-ard.yaml b/tests/components/bytebuffer/test.esp32-c3-ard.yaml deleted file mode 100644 index 380ca87628..0000000000 --- a/tests/components/bytebuffer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -!include common.yaml diff --git a/tests/components/camera/test.esp32-ard.yaml b/tests/components/camera/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/camera/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/camera_encoder/test.esp32-ard.yaml b/tests/components/camera_encoder/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/camera_encoder/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/canbus/test.esp32-ard.yaml b/tests/components/canbus/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/canbus/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/canbus/test.esp32-c3-ard.yaml b/tests/components/canbus/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/canbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/cap1188/test.esp32-ard.yaml b/tests/components/cap1188/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/cap1188/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/cap1188/test.esp32-c3-ard.yaml b/tests/components/cap1188/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/cap1188/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/ccs811/test.esp32-ard.yaml b/tests/components/ccs811/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ccs811/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ccs811/test.esp32-c3-ard.yaml b/tests/components/ccs811/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ccs811/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/cd74hc4067/test.esp32-ard.yaml b/tests/components/cd74hc4067/test.esp32-ard.yaml deleted file mode 100644 index c4dd280943..0000000000 --- a/tests/components/cd74hc4067/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - pin_s0: GPIO12 - pin_s1: GPIO13 - pin_s2: GPIO14 - pin_s3: GPIO15 - pin: GPIO39 - -<<: !include common.yaml diff --git a/tests/components/cd74hc4067/test.esp32-c3-ard.yaml b/tests/components/cd74hc4067/test.esp32-c3-ard.yaml deleted file mode 100644 index 5e8784c1fc..0000000000 --- a/tests/components/cd74hc4067/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - pin_s0: GPIO2 - pin_s1: GPIO3 - pin_s2: GPIO4 - pin_s3: GPIO5 - pin: GPIO0 - -<<: !include common.yaml diff --git a/tests/components/ch422g/test.esp32-ard.yaml b/tests/components/ch422g/test.esp32-ard.yaml deleted file mode 100644 index cd3f1bbeef..0000000000 --- a/tests/components/ch422g/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ch422g - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/ch422g/test.esp32-c3-ard.yaml b/tests/components/ch422g/test.esp32-c3-ard.yaml deleted file mode 100644 index cd822cb308..0000000000 --- a/tests/components/ch422g/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/chsc6x/test.esp32-ard.yaml b/tests/components/chsc6x/test.esp32-ard.yaml deleted file mode 100644 index 9bc58b66f6..0000000000 --- a/tests/components/chsc6x/test.esp32-ard.yaml +++ /dev/null @@ -1,25 +0,0 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 21 - -spi: - clk_pin: 16 - mosi_pin: 17 - -display: - - platform: ili9xxx - id: ili9xxx_display - model: GC9A01A - invert_colors: True - cs_pin: 18 - dc_pin: 19 - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); - -touchscreen: - - platform: chsc6x - display: ili9xxx_display - interrupt_pin: 20 diff --git a/tests/components/chsc6x/test.esp32-c3-ard.yaml b/tests/components/chsc6x/test.esp32-c3-ard.yaml deleted file mode 100644 index b0f55eb2e6..0000000000 --- a/tests/components/chsc6x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,25 +0,0 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 9 - -spi: - clk_pin: 5 - mosi_pin: 4 - -display: - - platform: ili9xxx - id: ili9xxx_display - model: GC9A01A - invert_colors: True - cs_pin: 18 - dc_pin: 19 - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); - -touchscreen: - - platform: chsc6x - display: ili9xxx_display - interrupt_pin: 20 diff --git a/tests/components/climate_ir_lg/test.esp32-ard.yaml b/tests/components/climate_ir_lg/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/climate_ir_lg/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/climate_ir_lg/test.esp32-c3-ard.yaml b/tests/components/climate_ir_lg/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/climate_ir_lg/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/cm1106/test.esp32-ard.yaml b/tests/components/cm1106/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/cm1106/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/cm1106/test.esp32-c3-ard.yaml b/tests/components/cm1106/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/cm1106/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/color/test.esp32-ard.yaml b/tests/components/color/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/color/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/color/test.esp32-c3-ard.yaml b/tests/components/color/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/color/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/color_temperature/test.esp32-ard.yaml b/tests/components/color_temperature/test.esp32-ard.yaml deleted file mode 100644 index 1831adda6e..0000000000 --- a/tests/components/color_temperature/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO16 - pin_o2: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/color_temperature/test.esp32-c3-ard.yaml b/tests/components/color_temperature/test.esp32-c3-ard.yaml deleted file mode 100644 index 016f315d9f..0000000000 --- a/tests/components/color_temperature/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO6 - pin_o2: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/combination/test.esp32-ard.yaml b/tests/components/combination/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/combination/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/combination/test.esp32-c3-ard.yaml b/tests/components/combination/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/combination/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/coolix/test.esp32-ard.yaml b/tests/components/coolix/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/coolix/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/coolix/test.esp32-c3-ard.yaml b/tests/components/coolix/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/coolix/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/copy/test.esp32-ard.yaml b/tests/components/copy/test.esp32-ard.yaml deleted file mode 100644 index e5337726dc..0000000000 --- a/tests/components/copy/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - pwm_platform: ledc - pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/copy/test.esp32-c3-ard.yaml b/tests/components/copy/test.esp32-c3-ard.yaml deleted file mode 100644 index 76272beb77..0000000000 --- a/tests/components/copy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - pwm_platform: ledc - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp32-ard.yaml b/tests/components/cs5460a/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/cs5460a/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp32-c3-ard.yaml b/tests/components/cs5460a/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/cs5460a/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/cse7761/test.esp32-ard.yaml b/tests/components/cse7761/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/cse7761/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/cse7761/test.esp32-c3-ard.yaml b/tests/components/cse7761/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/cse7761/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/cse7766/test.esp32-ard.yaml b/tests/components/cse7766/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/cse7766/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/cse7766/test.esp32-c3-ard.yaml b/tests/components/cse7766/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/cse7766/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/cst226/test.esp32-ard.yaml b/tests/components/cst226/test.esp32-ard.yaml deleted file mode 100644 index 11e2c4fd43..0000000000 --- a/tests/components/cst226/test.esp32-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - cs_pin: GPIO4 - dc_pin: GPIO5 - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/cst226/test.esp32-c3-ard.yaml b/tests/components/cst226/test.esp32-c3-ard.yaml deleted file mode 100644 index 2f9bd72882..0000000000 --- a/tests/components/cst226/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 - dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/cst816/test.esp32-ard.yaml b/tests/components/cst816/test.esp32-ard.yaml deleted file mode 100644 index 11e2c4fd43..0000000000 --- a/tests/components/cst816/test.esp32-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - cs_pin: GPIO4 - dc_pin: GPIO5 - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/cst816/test.esp32-c3-ard.yaml b/tests/components/cst816/test.esp32-c3-ard.yaml deleted file mode 100644 index 2f9bd72882..0000000000 --- a/tests/components/cst816/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 - dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ct_clamp/test.esp32-ard.yaml b/tests/components/ct_clamp/test.esp32-ard.yaml deleted file mode 100644 index 0a70e3f733..0000000000 --- a/tests/components/ct_clamp/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO39 - -<<: !include common.yaml diff --git a/tests/components/ct_clamp/test.esp32-c3-ard.yaml b/tests/components/ct_clamp/test.esp32-c3-ard.yaml deleted file mode 100644 index a8f29c98ae..0000000000 --- a/tests/components/ct_clamp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO0 - -<<: !include common.yaml diff --git a/tests/components/current_based/test.esp32-ard.yaml b/tests/components/current_based/test.esp32-ard.yaml deleted file mode 100644 index 2c57d412f6..0000000000 --- a/tests/components/current_based/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/current_based/test.esp32-c3-ard.yaml b/tests/components/current_based/test.esp32-c3-ard.yaml deleted file mode 100644 index 799acabd5a..0000000000 --- a/tests/components/current_based/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/cwww/test.esp32-ard.yaml b/tests/components/cwww/test.esp32-ard.yaml deleted file mode 100644 index 1831adda6e..0000000000 --- a/tests/components/cwww/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO16 - pin_o2: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/cwww/test.esp32-c3-ard.yaml b/tests/components/cwww/test.esp32-c3-ard.yaml deleted file mode 100644 index 016f315d9f..0000000000 --- a/tests/components/cwww/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO6 - pin_o2: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/dac7678/test.esp32-ard.yaml b/tests/components/dac7678/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/dac7678/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/dac7678/test.esp32-c3-ard.yaml b/tests/components/dac7678/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/dac7678/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/daikin/test.esp32-ard.yaml b/tests/components/daikin/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/daikin/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/daikin_arc/test.esp32-ard.yaml b/tests/components/daikin_arc/test.esp32-ard.yaml deleted file mode 100644 index cd59eb0832..0000000000 --- a/tests/components/daikin_arc/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO2 - rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/daikin_brc/test.esp32-ard.yaml b/tests/components/daikin_brc/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/daikin_brc/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/daikin_brc/test.esp32-c3-ard.yaml b/tests/components/daikin_brc/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/daikin_brc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp32-ard.yaml b/tests/components/dallas_temp/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dallas_temp/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp32-c3-ard.yaml b/tests/components/dallas_temp/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dallas_temp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp32-ard.yaml b/tests/components/daly_bms/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/daly_bms/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp32-c3-ard.yaml b/tests/components/daly_bms/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/daly_bms/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/deep_sleep/test.esp32-ard.yaml b/tests/components/deep_sleep/test.esp32-ard.yaml deleted file mode 100644 index 10c17af0f5..0000000000 --- a/tests/components/deep_sleep/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - wakeup_pin: GPIO4 - -<<: !include common.yaml -<<: !include common-esp32.yaml diff --git a/tests/components/deep_sleep/test.esp32-c3-ard.yaml b/tests/components/deep_sleep/test.esp32-c3-ard.yaml deleted file mode 100644 index 10c17af0f5..0000000000 --- a/tests/components/deep_sleep/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - wakeup_pin: GPIO4 - -<<: !include common.yaml -<<: !include common-esp32.yaml diff --git a/tests/components/delonghi/test.esp32-ard.yaml b/tests/components/delonghi/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/delonghi/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/delonghi/test.esp32-c3-ard.yaml b/tests/components/delonghi/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/delonghi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp32-ard.yaml b/tests/components/dfplayer/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/dfplayer/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp32-c3-ard.yaml b/tests/components/dfplayer/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/dfplayer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp32-ard.yaml b/tests/components/dfrobot_sen0395/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/dfrobot_sen0395/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml b/tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/dht/test.esp32-ard.yaml b/tests/components/dht/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dht/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dht/test.esp32-c3-ard.yaml b/tests/components/dht/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dht/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dht12/test.esp32-ard.yaml b/tests/components/dht12/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/dht12/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/dht12/test.esp32-c3-ard.yaml b/tests/components/dht12/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/dht12/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/display/test.esp32-ard.yaml b/tests/components/display/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/display/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dps310/test.esp32-ard.yaml b/tests/components/dps310/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/dps310/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/dps310/test.esp32-c3-ard.yaml b/tests/components/dps310/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/dps310/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ds1307/test.esp32-ard.yaml b/tests/components/ds1307/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ds1307/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ds1307/test.esp32-c3-ard.yaml b/tests/components/ds1307/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ds1307/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ds2484/test.esp32-ard.yaml b/tests/components/ds2484/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ds2484/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ds2484/test.esp32-c3-ard.yaml b/tests/components/ds2484/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ds2484/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/duty_cycle/test.esp32-ard.yaml b/tests/components/duty_cycle/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_cycle/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/duty_cycle/test.esp32-c3-ard.yaml b/tests/components/duty_cycle/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_cycle/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/duty_time/test.esp32-ard.yaml b/tests/components/duty_time/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_time/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/duty_time/test.esp32-c3-ard.yaml b/tests/components/duty_time/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_time/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/e131/test.esp32-ard.yaml b/tests/components/e131/test.esp32-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/e131/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/e131/test.esp32-c3-ard.yaml b/tests/components/e131/test.esp32-c3-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/e131/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/ee895/test.esp32-ard.yaml b/tests/components/ee895/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ee895/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ee895/test.esp32-c3-ard.yaml b/tests/components/ee895/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ee895/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp32-ard.yaml b/tests/components/ektf2232/test.esp32-ard.yaml deleted file mode 100644 index 7d3f2ca7a2..0000000000 --- a/tests/components/ektf2232/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - display_reset_pin: GPIO13 - interrupt_pin: GPIO14 - touch_reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp32-c3-ard.yaml b/tests/components/ektf2232/test.esp32-c3-ard.yaml deleted file mode 100644 index 4d793a3242..0000000000 --- a/tests/components/ektf2232/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - display_reset_pin: GPIO3 - interrupt_pin: GPIO6 - touch_reset_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/emc2101/test.esp32-ard.yaml b/tests/components/emc2101/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/emc2101/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/emc2101/test.esp32-c3-ard.yaml b/tests/components/emc2101/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/emc2101/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/emmeti/test.esp32-ard.yaml b/tests/components/emmeti/test.esp32-ard.yaml deleted file mode 100644 index 2689ff279e..0000000000 --- a/tests/components/emmeti/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - remote_transmitter_pin: GPIO33 - remote_receiver_pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/endstop/test.esp32-ard.yaml b/tests/components/endstop/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/endstop/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/endstop/test.esp32-c3-ard.yaml b/tests/components/endstop/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/endstop/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp32-ard.yaml b/tests/components/ens160_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ens160_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp32-c3-ard.yaml b/tests/components/ens160_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ens160_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp32-ard.yaml b/tests/components/ens160_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/ens160_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp32-c3-ard.yaml b/tests/components/ens160_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/ens160_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ens210/test.esp32-ard.yaml b/tests/components/ens210/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ens210/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ens210/test.esp32-c3-ard.yaml b/tests/components/ens210/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ens210/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es7210/test.esp32-ard.yaml b/tests/components/es7210/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es7210/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es7210/test.esp32-c3-ard.yaml b/tests/components/es7210/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es7210/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es7243e/test.esp32-ard.yaml b/tests/components/es7243e/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es7243e/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es7243e/test.esp32-c3-ard.yaml b/tests/components/es7243e/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es7243e/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es8156/test.esp32-ard.yaml b/tests/components/es8156/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es8156/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es8156/test.esp32-c3-ard.yaml b/tests/components/es8156/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es8156/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es8311/test.esp32-ard.yaml b/tests/components/es8311/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es8311/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es8311/test.esp32-c3-ard.yaml b/tests/components/es8311/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es8311/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es8388/test.esp32-ard.yaml b/tests/components/es8388/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es8388/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es8388/test.esp32-c3-ard.yaml b/tests/components/es8388/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es8388/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-ard.yaml b/tests/components/esp32_ble_client/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_client/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_client/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_client/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_server/test.esp32-ard.yaml b/tests/components/esp32_ble_server/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_server/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_server/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_server/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_server/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_camera/test.esp32-ard.yaml b/tests/components/esp32_camera/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_camera/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_camera_web_server/test.esp32-ard.yaml b/tests/components/esp32_camera_web_server/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_camera_web_server/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_can/test.esp32-ard.yaml b/tests/components/esp32_can/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/esp32_can/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/esp32_can/test.esp32-c3-ard.yaml b/tests/components/esp32_can/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/esp32_can/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/esp32_dac/test.esp32-ard.yaml b/tests/components/esp32_dac/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_dac/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_improv/test.esp32-ard.yaml b/tests/components/esp32_improv/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_improv/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_improv/test.esp32-c3-ard.yaml b/tests/components/esp32_improv/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_improv/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml deleted file mode 100644 index 0949b676d5..0000000000 --- a/tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin1: GPIO13 - pin2: GPIO14 - -packages: - common: !include common.yaml diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml deleted file mode 100644 index 6cc0667e77..0000000000 --- a/tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin1: GPIO3 - pin2: GPIO4 - -packages: - common: !include common.yaml diff --git a/tests/components/esp32_touch/test.esp32-ard.yaml b/tests/components/esp32_touch/test.esp32-ard.yaml deleted file mode 100644 index 25316b8646..0000000000 --- a/tests/components/esp32_touch/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO27 - -<<: !include common.yaml diff --git a/tests/components/esp32_touch/test.esp32-s2-ard.yaml b/tests/components/esp32_touch/test.esp32-s2-ard.yaml deleted file mode 100644 index 575d758fae..0000000000 --- a/tests/components/esp32_touch/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO12 - -<<: !include common-variants.yaml diff --git a/tests/components/esp32_touch/test.esp32-s3-ard.yaml b/tests/components/esp32_touch/test.esp32-s3-ard.yaml deleted file mode 100644 index 575d758fae..0000000000 --- a/tests/components/esp32_touch/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO12 - -<<: !include common-variants.yaml diff --git a/tests/components/esphome/test.esp32-ard.yaml b/tests/components/esphome/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esphome/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esphome/test.esp32-c3-ard.yaml b/tests/components/esphome/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esphome/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ethernet_info/test.esp32-ard.yaml b/tests/components/ethernet_info/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ethernet_info/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/event/test.esp32-ard.yaml b/tests/components/event/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/event/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/event/test.esp32-c3-ard.yaml b/tests/components/event/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/event/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-ard.yaml b/tests/components/exposure_notifications/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/exposure_notifications/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-c3-ard.yaml b/tests/components/exposure_notifications/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/exposure_notifications/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/external_components/test.esp32-ard.yaml b/tests/components/external_components/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/external_components/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/external_components/test.esp32-c3-ard.yaml b/tests/components/external_components/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/external_components/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ezo/test.esp32-ard.yaml b/tests/components/ezo/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ezo/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ezo/test.esp32-c3-ard.yaml b/tests/components/ezo/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ezo/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp32-ard.yaml b/tests/components/ezo_pmp/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ezo_pmp/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp32-c3-ard.yaml b/tests/components/ezo_pmp/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ezo_pmp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/factory_reset/test.esp32-ard.yaml b/tests/components/factory_reset/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/factory_reset/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/factory_reset/test.esp32-c3-ard.yaml b/tests/components/factory_reset/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/factory_reset/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/feedback/test.esp32-ard.yaml b/tests/components/feedback/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/feedback/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/feedback/test.esp32-c3-ard.yaml b/tests/components/feedback/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/feedback/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp32-ard.yaml b/tests/components/fingerprint_grow/test.esp32-ard.yaml deleted file mode 100644 index 4aef3d8be6..0000000000 --- a/tests/components/fingerprint_grow/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - sensing_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp32-c3-ard.yaml b/tests/components/fingerprint_grow/test.esp32-c3-ard.yaml deleted file mode 100644 index faab50e152..0000000000 --- a/tests/components/fingerprint_grow/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - sensing_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/font/test.esp32-ard.yaml b/tests/components/font/test.esp32-ard.yaml deleted file mode 100644 index d98600a51b..0000000000 --- a/tests/components/font/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 - display_reset_pin: GPIO13 - -packages: - common: !include common.yaml diff --git a/tests/components/font/test.esp32-c3-ard.yaml b/tests/components/font/test.esp32-c3-ard.yaml deleted file mode 100644 index ad14a2e9a6..0000000000 --- a/tests/components/font/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 - display_reset_pin: GPIO3 - -packages: - common: !include common.yaml diff --git a/tests/components/fs3000/test.esp32-ard.yaml b/tests/components/fs3000/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/fs3000/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/fs3000/test.esp32-c3-ard.yaml b/tests/components/fs3000/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/fs3000/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp32-ard.yaml b/tests/components/ft5x06/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/ft5x06/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp32-c3-ard.yaml b/tests/components/ft5x06/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/ft5x06/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp32-ard.yaml b/tests/components/ft63x6/test.esp32-ard.yaml deleted file mode 100644 index 47b5796e8b..0000000000 --- a/tests/components/ft63x6/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp32-c3-ard.yaml b/tests/components/ft63x6/test.esp32-c3-ard.yaml deleted file mode 100644 index 397ac1e464..0000000000 --- a/tests/components/ft63x6/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/fujitsu_general/test.esp32-ard.yaml b/tests/components/fujitsu_general/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/fujitsu_general/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/fujitsu_general/test.esp32-c3-ard.yaml b/tests/components/fujitsu_general/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/fujitsu_general/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/gcja5/test.esp32-ard.yaml b/tests/components/gcja5/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/gcja5/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gcja5/test.esp32-c3-ard.yaml b/tests/components/gcja5/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/gcja5/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/gdk101/test.esp32-ard.yaml b/tests/components/gdk101/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/gdk101/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp32-ard.yaml b/tests/components/gl_r01_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/gl_r01_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml b/tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/globals/test.esp32-ard.yaml b/tests/components/globals/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/globals/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/globals/test.esp32-c3-ard.yaml b/tests/components/globals/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/globals/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/gp2y1010au0f/test.esp32-ard.yaml b/tests/components/gp2y1010au0f/test.esp32-ard.yaml deleted file mode 100644 index d9494a95b7..0000000000 --- a/tests/components/gp2y1010au0f/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - adc_pin: A0 - output_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml b/tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml deleted file mode 100644 index 0e331c893c..0000000000 --- a/tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - adc_pin: GPIO0 - output_pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/gp8403/test.esp32-ard.yaml b/tests/components/gp8403/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/gp8403/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/gp8403/test.esp32-c3-ard.yaml b/tests/components/gp8403/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/gp8403/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/gpio/test.esp32-ard.yaml b/tests/components/gpio/test.esp32-ard.yaml deleted file mode 100644 index 09f41abb79..0000000000 --- a/tests/components/gpio/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - binary_sensor_pin: GPIO12 - output_pin: GPIO13 - switch_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gpio/test.esp32-c3-ard.yaml b/tests/components/gpio/test.esp32-c3-ard.yaml deleted file mode 100644 index fc7c9942d0..0000000000 --- a/tests/components/gpio/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - binary_sensor_pin: GPIO2 - output_pin: GPIO3 - switch_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/gps/test.esp32-ard.yaml b/tests/components/gps/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/gps/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gps/test.esp32-c3-ard.yaml b/tests/components/gps/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/gps/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/graph/test.esp32-ard.yaml b/tests/components/graph/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/graph/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/graph/test.esp32-c3-ard.yaml b/tests/components/graph/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/graph/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp32-ard.yaml b/tests/components/graphical_display_menu/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/graphical_display_menu/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp32-c3-ard.yaml b/tests/components/graphical_display_menu/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/graphical_display_menu/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/gree/test.esp32-ard.yaml b/tests/components/gree/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/gree/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/gree/test.esp32-c3-ard.yaml b/tests/components/gree/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/gree/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp32-ard.yaml b/tests/components/grove_gas_mc_v2/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/grove_gas_mc_v2/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml b/tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp32-ard.yaml b/tests/components/grove_tb6612fng/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/grove_tb6612fng/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml b/tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp32-ard.yaml b/tests/components/growatt_solar/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/growatt_solar/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp32-c3-ard.yaml b/tests/components/growatt_solar/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/growatt_solar/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/gt911/test.esp32-ard.yaml b/tests/components/gt911/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/gt911/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/gt911/test.esp32-c3-ard.yaml b/tests/components/gt911/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/gt911/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/haier/test.esp32-ard.yaml b/tests/components/haier/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/haier/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/haier/test.esp32-c3-ard.yaml b/tests/components/haier/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/haier/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp32-ard.yaml b/tests/components/havells_solar/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/havells_solar/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp32-c3-ard.yaml b/tests/components/havells_solar/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/havells_solar/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/hbridge/test.esp32-ard.yaml b/tests/components/hbridge/test.esp32-ard.yaml deleted file mode 100644 index e50d537749..0000000000 --- a/tests/components/hbridge/test.esp32-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -substitutions: - pwm_platform: ledc - output1_pin: "14" - output2_pin: "15" - output3_pin: "12" - output4_pin: "13" - hbridge_on_pin: "4" - hbridge_off_pin: "5" - -packages: - common: !include common.yaml - -switch: - - id: !extend switch_hbridge - pulse_length: 60ms - wait_time: 10ms - optimistic: false diff --git a/tests/components/hbridge/test.esp32-c3-ard.yaml b/tests/components/hbridge/test.esp32-c3-ard.yaml deleted file mode 100644 index b9e8738442..0000000000 --- a/tests/components/hbridge/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,16 +0,0 @@ -substitutions: - pwm_platform: "ledc" - output1_pin: "4" - output2_pin: "5" - output3_pin: "6" - output4_pin: "7" - hbridge_on_pin: "2" - hbridge_off_pin: "3" - -packages: - common: !include common.yaml - -switch: - - id: !extend switch_hbridge - wait_time: 10ms - optimistic: true diff --git a/tests/components/hdc1080/test.esp32-ard.yaml b/tests/components/hdc1080/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hdc1080/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hdc1080/test.esp32-c3-ard.yaml b/tests/components/hdc1080/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hdc1080/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/he60r/test.esp32-ard.yaml b/tests/components/he60r/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/he60r/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/he60r/test.esp32-c3-ard.yaml b/tests/components/he60r/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/he60r/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp32-ard.yaml b/tests/components/hitachi_ac344/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac344/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp32-c3-ard.yaml b/tests/components/hitachi_ac344/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac344/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp32-ard.yaml b/tests/components/hitachi_ac424/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac424/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp32-c3-ard.yaml b/tests/components/hitachi_ac424/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac424/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hlw8012/test.esp32-ard.yaml b/tests/components/hlw8012/test.esp32-ard.yaml deleted file mode 100644 index 8b42b21b54..0000000000 --- a/tests/components/hlw8012/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/hlw8012/test.esp32-c3-ard.yaml b/tests/components/hlw8012/test.esp32-c3-ard.yaml deleted file mode 100644 index 8b0d069ce2..0000000000 --- a/tests/components/hlw8012/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO2 - cf_pin: GPIO3 - cf1_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hm3301/test.esp32-ard.yaml b/tests/components/hm3301/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hm3301/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hm3301/test.esp32-c3-ard.yaml b/tests/components/hm3301/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hm3301/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp32-ard.yaml b/tests/components/hmc5883l/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hmc5883l/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp32-c3-ard.yaml b/tests/components/hmc5883l/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hmc5883l/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/homeassistant/test.esp32-ard.yaml b/tests/components/homeassistant/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/homeassistant/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/homeassistant/test.esp32-c3-ard.yaml b/tests/components/homeassistant/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/homeassistant/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp32-ard.yaml b/tests/components/honeywell_hih_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/honeywell_hih_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml b/tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp32-ard.yaml b/tests/components/honeywellabp/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/honeywellabp/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp32-c3-ard.yaml b/tests/components/honeywellabp/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/honeywellabp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp32-ard.yaml b/tests/components/honeywellabp2_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/honeywellabp2_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml b/tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/hte501/test.esp32-ard.yaml b/tests/components/hte501/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hte501/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hte501/test.esp32-c3-ard.yaml b/tests/components/hte501/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hte501/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/htu21d/test.esp32-ard.yaml b/tests/components/htu21d/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/htu21d/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/htu21d/test.esp32-c3-ard.yaml b/tests/components/htu21d/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/htu21d/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/htu31d/test.esp32-ard.yaml b/tests/components/htu31d/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/htu31d/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/htu31d/test.esp32-c3-ard.yaml b/tests/components/htu31d/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/htu31d/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-ard.yaml b/tests/components/hx711/test.esp32-ard.yaml deleted file mode 100644 index 6423867395..0000000000 --- a/tests/components/hx711/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO16 - dout_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-c3-ard.yaml b/tests/components/hx711/test.esp32-c3-ard.yaml deleted file mode 100644 index 08a6e705c0..0000000000 --- a/tests/components/hx711/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp32-ard.yaml b/tests/components/hydreon_rgxx/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/hydreon_rgxx/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml b/tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/hyt271/test.esp32-ard.yaml b/tests/components/hyt271/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hyt271/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hyt271/test.esp32-c3-ard.yaml b/tests/components/hyt271/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hyt271/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp32-ard.yaml b/tests/components/i2c_device/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/i2c_device/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp32-c3-ard.yaml b/tests/components/i2c_device/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/i2c_device/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/i2s_audio/test.esp32-ard.yaml b/tests/components/i2s_audio/test.esp32-ard.yaml deleted file mode 100644 index ce751d7d4a..0000000000 --- a/tests/components/i2s_audio/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/i2s_audio/test.esp32-c3-ard.yaml b/tests/components/i2s_audio/test.esp32-c3-ard.yaml deleted file mode 100644 index 5490846ae9..0000000000 --- a/tests/components/i2s_audio/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO5 - i2s_lrclk_pin: GPIO6 - i2s_mclk_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp32-ard.yaml b/tests/components/iaqcore/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/iaqcore/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp32-c3-ard.yaml b/tests/components/iaqcore/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/iaqcore/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp32-ard.yaml b/tests/components/ili9xxx/test.esp32-ard.yaml deleted file mode 100644 index 2e006d2521..0000000000 --- a/tests/components/ili9xxx/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin1: GPIO12 - dc_pin1: GPIO13 - reset_pin1: GPIO14 - cs_pin2: GPIO25 - dc_pin2: GPIO26 - reset_pin2: GPIO27 - -<<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp32-c3-ard.yaml b/tests/components/ili9xxx/test.esp32-c3-ard.yaml deleted file mode 100644 index 3037785e81..0000000000 --- a/tests/components/ili9xxx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin1: GPIO8 - dc_pin1: GPIO9 - reset_pin1: GPIO10 - cs_pin2: GPIO2 - dc_pin2: GPIO3 - reset_pin2: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina219/test.esp32-ard.yaml b/tests/components/ina219/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina219/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina219/test.esp32-c3-ard.yaml b/tests/components/ina219/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina219/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina226/test.esp32-ard.yaml b/tests/components/ina226/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina226/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina226/test.esp32-c3-ard.yaml b/tests/components/ina226/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina226/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina260/test.esp32-ard.yaml b/tests/components/ina260/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina260/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina260/test.esp32-c3-ard.yaml b/tests/components/ina260/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina260/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp32-ard.yaml b/tests/components/ina2xx_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina2xx_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml b/tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp32-ard.yaml b/tests/components/ina2xx_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/ina2xx_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp32-c3-ard.yaml b/tests/components/ina2xx_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/ina2xx_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ina3221/test.esp32-ard.yaml b/tests/components/ina3221/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina3221/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina3221/test.esp32-c3-ard.yaml b/tests/components/ina3221/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina3221/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/inkplate/test.esp32-ard.yaml b/tests/components/inkplate/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/inkplate/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/integration/test.esp32-ard.yaml b/tests/components/integration/test.esp32-ard.yaml deleted file mode 100644 index f84495e521..0000000000 --- a/tests/components/integration/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: A0 - -<<: !include common-esp32.yaml diff --git a/tests/components/integration/test.esp32-c3-ard.yaml b/tests/components/integration/test.esp32-c3-ard.yaml deleted file mode 100644 index 5105e645f3..0000000000 --- a/tests/components/integration/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO1 - -<<: !include common-esp32.yaml diff --git a/tests/components/internal_temperature/test.esp32-ard.yaml b/tests/components/internal_temperature/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/internal_temperature/test.esp32-c3-ard.yaml b/tests/components/internal_temperature/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/internal_temperature/test.esp32-s2-ard.yaml b/tests/components/internal_temperature/test.esp32-s2-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/internal_temperature/test.esp32-s3-ard.yaml b/tests/components/internal_temperature/test.esp32-s3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/interval/test.esp32-ard.yaml b/tests/components/interval/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/interval/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/interval/test.esp32-c3-ard.yaml b/tests/components/interval/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/interval/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp32-ard.yaml b/tests/components/jsn_sr04t/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/jsn_sr04t/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp32-c3-ard.yaml b/tests/components/jsn_sr04t/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/jsn_sr04t/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/kamstrup_kmp/test.esp32-ard.yaml b/tests/components/kamstrup_kmp/test.esp32-ard.yaml deleted file mode 100644 index adc2c4d24a..0000000000 --- a/tests/components/kamstrup_kmp/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO1 - uart_rx_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/key_collector/test.esp32-ard.yaml b/tests/components/key_collector/test.esp32-ard.yaml deleted file mode 100644 index de144aa46b..0000000000 --- a/tests/components/key_collector/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_r0: GPIO12 - pin_r1: GPIO13 - pin_c0: GPIO14 - pin_c1: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/key_collector/test.esp32-c3-ard.yaml b/tests/components/key_collector/test.esp32-c3-ard.yaml deleted file mode 100644 index b580ab7843..0000000000 --- a/tests/components/key_collector/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_r0: GPIO2 - pin_r1: GPIO3 - pin_c0: GPIO4 - pin_c1: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp32-ard.yaml b/tests/components/kmeteriso/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/kmeteriso/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp32-c3-ard.yaml b/tests/components/kmeteriso/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/kmeteriso/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/kuntze/test.esp32-ard.yaml b/tests/components/kuntze/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/kuntze/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/kuntze/test.esp32-c3-ard.yaml b/tests/components/kuntze/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/kuntze/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp32-ard.yaml b/tests/components/lc709203f/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/lc709203f/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp32-c3-ard.yaml b/tests/components/lc709203f/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/lc709203f/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp32-ard.yaml b/tests/components/lcd_gpio/test.esp32-ard.yaml deleted file mode 100644 index 9c2af456b5..0000000000 --- a/tests/components/lcd_gpio/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 - d2_pin: GPIO14 - d3_pin: GPIO15 - enable_pin: GPIO16 - rs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp32-c3-ard.yaml b/tests/components/lcd_gpio/test.esp32-c3-ard.yaml deleted file mode 100644 index b6b05f3ab4..0000000000 --- a/tests/components/lcd_gpio/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO1 - d1_pin: GPIO2 - d2_pin: GPIO3 - d3_pin: GPIO4 - enable_pin: GPIO5 - rs_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/lcd_menu/test.esp32-ard.yaml b/tests/components/lcd_menu/test.esp32-ard.yaml deleted file mode 100644 index 9c2af456b5..0000000000 --- a/tests/components/lcd_menu/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 - d2_pin: GPIO14 - d3_pin: GPIO15 - enable_pin: GPIO16 - rs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/lcd_menu/test.esp32-c3-ard.yaml b/tests/components/lcd_menu/test.esp32-c3-ard.yaml deleted file mode 100644 index b6b05f3ab4..0000000000 --- a/tests/components/lcd_menu/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO1 - d1_pin: GPIO2 - d2_pin: GPIO3 - d3_pin: GPIO4 - enable_pin: GPIO5 - rs_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp32-ard.yaml b/tests/components/lcd_pcf8574/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/lcd_pcf8574/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml b/tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ld2410/test.esp32-ard.yaml b/tests/components/ld2410/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2410/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2410/test.esp32-c3-ard.yaml b/tests/components/ld2410/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2410/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ld2412/test.esp32-ard.yaml b/tests/components/ld2412/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2412/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2412/test.esp32-c3-ard.yaml b/tests/components/ld2412/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2412/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ld2420/test.esp32-ard.yaml b/tests/components/ld2420/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2420/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2420/test.esp32-c3-ard.yaml b/tests/components/ld2420/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2420/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ld2450/test.esp32-ard.yaml b/tests/components/ld2450/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2450/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2450/test.esp32-c3-ard.yaml b/tests/components/ld2450/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2450/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ledc/test.esp32-ard.yaml b/tests/components/ledc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ledc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ledc/test.esp32-c3-ard.yaml b/tests/components/ledc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ledc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/light/test.esp32-ard.yaml b/tests/components/light/test.esp32-ard.yaml deleted file mode 100644 index 925197182c..0000000000 --- a/tests/components/light/test.esp32-ard.yaml +++ /dev/null @@ -1,21 +0,0 @@ -output: - - platform: gpio - id: test_binary - pin: 12 - - platform: ledc - id: test_ledc_1 - pin: 13 - - platform: ledc - id: test_ledc_2 - pin: 14 - - platform: ledc - id: test_ledc_3 - pin: 15 - - platform: ledc - id: test_ledc_4 - pin: 16 - - platform: ledc - id: test_ledc_5 - pin: 17 - -<<: !include common.yaml diff --git a/tests/components/light/test.esp32-c3-ard.yaml b/tests/components/light/test.esp32-c3-ard.yaml deleted file mode 100644 index 317d5748a3..0000000000 --- a/tests/components/light/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,21 +0,0 @@ -output: - - platform: gpio - id: test_binary - pin: 0 - - platform: ledc - id: test_ledc_1 - pin: 1 - - platform: ledc - id: test_ledc_2 - pin: 2 - - platform: ledc - id: test_ledc_3 - pin: 3 - - platform: ledc - id: test_ledc_4 - pin: 4 - - platform: ledc - id: test_ledc_5 - pin: 5 - -<<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp32-ard.yaml b/tests/components/lilygo_t5_47/test.esp32-ard.yaml deleted file mode 100644 index 342f0b6d8b..0000000000 --- a/tests/components/lilygo_t5_47/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml b/tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml deleted file mode 100644 index 061a98ce24..0000000000 --- a/tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/lm75b/test.esp32-ard.yaml b/tests/components/lm75b/test.esp32-ard.yaml deleted file mode 100644 index 43264df633..0000000000 --- a/tests/components/lm75b/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO15 - sda_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/lm75b/test.esp32-c3-ard.yaml b/tests/components/lm75b/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/lm75b/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/lock/test.esp32-ard.yaml b/tests/components/lock/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/lock/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/lock/test.esp32-c3-ard.yaml b/tests/components/lock/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/lock/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/lps22/test.esp32-ard.yaml b/tests/components/lps22/test.esp32-ard.yaml deleted file mode 100644 index 0da6a9577e..0000000000 --- a/tests/components/lps22/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_lps22 - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/lps22/test.esp32-c3-ard.yaml b/tests/components/lps22/test.esp32-c3-ard.yaml deleted file mode 100644 index 6091393d31..0000000000 --- a/tests/components/lps22/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/ltr390/test.esp32-ard.yaml b/tests/components/ltr390/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ltr390/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ltr390/test.esp32-c3-ard.yaml b/tests/components/ltr390/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ltr390/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ltr501/test.esp32-ard.yaml b/tests/components/ltr501/test.esp32-ard.yaml deleted file mode 100644 index 4c710c74fe..0000000000 --- a/tests/components/ltr501/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ltr501 - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/ltr501/test.esp32-c3-ard.yaml b/tests/components/ltr501/test.esp32-c3-ard.yaml deleted file mode 100644 index 9e7de2768d..0000000000 --- a/tests/components/ltr501/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp32-ard.yaml b/tests/components/ltr_als_ps/test.esp32-ard.yaml deleted file mode 100644 index 2349292a64..0000000000 --- a/tests/components/ltr_als_ps/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_als_ps - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp32-c3-ard.yaml b/tests/components/ltr_als_ps/test.esp32-c3-ard.yaml deleted file mode 100644 index d64d70f018..0000000000 --- a/tests/components/ltr_als_ps/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/lvgl/test.esp32-ard.yaml b/tests/components/lvgl/test.esp32-ard.yaml deleted file mode 100644 index f85bedbde6..0000000000 --- a/tests/components/lvgl/test.esp32-ard.yaml +++ /dev/null @@ -1,58 +0,0 @@ -spi: - clk_pin: 14 - mosi_pin: 13 - -i2c: - sda: GPIO18 - scl: GPIO19 - -display: - - platform: ili9xxx - model: st7789v - id: tft_display - dimensions: - width: 240 - height: 320 - transform: - swap_xy: false - mirror_x: true - mirror_y: true - data_rate: 80MHz - cs_pin: GPIO22 - dc_pin: GPIO21 - auto_clear_enabled: false - invert_colors: false - update_interval: never - -binary_sensor: - - platform: gpio - internal: true - id: up_button - pin: - number: GPIO38 - inverted: true - - platform: gpio - internal: true - id: down_button - pin: - number: GPIO37 - inverted: true - - platform: gpio - internal: true - id: select_button - pin: - number: GPIO39 - inverted: true -lvgl: - draw_rounding: 8 - encoders: - group: switches - initial_focus: button_button - enter_button: select_button - sensor: - left_button: up_button - right_button: down_button - -packages: - lvgl: !include lvgl-package.yaml - xvgl: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp32-ard.yaml b/tests/components/m5stack_8angle/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/m5stack_8angle/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp32-c3-ard.yaml b/tests/components/m5stack_8angle/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/m5stack_8angle/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mapping/test.esp32-ard.yaml b/tests/components/mapping/test.esp32-ard.yaml deleted file mode 100644 index a76bf9349b..0000000000 --- a/tests/components/mapping/test.esp32-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 - -packages: - map: !include common.yaml - -display: - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 12 - dc_pin: 13 - reset_pin: 21 - invert_colors: false diff --git a/tests/components/mapping/test.esp32-c3-ard.yaml b/tests/components/mapping/test.esp32-c3-ard.yaml deleted file mode 100644 index f95dd4f30d..0000000000 --- a/tests/components/mapping/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 - -display: - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 8 - dc_pin: 9 - reset_pin: 10 - invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/matrix_keypad/test.esp32-ard.yaml b/tests/components/matrix_keypad/test.esp32-ard.yaml deleted file mode 100644 index 70bb70638d..0000000000 --- a/tests/components/matrix_keypad/test.esp32-ard.yaml +++ /dev/null @@ -1,15 +0,0 @@ -packages: - common: !include common.yaml - -matrix_keypad: - id: keypad - rows: - - pin: 12 - - pin: 13 - columns: - - pin: 14 - - pin: 15 - keys: "1234" - has_pulldowns: true - on_key: - - lambda: ESP_LOGI("KEY", "key %d pressed", x); diff --git a/tests/components/matrix_keypad/test.esp32-c3-ard.yaml b/tests/components/matrix_keypad/test.esp32-c3-ard.yaml deleted file mode 100644 index 75d9c0b263..0000000000 --- a/tests/components/matrix_keypad/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,15 +0,0 @@ -packages: - common: !include common.yaml - -matrix_keypad: - id: keypad - rows: - - pin: 1 - - pin: 2 - columns: - - pin: 3 - - pin: 4 - keys: "1234" - has_pulldowns: true - on_key: - - lambda: ESP_LOGI("KEY", "key %d pressed", x); diff --git a/tests/components/max17043/test.esp32-ard.yaml b/tests/components/max17043/test.esp32-ard.yaml deleted file mode 100644 index c6615f51cd..0000000000 --- a/tests/components/max17043/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO21 - scl_pin: GPIO22 - -<<: !include common.yaml diff --git a/tests/components/max17043/test.esp32-c3-ard.yaml b/tests/components/max17043/test.esp32-c3-ard.yaml deleted file mode 100644 index 9a1477d4b9..0000000000 --- a/tests/components/max17043/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO8 - scl_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/max31855/test.esp32-ard.yaml b/tests/components/max31855/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max31855/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max31855/test.esp32-c3-ard.yaml b/tests/components/max31855/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max31855/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max31856/test.esp32-ard.yaml b/tests/components/max31856/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max31856/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max31856/test.esp32-c3-ard.yaml b/tests/components/max31856/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max31856/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max31865/test.esp32-ard.yaml b/tests/components/max31865/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max31865/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max31865/test.esp32-c3-ard.yaml b/tests/components/max31865/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max31865/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max44009/test.esp32-ard.yaml b/tests/components/max44009/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/max44009/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/max44009/test.esp32-c3-ard.yaml b/tests/components/max44009/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/max44009/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/max6675/test.esp32-ard.yaml b/tests/components/max6675/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max6675/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max6675/test.esp32-c3-ard.yaml b/tests/components/max6675/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max6675/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max6956/test.esp32-ard.yaml b/tests/components/max6956/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/max6956/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/max6956/test.esp32-c3-ard.yaml b/tests/components/max6956/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/max6956/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/max7219/test.esp32-ard.yaml b/tests/components/max7219/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max7219/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max7219/test.esp32-c3-ard.yaml b/tests/components/max7219/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max7219/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp32-ard.yaml b/tests/components/max7219digit/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max7219digit/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp32-c3-ard.yaml b/tests/components/max7219digit/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max7219digit/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max9611/test.esp32-ard.yaml b/tests/components/max9611/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/max9611/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/max9611/test.esp32-c3-ard.yaml b/tests/components/max9611/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/max9611/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp32-ard.yaml b/tests/components/mcp23008/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp23008/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp32-c3-ard.yaml b/tests/components/mcp23008/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp23008/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp32-ard.yaml b/tests/components/mcp23016/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp23016/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp32-c3-ard.yaml b/tests/components/mcp23016/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp23016/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp32-ard.yaml b/tests/components/mcp23017/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp23017/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp32-c3-ard.yaml b/tests/components/mcp23017/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp23017/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp32-ard.yaml b/tests/components/mcp23s08/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp23s08/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp32-c3-ard.yaml b/tests/components/mcp23s08/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp23s08/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp32-ard.yaml b/tests/components/mcp23s17/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp23s17/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp32-c3-ard.yaml b/tests/components/mcp23s17/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp23s17/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp32-ard.yaml b/tests/components/mcp2515/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp2515/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp32-c3-ard.yaml b/tests/components/mcp2515/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp2515/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp32-ard.yaml b/tests/components/mcp3008/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp3008/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp32-c3-ard.yaml b/tests/components/mcp3008/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp3008/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp32-ard.yaml b/tests/components/mcp3204/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp3204/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp32-c3-ard.yaml b/tests/components/mcp3204/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp3204/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp32-ard.yaml b/tests/components/mcp4461/test.esp32-ard.yaml deleted file mode 100644 index c5deb7ca0a..0000000000 --- a/tests/components/mcp4461/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO16 - scl_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp32-c3-ard.yaml b/tests/components/mcp4461/test.esp32-c3-ard.yaml deleted file mode 100644 index a87353b78b..0000000000 --- a/tests/components/mcp4461/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp32-ard.yaml b/tests/components/mcp4725/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp4725/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp32-c3-ard.yaml b/tests/components/mcp4725/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp4725/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp32-ard.yaml b/tests/components/mcp4728/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp4728/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp32-c3-ard.yaml b/tests/components/mcp4728/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp4728/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp32-ard.yaml b/tests/components/mcp47a1/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp47a1/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp32-c3-ard.yaml b/tests/components/mcp47a1/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp47a1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp32-ard.yaml b/tests/components/mcp9600/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp9600/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp32-c3-ard.yaml b/tests/components/mcp9600/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp9600/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp32-ard.yaml b/tests/components/mcp9808/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp9808/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp32-c3-ard.yaml b/tests/components/mcp9808/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp9808/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/media_player/test.esp32-ard.yaml b/tests/components/media_player/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/media_player/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mhz19/test.esp32-ard.yaml b/tests/components/mhz19/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/mhz19/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/mhz19/test.esp32-c3-ard.yaml b/tests/components/mhz19/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/mhz19/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/micronova/test.esp32-ard.yaml b/tests/components/micronova/test.esp32-ard.yaml deleted file mode 100644 index 35d041e047..0000000000 --- a/tests/components/micronova/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - enable_rx_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/micronova/test.esp32-c3-ard.yaml b/tests/components/micronova/test.esp32-c3-ard.yaml deleted file mode 100644 index 993071999f..0000000000 --- a/tests/components/micronova/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - enable_rx_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/microphone/test.esp32-ard.yaml b/tests/components/microphone/test.esp32-ard.yaml deleted file mode 100644 index 392df582cc..0000000000 --- a/tests/components/microphone/test.esp32-ard.yaml +++ /dev/null @@ -1,13 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 - i2s_din_pin: GPIO33 - -<<: !include common.yaml - -microphone: - - platform: i2s_audio - id: mic_id_adc - adc_pin: 32 - adc_type: internal diff --git a/tests/components/microphone/test.esp32-c3-ard.yaml b/tests/components/microphone/test.esp32-c3-ard.yaml deleted file mode 100644 index c28dc553f5..0000000000 --- a/tests/components/microphone/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO6 - i2s_lrclk_pin: GPIO7 - i2s_mclk_pin: GPIO8 - i2s_din_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp32-ard.yaml b/tests/components/mics_4514/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mics_4514/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp32-c3-ard.yaml b/tests/components/mics_4514/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mics_4514/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/midea_ir/test.esp32-ard.yaml b/tests/components/midea_ir/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/midea_ir/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/midea_ir/test.esp32-c3-ard.yaml b/tests/components/midea_ir/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/midea_ir/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mipi_spi/test.esp32-ard.yaml b/tests/components/mipi_spi/test.esp32-ard.yaml deleted file mode 100644 index a5ef77dabc..0000000000 --- a/tests/components/mipi_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,15 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - dc_pin: GPIO14 - cs_pin: GPIO13 - enable_pin: GPIO19 - reset_pin: GPIO20 - -display: - - platform: mipi_spi - model: LANBON-L8 - -packages: - display: !include common.yaml diff --git a/tests/components/mipi_spi/test.esp32-c3-ard.yaml b/tests/components/mipi_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c17748c569..0000000000 --- a/tests/components/mipi_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - dc_pin: GPIO21 - cs_pin: GPIO18 - enable_pin: GPIO19 - reset_pin: GPIO20 - -<<: !include common.yaml diff --git a/tests/components/mitsubishi/test.esp32-ard.yaml b/tests/components/mitsubishi/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mitsubishi/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mitsubishi/test.esp32-c3-ard.yaml b/tests/components/mitsubishi/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mitsubishi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-ard.yaml b/tests/components/mixer/test.esp32-ard.yaml deleted file mode 100644 index 96d2d37458..0000000000 --- a/tests/components/mixer/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 - mclk_pin: GPIO15 - dout_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-c3-ard.yaml b/tests/components/mixer/test.esp32-c3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/mixer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-s3-ard.yaml b/tests/components/mixer/test.esp32-s3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/mixer/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-ard.yaml b/tests/components/mlx90393/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mlx90393/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-c3-ard.yaml b/tests/components/mlx90393/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mlx90393/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-s3-ard.yaml b/tests/components/mlx90393/test.esp32-s3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mlx90393/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp32-ard.yaml b/tests/components/mlx90614/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mlx90614/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp32-c3-ard.yaml b/tests/components/mlx90614/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mlx90614/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp32-ard.yaml b/tests/components/mmc5603/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mmc5603/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp32-c3-ard.yaml b/tests/components/mmc5603/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mmc5603/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp32-ard.yaml b/tests/components/mmc5983/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mmc5983/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp32-c3-ard.yaml b/tests/components/mmc5983/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mmc5983/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/modbus/test.esp32-ard.yaml b/tests/components/modbus/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/modbus/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/modbus/test.esp32-c3-ard.yaml b/tests/components/modbus/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/modbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp32-ard.yaml b/tests/components/modbus_controller/test.esp32-ard.yaml deleted file mode 100644 index 548b8c0666..0000000000 --- a/tests/components/modbus_controller/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - client_tx_pin: GPIO12 - client_rx_pin: GPIO14 - server_tx_pin: GPIO16 - server_rx_pin: GPIO17 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp32-c3-ard.yaml b/tests/components/modbus_controller/test.esp32-c3-ard.yaml deleted file mode 100644 index f5b770ff58..0000000000 --- a/tests/components/modbus_controller/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - client_tx_pin: GPIO4 - client_rx_pin: GPIO5 - server_tx_pin: GPIO6 - server_rx_pin: GPIO7 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/monochromatic/test.esp32-ard.yaml b/tests/components/monochromatic/test.esp32-ard.yaml deleted file mode 100644 index feabf013fd..0000000000 --- a/tests/components/monochromatic/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: ledc - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/monochromatic/test.esp32-c3-ard.yaml b/tests/components/monochromatic/test.esp32-c3-ard.yaml deleted file mode 100644 index feabf013fd..0000000000 --- a/tests/components/monochromatic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: ledc - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-ard.yaml b/tests/components/mopeka_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-c3-ard.yaml b/tests/components/mopeka_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-ard.yaml b/tests/components/mopeka_pro_check/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_pro_check/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml b/tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-ard.yaml b/tests/components/mopeka_std_check/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_std_check/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-c3-ard.yaml b/tests/components/mopeka_std_check/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_std_check/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp32-ard.yaml b/tests/components/mpl3115a2/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mpl3115a2/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp32-c3-ard.yaml b/tests/components/mpl3115a2/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mpl3115a2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mpr121/test.esp32-ard.yaml b/tests/components/mpr121/test.esp32-ard.yaml deleted file mode 100644 index 1037d5d35b..0000000000 --- a/tests/components/mpr121/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpr121/test.esp32-c3-ard.yaml b/tests/components/mpr121/test.esp32-c3-ard.yaml deleted file mode 100644 index d7ae0d5161..0000000000 --- a/tests/components/mpr121/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp32-ard.yaml b/tests/components/mpu6050/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mpu6050/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp32-c3-ard.yaml b/tests/components/mpu6050/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mpu6050/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp32-ard.yaml b/tests/components/mpu6886/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mpu6886/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp32-c3-ard.yaml b/tests/components/mpu6886/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mpu6886/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mqtt/test.esp32-ard.yaml b/tests/components/mqtt/test.esp32-ard.yaml deleted file mode 100644 index 4c70fb37d9..0000000000 --- a/tests/components/mqtt/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - verify_ssl: "false" - -packages: - common: !include common.yaml - update: !include common-update.yaml diff --git a/tests/components/mqtt/test.esp32-c3-ard.yaml b/tests/components/mqtt/test.esp32-c3-ard.yaml deleted file mode 100644 index 4c70fb37d9..0000000000 --- a/tests/components/mqtt/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - verify_ssl: "false" - -packages: - common: !include common.yaml - update: !include common-update.yaml diff --git a/tests/components/mqtt_subscribe/test.esp32-ard.yaml b/tests/components/mqtt_subscribe/test.esp32-ard.yaml deleted file mode 100644 index 28589ee06c..0000000000 --- a/tests/components/mqtt_subscribe/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ard.yaml diff --git a/tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml b/tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml deleted file mode 100644 index 28589ee06c..0000000000 --- a/tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ard.yaml diff --git a/tests/components/ms5611/test.esp32-ard.yaml b/tests/components/ms5611/test.esp32-ard.yaml deleted file mode 100644 index 1037d5d35b..0000000000 --- a/tests/components/ms5611/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ms5611/test.esp32-c3-ard.yaml b/tests/components/ms5611/test.esp32-c3-ard.yaml deleted file mode 100644 index d7ae0d5161..0000000000 --- a/tests/components/ms5611/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp32-ard.yaml b/tests/components/msa3xx/test.esp32-ard.yaml deleted file mode 100644 index 7202e7b9bf..0000000000 --- a/tests/components/msa3xx/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO16 - sda: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp32-c3-ard.yaml b/tests/components/msa3xx/test.esp32-c3-ard.yaml deleted file mode 100644 index b972ce8cdb..0000000000 --- a/tests/components/msa3xx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/my9231/test.esp32-ard.yaml b/tests/components/my9231/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/my9231/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/my9231/test.esp32-c3-ard.yaml b/tests/components/my9231/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/my9231/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/nau7802/test.esp32-ard.yaml b/tests/components/nau7802/test.esp32-ard.yaml deleted file mode 100644 index 73a4aa4251..0000000000 --- a/tests/components/nau7802/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_nau7802 - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/nau7802/test.esp32-c3-ard.yaml b/tests/components/nau7802/test.esp32-c3-ard.yaml deleted file mode 100644 index 769468f9ec..0000000000 --- a/tests/components/nau7802/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/noblex/test.esp32-ard.yaml b/tests/components/noblex/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/noblex/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/noblex/test.esp32-c3-ard.yaml b/tests/components/noblex/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/noblex/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/npi19/test.esp32-ard.yaml b/tests/components/npi19/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/npi19/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/npi19/test.esp32-s3-ard.yaml b/tests/components/npi19/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/npi19/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-ard.yaml b/tests/components/ntc/test.esp32-ard.yaml deleted file mode 100644 index 06864605a6..0000000000 --- a/tests/components/ntc/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-c3-ard.yaml b/tests/components/ntc/test.esp32-c3-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/ntc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-s2-ard.yaml b/tests/components/ntc/test.esp32-s2-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/ntc/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-s3-ard.yaml b/tests/components/ntc/test.esp32-s3-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/ntc/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/online_image/test.esp32-ard.yaml b/tests/components/online_image/test.esp32-ard.yaml deleted file mode 100644 index 4111cbd0ad..0000000000 --- a/tests/components/online_image/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -<<: !include common-esp32.yaml - -http_request: - verify_ssl: false diff --git a/tests/components/opt3001/test.esp32-ard.yaml b/tests/components/opt3001/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/opt3001/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/opt3001/test.esp32-c3-ard.yaml b/tests/components/opt3001/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/opt3001/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/output/test.esp32-ard.yaml b/tests/components/output/test.esp32-ard.yaml deleted file mode 100644 index 7687f2a7c8..0000000000 --- a/tests/components/output/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/output/test.esp32-c3-ard.yaml b/tests/components/output/test.esp32-c3-ard.yaml deleted file mode 100644 index 2227643703..0000000000 --- a/tests/components/output/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/packages/test.esp32-ard.yaml b/tests/components/packages/test.esp32-ard.yaml deleted file mode 100644 index 9e4ceb09d6..0000000000 --- a/tests/components/packages/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -packages: - - sensor: - - platform: template - id: inline_sensor - - !include package.yaml - - github://esphome/esphome/tests/components/template/common.yaml@dev - - url: https://github.com/esphome/esphome - path: tests/components/absolute_humidity - file: common.yaml - ref: dev - refresh: 1d diff --git a/tests/components/packet_transport/test.esp32-ard.yaml b/tests/components/packet_transport/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/packet_transport/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp32-c3-ard.yaml b/tests/components/packet_transport/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/packet_transport/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/partition/test.esp32-ard.yaml b/tests/components/partition/test.esp32-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/partition/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/partition/test.esp32-c3-ard.yaml b/tests/components/partition/test.esp32-c3-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/partition/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/pca6416a/test.esp32-ard.yaml b/tests/components/pca6416a/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pca6416a/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pca6416a/test.esp32-c3-ard.yaml b/tests/components/pca6416a/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pca6416a/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pca9554/test.esp32-ard.yaml b/tests/components/pca9554/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pca9554/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pca9554/test.esp32-c3-ard.yaml b/tests/components/pca9554/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pca9554/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pca9685/test.esp32-ard.yaml b/tests/components/pca9685/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pca9685/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pca9685/test.esp32-c3-ard.yaml b/tests/components/pca9685/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pca9685/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp32-ard.yaml b/tests/components/pcd8544/test.esp32-ard.yaml deleted file mode 100644 index 09e9db5a38..0000000000 --- a/tests/components/pcd8544/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp32-c3-ard.yaml b/tests/components/pcd8544/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/pcd8544/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp32-ard.yaml b/tests/components/pcf85063/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pcf85063/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp32-c3-ard.yaml b/tests/components/pcf85063/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pcf85063/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp32-ard.yaml b/tests/components/pcf8563/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pcf8563/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp32-c3-ard.yaml b/tests/components/pcf8563/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pcf8563/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp32-ard.yaml b/tests/components/pcf8574/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pcf8574/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp32-c3-ard.yaml b/tests/components/pcf8574/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pcf8574/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pi4ioe5v6408/test.esp32-ard.yaml b/tests/components/pi4ioe5v6408/test.esp32-ard.yaml deleted file mode 100644 index 55e6edfbf3..0000000000 --- a/tests/components/pi4ioe5v6408/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_sda: GPIO21 - i2c_scl: GPIO22 - -<<: !include common.yaml diff --git a/tests/components/pid/test.esp32-ard.yaml b/tests/components/pid/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pid/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pid/test.esp32-c3-ard.yaml b/tests/components/pid/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pid/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-ard.yaml b/tests/components/pipsolar/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pipsolar/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-c3-ard.yaml b/tests/components/pipsolar/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pipsolar/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pm1006/test.esp32-ard.yaml b/tests/components/pm1006/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pm1006/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pm1006/test.esp32-c3-ard.yaml b/tests/components/pm1006/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pm1006/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pm2005/test.esp32-ard.yaml b/tests/components/pm2005/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pm2005/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pm2005/test.esp32-c3-ard.yaml b/tests/components/pm2005/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pm2005/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp32-ard.yaml b/tests/components/pmsa003i/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pmsa003i/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp32-c3-ard.yaml b/tests/components/pmsa003i/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pmsa003i/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp32-ard.yaml b/tests/components/pmsx003/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pmsx003/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp32-c3-ard.yaml b/tests/components/pmsx003/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pmsx003/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp32-ard.yaml b/tests/components/pmwcs3/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pmwcs3/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp32-c3-ard.yaml b/tests/components/pmwcs3/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pmwcs3/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp32-ard.yaml b/tests/components/pn532_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pn532_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp32-c3-ard.yaml b/tests/components/pn532_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pn532_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp32-ard.yaml b/tests/components/pn532_spi/test.esp32-ard.yaml deleted file mode 100644 index bce56f398a..0000000000 --- a/tests/components/pn532_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - cs_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp32-c3-ard.yaml b/tests/components/pn532_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/pn532_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp32-ard.yaml b/tests/components/pn7150_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1643bec317..0000000000 --- a/tests/components/pn7150_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO14 - ven_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp32-c3-ard.yaml b/tests/components/pn7150_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 2067143411..0000000000 --- a/tests/components/pn7150_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - ven_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp32-ard.yaml b/tests/components/pn7160_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1643bec317..0000000000 --- a/tests/components/pn7160_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO14 - ven_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp32-c3-ard.yaml b/tests/components/pn7160_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 2067143411..0000000000 --- a/tests/components/pn7160_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - ven_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp32-ard.yaml b/tests/components/pn7160_spi/test.esp32-ard.yaml deleted file mode 100644 index f6073d0416..0000000000 --- a/tests/components/pn7160_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - cs_pin: GPIO12 - irq_pin: GPIO13 - ven_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp32-c3-ard.yaml b/tests/components/pn7160_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index f8a07fad2f..0000000000 --- a/tests/components/pn7160_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - irq_pin: GPIO9 - ven_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/power_supply/test.esp32-ard.yaml b/tests/components/power_supply/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/power_supply/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/power_supply/test.esp32-c3-ard.yaml b/tests/components/power_supply/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/power_supply/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/prometheus/test.esp32-ard.yaml b/tests/components/prometheus/test.esp32-ard.yaml deleted file mode 100644 index 9eedaabd82..0000000000 --- a/tests/components/prometheus/test.esp32-ard.yaml +++ /dev/null @@ -1,38 +0,0 @@ -substitutions: - verify_ssl: "false" - pin: GPIO5 - -<<: !include common.yaml - -i2s_audio: - i2s_lrclk_pin: 1 - i2s_bclk_pin: 2 - i2s_mclk_pin: 3 - -media_player: - - platform: i2s_audio - name: "Media Player" - dac_type: external - i2s_dout_pin: 18 - mute_pin: 19 - on_state: - - media_player.play: - - media_player.play_media: http://localhost/media.mp3 - - media_player.play_media: !lambda 'return "http://localhost/media.mp3";' - on_idle: - - media_player.pause: - on_play: - - media_player.stop: - on_pause: - - media_player.toggle: - - wait_until: - media_player.is_idle: - - wait_until: - media_player.is_playing: - - wait_until: - media_player.is_announcing: - - wait_until: - media_player.is_paused: - - media_player.volume_up: - - media_player.volume_down: - - media_player.volume_set: 50% diff --git a/tests/components/prometheus/test.esp32-c3-ard.yaml b/tests/components/prometheus/test.esp32-c3-ard.yaml deleted file mode 100644 index f00bca5947..0000000000 --- a/tests/components/prometheus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - verify_ssl: "false" - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/psram/test.esp32-ard.yaml b/tests/components/psram/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/psram/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/psram/test.esp32-s2-ard.yaml b/tests/components/psram/test.esp32-s2-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/psram/test.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/psram/test.esp32-s3-ard.yaml b/tests/components/psram/test.esp32-s3-ard.yaml deleted file mode 100644 index cfd39f77fe..0000000000 --- a/tests/components/psram/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,3 +0,0 @@ -psram: - mode: octal - speed: 80MHz diff --git a/tests/components/pulse_counter/test.esp32-ard.yaml b/tests/components/pulse_counter/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_counter/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_counter/test.esp32-c3-ard.yaml b/tests/components/pulse_counter/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_counter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_meter/test.esp32-ard.yaml b/tests/components/pulse_meter/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_meter/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_meter/test.esp32-c3-ard.yaml b/tests/components/pulse_meter/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_meter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_width/test.esp32-ard.yaml b/tests/components/pulse_width/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_width/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_width/test.esp32-c3-ard.yaml b/tests/components/pulse_width/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_width/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-ard.yaml b/tests/components/pvvx_mithermometer/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pvvx_mithermometer/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml b/tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pylontech/test.esp32-ard.yaml b/tests/components/pylontech/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pylontech/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pylontech/test.esp32-c3-ard.yaml b/tests/components/pylontech/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pylontech/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp32-ard.yaml b/tests/components/pzem004t/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pzem004t/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp32-c3-ard.yaml b/tests/components/pzem004t/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pzem004t/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pzemac/test.esp32-ard.yaml b/tests/components/pzemac/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pzemac/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pzemac/test.esp32-c3-ard.yaml b/tests/components/pzemac/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pzemac/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp32-ard.yaml b/tests/components/pzemdc/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pzemdc/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp32-c3-ard.yaml b/tests/components/pzemdc/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pzemdc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp32-ard.yaml b/tests/components/qmc5883l/test.esp32-ard.yaml deleted file mode 100644 index 2cf2041501..0000000000 --- a/tests/components/qmc5883l/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - drdy_pin: GPIO18 - -<<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp32-c3-ard.yaml b/tests/components/qmc5883l/test.esp32-c3-ard.yaml deleted file mode 100644 index 677501d15a..0000000000 --- a/tests/components/qmc5883l/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - drdy_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp32-ard.yaml b/tests/components/qmp6988/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/qmp6988/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp32-c3-ard.yaml b/tests/components/qmp6988/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/qmp6988/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/qr_code/test.esp32-ard.yaml b/tests/components/qr_code/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/qr_code/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/qr_code/test.esp32-c3-ard.yaml b/tests/components/qr_code/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/qr_code/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp32-ard.yaml b/tests/components/qwiic_pir/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/qwiic_pir/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp32-c3-ard.yaml b/tests/components/qwiic_pir/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/qwiic_pir/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-ard.yaml b/tests/components/radon_eye_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-c3-ard.yaml b/tests/components/radon_eye_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-ard.yaml b/tests/components/radon_eye_rd200/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_rd200/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml b/tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp32-ard.yaml b/tests/components/rc522_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/rc522_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp32-c3-ard.yaml b/tests/components/rc522_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/rc522_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp32-ard.yaml b/tests/components/rc522_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/rc522_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp32-c3-ard.yaml b/tests/components/rc522_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/rc522_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp32-ard.yaml b/tests/components/rdm6300/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/rdm6300/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp32-c3-ard.yaml b/tests/components/rdm6300/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/rdm6300/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/remote_receiver/test.esp32-ard.yaml b/tests/components/remote_receiver/test.esp32-ard.yaml deleted file mode 100644 index 10dd767598..0000000000 --- a/tests/components/remote_receiver/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - filter_symbols: "2" - receive_symbols: "4" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/remote_receiver/test.esp32-c3-ard.yaml b/tests/components/remote_receiver/test.esp32-c3-ard.yaml deleted file mode 100644 index 10dd767598..0000000000 --- a/tests/components/remote_receiver/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - filter_symbols: "2" - receive_symbols: "4" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/remote_transmitter/test.esp32-ard.yaml b/tests/components/remote_transmitter/test.esp32-ard.yaml deleted file mode 100644 index 0522f4d181..0000000000 --- a/tests/components/remote_transmitter/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/remote_transmitter/test.esp32-c3-ard.yaml b/tests/components/remote_transmitter/test.esp32-c3-ard.yaml deleted file mode 100644 index 0522f4d181..0000000000 --- a/tests/components/remote_transmitter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/resampler/test.esp32-ard.yaml b/tests/components/resampler/test.esp32-ard.yaml deleted file mode 100644 index 96d2d37458..0000000000 --- a/tests/components/resampler/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 - mclk_pin: GPIO15 - dout_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/resampler/test.esp32-c3-ard.yaml b/tests/components/resampler/test.esp32-c3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/resampler/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/resampler/test.esp32-s3-ard.yaml b/tests/components/resampler/test.esp32-s3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/resampler/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-ard.yaml b/tests/components/resistance/test.esp32-ard.yaml deleted file mode 100644 index 06864605a6..0000000000 --- a/tests/components/resistance/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-c3-ard.yaml b/tests/components/resistance/test.esp32-c3-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/resistance/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-s2-ard.yaml b/tests/components/resistance/test.esp32-s2-ard.yaml deleted file mode 100644 index 1910f325ae..0000000000 --- a/tests/components/resistance/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-s3-ard.yaml b/tests/components/resistance/test.esp32-s3-ard.yaml deleted file mode 100644 index 1910f325ae..0000000000 --- a/tests/components/resistance/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/restart/test.esp32-ard.yaml b/tests/components/restart/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/restart/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/restart/test.esp32-c3-ard.yaml b/tests/components/restart/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/restart/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp32-ard.yaml b/tests/components/rf_bridge/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/rf_bridge/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp32-c3-ard.yaml b/tests/components/rf_bridge/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/rf_bridge/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/rgb/test.esp32-ard.yaml b/tests/components/rgb/test.esp32-ard.yaml deleted file mode 100644 index d78ccec952..0000000000 --- a/tests/components/rgb/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/rgb/test.esp32-c3-ard.yaml b/tests/components/rgb/test.esp32-c3-ard.yaml deleted file mode 100644 index 1fe4a4bb90..0000000000 --- a/tests/components/rgb/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/rgbct/test.esp32-ard.yaml b/tests/components/rgbct/test.esp32-ard.yaml deleted file mode 100644 index 1ecc626e9c..0000000000 --- a/tests/components/rgbct/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - pin4: GPIO15 - pin5: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rgbct/test.esp32-c3-ard.yaml b/tests/components/rgbct/test.esp32-c3-ard.yaml deleted file mode 100644 index 27a1fbca4d..0000000000 --- a/tests/components/rgbct/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - pin4: GPIO5 - pin5: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/rgbw/test.esp32-ard.yaml b/tests/components/rgbw/test.esp32-ard.yaml deleted file mode 100644 index ea8efd1a34..0000000000 --- a/tests/components/rgbw/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - pin4: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/rgbw/test.esp32-c3-ard.yaml b/tests/components/rgbw/test.esp32-c3-ard.yaml deleted file mode 100644 index b44734344e..0000000000 --- a/tests/components/rgbw/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - pin4: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/rgbww/test.esp32-ard.yaml b/tests/components/rgbww/test.esp32-ard.yaml deleted file mode 100644 index 1ecc626e9c..0000000000 --- a/tests/components/rgbww/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - pin4: GPIO15 - pin5: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rgbww/test.esp32-c3-ard.yaml b/tests/components/rgbww/test.esp32-c3-ard.yaml deleted file mode 100644 index 27a1fbca4d..0000000000 --- a/tests/components/rgbww/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - pin4: GPIO5 - pin5: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/rotary_encoder/test.esp32-ard.yaml b/tests/components/rotary_encoder/test.esp32-ard.yaml deleted file mode 100644 index 48a624aa37..0000000000 --- a/tests/components/rotary_encoder/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin_a: GPIO12 - pin_b: GPIO13 - pin_reset: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/rotary_encoder/test.esp32-c3-ard.yaml b/tests/components/rotary_encoder/test.esp32-c3-ard.yaml deleted file mode 100644 index b71a454bdd..0000000000 --- a/tests/components/rotary_encoder/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin_a: GPIO2 - pin_b: GPIO3 - pin_reset: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/rtttl/test.esp32-ard.yaml b/tests/components/rtttl/test.esp32-ard.yaml deleted file mode 100644 index 26da1ce1d6..0000000000 --- a/tests/components/rtttl/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/rtttl/test.esp32-c3-ard.yaml b/tests/components/rtttl/test.esp32-c3-ard.yaml deleted file mode 100644 index 7476963591..0000000000 --- a/tests/components/rtttl/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/runtime_stats/test.esp32-ard.yaml b/tests/components/runtime_stats/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/runtime_stats/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-ard.yaml b/tests/components/ruuvi_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvi_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-c3-ard.yaml b/tests/components/ruuvi_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvi_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-ard.yaml b/tests/components/ruuvitag/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvitag/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-c3-ard.yaml b/tests/components/ruuvitag/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvitag/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/safe_mode/test-enabled.esp32-ard.yaml b/tests/components/safe_mode/test-enabled.esp32-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/safe_mode/test-enabled.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml diff --git a/tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml b/tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml diff --git a/tests/components/scd30/test.esp32-ard.yaml b/tests/components/scd30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/scd30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/scd30/test.esp32-c3-ard.yaml b/tests/components/scd30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/scd30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/scd4x/test.esp32-ard.yaml b/tests/components/scd4x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/scd4x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/scd4x/test.esp32-c3-ard.yaml b/tests/components/scd4x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/scd4x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/script/test.esp32-ard.yaml b/tests/components/script/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/script/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/script/test.esp32-c3-ard.yaml b/tests/components/script/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/script/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp32-ard.yaml b/tests/components/sdm_meter/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sdm_meter/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp32-c3-ard.yaml b/tests/components/sdm_meter/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sdm_meter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp32-ard.yaml b/tests/components/sdp3x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sdp3x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp32-c3-ard.yaml b/tests/components/sdp3x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sdp3x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sds011/test.esp32-ard.yaml b/tests/components/sds011/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sds011/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sds011/test.esp32-c3-ard.yaml b/tests/components/sds011/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sds011/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml b/tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml deleted file mode 100644 index 4fb884abf4..0000000000 --- a/tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml b/tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml deleted file mode 100644 index 4fb884abf4..0000000000 --- a/tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml b/tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml deleted file mode 100644 index 4fb884abf4..0000000000 --- a/tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/selec_meter/test.esp32-ard.yaml b/tests/components/selec_meter/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/selec_meter/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/selec_meter/test.esp32-c3-ard.yaml b/tests/components/selec_meter/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/selec_meter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sen0321/test.esp32-ard.yaml b/tests/components/sen0321/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sen0321/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sen0321/test.esp32-c3-ard.yaml b/tests/components/sen0321/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sen0321/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sen21231/test.esp32-ard.yaml b/tests/components/sen21231/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sen21231/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sen21231/test.esp32-c3-ard.yaml b/tests/components/sen21231/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sen21231/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sen5x/test.esp32-ard.yaml b/tests/components/sen5x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sen5x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sen5x/test.esp32-c3-ard.yaml b/tests/components/sen5x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sen5x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/senseair/test.esp32-ard.yaml b/tests/components/senseair/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/senseair/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/senseair/test.esp32-c3-ard.yaml b/tests/components/senseair/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/senseair/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/servo/test.esp32-ard.yaml b/tests/components/servo/test.esp32-ard.yaml deleted file mode 100644 index 26da1ce1d6..0000000000 --- a/tests/components/servo/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/servo/test.esp32-c3-ard.yaml b/tests/components/servo/test.esp32-c3-ard.yaml deleted file mode 100644 index 7476963591..0000000000 --- a/tests/components/servo/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sfa30/test.esp32-ard.yaml b/tests/components/sfa30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sfa30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sfa30/test.esp32-c3-ard.yaml b/tests/components/sfa30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sfa30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sgp30/test.esp32-ard.yaml b/tests/components/sgp30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sgp30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sgp30/test.esp32-c3-ard.yaml b/tests/components/sgp30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sgp30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp32-ard.yaml b/tests/components/sgp4x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sgp4x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp32-c3-ard.yaml b/tests/components/sgp4x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sgp4x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp32-ard.yaml b/tests/components/sht3xd/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sht3xd/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp32-c3-ard.yaml b/tests/components/sht3xd/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sht3xd/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sht4x/test.esp32-ard.yaml b/tests/components/sht4x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sht4x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sht4x/test.esp32-c3-ard.yaml b/tests/components/sht4x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sht4x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/shtcx/test.esp32-ard.yaml b/tests/components/shtcx/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/shtcx/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/shtcx/test.esp32-c3-ard.yaml b/tests/components/shtcx/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/shtcx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/shutdown/test.esp32-ard.yaml b/tests/components/shutdown/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/shutdown/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/shutdown/test.esp32-c3-ard.yaml b/tests/components/shutdown/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/shutdown/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sigma_delta_output/test.esp32-ard.yaml b/tests/components/sigma_delta_output/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sigma_delta_output/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sigma_delta_output/test.esp32-c3-ard.yaml b/tests/components/sigma_delta_output/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sigma_delta_output/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sim800l/test.esp32-ard.yaml b/tests/components/sim800l/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sim800l/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sim800l/test.esp32-c3-ard.yaml b/tests/components/sim800l/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sim800l/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/slow_pwm/test.esp32-ard.yaml b/tests/components/slow_pwm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/slow_pwm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/slow_pwm/test.esp32-c3-ard.yaml b/tests/components/slow_pwm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/slow_pwm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sm16716/test.esp32-ard.yaml b/tests/components/sm16716/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm16716/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm16716/test.esp32-c3-ard.yaml b/tests/components/sm16716/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm16716/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm2135/test.esp32-ard.yaml b/tests/components/sm2135/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm2135/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm2135/test.esp32-c3-ard.yaml b/tests/components/sm2135/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm2135/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm2235/test.esp32-ard.yaml b/tests/components/sm2235/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm2235/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm2235/test.esp32-c3-ard.yaml b/tests/components/sm2235/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm2235/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm2335/test.esp32-ard.yaml b/tests/components/sm2335/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm2335/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm2335/test.esp32-c3-ard.yaml b/tests/components/sm2335/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm2335/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp32-ard.yaml b/tests/components/sm300d2/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sm300d2/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp32-c3-ard.yaml b/tests/components/sm300d2/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sm300d2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sml/test.esp32-ard.yaml b/tests/components/sml/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sml/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sml/test.esp32-c3-ard.yaml b/tests/components/sml/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sml/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/smt100/test.esp32-ard.yaml b/tests/components/smt100/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/smt100/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/smt100/test.esp32-c3-ard.yaml b/tests/components/smt100/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/smt100/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp32-ard.yaml b/tests/components/sn74hc165/test.esp32-ard.yaml deleted file mode 100644 index 27f963312f..0000000000 --- a/tests/components/sn74hc165/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO13 - data_pin: GPIO14 - load_pin: GPIO15 - clock_inhibit_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp32-c3-ard.yaml b/tests/components/sn74hc165/test.esp32-c3-ard.yaml deleted file mode 100644 index 0a3db917b7..0000000000 --- a/tests/components/sn74hc165/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO3 - data_pin: GPIO4 - load_pin: GPIO5 - clock_inhibit_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/sn74hc595/test.esp32-ard.yaml b/tests/components/sn74hc595/test.esp32-ard.yaml deleted file mode 100644 index a4bab64862..0000000000 --- a/tests/components/sn74hc595/test.esp32-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - clock_pin: GPIO15 - data_pin: GPIO14 - latch_pin1: GPIO21 - oe_pin1: GPIO22 - latch_pin2: GPIO23 - oe_pin2: GPIO25 - -<<: !include common.yaml diff --git a/tests/components/sn74hc595/test.esp32-c3-ard.yaml b/tests/components/sn74hc595/test.esp32-c3-ard.yaml deleted file mode 100644 index 14c928be88..0000000000 --- a/tests/components/sn74hc595/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO8 - clock_pin: GPIO5 - data_pin: GPIO4 - latch_pin1: GPIO1 - oe_pin1: GPIO2 - latch_pin2: GPIO3 - oe_pin2: GPIO9 - -<<: !include common.yaml diff --git a/tests/components/sntp/test.esp32-ard.yaml b/tests/components/sntp/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sntp/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sntp/test.esp32-c3-ard.yaml b/tests/components/sntp/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sntp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp32-ard.yaml b/tests/components/sonoff_d1/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sonoff_d1/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp32-c3-ard.yaml b/tests/components/sonoff_d1/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sonoff_d1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-ard.yaml b/tests/components/sound_level/test.esp32-ard.yaml deleted file mode 100644 index c6d1bfa330..0000000000 --- a/tests/components/sound_level/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO25 - i2s_lrclk_pin: GPIO26 - i2s_dout_pin: GPIO27 - -<<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-c3-ard.yaml b/tests/components/sound_level/test.esp32-c3-ard.yaml deleted file mode 100644 index aeb7d9f0af..0000000000 --- a/tests/components/sound_level/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO6 - i2s_lrclk_pin: GPIO7 - i2s_dout_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-s3-ard.yaml b/tests/components/sound_level/test.esp32-s3-ard.yaml deleted file mode 100644 index 9c1f32d5bd..0000000000 --- a/tests/components/sound_level/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO4 - i2s_lrclk_pin: GPIO5 - i2s_dout_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/speed/test.esp32-ard.yaml b/tests/components/speed/test.esp32-ard.yaml deleted file mode 100644 index 26da1ce1d6..0000000000 --- a/tests/components/speed/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/speed/test.esp32-c3-ard.yaml b/tests/components/speed/test.esp32-c3-ard.yaml deleted file mode 100644 index 7476963591..0000000000 --- a/tests/components/speed/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/spi_device/test.esp32-ard.yaml b/tests/components/spi_device/test.esp32-ard.yaml deleted file mode 100644 index 448e54fea6..0000000000 --- a/tests/components/spi_device/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/spi_device/test.esp32-c3-ard.yaml b/tests/components/spi_device/test.esp32-c3-ard.yaml deleted file mode 100644 index bfa12b1755..0000000000 --- a/tests/components/spi_device/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp32-ard.yaml b/tests/components/spi_led_strip/test.esp32-ard.yaml deleted file mode 100644 index 8906602ef4..0000000000 --- a/tests/components/spi_led_strip/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp32-c3-ard.yaml b/tests/components/spi_led_strip/test.esp32-c3-ard.yaml deleted file mode 100644 index a85b587070..0000000000 --- a/tests/components/spi_led_strip/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/sprinkler/test.esp32-ard.yaml b/tests/components/sprinkler/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sprinkler/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sprinkler/test.esp32-c3-ard.yaml b/tests/components/sprinkler/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sprinkler/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sps30/test.esp32-ard.yaml b/tests/components/sps30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sps30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sps30/test.esp32-c3-ard.yaml b/tests/components/sps30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sps30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp32-ard.yaml b/tests/components/ssd1306_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/ssd1306_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml b/tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 4eaff7fa4a..0000000000 --- a/tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp32-ard.yaml b/tests/components/ssd1306_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1306_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1306_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1306_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp32-ard.yaml b/tests/components/ssd1322_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1322_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1322_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1322_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp32-ard.yaml b/tests/components/ssd1325_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1325_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1325_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1325_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp32-ard.yaml b/tests/components/ssd1327_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/ssd1327_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml b/tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 4eaff7fa4a..0000000000 --- a/tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp32-ard.yaml b/tests/components/ssd1327_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1327_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1327_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1327_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp32-ard.yaml b/tests/components/ssd1331_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1331_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1331_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1331_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp32-ard.yaml b/tests/components/ssd1351_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1351_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1351_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1351_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp32-ard.yaml b/tests/components/st7567_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/st7567_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp32-c3-ard.yaml b/tests/components/st7567_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 4eaff7fa4a..0000000000 --- a/tests/components/st7567_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp32-ard.yaml b/tests/components/st7567_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/st7567_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp32-c3-ard.yaml b/tests/components/st7567_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/st7567_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7735/test.esp32-ard.yaml b/tests/components/st7735/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/st7735/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/st7735/test.esp32-c3-ard.yaml b/tests/components/st7735/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/st7735/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7789v/test.esp32-ard.yaml b/tests/components/st7789v/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/st7789v/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/st7789v/test.esp32-c3-ard.yaml b/tests/components/st7789v/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/st7789v/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7920/test.esp32-ard.yaml b/tests/components/st7920/test.esp32-ard.yaml deleted file mode 100644 index 04d2633d2b..0000000000 --- a/tests/components/st7920/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/st7920/test.esp32-c3-ard.yaml b/tests/components/st7920/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/st7920/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/statsD/test.esp32-ard.yaml b/tests/components/statsD/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/statsD/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/statsD/test.esp32-c3-ard.yaml b/tests/components/statsD/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/statsD/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/status/test.esp32-ard.yaml b/tests/components/status/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/status/test.esp32-c3-ard.yaml b/tests/components/status/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/status_led/test.esp32-ard.yaml b/tests/components/status_led/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status_led/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/status_led/test.esp32-c3-ard.yaml b/tests/components/status_led/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status_led/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/stepper/test.esp32-ard.yaml b/tests/components/stepper/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/stepper/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/stepper/test.esp32-c3-ard.yaml b/tests/components/stepper/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/stepper/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sts3x/test.esp32-ard.yaml b/tests/components/sts3x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sts3x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sts3x/test.esp32-c3-ard.yaml b/tests/components/sts3x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sts3x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sun/test.esp32-ard.yaml b/tests/components/sun/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sun/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sun/test.esp32-c3-ard.yaml b/tests/components/sun/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sun/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp32-ard.yaml b/tests/components/sun_gtil2/test.esp32-ard.yaml deleted file mode 100644 index ad420099ff..0000000000 --- a/tests/components/sun_gtil2/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp32-c3-ard.yaml b/tests/components/sun_gtil2/test.esp32-c3-ard.yaml deleted file mode 100644 index b8a6b85616..0000000000 --- a/tests/components/sun_gtil2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/switch/test.esp32-ard.yaml b/tests/components/switch/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/switch/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/switch/test.esp32-c3-ard.yaml b/tests/components/switch/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/switch/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/sx126x/test.esp32-ard.yaml b/tests/components/sx126x/test.esp32-ard.yaml deleted file mode 100644 index 9770f52229..0000000000 --- a/tests/components/sx126x/test.esp32-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 - busy_pin: GPIO25 - dio1_pin: GPIO26 - -<<: !include common.yaml diff --git a/tests/components/sx126x/test.esp32-c3-ard.yaml b/tests/components/sx126x/test.esp32-c3-ard.yaml deleted file mode 100644 index 91450e24ce..0000000000 --- a/tests/components/sx126x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 - cs_pin: GPIO1 - rst_pin: GPIO2 - busy_pin: GPIO4 - dio1_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/sx127x/test.esp32-ard.yaml b/tests/components/sx127x/test.esp32-ard.yaml deleted file mode 100644 index 71270462a2..0000000000 --- a/tests/components/sx127x/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 - dio0_pin: GPIO26 - -<<: !include common.yaml diff --git a/tests/components/sx127x/test.esp32-c3-ard.yaml b/tests/components/sx127x/test.esp32-c3-ard.yaml deleted file mode 100644 index 36535a950d..0000000000 --- a/tests/components/sx127x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 - cs_pin: GPIO1 - rst_pin: GPIO2 - dio0_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/sx1509/test.esp32-ard.yaml b/tests/components/sx1509/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sx1509/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sx1509/test.esp32-c3-ard.yaml b/tests/components/sx1509/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sx1509/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/syslog/test.esp32-ard.yaml b/tests/components/syslog/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/syslog/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/syslog/test.esp32-c3-ard.yaml b/tests/components/syslog/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/syslog/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/t6615/test.esp32-ard.yaml b/tests/components/t6615/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/t6615/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/t6615/test.esp32-c3-ard.yaml b/tests/components/t6615/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/t6615/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/tc74/test.esp32-ard.yaml b/tests/components/tc74/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tc74/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tc74/test.esp32-c3-ard.yaml b/tests/components/tc74/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tc74/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp32-ard.yaml b/tests/components/tca9548a/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tca9548a/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp32-c3-ard.yaml b/tests/components/tca9548a/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tca9548a/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tca9555/test.esp32-ard.yaml b/tests/components/tca9555/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tca9555/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tca9555/test.esp32-c3-ard.yaml b/tests/components/tca9555/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tca9555/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tcl112/test.esp32-ard.yaml b/tests/components/tcl112/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/tcl112/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/tcl112/test.esp32-c3-ard.yaml b/tests/components/tcl112/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/tcl112/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp32-ard.yaml b/tests/components/tcs34725/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tcs34725/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp32-c3-ard.yaml b/tests/components/tcs34725/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tcs34725/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tee501/test.esp32-ard.yaml b/tests/components/tee501/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tee501/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tee501/test.esp32-c3-ard.yaml b/tests/components/tee501/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tee501/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp32-ard.yaml b/tests/components/teleinfo/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/teleinfo/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp32-c3-ard.yaml b/tests/components/teleinfo/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/teleinfo/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/tem3200/test.esp32-ard.yaml b/tests/components/tem3200/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/tem3200/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/tem3200/test.esp32-s3-ard.yaml b/tests/components/tem3200/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/tem3200/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/template/test.esp32-ard.yaml b/tests/components/template/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/template/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/template/test.esp32-c3-ard.yaml b/tests/components/template/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/template/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/thermostat/test.esp32-ard.yaml b/tests/components/thermostat/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/thermostat/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/thermostat/test.esp32-c3-ard.yaml b/tests/components/thermostat/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/thermostat/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/time_based/test.esp32-ard.yaml b/tests/components/time_based/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time_based/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/time_based/test.esp32-c3-ard.yaml b/tests/components/time_based/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time_based/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp32-ard.yaml b/tests/components/tlc59208f/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tlc59208f/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp32-c3-ard.yaml b/tests/components/tlc59208f/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tlc59208f/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tlc5947/test.esp32-ard.yaml b/tests/components/tlc5947/test.esp32-ard.yaml deleted file mode 100644 index 52411bc1e9..0000000000 --- a/tests/components/tlc5947/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO15 - data_pin: GPIO14 - lat_pin: GPIO13 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5947/test.esp32-c3-ard.yaml b/tests/components/tlc5947/test.esp32-c3-ard.yaml deleted file mode 100644 index 4694c43642..0000000000 --- a/tests/components/tlc5947/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - lat_pin: GPIO3 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp32-ard.yaml b/tests/components/tlc5971/test.esp32-ard.yaml deleted file mode 100644 index 52411bc1e9..0000000000 --- a/tests/components/tlc5971/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO15 - data_pin: GPIO14 - lat_pin: GPIO13 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp32-c3-ard.yaml b/tests/components/tlc5971/test.esp32-c3-ard.yaml deleted file mode 100644 index d898a21d46..0000000000 --- a/tests/components/tlc5971/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp32-s2-ard.yaml b/tests/components/tlc5971/test.esp32-s2-ard.yaml deleted file mode 100644 index 7bba0b0117..0000000000 --- a/tests/components/tlc5971/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clock_pin: GPIO36 - data_pin: GPIO35 - -packages: - common: !include common.yaml diff --git a/tests/components/tm1621/test.esp32-ard.yaml b/tests/components/tm1621/test.esp32-ard.yaml deleted file mode 100644 index 0441e4bffe..0000000000 --- a/tests/components/tm1621/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - cs_pin: GPIO16 - data_pin: GPIO17 - read_pin: GPIO12 - write_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/tm1621/test.esp32-c3-ard.yaml b/tests/components/tm1621/test.esp32-c3-ard.yaml deleted file mode 100644 index 562ced7485..0000000000 --- a/tests/components/tm1621/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - cs_pin: GPIO6 - data_pin: GPIO7 - read_pin: GPIO2 - write_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/tm1637/test.esp32-ard.yaml b/tests/components/tm1637/test.esp32-ard.yaml deleted file mode 100644 index 2c5786c47c..0000000000 --- a/tests/components/tm1637/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO14 - dio_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/tm1637/test.esp32-c3-ard.yaml b/tests/components/tm1637/test.esp32-c3-ard.yaml deleted file mode 100644 index 96f6708a3b..0000000000 --- a/tests/components/tm1637/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO4 - dio_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/tm1638/test.esp32-ard.yaml b/tests/components/tm1638/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1638/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tm1638/test.esp32-c3-ard.yaml b/tests/components/tm1638/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1638/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tm1651/test.esp32-ard.yaml b/tests/components/tm1651/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1651/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tm1651/test.esp32-c3-ard.yaml b/tests/components/tm1651/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1651/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tmp102/test.esp32-ard.yaml b/tests/components/tmp102/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tmp102/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tmp102/test.esp32-c3-ard.yaml b/tests/components/tmp102/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tmp102/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp32-ard.yaml b/tests/components/tmp1075/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tmp1075/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp32-c3-ard.yaml b/tests/components/tmp1075/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tmp1075/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tmp117/test.esp32-ard.yaml b/tests/components/tmp117/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tmp117/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tmp117/test.esp32-c3-ard.yaml b/tests/components/tmp117/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tmp117/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tof10120/test.esp32-ard.yaml b/tests/components/tof10120/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tof10120/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tof10120/test.esp32-c3-ard.yaml b/tests/components/tof10120/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tof10120/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tormatic/test.esp32-ard.yaml b/tests/components/tormatic/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/tormatic/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/tormatic/test.esp32-c3-ard.yaml b/tests/components/tormatic/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/tormatic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/toshiba/test.esp32-ard.yaml b/tests/components/toshiba/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/toshiba/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/toshiba/test.esp32-c3-ard.yaml b/tests/components/toshiba/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/toshiba/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/total_daily_energy/test.esp32-ard.yaml b/tests/components/total_daily_energy/test.esp32-ard.yaml deleted file mode 100644 index 8b42b21b54..0000000000 --- a/tests/components/total_daily_energy/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/total_daily_energy/test.esp32-c3-ard.yaml b/tests/components/total_daily_energy/test.esp32-c3-ard.yaml deleted file mode 100644 index 8b0d069ce2..0000000000 --- a/tests/components/total_daily_energy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO2 - cf_pin: GPIO3 - cf1_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp32-ard.yaml b/tests/components/tsl2561/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tsl2561/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp32-c3-ard.yaml b/tests/components/tsl2561/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tsl2561/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp32-ard.yaml b/tests/components/tsl2591/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tsl2591/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp32-c3-ard.yaml b/tests/components/tsl2591/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tsl2591/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tt21100/test.esp32-ard.yaml b/tests/components/tt21100/test.esp32-ard.yaml deleted file mode 100644 index 05598719f9..0000000000 --- a/tests/components/tt21100/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/tt21100/test.esp32-c3-ard.yaml b/tests/components/tt21100/test.esp32-c3-ard.yaml deleted file mode 100644 index 36a8ce2778..0000000000 --- a/tests/components/tt21100/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp32-ard.yaml b/tests/components/ttp229_bsf/test.esp32-ard.yaml deleted file mode 100644 index 80ed75293f..0000000000 --- a/tests/components/ttp229_bsf/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sdo_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp32-c3-ard.yaml b/tests/components/ttp229_bsf/test.esp32-c3-ard.yaml deleted file mode 100644 index 135b213edc..0000000000 --- a/tests/components/ttp229_bsf/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp32-ard.yaml b/tests/components/ttp229_lsf/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ttp229_lsf/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp32-c3-ard.yaml b/tests/components/ttp229_lsf/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ttp229_lsf/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tuya/test.esp32-ard.yaml b/tests/components/tuya/test.esp32-ard.yaml deleted file mode 100644 index 926a46cf73..0000000000 --- a/tests/components/tuya/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - status_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/tuya/test.esp32-c3-ard.yaml b/tests/components/tuya/test.esp32-c3-ard.yaml deleted file mode 100644 index c62a0b10f6..0000000000 --- a/tests/components/tuya/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - status_pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/tx20/test.esp32-ard.yaml b/tests/components/tx20/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tx20/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tx20/test.esp32-c3-ard.yaml b/tests/components/tx20/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tx20/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml b/tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml deleted file mode 100644 index 602766869c..0000000000 --- a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml +++ /dev/null @@ -1,36 +0,0 @@ -<<: !include ../logger/common-usb_cdc.yaml - -esphome: - on_boot: - then: - - uart.write: - id: uart_1 - data: 'Hello World' - - uart.write: - id: uart_1 - data: [0x00, 0x20, 0x42] - -uart: - - id: uart_1 - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_2 - tx_pin: 7 - rx_pin: 8 - flow_control_pin: 9 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml b/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml deleted file mode 100644 index 602766869c..0000000000 --- a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml +++ /dev/null @@ -1,36 +0,0 @@ -<<: !include ../logger/common-usb_cdc.yaml - -esphome: - on_boot: - then: - - uart.write: - id: uart_1 - data: 'Hello World' - - uart.write: - id: uart_1 - data: [0x00, 0x20, 0x42] - -uart: - - id: uart_1 - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_2 - tx_pin: 7 - rx_pin: 8 - flow_control_pin: 9 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml b/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml deleted file mode 100644 index 4af255e1e4..0000000000 --- a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml +++ /dev/null @@ -1,48 +0,0 @@ -<<: !include ../logger/common-usb_cdc.yaml - -esphome: - on_boot: - then: - - uart.write: - id: uart_1 - data: 'Hello World' - - uart.write: - id: uart_1 - data: [0x00, 0x20, 0x42] - -uart: - - id: uart_1 - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_2 - tx_pin: 7 - rx_pin: 8 - flow_control_pin: 9 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_3 - tx_pin: 10 - rx_pin: 11 - flow_control_pin: 12 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test.esp32-ard.yaml b/tests/components/uart/test.esp32-ard.yaml deleted file mode 100644 index a201185309..0000000000 --- a/tests/components/uart/test.esp32-ard.yaml +++ /dev/null @@ -1,18 +0,0 @@ -esphome: - on_boot: - then: - - uart.write: 'Hello World' - - uart.write: [0x00, 0x20, 0x42] - -uart: - - id: uart_uart - tx_pin: 17 - rx_pin: 16 - flow_control_pin: 4 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test.esp32-c3-ard.yaml b/tests/components/uart/test.esp32-c3-ard.yaml deleted file mode 100644 index b053290a8b..0000000000 --- a/tests/components/uart/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,18 +0,0 @@ -esphome: - on_boot: - then: - - uart.write: 'Hello World' - - uart.write: [0x00, 0x20, 0x42] - -uart: - - id: uart_uart - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/udp/test.esp32-ard.yaml b/tests/components/udp/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/udp/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/udp/test.esp32-c3-ard.yaml b/tests/components/udp/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/udp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp32-ard.yaml b/tests/components/ufire_ec/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ufire_ec/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp32-c3-ard.yaml b/tests/components/ufire_ec/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ufire_ec/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp32-ard.yaml b/tests/components/ufire_ise/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ufire_ise/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp32-c3-ard.yaml b/tests/components/ufire_ise/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ufire_ise/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/uln2003/test.esp32-ard.yaml b/tests/components/uln2003/test.esp32-ard.yaml deleted file mode 100644 index ee4cff0923..0000000000 --- a/tests/components/uln2003/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_a: GPIO12 - pin_b: GPIO13 - pin_c: GPIO14 - pin_d: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/uln2003/test.esp32-c3-ard.yaml b/tests/components/uln2003/test.esp32-c3-ard.yaml deleted file mode 100644 index 11d16a4d5d..0000000000 --- a/tests/components/uln2003/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_a: GPIO0 - pin_b: GPIO1 - pin_c: GPIO2 - pin_d: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ultrasonic/test.esp32-ard.yaml b/tests/components/ultrasonic/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ultrasonic/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ultrasonic/test.esp32-c3-ard.yaml b/tests/components/ultrasonic/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ultrasonic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/update/test.esp32-ard.yaml b/tests/components/update/test.esp32-ard.yaml deleted file mode 100644 index c1937b5a10..0000000000 --- a/tests/components/update/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - verify_ssl: "false" - -<<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp32-ard.yaml b/tests/components/uponor_smatrix/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/uponor_smatrix/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp32-c3-ard.yaml b/tests/components/uponor_smatrix/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/uponor_smatrix/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/uptime/test.esp32-ard.yaml b/tests/components/uptime/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/uptime/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/uptime/test.esp32-c3-ard.yaml b/tests/components/uptime/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/uptime/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/vbus/test.esp32-ard.yaml b/tests/components/vbus/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/vbus/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/vbus/test.esp32-c3-ard.yaml b/tests/components/vbus/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/vbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/veml3235/test.esp32-ard.yaml b/tests/components/veml3235/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/veml3235/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/veml3235/test.esp32-c3-ard.yaml b/tests/components/veml3235/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/veml3235/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/veml7700/test.esp32-ard.yaml b/tests/components/veml7700/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/veml7700/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/veml7700/test.esp32-c3-ard.yaml b/tests/components/veml7700/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/veml7700/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/version/test.esp32-ard.yaml b/tests/components/version/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/version/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/version/test.esp32-c3-ard.yaml b/tests/components/version/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/version/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp32-ard.yaml b/tests/components/vl53l0x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/vl53l0x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp32-c3-ard.yaml b/tests/components/vl53l0x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/vl53l0x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/voice_assistant/test.esp32-ard.yaml b/tests/components/voice_assistant/test.esp32-ard.yaml deleted file mode 100644 index f6e553f9dc..0000000000 --- a/tests/components/voice_assistant/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - i2s_lrclk_pin: GPIO16 - i2s_bclk_pin: GPIO17 - i2s_mclk_pin: GPIO15 - i2s_din_pin: GPIO13 - i2s_dout_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/voice_assistant/test.esp32-c3-ard.yaml b/tests/components/voice_assistant/test.esp32-c3-ard.yaml deleted file mode 100644 index f596d927cb..0000000000 --- a/tests/components/voice_assistant/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - i2s_lrclk_pin: GPIO6 - i2s_bclk_pin: GPIO7 - i2s_mclk_pin: GPIO5 - i2s_din_pin: GPIO3 - i2s_dout_pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp32-ard.yaml b/tests/components/wake_on_lan/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wake_on_lan/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp32-c3-ard.yaml b/tests/components/wake_on_lan/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wake_on_lan/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp32-ard.yaml b/tests/components/waveshare_epaper/test.esp32-ard.yaml deleted file mode 100644 index c36345b984..0000000000 --- a/tests/components/waveshare_epaper/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO18 - mosi_pin: GPIO23 - cs_pin: GPIO25 - dc_pin: GPIO26 - busy_pin: GPIO27 - reset_pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp32-c3-ard.yaml b/tests/components/waveshare_epaper/test.esp32-c3-ard.yaml deleted file mode 100644 index 4cb230f6f2..0000000000 --- a/tests/components/waveshare_epaper/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO4 - dc_pin: GPIO1 - busy_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/whirlpool/test.esp32-ard.yaml b/tests/components/whirlpool/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whirlpool/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/whirlpool/test.esp32-c3-ard.yaml b/tests/components/whirlpool/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whirlpool/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/whynter/test.esp32-ard.yaml b/tests/components/whynter/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whynter/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/whynter/test.esp32-c3-ard.yaml b/tests/components/whynter/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whynter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/wiegand/test.esp32-ard.yaml b/tests/components/wiegand/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wiegand/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wiegand/test.esp32-c3-ard.yaml b/tests/components/wiegand/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wiegand/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi/test-eap.esp32-ard.yaml b/tests/components/wifi/test-eap.esp32-ard.yaml deleted file mode 100644 index 9177e5de10..0000000000 --- a/tests/components/wifi/test-eap.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-eap.yaml diff --git a/tests/components/wifi/test.esp32-ard.yaml b/tests/components/wifi/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi/test.esp32-c3-ard.yaml b/tests/components/wifi/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp32-ard.yaml b/tests/components/wifi_info/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_info/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp32-c3-ard.yaml b/tests/components/wifi_info/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_info/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_signal/test.esp32-ard.yaml b/tests/components/wifi_signal/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_signal/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_signal/test.esp32-c3-ard.yaml b/tests/components/wifi_signal/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_signal/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wireguard/test.esp32-ard.yaml b/tests/components/wireguard/test.esp32-ard.yaml deleted file mode 100644 index 2798f8e566..0000000000 --- a/tests/components/wireguard/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -<<: !include common.yaml - -network: - enable_ipv6: true diff --git a/tests/components/wireguard/test.esp32-c3-ard.yaml b/tests/components/wireguard/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wireguard/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-ard.yaml b/tests/components/wk2132_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2132_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2132_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2132_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-ard.yaml b/tests/components/wk2132_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2132_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-s3-ard.yaml b/tests/components/wk2132_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2132_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-ard.yaml b/tests/components/wk2168_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2168_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2168_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2168_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-ard.yaml b/tests/components/wk2168_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2168_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-s3-ard.yaml b/tests/components/wk2168_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2168_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-ard.yaml b/tests/components/wk2204_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2204_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2204_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2204_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-ard.yaml b/tests/components/wk2204_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2204_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-s3-ard.yaml b/tests/components/wk2204_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2204_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-ard.yaml b/tests/components/wk2212_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2212_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2212_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2212_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-ard.yaml b/tests/components/wk2212_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2212_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-s3-ard.yaml b/tests/components/wk2212_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2212_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wl_134/test.esp32-ard.yaml b/tests/components/wl_134/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/wl_134/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/wl_134/test.esp32-c3-ard.yaml b/tests/components/wl_134/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/wl_134/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wts01/test.esp32-ard.yaml b/tests/components/wts01/test.esp32-ard.yaml deleted file mode 100644 index 4904e1f54f..0000000000 --- a/tests/components/wts01/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO16 - rx_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/wts01/test.esp32-c3-ard.yaml b/tests/components/wts01/test.esp32-c3-ard.yaml deleted file mode 100644 index 00cec5b3b8..0000000000 --- a/tests/components/wts01/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO6 - rx_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/x9c/test.esp32-ard.yaml b/tests/components/x9c/test.esp32-ard.yaml deleted file mode 100644 index 6dfe3a67eb..0000000000 --- a/tests/components/x9c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - cs_pin: GPIO13 - inc_pin: GPIO14 - ud_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/x9c/test.esp32-c3-ard.yaml b/tests/components/x9c/test.esp32-c3-ard.yaml deleted file mode 100644 index b06e15a98c..0000000000 --- a/tests/components/x9c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - cs_pin: GPIO3 - inc_pin: GPIO4 - ud_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp32-ard.yaml b/tests/components/xgzp68xx/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/xgzp68xx/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp32-c3-ard.yaml b/tests/components/xgzp68xx/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/xgzp68xx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-ard.yaml b/tests/components/xiaomi_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-c3-ard.yaml b/tests/components/xiaomi_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-ard.yaml b/tests/components/xiaomi_cgd1/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgd1/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-ard.yaml b/tests/components/xiaomi_cgdk2/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgdk2/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-ard.yaml b/tests/components/xiaomi_cgg1/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgg1/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-ard.yaml b/tests/components/xiaomi_cgpr1/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgpr1/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-ard.yaml b/tests/components/xiaomi_gcls002/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_gcls002/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml b/tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-ard.yaml b/tests/components/xiaomi_lywsd02/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-ard.yaml b/tests/components/xiaomi_mhoc303/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc303/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-ard.yaml b/tests/components/xiaomi_mhoc401/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc401/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-ard.yaml b/tests/components/xiaomi_miscale/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml b/tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-ard.yaml b/tests/components/xiaomi_wx08zm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_wx08zm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml b/tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xl9535/test.esp32-ard.yaml b/tests/components/xl9535/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/xl9535/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/xl9535/test.esp32-c3-ard.yaml b/tests/components/xl9535/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/xl9535/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp32-ard.yaml b/tests/components/xpt2046/test.esp32-ard.yaml deleted file mode 100644 index b39174947b..0000000000 --- a/tests/components/xpt2046/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - clk_pin: GPIO17 - mosi_pin: GPIO18 - miso_pin: GPIO19 - dc_pin: GPIO13 - cs_pin: GPIO14 - disp_cs_pin: GPIO4 - interrupt_pin: GPIO21 - reset_pin: GPIO22 - -<<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp32-c3-ard.yaml b/tests/components/xpt2046/test.esp32-c3-ard.yaml deleted file mode 100644 index 79b84902ac..0000000000 --- a/tests/components/xpt2046/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - clk_pin: GPIO4 - mosi_pin: GPIO5 - miso_pin: GPIO6 - dc_pin: GPIO7 - cs_pin: GPIO0 - disp_cs_pin: GPIO1 - interrupt_pin: GPIO3 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/yashima/test.esp32-ard.yaml b/tests/components/yashima/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/yashima/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/yashima/test.esp32-c3-ard.yaml b/tests/components/yashima/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/yashima/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/zhlt01/test.esp32-ard.yaml b/tests/components/zhlt01/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/zhlt01/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/zhlt01/test.esp32-c3-ard.yaml b/tests/components/zhlt01/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/zhlt01/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp32-ard.yaml b/tests/components/zio_ultrasonic/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/zio_ultrasonic/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml b/tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp32-ard.yaml b/tests/components/zwave_proxy/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/zwave_proxy/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp32-c3-ard.yaml b/tests/components/zwave_proxy/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/zwave_proxy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/zyaura/test.esp32-ard.yaml b/tests/components/zyaura/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/zyaura/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/zyaura/test.esp32-c3-ard.yaml b/tests/components/zyaura/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/zyaura/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml From 061e55f8c5de1689eb6e96b357b9e98cdf80ea49 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 08:45:45 -1000 Subject: [PATCH 010/201] [ci][ethernet][tests] Remove redundant Arduino tests for ethernet PHYs (#11137) --- tests/components/ethernet/test-dm9051.esp32-ard.yaml | 1 - tests/components/ethernet/test-dp83848.esp32-ard.yaml | 1 - tests/components/ethernet/test-ip101.esp32-ard.yaml | 1 - tests/components/ethernet/test-ksz8081.esp32-ard.yaml | 1 - tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml | 1 - tests/components/ethernet/test-lan8670.esp32-ard.yaml | 1 - tests/components/ethernet/test-lan8720.esp32-ard.yaml | 1 - tests/components/ethernet/test-rtl8201.esp32-ard.yaml | 1 - tests/components/ethernet/test-w5500.esp32-ard.yaml | 1 - 9 files changed, 9 deletions(-) delete mode 100644 tests/components/ethernet/test-dm9051.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-dp83848.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-ip101.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-ksz8081.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-lan8670.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-lan8720.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-rtl8201.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-w5500.esp32-ard.yaml diff --git a/tests/components/ethernet/test-dm9051.esp32-ard.yaml b/tests/components/ethernet/test-dm9051.esp32-ard.yaml deleted file mode 100644 index 23e3b97740..0000000000 --- a/tests/components/ethernet/test-dm9051.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-dm9051.yaml diff --git a/tests/components/ethernet/test-dp83848.esp32-ard.yaml b/tests/components/ethernet/test-dp83848.esp32-ard.yaml deleted file mode 100644 index 906bfba17c..0000000000 --- a/tests/components/ethernet/test-dp83848.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-dp83848.yaml diff --git a/tests/components/ethernet/test-ip101.esp32-ard.yaml b/tests/components/ethernet/test-ip101.esp32-ard.yaml deleted file mode 100644 index e52329d7ea..0000000000 --- a/tests/components/ethernet/test-ip101.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ip101.yaml diff --git a/tests/components/ethernet/test-ksz8081.esp32-ard.yaml b/tests/components/ethernet/test-ksz8081.esp32-ard.yaml deleted file mode 100644 index 8f3c750c77..0000000000 --- a/tests/components/ethernet/test-ksz8081.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ksz8081.yaml diff --git a/tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml b/tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml deleted file mode 100644 index a48e591996..0000000000 --- a/tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ksz8081rna.yaml diff --git a/tests/components/ethernet/test-lan8670.esp32-ard.yaml b/tests/components/ethernet/test-lan8670.esp32-ard.yaml deleted file mode 100644 index 914a06ae88..0000000000 --- a/tests/components/ethernet/test-lan8670.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-lan8670.yaml diff --git a/tests/components/ethernet/test-lan8720.esp32-ard.yaml b/tests/components/ethernet/test-lan8720.esp32-ard.yaml deleted file mode 100644 index 3df9ac874a..0000000000 --- a/tests/components/ethernet/test-lan8720.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-lan8720.yaml diff --git a/tests/components/ethernet/test-rtl8201.esp32-ard.yaml b/tests/components/ethernet/test-rtl8201.esp32-ard.yaml deleted file mode 100644 index e69f88dc94..0000000000 --- a/tests/components/ethernet/test-rtl8201.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-rtl8201.yaml diff --git a/tests/components/ethernet/test-w5500.esp32-ard.yaml b/tests/components/ethernet/test-w5500.esp32-ard.yaml deleted file mode 100644 index 36f1b5365f..0000000000 --- a/tests/components/ethernet/test-w5500.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-w5500.yaml From 309e8b4c9256105645a481f9541baaa4cdf4dcf0 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 09:17:04 -1000 Subject: [PATCH 011/201] [ci][improv_serial][tests] Remove redundant ESP32 Arduino test files (#11138) --- tests/components/improv_serial/test-uart0.esp32-ard.yaml | 1 - tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml | 1 - tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml | 1 - tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml | 1 - tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml | 1 - tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml | 1 - tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml | 1 - 7 files changed, 7 deletions(-) delete mode 100644 tests/components/improv_serial/test-uart0.esp32-ard.yaml delete mode 100644 tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml delete mode 100644 tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml delete mode 100644 tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml delete mode 100644 tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml delete mode 100644 tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml delete mode 100644 tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml b/tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml diff --git a/tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml b/tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml diff --git a/tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml b/tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml From 5bbc2ab482eac93c5e25e324588dc47fc1d67546 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 19:40:40 +0000 Subject: [PATCH 012/201] Bump pyupgrade from 3.20.0 to 3.21.0 (#11139) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 76a305367a..51b8e6f8ed 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,7 +1,7 @@ pylint==3.3.9 flake8==7.3.0 # also change in .pre-commit-config.yaml when updating ruff==0.14.0 # also change in .pre-commit-config.yaml when updating -pyupgrade==3.20.0 # also change in .pre-commit-config.yaml when updating +pyupgrade==3.21.0 # also change in .pre-commit-config.yaml when updating pre-commit # Unit tests From 5ca407e27c10492a6bb5bae16a6b8977ac9a99a3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 10:01:58 -1000 Subject: [PATCH 013/201] [mdns] Store TXT record values in flash to reduce heap usage (#11114) --- .../dashboard_import/dashboard_import.cpp | 2 +- .../dashboard_import/dashboard_import.h | 2 +- esphome/components/mdns/__init__.py | 56 ++++++--- esphome/components/mdns/mdns_component.cpp | 107 +++++++++--------- esphome/components/mdns/mdns_component.h | 13 ++- esphome/components/mdns/mdns_esp32.cpp | 12 +- esphome/components/mdns/mdns_esp8266.cpp | 2 +- esphome/components/mdns/mdns_libretiny.cpp | 3 +- esphome/components/mdns/mdns_rp2040.cpp | 3 +- esphome/components/openthread/openthread.cpp | 8 +- esphome/core/defines.h | 1 + .../mdns/test-comprehensive.esp8266-ard.yaml | 3 + 12 files changed, 119 insertions(+), 93 deletions(-) diff --git a/esphome/components/dashboard_import/dashboard_import.cpp b/esphome/components/dashboard_import/dashboard_import.cpp index 6875fd61a5..c04696fd53 100644 --- a/esphome/components/dashboard_import/dashboard_import.cpp +++ b/esphome/components/dashboard_import/dashboard_import.cpp @@ -5,7 +5,7 @@ namespace dashboard_import { static std::string g_package_import_url; // NOLINT -std::string get_package_import_url() { return g_package_import_url; } +const std::string &get_package_import_url() { return g_package_import_url; } void set_package_import_url(std::string url) { g_package_import_url = std::move(url); } } // namespace dashboard_import diff --git a/esphome/components/dashboard_import/dashboard_import.h b/esphome/components/dashboard_import/dashboard_import.h index 0ca2994aab..edcda6b803 100644 --- a/esphome/components/dashboard_import/dashboard_import.h +++ b/esphome/components/dashboard_import/dashboard_import.h @@ -5,7 +5,7 @@ namespace esphome { namespace dashboard_import { -std::string get_package_import_url(); +const std::string &get_package_import_url(); void set_package_import_url(std::string url); } // namespace dashboard_import diff --git a/esphome/components/mdns/__init__.py b/esphome/components/mdns/__init__.py index 3fa4d2ebef..6e148092fe 100644 --- a/esphome/components/mdns/__init__.py +++ b/esphome/components/mdns/__init__.py @@ -58,14 +58,6 @@ CONFIG_SCHEMA = cv.All( ) -def mdns_txt_record(key: str, value: str): - return cg.StructInitializer( - MDNSTXTRecord, - ("key", cg.RawExpression(f"MDNS_STR({cg.safe_exp(key)})")), - ("value", value), - ) - - def mdns_service( service: str, proto: str, port: int, txt_records: list[dict[str, str]] ): @@ -107,23 +99,53 @@ async def to_code(config): # Ensure at least 1 service (fallback service) cg.add_define("MDNS_SERVICE_COUNT", max(1, service_count)) + # Calculate compile-time dynamic TXT value count + # Dynamic values are those that cannot be stored in flash at compile time + dynamic_txt_count = 0 + if "api" in CORE.config: + # Always: get_mac_address() + dynamic_txt_count += 1 + # User-provided templatable TXT values (only lambdas, not static strings) + dynamic_txt_count += sum( + 1 + for service in config[CONF_SERVICES] + for txt_value in service[CONF_TXT].values() + if cg.is_template(txt_value) + ) + + # Ensure at least 1 to avoid zero-size array + cg.add_define("MDNS_DYNAMIC_TXT_COUNT", max(1, dynamic_txt_count)) + var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) for service in config[CONF_SERVICES]: - txt = [ - cg.StructInitializer( - MDNSTXTRecord, - ("key", cg.RawExpression(f"MDNS_STR({cg.safe_exp(txt_key)})")), - ("value", await cg.templatable(txt_value, [], cg.std_string)), - ) - for txt_key, txt_value in service[CONF_TXT].items() - ] + # Build the txt records list for the service + txt_records = [] + for txt_key, txt_value in service[CONF_TXT].items(): + if cg.is_template(txt_value): + # It's a lambda - evaluate and store using helper + templated_value = await cg.templatable(txt_value, [], cg.std_string) + safe_key = cg.safe_exp(txt_key) + dynamic_call = f"{var}->add_dynamic_txt_value(({templated_value})())" + txt_records.append( + cg.RawExpression( + f"{{MDNS_STR({safe_key}), MDNS_STR({dynamic_call})}}" + ) + ) + else: + # It's a static string - use directly in flash, no need to store in vector + txt_records.append( + cg.RawExpression( + f"{{MDNS_STR({cg.safe_exp(txt_key)}), MDNS_STR({cg.safe_exp(txt_value)})}}" + ) + ) + exp = mdns_service( service[CONF_SERVICE], service[CONF_PROTOCOL], await cg.templatable(service[CONF_PORT], [], cg.uint16), - txt, + txt_records, ) cg.add(var.add_extra_service(exp)) diff --git a/esphome/components/mdns/mdns_component.cpp b/esphome/components/mdns/mdns_component.cpp index 8945053b7d..9cb664c3c3 100644 --- a/esphome/components/mdns/mdns_component.cpp +++ b/esphome/components/mdns/mdns_component.cpp @@ -9,21 +9,9 @@ #include // Macro to define strings in PROGMEM on ESP8266, regular memory on other platforms #define MDNS_STATIC_CONST_CHAR(name, value) static const char name[] PROGMEM = value -// Helper to convert PROGMEM string to std::string for TemplatableValue -// Only define this function if we have services that will use it -#if defined(USE_API) || defined(USE_PROMETHEUS) || defined(USE_WEBSERVER) || defined(USE_MDNS_EXTRA_SERVICES) -static std::string mdns_str_value(PGM_P str) { - char buf[64]; - strncpy_P(buf, str, sizeof(buf) - 1); - buf[sizeof(buf) - 1] = '\0'; - return std::string(buf); -} -#define MDNS_STR_VALUE(name) mdns_str_value(name) -#endif #else // On non-ESP8266 platforms, use regular const char* #define MDNS_STATIC_CONST_CHAR(name, value) static constexpr const char name[] = value -#define MDNS_STR_VALUE(name) std::string(name) #endif #ifdef USE_API @@ -43,30 +31,10 @@ static const char *const TAG = "mdns"; #endif // Define all constant strings using the macro -MDNS_STATIC_CONST_CHAR(SERVICE_ESPHOMELIB, "_esphomelib"); MDNS_STATIC_CONST_CHAR(SERVICE_TCP, "_tcp"); -MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http"); -MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); -MDNS_STATIC_CONST_CHAR(TXT_FRIENDLY_NAME, "friendly_name"); -MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version"); -MDNS_STATIC_CONST_CHAR(TXT_MAC, "mac"); -MDNS_STATIC_CONST_CHAR(TXT_PLATFORM, "platform"); -MDNS_STATIC_CONST_CHAR(TXT_BOARD, "board"); -MDNS_STATIC_CONST_CHAR(TXT_NETWORK, "network"); -MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION, "api_encryption"); -MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION_SUPPORTED, "api_encryption_supported"); -MDNS_STATIC_CONST_CHAR(TXT_PROJECT_NAME, "project_name"); -MDNS_STATIC_CONST_CHAR(TXT_PROJECT_VERSION, "project_version"); -MDNS_STATIC_CONST_CHAR(TXT_PACKAGE_IMPORT_URL, "package_import_url"); - -MDNS_STATIC_CONST_CHAR(PLATFORM_ESP8266, "ESP8266"); -MDNS_STATIC_CONST_CHAR(PLATFORM_ESP32, "ESP32"); -MDNS_STATIC_CONST_CHAR(PLATFORM_RP2040, "RP2040"); - -MDNS_STATIC_CONST_CHAR(NETWORK_WIFI, "wifi"); -MDNS_STATIC_CONST_CHAR(NETWORK_ETHERNET, "ethernet"); -MDNS_STATIC_CONST_CHAR(NETWORK_THREAD, "thread"); +// Wrap build-time defines into flash storage +MDNS_STATIC_CONST_CHAR(VALUE_VERSION, ESPHOME_VERSION); void MDNSComponent::compile_records_() { this->hostname_ = App.get_name(); @@ -75,6 +43,15 @@ void MDNSComponent::compile_records_() { // in mdns/__init__.py. If you add a new service here, update both locations. #ifdef USE_API + MDNS_STATIC_CONST_CHAR(SERVICE_ESPHOMELIB, "_esphomelib"); + MDNS_STATIC_CONST_CHAR(TXT_FRIENDLY_NAME, "friendly_name"); + MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version"); + MDNS_STATIC_CONST_CHAR(TXT_MAC, "mac"); + MDNS_STATIC_CONST_CHAR(TXT_PLATFORM, "platform"); + MDNS_STATIC_CONST_CHAR(TXT_BOARD, "board"); + MDNS_STATIC_CONST_CHAR(TXT_NETWORK, "network"); + MDNS_STATIC_CONST_CHAR(VALUE_BOARD, ESPHOME_BOARD); + if (api::global_api_server != nullptr) { auto &service = this->services_.emplace_next(); service.service_type = MDNS_STR(SERVICE_ESPHOMELIB); @@ -109,52 +86,66 @@ void MDNSComponent::compile_records_() { txt_records.reserve(txt_count); if (!friendly_name_empty) { - txt_records.push_back({MDNS_STR(TXT_FRIENDLY_NAME), friendly_name}); + txt_records.push_back({MDNS_STR(TXT_FRIENDLY_NAME), MDNS_STR(friendly_name.c_str())}); } - txt_records.push_back({MDNS_STR(TXT_VERSION), ESPHOME_VERSION}); - txt_records.push_back({MDNS_STR(TXT_MAC), get_mac_address()}); + txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}); + txt_records.push_back({MDNS_STR(TXT_MAC), MDNS_STR(this->add_dynamic_txt_value(get_mac_address()))}); #ifdef USE_ESP8266 - txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR_VALUE(PLATFORM_ESP8266)}); + MDNS_STATIC_CONST_CHAR(PLATFORM_ESP8266, "ESP8266"); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP8266)}); #elif defined(USE_ESP32) - txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR_VALUE(PLATFORM_ESP32)}); + MDNS_STATIC_CONST_CHAR(PLATFORM_ESP32, "ESP32"); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP32)}); #elif defined(USE_RP2040) - txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR_VALUE(PLATFORM_RP2040)}); + MDNS_STATIC_CONST_CHAR(PLATFORM_RP2040, "RP2040"); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_RP2040)}); #elif defined(USE_LIBRETINY) - txt_records.push_back({MDNS_STR(TXT_PLATFORM), lt_cpu_get_model_name()}); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(lt_cpu_get_model_name())}); #endif - txt_records.push_back({MDNS_STR(TXT_BOARD), ESPHOME_BOARD}); + txt_records.push_back({MDNS_STR(TXT_BOARD), MDNS_STR(VALUE_BOARD)}); #if defined(USE_WIFI) - txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR_VALUE(NETWORK_WIFI)}); + MDNS_STATIC_CONST_CHAR(NETWORK_WIFI, "wifi"); + txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_WIFI)}); #elif defined(USE_ETHERNET) - txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR_VALUE(NETWORK_ETHERNET)}); + MDNS_STATIC_CONST_CHAR(NETWORK_ETHERNET, "ethernet"); + txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_ETHERNET)}); #elif defined(USE_OPENTHREAD) - txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR_VALUE(NETWORK_THREAD)}); + MDNS_STATIC_CONST_CHAR(NETWORK_THREAD, "thread"); + txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_THREAD)}); #endif #ifdef USE_API_NOISE + MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION, "api_encryption"); + MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION_SUPPORTED, "api_encryption_supported"); MDNS_STATIC_CONST_CHAR(NOISE_ENCRYPTION, "Noise_NNpsk0_25519_ChaChaPoly_SHA256"); - if (api::global_api_server->get_noise_ctx()->has_psk()) { - txt_records.push_back({MDNS_STR(TXT_API_ENCRYPTION), MDNS_STR_VALUE(NOISE_ENCRYPTION)}); - } else { - txt_records.push_back({MDNS_STR(TXT_API_ENCRYPTION_SUPPORTED), MDNS_STR_VALUE(NOISE_ENCRYPTION)}); - } + bool has_psk = api::global_api_server->get_noise_ctx()->has_psk(); + const char *encryption_key = has_psk ? TXT_API_ENCRYPTION : TXT_API_ENCRYPTION_SUPPORTED; + txt_records.push_back({MDNS_STR(encryption_key), MDNS_STR(NOISE_ENCRYPTION)}); #endif #ifdef ESPHOME_PROJECT_NAME - txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), ESPHOME_PROJECT_NAME}); - txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), ESPHOME_PROJECT_VERSION}); + MDNS_STATIC_CONST_CHAR(TXT_PROJECT_NAME, "project_name"); + MDNS_STATIC_CONST_CHAR(TXT_PROJECT_VERSION, "project_version"); + MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_NAME, ESPHOME_PROJECT_NAME); + MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_VERSION, ESPHOME_PROJECT_VERSION); + txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), MDNS_STR(VALUE_PROJECT_NAME)}); + txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), MDNS_STR(VALUE_PROJECT_VERSION)}); #endif // ESPHOME_PROJECT_NAME #ifdef USE_DASHBOARD_IMPORT - txt_records.push_back({MDNS_STR(TXT_PACKAGE_IMPORT_URL), dashboard_import::get_package_import_url()}); + MDNS_STATIC_CONST_CHAR(TXT_PACKAGE_IMPORT_URL, "package_import_url"); + txt_records.push_back( + {MDNS_STR(TXT_PACKAGE_IMPORT_URL), MDNS_STR(dashboard_import::get_package_import_url().c_str())}); #endif } #endif // USE_API #ifdef USE_PROMETHEUS + MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http"); + auto &prom_service = this->services_.emplace_next(); prom_service.service_type = MDNS_STR(SERVICE_PROMETHEUS); prom_service.proto = MDNS_STR(SERVICE_TCP); @@ -162,6 +153,8 @@ void MDNSComponent::compile_records_() { #endif #ifdef USE_WEBSERVER + MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); + auto &web_service = this->services_.emplace_next(); web_service.service_type = MDNS_STR(SERVICE_HTTP); web_service.proto = MDNS_STR(SERVICE_TCP); @@ -169,13 +162,16 @@ void MDNSComponent::compile_records_() { #endif #if !defined(USE_API) && !defined(USE_PROMETHEUS) && !defined(USE_WEBSERVER) && !defined(USE_MDNS_EXTRA_SERVICES) + MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); + MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version"); + // Publish "http" service if not using native API or any other services // This is just to have *some* mDNS service so that .local resolution works auto &fallback_service = this->services_.emplace_next(); fallback_service.service_type = MDNS_STR(SERVICE_HTTP); fallback_service.proto = MDNS_STR(SERVICE_TCP); fallback_service.port = USE_WEBSERVER_PORT; - fallback_service.txt_records.push_back({MDNS_STR(TXT_VERSION), ESPHOME_VERSION}); + fallback_service.txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}); #endif } @@ -190,8 +186,7 @@ void MDNSComponent::dump_config() { ESP_LOGV(TAG, " - %s, %s, %d", MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), const_cast &>(service.port).value()); for (const auto &record : service.txt_records) { - ESP_LOGV(TAG, " TXT: %s = %s", MDNS_STR_ARG(record.key), - const_cast &>(record.value).value().c_str()); + ESP_LOGV(TAG, " TXT: %s = %s", MDNS_STR_ARG(record.key), MDNS_STR_ARG(record.value)); } } #endif diff --git a/esphome/components/mdns/mdns_component.h b/esphome/components/mdns/mdns_component.h index b1f73fbb32..141e42d976 100644 --- a/esphome/components/mdns/mdns_component.h +++ b/esphome/components/mdns/mdns_component.h @@ -27,7 +27,7 @@ struct MDNSString; struct MDNSTXTRecord { const MDNSString *key; - TemplatableValue value; + const MDNSString *value; }; struct MDNSService { @@ -59,6 +59,17 @@ class MDNSComponent : public Component { void on_shutdown() override; + /// Add a dynamic TXT value and return pointer to it for use in MDNSTXTRecord + const char *add_dynamic_txt_value(const std::string &value) { + this->dynamic_txt_values_.push_back(value); + return this->dynamic_txt_values_[this->dynamic_txt_values_.size() - 1].c_str(); + } + + /// Storage for runtime-generated TXT values (MAC address, user lambdas) + /// Pre-sized at compile time via MDNS_DYNAMIC_TXT_COUNT to avoid heap allocations. + /// Static/compile-time values (version, board, etc.) are stored directly in flash and don't use this. + StaticVector dynamic_txt_values_; + protected: StaticVector services_{}; std::string hostname_; diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index 40d305a1e6..e77c0b9b05 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -2,7 +2,6 @@ #if defined(USE_ESP32) && defined(USE_MDNS) #include -#include #include "esphome/core/hal.h" #include "esphome/core/log.h" #include "mdns_component.h" @@ -29,21 +28,16 @@ void MDNSComponent::setup() { std::vector txt_records; for (const auto &record : service.txt_records) { mdns_txt_item_t it{}; - // key is a compile-time string literal in flash, no need to strdup + // key and value are either compile-time string literals in flash or pointers to dynamic_txt_values_ + // Both remain valid for the lifetime of this function, and ESP-IDF makes internal copies it.key = MDNS_STR_ARG(record.key); - // value is a temporary from TemplatableValue, must strdup to keep it alive - it.value = strdup(const_cast &>(record.value).value().c_str()); + it.value = MDNS_STR_ARG(record.value); txt_records.push_back(it); } uint16_t port = const_cast &>(service.port).value(); err = mdns_service_add(nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port, txt_records.data(), txt_records.size()); - // free records - for (const auto &it : txt_records) { - free((void *) it.value); // NOLINT(cppcoreguidelines-no-malloc) - } - if (err != ESP_OK) { ESP_LOGW(TAG, "Failed to register service %s: %s", MDNS_STR_ARG(service.service_type), esp_err_to_name(err)); } diff --git a/esphome/components/mdns/mdns_esp8266.cpp b/esphome/components/mdns/mdns_esp8266.cpp index f1c8909807..f3779042ed 100644 --- a/esphome/components/mdns/mdns_esp8266.cpp +++ b/esphome/components/mdns/mdns_esp8266.cpp @@ -33,7 +33,7 @@ void MDNSComponent::setup() { MDNS.addService(FPSTR(service_type), FPSTR(proto), port); for (const auto &record : service.txt_records) { MDNS.addServiceTxt(FPSTR(service_type), FPSTR(proto), FPSTR(MDNS_STR_ARG(record.key)), - const_cast &>(record.value).value().c_str()); + FPSTR(MDNS_STR_ARG(record.value))); } } } diff --git a/esphome/components/mdns/mdns_libretiny.cpp b/esphome/components/mdns/mdns_libretiny.cpp index 9010ca2bc6..5540bf361a 100644 --- a/esphome/components/mdns/mdns_libretiny.cpp +++ b/esphome/components/mdns/mdns_libretiny.cpp @@ -32,8 +32,7 @@ void MDNSComponent::setup() { uint16_t port_ = const_cast &>(service.port).value(); MDNS.addService(service_type, proto, port_); for (const auto &record : service.txt_records) { - MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), - const_cast &>(record.value).value().c_str()); + MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), MDNS_STR_ARG(record.value)); } } } diff --git a/esphome/components/mdns/mdns_rp2040.cpp b/esphome/components/mdns/mdns_rp2040.cpp index 039453f501..5ad006f5d4 100644 --- a/esphome/components/mdns/mdns_rp2040.cpp +++ b/esphome/components/mdns/mdns_rp2040.cpp @@ -32,8 +32,7 @@ void MDNSComponent::setup() { uint16_t port = const_cast &>(service.port).value(); MDNS.addService(service_type, proto, port); for (const auto &record : service.txt_records) { - MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), - const_cast &>(record.value).value().c_str()); + MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), MDNS_STR_ARG(record.value)); } } } diff --git a/esphome/components/openthread/openthread.cpp b/esphome/components/openthread/openthread.cpp index bc5dcadef6..b2c2519c08 100644 --- a/esphome/components/openthread/openthread.cpp +++ b/esphome/components/openthread/openthread.cpp @@ -180,10 +180,12 @@ void OpenThreadSrpComponent::setup() { entry->mService.mNumTxtEntries = service.txt_records.size(); for (size_t i = 0; i < service.txt_records.size(); i++) { const auto &txt = service.txt_records[i]; - auto value = const_cast &>(txt.value).value(); + // Value is either a compile-time string literal in flash or a pointer to dynamic_txt_values_ + // OpenThread SRP client expects the data to persist, so we strdup it + const char *value_str = MDNS_STR_ARG(txt.value); txt_entries[i].mKey = MDNS_STR_ARG(txt.key); - txt_entries[i].mValue = reinterpret_cast(strdup(value.c_str())); - txt_entries[i].mValueLength = value.size(); + txt_entries[i].mValue = reinterpret_cast(strdup(value_str)); + txt_entries[i].mValueLength = strlen(value_str); } entry->mService.mTxtEntries = txt_entries; entry->mService.mNumTxtEntries = service.txt_records.size(); diff --git a/esphome/core/defines.h b/esphome/core/defines.h index 2317c0ed32..0f1d1bcf28 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -84,6 +84,7 @@ #define USE_LVGL_TOUCHSCREEN #define USE_MDNS #define MDNS_SERVICE_COUNT 3 +#define MDNS_DYNAMIC_TXT_COUNT 3 #define USE_MEDIA_PLAYER #define USE_NEXTION_TFT_UPLOAD #define USE_NUMBER diff --git a/tests/components/mdns/test-comprehensive.esp8266-ard.yaml b/tests/components/mdns/test-comprehensive.esp8266-ard.yaml index 02767833a3..3129ca3143 100644 --- a/tests/components/mdns/test-comprehensive.esp8266-ard.yaml +++ b/tests/components/mdns/test-comprehensive.esp8266-ard.yaml @@ -25,6 +25,9 @@ mdns: - service: _http protocol: _tcp port: 80 + txt: + version: "1.0" + path: "/" # OTA should run at priority 54 (after mdns) ota: From 87d2c9868fcbdb941979bef9652eb8336de235e4 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 9 Oct 2025 17:27:36 -0400 Subject: [PATCH 014/201] [esp32] Update IDF 5.5 and Arduino 3.3 to use 55.03.31-1 (#11120) --- esphome/components/esp32/__init__.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 3cbcdb99b4..0bb0f46bb3 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -329,7 +329,8 @@ ARDUINO_FRAMEWORK_VERSION_LOOKUP = { "dev": cv.Version(3, 3, 1), } ARDUINO_PLATFORM_VERSION_LOOKUP = { - cv.Version(3, 3, 1): cv.Version(55, 3, 31), + cv.Version(3, 3, 2): cv.Version(55, 3, 31, "1"), + cv.Version(3, 3, 1): cv.Version(55, 3, 31, "1"), cv.Version(3, 3, 0): cv.Version(55, 3, 30, "2"), cv.Version(3, 2, 1): cv.Version(54, 3, 21, "2"), cv.Version(3, 2, 0): cv.Version(54, 3, 20), @@ -347,8 +348,8 @@ ESP_IDF_FRAMEWORK_VERSION_LOOKUP = { "dev": cv.Version(5, 5, 1), } ESP_IDF_PLATFORM_VERSION_LOOKUP = { - cv.Version(5, 5, 1): cv.Version(55, 3, 31), - cv.Version(5, 5, 0): cv.Version(55, 3, 31), + cv.Version(5, 5, 1): cv.Version(55, 3, 31, "1"), + cv.Version(5, 5, 0): cv.Version(55, 3, 31, "1"), cv.Version(5, 4, 2): cv.Version(54, 3, 21, "2"), cv.Version(5, 4, 1): cv.Version(54, 3, 21, "2"), cv.Version(5, 4, 0): cv.Version(54, 3, 21, "2"), @@ -363,8 +364,8 @@ ESP_IDF_PLATFORM_VERSION_LOOKUP = { # - https://github.com/pioarduino/platform-espressif32/releases PLATFORM_VERSION_LOOKUP = { "recommended": cv.Version(54, 3, 21, "2"), - "latest": cv.Version(55, 3, 31), - "dev": "https://github.com/pioarduino/platform-espressif32.git#develop", + "latest": cv.Version(55, 3, 31, "1"), + "dev": cv.Version(55, 3, 31, "1"), } From 81bf2688b4e8d2f76300305688aa9fb11ab5eded Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:36:31 -1000 Subject: [PATCH 015/201] [esp32] Update migration warning for Arduino-as-IDF-component transition (#11142) --- esphome/components/esp32/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 0bb0f46bb3..d9b8d067a4 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -657,6 +657,7 @@ def _show_framework_migration_message(name: str, variant: str) -> None: + "Why change? ESP-IDF offers:\n" + color(AnsiFore.GREEN, " ✨ Up to 40% smaller binaries\n") + color(AnsiFore.GREEN, " 🚀 Better performance and optimization\n") + + color(AnsiFore.GREEN, " ⚡ 2-3x faster compile times\n") + color(AnsiFore.GREEN, " 📦 Custom-built firmware for your exact needs\n") + color( AnsiFore.GREEN, @@ -664,7 +665,6 @@ def _show_framework_migration_message(name: str, variant: str) -> None: ) + "\n" + "Trade-offs:\n" - + color(AnsiFore.YELLOW, " ⏱️ Compile times are ~25% longer\n") + color(AnsiFore.YELLOW, " 🔄 Some components need migration\n") + "\n" + "What should I do?\n" From c8b898f9c547342fc15bb6d83500b56f145db230 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:40:47 -1000 Subject: [PATCH 016/201] [ci][mdns][tests] Remove redundant ESP32 Arduino test files (#11143) --- tests/components/mdns/test-enabled.esp32-ard.yaml | 1 - tests/components/mdns/test-enabled.esp32-c3-ard.yaml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 tests/components/mdns/test-enabled.esp32-ard.yaml delete mode 100644 tests/components/mdns/test-enabled.esp32-c3-ard.yaml diff --git a/tests/components/mdns/test-enabled.esp32-ard.yaml b/tests/components/mdns/test-enabled.esp32-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/mdns/test-enabled.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml diff --git a/tests/components/mdns/test-enabled.esp32-c3-ard.yaml b/tests/components/mdns/test-enabled.esp32-c3-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/mdns/test-enabled.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml From a74fcbc8b63b496dc0d7fe5b11d95b5a52980d25 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:42:25 -1000 Subject: [PATCH 017/201] [esp32_ble_beacon, esp32_ble_tracker] Remove unused Arduino includes and redundant tests (#11140) --- esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp | 4 ---- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp | 4 ---- tests/components/esp32_ble_beacon/test.esp32-ard.yaml | 1 - tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml | 1 - tests/components/esp32_ble_tracker/test.esp32-ard.yaml | 5 ----- tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml | 5 ----- 6 files changed, 20 deletions(-) delete mode 100644 tests/components/esp32_ble_beacon/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble_tracker/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml diff --git a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp index 259628e00f..af28804013 100644 --- a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp +++ b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp @@ -14,10 +14,6 @@ #include "esphome/core/hal.h" #include "esphome/core/helpers.h" -#ifdef USE_ARDUINO -#include -#endif - namespace esphome { namespace esp32_ble_beacon { diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index a7d73a9709..83f59d492e 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -25,10 +25,6 @@ #include #endif -#ifdef USE_ARDUINO -#include -#endif - #define MBEDTLS_AES_ALT #include diff --git a/tests/components/esp32_ble_beacon/test.esp32-ard.yaml b/tests/components/esp32_ble_beacon/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_beacon/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_tracker/test.esp32-ard.yaml b/tests/components/esp32_ble_tracker/test.esp32-ard.yaml deleted file mode 100644 index 3bfdb8773f..0000000000 --- a/tests/components/esp32_ble_tracker/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -esp32_ble_tracker: - software_coexistence: true - max_connections: 3 diff --git a/tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml deleted file mode 100644 index 2e3c48117a..0000000000 --- a/tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -esp32_ble_tracker: - max_connections: 3 - software_coexistence: false From 9f9c95dd09054c346acaa91ce5c3eaa2d0d1b3bd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:56:53 -1000 Subject: [PATCH 018/201] [network][ci][tests] Remove redundant ESP32 Arduino test files (#11148) --- tests/components/network/test-ipv6.esp32-ard.yaml | 4 ---- tests/components/network/test-ipv6.esp32-c3-ard.yaml | 4 ---- tests/components/network/test.esp32-ard.yaml | 1 - tests/components/network/test.esp32-c3-ard.yaml | 1 - 4 files changed, 10 deletions(-) delete mode 100644 tests/components/network/test-ipv6.esp32-ard.yaml delete mode 100644 tests/components/network/test-ipv6.esp32-c3-ard.yaml delete mode 100644 tests/components/network/test.esp32-ard.yaml delete mode 100644 tests/components/network/test.esp32-c3-ard.yaml diff --git a/tests/components/network/test-ipv6.esp32-ard.yaml b/tests/components/network/test-ipv6.esp32-ard.yaml deleted file mode 100644 index da1324b17e..0000000000 --- a/tests/components/network/test-ipv6.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - network_enable_ipv6: "true" - -<<: !include common.yaml diff --git a/tests/components/network/test-ipv6.esp32-c3-ard.yaml b/tests/components/network/test-ipv6.esp32-c3-ard.yaml deleted file mode 100644 index da1324b17e..0000000000 --- a/tests/components/network/test-ipv6.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - network_enable_ipv6: "true" - -<<: !include common.yaml diff --git a/tests/components/network/test.esp32-ard.yaml b/tests/components/network/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/network/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/network/test.esp32-c3-ard.yaml b/tests/components/network/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/network/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From 48474c0f8c21413de961cae4365039c2fcf06b60 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:57:11 -1000 Subject: [PATCH 019/201] [ci][time][tests] Remove redundant ESP32 Arduino test files (#11147) --- tests/components/time/test.esp32-ard.yaml | 1 - tests/components/time/test.esp32-c3-ard.yaml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 tests/components/time/test.esp32-ard.yaml delete mode 100644 tests/components/time/test.esp32-c3-ard.yaml diff --git a/tests/components/time/test.esp32-ard.yaml b/tests/components/time/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/time/test.esp32-c3-ard.yaml b/tests/components/time/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From fcc8a809e6755e158f46b50bae73c25bdfedc765 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:57:40 -1000 Subject: [PATCH 020/201] [ci][debug][tests] Remove redundant ESP32 variant Arduino test files (#11146) --- tests/components/debug/test.esp32-c3-ard.yaml | 4 ---- tests/components/debug/test.esp32-s2-ard.yaml | 1 - tests/components/debug/test.esp32-s3-ard.yaml | 1 - 3 files changed, 6 deletions(-) delete mode 100644 tests/components/debug/test.esp32-c3-ard.yaml delete mode 100644 tests/components/debug/test.esp32-s2-ard.yaml delete mode 100644 tests/components/debug/test.esp32-s3-ard.yaml diff --git a/tests/components/debug/test.esp32-c3-ard.yaml b/tests/components/debug/test.esp32-c3-ard.yaml deleted file mode 100644 index 7d43491862..0000000000 --- a/tests/components/debug/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -<<: !include common.yaml - -esp32: - cpu_frequency: 80MHz diff --git a/tests/components/debug/test.esp32-s2-ard.yaml b/tests/components/debug/test.esp32-s2-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/debug/test.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/debug/test.esp32-s3-ard.yaml b/tests/components/debug/test.esp32-s3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/debug/test.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From a1b0ae78e098aa09cb802335894fd4efbd4b055b Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 9 Oct 2025 19:10:09 -0400 Subject: [PATCH 021/201] [stale] Increase operations-per-run (#11135) CI passed, stuck on status --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 63a8ade37f..5843b3a5e0 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -23,7 +23,7 @@ jobs: with: debug-only: ${{ github.ref != 'refs/heads/dev' }} # Dry-run when not run on dev branch remove-stale-when-updated: true - operations-per-run: 150 + operations-per-run: 400 # The 90 day stale policy for PRs # - PRs From b5cc668a45d19fc4e98d096eedf4003de89d08f0 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:30:05 -1000 Subject: [PATCH 022/201] [ci][logger][tests] Remove redundant ESP32 Arduino test files (#11144) --- ...-usb_cdc.esp32-c3-ard.yaml => test-usb_cdc.esp32-c3-idf.yaml} | 0 tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml | 1 - ...-usb_cdc.esp32-s2-ard.yaml => test-usb_cdc.esp32-s3-idf.yaml} | 0 tests/components/logger/test.esp32-ard.yaml | 1 - tests/components/logger/test.esp32-c3-ard.yaml | 1 - 5 files changed, 3 deletions(-) rename tests/components/logger/{test-usb_cdc.esp32-c3-ard.yaml => test-usb_cdc.esp32-c3-idf.yaml} (100%) delete mode 100644 tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml rename tests/components/logger/{test-usb_cdc.esp32-s2-ard.yaml => test-usb_cdc.esp32-s3-idf.yaml} (100%) delete mode 100644 tests/components/logger/test.esp32-ard.yaml delete mode 100644 tests/components/logger/test.esp32-c3-ard.yaml diff --git a/tests/components/logger/test-usb_cdc.esp32-c3-ard.yaml b/tests/components/logger/test-usb_cdc.esp32-c3-idf.yaml similarity index 100% rename from tests/components/logger/test-usb_cdc.esp32-c3-ard.yaml rename to tests/components/logger/test-usb_cdc.esp32-c3-idf.yaml diff --git a/tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml b/tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml diff --git a/tests/components/logger/test-usb_cdc.esp32-s2-ard.yaml b/tests/components/logger/test-usb_cdc.esp32-s3-idf.yaml similarity index 100% rename from tests/components/logger/test-usb_cdc.esp32-s2-ard.yaml rename to tests/components/logger/test-usb_cdc.esp32-s3-idf.yaml diff --git a/tests/components/logger/test.esp32-ard.yaml b/tests/components/logger/test.esp32-ard.yaml deleted file mode 100644 index 3fe04e18a3..0000000000 --- a/tests/components/logger/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-default_uart.yaml diff --git a/tests/components/logger/test.esp32-c3-ard.yaml b/tests/components/logger/test.esp32-c3-ard.yaml deleted file mode 100644 index 3fe04e18a3..0000000000 --- a/tests/components/logger/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-default_uart.yaml From e15429b0f5e737f3b35a7d279d83303eea14b823 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:38:34 -1000 Subject: [PATCH 023/201] [opentherm][ci][tests] Remove redundant ESP32 Arduino tests and simplify conditionals (#11149) --- esphome/components/opentherm/opentherm.cpp | 10 +++++----- esphome/components/opentherm/opentherm.h | 6 +++--- tests/components/opentherm/test.esp32-ard.yaml | 1 - tests/components/opentherm/test.esp32-c3-ard.yaml | 1 - 4 files changed, 8 insertions(+), 10 deletions(-) delete mode 100644 tests/components/opentherm/test.esp32-ard.yaml delete mode 100644 tests/components/opentherm/test.esp32-c3-ard.yaml diff --git a/esphome/components/opentherm/opentherm.cpp b/esphome/components/opentherm/opentherm.cpp index b2751470b2..d59b9584d1 100644 --- a/esphome/components/opentherm/opentherm.cpp +++ b/esphome/components/opentherm/opentherm.cpp @@ -7,7 +7,7 @@ #include "opentherm.h" #include "esphome/core/helpers.h" -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 #include "driver/timer.h" #include "esp_err.h" #endif @@ -31,7 +31,7 @@ OpenTherm *OpenTherm::instance = nullptr; OpenTherm::OpenTherm(InternalGPIOPin *in_pin, InternalGPIOPin *out_pin, int32_t device_timeout) : in_pin_(in_pin), out_pin_(out_pin), -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 timer_group_(TIMER_GROUP_0), timer_idx_(TIMER_0), #endif @@ -57,7 +57,7 @@ bool OpenTherm::initialize() { this->out_pin_->setup(); this->out_pin_->digital_write(true); -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 return this->init_esp32_timer_(); #else return true; @@ -238,7 +238,7 @@ void IRAM_ATTR OpenTherm::write_bit_(uint8_t high, uint8_t clock) { } } -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 bool OpenTherm::init_esp32_timer_() { // Search for a free timer. Maybe unstable, we'll see. @@ -365,7 +365,7 @@ void IRAM_ATTR OpenTherm::stop_timer_() { } } -#endif // END ESP32 +#endif // USE_ESP32 #ifdef ESP8266 // 5 kHz timer_ diff --git a/esphome/components/opentherm/opentherm.h b/esphome/components/opentherm/opentherm.h index a5822cdfe1..3996481760 100644 --- a/esphome/components/opentherm/opentherm.h +++ b/esphome/components/opentherm/opentherm.h @@ -12,7 +12,7 @@ #include "esphome/core/helpers.h" #include "esphome/core/log.h" -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 #include "driver/timer.h" #endif @@ -356,7 +356,7 @@ class OpenTherm { ISRInternalGPIOPin isr_in_pin_; ISRInternalGPIOPin isr_out_pin_; -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 timer_group_t timer_group_; timer_idx_t timer_idx_; #endif @@ -370,7 +370,7 @@ class OpenTherm { int32_t timeout_counter_; // <0 no timeout int32_t device_timeout_; -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 esp_err_t timer_error_ = ESP_OK; TimerErrorType timer_error_type_ = TimerErrorType::NO_TIMER_ERROR; diff --git a/tests/components/opentherm/test.esp32-ard.yaml b/tests/components/opentherm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/opentherm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/opentherm/test.esp32-c3-ard.yaml b/tests/components/opentherm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/opentherm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From 590cae13c0905294251a847213c6d5534b91941e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:41:50 -1000 Subject: [PATCH 024/201] [ci][tests] Remove redundant ESP32-C3 Arduino tests for non-variant-specific components (#11152) --- tests/components/http_request/test.esp32-c3-ard.yaml | 4 ---- tests/components/nextion/test.esp32-c3-ard.yaml | 10 ---------- tests/components/ota/test.esp32-c3-ard.yaml | 1 - tests/components/web_server/test.esp32-c3-ard.yaml | 1 - 4 files changed, 16 deletions(-) delete mode 100644 tests/components/http_request/test.esp32-c3-ard.yaml delete mode 100644 tests/components/nextion/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ota/test.esp32-c3-ard.yaml delete mode 100644 tests/components/web_server/test.esp32-c3-ard.yaml diff --git a/tests/components/http_request/test.esp32-c3-ard.yaml b/tests/components/http_request/test.esp32-c3-ard.yaml deleted file mode 100644 index c1937b5a10..0000000000 --- a/tests/components/http_request/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - verify_ssl: "false" - -<<: !include common.yaml diff --git a/tests/components/nextion/test.esp32-c3-ard.yaml b/tests/components/nextion/test.esp32-c3-ard.yaml deleted file mode 100644 index 5135c7e4f4..0000000000 --- a/tests/components/nextion/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -packages: - base: !include common.yaml - -display: - - id: !extend main_lcd - tft_url: http://esphome.io/default35.tft diff --git a/tests/components/ota/test.esp32-c3-ard.yaml b/tests/components/ota/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ota/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/web_server/test.esp32-c3-ard.yaml b/tests/components/web_server/test.esp32-c3-ard.yaml deleted file mode 100644 index 7e6658e20e..0000000000 --- a/tests/components/web_server/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common_v2.yaml From 52219c4dccb03a51d97172b73c92ff3255baf9aa Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:45:59 -1000 Subject: [PATCH 025/201] [datetime][ci][tests] Replace test.all.yaml with minimal platform cover (#11151) --- .../components/datetime/{test.all.yaml => test.bk72xx-ard.yaml} | 0 tests/components/datetime/test.esp32-idf.yaml | 1 + tests/components/datetime/test.esp8266-ard.yaml | 1 + tests/components/datetime/test.ln882x-ard.yaml | 1 + tests/components/datetime/test.rp2040-ard.yaml | 1 + 5 files changed, 4 insertions(+) rename tests/components/datetime/{test.all.yaml => test.bk72xx-ard.yaml} (100%) create mode 100644 tests/components/datetime/test.esp32-idf.yaml create mode 100644 tests/components/datetime/test.esp8266-ard.yaml create mode 100644 tests/components/datetime/test.ln882x-ard.yaml create mode 100644 tests/components/datetime/test.rp2040-ard.yaml diff --git a/tests/components/datetime/test.all.yaml b/tests/components/datetime/test.bk72xx-ard.yaml similarity index 100% rename from tests/components/datetime/test.all.yaml rename to tests/components/datetime/test.bk72xx-ard.yaml diff --git a/tests/components/datetime/test.esp32-idf.yaml b/tests/components/datetime/test.esp32-idf.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.esp32-idf.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/components/datetime/test.esp8266-ard.yaml b/tests/components/datetime/test.esp8266-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.esp8266-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/components/datetime/test.ln882x-ard.yaml b/tests/components/datetime/test.ln882x-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.ln882x-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/components/datetime/test.rp2040-ard.yaml b/tests/components/datetime/test.rp2040-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.rp2040-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml From be51093a7e1fae9376aab7c5ce398ba419b07d73 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 17:02:18 -1000 Subject: [PATCH 026/201] [ci][tests] Remove all redundant ESP32-C3 Arduino tests (#11154) --- .../ac_dimmer/test.esp32-c3-ard.yaml | 5 ----- .../captive_portal/test.esp32-c3-ard.yaml | 1 - tests/components/dsmr/test.esp32-c3-ard.yaml | 6 ------ .../esp32_ble/test.esp32-c3-ard.yaml | 1 - .../heatpumpir/test.esp32-c3-ard.yaml | 4 ---- tests/components/i2c/test.esp32-c3-ard.yaml | 5 ----- tests/components/midea/test.esp32-c3-ard.yaml | 6 ------ .../neopixelbus/test.esp32-c3-ard.yaml | 19 ------------------- .../speaker/audio_dac.esp32-c3-ard.yaml | 9 --------- .../components/speaker/test.esp32-c3-ard.yaml | 9 --------- tests/components/spi/test.esp32-c3-ard.yaml | 6 ------ tests/components/wled/test.esp32-c3-ard.yaml | 16 ---------------- 12 files changed, 87 deletions(-) delete mode 100644 tests/components/ac_dimmer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/captive_portal/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dsmr/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/heatpumpir/test.esp32-c3-ard.yaml delete mode 100644 tests/components/i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/midea/test.esp32-c3-ard.yaml delete mode 100644 tests/components/neopixelbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/speaker/audio_dac.esp32-c3-ard.yaml delete mode 100644 tests/components/speaker/test.esp32-c3-ard.yaml delete mode 100644 tests/components/spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wled/test.esp32-c3-ard.yaml diff --git a/tests/components/ac_dimmer/test.esp32-c3-ard.yaml b/tests/components/ac_dimmer/test.esp32-c3-ard.yaml deleted file mode 100644 index 5d2d42b713..0000000000 --- a/tests/components/ac_dimmer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - gate_pin: GPIO5 - zero_cross_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/captive_portal/test.esp32-c3-ard.yaml b/tests/components/captive_portal/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/captive_portal/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dsmr/test.esp32-c3-ard.yaml b/tests/components/dsmr/test.esp32-c3-ard.yaml deleted file mode 100644 index 72998506ac..0000000000 --- a/tests/components/dsmr/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - request_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/esp32_ble/test.esp32-c3-ard.yaml b/tests/components/esp32_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/heatpumpir/test.esp32-c3-ard.yaml b/tests/components/heatpumpir/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/heatpumpir/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/i2c/test.esp32-c3-ard.yaml b/tests/components/i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/midea/test.esp32-c3-ard.yaml b/tests/components/midea/test.esp32-c3-ard.yaml deleted file mode 100644 index a879df3ca4..0000000000 --- a/tests/components/midea/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/neopixelbus/test.esp32-c3-ard.yaml b/tests/components/neopixelbus/test.esp32-c3-ard.yaml deleted file mode 100644 index f2b53ab1e9..0000000000 --- a/tests/components/neopixelbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,19 +0,0 @@ -light: - - platform: neopixelbus - id: addr3 - name: Neopixelbus Light - gamma_correct: 2.8 - color_correct: [0.0, 0.0, 0.0, 0.0] - default_transition_length: 10s - effects: - - addressable_flicker: - name: Flicker Effect With Custom Values - update_interval: 16ms - intensity: 5% - type: GRBW - variant: SK6812 - method: - type: esp32_rmt - channel: 0 - num_leds: 5 - pin: 4 diff --git a/tests/components/speaker/audio_dac.esp32-c3-ard.yaml b/tests/components/speaker/audio_dac.esp32-c3-ard.yaml deleted file mode 100644 index 1004d2143e..0000000000 --- a/tests/components/speaker/audio_dac.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - i2s_bclk_pin: GPIO7 - i2s_lrclk_pin: GPIO6 - i2s_mclk_pin: GPIO9 - i2s_dout_pin: GPIO8 - -<<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/test.esp32-c3-ard.yaml b/tests/components/speaker/test.esp32-c3-ard.yaml deleted file mode 100644 index ddcf051fab..0000000000 --- a/tests/components/speaker/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - i2s_bclk_pin: GPIO7 - i2s_lrclk_pin: GPIO6 - i2s_mclk_pin: GPIO9 - i2s_dout_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/spi/test.esp32-c3-ard.yaml b/tests/components/spi/test.esp32-c3-ard.yaml deleted file mode 100644 index bfa12b1755..0000000000 --- a/tests/components/spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wled/test.esp32-c3-ard.yaml b/tests/components/wled/test.esp32-c3-ard.yaml deleted file mode 100644 index 156b31181e..0000000000 --- a/tests/components/wled/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,16 +0,0 @@ -wifi: - ssid: MySSID - password: password1 - -wled: - -light: - - platform: esp32_rmt_led_strip - id: led_matrix_32x8 - default_transition_length: 500ms - chipset: ws2812 - rgb_order: GRB - num_leds: 256 - pin: 2 - effects: - - wled: From 6abc2efd961dda4af0332eabd5335453d7cd71d1 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 10 Oct 2025 11:18:57 -1000 Subject: [PATCH 027/201] [json] Fix PSRAM allocator dangling pointer crash (#11165) --- esphome/components/json/json_util.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/esphome/components/json/json_util.cpp b/esphome/components/json/json_util.cpp index dbdf6e3486..869d29f92e 100644 --- a/esphome/components/json/json_util.cpp +++ b/esphome/components/json/json_util.cpp @@ -8,6 +8,13 @@ namespace json { static const char *const TAG = "json"; +#ifdef USE_PSRAM +// Global allocator that outlives all JsonDocuments returned by parse_json() +// This prevents dangling pointer issues when JsonDocuments are returned from functions +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) - Must be mutable for ArduinoJson::Allocator +static SpiRamAllocator global_json_allocator; +#endif + std::string build_json(const json_build_t &f) { // NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson JsonBuilder builder; @@ -33,8 +40,7 @@ JsonDocument parse_json(const uint8_t *data, size_t len) { return JsonObject(); // return unbound object } #ifdef USE_PSRAM - auto doc_allocator = SpiRamAllocator(); - JsonDocument json_document(&doc_allocator); + JsonDocument json_document(&global_json_allocator); #else JsonDocument json_document; #endif From b54beb357a76eb655f919bf2b2f2cc798335012b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Oct 2025 13:46:27 -1000 Subject: [PATCH 028/201] Bump github/codeql-action from 4.30.7 to 4.30.8 (#11163) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 59f58b7236..9aa7856116 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -58,7 +58,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@e296a935590eb16afc0c0108289f68c87e2a89a5 # v4.30.7 + uses: github/codeql-action/init@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} @@ -86,6 +86,6 @@ jobs: exit 1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@e296a935590eb16afc0c0108289f68c87e2a89a5 # v4.30.7 + uses: github/codeql-action/analyze@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8 with: category: "/language:${{matrix.language}}" From cb602c9b1a33f04877d40e976f1d7310901cc3a4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 05:47:23 -1000 Subject: [PATCH 029/201] [esp32_ble] Partial revert of #10862 - Fix GATT client notifications (#11171) --- esphome/components/esp32_ble/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index 15afb22ab8..05ef936baf 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -332,12 +332,16 @@ def final_validation(config): # Check if BLE Server is needed has_ble_server = "esp32_ble_server" in full_config - add_idf_sdkconfig_option("CONFIG_BT_GATTS_ENABLE", has_ble_server) # Check if BLE Client is needed (via esp32_ble_tracker or esp32_ble_client) has_ble_client = ( "esp32_ble_tracker" in full_config or "esp32_ble_client" in full_config ) + + # ESP-IDF BLE stack requires GATT Server to be enabled when GATT Client is enabled + # This is an internal dependency in the Bluedroid stack (tested ESP-IDF 5.4.2-5.5.1) + # See: https://github.com/espressif/esp-idf/issues/17724 + add_idf_sdkconfig_option("CONFIG_BT_GATTS_ENABLE", has_ble_server or has_ble_client) add_idf_sdkconfig_option("CONFIG_BT_GATTC_ENABLE", has_ble_client) # Handle max_connections: check for deprecated location in esp32_ble_tracker From 9bd9b043c83407cf3dcd12b4eda7bdebf6c4da12 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 05:47:42 -1000 Subject: [PATCH 030/201] [esp32_ble_tracker] Replace std::vector with StaticVector for listeners and clients (#11173) --- .../components/esp32_ble_tracker/__init__.py | 30 +++++++++++++++++++ .../esp32_ble_tracker/esp32_ble_tracker.cpp | 30 ++++++++++++++++++- .../esp32_ble_tracker/esp32_ble_tracker.h | 10 +++++-- esphome/core/defines.h | 2 ++ 4 files changed, 69 insertions(+), 3 deletions(-) diff --git a/esphome/components/esp32_ble_tracker/__init__.py b/esphome/components/esp32_ble_tracker/__init__.py index 247496ccd9..8c7f3e3930 100644 --- a/esphome/components/esp32_ble_tracker/__init__.py +++ b/esphome/components/esp32_ble_tracker/__init__.py @@ -1,5 +1,6 @@ from __future__ import annotations +from dataclasses import dataclass import logging from esphome import automation @@ -52,9 +53,19 @@ class BLEFeatures(StrEnum): ESP_BT_DEVICE = "ESP_BT_DEVICE" +# Dataclass for registration counts +@dataclass +class RegistrationCounts: + listeners: int = 0 + clients: int = 0 + + # Set to track which features are needed by components _required_features: set[BLEFeatures] = set() +# Track registration counts for StaticVector sizing +_registration_counts = RegistrationCounts() + def register_ble_features(features: set[BLEFeatures]) -> None: """Register BLE features that a component needs. @@ -257,12 +268,14 @@ async def to_code(config): register_ble_features({BLEFeatures.ESP_BT_DEVICE}) for conf in config.get(CONF_ON_BLE_ADVERTISE, []): + _registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) if CONF_MAC_ADDRESS in conf: addr_list = [it.as_hex for it in conf[CONF_MAC_ADDRESS]] cg.add(trigger.set_addresses(addr_list)) await automation.build_automation(trigger, [(ESPBTDeviceConstRef, "x")], conf) for conf in config.get(CONF_ON_BLE_SERVICE_DATA_ADVERTISE, []): + _registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) if len(conf[CONF_SERVICE_UUID]) == len(bt_uuid16_format): cg.add(trigger.set_service_uuid16(as_hex(conf[CONF_SERVICE_UUID]))) @@ -275,6 +288,7 @@ async def to_code(config): cg.add(trigger.set_address(conf[CONF_MAC_ADDRESS].as_hex)) await automation.build_automation(trigger, [(adv_data_t_const_ref, "x")], conf) for conf in config.get(CONF_ON_BLE_MANUFACTURER_DATA_ADVERTISE, []): + _registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) if len(conf[CONF_MANUFACTURER_ID]) == len(bt_uuid16_format): cg.add(trigger.set_manufacturer_uuid16(as_hex(conf[CONF_MANUFACTURER_ID]))) @@ -287,6 +301,7 @@ async def to_code(config): cg.add(trigger.set_address(conf[CONF_MAC_ADDRESS].as_hex)) await automation.build_automation(trigger, [(adv_data_t_const_ref, "x")], conf) for conf in config.get(CONF_ON_SCAN_END, []): + _registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) await automation.build_automation(trigger, [], conf) @@ -320,6 +335,17 @@ async def _add_ble_features(): cg.add_define("USE_ESP32_BLE_DEVICE") cg.add_define("USE_ESP32_BLE_UUID") + # Add defines for StaticVector sizing based on registration counts + # Only define if count > 0 to avoid allocating unnecessary memory + if _registration_counts.listeners > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT", _registration_counts.listeners + ) + if _registration_counts.clients > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT", _registration_counts.clients + ) + ESP32_BLE_START_SCAN_ACTION_SCHEMA = cv.Schema( { @@ -369,6 +395,7 @@ async def register_ble_device( var: cg.SafeExpType, config: ConfigType ) -> cg.SafeExpType: register_ble_features({BLEFeatures.ESP_BT_DEVICE}) + _registration_counts.listeners += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_listener(var)) return var @@ -376,6 +403,7 @@ async def register_ble_device( async def register_client(var: cg.SafeExpType, config: ConfigType) -> cg.SafeExpType: register_ble_features({BLEFeatures.ESP_BT_DEVICE}) + _registration_counts.clients += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_client(var)) return var @@ -389,6 +417,7 @@ async def register_raw_ble_device( This does NOT register the ESP_BT_DEVICE feature, meaning ESPBTDevice will not be compiled in if this is the only registration method used. """ + _registration_counts.listeners += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_listener(var)) return var @@ -402,6 +431,7 @@ async def register_raw_client( This does NOT register the ESP_BT_DEVICE feature, meaning ESPBTDevice will not be compiled in if this is the only registration method used. """ + _registration_counts.clients += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_client(var)) return var diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index 83f59d492e..d07e67825b 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -74,9 +74,11 @@ void ESP32BLETracker::setup() { [this](ota::OTAState state, float progress, uint8_t error, ota::OTAComponent *comp) { if (state == ota::OTA_STARTED) { this->stop_scan(); +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { client->disconnect(); } +#endif } }); #endif @@ -206,8 +208,10 @@ void ESP32BLETracker::start_scan_(bool first) { this->set_scanner_state_(ScannerState::STARTING); ESP_LOGD(TAG, "Starting scan, set scanner state to STARTING."); if (!first) { +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT for (auto *listener : this->listeners_) listener->on_scan_end(); +#endif } #ifdef USE_ESP32_BLE_DEVICE this->already_discovered_.clear(); @@ -236,20 +240,25 @@ void ESP32BLETracker::start_scan_(bool first) { } void ESP32BLETracker::register_client(ESPBTClient *client) { +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT client->app_id = ++this->app_id_; this->clients_.push_back(client); this->recalculate_advertisement_parser_types(); +#endif } void ESP32BLETracker::register_listener(ESPBTDeviceListener *listener) { +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT listener->set_parent(this); this->listeners_.push_back(listener); this->recalculate_advertisement_parser_types(); +#endif } void ESP32BLETracker::recalculate_advertisement_parser_types() { this->raw_advertisements_ = false; this->parse_advertisements_ = false; +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT for (auto *listener : this->listeners_) { if (listener->get_advertisement_parser_type() == AdvertisementParserType::PARSED_ADVERTISEMENTS) { this->parse_advertisements_ = true; @@ -257,6 +266,8 @@ void ESP32BLETracker::recalculate_advertisement_parser_types() { this->raw_advertisements_ = true; } } +#endif +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { if (client->get_advertisement_parser_type() == AdvertisementParserType::PARSED_ADVERTISEMENTS) { this->parse_advertisements_ = true; @@ -264,6 +275,7 @@ void ESP32BLETracker::recalculate_advertisement_parser_types() { this->raw_advertisements_ = true; } } +#endif } void ESP32BLETracker::gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) { @@ -282,10 +294,12 @@ void ESP32BLETracker::gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_ga default: break; } - // Forward all events to clients (scan results are handled separately via gap_scan_event_handler) + // Forward all events to clients (scan results are handled separately via gap_scan_event_handler) +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { client->gap_event_handler(event, param); } +#endif } void ESP32BLETracker::gap_scan_event_handler(const BLEScanResult &scan_result) { @@ -348,9 +362,11 @@ void ESP32BLETracker::gap_scan_stop_complete_(const esp_ble_gap_cb_param_t::ble_ void ESP32BLETracker::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param) { +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { client->gattc_event_handler(event, gattc_if, param); } +#endif } void ESP32BLETracker::set_scanner_state_(ScannerState state) { @@ -704,12 +720,16 @@ bool ESPBTDevice::resolve_irk(const uint8_t *irk) const { void ESP32BLETracker::process_scan_result_(const BLEScanResult &scan_result) { // Process raw advertisements if (this->raw_advertisements_) { +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT for (auto *listener : this->listeners_) { listener->parse_devices(&scan_result, 1); } +#endif +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { client->parse_devices(&scan_result, 1); } +#endif } // Process parsed advertisements @@ -719,16 +739,20 @@ void ESP32BLETracker::process_scan_result_(const BLEScanResult &scan_result) { device.parse_scan_rst(scan_result); bool found = false; +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT for (auto *listener : this->listeners_) { if (listener->parse_device(device)) found = true; } +#endif +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { if (client->parse_device(device)) { found = true; } } +#endif if (!found && !this->scan_continuous_) { this->print_bt_device_info(device); @@ -745,8 +769,10 @@ void ESP32BLETracker::cleanup_scan_state_(bool is_stop_complete) { // Reset timeout state machine instead of cancelling scheduler timeout this->scan_timeout_state_ = ScanTimeoutState::INACTIVE; +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT for (auto *listener : this->listeners_) listener->on_scan_end(); +#endif this->set_scanner_state_(ScannerState::IDLE); } @@ -770,6 +796,7 @@ void ESP32BLETracker::handle_scanner_failure_() { void ESP32BLETracker::try_promote_discovered_clients_() { // Only promote the first discovered client to avoid multiple simultaneous connections +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { if (client->state() != ClientState::DISCOVERED) { continue; @@ -791,6 +818,7 @@ void ESP32BLETracker::try_promote_discovered_clients_() { client->connect(); break; } +#endif } const char *ESP32BLETracker::scanner_state_to_string_(ScannerState state) const { diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h index e53c2ac097..f80f3e2670 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h @@ -302,6 +302,7 @@ class ESP32BLETracker : public Component, /// Count clients in each state ClientStateCounts count_client_states_() const { ClientStateCounts counts; +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT for (auto *client : this->clients_) { switch (client->state()) { case ClientState::DISCONNECTING: @@ -317,12 +318,17 @@ class ESP32BLETracker : public Component, break; } } +#endif return counts; } // Group 1: Large objects (12+ bytes) - vectors and callback manager - std::vector listeners_; - std::vector clients_; +#ifdef ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT + StaticVector listeners_; +#endif +#ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT + StaticVector clients_; +#endif CallbackManager scanner_state_callbacks_; #ifdef USE_ESP32_BLE_DEVICE /// Vector of addresses that have already been printed in print_bt_device_info diff --git a/esphome/core/defines.h b/esphome/core/defines.h index 0f1d1bcf28..955d0f987c 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -175,6 +175,8 @@ #define USE_ESP32_BLE_SERVER_DESCRIPTOR_ON_WRITE #define USE_ESP32_BLE_SERVER_ON_CONNECT #define USE_ESP32_BLE_SERVER_ON_DISCONNECT +#define ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT 1 +#define ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT 1 #define USE_ESP32_CAMERA_JPEG_ENCODER #define USE_I2C #define USE_IMPROV From 6a11700a6b0d7c00d4fe0ab48c30ff93738b99e4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 08:21:37 -1000 Subject: [PATCH 031/201] [mdns] Restore mdns_txt_record() public API for external components (#11158) --- esphome/components/mdns/__init__.py | 85 +++++++++++++++++++++-------- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/esphome/components/mdns/__init__.py b/esphome/components/mdns/__init__.py index 6e148092fe..14e0420ef5 100644 --- a/esphome/components/mdns/__init__.py +++ b/esphome/components/mdns/__init__.py @@ -11,7 +11,7 @@ from esphome.const import ( CONF_SERVICES, PlatformFramework, ) -from esphome.core import CORE, coroutine_with_priority +from esphome.core import CORE, Lambda, coroutine_with_priority from esphome.coroutine import CoroPriority CODEOWNERS = ["@esphome/core"] @@ -58,9 +58,64 @@ CONFIG_SCHEMA = cv.All( ) +def mdns_txt_record(key: str, value: str) -> cg.RawExpression: + """Create a mDNS TXT record. + + Public API for external components. Do not remove. + + Args: + key: The TXT record key + value: The TXT record value (static string only) + + Returns: + A RawExpression representing a MDNSTXTRecord struct + """ + return cg.RawExpression( + f"{{MDNS_STR({cg.safe_exp(key)}), MDNS_STR({cg.safe_exp(value)})}}" + ) + + +async def _mdns_txt_record_templated( + mdns_comp: cg.Pvariable, key: str, value: Lambda | str +) -> cg.RawExpression: + """Create a mDNS TXT record with support for templated values. + + Internal helper function. + + Args: + mdns_comp: The MDNSComponent instance (from cg.get_variable()) + key: The TXT record key + value: The TXT record value (can be a static string or a lambda template) + + Returns: + A RawExpression representing a MDNSTXTRecord struct + """ + if not cg.is_template(value): + # It's a static string - use directly in flash, no need to store in vector + return mdns_txt_record(key, value) + # It's a lambda - evaluate and store using helper + templated_value = await cg.templatable(value, [], cg.std_string) + safe_key = cg.safe_exp(key) + dynamic_call = f"{mdns_comp}->add_dynamic_txt_value(({templated_value})())" + return cg.RawExpression(f"{{MDNS_STR({safe_key}), MDNS_STR({dynamic_call})}}") + + def mdns_service( - service: str, proto: str, port: int, txt_records: list[dict[str, str]] -): + service: str, proto: str, port: int, txt_records: list[cg.RawExpression] +) -> cg.StructInitializer: + """Create a mDNS service. + + Public API for external components. Do not remove. + + Args: + service: Service name (e.g., "_http") + proto: Protocol (e.g., "_tcp" or "_udp") + port: Port number + txt_records: List of MDNSTXTRecord expressions + + Returns: + A StructInitializer representing a MDNSService struct + """ return cg.StructInitializer( MDNSService, ("service_type", cg.RawExpression(f"MDNS_STR({cg.safe_exp(service)})")), @@ -120,26 +175,10 @@ async def to_code(config): await cg.register_component(var, config) for service in config[CONF_SERVICES]: - # Build the txt records list for the service - txt_records = [] - for txt_key, txt_value in service[CONF_TXT].items(): - if cg.is_template(txt_value): - # It's a lambda - evaluate and store using helper - templated_value = await cg.templatable(txt_value, [], cg.std_string) - safe_key = cg.safe_exp(txt_key) - dynamic_call = f"{var}->add_dynamic_txt_value(({templated_value})())" - txt_records.append( - cg.RawExpression( - f"{{MDNS_STR({safe_key}), MDNS_STR({dynamic_call})}}" - ) - ) - else: - # It's a static string - use directly in flash, no need to store in vector - txt_records.append( - cg.RawExpression( - f"{{MDNS_STR({cg.safe_exp(txt_key)}), MDNS_STR({cg.safe_exp(txt_value)})}}" - ) - ) + txt_records = [ + await _mdns_txt_record_templated(var, txt_key, txt_value) + for txt_key, txt_value in service[CONF_TXT].items() + ] exp = mdns_service( service[CONF_SERVICE], From dcf2697a2a1413ca159568aec1c2b213f00cd313 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 08:21:45 -1000 Subject: [PATCH 032/201] Group component tests to reduce CI time (#11134) --- .ai/instructions.md | 5 + .github/workflows/ci.yml | 96 +- esphome/__main__.py | 7 + esphome/components/esp32_ble/__init__.py | 4 + esphome/components/uart/__init__.py | 2 +- esphome/core/__init__.py | 2 + esphome/core/entity_helpers.py | 15 +- esphome/pins.py | 4 +- esphome/platformio_api.py | 31 + script/analyze_component_buses.py | 523 ++++++++++ script/merge_component_configs.py | 379 +++++++ script/split_components_for_ci.py | 268 +++++ script/test_build_components | 107 +- script/test_build_components.py | 931 ++++++++++++++++++ script/test_component_grouping.py | 227 +++++ tests/components/a01nyub/common.yaml | 7 - .../components/a01nyub/test.esp32-c3-idf.yaml | 3 + tests/components/a01nyub/test.esp32-idf.yaml | 7 +- .../components/a01nyub/test.esp8266-ard.yaml | 5 +- tests/components/a01nyub/test.rp2040-ard.yaml | 5 +- tests/components/a02yyuw/common.yaml | 7 - .../components/a02yyuw/test.esp32-c3-idf.yaml | 3 + tests/components/a02yyuw/test.esp32-idf.yaml | 7 +- .../components/a02yyuw/test.esp8266-ard.yaml | 5 +- tests/components/a02yyuw/test.rp2040-ard.yaml | 5 +- tests/components/a4988/test.esp32-idf.yaml | 2 +- tests/components/a4988/test.esp8266-ard.yaml | 2 +- .../components/ac_dimmer/test.esp32-ard.yaml | 4 +- .../ac_dimmer/test.esp8266-ard.yaml | 4 +- tests/components/adc/common.yaml | 11 - tests/components/adc/test.bk72xx-ard.yaml | 14 +- tests/components/adc/test.esp32-c3-idf.yaml | 16 +- tests/components/adc/test.esp32-idf.yaml | 14 +- tests/components/adc/test.esp32-p4-idf.yaml | 16 +- tests/components/adc/test.esp32-s2-idf.yaml | 16 +- tests/components/adc/test.esp32-s3-idf.yaml | 16 +- tests/components/adc/test.esp8266-ard.yaml | 14 +- tests/components/adc/test.ln882x-ard.yaml | 16 +- tests/components/adc/test.rp2040-ard.yaml | 14 +- tests/components/adc128s102/common.yaml | 6 - .../adc128s102/test.esp32-c3-idf.yaml | 6 +- .../components/adc128s102/test.esp32-idf.yaml | 6 +- .../adc128s102/test.esp8266-ard.yaml | 9 +- .../adc128s102/test.rp2040-ard.yaml | 3 + tests/components/ade7880/common.yaml | 7 +- .../components/ade7880/test.esp32-c3-idf.yaml | 7 +- tests/components/ade7880/test.esp32-idf.yaml | 7 +- .../components/ade7880/test.esp8266-ard.yaml | 5 +- tests/components/ade7880/test.rp2040-ard.yaml | 5 +- tests/components/ade7953_i2c/common.yaml | 9 +- .../ade7953_i2c/test.esp32-c3-idf.yaml | 5 +- .../ade7953_i2c/test.esp32-idf.yaml | 5 +- .../ade7953_i2c/test.esp8266-ard.yaml | 5 +- .../ade7953_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ade7953_spi/common.yaml | 6 - .../ade7953_spi/test.esp32-c3-idf.yaml | 5 +- .../ade7953_spi/test.esp32-idf.yaml | 6 +- .../ade7953_spi/test.esp8266-ard.yaml | 9 +- .../ade7953_spi/test.rp2040-ard.yaml | 3 + tests/components/ads1115/common.yaml | 6 +- .../components/ads1115/test.esp32-c3-idf.yaml | 5 +- tests/components/ads1115/test.esp32-idf.yaml | 5 +- .../components/ads1115/test.esp8266-ard.yaml | 5 +- tests/components/ads1115/test.rp2040-ard.yaml | 5 +- tests/components/ags10/common.yaml | 6 - tests/components/ags10/test.esp32-c3-idf.yaml | 5 +- tests/components/ags10/test.esp32-idf.yaml | 5 +- tests/components/ags10/test.esp8266-ard.yaml | 5 +- tests/components/aht10/common.yaml | 6 +- tests/components/aht10/test.esp32-c3-idf.yaml | 5 +- tests/components/aht10/test.esp32-idf.yaml | 5 +- tests/components/aht10/test.esp8266-ard.yaml | 5 +- tests/components/aht10/test.rp2040-ard.yaml | 5 +- tests/components/aic3204/common.yaml | 6 +- .../components/aic3204/test.esp32-c3-idf.yaml | 5 +- tests/components/aic3204/test.esp32-idf.yaml | 5 +- .../components/aic3204/test.esp8266-ard.yaml | 5 +- .../test.esp32-c3-idf.yaml | 3 + .../airthings_wave_mini/test.esp32-idf.yaml | 3 + .../test.esp32-c3-idf.yaml | 3 + .../airthings_wave_plus/test.esp32-idf.yaml | 3 + .../components/alpha3/test.esp32-c3-idf.yaml | 3 + tests/components/alpha3/test.esp32-idf.yaml | 3 + tests/components/am2315c/common.yaml | 6 +- .../components/am2315c/test.esp32-c3-idf.yaml | 5 +- tests/components/am2315c/test.esp32-idf.yaml | 5 +- .../components/am2315c/test.esp8266-ard.yaml | 5 +- tests/components/am2315c/test.rp2040-ard.yaml | 5 +- tests/components/am2320/common.yaml | 6 +- .../components/am2320/test.esp32-c3-idf.yaml | 5 +- tests/components/am2320/test.esp32-idf.yaml | 5 +- tests/components/am2320/test.esp8266-ard.yaml | 5 +- tests/components/am2320/test.rp2040-ard.yaml | 5 +- tests/components/am43/test.esp32-c3-idf.yaml | 3 + tests/components/am43/test.esp32-idf.yaml | 3 + .../animation/test.esp32-c3-idf.yaml | 12 +- .../components/animation/test.esp32-idf.yaml | 12 +- .../animation/test.esp8266-ard.yaml | 12 +- .../components/animation/test.rp2040-ard.yaml | 12 +- tests/components/anova/test.esp32-c3-idf.yaml | 3 + tests/components/anova/test.esp32-idf.yaml | 3 + tests/components/apds9306/common.yaml | 6 +- .../apds9306/test.esp32-c3-idf.yaml | 5 +- tests/components/apds9306/test.esp32-idf.yaml | 5 +- .../components/apds9306/test.esp8266-ard.yaml | 5 +- .../components/apds9306/test.rp2040-ard.yaml | 5 +- tests/components/apds9960/common.yaml | 6 +- .../apds9960/test.esp32-c3-idf.yaml | 5 +- tests/components/apds9960/test.esp32-idf.yaml | 5 +- .../components/apds9960/test.esp8266-ard.yaml | 5 +- .../components/apds9960/test.rp2040-ard.yaml | 5 +- tests/components/api/common-base.yaml | 89 ++ tests/components/api/common.yaml | 88 +- .../test-dynamic-encryption.esp32-idf.yaml | 7 +- tests/components/as3935_i2c/common.yaml | 6 +- .../as3935_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/as3935_i2c/test.esp32-idf.yaml | 5 +- .../as3935_i2c/test.esp8266-ard.yaml | 5 +- .../as3935_i2c/test.rp2040-ard.yaml | 5 +- tests/components/as3935_spi/common.yaml | 6 - .../as3935_spi/test.esp32-c3-idf.yaml | 5 +- .../components/as3935_spi/test.esp32-idf.yaml | 6 +- .../as3935_spi/test.esp8266-ard.yaml | 9 +- .../as3935_spi/test.rp2040-ard.yaml | 3 + tests/components/as5600/common.yaml | 6 +- .../components/as5600/test.esp32-c3-idf.yaml | 5 +- tests/components/as5600/test.esp32-idf.yaml | 5 +- tests/components/as5600/test.esp8266-ard.yaml | 5 +- tests/components/as5600/test.rp2040-ard.yaml | 5 +- tests/components/as7341/common.yaml | 6 +- .../components/as7341/test.esp32-c3-idf.yaml | 5 +- tests/components/as7341/test.esp32-idf.yaml | 5 +- tests/components/as7341/test.esp8266-ard.yaml | 5 +- tests/components/as7341/test.rp2040-ard.yaml | 5 +- tests/components/at581x/common.yaml | 6 +- .../components/at581x/test.esp32-c3-idf.yaml | 5 +- tests/components/at581x/test.esp32-idf.yaml | 5 +- tests/components/at581x/test.esp8266-ard.yaml | 5 +- tests/components/at581x/test.rp2040-ard.yaml | 5 +- .../atc_mithermometer/test.esp32-c3-idf.yaml | 3 + .../atc_mithermometer/test.esp32-idf.yaml | 3 + tests/components/atm90e26/common.yaml | 6 - .../atm90e26/test.esp32-c3-idf.yaml | 5 +- tests/components/atm90e26/test.esp32-idf.yaml | 6 +- .../components/atm90e26/test.esp8266-ard.yaml | 9 +- .../components/atm90e26/test.rp2040-ard.yaml | 3 + tests/components/atm90e32/common.yaml | 6 - .../atm90e32/test.esp32-c3-idf.yaml | 5 +- tests/components/atm90e32/test.esp32-idf.yaml | 6 +- .../components/atm90e32/test.esp8266-ard.yaml | 9 +- .../components/atm90e32/test.rp2040-ard.yaml | 3 + tests/components/axs15231/common.yaml | 10 +- .../axs15231/test.esp32-c3-idf.yaml | 3 + tests/components/axs15231/test.esp32-idf.yaml | 3 + .../components/axs15231/test.esp8266-ard.yaml | 8 +- .../components/axs15231/test.rp2040-ard.yaml | 3 + .../b_parasite/test.esp32-c3-idf.yaml | 3 + .../components/b_parasite/test.esp32-idf.yaml | 3 + .../components/bedjet/test.esp32-c3-idf.yaml | 3 + tests/components/bedjet/test.esp32-idf.yaml | 3 + tests/components/bh1750/common.yaml | 6 +- .../components/bh1750/test.esp32-c3-idf.yaml | 5 +- tests/components/bh1750/test.esp32-idf.yaml | 5 +- tests/components/bh1750/test.esp8266-ard.yaml | 5 +- tests/components/bh1750/test.rp2040-ard.yaml | 5 +- tests/components/bl0906/common.yaml | 6 - .../components/bl0906/test.esp32-c3-idf.yaml | 5 +- tests/components/bl0906/test.esp32-idf.yaml | 5 +- tests/components/bl0906/test.esp8266-ard.yaml | 3 + tests/components/bl0906/test.rp2040-ard.yaml | 3 + tests/components/bl0939/common.yaml | 6 - .../components/bl0939/test.esp32-c3-idf.yaml | 4 +- tests/components/bl0939/test.esp32-idf.yaml | 3 + tests/components/bl0939/test.esp8266-ard.yaml | 3 + tests/components/bl0939/test.rp2040-ard.yaml | 3 + tests/components/bl0940/common.yaml | 6 - .../components/bl0940/test.esp32-c3-idf.yaml | 4 +- tests/components/bl0940/test.esp32-idf.yaml | 3 + tests/components/bl0940/test.esp8266-ard.yaml | 3 + tests/components/bl0940/test.rp2040-ard.yaml | 3 + tests/components/bl0942/common.yaml | 6 - tests/components/bl0942/test.bk72xx-ard.yaml | 5 +- .../components/bl0942/test.esp32-c3-idf.yaml | 4 +- tests/components/bl0942/test.esp32-idf.yaml | 3 + tests/components/bl0942/test.esp8266-ard.yaml | 3 + tests/components/bl0942/test.rp2040-ard.yaml | 3 + .../ble_client/test.esp32-c3-idf.yaml | 3 + .../components/ble_client/test.esp32-idf.yaml | 3 + .../ble_presence/test.esp32-c3-idf.yaml | 3 + .../ble_presence/test.esp32-idf.yaml | 3 + .../ble_rssi/test.esp32-c3-idf.yaml | 3 + tests/components/ble_rssi/test.esp32-idf.yaml | 3 + .../ble_scanner/test.esp32-c3-idf.yaml | 3 + .../ble_scanner/test.esp32-idf.yaml | 3 + tests/components/bme280_i2c/common.yaml | 7 +- .../bme280_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/bme280_i2c/test.esp32-idf.yaml | 5 +- .../bme280_i2c/test.esp8266-ard.yaml | 5 +- .../bme280_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bme280_spi/common.yaml | 7 - .../bme280_spi/test.esp32-c3-idf.yaml | 5 +- .../components/bme280_spi/test.esp32-idf.yaml | 6 +- .../bme280_spi/test.esp8266-ard.yaml | 9 +- .../bme280_spi/test.rp2040-ard.yaml | 3 + tests/components/bme680/common.yaml | 6 +- .../components/bme680/test.esp32-c3-idf.yaml | 5 +- tests/components/bme680/test.esp32-idf.yaml | 5 +- tests/components/bme680/test.esp8266-ard.yaml | 5 +- tests/components/bme680/test.rp2040-ard.yaml | 5 +- tests/components/bme680_bsec/common.yaml | 6 +- .../bme680_bsec/test.esp32-ard.yaml | 5 +- .../bme680_bsec/test.esp8266-ard.yaml | 5 +- tests/components/bme68x_bsec2_i2c/common.yaml | 6 +- .../bme68x_bsec2_i2c/test.esp32-c3-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp32-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp32-s2-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp32-s3-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp8266-ard.yaml | 5 +- .../bme68x_bsec2_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bmi160/common.yaml | 6 +- .../components/bmi160/test.esp32-c3-idf.yaml | 5 +- tests/components/bmi160/test.esp32-idf.yaml | 5 +- tests/components/bmi160/test.esp8266-ard.yaml | 5 +- tests/components/bmi160/test.rp2040-ard.yaml | 5 +- tests/components/bmp085/common.yaml | 6 +- .../components/bmp085/test.esp32-c3-idf.yaml | 5 +- tests/components/bmp085/test.esp32-idf.yaml | 5 +- tests/components/bmp085/test.esp8266-ard.yaml | 5 +- tests/components/bmp085/test.rp2040-ard.yaml | 5 +- tests/components/bmp280_i2c/common.yaml | 7 +- .../bmp280_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/bmp280_i2c/test.esp32-idf.yaml | 5 +- .../bmp280_i2c/test.esp8266-ard.yaml | 5 +- .../bmp280_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bmp280_spi/common.yaml | 7 - .../bmp280_spi/test.esp32-c3-idf.yaml | 5 +- .../components/bmp280_spi/test.esp32-idf.yaml | 6 +- .../bmp280_spi/test.esp8266-ard.yaml | 9 +- .../bmp280_spi/test.rp2040-ard.yaml | 3 + tests/components/bmp3xx_i2c/common.yaml | 7 +- .../bmp3xx_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/bmp3xx_i2c/test.esp32-idf.yaml | 5 +- .../bmp3xx_i2c/test.esp8266-ard.yaml | 5 +- .../bmp3xx_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bmp3xx_spi/common.yaml | 7 - .../bmp3xx_spi/test.esp32-c3-idf.yaml | 5 +- .../components/bmp3xx_spi/test.esp32-idf.yaml | 6 +- .../bmp3xx_spi/test.esp8266-ard.yaml | 9 +- .../bmp3xx_spi/test.rp2040-ard.yaml | 3 + tests/components/bmp581/common.yaml | 6 +- .../components/bmp581/test.esp32-c3-idf.yaml | 5 +- tests/components/bmp581/test.esp32-idf.yaml | 5 +- tests/components/bmp581/test.esp8266-ard.yaml | 5 +- tests/components/bmp581/test.rp2040-ard.yaml | 5 +- tests/components/bp1658cj/test.esp32-idf.yaml | 4 +- .../components/bp1658cj/test.esp8266-ard.yaml | 4 +- tests/components/bp5758d/test.esp32-idf.yaml | 4 +- .../components/bp5758d/test.esp8266-ard.yaml | 4 +- tests/components/camera/common.yaml | 20 +- tests/components/camera/test.esp32-idf.yaml | 3 + .../camera_encoder/test.esp32-idf.yaml | 3 + tests/components/canbus/test.esp32-idf.yaml | 3 + tests/components/cap1188/common.yaml | 6 +- .../components/cap1188/test.esp32-c3-idf.yaml | 5 +- tests/components/cap1188/test.esp32-idf.yaml | 5 +- .../components/cap1188/test.esp8266-ard.yaml | 5 +- tests/components/cap1188/test.rp2040-ard.yaml | 5 +- tests/components/ccs811/common.yaml | 6 +- .../components/ccs811/test.esp32-c3-idf.yaml | 5 +- tests/components/ccs811/test.esp32-idf.yaml | 5 +- tests/components/ccs811/test.esp8266-ard.yaml | 5 +- tests/components/ccs811/test.rp2040-ard.yaml | 5 +- tests/components/ch422g/common.yaml | 1 + .../components/ch422g/test.esp32-c3-idf.yaml | 6 +- tests/components/ch422g/test.esp32-idf.yaml | 6 +- tests/components/ch422g/test.esp8266-ard.yaml | 6 +- tests/components/ch422g/test.rp2040-ard.yaml | 6 +- .../components/chsc6x/test.esp32-c3-idf.yaml | 15 +- tests/components/chsc6x/test.esp32-idf.yaml | 15 +- tests/components/chsc6x/test.rp2040-ard.yaml | 17 +- tests/components/cm1106/common.yaml | 6 - .../components/cm1106/test.esp32-c3-idf.yaml | 4 +- tests/components/cm1106/test.esp32-idf.yaml | 7 +- tests/components/cm1106/test.esp8266-ard.yaml | 7 +- tests/components/cm1106/test.rp2040-ard.yaml | 3 + tests/components/const/common.yaml | 6 - tests/components/const/test.esp32-s3-idf.yaml | 3 + tests/components/cs5460a/common.yaml | 6 - .../components/cs5460a/test.esp32-c3-idf.yaml | 5 +- tests/components/cs5460a/test.esp32-idf.yaml | 6 +- .../components/cs5460a/test.esp8266-ard.yaml | 9 +- tests/components/cs5460a/test.rp2040-ard.yaml | 3 + tests/components/cse7761/common.yaml | 6 - .../components/cse7761/test.esp32-c3-idf.yaml | 4 +- tests/components/cse7761/test.esp32-idf.yaml | 3 + .../components/cse7761/test.esp8266-ard.yaml | 3 + tests/components/cse7761/test.rp2040-ard.yaml | 3 + tests/components/cse7766/common.yaml | 7 - .../components/cse7766/test.esp32-c3-idf.yaml | 4 +- tests/components/cse7766/test.esp32-idf.yaml | 5 +- .../components/cse7766/test.esp8266-ard.yaml | 3 + tests/components/cse7766/test.rp2040-ard.yaml | 3 + tests/components/cst226/common.yaml | 14 +- .../components/cst226/test.esp32-c3-idf.yaml | 11 +- tests/components/cst226/test.esp32-idf.yaml | 10 +- tests/components/cst816/common.yaml | 15 +- .../components/cst816/test.esp32-c3-idf.yaml | 11 +- tests/components/cst816/test.esp32-idf.yaml | 10 +- tests/components/current_based/common.yaml | 6 +- .../current_based/test.esp32-c3-idf.yaml | 5 +- .../current_based/test.esp32-idf.yaml | 5 +- .../current_based/test.esp8266-ard.yaml | 5 +- .../current_based/test.rp2040-ard.yaml | 5 +- tests/components/cwww/common.yaml | 8 - tests/components/cwww/test.esp32-c3-idf.yaml | 13 +- tests/components/cwww/test.esp32-idf.yaml | 13 +- tests/components/cwww/test.esp8266-ard.yaml | 8 + tests/components/cwww/test.rp2040-ard.yaml | 8 + tests/components/dac7678/common.yaml | 6 +- .../components/dac7678/test.esp32-c3-idf.yaml | 5 +- tests/components/dac7678/test.esp32-idf.yaml | 5 +- .../components/dac7678/test.esp8266-ard.yaml | 5 +- tests/components/dac7678/test.rp2040-ard.yaml | 5 +- .../daikin_arc/test.esp8266-ard.yaml | 4 +- tests/components/dallas_temp/common.yaml | 2 +- .../dallas_temp/test.esp32-c3-idf.yaml | 6 + .../dallas_temp/test.esp32-idf.yaml | 6 + .../dallas_temp/test.esp8266-ard.yaml | 6 + .../dallas_temp/test.rp2040-ard.yaml | 6 + tests/components/daly_bms/common.yaml | 6 - .../daly_bms/test.esp32-c3-idf.yaml | 4 +- tests/components/daly_bms/test.esp32-idf.yaml | 3 + .../components/daly_bms/test.esp8266-ard.yaml | 3 + .../components/daly_bms/test.rp2040-ard.yaml | 3 + tests/components/dfplayer/common.yaml | 6 - .../dfplayer/test.esp32-c3-idf.yaml | 4 +- tests/components/dfplayer/test.esp32-idf.yaml | 3 + .../components/dfplayer/test.esp8266-ard.yaml | 3 + .../components/dfplayer/test.rp2040-ard.yaml | 3 + tests/components/dfrobot_sen0395/common.yaml | 6 - .../dfrobot_sen0395/test.esp32-c3-idf.yaml | 4 +- .../dfrobot_sen0395/test.esp32-idf.yaml | 3 + .../dfrobot_sen0395/test.esp8266-ard.yaml | 3 + .../dfrobot_sen0395/test.rp2040-ard.yaml | 3 + tests/components/dht12/common.yaml | 6 +- tests/components/dht12/test.esp32-c3-idf.yaml | 5 +- tests/components/dht12/test.esp32-idf.yaml | 5 +- tests/components/dht12/test.esp8266-ard.yaml | 5 +- tests/components/dht12/test.rp2040-ard.yaml | 5 +- tests/components/display/common.yaml | 6 - tests/components/dps310/common.yaml | 6 +- .../components/dps310/test.esp32-c3-idf.yaml | 5 +- tests/components/dps310/test.esp32-idf.yaml | 5 +- tests/components/dps310/test.esp8266-ard.yaml | 5 +- tests/components/dps310/test.rp2040-ard.yaml | 5 +- tests/components/ds1307/common.yaml | 6 +- .../components/ds1307/test.esp32-c3-idf.yaml | 5 +- tests/components/ds1307/test.esp32-idf.yaml | 5 +- tests/components/ds1307/test.esp8266-ard.yaml | 5 +- tests/components/ds1307/test.rp2040-ard.yaml | 5 +- tests/components/ds2484/common.yaml | 7 +- .../components/ds2484/test.esp32-c3-idf.yaml | 5 +- tests/components/ds2484/test.esp32-idf.yaml | 5 +- tests/components/ds2484/test.esp8266-ard.yaml | 5 +- tests/components/ds2484/test.rp2040-ard.yaml | 5 +- tests/components/dsmr/common.yaml | 6 - tests/components/dsmr/test.esp32-ard.yaml | 5 +- tests/components/dsmr/test.esp8266-ard.yaml | 5 +- tests/components/dsmr/test.rp2040-ard.yaml | 5 +- tests/components/ee895/common.yaml | 6 +- tests/components/ee895/test.esp32-c3-idf.yaml | 5 +- tests/components/ee895/test.esp32-idf.yaml | 5 +- tests/components/ee895/test.esp8266-ard.yaml | 5 +- tests/components/ee895/test.rp2040-ard.yaml | 5 +- tests/components/ektf2232/common.yaml | 10 +- .../ektf2232/test.esp32-c3-idf.yaml | 5 +- tests/components/ektf2232/test.esp32-idf.yaml | 5 +- .../components/ektf2232/test.esp8266-ard.yaml | 9 +- .../components/ektf2232/test.rp2040-ard.yaml | 5 +- tests/components/emc2101/common.yaml | 6 +- .../components/emc2101/test.esp32-c3-idf.yaml | 5 +- tests/components/emc2101/test.esp32-idf.yaml | 5 +- .../components/emc2101/test.esp8266-ard.yaml | 5 +- tests/components/emc2101/test.rp2040-ard.yaml | 5 +- tests/components/emmeti/test.esp8266-ard.yaml | 4 +- tests/components/ens160_i2c/common.yaml | 7 +- .../ens160_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/ens160_i2c/test.esp32-idf.yaml | 5 +- .../ens160_i2c/test.esp8266-ard.yaml | 5 +- .../ens160_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ens160_spi/common.yaml | 7 - .../ens160_spi/test.esp32-c3-idf.yaml | 5 +- .../components/ens160_spi/test.esp32-idf.yaml | 6 +- .../ens160_spi/test.esp8266-ard.yaml | 9 +- .../ens160_spi/test.rp2040-ard.yaml | 3 + tests/components/ens210/common.yaml | 6 +- .../components/ens210/test.esp32-c3-idf.yaml | 5 +- tests/components/ens210/test.esp32-idf.yaml | 5 +- tests/components/ens210/test.esp8266-ard.yaml | 5 +- tests/components/ens210/test.rp2040-ard.yaml | 5 +- .../epaper_spi/test.esp32-s3-idf.yaml | 6 +- tests/components/es7210/common.yaml | 6 +- .../components/es7210/test.esp32-c3-idf.yaml | 5 +- tests/components/es7210/test.esp32-idf.yaml | 5 +- tests/components/es7243e/common.yaml | 6 +- .../components/es7243e/test.esp32-c3-idf.yaml | 5 +- tests/components/es7243e/test.esp32-idf.yaml | 5 +- tests/components/es8156/common.yaml | 6 +- .../components/es8156/test.esp32-c3-idf.yaml | 5 +- tests/components/es8156/test.esp32-idf.yaml | 5 +- tests/components/es8156/test.esp8266-ard.yaml | 5 +- tests/components/es8311/common.yaml | 6 +- .../components/es8311/test.esp32-c3-idf.yaml | 5 +- tests/components/es8311/test.esp32-idf.yaml | 5 +- tests/components/es8311/test.esp8266-ard.yaml | 5 +- tests/components/es8388/common.yaml | 6 +- .../components/es8388/test.esp32-c3-idf.yaml | 5 +- tests/components/es8388/test.esp32-idf.yaml | 5 +- tests/components/es8388/test.esp8266-ard.yaml | 5 +- .../esp32_ble_client/test.esp32-c3-idf.yaml | 3 + .../esp32_ble_client/test.esp32-idf.yaml | 3 + .../esp32_ble_tracker/test.esp32-c3-idf.yaml | 3 + .../esp32_ble_tracker/test.esp32-idf.yaml | 3 + tests/components/esp32_camera/common.yaml | 30 +- .../esp32_camera/test.esp32-idf.yaml | 3 + .../esp32_camera_web_server/common.yaml | 29 - .../test.esp32-idf.yaml | 3 + .../esp32_can/test.esp32-c3-idf.yaml | 2 +- .../test.esp32-s3-idf.yaml | 21 +- tests/components/espnow/test.esp32-idf.yaml | 3 + .../ethernet_info/test.esp32-idf.yaml | 3 + .../test.esp32-c3-idf.yaml | 3 + .../test.esp32-idf.yaml | 3 + tests/components/ezo/common.yaml | 6 +- tests/components/ezo/test.esp32-c3-idf.yaml | 5 +- tests/components/ezo/test.esp32-idf.yaml | 5 +- tests/components/ezo/test.esp8266-ard.yaml | 5 +- tests/components/ezo/test.rp2040-ard.yaml | 5 +- tests/components/ezo_pmp/common.yaml | 6 +- .../components/ezo_pmp/test.esp32-c3-idf.yaml | 5 +- tests/components/ezo_pmp/test.esp32-idf.yaml | 5 +- .../components/ezo_pmp/test.esp8266-ard.yaml | 5 +- tests/components/ezo_pmp/test.rp2040-ard.yaml | 5 +- tests/components/fingerprint_grow/common.yaml | 6 - .../fingerprint_grow/test.esp32-c3-idf.yaml | 4 +- .../fingerprint_grow/test.esp32-idf.yaml | 3 + .../fingerprint_grow/test.esp8266-ard.yaml | 7 +- .../fingerprint_grow/test.rp2040-ard.yaml | 3 + tests/components/font/common.yaml | 4 - tests/components/font/test.esp32-c3-idf.yaml | 6 +- tests/components/font/test.esp32-idf.yaml | 6 +- tests/components/font/test.esp8266-ard.yaml | 6 +- tests/components/font/test.rp2040-ard.yaml | 6 +- tests/components/fs3000/common.yaml | 6 +- .../components/fs3000/test.esp32-c3-idf.yaml | 5 +- tests/components/fs3000/test.esp32-idf.yaml | 5 +- tests/components/fs3000/test.esp8266-ard.yaml | 5 +- tests/components/fs3000/test.rp2040-ard.yaml | 5 +- tests/components/ft5x06/common.yaml | 13 +- .../components/ft5x06/test.esp32-c3-idf.yaml | 5 +- tests/components/ft5x06/test.esp32-idf.yaml | 5 +- tests/components/ft5x06/test.esp8266-ard.yaml | 5 +- tests/components/ft5x06/test.rp2040-ard.yaml | 5 +- tests/components/ft63x6/common.yaml | 19 +- .../components/ft63x6/test.esp32-c3-idf.yaml | 7 +- tests/components/ft63x6/test.esp32-idf.yaml | 9 +- tests/components/ft63x6/test.esp8266-ard.yaml | 7 +- tests/components/ft63x6/test.rp2040-ard.yaml | 7 +- tests/components/gcja5/common.yaml | 8 +- tests/components/gcja5/test.esp32-c3-idf.yaml | 5 +- tests/components/gcja5/test.esp32-idf.yaml | 5 +- tests/components/gcja5/test.esp8266-ard.yaml | 5 +- tests/components/gcja5/test.rp2040-ard.yaml | 5 +- tests/components/gdk101/common.yaml | 6 +- tests/components/gdk101/test.esp32-idf.yaml | 5 +- tests/components/gdk101/test.esp8266-ard.yaml | 5 +- tests/components/gdk101/test.rp2040-ard.yaml | 5 +- tests/components/gl_r01_i2c/common.yaml | 7 +- .../gl_r01_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/gl_r01_i2c/test.esp32-idf.yaml | 5 +- .../gl_r01_i2c/test.esp8266-ard.yaml | 5 +- .../gl_r01_i2c/test.rp2040-ard.yaml | 5 +- .../gp2y1010au0f/test.esp8266-ard.yaml | 2 +- tests/components/gp8403/common.yaml | 7 +- .../components/gp8403/test.esp32-c3-idf.yaml | 5 +- tests/components/gp8403/test.esp32-idf.yaml | 5 +- tests/components/gp8403/test.esp8266-ard.yaml | 5 +- tests/components/gp8403/test.rp2040-ard.yaml | 5 +- tests/components/gpio/test.esp8266-ard.yaml | 6 +- tests/components/gps/common.yaml | 7 - tests/components/gps/test.esp32-c3-idf.yaml | 4 +- tests/components/gps/test.esp32-idf.yaml | 3 + tests/components/gps/test.esp8266-ard.yaml | 7 +- tests/components/gps/test.rp2040-ard.yaml | 3 + tests/components/graph/common.yaml | 7 +- tests/components/graph/test.esp32-c3-idf.yaml | 5 +- tests/components/graph/test.esp32-idf.yaml | 5 +- tests/components/graph/test.esp8266-ard.yaml | 5 +- tests/components/graph/test.rp2040-ard.yaml | 5 +- .../graphical_display_menu/common.yaml | 7 +- .../test.esp32-c3-idf.yaml | 5 +- .../test.esp32-idf.yaml | 5 +- .../test.esp8266-ard.yaml | 5 +- .../test.rp2040-ard.yaml | 5 +- tests/components/grove_gas_mc_v2/common.yaml | 6 +- .../grove_gas_mc_v2/test.esp32-c3-idf.yaml | 5 +- .../grove_gas_mc_v2/test.esp32-idf.yaml | 5 +- .../grove_gas_mc_v2/test.esp8266-ard.yaml | 5 +- .../grove_gas_mc_v2/test.rp2040-ard.yaml | 5 +- tests/components/grove_tb6612fng/common.yaml | 6 +- .../grove_tb6612fng/test.esp32-c3-idf.yaml | 5 +- .../grove_tb6612fng/test.esp32-idf.yaml | 5 +- .../grove_tb6612fng/test.esp8266-ard.yaml | 5 +- .../grove_tb6612fng/test.rp2040-ard.yaml | 5 +- tests/components/growatt_solar/common.yaml | 10 +- .../growatt_solar/test.esp32-c3-idf.yaml | 4 +- .../growatt_solar/test.esp32-idf.yaml | 3 + .../growatt_solar/test.esp8266-ard.yaml | 9 +- .../growatt_solar/test.rp2040-ard.yaml | 3 + tests/components/gt911/common.yaml | 16 +- tests/components/gt911/test.esp32-c3-idf.yaml | 8 + tests/components/gt911/test.esp32-idf.yaml | 8 + tests/components/gt911/test.esp8266-ard.yaml | 29 +- tests/components/gt911/test.rp2040-ard.yaml | 8 + tests/components/haier/common.yaml | 7 - tests/components/haier/test.esp32-c3-idf.yaml | 4 +- tests/components/haier/test.esp32-idf.yaml | 7 +- tests/components/haier/test.esp8266-ard.yaml | 7 +- tests/components/haier/test.rp2040-ard.yaml | 3 + tests/components/havells_solar/common.yaml | 10 +- .../havells_solar/test.esp32-c3-idf.yaml | 4 +- .../havells_solar/test.esp32-idf.yaml | 3 + .../havells_solar/test.esp8266-ard.yaml | 9 +- .../havells_solar/test.rp2040-ard.yaml | 3 + tests/components/hbridge/common.yaml | 6 - .../components/hbridge/test.esp32-c3-idf.yaml | 8 +- tests/components/hbridge/test.esp32-idf.yaml | 8 +- .../components/hbridge/test.esp8266-ard.yaml | 8 +- tests/components/hbridge/test.rp2040-ard.yaml | 8 +- tests/components/hdc1080/common.yaml | 6 +- .../components/hdc1080/test.esp32-c3-idf.yaml | 5 +- tests/components/hdc1080/test.esp32-idf.yaml | 5 +- .../components/hdc1080/test.esp8266-ard.yaml | 5 +- tests/components/hdc1080/test.rp2040-ard.yaml | 5 +- tests/components/he60r/common.yaml | 7 - tests/components/he60r/test.esp32-c3-idf.yaml | 5 +- tests/components/he60r/test.esp32-idf.yaml | 5 +- tests/components/he60r/test.esp8266-ard.yaml | 5 +- tests/components/he60r/test.rp2040-ard.yaml | 5 +- .../components/hlw8012/test.esp8266-ard.yaml | 6 +- tests/components/hm3301/common.yaml | 6 +- .../components/hm3301/test.esp32-c3-idf.yaml | 5 +- tests/components/hm3301/test.esp32-idf.yaml | 5 +- tests/components/hm3301/test.esp8266-ard.yaml | 5 +- tests/components/hm3301/test.rp2040-ard.yaml | 5 +- tests/components/hmc5883l/common.yaml | 6 +- .../hmc5883l/test.esp32-c3-idf.yaml | 5 +- tests/components/hmc5883l/test.esp32-idf.yaml | 5 +- .../components/hmc5883l/test.esp8266-ard.yaml | 5 +- .../components/hmc5883l/test.rp2040-ard.yaml | 5 +- .../components/honeywell_hih_i2c/common.yaml | 6 +- .../honeywell_hih_i2c/test.esp32-c3-idf.yaml | 5 +- .../honeywell_hih_i2c/test.esp32-idf.yaml | 5 +- .../honeywell_hih_i2c/test.esp8266-ard.yaml | 5 +- .../honeywell_hih_i2c/test.rp2040-ard.yaml | 5 +- tests/components/honeywellabp/common.yaml | 6 - .../honeywellabp/test.esp32-c3-idf.yaml | 5 +- .../honeywellabp/test.esp32-idf.yaml | 6 +- .../honeywellabp/test.esp8266-ard.yaml | 9 +- .../honeywellabp/test.rp2040-ard.yaml | 3 + .../components/honeywellabp2_i2c/common.yaml | 6 +- .../honeywellabp2_i2c/test.esp32-c3-idf.yaml | 5 +- .../honeywellabp2_i2c/test.esp32-idf.yaml | 5 +- .../honeywellabp2_i2c/test.esp8266-ard.yaml | 5 +- .../honeywellabp2_i2c/test.rp2040-ard.yaml | 5 +- tests/components/hrxl_maxsonar_wr/common.yaml | 6 - .../hrxl_maxsonar_wr/test.esp32-c3-idf.yaml | 4 +- .../hrxl_maxsonar_wr/test.esp32-idf.yaml | 3 + .../hrxl_maxsonar_wr/test.esp8266-ard.yaml | 7 +- .../hrxl_maxsonar_wr/test.rp2040-ard.yaml | 3 + tests/components/hte501/common.yaml | 6 +- .../components/hte501/test.esp32-c3-idf.yaml | 5 +- tests/components/hte501/test.esp32-idf.yaml | 5 +- tests/components/hte501/test.esp8266-ard.yaml | 5 +- tests/components/hte501/test.rp2040-ard.yaml | 5 +- tests/components/http_request/common.yaml | 4 + tests/components/htu21d/common.yaml | 6 +- .../components/htu21d/test.esp32-c3-idf.yaml | 5 +- tests/components/htu21d/test.esp32-idf.yaml | 5 +- tests/components/htu21d/test.esp8266-ard.yaml | 5 +- tests/components/htu21d/test.rp2040-ard.yaml | 5 +- tests/components/htu31d/common.yaml | 6 +- .../components/htu31d/test.esp32-c3-idf.yaml | 5 +- tests/components/htu31d/test.esp32-idf.yaml | 5 +- tests/components/htu31d/test.esp8266-ard.yaml | 5 +- tests/components/htu31d/test.rp2040-ard.yaml | 5 +- tests/components/hx711/test.esp32-c3-idf.yaml | 4 +- tests/components/hx711/test.esp32-idf.yaml | 4 +- tests/components/hx711/test.esp8266-ard.yaml | 4 +- tests/components/hx711/test.rp2040-ard.yaml | 4 +- tests/components/hydreon_rgxx/common.yaml | 6 - .../hydreon_rgxx/test.esp32-c3-idf.yaml | 4 +- .../hydreon_rgxx/test.esp32-idf.yaml | 7 +- .../hydreon_rgxx/test.esp8266-ard.yaml | 7 +- .../hydreon_rgxx/test.rp2040-ard.yaml | 3 + tests/components/hyt271/common.yaml | 6 +- .../components/hyt271/test.esp32-c3-idf.yaml | 5 +- tests/components/hyt271/test.esp32-idf.yaml | 5 +- tests/components/hyt271/test.esp8266-ard.yaml | 5 +- tests/components/hyt271/test.rp2040-ard.yaml | 5 +- tests/components/i2c/common.yaml | 4 - tests/components/i2c/test.esp32-ard.yaml | 5 +- tests/components/i2c/test.esp32-c3-idf.yaml | 5 +- tests/components/i2c/test.esp32-idf.yaml | 5 +- tests/components/i2c/test.esp8266-ard.yaml | 5 +- tests/components/i2c/test.rp2040-ard.yaml | 5 +- tests/components/i2c_device/common.yaml | 6 +- .../i2c_device/test.esp32-c3-idf.yaml | 5 +- .../components/i2c_device/test.esp32-idf.yaml | 5 +- .../i2c_device/test.esp8266-ard.yaml | 5 +- .../i2c_device/test.rp2040-ard.yaml | 5 +- .../components/i2s_audio/test.esp32-idf.yaml | 7 +- tests/components/iaqcore/common.yaml | 6 +- .../components/iaqcore/test.esp32-c3-idf.yaml | 5 +- tests/components/iaqcore/test.esp32-idf.yaml | 5 +- .../components/iaqcore/test.esp8266-ard.yaml | 5 +- tests/components/iaqcore/test.rp2040-ard.yaml | 5 +- tests/components/ili9xxx/common.yaml | 5 - .../components/ili9xxx/test.esp32-c3-idf.yaml | 7 +- tests/components/ili9xxx/test.esp32-idf.yaml | 5 +- .../components/ili9xxx/test.esp8266-ard.yaml | 3 + tests/components/ili9xxx/test.rp2040-ard.yaml | 3 + tests/components/image/test.esp32-idf.yaml | 10 +- tests/components/image/test.esp8266-ard.yaml | 8 +- tests/components/image/test.rp2040-ard.yaml | 8 +- tests/components/ina219/common.yaml | 6 +- .../components/ina219/test.esp32-c3-idf.yaml | 5 +- tests/components/ina219/test.esp32-idf.yaml | 5 +- tests/components/ina219/test.esp8266-ard.yaml | 5 +- tests/components/ina219/test.rp2040-ard.yaml | 5 +- tests/components/ina226/common.yaml | 6 +- .../components/ina226/test.esp32-c3-idf.yaml | 5 +- tests/components/ina226/test.esp32-idf.yaml | 5 +- tests/components/ina226/test.esp8266-ard.yaml | 5 +- tests/components/ina226/test.rp2040-ard.yaml | 5 +- tests/components/ina260/common.yaml | 6 +- .../components/ina260/test.esp32-c3-idf.yaml | 5 +- tests/components/ina260/test.esp32-idf.yaml | 5 +- tests/components/ina260/test.esp8266-ard.yaml | 5 +- tests/components/ina260/test.rp2040-ard.yaml | 5 +- tests/components/ina2xx_i2c/common.yaml | 7 +- .../ina2xx_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/ina2xx_i2c/test.esp32-idf.yaml | 5 +- .../ina2xx_i2c/test.esp8266-ard.yaml | 5 +- .../ina2xx_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ina2xx_spi/common.yaml | 7 - .../ina2xx_spi/test.esp32-c3-idf.yaml | 5 +- .../components/ina2xx_spi/test.esp32-idf.yaml | 6 +- .../ina2xx_spi/test.esp8266-ard.yaml | 9 +- .../ina2xx_spi/test.rp2040-ard.yaml | 3 + tests/components/ina3221/common.yaml | 6 +- .../components/ina3221/test.esp32-c3-idf.yaml | 5 +- tests/components/ina3221/test.esp32-idf.yaml | 5 +- .../components/ina3221/test.esp8266-ard.yaml | 5 +- tests/components/ina3221/test.rp2040-ard.yaml | 5 +- .../test.esp32-c3-idf.yaml | 3 + .../inkbird_ibsth1_mini/test.esp32-idf.yaml | 3 + tests/components/inkplate/common.yaml | 6 +- tests/components/inkplate/test.esp32-idf.yaml | 3 + tests/components/jsn_sr04t/common.yaml | 6 - .../jsn_sr04t/test.esp32-c3-idf.yaml | 4 +- .../components/jsn_sr04t/test.esp32-idf.yaml | 7 +- .../jsn_sr04t/test.esp8266-ard.yaml | 7 +- .../components/jsn_sr04t/test.rp2040-ard.yaml | 3 + tests/components/kamstrup_kmp/common.yaml | 6 - .../kamstrup_kmp/test.esp32-idf.yaml | 5 +- .../kamstrup_kmp/test.esp8266-ard.yaml | 3 + tests/components/kmeteriso/common.yaml | 6 +- .../kmeteriso/test.esp32-c3-idf.yaml | 5 +- .../components/kmeteriso/test.esp32-idf.yaml | 5 +- .../kmeteriso/test.esp8266-ard.yaml | 5 +- .../components/kmeteriso/test.rp2040-ard.yaml | 5 +- tests/components/kuntze/common.yaml | 10 +- .../components/kuntze/test.esp32-c3-idf.yaml | 4 +- tests/components/kuntze/test.esp32-idf.yaml | 3 + tests/components/kuntze/test.esp8266-ard.yaml | 9 +- tests/components/kuntze/test.rp2040-ard.yaml | 3 + tests/components/lc709203f/common.yaml | 6 +- .../lc709203f/test.esp32-c3-idf.yaml | 5 +- .../components/lc709203f/test.esp32-idf.yaml | 5 +- .../lc709203f/test.esp8266-ard.yaml | 5 +- .../components/lc709203f/test.rp2040-ard.yaml | 5 +- tests/components/lcd_gpio/test.esp32-idf.yaml | 2 +- .../components/lcd_gpio/test.esp8266-ard.yaml | 4 +- tests/components/lcd_menu/test.esp32-idf.yaml | 2 +- .../components/lcd_menu/test.esp8266-ard.yaml | 4 +- tests/components/lcd_pcf8574/common.yaml | 6 +- .../lcd_pcf8574/test.esp32-c3-idf.yaml | 5 +- .../lcd_pcf8574/test.esp32-idf.yaml | 5 +- .../lcd_pcf8574/test.esp8266-ard.yaml | 5 +- .../lcd_pcf8574/test.rp2040-ard.yaml | 5 +- tests/components/ld2410/common.yaml | 6 - .../components/ld2410/test.esp32-c3-idf.yaml | 3 + tests/components/ld2410/test.esp32-idf.yaml | 7 +- tests/components/ld2410/test.esp8266-ard.yaml | 7 +- tests/components/ld2410/test.rp2040-ard.yaml | 3 + tests/components/ld2412/common.yaml | 16 +- .../components/ld2412/test.esp32-c3-idf.yaml | 3 + tests/components/ld2412/test.esp32-idf.yaml | 5 +- tests/components/ld2412/test.esp8266-ard.yaml | 7 +- tests/components/ld2412/test.rp2040-ard.yaml | 3 + tests/components/ld2420/common.yaml | 6 - .../components/ld2420/test.esp32-c3-idf.yaml | 4 +- tests/components/ld2420/test.esp32-idf.yaml | 7 +- tests/components/ld2420/test.esp8266-ard.yaml | 7 +- tests/components/ld2420/test.rp2040-ard.yaml | 3 + tests/components/ld2450/common.yaml | 9 - .../components/ld2450/test.esp32-c3-idf.yaml | 3 + tests/components/ld2450/test.esp32-idf.yaml | 7 +- tests/components/ld2450/test.esp8266-ard.yaml | 7 +- tests/components/ld2450/test.rp2040-ard.yaml | 3 + tests/components/lilygo_t5_47/common.yaml | 9 +- .../lilygo_t5_47/test.esp32-c3-idf.yaml | 5 +- .../lilygo_t5_47/test.esp32-idf.yaml | 7 +- .../lilygo_t5_47/test.esp8266-ard.yaml | 7 +- .../lilygo_t5_47/test.rp2040-ard.yaml | 5 +- tests/components/lm75b/common.yaml | 6 +- tests/components/lm75b/test.esp32-c3-idf.yaml | 5 +- tests/components/lm75b/test.esp32-idf.yaml | 5 +- tests/components/lm75b/test.esp8266-ard.yaml | 5 +- tests/components/lm75b/test.rp2040-ard.yaml | 5 +- tests/components/lock/common.yaml | 4 +- tests/components/lps22/common.yaml | 1 + tests/components/lps22/test.esp32-c3-idf.yaml | 6 +- tests/components/lps22/test.esp32-idf.yaml | 6 +- tests/components/lps22/test.esp8266-ard.yaml | 6 +- tests/components/lps22/test.rp2040-ard.yaml | 6 +- tests/components/ltr390/common.yaml | 7 +- .../components/ltr390/test.esp32-c3-idf.yaml | 5 +- tests/components/ltr390/test.esp32-idf.yaml | 5 +- tests/components/ltr390/test.esp8266-ard.yaml | 5 +- tests/components/ltr390/test.rp2040-ard.yaml | 5 +- tests/components/ltr501/common.yaml | 1 - .../components/ltr501/test.esp32-c3-idf.yaml | 6 +- tests/components/ltr501/test.esp32-idf.yaml | 6 +- tests/components/ltr501/test.esp8266-ard.yaml | 6 +- tests/components/ltr501/test.rp2040-ard.yaml | 6 +- tests/components/ltr_als_ps/common.yaml | 1 - .../ltr_als_ps/test.esp32-c3-idf.yaml | 6 +- .../components/ltr_als_ps/test.esp32-idf.yaml | 6 +- .../ltr_als_ps/test.esp8266-ard.yaml | 6 +- .../ltr_als_ps/test.rp2040-ard.yaml | 6 +- tests/components/lvgl/common.yaml | 1 + tests/components/lvgl/test.esp32-idf.yaml | 16 +- tests/components/m5stack_8angle/common.yaml | 7 +- .../m5stack_8angle/test.esp32-c3-idf.yaml | 3 + .../m5stack_8angle/test.esp32-idf.yaml | 3 + .../m5stack_8angle/test.esp8266-ard.yaml | 3 + .../m5stack_8angle/test.rp2040-ard.yaml | 3 + .../components/mapping/test.esp32-c3-idf.yaml | 12 +- tests/components/mapping/test.esp32-idf.yaml | 12 +- .../components/mapping/test.esp8266-ard.yaml | 12 +- tests/components/mapping/test.rp2040-ard.yaml | 12 +- tests/components/max17043/common.yaml | 7 +- .../max17043/test.esp32-c3-idf.yaml | 5 +- tests/components/max17043/test.esp32-idf.yaml | 5 +- .../components/max17043/test.esp8266-ard.yaml | 5 +- .../components/max17043/test.rp2040-ard.yaml | 5 +- tests/components/max31855/common.yaml | 6 - .../max31855/test.esp32-c3-idf.yaml | 5 +- tests/components/max31855/test.esp32-idf.yaml | 6 +- .../components/max31855/test.esp8266-ard.yaml | 9 +- .../components/max31855/test.rp2040-ard.yaml | 3 + tests/components/max31856/common.yaml | 6 - .../max31856/test.esp32-c3-idf.yaml | 5 +- tests/components/max31856/test.esp32-idf.yaml | 6 +- .../components/max31856/test.esp8266-ard.yaml | 9 +- .../components/max31856/test.rp2040-ard.yaml | 3 + tests/components/max31865/common.yaml | 6 - .../max31865/test.esp32-c3-idf.yaml | 5 +- tests/components/max31865/test.esp32-idf.yaml | 6 +- .../components/max31865/test.esp8266-ard.yaml | 9 +- .../components/max31865/test.rp2040-ard.yaml | 3 + tests/components/max44009/common.yaml | 6 +- .../max44009/test.esp32-c3-idf.yaml | 5 +- tests/components/max44009/test.esp32-idf.yaml | 5 +- .../components/max44009/test.esp8266-ard.yaml | 5 +- .../components/max44009/test.rp2040-ard.yaml | 5 +- tests/components/max6675/common.yaml | 6 - .../components/max6675/test.esp32-c3-idf.yaml | 5 +- tests/components/max6675/test.esp32-idf.yaml | 6 +- .../components/max6675/test.esp8266-ard.yaml | 9 +- tests/components/max6675/test.rp2040-ard.yaml | 3 + tests/components/max6956/common.yaml | 6 +- .../components/max6956/test.esp32-c3-idf.yaml | 5 +- tests/components/max6956/test.esp32-idf.yaml | 5 +- .../components/max6956/test.esp8266-ard.yaml | 5 +- tests/components/max6956/test.rp2040-ard.yaml | 5 +- tests/components/max7219/common.yaml | 6 - .../components/max7219/test.esp32-c3-idf.yaml | 5 +- tests/components/max7219/test.esp32-idf.yaml | 6 +- .../components/max7219/test.esp8266-ard.yaml | 9 +- tests/components/max7219/test.rp2040-ard.yaml | 3 + tests/components/max7219digit/common.yaml | 6 - .../max7219digit/test.esp32-c3-idf.yaml | 5 +- .../max7219digit/test.esp32-idf.yaml | 6 +- .../max7219digit/test.esp8266-ard.yaml | 9 +- .../max7219digit/test.rp2040-ard.yaml | 3 + tests/components/max9611/common.yaml | 6 +- .../components/max9611/test.esp32-c3-idf.yaml | 5 +- tests/components/max9611/test.esp32-idf.yaml | 5 +- .../components/max9611/test.esp8266-ard.yaml | 5 +- tests/components/max9611/test.rp2040-ard.yaml | 5 +- tests/components/mcp23008/common.yaml | 6 +- .../mcp23008/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp23008/test.esp32-idf.yaml | 5 +- .../components/mcp23008/test.esp8266-ard.yaml | 5 +- .../components/mcp23008/test.rp2040-ard.yaml | 5 +- tests/components/mcp23016/common.yaml | 6 +- .../mcp23016/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp23016/test.esp32-idf.yaml | 5 +- .../components/mcp23016/test.esp8266-ard.yaml | 5 +- .../components/mcp23016/test.rp2040-ard.yaml | 5 +- tests/components/mcp23017/common.yaml | 6 +- .../mcp23017/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp23017/test.esp32-idf.yaml | 5 +- .../components/mcp23017/test.esp8266-ard.yaml | 5 +- .../components/mcp23017/test.rp2040-ard.yaml | 5 +- tests/components/mcp23s08/common.yaml | 6 - .../mcp23s08/test.esp32-c3-idf.yaml | 6 +- tests/components/mcp23s08/test.esp32-idf.yaml | 6 +- .../components/mcp23s08/test.esp8266-ard.yaml | 6 +- .../components/mcp23s08/test.rp2040-ard.yaml | 6 +- tests/components/mcp23s17/common.yaml | 6 - .../mcp23s17/test.esp32-c3-idf.yaml | 6 +- tests/components/mcp23s17/test.esp32-idf.yaml | 6 +- .../components/mcp23s17/test.esp8266-ard.yaml | 6 +- .../components/mcp23s17/test.rp2040-ard.yaml | 6 +- tests/components/mcp2515/common.yaml | 6 - .../components/mcp2515/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp2515/test.esp32-idf.yaml | 6 +- .../components/mcp2515/test.esp8266-ard.yaml | 9 +- tests/components/mcp2515/test.rp2040-ard.yaml | 3 + tests/components/mcp3008/common.yaml | 6 - .../components/mcp3008/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp3008/test.esp32-idf.yaml | 6 +- .../components/mcp3008/test.esp8266-ard.yaml | 9 +- tests/components/mcp3008/test.rp2040-ard.yaml | 3 + tests/components/mcp3204/common.yaml | 6 - .../components/mcp3204/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp3204/test.esp32-idf.yaml | 6 +- .../components/mcp3204/test.esp8266-ard.yaml | 9 +- tests/components/mcp3204/test.rp2040-ard.yaml | 3 + tests/components/mcp4461/common.yaml | 6 +- .../components/mcp4461/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp4461/test.esp32-idf.yaml | 5 +- .../components/mcp4461/test.esp8266-ard.yaml | 5 +- tests/components/mcp4725/common.yaml | 5 - .../components/mcp4725/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp4725/test.esp32-idf.yaml | 5 +- .../components/mcp4725/test.esp8266-ard.yaml | 5 +- tests/components/mcp4725/test.rp2040-ard.yaml | 5 +- tests/components/mcp4728/common.yaml | 6 +- .../components/mcp4728/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp4728/test.esp32-idf.yaml | 5 +- .../components/mcp4728/test.esp8266-ard.yaml | 5 +- tests/components/mcp4728/test.rp2040-ard.yaml | 5 +- tests/components/mcp47a1/common.yaml | 5 - .../components/mcp47a1/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp47a1/test.esp32-idf.yaml | 5 +- .../components/mcp47a1/test.esp8266-ard.yaml | 5 +- tests/components/mcp47a1/test.rp2040-ard.yaml | 5 +- tests/components/mcp9600/common.yaml | 6 +- .../components/mcp9600/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp9600/test.esp32-idf.yaml | 5 +- .../components/mcp9600/test.esp8266-ard.yaml | 5 +- tests/components/mcp9600/test.rp2040-ard.yaml | 5 +- tests/components/mcp9808/common.yaml | 6 +- .../components/mcp9808/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp9808/test.esp32-idf.yaml | 5 +- .../components/mcp9808/test.esp8266-ard.yaml | 5 +- tests/components/mcp9808/test.rp2040-ard.yaml | 5 +- tests/components/mhz19/common.yaml | 6 - tests/components/mhz19/test.esp32-c3-idf.yaml | 4 +- tests/components/mhz19/test.esp32-idf.yaml | 7 +- tests/components/mhz19/test.esp8266-ard.yaml | 7 +- tests/components/mhz19/test.rp2040-ard.yaml | 3 + tests/components/micronova/common.yaml | 6 - .../micronova/test.esp32-c3-idf.yaml | 5 +- .../components/micronova/test.esp32-idf.yaml | 5 +- .../micronova/test.esp8266-ard.yaml | 7 +- .../components/micronova/test.rp2040-ard.yaml | 5 +- .../components/microphone/test.esp32-idf.yaml | 4 +- tests/components/mics_4514/common.yaml | 6 +- .../mics_4514/test.esp32-c3-idf.yaml | 5 +- .../components/mics_4514/test.esp32-idf.yaml | 5 +- .../mics_4514/test.esp8266-ard.yaml | 5 +- .../components/mics_4514/test.rp2040-ard.yaml | 5 +- tests/components/midea/common.yaml | 6 - tests/components/midea/test.esp32-ard.yaml | 5 +- tests/components/midea/test.esp8266-ard.yaml | 5 +- .../mipi_dsi/test.esp32-p4-idf.yaml | 9 +- .../mipi_rgb/test.esp32-s3-idf.yaml | 12 +- tests/components/mipi_spi/common.yaml | 13 +- .../mipi_spi/test-lvgl.esp32-s3-idf.yaml | 13 +- .../mipi_spi/test.esp32-c3-idf.yaml | 12 +- tests/components/mipi_spi/test.esp32-idf.yaml | 15 +- .../components/mipi_spi/test.rp2040-ard.yaml | 8 +- tests/components/mixer/test.esp32-idf.yaml | 7 +- tests/components/mlx90393/common.yaml | 6 +- .../mlx90393/test.esp32-c3-idf.yaml | 5 +- tests/components/mlx90393/test.esp32-idf.yaml | 5 +- .../mlx90393/test.esp32-s3-idf.yaml | 5 +- .../components/mlx90393/test.esp8266-ard.yaml | 5 +- .../components/mlx90393/test.rp2040-ard.yaml | 5 +- tests/components/mlx90614/common.yaml | 6 +- .../mlx90614/test.esp32-c3-idf.yaml | 5 +- tests/components/mlx90614/test.esp32-idf.yaml | 5 +- .../components/mlx90614/test.esp8266-ard.yaml | 5 +- .../components/mlx90614/test.rp2040-ard.yaml | 5 +- tests/components/mmc5603/common.yaml | 6 +- .../components/mmc5603/test.esp32-c3-idf.yaml | 5 +- tests/components/mmc5603/test.esp32-idf.yaml | 5 +- .../components/mmc5603/test.esp8266-ard.yaml | 5 +- tests/components/mmc5603/test.rp2040-ard.yaml | 5 +- tests/components/mmc5983/common.yaml | 6 +- .../components/mmc5983/test.esp32-c3-idf.yaml | 5 +- tests/components/mmc5983/test.esp32-idf.yaml | 5 +- .../components/mmc5983/test.esp8266-ard.yaml | 5 +- tests/components/mmc5983/test.rp2040-ard.yaml | 5 +- tests/components/modbus/common.yaml | 6 - .../components/modbus/test.esp32-c3-idf.yaml | 4 +- tests/components/modbus/test.esp32-idf.yaml | 3 + tests/components/modbus/test.esp8266-ard.yaml | 9 +- tests/components/modbus/test.rp2040-ard.yaml | 3 + .../components/modbus_controller/common.yaml | 17 +- .../modbus_controller/test.esp32-c3-idf.yaml | 8 +- .../modbus_controller/test.esp32-idf.yaml | 8 +- .../modbus_controller/test.esp8266-ard.yaml | 8 +- .../modbus_controller/test.rp2040-ard.yaml | 8 +- .../mopeka_ble/test.esp32-c3-idf.yaml | 3 + .../components/mopeka_ble/test.esp32-idf.yaml | 3 + .../mopeka_pro_check/test.esp32-c3-idf.yaml | 3 + .../mopeka_pro_check/test.esp32-idf.yaml | 3 + .../mopeka_std_check/test.esp32-c3-idf.yaml | 3 + .../mopeka_std_check/test.esp32-idf.yaml | 3 + tests/components/mpl3115a2/common.yaml | 6 +- .../mpl3115a2/test.esp32-c3-idf.yaml | 5 +- .../components/mpl3115a2/test.esp32-idf.yaml | 5 +- .../mpl3115a2/test.esp8266-ard.yaml | 5 +- .../components/mpl3115a2/test.rp2040-ard.yaml | 5 +- tests/components/mpr121/common.yaml | 6 +- .../components/mpr121/test.esp32-c3-idf.yaml | 3 + tests/components/mpr121/test.esp32-idf.yaml | 3 + tests/components/mpr121/test.esp8266-ard.yaml | 3 + tests/components/mpr121/test.rp2040-ard.yaml | 3 + tests/components/mpu6050/common.yaml | 6 +- .../components/mpu6050/test.esp32-c3-idf.yaml | 5 +- tests/components/mpu6050/test.esp32-idf.yaml | 5 +- .../components/mpu6050/test.esp8266-ard.yaml | 5 +- tests/components/mpu6050/test.rp2040-ard.yaml | 5 +- tests/components/mpu6886/common.yaml | 6 +- .../components/mpu6886/test.esp32-c3-idf.yaml | 5 +- tests/components/mpu6886/test.esp32-idf.yaml | 5 +- .../components/mpu6886/test.esp8266-ard.yaml | 5 +- tests/components/mpu6886/test.rp2040-ard.yaml | 5 +- tests/components/mqtt/common-update.yaml | 2 + tests/components/ms5611/common.yaml | 6 +- .../components/ms5611/test.esp32-c3-idf.yaml | 3 + tests/components/ms5611/test.esp32-idf.yaml | 3 + tests/components/ms5611/test.esp8266-ard.yaml | 3 + tests/components/ms5611/test.rp2040-ard.yaml | 3 + tests/components/msa3xx/common.yaml | 2 +- .../components/msa3xx/test.esp32-c3-idf.yaml | 6 +- tests/components/msa3xx/test.esp32-idf.yaml | 6 +- tests/components/msa3xx/test.esp8266-ard.yaml | 6 +- tests/components/msa3xx/test.rp2040-ard.yaml | 6 +- tests/components/nau7802/common.yaml | 2 +- .../components/nau7802/test.esp32-c3-idf.yaml | 6 +- tests/components/nau7802/test.esp32-idf.yaml | 6 +- .../components/nau7802/test.esp8266-ard.yaml | 6 +- tests/components/nau7802/test.rp2040-ard.yaml | 6 +- tests/components/nextion/common.yaml | 6 - tests/components/nextion/test.esp32-ard.yaml | 5 +- .../components/nextion/test.esp32-c3-idf.yaml | 5 +- tests/components/nextion/test.esp32-idf.yaml | 5 +- .../components/nextion/test.esp8266-ard.yaml | 5 +- tests/components/nextion/test.rp2040-ard.yaml | 5 +- tests/components/npi19/common.yaml | 8 +- tests/components/npi19/test.esp32-idf.yaml | 5 +- tests/components/npi19/test.esp32-s3-idf.yaml | 5 +- tests/components/npi19/test.esp8266-ard.yaml | 5 +- .../components/online_image/common-esp32.yaml | 10 +- .../online_image/common-esp8266.yaml | 10 +- .../online_image/common-rp2040.yaml | 10 +- tests/components/opt3001/common.yaml | 6 +- .../components/opt3001/test.esp32-c3-idf.yaml | 5 +- tests/components/opt3001/test.esp32-idf.yaml | 5 +- .../components/opt3001/test.esp8266-ard.yaml | 5 +- tests/components/opt3001/test.rp2040-ard.yaml | 5 +- .../packet_transport/test.esp32-c3-idf.yaml | 3 + .../packet_transport/test.esp32-idf.yaml | 3 + .../packet_transport/test.esp8266-ard.yaml | 3 + .../packet_transport/test.host.yaml | 42 +- .../packet_transport/test.rp2040-ard.yaml | 3 + tests/components/pca6416a/common.yaml | 6 +- .../pca6416a/test.esp32-c3-idf.yaml | 5 +- tests/components/pca6416a/test.esp32-idf.yaml | 5 +- .../components/pca6416a/test.esp8266-ard.yaml | 5 +- .../components/pca6416a/test.rp2040-ard.yaml | 5 +- tests/components/pca9554/common.yaml | 6 +- .../components/pca9554/test.esp32-c3-idf.yaml | 5 +- tests/components/pca9554/test.esp32-idf.yaml | 5 +- .../components/pca9554/test.esp8266-ard.yaml | 5 +- tests/components/pca9554/test.rp2040-ard.yaml | 5 +- tests/components/pca9685/common.yaml | 6 +- .../components/pca9685/test.esp32-c3-idf.yaml | 5 +- tests/components/pca9685/test.esp32-idf.yaml | 5 +- .../components/pca9685/test.esp8266-ard.yaml | 5 +- tests/components/pca9685/test.rp2040-ard.yaml | 5 +- tests/components/pcd8544/common.yaml | 6 - .../components/pcd8544/test.esp32-c3-idf.yaml | 5 +- tests/components/pcd8544/test.esp32-idf.yaml | 6 +- .../components/pcd8544/test.esp8266-ard.yaml | 7 +- tests/components/pcd8544/test.rp2040-ard.yaml | 3 + tests/components/pcf85063/common.yaml | 6 +- .../pcf85063/test.esp32-c3-idf.yaml | 5 +- tests/components/pcf85063/test.esp32-idf.yaml | 5 +- .../components/pcf85063/test.esp8266-ard.yaml | 5 +- .../components/pcf85063/test.rp2040-ard.yaml | 5 +- tests/components/pcf8563/common.yaml | 6 +- .../components/pcf8563/test.esp32-c3-idf.yaml | 5 +- tests/components/pcf8563/test.esp32-idf.yaml | 5 +- .../components/pcf8563/test.esp8266-ard.yaml | 5 +- tests/components/pcf8563/test.rp2040-ard.yaml | 5 +- tests/components/pcf8574/common.yaml | 6 +- .../components/pcf8574/test.esp32-c3-idf.yaml | 5 +- tests/components/pcf8574/test.esp32-idf.yaml | 5 +- .../components/pcf8574/test.esp8266-ard.yaml | 5 +- tests/components/pcf8574/test.rp2040-ard.yaml | 5 +- tests/components/pi4ioe5v6408/common.yaml | 6 +- .../pi4ioe5v6408/test.esp32-idf.yaml | 3 + .../pi4ioe5v6408/test.rp2040-ard.yaml | 3 + tests/components/pipsolar/common.yaml | 6 - .../pipsolar/test.esp32-c3-idf.yaml | 4 +- tests/components/pipsolar/test.esp32-idf.yaml | 7 +- .../pipsolar/test.esp32-s2-idf.yaml | 5 +- .../components/pipsolar/test.esp8266-ard.yaml | 7 +- .../components/pipsolar/test.rp2040-ard.yaml | 3 + tests/components/pm1006/common.yaml | 6 - .../components/pm1006/test.esp32-c3-idf.yaml | 4 +- tests/components/pm1006/test.esp32-idf.yaml | 7 +- tests/components/pm1006/test.esp8266-ard.yaml | 7 +- tests/components/pm1006/test.rp2040-ard.yaml | 3 + tests/components/pm2005/common.yaml | 6 +- .../components/pm2005/test.esp32-c3-idf.yaml | 5 +- tests/components/pm2005/test.esp32-idf.yaml | 5 +- tests/components/pm2005/test.esp8266-ard.yaml | 5 +- tests/components/pm2005/test.rp2040-ard.yaml | 5 +- tests/components/pmsa003i/common.yaml | 6 +- .../pmsa003i/test.esp32-c3-idf.yaml | 5 +- tests/components/pmsa003i/test.esp32-idf.yaml | 5 +- .../components/pmsa003i/test.esp8266-ard.yaml | 5 +- .../components/pmsa003i/test.rp2040-ard.yaml | 5 +- tests/components/pmsx003/common.yaml | 6 - .../components/pmsx003/test.esp32-c3-idf.yaml | 4 +- tests/components/pmsx003/test.esp32-idf.yaml | 7 +- .../components/pmsx003/test.esp8266-ard.yaml | 7 +- tests/components/pmsx003/test.rp2040-ard.yaml | 3 + tests/components/pmwcs3/common.yaml | 6 +- .../components/pmwcs3/test.esp32-c3-idf.yaml | 5 +- tests/components/pmwcs3/test.esp32-idf.yaml | 5 +- tests/components/pmwcs3/test.esp8266-ard.yaml | 5 +- tests/components/pmwcs3/test.rp2040-ard.yaml | 5 +- tests/components/pn532_i2c/common.yaml | 6 +- .../pn532_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/pn532_i2c/test.esp32-idf.yaml | 5 +- .../pn532_i2c/test.esp8266-ard.yaml | 5 +- .../components/pn532_i2c/test.rp2040-ard.yaml | 5 +- tests/components/pn532_spi/common.yaml | 6 - .../pn532_spi/test.esp32-c3-idf.yaml | 5 +- .../components/pn532_spi/test.esp32-idf.yaml | 6 +- .../pn532_spi/test.esp8266-ard.yaml | 11 +- .../components/pn532_spi/test.rp2040-ard.yaml | 3 + tests/components/pn7150_i2c/common.yaml | 6 +- .../pn7150_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/pn7150_i2c/test.esp32-idf.yaml | 5 +- .../pn7150_i2c/test.esp8266-ard.yaml | 9 +- .../pn7150_i2c/test.rp2040-ard.yaml | 5 +- tests/components/pn7160_i2c/common.yaml | 6 +- .../pn7160_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/pn7160_i2c/test.esp32-idf.yaml | 5 +- .../pn7160_i2c/test.esp8266-ard.yaml | 9 +- .../pn7160_i2c/test.rp2040-ard.yaml | 5 +- tests/components/pn7160_spi/common.yaml | 6 - .../pn7160_spi/test.esp32-c3-idf.yaml | 5 +- .../components/pn7160_spi/test.esp32-idf.yaml | 6 +- .../pn7160_spi/test.esp8266-ard.yaml | 7 +- .../pn7160_spi/test.rp2040-ard.yaml | 3 + tests/components/prometheus/common.yaml | 2 + .../components/prometheus/test.esp32-idf.yaml | 3 + .../pvvx_mithermometer/test.esp32-c3-idf.yaml | 3 + .../pvvx_mithermometer/test.esp32-idf.yaml | 3 + tests/components/pylontech/common.yaml | 6 - .../pylontech/test.esp32-c3-idf.yaml | 4 +- .../components/pylontech/test.esp32-idf.yaml | 7 +- .../pylontech/test.esp8266-ard.yaml | 7 +- .../components/pylontech/test.rp2040-ard.yaml | 3 + tests/components/pzem004t/common.yaml | 6 - .../pzem004t/test.esp32-c3-idf.yaml | 4 +- tests/components/pzem004t/test.esp32-idf.yaml | 7 +- .../components/pzem004t/test.esp8266-ard.yaml | 7 +- .../components/pzem004t/test.rp2040-ard.yaml | 3 + tests/components/pzemac/common.yaml | 9 +- .../components/pzemac/test.esp32-c3-idf.yaml | 4 +- tests/components/pzemac/test.esp32-idf.yaml | 7 +- tests/components/pzemac/test.esp8266-ard.yaml | 7 +- tests/components/pzemac/test.rp2040-ard.yaml | 3 + tests/components/pzemdc/common.yaml | 8 +- .../components/pzemdc/test.esp32-c3-idf.yaml | 4 +- tests/components/pzemdc/test.esp32-idf.yaml | 7 +- tests/components/pzemdc/test.esp8266-ard.yaml | 7 +- tests/components/pzemdc/test.rp2040-ard.yaml | 3 + tests/components/qmc5883l/common.yaml | 6 +- .../qmc5883l/test.esp32-c3-idf.yaml | 5 +- tests/components/qmc5883l/test.esp32-idf.yaml | 7 +- .../components/qmc5883l/test.esp8266-ard.yaml | 5 +- .../components/qmc5883l/test.rp2040-ard.yaml | 5 +- tests/components/qmp6988/common.yaml | 6 +- .../components/qmp6988/test.esp32-c3-idf.yaml | 5 +- tests/components/qmp6988/test.esp32-idf.yaml | 5 +- .../components/qmp6988/test.esp8266-ard.yaml | 5 +- tests/components/qmp6988/test.rp2040-ard.yaml | 5 +- tests/components/qr_code/common.yaml | 13 +- .../components/qr_code/test.esp32-c3-idf.yaml | 5 +- tests/components/qr_code/test.esp32-idf.yaml | 5 +- .../components/qr_code/test.esp8266-ard.yaml | 7 +- tests/components/qr_code/test.rp2040-ard.yaml | 3 + tests/components/qspi_dbi/common.yaml | 6 - .../qspi_dbi/test.esp32-s3-idf.yaml | 3 + tests/components/qwiic_pir/common.yaml | 6 +- .../qwiic_pir/test.esp32-c3-idf.yaml | 5 +- .../components/qwiic_pir/test.esp32-idf.yaml | 5 +- .../qwiic_pir/test.esp8266-ard.yaml | 5 +- .../components/qwiic_pir/test.rp2040-ard.yaml | 5 +- .../radon_eye_ble/test.esp32-c3-idf.yaml | 3 + .../radon_eye_ble/test.esp32-idf.yaml | 3 + .../radon_eye_rd200/test.esp32-c3-idf.yaml | 3 + .../radon_eye_rd200/test.esp32-idf.yaml | 3 + tests/components/rc522_i2c/common.yaml | 6 +- .../rc522_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/rc522_i2c/test.esp32-idf.yaml | 5 +- .../rc522_i2c/test.esp8266-ard.yaml | 5 +- .../components/rc522_i2c/test.rp2040-ard.yaml | 5 +- tests/components/rc522_spi/common.yaml | 6 - .../rc522_spi/test.esp32-c3-idf.yaml | 5 +- .../components/rc522_spi/test.esp32-idf.yaml | 6 +- .../rc522_spi/test.esp8266-ard.yaml | 9 +- .../components/rc522_spi/test.rp2040-ard.yaml | 3 + tests/components/rdm6300/common.yaml | 6 - .../components/rdm6300/test.esp32-c3-idf.yaml | 4 +- tests/components/rdm6300/test.esp32-idf.yaml | 7 +- .../components/rdm6300/test.esp8266-ard.yaml | 7 +- tests/components/rdm6300/test.rp2040-ard.yaml | 3 + .../remote_receiver/test.esp32-s3-idf.yaml | 21 +- .../remote_transmitter/test.esp32-s3-idf.yaml | 13 +- .../components/resampler/test.esp32-idf.yaml | 7 +- tests/components/rf_bridge/common.yaml | 6 - .../rf_bridge/test.esp32-c3-idf.yaml | 5 +- .../components/rf_bridge/test.esp32-idf.yaml | 5 +- .../rf_bridge/test.esp8266-ard.yaml | 5 +- .../components/rf_bridge/test.rp2040-ard.yaml | 5 +- .../ruuvi_ble/test.esp32-c3-idf.yaml | 3 + .../components/ruuvi_ble/test.esp32-idf.yaml | 3 + .../ruuvitag/test.esp32-c3-idf.yaml | 3 + tests/components/ruuvitag/test.esp32-idf.yaml | 3 + tests/components/scd30/common.yaml | 6 +- tests/components/scd30/test.esp32-c3-idf.yaml | 5 +- tests/components/scd30/test.esp32-idf.yaml | 5 +- tests/components/scd30/test.esp8266-ard.yaml | 5 +- tests/components/scd30/test.rp2040-ard.yaml | 5 +- tests/components/scd4x/common.yaml | 6 +- tests/components/scd4x/test.esp32-c3-idf.yaml | 5 +- tests/components/scd4x/test.esp32-idf.yaml | 5 +- tests/components/scd4x/test.esp8266-ard.yaml | 5 +- tests/components/scd4x/test.rp2040-ard.yaml | 5 +- tests/components/sdm_meter/common.yaml | 7 +- .../sdm_meter/test.esp32-c3-idf.yaml | 4 +- .../components/sdm_meter/test.esp32-idf.yaml | 7 +- .../sdm_meter/test.esp8266-ard.yaml | 7 +- .../components/sdm_meter/test.rp2040-ard.yaml | 3 + tests/components/sdp3x/common.yaml | 6 +- tests/components/sdp3x/test.esp32-c3-idf.yaml | 5 +- tests/components/sdp3x/test.esp32-idf.yaml | 5 +- tests/components/sdp3x/test.esp8266-ard.yaml | 5 +- tests/components/sdp3x/test.rp2040-ard.yaml | 5 +- tests/components/sds011/common.yaml | 6 - .../components/sds011/test.esp32-c3-idf.yaml | 4 +- tests/components/sds011/test.esp32-idf.yaml | 7 +- tests/components/sds011/test.esp8266-ard.yaml | 7 +- tests/components/sds011/test.rp2040-ard.yaml | 3 + tests/components/seeed_mr24hpc1/common.yaml | 9 - .../seeed_mr24hpc1/test.esp32-c3-idf.yaml | 5 +- tests/components/seeed_mr60bha2/common.yaml | 8 - .../seeed_mr60bha2/test.esp32-c3-idf.yaml | 5 +- tests/components/seeed_mr60fda2/common.yaml | 9 - .../seeed_mr60fda2/test.esp32-c3-idf.yaml | 5 +- tests/components/selec_meter/common.yaml | 7 +- .../selec_meter/test.esp32-c3-idf.yaml | 6 +- .../selec_meter/test.esp32-idf.yaml | 8 +- .../selec_meter/test.esp8266-ard.yaml | 8 +- .../selec_meter/test.rp2040-ard.yaml | 4 + tests/components/sen0321/common.yaml | 6 +- .../components/sen0321/test.esp32-c3-idf.yaml | 5 +- tests/components/sen0321/test.esp32-idf.yaml | 5 +- .../components/sen0321/test.esp8266-ard.yaml | 5 +- tests/components/sen0321/test.rp2040-ard.yaml | 5 +- tests/components/sen21231/common.yaml | 6 +- .../sen21231/test.esp32-c3-idf.yaml | 5 +- tests/components/sen21231/test.esp32-idf.yaml | 5 +- .../components/sen21231/test.esp8266-ard.yaml | 5 +- .../components/sen21231/test.rp2040-ard.yaml | 5 +- tests/components/sen5x/common.yaml | 6 +- tests/components/sen5x/test.esp32-c3-idf.yaml | 5 +- tests/components/sen5x/test.esp32-idf.yaml | 5 +- tests/components/sen5x/test.esp8266-ard.yaml | 5 +- tests/components/sen5x/test.rp2040-ard.yaml | 5 +- tests/components/senseair/common.yaml | 6 - .../senseair/test.esp32-c3-idf.yaml | 4 +- tests/components/senseair/test.esp32-idf.yaml | 7 +- .../components/senseair/test.esp8266-ard.yaml | 7 +- .../components/senseair/test.rp2040-ard.yaml | 3 + tests/components/sfa30/common.yaml | 6 +- tests/components/sfa30/test.esp32-c3-idf.yaml | 5 +- tests/components/sfa30/test.esp32-idf.yaml | 5 +- tests/components/sfa30/test.esp8266-ard.yaml | 5 +- tests/components/sfa30/test.rp2040-ard.yaml | 5 +- tests/components/sgp30/common.yaml | 6 +- tests/components/sgp30/test.esp32-c3-idf.yaml | 5 +- tests/components/sgp30/test.esp32-idf.yaml | 5 +- tests/components/sgp30/test.esp8266-ard.yaml | 5 +- tests/components/sgp30/test.rp2040-ard.yaml | 5 +- tests/components/sgp4x/common.yaml | 6 +- tests/components/sgp4x/test.esp32-c3-idf.yaml | 5 +- tests/components/sgp4x/test.esp32-idf.yaml | 5 +- tests/components/sgp4x/test.esp8266-ard.yaml | 5 +- tests/components/sgp4x/test.rp2040-ard.yaml | 5 +- tests/components/shelly_dimmer/common.yaml | 6 - .../shelly_dimmer/test.esp8266-ard.yaml | 3 + tests/components/sht3xd/common.yaml | 6 +- .../components/sht3xd/test.esp32-c3-idf.yaml | 5 +- tests/components/sht3xd/test.esp32-idf.yaml | 5 +- tests/components/sht3xd/test.esp8266-ard.yaml | 5 +- tests/components/sht3xd/test.rp2040-ard.yaml | 5 +- tests/components/sht4x/common.yaml | 6 +- tests/components/sht4x/test.esp32-c3-idf.yaml | 5 +- tests/components/sht4x/test.esp32-idf.yaml | 5 +- tests/components/sht4x/test.esp8266-ard.yaml | 5 +- tests/components/sht4x/test.rp2040-ard.yaml | 5 +- tests/components/shtcx/common.yaml | 6 +- tests/components/shtcx/test.esp32-c3-idf.yaml | 5 +- tests/components/shtcx/test.esp32-idf.yaml | 5 +- tests/components/shtcx/test.esp8266-ard.yaml | 5 +- tests/components/shtcx/test.rp2040-ard.yaml | 5 +- tests/components/sim800l/common.yaml | 6 - .../components/sim800l/test.esp32-c3-idf.yaml | 4 +- tests/components/sim800l/test.esp32-idf.yaml | 7 +- .../components/sim800l/test.esp8266-ard.yaml | 7 +- tests/components/sim800l/test.rp2040-ard.yaml | 3 + tests/components/sm16716/test.esp32-idf.yaml | 4 +- .../components/sm16716/test.esp8266-ard.yaml | 4 +- tests/components/sm2135/test.esp32-idf.yaml | 4 +- tests/components/sm2135/test.esp8266-ard.yaml | 4 +- tests/components/sm2235/test.esp32-idf.yaml | 4 +- tests/components/sm2235/test.esp8266-ard.yaml | 4 +- tests/components/sm2335/test.esp32-idf.yaml | 4 +- tests/components/sm2335/test.esp8266-ard.yaml | 4 +- tests/components/sm300d2/common.yaml | 6 - .../components/sm300d2/test.esp32-c3-idf.yaml | 4 +- tests/components/sm300d2/test.esp32-idf.yaml | 7 +- .../components/sm300d2/test.esp8266-ard.yaml | 7 +- tests/components/sm300d2/test.rp2040-ard.yaml | 3 + tests/components/sml/common.yaml | 6 - tests/components/sml/test.esp32-c3-idf.yaml | 4 +- tests/components/sml/test.esp32-idf.yaml | 7 +- tests/components/sml/test.esp8266-ard.yaml | 7 +- tests/components/sml/test.rp2040-ard.yaml | 3 + tests/components/smt100/common.yaml | 6 - .../components/smt100/test.esp32-c3-idf.yaml | 4 +- tests/components/smt100/test.esp32-idf.yaml | 7 +- tests/components/smt100/test.esp8266-ard.yaml | 7 +- tests/components/smt100/test.rp2040-ard.yaml | 3 + .../components/sn74hc165/test.esp32-idf.yaml | 2 +- .../sn74hc165/test.esp8266-ard.yaml | 4 +- tests/components/sn74hc595/common.yaml | 6 - .../sn74hc595/test.esp32-c3-idf.yaml | 10 +- .../components/sn74hc595/test.esp32-idf.yaml | 10 +- .../sn74hc595/test.esp8266-ard.yaml | 6 +- .../components/sn74hc595/test.rp2040-ard.yaml | 12 +- tests/components/sonoff_d1/common.yaml | 6 - .../sonoff_d1/test.esp32-c3-idf.yaml | 5 +- .../components/sonoff_d1/test.esp32-idf.yaml | 5 +- .../sonoff_d1/test.esp8266-ard.yaml | 5 +- .../components/sonoff_d1/test.rp2040-ard.yaml | 5 +- .../sound_level/test.esp32-idf.yaml | 3 + .../speaker/audio_dac.esp32-ard.yaml | 5 +- .../speaker/audio_dac.esp32-c3-idf.yaml | 5 +- .../speaker/audio_dac.esp32-idf.yaml | 5 +- .../components/speaker/common-audio_dac.yaml | 6 +- tests/components/speaker/test.esp32-ard.yaml | 7 +- .../components/speaker/test.esp32-c3-idf.yaml | 3 + tests/components/speaker/test.esp32-idf.yaml | 7 +- tests/components/spi/common.yaml | 5 - tests/components/spi/test.esp32-c3-idf.yaml | 5 +- tests/components/spi/test.esp32-idf.yaml | 6 +- tests/components/spi/test.esp8266-ard.yaml | 6 +- tests/components/spi_device/common.yaml | 6 - .../spi_device/test.esp32-c3-idf.yaml | 6 +- .../components/spi_device/test.esp32-idf.yaml | 6 +- .../spi_device/test.esp8266-ard.yaml | 6 +- .../spi_device/test.rp2040-ard.yaml | 6 +- tests/components/spi_led_strip/common.yaml | 5 - .../spi_led_strip/test.esp32-c3-idf.yaml | 5 +- .../spi_led_strip/test.esp32-idf.yaml | 5 +- .../spi_led_strip/test.esp8266-ard.yaml | 5 +- .../spi_led_strip/test.rp2040-ard.yaml | 5 +- tests/components/sps30/common.yaml | 6 +- tests/components/sps30/test.esp32-c3-idf.yaml | 5 +- tests/components/sps30/test.esp32-idf.yaml | 5 +- tests/components/sps30/test.esp8266-ard.yaml | 5 +- tests/components/sps30/test.rp2040-ard.yaml | 5 +- tests/components/ssd1306_i2c/common.yaml | 14 +- .../ssd1306_i2c/test.esp32-c3-idf.yaml | 5 +- .../ssd1306_i2c/test.esp32-idf.yaml | 5 +- .../ssd1306_i2c/test.esp8266-ard.yaml | 5 +- .../ssd1306_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ssd1306_spi/common.yaml | 13 +- .../ssd1306_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1306_spi/test.esp32-idf.yaml | 5 +- .../ssd1306_spi/test.esp8266-ard.yaml | 7 +- .../ssd1306_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1322_spi/common.yaml | 13 +- .../ssd1322_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1322_spi/test.esp32-idf.yaml | 5 +- .../ssd1322_spi/test.esp8266-ard.yaml | 7 +- .../ssd1322_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1325_spi/common.yaml | 13 +- .../ssd1325_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1325_spi/test.esp32-idf.yaml | 5 +- .../ssd1325_spi/test.esp8266-ard.yaml | 7 +- .../ssd1325_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1327_i2c/common.yaml | 14 +- .../ssd1327_i2c/test.esp32-c3-idf.yaml | 5 +- .../ssd1327_i2c/test.esp32-idf.yaml | 5 +- .../ssd1327_i2c/test.esp8266-ard.yaml | 5 +- .../ssd1327_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ssd1327_spi/common.yaml | 13 +- .../ssd1327_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1327_spi/test.esp32-idf.yaml | 5 +- .../ssd1327_spi/test.esp8266-ard.yaml | 7 +- .../ssd1327_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1331_spi/common.yaml | 13 +- .../ssd1331_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1331_spi/test.esp32-idf.yaml | 5 +- .../ssd1331_spi/test.esp8266-ard.yaml | 7 +- .../ssd1331_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1351_spi/common.yaml | 13 +- .../ssd1351_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1351_spi/test.esp32-idf.yaml | 5 +- .../ssd1351_spi/test.esp8266-ard.yaml | 7 +- .../ssd1351_spi/test.rp2040-ard.yaml | 3 + tests/components/st7567_i2c/common.yaml | 14 +- .../st7567_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/st7567_i2c/test.esp32-idf.yaml | 5 +- .../st7567_i2c/test.esp8266-ard.yaml | 5 +- .../st7567_i2c/test.rp2040-ard.yaml | 5 +- tests/components/st7567_spi/common.yaml | 13 +- .../st7567_spi/test.esp32-c3-idf.yaml | 5 +- .../components/st7567_spi/test.esp32-idf.yaml | 5 +- .../st7567_spi/test.esp8266-ard.yaml | 7 +- .../st7567_spi/test.rp2040-ard.yaml | 3 + tests/components/st7701s/common.yaml | 5 - .../components/st7701s/test.esp32-s3-idf.yaml | 4 +- tests/components/st7735/common.yaml | 13 +- .../components/st7735/test.esp32-c3-idf.yaml | 5 +- tests/components/st7735/test.esp32-idf.yaml | 5 +- tests/components/st7735/test.esp8266-ard.yaml | 7 +- tests/components/st7735/test.rp2040-ard.yaml | 3 + tests/components/st7789v/common.yaml | 14 +- .../components/st7789v/test.esp32-c3-idf.yaml | 7 +- tests/components/st7789v/test.esp32-idf.yaml | 6 +- .../components/st7789v/test.esp8266-ard.yaml | 8 +- tests/components/st7789v/test.rp2040-ard.yaml | 4 + tests/components/st7920/common.yaml | 13 +- .../components/st7920/test.esp32-c3-idf.yaml | 5 +- tests/components/st7920/test.esp32-idf.yaml | 5 +- tests/components/st7920/test.esp8266-ard.yaml | 11 +- tests/components/st7920/test.rp2040-ard.yaml | 3 + tests/components/sts3x/common.yaml | 6 +- tests/components/sts3x/test.esp32-c3-idf.yaml | 5 +- tests/components/sts3x/test.esp32-idf.yaml | 5 +- tests/components/sts3x/test.esp8266-ard.yaml | 5 +- tests/components/sts3x/test.rp2040-ard.yaml | 5 +- tests/components/sun_gtil2/common.yaml | 5 - .../sun_gtil2/test.esp32-c3-idf.yaml | 3 +- .../components/sun_gtil2/test.esp32-idf.yaml | 5 +- .../sun_gtil2/test.esp8266-ard.yaml | 5 +- .../components/sun_gtil2/test.rp2040-ard.yaml | 3 + tests/components/sx126x/common.yaml | 5 - .../components/sx126x/test.esp32-c3-idf.yaml | 8 +- tests/components/sx126x/test.esp32-idf.yaml | 10 +- tests/components/sx126x/test.esp8266-ard.yaml | 9 +- tests/components/sx126x/test.rp2040-ard.yaml | 3 + tests/components/sx127x/common.yaml | 5 - .../components/sx127x/test.esp32-c3-idf.yaml | 5 +- tests/components/sx127x/test.esp32-idf.yaml | 10 +- tests/components/sx127x/test.esp8266-ard.yaml | 9 +- tests/components/sx127x/test.rp2040-ard.yaml | 3 + tests/components/sx1509/common.yaml | 6 +- .../components/sx1509/test.esp32-c3-idf.yaml | 5 +- tests/components/sx1509/test.esp32-idf.yaml | 5 +- tests/components/sx1509/test.esp8266-ard.yaml | 5 +- tests/components/sx1509/test.rp2040-ard.yaml | 5 +- tests/components/syslog/test.host.yaml | 13 +- tests/components/t6615/common.yaml | 6 - tests/components/t6615/test.esp32-c3-idf.yaml | 5 +- tests/components/t6615/test.esp32-idf.yaml | 7 +- tests/components/t6615/test.esp8266-ard.yaml | 7 +- tests/components/t6615/test.rp2040-ard.yaml | 3 + tests/components/tc74/common.yaml | 6 +- tests/components/tc74/test.esp32-c3-idf.yaml | 5 +- tests/components/tc74/test.esp32-idf.yaml | 5 +- tests/components/tc74/test.esp8266-ard.yaml | 5 +- tests/components/tc74/test.rp2040-ard.yaml | 5 +- tests/components/tca9548a/common.yaml | 9 +- .../tca9548a/test.esp32-c3-idf.yaml | 5 +- tests/components/tca9548a/test.esp32-idf.yaml | 5 +- .../components/tca9548a/test.esp8266-ard.yaml | 5 +- .../components/tca9548a/test.rp2040-ard.yaml | 5 +- tests/components/tca9555/common.yaml | 6 +- .../components/tca9555/test.esp32-c3-idf.yaml | 5 +- tests/components/tca9555/test.esp32-idf.yaml | 5 +- .../components/tca9555/test.esp8266-ard.yaml | 5 +- tests/components/tca9555/test.rp2040-ard.yaml | 5 +- tests/components/tcs34725/common.yaml | 6 +- .../tcs34725/test.esp32-c3-idf.yaml | 5 +- tests/components/tcs34725/test.esp32-idf.yaml | 5 +- .../components/tcs34725/test.esp8266-ard.yaml | 5 +- .../components/tcs34725/test.rp2040-ard.yaml | 5 +- tests/components/tee501/common.yaml | 6 +- .../components/tee501/test.esp32-c3-idf.yaml | 5 +- tests/components/tee501/test.esp32-idf.yaml | 5 +- tests/components/tee501/test.esp8266-ard.yaml | 5 +- tests/components/tee501/test.rp2040-ard.yaml | 5 +- tests/components/teleinfo/common.yaml | 7 - .../teleinfo/test.esp32-c3-idf.yaml | 4 +- tests/components/teleinfo/test.esp32-idf.yaml | 7 +- .../components/teleinfo/test.esp8266-ard.yaml | 7 +- .../components/teleinfo/test.rp2040-ard.yaml | 3 + tests/components/tem3200/common.yaml | 8 +- tests/components/tem3200/test.esp32-idf.yaml | 5 +- .../components/tem3200/test.esp32-s3-idf.yaml | 3 + .../components/tem3200/test.esp8266-ard.yaml | 5 +- tests/components/template/common-base.yaml | 342 +++++++ tests/components/template/common.yaml | 341 +------ .../template/test.nrf52-adafruit.yaml | 7 +- .../template/test.nrf52-mcumgr.yaml | 7 +- tests/components/tlc59208f/common.yaml | 8 +- .../tlc59208f/test.esp32-c3-idf.yaml | 5 +- .../components/tlc59208f/test.esp32-idf.yaml | 5 +- .../tlc59208f/test.esp8266-ard.yaml | 5 +- .../components/tlc59208f/test.rp2040-ard.yaml | 5 +- .../components/tlc5947/test.esp8266-ard.yaml | 6 +- .../components/tlc5971/test.esp8266-ard.yaml | 4 +- tests/components/tm1621/test.esp32-idf.yaml | 7 +- tests/components/tm1621/test.esp8266-ard.yaml | 9 +- tests/components/tm1621/test.rp2040-ard.yaml | 7 +- .../components/tm1637/test.esp32-c3-idf.yaml | 2 +- tests/components/tm1637/test.esp8266-ard.yaml | 4 +- tests/components/tmp102/common.yaml | 6 +- .../components/tmp102/test.esp32-c3-idf.yaml | 5 +- tests/components/tmp102/test.esp32-idf.yaml | 5 +- tests/components/tmp102/test.esp8266-ard.yaml | 5 +- tests/components/tmp102/test.rp2040-ard.yaml | 5 +- tests/components/tmp1075/common.yaml | 6 +- .../components/tmp1075/test.esp32-c3-idf.yaml | 5 +- tests/components/tmp1075/test.esp32-idf.yaml | 5 +- .../components/tmp1075/test.esp8266-ard.yaml | 5 +- tests/components/tmp1075/test.rp2040-ard.yaml | 5 +- tests/components/tmp117/common.yaml | 6 +- .../components/tmp117/test.esp32-c3-idf.yaml | 5 +- tests/components/tmp117/test.esp32-idf.yaml | 5 +- tests/components/tmp117/test.esp8266-ard.yaml | 5 +- tests/components/tmp117/test.rp2040-ard.yaml | 5 +- tests/components/tof10120/common.yaml | 6 +- .../tof10120/test.esp32-c3-idf.yaml | 5 +- tests/components/tof10120/test.esp32-idf.yaml | 5 +- .../components/tof10120/test.esp8266-ard.yaml | 5 +- .../components/tof10120/test.rp2040-ard.yaml | 5 +- tests/components/tormatic/common.yaml | 7 - .../tormatic/test.esp32-c3-idf.yaml | 4 +- tests/components/tormatic/test.esp32-idf.yaml | 7 +- .../components/tormatic/test.esp8266-ard.yaml | 7 +- .../components/tormatic/test.rp2040-ard.yaml | 3 + .../total_daily_energy/test.esp8266-ard.yaml | 6 +- tests/components/tsl2561/common.yaml | 6 +- .../components/tsl2561/test.esp32-c3-idf.yaml | 5 +- tests/components/tsl2561/test.esp32-idf.yaml | 5 +- .../components/tsl2561/test.esp8266-ard.yaml | 5 +- tests/components/tsl2561/test.rp2040-ard.yaml | 5 +- tests/components/tsl2591/common.yaml | 6 +- .../components/tsl2591/test.esp32-c3-idf.yaml | 5 +- tests/components/tsl2591/test.esp32-idf.yaml | 5 +- .../components/tsl2591/test.esp8266-ard.yaml | 5 +- tests/components/tsl2591/test.rp2040-ard.yaml | 5 +- tests/components/tt21100/common.yaml | 11 +- .../components/tt21100/test.esp32-c3-idf.yaml | 7 +- tests/components/tt21100/test.esp32-idf.yaml | 7 +- .../components/tt21100/test.esp8266-ard.yaml | 7 +- tests/components/tt21100/test.rp2040-ard.yaml | 5 +- tests/components/ttp229_bsf/common.yaml | 4 +- .../ttp229_bsf/test.esp32-c3-idf.yaml | 7 +- .../components/ttp229_bsf/test.esp32-idf.yaml | 7 +- .../ttp229_bsf/test.esp8266-ard.yaml | 7 +- .../ttp229_bsf/test.rp2040-ard.yaml | 7 +- tests/components/ttp229_lsf/common.yaml | 6 +- .../ttp229_lsf/test.esp32-c3-idf.yaml | 5 +- .../components/ttp229_lsf/test.esp32-idf.yaml | 5 +- .../ttp229_lsf/test.esp8266-ard.yaml | 5 +- .../ttp229_lsf/test.rp2040-ard.yaml | 5 +- tests/components/tuya/common.yaml | 6 - tests/components/tuya/test.esp32-c3-idf.yaml | 4 +- tests/components/tuya/test.esp32-idf.yaml | 7 +- tests/components/tuya/test.esp8266-ard.yaml | 9 +- tests/components/tuya/test.rp2040-ard.yaml | 3 + tests/components/udp/test.esp32-c3-idf.yaml | 3 + tests/components/udp/test.esp32-idf.yaml | 3 + tests/components/udp/test.esp8266-ard.yaml | 3 + tests/components/udp/test.host.yaml | 19 +- tests/components/udp/test.rp2040-ard.yaml | 3 + tests/components/ufire_ec/common.yaml | 6 +- .../ufire_ec/test.esp32-c3-idf.yaml | 5 +- tests/components/ufire_ec/test.esp32-idf.yaml | 5 +- .../components/ufire_ec/test.esp8266-ard.yaml | 5 +- .../components/ufire_ec/test.rp2040-ard.yaml | 5 +- tests/components/ufire_ise/common.yaml | 6 +- .../ufire_ise/test.esp32-c3-idf.yaml | 5 +- .../components/ufire_ise/test.esp32-idf.yaml | 5 +- .../ufire_ise/test.esp8266-ard.yaml | 5 +- .../components/ufire_ise/test.rp2040-ard.yaml | 5 +- tests/components/update/common.yaml | 2 + tests/components/uponor_smatrix/common.yaml | 7 - .../uponor_smatrix/test.esp32-c3-idf.yaml | 6 +- .../uponor_smatrix/test.esp32-idf.yaml | 5 +- .../uponor_smatrix/test.esp8266-ard.yaml | 6 +- .../uponor_smatrix/test.rp2040-ard.yaml | 6 +- tests/components/vbus/common.yaml | 6 - tests/components/vbus/test.esp32-c3-idf.yaml | 5 +- tests/components/vbus/test.esp32-idf.yaml | 5 +- tests/components/vbus/test.esp8266-ard.yaml | 5 +- tests/components/vbus/test.rp2040-ard.yaml | 5 +- tests/components/veml3235/common.yaml | 6 +- .../veml3235/test.esp32-c3-idf.yaml | 5 +- tests/components/veml3235/test.esp32-idf.yaml | 5 +- .../components/veml3235/test.esp8266-ard.yaml | 5 +- .../components/veml3235/test.rp2040-ard.yaml | 5 +- tests/components/veml7700/common.yaml | 7 +- .../veml7700/test.esp32-c3-idf.yaml | 5 +- tests/components/veml7700/test.esp32-idf.yaml | 5 +- .../components/veml7700/test.esp8266-ard.yaml | 5 +- .../components/veml7700/test.rp2040-ard.yaml | 5 +- tests/components/vl53l0x/common.yaml | 6 +- .../components/vl53l0x/test.esp32-c3-idf.yaml | 5 +- tests/components/vl53l0x/test.esp32-idf.yaml | 5 +- .../components/vl53l0x/test.esp8266-ard.yaml | 5 +- tests/components/vl53l0x/test.rp2040-ard.yaml | 5 +- .../voice_assistant/common-idf.yaml | 1 + .../voice_assistant/test.esp32-idf.yaml | 4 +- .../wake_on_lan/test.esp32-c3-idf.yaml | 3 + .../wake_on_lan/test.esp32-idf.yaml | 3 + .../wake_on_lan/test.esp8266-ard.yaml | 3 + .../wake_on_lan/test.rp2040-ard.yaml | 3 + tests/components/waveshare_epaper/common.yaml | 50 - .../waveshare_epaper/test.esp32-c3-idf.yaml | 6 +- .../waveshare_epaper/test.esp32-idf.yaml | 9 +- .../waveshare_epaper/test.esp8266-ard.yaml | 7 +- .../waveshare_epaper/test.rp2040-ard.yaml | 3 + .../web_server/test_ota.esp32-idf.yaml | 2 + .../wifi_info/test.esp32-c3-idf.yaml | 3 + .../components/wifi_info/test.esp32-idf.yaml | 3 + .../wifi_info/test.esp8266-ard.yaml | 3 + .../components/wifi_info/test.rp2040-ard.yaml | 3 + .../wireguard/test.esp32-c3-idf.yaml | 3 + .../components/wireguard/test.esp32-idf.yaml | 3 + .../wireguard/test.esp8266-ard.yaml | 3 + tests/components/wk2132_i2c/common.yaml | 9 +- .../components/wk2132_i2c/test.esp32-idf.yaml | 5 +- .../wk2132_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2132_spi/common.yaml | 7 - .../components/wk2132_spi/test.esp32-idf.yaml | 6 +- .../wk2132_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wk2168_i2c/common.yaml | 27 +- .../components/wk2168_i2c/test.esp32-idf.yaml | 5 +- .../wk2168_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2168_spi/common.yaml | 27 +- .../components/wk2168_spi/test.esp32-idf.yaml | 6 +- .../wk2168_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wk2204_i2c/common.yaml | 7 - .../components/wk2204_i2c/test.esp32-idf.yaml | 5 +- .../wk2204_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2204_spi/common.yaml | 7 - .../components/wk2204_spi/test.esp32-idf.yaml | 6 +- .../wk2204_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wk2212_i2c/common.yaml | 17 +- .../components/wk2212_i2c/test.esp32-idf.yaml | 5 +- .../wk2212_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2212_spi/common.yaml | 23 +- .../components/wk2212_spi/test.esp32-idf.yaml | 6 +- .../wk2212_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wl_134/common.yaml | 6 - .../components/wl_134/test.esp32-c3-idf.yaml | 4 +- tests/components/wl_134/test.esp32-idf.yaml | 7 +- tests/components/wl_134/test.esp8266-ard.yaml | 7 +- tests/components/wl_134/test.rp2040-ard.yaml | 3 + tests/components/wts01/common.yaml | 4 - tests/components/wts01/test.esp32-c3-idf.yaml | 4 +- tests/components/wts01/test.esp32-idf.yaml | 7 +- tests/components/wts01/test.esp8266-ard.yaml | 3 + tests/components/wts01/test.rp2040-ard.yaml | 3 + tests/components/x9c/test.esp32-idf.yaml | 3 + tests/components/x9c/test.esp8266-ard.yaml | 7 +- tests/components/x9c/test.rp2040-ard.yaml | 9 +- tests/components/xgzp68xx/common.yaml | 6 +- .../xgzp68xx/test.esp32-c3-idf.yaml | 5 +- tests/components/xgzp68xx/test.esp32-idf.yaml | 5 +- .../components/xgzp68xx/test.esp8266-ard.yaml | 5 +- .../components/xgzp68xx/test.rp2040-ard.yaml | 5 +- .../xiaomi_ble/test.esp32-c3-idf.yaml | 3 + .../components/xiaomi_ble/test.esp32-idf.yaml | 3 + .../xiaomi_cgd1/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgd1/test.esp32-idf.yaml | 3 + .../xiaomi_cgdk2/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgdk2/test.esp32-idf.yaml | 3 + .../xiaomi_cgg1/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgg1/test.esp32-idf.yaml | 3 + .../xiaomi_cgpr1/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgpr1/test.esp32-idf.yaml | 3 + .../xiaomi_gcls002/test.esp32-c3-idf.yaml | 3 + .../xiaomi_gcls002/test.esp32-idf.yaml | 3 + .../xiaomi_hhccjcy01/test.esp32-c3-idf.yaml | 3 + .../xiaomi_hhccjcy01/test.esp32-idf.yaml | 3 + .../xiaomi_hhccpot002/test.esp32-c3-idf.yaml | 3 + .../xiaomi_hhccpot002/test.esp32-idf.yaml | 3 + .../xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml | 3 + .../xiaomi_jqjcy01ym/test.esp32-idf.yaml | 3 + .../xiaomi_lywsd02/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsd02/test.esp32-idf.yaml | 3 + .../xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsd02mmc/test.esp32-idf.yaml | 3 + .../xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsd03mmc/test.esp32-idf.yaml | 3 + .../xiaomi_lywsdcgq/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsdcgq/test.esp32-idf.yaml | 3 + .../xiaomi_mhoc303/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mhoc303/test.esp32-idf.yaml | 3 + .../xiaomi_mhoc401/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mhoc401/test.esp32-idf.yaml | 3 + .../xiaomi_miscale copy/common.yaml | 9 - .../xiaomi_miscale copy/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../test.esp32-c3-idf.yaml | 1 - .../xiaomi_miscale copy/test.esp32-idf.yaml | 1 - .../xiaomi_miscale/test.esp32-c3-idf.yaml | 3 + .../xiaomi_miscale/test.esp32-idf.yaml | 3 + .../xiaomi_mjyd02yla/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mjyd02yla/test.esp32-idf.yaml | 3 + .../xiaomi_mue4094rt/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mue4094rt/test.esp32-idf.yaml | 3 + .../xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml | 3 + .../xiaomi_rtcgq02lm/test.esp32-idf.yaml | 3 + .../xiaomi_wx08zm/test.esp32-c3-idf.yaml | 3 + .../xiaomi_wx08zm/test.esp32-idf.yaml | 3 + .../xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml | 3 + .../xiaomi_xmwsdj04mmc/test.esp32-idf.yaml | 3 + tests/components/xl9535/common.yaml | 6 +- .../components/xl9535/test.esp32-c3-idf.yaml | 5 +- tests/components/xl9535/test.esp32-idf.yaml | 5 +- tests/components/xl9535/test.esp8266-ard.yaml | 5 +- tests/components/xl9535/test.rp2040-ard.yaml | 5 +- tests/components/xpt2046/common.yaml | 6 - .../components/xpt2046/test.esp32-c3-idf.yaml | 5 +- tests/components/xpt2046/test.esp32-idf.yaml | 6 +- .../components/xpt2046/test.esp8266-ard.yaml | 5 +- tests/components/xpt2046/test.rp2040-ard.yaml | 3 + tests/components/zio_ultrasonic/common.yaml | 6 +- .../zio_ultrasonic/test.esp32-c3-idf.yaml | 5 +- .../zio_ultrasonic/test.esp32-idf.yaml | 5 +- .../zio_ultrasonic/test.esp8266-ard.yaml | 5 +- .../zio_ultrasonic/test.rp2040-ard.yaml | 5 +- tests/components/zwave_proxy/common.yaml | 6 - .../zwave_proxy/test.esp32-c3-idf.yaml | 4 +- .../zwave_proxy/test.esp32-idf.yaml | 7 +- .../zwave_proxy/test.esp8266-ard.yaml | 7 +- .../zwave_proxy/test.rp2040-ard.yaml | 3 + tests/components/zyaura/test.esp32-idf.yaml | 4 +- tests/components/zyaura/test.esp8266-ard.yaml | 4 +- .../build_components_base.bk72xx-ard.yaml | 2 +- tests/test_build_components/common/README.md | 248 +++++ .../common/ble/esp32-ard.yaml | 9 + .../common/ble/esp32-c3-idf.yaml | 9 + .../common/ble/esp32-idf.yaml | 9 + .../common/camera/esp32-idf.yaml | 29 + .../common/i2c/bk72xx-ard.yaml | 11 + .../common/i2c/esp32-ard.yaml | 11 + .../common/i2c/esp32-c3-ard.yaml | 11 + .../common/i2c/esp32-c3-idf.yaml | 11 + .../common/i2c/esp32-idf.yaml | 13 + .../common/i2c/esp32-p4-idf.yaml | 13 + .../common/i2c/esp32-s2-ard.yaml | 11 + .../common/i2c/esp32-s2-idf.yaml | 11 + .../common/i2c/esp32-s3-ard.yaml | 11 + .../common/i2c/esp32-s3-idf.yaml | 11 + .../common/i2c/esp8266-ard.yaml | 11 + .../common/i2c/rp2040-ard.yaml | 11 + .../common/i2c_low_freq/esp32-ard.yaml | 12 + .../common/i2c_low_freq/esp32-c3-ard.yaml | 12 + .../common/i2c_low_freq/esp32-c3-idf.yaml | 12 + .../common/i2c_low_freq/esp32-idf.yaml | 13 + .../common/i2c_low_freq/esp8266-ard.yaml | 12 + .../common/i2c_low_freq/rp2040-ard.yaml | 12 + .../common/modbus/bk72xx-ard.yaml | 12 + .../common/modbus/esp32-ard.yaml | 12 + .../common/modbus/esp32-c3-ard.yaml | 12 + .../common/modbus/esp32-c3-idf.yaml | 12 + .../common/modbus/esp32-idf.yaml | 13 + .../common/modbus/esp32-s2-ard.yaml | 12 + .../common/modbus/esp32-s2-idf.yaml | 12 + .../common/modbus/esp32-s3-ard.yaml | 12 + .../common/modbus/esp32-s3-idf.yaml | 12 + .../common/modbus/esp8266-ard.yaml | 12 + .../common/modbus/rp2040-ard.yaml | 12 + .../common/qspi/esp32-s3-idf.yaml | 13 + .../common/spi/bk72xx-ard.yaml | 12 + .../common/spi/esp32-ard.yaml | 12 + .../common/spi/esp32-c3-ard.yaml | 12 + .../common/spi/esp32-c3-idf.yaml | 15 + .../common/spi/esp32-idf.yaml | 15 + .../common/spi/esp32-s2-ard.yaml | 12 + .../common/spi/esp32-s2-idf.yaml | 12 + .../common/spi/esp32-s3-ard.yaml | 12 + .../common/spi/esp32-s3-idf.yaml | 12 + .../common/spi/esp8266-ard.yaml | 12 + .../common/spi/rp2040-ard.yaml | 12 + .../common/uart/bk72xx-ard.yaml | 13 + .../common/uart/esp32-ard.yaml | 11 + .../common/uart/esp32-c3-ard.yaml | 11 + .../common/uart/esp32-c3-idf.yaml | 13 + .../common/uart/esp32-idf.yaml | 13 + .../common/uart/esp8266-ard.yaml | 11 + .../common/uart/rp2040-ard.yaml | 11 + .../common/uart_115200/esp32-ard.yaml | 11 + .../common/uart_115200/esp32-c3-ard.yaml | 11 + .../common/uart_115200/esp32-c3-idf.yaml | 12 + .../common/uart_115200/esp32-idf.yaml | 12 + .../common/uart_115200/esp8266-ard.yaml | 11 + .../common/uart_115200/rp2040-ard.yaml | 11 + .../common/uart_1200/esp32-ard.yaml | 11 + .../common/uart_1200/esp32-c3-ard.yaml | 11 + .../common/uart_1200/esp32-c3-idf.yaml | 11 + .../common/uart_1200/esp32-idf.yaml | 11 + .../common/uart_1200/esp8266-ard.yaml | 11 + .../common/uart_1200/rp2040-ard.yaml | 11 + .../common/uart_1200_even/esp32-ard.yaml | 12 + .../common/uart_1200_even/esp32-c3-ard.yaml | 12 + .../common/uart_1200_even/esp32-c3-idf.yaml | 12 + .../common/uart_1200_even/esp32-idf.yaml | 12 + .../common/uart_1200_even/esp8266-ard.yaml | 12 + .../common/uart_1200_even/rp2040-ard.yaml | 12 + .../common/uart_19200/esp32-ard.yaml | 11 + .../common/uart_19200/esp32-c3-ard.yaml | 11 + .../common/uart_19200/esp32-c3-idf.yaml | 12 + .../common/uart_19200/esp32-idf.yaml | 12 + .../common/uart_19200/esp8266-ard.yaml | 11 + .../common/uart_19200/rp2040-ard.yaml | 11 + .../common/uart_38400/esp32-ard.yaml | 11 + .../common/uart_38400/esp32-c3-ard.yaml | 11 + .../common/uart_38400/esp32-c3-idf.yaml | 11 + .../common/uart_38400/esp32-idf.yaml | 11 + .../common/uart_38400/esp8266-ard.yaml | 11 + .../common/uart_38400/rp2040-ard.yaml | 11 + .../common/uart_4800/esp32-ard.yaml | 11 + .../common/uart_4800/esp32-c3-ard.yaml | 11 + .../common/uart_4800/esp32-c3-idf.yaml | 11 + .../common/uart_4800/esp32-idf.yaml | 11 + .../common/uart_4800/esp8266-ard.yaml | 11 + .../common/uart_4800/rp2040-ard.yaml | 11 + .../common/uart_4800_even/esp32-ard.yaml | 12 + .../common/uart_4800_even/esp32-c3-ard.yaml | 12 + .../common/uart_4800_even/esp32-c3-idf.yaml | 12 + .../common/uart_4800_even/esp32-idf.yaml | 12 + .../common/uart_4800_even/esp8266-ard.yaml | 12 + .../common/uart_4800_even/rp2040-ard.yaml | 12 + .../common/uart_9600_even/esp32-ard.yaml | 12 + .../common/uart_9600_even/esp32-c3-ard.yaml | 12 + .../common/uart_9600_even/esp32-c3-idf.yaml | 12 + .../common/uart_9600_even/esp32-idf.yaml | 12 + .../common/uart_9600_even/esp8266-ard.yaml | 12 + .../common/uart_9600_even/rp2040-ard.yaml | 12 + 1808 files changed, 8564 insertions(+), 5758 deletions(-) create mode 100755 script/analyze_component_buses.py create mode 100755 script/merge_component_configs.py create mode 100755 script/split_components_for_ci.py mode change 100755 => 120000 script/test_build_components create mode 100755 script/test_build_components.py create mode 100755 script/test_component_grouping.py delete mode 100644 tests/components/adc/common.yaml create mode 100644 tests/components/api/common-base.yaml create mode 100644 tests/components/template/common-base.yaml delete mode 100644 tests/components/xiaomi_miscale copy/common.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-idf.yaml create mode 100644 tests/test_build_components/common/README.md create mode 100644 tests/test_build_components/common/ble/esp32-ard.yaml create mode 100644 tests/test_build_components/common/ble/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/ble/esp32-idf.yaml create mode 100644 tests/test_build_components/common/camera/esp32-idf.yaml create mode 100644 tests/test_build_components/common/i2c/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-p4-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s2-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s2-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s3-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/i2c/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/modbus/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s2-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s2-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s3-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/modbus/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/qspi/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/spi/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp32-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s2-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s2-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s3-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/spi/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/uart/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml diff --git a/.ai/instructions.md b/.ai/instructions.md index 1cd77b9136..d2e173472a 100644 --- a/.ai/instructions.md +++ b/.ai/instructions.md @@ -186,6 +186,11 @@ This document provides essential context for AI models interacting with this pro └── components/[component]/ # Component-specific tests ``` Run them using `script/test_build_components`. Use `-c ` to test specific components and `-t ` for specific platforms. + * **Testing All Components Together:** To verify that all components can be tested together without ID conflicts or configuration issues, use: + ```bash + ./script/test_component_grouping.py -e config --all + ``` + This tests all components in a single build to catch conflicts that might not appear when testing components individually. Use `-e config` for fast configuration validation, or `-e compile` for full compilation testing. * **Debugging and Troubleshooting:** * **Debug Tools:** - `esphome config .yaml` to validate configuration. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d7043c888..4451007da0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -369,10 +369,11 @@ jobs: matrix: file: ${{ fromJson(needs.determine-jobs.outputs.changed-components) }} steps: - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install libsdl2-dev + - name: Cache apt packages + uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 + with: + packages: libsdl2-dev + version: 1.0 - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -381,17 +382,17 @@ jobs: with: python-version: ${{ env.DEFAULT_PYTHON }} cache-key: ${{ needs.common.outputs.cache-key }} - - name: test_build_components -e config -c ${{ matrix.file }} + - name: Validate config for ${{ matrix.file }} run: | . venv/bin/activate - ./script/test_build_components -e config -c ${{ matrix.file }} - - name: test_build_components -e compile -c ${{ matrix.file }} + python3 script/test_build_components.py -e config -c ${{ matrix.file }} + - name: Compile config for ${{ matrix.file }} run: | . venv/bin/activate - ./script/test_build_components -e compile -c ${{ matrix.file }} + python3 script/test_build_components.py -e compile -c ${{ matrix.file }} test-build-components-splitter: - name: Split components for testing into 10 components per group + name: Split components for intelligent grouping (40 weighted per batch) runs-on: ubuntu-24.04 needs: - common @@ -402,14 +403,26 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Split components into groups of 10 + - name: Restore Python + uses: ./.github/actions/restore-python + with: + python-version: ${{ env.DEFAULT_PYTHON }} + cache-key: ${{ needs.common.outputs.cache-key }} + - name: Split components intelligently based on bus configurations id: split run: | - components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(10) | join(" ")]') - echo "components=$components" >> $GITHUB_OUTPUT + . venv/bin/activate + + # Use intelligent splitter that groups components with same bus configs + components='${{ needs.determine-jobs.outputs.changed-components }}' + + echo "Splitting components intelligently..." + output=$(python3 script/split_components_for_ci.py --components "$components" --batch-size 40 --output github) + + echo "$output" >> $GITHUB_OUTPUT test-build-components-split: - name: Test split components + name: Test components batch (${{ matrix.components }}) runs-on: ubuntu-24.04 needs: - common @@ -418,17 +431,23 @@ jobs: if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 strategy: fail-fast: false - max-parallel: 4 + max-parallel: 5 matrix: components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} steps: + - name: Show disk space + run: | + echo "Available disk space:" + df -h + - name: List components run: echo ${{ matrix.components }} - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install libsdl2-dev + - name: Cache apt packages + uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 + with: + packages: libsdl2-dev + version: 1.0 - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -437,20 +456,37 @@ jobs: with: python-version: ${{ env.DEFAULT_PYTHON }} cache-key: ${{ needs.common.outputs.cache-key }} - - name: Validate config + - name: Validate and compile components with intelligent grouping run: | . venv/bin/activate - for component in ${{ matrix.components }}; do - ./script/test_build_components -e config -c $component - done - - name: Compile config - run: | - . venv/bin/activate - mkdir build_cache - export PLATFORMIO_BUILD_CACHE_DIR=$PWD/build_cache - for component in ${{ matrix.components }}; do - ./script/test_build_components -e compile -c $component - done + # Use /mnt for build files (70GB available vs ~29GB on /) + # Bind mount PlatformIO directory to /mnt (tools, packages, build cache all go there) + sudo mkdir -p /mnt/platformio + sudo chown $USER:$USER /mnt/platformio + mkdir -p ~/.platformio + sudo mount --bind /mnt/platformio ~/.platformio + + # Bind mount test build directory to /mnt + sudo mkdir -p /mnt/test_build_components_build + sudo chown $USER:$USER /mnt/test_build_components_build + mkdir -p tests/test_build_components/build + sudo mount --bind /mnt/test_build_components_build tests/test_build_components/build + + # Convert space-separated components to comma-separated for Python script + components_csv=$(echo "${{ matrix.components }}" | tr ' ' ',') + + echo "Testing components: $components_csv" + echo "" + + # Run config validation with grouping + python3 script/test_build_components.py -e config -c "$components_csv" -f + + echo "" + echo "Config validation passed! Starting compilation..." + echo "" + + # Run compilation with grouping + python3 script/test_build_components.py -e compile -c "$components_csv" -f pre-commit-ci-lite: name: pre-commit.ci lite diff --git a/esphome/__main__.py b/esphome/__main__.py index b0f541f521..be4551f6b5 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -1002,6 +1002,12 @@ def parse_args(argv): action="append", default=[], ) + options_parser.add_argument( + "--testing-mode", + help="Enable testing mode (disables validation checks for grouped component testing)", + action="store_true", + default=False, + ) parser = argparse.ArgumentParser( description=f"ESPHome {const.__version__}", parents=[options_parser] @@ -1260,6 +1266,7 @@ def run_esphome(argv): args = parse_args(argv) CORE.dashboard = args.dashboard + CORE.testing_mode = args.testing_mode # Create address cache from command-line arguments CORE.address_cache = AddressCache.from_cli_args( diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index 05ef936baf..1c142ca7bd 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -285,6 +285,10 @@ def consume_connection_slots( def validate_connection_slots(max_connections: int) -> None: """Validate that BLE connection slots don't exceed the configured maximum.""" + # Skip validation in testing mode to allow component grouping + if CORE.testing_mode: + return + ble_data = CORE.data.get(KEY_ESP32_BLE, {}) used_slots = ble_data.get(KEY_USED_CONNECTION_SLOTS, []) num_used = len(used_slots) diff --git a/esphome/components/uart/__init__.py b/esphome/components/uart/__init__.py index 764576744f..f8f927d469 100644 --- a/esphome/components/uart/__init__.py +++ b/esphome/components/uart/__init__.py @@ -347,7 +347,7 @@ def final_validate_device_schema( def validate_pin(opt, device): def validator(value): - if opt in device: + if opt in device and not CORE.testing_mode: raise cv.Invalid( f"The uart {opt} is used both by {name} and {device[opt]}, " f"but can only be used by one. Please create a new uart bus for {name}." diff --git a/esphome/core/__init__.py b/esphome/core/__init__.py index 7ab8a3ba71..43febd28a2 100644 --- a/esphome/core/__init__.py +++ b/esphome/core/__init__.py @@ -529,6 +529,8 @@ class EsphomeCore: self.dashboard = False # True if command is run from vscode api self.vscode = False + # True if running in testing mode (disables validation checks for grouped testing) + self.testing_mode = False # The name of the node self.name: str | None = None # The friendly name of the node diff --git a/esphome/core/entity_helpers.py b/esphome/core/entity_helpers.py index e1b2a8264b..f0a04b4860 100644 --- a/esphome/core/entity_helpers.py +++ b/esphome/core/entity_helpers.py @@ -246,12 +246,15 @@ def entity_duplicate_validator(platform: str) -> Callable[[ConfigType], ConfigTy "\n to distinguish them" ) - raise cv.Invalid( - f"Duplicate {platform} entity with name '{entity_name}' found{device_prefix}. " - f"{conflict_msg}. " - "Each entity on a device must have a unique name within its platform." - f"{sanitized_msg}" - ) + # Skip duplicate entity name validation when testing_mode is enabled + # This flag is used for grouped component testing + if not CORE.testing_mode: + raise cv.Invalid( + f"Duplicate {platform} entity with name '{entity_name}' found{device_prefix}. " + f"{conflict_msg}. " + "Each entity on a device must have a unique name within its platform." + f"{sanitized_msg}" + ) # Store metadata about this entity entity_metadata: EntityMetadata = { diff --git a/esphome/pins.py b/esphome/pins.py index 4f9b4859a1..601c05880a 100644 --- a/esphome/pins.py +++ b/esphome/pins.py @@ -118,11 +118,11 @@ class PinRegistry(dict): parent_config = fconf.get_config_for_path(parent_path) final_val_fun(pin_config, parent_config) allow_others = pin_config.get(CONF_ALLOW_OTHER_USES, False) - if count != 1 and not allow_others: + if count != 1 and not allow_others and not CORE.testing_mode: raise cv.Invalid( f"Pin {pin_config[CONF_NUMBER]} is used in multiple places" ) - if count == 1 and allow_others: + if count == 1 and allow_others and not CORE.testing_mode: raise cv.Invalid( f"Pin {pin_config[CONF_NUMBER]} incorrectly sets {CONF_ALLOW_OTHER_USES}: true" ) diff --git a/esphome/platformio_api.py b/esphome/platformio_api.py index 8b7b790829..9418c1c7d3 100644 --- a/esphome/platformio_api.py +++ b/esphome/platformio_api.py @@ -5,6 +5,7 @@ import os from pathlib import Path import re import subprocess +from typing import Any from esphome.const import CONF_COMPILE_PROCESS_LIMIT, CONF_ESPHOME, KEY_CORE from esphome.core import CORE, EsphomeError @@ -42,6 +43,35 @@ def patch_structhash(): cli.clean_build_dir = patched_clean_build_dir +def patch_file_downloader(): + """Patch PlatformIO's FileDownloader to retry on PackageException errors.""" + from platformio.package.download import FileDownloader + from platformio.package.exception import PackageException + + original_init = FileDownloader.__init__ + + def patched_init(self, *args: Any, **kwargs: Any) -> None: + max_retries = 3 + + for attempt in range(max_retries): + try: + return original_init(self, *args, **kwargs) + except PackageException as e: + if attempt < max_retries - 1: + _LOGGER.warning( + "Package download failed: %s. Retrying... (attempt %d/%d)", + str(e), + attempt + 1, + max_retries, + ) + else: + # Final attempt - re-raise + raise + return None + + FileDownloader.__init__ = patched_init + + IGNORE_LIB_WARNINGS = f"(?:{'|'.join(['Hash', 'Update'])})" FILTER_PLATFORMIO_LINES = [ r"Verbose mode can be enabled via `-v, --verbose` option.*", @@ -99,6 +129,7 @@ def run_platformio_cli(*args, **kwargs) -> str | int: import platformio.__main__ patch_structhash() + patch_file_downloader() return run_external_command(platformio.__main__.main, *cmd, **kwargs) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py new file mode 100755 index 0000000000..39e1e66c75 --- /dev/null +++ b/script/analyze_component_buses.py @@ -0,0 +1,523 @@ +#!/usr/bin/env python3 +"""Analyze component test files to detect which common bus configs they use. + +This script scans component test files and extracts which common bus configurations +(i2c, spi, uart, etc.) are included via the packages mechanism. This information +is used to group components that can be tested together. + +Components can only be grouped together if they use the EXACT SAME set of common +bus configurations, ensuring that merged configs are compatible. + +Example output: +{ + "component1": { + "esp32-ard": ["i2c", "uart_19200"], + "esp32-idf": ["i2c", "uart_19200"] + }, + "component2": { + "esp32-ard": ["spi"], + "esp32-idf": ["spi"] + } +} +""" + +from __future__ import annotations + +import argparse +from functools import lru_cache +import json +from pathlib import Path +import re +import sys +from typing import Any + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from esphome import yaml_util +from esphome.config_helpers import Extend, Remove + +# Path to common bus configs +COMMON_BUS_PATH = Path("tests/test_build_components/common") + +# Package dependencies - maps packages to the packages they include +# When a component uses a package on the left, it automatically gets +# the packages on the right as well +PACKAGE_DEPENDENCIES = { + "modbus": ["uart"], # modbus packages include uart packages + # Add more package dependencies here as needed +} + +# Bus types that can be defined directly in config files +# Components defining these directly cannot be grouped (they create unique bus IDs) +DIRECT_BUS_TYPES = ("i2c", "spi", "uart", "modbus") + +# Signature for components with no bus requirements +# These components can be merged with any other group +NO_BUSES_SIGNATURE = "no_buses" + +# Base bus components - these ARE the bus implementations and should not +# be flagged as needing migration since they are the platform/base components +BASE_BUS_COMPONENTS = { + "i2c", + "spi", + "uart", + "modbus", + "canbus", +} + +# Components that must be tested in isolation (not grouped or batched with others) +# These have known build issues that prevent grouping +# NOTE: This should be kept in sync with both test_build_components and split_components_for_ci.py +ISOLATED_COMPONENTS = { + "animation": "Has display lambda in common.yaml that requires existing display platform - breaks when merged without display", + "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", + "ethernet_info": "Related to ethernet component which conflicts with wifi", + "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", + "mcp47a1": "no YAML config to specify i2c bus id", + "modbus_controller": "Defines multiple modbus buses for testing client/server functionality - conflicts with package modbus bus", + "neopixelbus": "RMT type conflict with ESP32 Arduino/ESP-IDF headers (enum vs struct rmt_channel_t)", + "packages": "cannot merge packages", +} + + +@lru_cache(maxsize=1) +def get_common_bus_packages() -> frozenset[str]: + """Get the list of common bus package names. + + Reads from tests/test_build_components/common/ directory + and caches the result. All bus types support component grouping + for config validation since --testing-mode bypasses runtime conflicts. + + Returns: + Frozenset of common bus package names (i2c, spi, uart, etc.) + """ + if not COMMON_BUS_PATH.exists(): + return frozenset() + + # List all directories in common/ - these are the bus package names + return frozenset(d.name for d in COMMON_BUS_PATH.iterdir() if d.is_dir()) + + +def uses_local_file_references(component_dir: Path) -> bool: + """Check if a component uses local file references via $component_dir. + + Components that reference local files cannot be grouped because each needs + a unique component_dir path pointing to their specific directory. + + Args: + component_dir: Path to the component's test directory + + Returns: + True if the component uses $component_dir for local file references + """ + common_yaml = component_dir / "common.yaml" + if not common_yaml.exists(): + return False + + try: + content = common_yaml.read_text() + except Exception: # pylint: disable=broad-exception-caught + return False + + # Pattern to match $component_dir or ${component_dir} references + # These indicate local file usage that prevents grouping + return bool(re.search(r"\$\{?component_dir\}?", content)) + + +def is_platform_component(component_dir: Path) -> bool: + """Check if a component is a platform component (abstract base class). + + Platform components have IS_PLATFORM_COMPONENT = True and cannot be + instantiated without a platform-specific implementation. These components + define abstract methods and cause linker errors if compiled standalone. + + Examples: canbus, mcp23x08_base, mcp23x17_base + + Args: + component_dir: Path to the component's test directory + + Returns: + True if this is a platform component + """ + # Check in the actual component source, not tests + # tests/components/X -> tests/components -> tests -> repo root + repo_root = component_dir.parent.parent.parent + comp_init = ( + repo_root / "esphome" / "components" / component_dir.name / "__init__.py" + ) + + if not comp_init.exists(): + return False + + try: + content = comp_init.read_text() + return "IS_PLATFORM_COMPONENT = True" in content + except Exception: # pylint: disable=broad-exception-caught + return False + + +def _contains_extend_or_remove(data: Any) -> bool: + """Recursively check if data contains Extend or Remove objects. + + Args: + data: Parsed YAML data structure + + Returns: + True if any Extend or Remove objects are found + """ + if isinstance(data, (Extend, Remove)): + return True + + if isinstance(data, dict): + for value in data.values(): + if _contains_extend_or_remove(value): + return True + + if isinstance(data, list): + for item in data: + if _contains_extend_or_remove(item): + return True + + return False + + +def analyze_yaml_file(yaml_file: Path) -> dict[str, Any]: + """Load a YAML file once and extract all needed information. + + This loads the YAML file a single time and extracts all information needed + for component analysis, avoiding multiple file reads. + + Args: + yaml_file: Path to the YAML file to analyze + + Returns: + Dictionary with keys: + - buses: set of common bus package names + - has_extend_remove: bool indicating if Extend/Remove objects are present + - has_direct_bus_config: bool indicating if buses are defined directly (not via packages) + - loaded: bool indicating if file was successfully loaded + """ + result = { + "buses": set(), + "has_extend_remove": False, + "has_direct_bus_config": False, + "loaded": False, + } + + if not yaml_file.exists(): + return result + + try: + data = yaml_util.load_yaml(yaml_file) + result["loaded"] = True + except Exception: # pylint: disable=broad-exception-caught + return result + + # Check for Extend/Remove objects + result["has_extend_remove"] = _contains_extend_or_remove(data) + + # Check if buses are defined directly (not via packages) + # Components that define i2c, spi, uart, or modbus directly in test files + # cannot be grouped because they create unique bus IDs + if isinstance(data, dict): + for bus_type in DIRECT_BUS_TYPES: + if bus_type in data: + result["has_direct_bus_config"] = True + break + + # Extract common bus packages + if not isinstance(data, dict) or "packages" not in data: + return result + + packages = data["packages"] + if not isinstance(packages, dict): + return result + + valid_buses = get_common_bus_packages() + for pkg_name in packages: + if pkg_name not in valid_buses: + continue + result["buses"].add(pkg_name) + # Add any package dependencies (e.g., modbus includes uart) + if pkg_name not in PACKAGE_DEPENDENCIES: + continue + for dep in PACKAGE_DEPENDENCIES[pkg_name]: + if dep not in valid_buses: + continue + result["buses"].add(dep) + + return result + + +def analyze_component(component_dir: Path) -> tuple[dict[str, list[str]], bool, bool]: + """Analyze a component directory to find which buses each platform uses. + + Args: + component_dir: Path to the component's test directory + + Returns: + Tuple of: + - Dictionary mapping platform to list of bus configs + Example: {"esp32-ard": ["i2c", "spi"], "esp32-idf": ["i2c"]} + - Boolean indicating if component uses !extend or !remove + - Boolean indicating if component defines buses directly (not via packages) + """ + if not component_dir.is_dir(): + return {}, False, False + + platform_buses = {} + has_extend_remove = False + has_direct_bus_config = False + + # Analyze all YAML files in the component directory + for yaml_file in component_dir.glob("*.yaml"): + analysis = analyze_yaml_file(yaml_file) + + # Track if any file uses extend/remove + if analysis["has_extend_remove"]: + has_extend_remove = True + + # Track if any file defines buses directly + if analysis["has_direct_bus_config"]: + has_direct_bus_config = True + + # For test.*.yaml files, extract platform and buses + if yaml_file.name.startswith("test.") and yaml_file.suffix == ".yaml": + # Extract platform name (e.g., test.esp32-ard.yaml -> esp32-ard) + platform = yaml_file.stem.replace("test.", "") + # Always add platform, even if it has no buses (empty list) + # This allows grouping components that don't use any shared buses + platform_buses[platform] = ( + sorted(analysis["buses"]) if analysis["buses"] else [] + ) + + return platform_buses, has_extend_remove, has_direct_bus_config + + +def analyze_all_components( + tests_dir: Path = None, +) -> tuple[dict[str, dict[str, list[str]]], set[str], set[str]]: + """Analyze all component test directories. + + Args: + tests_dir: Path to tests/components directory (defaults to auto-detect) + + Returns: + Tuple of: + - Dictionary mapping component name to platform->buses mapping + - Set of component names that cannot be grouped + - Set of component names that define buses directly (need migration warning) + """ + if tests_dir is None: + tests_dir = Path("tests/components") + + if not tests_dir.exists(): + print(f"Error: {tests_dir} does not exist", file=sys.stderr) + return {}, set(), set() + + components = {} + non_groupable = set() + direct_bus_components = set() + + for component_dir in sorted(tests_dir.iterdir()): + if not component_dir.is_dir(): + continue + + component_name = component_dir.name + platform_buses, has_extend_remove, has_direct_bus_config = analyze_component( + component_dir + ) + + if platform_buses: + components[component_name] = platform_buses + + # 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 the bus platform implementations and define buses directly for testing + # They cannot be grouped with components that use bus packages (causes ID conflicts) + if component_name in BASE_BUS_COMPONENTS: + non_groupable.add(component_name) + + # Check if component uses !extend or !remove directives + # These rely on specific config structure and cannot be merged with other components + # The directives work within a component's own package hierarchy but break when + # merging independent components together + if has_extend_remove: + non_groupable.add(component_name) + + # Check if component defines buses directly in test files + # These create unique bus IDs and cause conflicts when merged + # Exclude base bus components (i2c, spi, uart, etc.) since they ARE the platform + if has_direct_bus_config and component_name not in BASE_BUS_COMPONENTS: + non_groupable.add(component_name) + direct_bus_components.add(component_name) + + return components, non_groupable, direct_bus_components + + +def create_grouping_signature( + platform_buses: dict[str, list[str]], platform: str +) -> str: + """Create a signature string for grouping components. + + Components with the same signature can be grouped together for testing. + All valid bus types can be grouped since --testing-mode bypasses runtime + conflicts during config validation. + + Args: + platform_buses: Mapping of platform to list of buses + platform: The specific platform to create signature for + + Returns: + Signature string (e.g., "i2c" or "uart") or empty if no valid buses + """ + buses = platform_buses.get(platform, []) + if not buses: + return "" + + # Only include valid bus types in signature + common_buses = get_common_bus_packages() + valid_buses = [b for b in buses if b in common_buses] + if not valid_buses: + return "" + + return "+".join(sorted(valid_buses)) + + +def group_components_by_signature( + components: dict[str, dict[str, list[str]]], platform: str +) -> dict[str, list[str]]: + """Group components by their bus signature for a specific platform. + + Args: + components: Component analysis results from analyze_all_components() + platform: Platform to group for (e.g., "esp32-ard") + + Returns: + Dictionary mapping signature to list of component names + Example: {"i2c+uart_19200": ["comp1", "comp2"], "spi": ["comp3"]} + """ + signature_groups: dict[str, list[str]] = {} + + for component_name, platform_buses in components.items(): + if platform not in platform_buses: + continue + + signature = create_grouping_signature(platform_buses, platform) + if not signature: + continue + + if signature not in signature_groups: + signature_groups[signature] = [] + signature_groups[signature].append(component_name) + + return signature_groups + + +def main() -> None: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Analyze component test files to detect common bus usage" + ) + parser.add_argument( + "--components", + "-c", + nargs="+", + help="Specific components to analyze (default: all)", + ) + parser.add_argument( + "--platform", + "-p", + help="Show grouping for a specific platform", + ) + parser.add_argument( + "--json", + action="store_true", + help="Output as JSON", + ) + parser.add_argument( + "--group", + action="store_true", + help="Show component groupings by bus signature", + ) + + args = parser.parse_args() + + # Analyze components + tests_dir = Path("tests/components") + + if args.components: + # Analyze only specified components + components = {} + non_groupable = set() + direct_bus_components = set() + for comp in args.components: + comp_dir = tests_dir / comp + platform_buses, has_extend_remove, has_direct_bus_config = ( + analyze_component(comp_dir) + ) + if platform_buses: + components[comp] = platform_buses + # Note: Components using $component_dir are now groupable + if comp in ISOLATED_COMPONENTS: + non_groupable.add(comp) + if comp in BASE_BUS_COMPONENTS: + non_groupable.add(comp) + if has_direct_bus_config and comp not in BASE_BUS_COMPONENTS: + non_groupable.add(comp) + direct_bus_components.add(comp) + else: + # Analyze all components + components, non_groupable, direct_bus_components = analyze_all_components( + tests_dir + ) + + # Output results + if args.group and args.platform: + # Show groupings for a specific platform + groups = group_components_by_signature(components, args.platform) + + if args.json: + print(json.dumps(groups, indent=2)) + else: + print(f"Component groupings for {args.platform}:") + print() + for signature, comp_list in sorted(groups.items()): + print(f" {signature}:") + for comp in sorted(comp_list): + print(f" - {comp}") + print() + elif args.json: + # JSON output + print(json.dumps(components, indent=2)) + else: + # Human-readable output + for component, platform_buses in sorted(components.items()): + non_groupable_marker = ( + " [NON-GROUPABLE]" if component in non_groupable else "" + ) + print(f"{component}{non_groupable_marker}:") + for platform, buses in sorted(platform_buses.items()): + bus_str = ", ".join(buses) + print(f" {platform}: {bus_str}") + print() + print(f"Total components analyzed: {len(components)}") + if non_groupable: + print(f"Non-groupable components (use local files): {len(non_groupable)}") + for comp in sorted(non_groupable): + print(f" - {comp}") + + +if __name__ == "__main__": + main() diff --git a/script/merge_component_configs.py b/script/merge_component_configs.py new file mode 100755 index 0000000000..a19b65038c --- /dev/null +++ b/script/merge_component_configs.py @@ -0,0 +1,379 @@ +#!/usr/bin/env python3 +"""Merge multiple component test configurations into a single test file. + +This script combines multiple component test files that use the same common bus +configurations into a single merged test file. This allows testing multiple +compatible components together, reducing CI build time. + +The merger handles: +- Component-specific substitutions (prefixing to avoid conflicts) +- Multiple instances of component configurations +- Shared common bus packages (included only once) +- Platform-specific configurations +- Uses ESPHome's built-in merge_config for proper YAML merging +""" + +from __future__ import annotations + +import argparse +from pathlib import Path +import re +import sys +from typing import Any + +# Add esphome to path so we can import from it +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from esphome import yaml_util +from esphome.config_helpers import merge_config +from script.analyze_component_buses import PACKAGE_DEPENDENCIES, get_common_bus_packages + + +def load_yaml_file(yaml_file: Path) -> dict: + """Load YAML file using ESPHome's YAML loader. + + Args: + yaml_file: Path to the YAML file + + Returns: + Parsed YAML as dictionary + """ + if not yaml_file.exists(): + raise FileNotFoundError(f"YAML file not found: {yaml_file}") + + return yaml_util.load_yaml(yaml_file) + + +def extract_packages_from_yaml(data: dict) -> dict[str, str]: + """Extract COMMON BUS package includes from parsed YAML. + + Only extracts packages that are from test_build_components/common/, + ignoring component-specific packages. + + Args: + data: Parsed YAML dictionary + + Returns: + Dictionary mapping package name to include path (as string representation) + Only includes common bus packages (i2c, spi, uart, etc.) + """ + if "packages" not in data: + return {} + + packages_value = data["packages"] + if not isinstance(packages_value, dict): + # List format doesn't include common bus packages (those use dict format) + return {} + + # Get common bus package names (cached) + common_bus_packages = get_common_bus_packages() + packages = {} + + # Dictionary format: packages: {name: value} + for name, value in packages_value.items(): + # Only include common bus packages, ignore component-specific ones + if name not in common_bus_packages: + continue + packages[name] = str(value) + # Also track package dependencies (e.g., modbus includes uart) + if name not in PACKAGE_DEPENDENCIES: + continue + for dep in PACKAGE_DEPENDENCIES[name]: + if dep not in common_bus_packages: + continue + # Mark as included via dependency + packages[f"_dep_{dep}"] = f"(included via {name})" + + return packages + + +def prefix_substitutions_in_dict( + data: Any, prefix: str, exclude: set[str] | None = None +) -> Any: + """Recursively prefix all substitution references in a data structure. + + Args: + data: YAML data structure (dict, list, or scalar) + prefix: Prefix to add to substitution names + exclude: Set of substitution names to exclude from prefixing + + Returns: + Data structure with prefixed substitution references + """ + if exclude is None: + exclude = set() + + def replace_sub(text: str) -> str: + """Replace substitution references in a string.""" + + def replace_match(match): + sub_name = match.group(1) + if sub_name in exclude: + return match.group(0) + # Always use braced format in output for consistency + return f"${{{prefix}_{sub_name}}}" + + # Match both ${substitution} and $substitution formats + return re.sub(r"\$\{?(\w+)\}?", replace_match, text) + + if isinstance(data, dict): + result = {} + for key, value in data.items(): + result[key] = prefix_substitutions_in_dict(value, prefix, exclude) + return result + if isinstance(data, list): + return [prefix_substitutions_in_dict(item, prefix, exclude) for item in data] + if isinstance(data, str): + return replace_sub(data) + return data + + +def deduplicate_by_id(data: dict) -> dict: + """Deduplicate list items with the same ID. + + Keeps only the first occurrence of each ID. If items with the same ID + are identical, this silently deduplicates. If they differ, the first + one is kept (ESPHome's validation will catch if this causes issues). + + Args: + data: Parsed config dictionary + + Returns: + Config with deduplicated lists + """ + if not isinstance(data, dict): + return data + + result = {} + for key, value in data.items(): + if isinstance(value, list): + # Check for items with 'id' field + seen_ids = set() + deduped_list = [] + + for item in value: + if isinstance(item, dict) and "id" in item: + item_id = item["id"] + if item_id not in seen_ids: + seen_ids.add(item_id) + deduped_list.append(item) + # else: skip duplicate ID (keep first occurrence) + else: + # No ID, just add it + deduped_list.append(item) + + result[key] = deduped_list + elif isinstance(value, dict): + # Recursively deduplicate nested dicts + result[key] = deduplicate_by_id(value) + else: + result[key] = value + + return result + + +def merge_component_configs( + component_names: list[str], + platform: str, + tests_dir: Path, + output_file: Path, +) -> None: + """Merge multiple component test configs into a single file. + + Args: + component_names: List of component names to merge + platform: Platform to merge for (e.g., "esp32-ard") + tests_dir: Path to tests/components directory + output_file: Path to output merged config file + """ + if not component_names: + raise ValueError("No components specified") + + # Track packages to ensure they're identical + all_packages = None + + # Start with empty config + merged_config_data = {} + + # Process each component + for comp_name in component_names: + comp_dir = tests_dir / comp_name + test_file = comp_dir / f"test.{platform}.yaml" + + if not test_file.exists(): + raise FileNotFoundError(f"Test file not found: {test_file}") + + # Load the component's test file + comp_data = load_yaml_file(test_file) + + # Validate packages are compatible + # Components with no packages (no_buses) can merge with any group + comp_packages = extract_packages_from_yaml(comp_data) + + if all_packages is None: + # First component - set the baseline + all_packages = comp_packages + elif not comp_packages: + # This component has no packages (no_buses) - it can merge with any group + pass + elif not all_packages: + # Previous components had no packages, but this one does - adopt these packages + all_packages = comp_packages + elif comp_packages != all_packages: + # Both have packages but they differ - this is an error + raise ValueError( + f"Component {comp_name} has different packages than previous components. " + f"Expected: {all_packages}, Got: {comp_packages}. " + f"All components must use the same common bus configs to be merged." + ) + + # Handle $component_dir by replacing with absolute path + # This allows components that use local file references to be grouped + comp_abs_dir = str(comp_dir.absolute()) + + # Save top-level substitutions BEFORE expanding packages + # In ESPHome, top-level substitutions override package substitutions + top_level_subs = ( + comp_data["substitutions"].copy() + if "substitutions" in comp_data and comp_data["substitutions"] is not None + else {} + ) + + # Expand packages - but we'll restore substitution priority after + if "packages" in comp_data: + packages_value = comp_data["packages"] + + if isinstance(packages_value, dict): + # Dict format - check each package + common_bus_packages = get_common_bus_packages() + for pkg_name, pkg_value in list(packages_value.items()): + if pkg_name in common_bus_packages: + continue + if not isinstance(pkg_value, dict): + continue + # Component-specific package - expand its content into top level + comp_data = merge_config(comp_data, pkg_value) + elif isinstance(packages_value, list): + # List format - expand all package includes + for pkg_value in packages_value: + if not isinstance(pkg_value, dict): + continue + comp_data = merge_config(comp_data, pkg_value) + + # Remove all packages (common will be re-added at the end) + del comp_data["packages"] + + # Restore top-level substitution priority + # Top-level substitutions override any from packages + if "substitutions" not in comp_data or comp_data["substitutions"] is None: + comp_data["substitutions"] = {} + + # Merge: package subs as base, top-level subs override + comp_data["substitutions"].update(top_level_subs) + + # Now prefix the final merged substitutions + comp_data["substitutions"] = { + f"{comp_name}_{sub_name}": sub_value + for sub_name, sub_value in comp_data["substitutions"].items() + } + + # Add component_dir substitution with absolute path for this component + comp_data["substitutions"][f"{comp_name}_component_dir"] = comp_abs_dir + + # Prefix substitution references throughout the config + comp_data = prefix_substitutions_in_dict(comp_data, comp_name) + + # Use ESPHome's merge_config to merge this component into the result + # merge_config handles list merging with ID-based deduplication automatically + merged_config_data = merge_config(merged_config_data, comp_data) + + # Add packages back (only once, since they're identical) + # IMPORTANT: Only re-add common bus packages (spi, i2c, uart, etc.) + # Do NOT re-add component-specific packages as they contain unprefixed $component_dir refs + if all_packages: + first_comp_data = load_yaml_file( + tests_dir / component_names[0] / f"test.{platform}.yaml" + ) + if "packages" in first_comp_data and isinstance( + first_comp_data["packages"], dict + ): + # Filter to only include common bus packages + # Only dict format can contain common bus packages + common_bus_packages = get_common_bus_packages() + filtered_packages = { + name: value + for name, value in first_comp_data["packages"].items() + if name in common_bus_packages + } + if filtered_packages: + merged_config_data["packages"] = filtered_packages + + # Deduplicate items with same ID (keeps first occurrence) + merged_config_data = deduplicate_by_id(merged_config_data) + + # Remove esphome section since it will be provided by the wrapper file + # The wrapper file includes this merged config via packages and provides + # the proper esphome: section with name, platform, etc. + if "esphome" in merged_config_data: + del merged_config_data["esphome"] + + # Write merged config + output_file.parent.mkdir(parents=True, exist_ok=True) + yaml_content = yaml_util.dump(merged_config_data) + output_file.write_text(yaml_content) + + print(f"Successfully merged {len(component_names)} components into {output_file}") + + +def main() -> None: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Merge multiple component test configs into a single file" + ) + parser.add_argument( + "--components", + "-c", + required=True, + help="Comma-separated list of component names to merge", + ) + parser.add_argument( + "--platform", + "-p", + required=True, + help="Platform to merge for (e.g., esp32-ard)", + ) + parser.add_argument( + "--output", + "-o", + required=True, + type=Path, + help="Output file path for merged config", + ) + parser.add_argument( + "--tests-dir", + type=Path, + default=Path("tests/components"), + help="Path to tests/components directory", + ) + + args = parser.parse_args() + + component_names = [c.strip() for c in args.components.split(",")] + + try: + merge_component_configs( + component_names=component_names, + platform=args.platform, + tests_dir=args.tests_dir, + output_file=args.output, + ) + except Exception as e: + print(f"Error merging configs: {e}", file=sys.stderr) + import traceback + + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/script/split_components_for_ci.py b/script/split_components_for_ci.py new file mode 100755 index 0000000000..ad2261499c --- /dev/null +++ b/script/split_components_for_ci.py @@ -0,0 +1,268 @@ +#!/usr/bin/env python3 +"""Split components into batches with intelligent grouping. + +This script analyzes components to identify which ones share common bus configurations +and intelligently groups them into batches to maximize the efficiency of the +component grouping system in CI. + +Components with the same bus signature are placed in the same batch whenever possible, +allowing the test_build_components.py script to merge them into single builds. +""" + +from __future__ import annotations + +import argparse +from collections import defaultdict +import json +from pathlib import Path +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from script.analyze_component_buses import ( + ISOLATED_COMPONENTS, + NO_BUSES_SIGNATURE, + analyze_all_components, + create_grouping_signature, +) + +# Weighting for batch creation +# Isolated components can't be grouped/merged, so they count as 10x +# Groupable components can be merged into single builds, so they count as 1x +ISOLATED_WEIGHT = 10 +GROUPABLE_WEIGHT = 1 + + +def has_test_files(component_name: str, tests_dir: Path) -> bool: + """Check if a component has test files. + + Args: + component_name: Name of the component + tests_dir: Path to tests/components directory + + Returns: + True if the component has test.*.yaml files + """ + component_dir = tests_dir / component_name + if not component_dir.exists() or not component_dir.is_dir(): + return False + + # Check for test.*.yaml files + return any(component_dir.glob("test.*.yaml")) + + +def create_intelligent_batches( + components: list[str], + tests_dir: Path, + batch_size: int = 40, +) -> list[list[str]]: + """Create batches optimized for component grouping. + + Args: + components: List of component names to batch + tests_dir: Path to tests/components directory + batch_size: Target size for each batch + + Returns: + List of component batches (lists of component names) + """ + # Filter out components without test files + # Platform components like 'climate' and 'climate_ir' don't have test files + components_with_tests = [ + comp for comp in components if has_test_files(comp, tests_dir) + ] + + # Log filtered components to stderr for debugging + if len(components_with_tests) < len(components): + filtered_out = set(components) - set(components_with_tests) + print( + f"Note: Filtered {len(filtered_out)} components without test files: " + f"{', '.join(sorted(filtered_out))}", + file=sys.stderr, + ) + + # Analyze all components to get their bus signatures + component_buses, non_groupable, _direct_bus_components = analyze_all_components( + tests_dir + ) + + # Group components by their bus signature ONLY (ignore platform) + # All platforms will be tested by test_build_components.py for each batch + # Key: signature, Value: list of components + signature_groups: dict[str, list[str]] = defaultdict(list) + + for component in components_with_tests: + # Components that can't be grouped get unique signatures + # This includes both manually curated ISOLATED_COMPONENTS and + # automatically detected non_groupable components + # These can share a batch/runner but won't be grouped/merged + if component in ISOLATED_COMPONENTS or component in non_groupable: + signature_groups[f"isolated_{component}"].append(component) + continue + + # Get signature from any platform (they should all have the same buses) + # Components not in component_buses were filtered out by has_test_files check + comp_platforms = component_buses[component] + for platform, buses in comp_platforms.items(): + if buses: + signature = create_grouping_signature({platform: buses}, platform) + # Group by signature only - platform doesn't matter for batching + signature_groups[signature].append(component) + break # Only use first platform for grouping + else: + # No buses found for any platform - can be grouped together + signature_groups[NO_BUSES_SIGNATURE].append(component) + + # Create batches by keeping signature groups together + # Components with the same signature stay in the same batches + batches = [] + + # Sort signature groups to prioritize groupable components + # 1. Put "isolated_*" signatures last (can't be grouped with others) + # 2. Sort groupable signatures by size (largest first) + # 3. "no_buses" components CAN be grouped together + def sort_key(item): + signature, components = item + is_isolated = signature.startswith("isolated_") + # Put "isolated_*" last (1), groupable first (0) + # Within each category, sort by size (largest first) + return (is_isolated, -len(components)) + + sorted_groups = sorted(signature_groups.items(), key=sort_key) + + # Strategy: Create batches using weighted sizes + # - Isolated components count as 10x (since they can't be grouped/merged) + # - Groupable components count as 1x (can be merged into single builds) + # - This distributes isolated components across more runners + # - Ensures each runner has a good mix of groupable vs isolated components + + current_batch = [] + current_weight = 0 + + for signature, group_components in sorted_groups: + is_isolated = signature.startswith("isolated_") + weight_per_component = ISOLATED_WEIGHT if is_isolated else GROUPABLE_WEIGHT + + for component in group_components: + # Check if adding this component would exceed the batch size + if current_weight + weight_per_component > batch_size and current_batch: + # Start a new batch + batches.append(current_batch) + current_batch = [] + current_weight = 0 + + # Add component to current batch + current_batch.append(component) + current_weight += weight_per_component + + # Don't forget the last batch + if current_batch: + batches.append(current_batch) + + return batches + + +def main() -> int: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Split components into intelligent batches for CI testing" + ) + parser.add_argument( + "--components", + "-c", + required=True, + help="JSON array of component names", + ) + parser.add_argument( + "--batch-size", + "-b", + type=int, + default=40, + help="Target batch size (default: 40, weighted)", + ) + parser.add_argument( + "--tests-dir", + type=Path, + default=Path("tests/components"), + help="Path to tests/components directory", + ) + parser.add_argument( + "--output", + "-o", + choices=["json", "github"], + default="github", + help="Output format (json or github for GitHub Actions)", + ) + + args = parser.parse_args() + + # Parse component list from JSON + try: + components = json.loads(args.components) + except json.JSONDecodeError as e: + print(f"Error parsing components JSON: {e}", file=sys.stderr) + return 1 + + if not isinstance(components, list): + print("Components must be a JSON array", file=sys.stderr) + return 1 + + # Create intelligent batches + batches = create_intelligent_batches( + components=components, + tests_dir=args.tests_dir, + batch_size=args.batch_size, + ) + + # Convert batches to space-separated strings for CI + batch_strings = [" ".join(batch) for batch in batches] + + if args.output == "json": + # Output as JSON array + print(json.dumps(batch_strings)) + else: + # Output for GitHub Actions (set output) + output_json = json.dumps(batch_strings) + print(f"components={output_json}") + + # Print summary to stderr so it shows in CI logs + # Count actual components being batched + actual_components = sum(len(batch.split()) for batch in batch_strings) + + # Re-analyze to get isolated component counts for summary + _, non_groupable, _ = analyze_all_components(args.tests_dir) + + # Count isolated vs groupable components + all_batched_components = [comp for batch in batches for comp in batch] + isolated_count = sum( + 1 + for comp in all_batched_components + if comp in ISOLATED_COMPONENTS or comp in non_groupable + ) + groupable_count = actual_components - isolated_count + + print("\n=== Intelligent Batch Summary ===", file=sys.stderr) + print(f"Total components requested: {len(components)}", file=sys.stderr) + print(f"Components with test files: {actual_components}", file=sys.stderr) + print(f" - Groupable (weight=1): {groupable_count}", file=sys.stderr) + print(f" - Isolated (weight=10): {isolated_count}", file=sys.stderr) + if actual_components < len(components): + print( + f"Components skipped (no test files): {len(components) - actual_components}", + file=sys.stderr, + ) + print(f"Number of batches: {len(batches)}", file=sys.stderr) + print(f"Batch size target (weighted): {args.batch_size}", file=sys.stderr) + if len(batches) > 0: + print( + f"Average components per batch: {actual_components / len(batches):.1f}", + file=sys.stderr, + ) + print(file=sys.stderr) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/script/test_build_components b/script/test_build_components deleted file mode 100755 index 3796280176..0000000000 --- a/script/test_build_components +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env bash - -set -e - -help() { - echo "Usage: $0 [-e ] [-c ] [-t ]" 1>&2 - echo 1>&2 - echo " - e - Parameter for esphome command. Default compile. Common alternative is config." 1>&2 - echo " - c - Component folder name to test. Default *. E.g. '-c logger'." 1>&2 - echo " - t - Target name to test. Put '-t list' to display all possibilities. E.g. '-t esp32-s2-idf-51'." 1>&2 - exit 1 -} - -# Parse parameter: -# - `e` - Parameter for `esphome` command. Default `compile`. Common alternative is `config`. -# - `c` - Component folder name to test. Default `*`. -esphome_command="compile" -target_component="*" -while getopts e:c:t: flag -do - case $flag in - e) esphome_command=${OPTARG};; - c) target_component=${OPTARG};; - t) requested_target_platform=${OPTARG};; - \?) help;; - esac -done - -cd "$(dirname "$0")/.." - -if ! [ -d "./tests/test_build_components/build" ]; then - mkdir ./tests/test_build_components/build -fi - -start_esphome() { - if [ -n "$requested_target_platform" ] && [ "$requested_target_platform" != "$target_platform_with_version" ]; then - echo "Skipping $target_platform_with_version" - return - fi - # create dynamic yaml file in `build` folder. - # `./tests/test_build_components/build/[target_component].[test_name].[target_platform_with_version].yaml` - component_test_file="./tests/test_build_components/build/$target_component.$test_name.$target_platform_with_version.yaml" - - cp $target_platform_file $component_test_file - if [[ "$OSTYPE" == "darwin"* ]]; then - # macOS sed is...different - sed -i '' "s!\$component_test_file!../../.$f!g" $component_test_file - else - sed -i "s!\$component_test_file!../../.$f!g" $component_test_file - fi - - # Start esphome process - echo "> [$target_component] [$test_name] [$target_platform_with_version]" - set -x - # TODO: Validate escape of Command line substitution value - python3 -m esphome -s component_name $target_component -s component_dir ../../components/$target_component -s test_name $test_name -s target_platform $target_platform $esphome_command $component_test_file - { set +x; } 2>/dev/null -} - -# Find all test yaml files. -# - `./tests/components/[target_component]/[test_name].[target_platform].yaml` -# - `./tests/components/[target_component]/[test_name].all.yaml` -for f in ./tests/components/$target_component/*.*.yaml; do - [ -f "$f" ] || continue - IFS='/' read -r -a folder_name <<< "$f" - target_component="${folder_name[3]}" - - IFS='.' read -r -a file_name <<< "${folder_name[4]}" - test_name="${file_name[0]}" - target_platform="${file_name[1]}" - file_name_parts=${#file_name[@]} - - if [ "$target_platform" = "all" ] || [ $file_name_parts = 2 ]; then - # Test has *not* defined a specific target platform. Need to run tests for all possible target platforms. - - for target_platform_file in ./tests/test_build_components/build_components_base.*.yaml; do - IFS='/' read -r -a folder_name <<< "$target_platform_file" - IFS='.' read -r -a file_name <<< "${folder_name[3]}" - target_platform="${file_name[1]}" - - start_esphome - done - - else - # Test has defined a specific target platform. - - # Validate we have a base test yaml for selected platform. - # The target_platform is sourced from the following location. - # 1. `./tests/test_build_components/build_components_base.[target_platform].yaml` - # 2. `./tests/test_build_components/build_components_base.[target_platform]-ard.yaml` - target_platform_file="./tests/test_build_components/build_components_base.$target_platform.yaml" - if ! [ -f "$target_platform_file" ]; then - echo "No base test file [./tests/test_build_components/build_components_base.$target_platform.yaml] for component test [$f] found." - exit 1 - fi - - for target_platform_file in ./tests/test_build_components/build_components_base.$target_platform*.yaml; do - # trim off "./tests/test_build_components/build_components_base." prefix - target_platform_with_version=${target_platform_file:52} - # ...now remove suffix starting with "." leaving just the test target hardware and software platform (possibly with version) - # For example: "esp32-s3-idf-50" - target_platform_with_version=${target_platform_with_version%.*} - start_esphome - done - fi -done diff --git a/script/test_build_components b/script/test_build_components new file mode 120000 index 0000000000..832a4a72c6 --- /dev/null +++ b/script/test_build_components @@ -0,0 +1 @@ +test_build_components.py \ No newline at end of file diff --git a/script/test_build_components.py b/script/test_build_components.py new file mode 100755 index 0000000000..e27bd695c1 --- /dev/null +++ b/script/test_build_components.py @@ -0,0 +1,931 @@ +#!/usr/bin/env python3 +"""Test ESPHome component builds with intelligent grouping. + +This script replaces the bash test_build_components script with Python, +adding support for intelligent component grouping based on shared bus +configurations to reduce CI build time. + +Features: +- Analyzes components for shared common bus configs +- Groups compatible components together +- Merges configs for grouped components +- Uses --testing-mode for grouped tests +- Maintains backward compatibility with single component testing +""" + +from __future__ import annotations + +import argparse +from collections import defaultdict +import hashlib +import os +from pathlib import Path +import subprocess +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +# pylint: disable=wrong-import-position +from script.analyze_component_buses import ( + BASE_BUS_COMPONENTS, + ISOLATED_COMPONENTS, + NO_BUSES_SIGNATURE, + analyze_all_components, + create_grouping_signature, + is_platform_component, + uses_local_file_references, +) +from script.merge_component_configs import merge_component_configs + +# Platform-specific maximum group sizes +# ESP8266 has limited IRAM and can't handle large component groups +PLATFORM_MAX_GROUP_SIZE = { + "esp8266-ard": 10, # ESP8266 Arduino has limited IRAM + "esp8266-idf": 10, # ESP8266 IDF also has limited IRAM + # BK72xx now uses BK7252 board (1.62MB flash vs 1.03MB) - no limit needed + # Other platforms can handle larger groups +} + + +def show_disk_space_if_ci(esphome_command: str) -> None: + """Show disk space usage if running in CI during compile. + + Args: + esphome_command: The esphome command being run (config/compile/clean) + """ + if os.environ.get("GITHUB_ACTIONS") and esphome_command == "compile": + print("\n" + "=" * 80) + print("Disk Space After Build:") + print("=" * 80) + subprocess.run(["df", "-h"], check=False) + print("=" * 80 + "\n") + + +def find_component_tests( + components_dir: Path, component_pattern: str = "*" +) -> dict[str, list[Path]]: + """Find all component test files. + + Args: + components_dir: Path to tests/components directory + component_pattern: Glob pattern for component names + + Returns: + Dictionary mapping component name to list of test files + """ + component_tests = defaultdict(list) + + for comp_dir in components_dir.glob(component_pattern): + if not comp_dir.is_dir(): + continue + + for test_file in comp_dir.glob("test.*.yaml"): + component_tests[comp_dir.name].append(test_file) + + return dict(component_tests) + + +def parse_test_filename(test_file: Path) -> tuple[str, str]: + """Parse test filename to extract test name and platform. + + Args: + test_file: Path to test file + + Returns: + Tuple of (test_name, platform) + """ + parts = test_file.stem.split(".") + if len(parts) == 2: + return parts[0], parts[1] # test, platform + return parts[0], "all" + + +def get_platform_base_files(base_dir: Path) -> dict[str, list[Path]]: + """Get all platform base files. + + Args: + base_dir: Path to test_build_components directory + + Returns: + Dictionary mapping platform to list of base files (for version variants) + """ + platform_files = defaultdict(list) + + for base_file in base_dir.glob("build_components_base.*.yaml"): + # Extract platform from filename + # e.g., build_components_base.esp32-idf.yaml -> esp32-idf + # or build_components_base.esp32-idf-50.yaml -> esp32-idf + filename = base_file.stem + parts = filename.replace("build_components_base.", "").split("-") + + # Platform is everything before version number (if present) + # Check if last part is a number (version) + platform = "-".join(parts[:-1]) if parts[-1].isdigit() else "-".join(parts) + + platform_files[platform].append(base_file) + + return dict(platform_files) + + +def extract_platform_with_version(base_file: Path) -> str: + """Extract platform with version from base filename. + + Args: + base_file: Path to base file + + Returns: + Platform with version (e.g., "esp32-idf-50" or "esp32-idf") + """ + # Remove "build_components_base." prefix and ".yaml" suffix + return base_file.stem.replace("build_components_base.", "") + + +def run_esphome_test( + component: str, + test_file: Path, + platform: str, + platform_with_version: str, + base_file: Path, + build_dir: Path, + esphome_command: str, + continue_on_fail: bool, + use_testing_mode: bool = False, +) -> tuple[bool, str]: + """Run esphome test for a single component. + + Args: + component: Component name + test_file: Path to component test file + platform: Platform name (e.g., "esp32-idf") + platform_with_version: Platform with version (e.g., "esp32-idf-50") + base_file: Path to platform base file + build_dir: Path to build directory + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + use_testing_mode: Whether to use --testing-mode flag + + Returns: + Tuple of (success status, command string) + """ + test_name = test_file.stem.split(".")[0] + + # Create dynamic test file in build directory + output_file = build_dir / f"{component}.{test_name}.{platform_with_version}.yaml" + + # Copy base file and substitute component test file reference + base_content = base_file.read_text() + # Get relative path from build dir to test file + repo_root = Path(__file__).parent.parent + component_test_ref = f"../../{test_file.relative_to(repo_root / 'tests')}" + output_content = base_content.replace("$component_test_file", component_test_ref) + output_file.write_text(output_content) + + # Build esphome command + cmd = [ + sys.executable, + "-m", + "esphome", + ] + + # Add --testing-mode if needed (must be before subcommand) + if use_testing_mode: + cmd.append("--testing-mode") + + # Add substitutions + cmd.extend( + [ + "-s", + "component_name", + component, + "-s", + "component_dir", + f"../../components/{component}", + "-s", + "test_name", + test_name, + "-s", + "target_platform", + platform, + ] + ) + + # Add command and config file + cmd.extend([esphome_command, str(output_file)]) + + # Build command string for display/logging + cmd_str = " ".join(cmd) + + # Run command + print(f"> [{component}] [{test_name}] [{platform_with_version}]") + if use_testing_mode: + print(" (using --testing-mode)") + + try: + result = subprocess.run(cmd, check=False) + success = result.returncode == 0 + + # Show disk space after build in CI during compile + show_disk_space_if_ci(esphome_command) + + if not success and not continue_on_fail: + # Print command immediately for failed tests + print(f"\n{'=' * 80}") + print("FAILED - Command to reproduce:") + print(f"{'=' * 80}") + print(cmd_str) + print() + raise subprocess.CalledProcessError(result.returncode, cmd) + return success, cmd_str + except subprocess.CalledProcessError: + # Re-raise if we're not continuing on fail + if not continue_on_fail: + raise + return False, cmd_str + + +def run_grouped_test( + components: list[str], + platform: str, + platform_with_version: str, + base_file: Path, + build_dir: Path, + tests_dir: Path, + esphome_command: str, + continue_on_fail: bool, +) -> tuple[bool, str]: + """Run esphome test for a group of components with shared bus configs. + + Args: + components: List of component names to test together + platform: Platform name (e.g., "esp32-idf") + platform_with_version: Platform with version (e.g., "esp32-idf-50") + base_file: Path to platform base file + build_dir: Path to build directory + tests_dir: Path to tests/components directory + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + + Returns: + Tuple of (success status, command string) + """ + # Create merged config + group_name = "_".join(components[:3]) # Use first 3 components for name + if len(components) > 3: + group_name += f"_plus_{len(components) - 3}" + + # Create unique device name by hashing sorted component list + platform + # This prevents conflicts when different component groups are tested + sorted_components = sorted(components) + hash_input = "_".join(sorted_components) + "_" + platform + group_hash = hashlib.md5(hash_input.encode()).hexdigest()[:8] + device_name = f"comptest{platform.replace('-', '')}{group_hash}" + + merged_config_file = build_dir / f"merged_{group_name}.{platform_with_version}.yaml" + + try: + merge_component_configs( + component_names=components, + platform=platform_with_version, + tests_dir=tests_dir, + output_file=merged_config_file, + ) + except Exception as e: # pylint: disable=broad-exception-caught + print(f"Error merging configs for {components}: {e}") + if not continue_on_fail: + raise + # Return empty command string since we failed before building the command + return False, f"# Failed during config merge: {e}" + + # Create test file that includes merged config + output_file = build_dir / f"test_{group_name}.{platform_with_version}.yaml" + base_content = base_file.read_text() + merged_ref = merged_config_file.name + output_content = base_content.replace("$component_test_file", merged_ref) + output_file.write_text(output_content) + + # Build esphome command with --testing-mode + cmd = [ + sys.executable, + "-m", + "esphome", + "--testing-mode", # Required for grouped tests + "-s", + "component_name", + device_name, # Use unique hash-based device name + "-s", + "component_dir", + "../../components", + "-s", + "test_name", + "merged", + "-s", + "target_platform", + platform, + esphome_command, + str(output_file), + ] + + # Build command string for display/logging + cmd_str = " ".join(cmd) + + # Run command + components_str = ", ".join(components) + print(f"> [GROUPED: {components_str}] [{platform_with_version}]") + print(" (using --testing-mode)") + + try: + result = subprocess.run(cmd, check=False) + success = result.returncode == 0 + + # Show disk space after build in CI during compile + show_disk_space_if_ci(esphome_command) + + if not success and not continue_on_fail: + # Print command immediately for failed tests + print(f"\n{'=' * 80}") + print("FAILED - Command to reproduce:") + print(f"{'=' * 80}") + print(cmd_str) + print() + raise subprocess.CalledProcessError(result.returncode, cmd) + return success, cmd_str + except subprocess.CalledProcessError: + # Re-raise if we're not continuing on fail + if not continue_on_fail: + raise + return False, cmd_str + + +def run_grouped_component_tests( + all_tests: dict[str, list[Path]], + platform_filter: str | None, + platform_bases: dict[str, list[Path]], + tests_dir: Path, + build_dir: Path, + esphome_command: str, + continue_on_fail: bool, +) -> tuple[set[tuple[str, str]], list[str], list[str], dict[str, str]]: + """Run grouped component tests. + + Args: + all_tests: Dictionary mapping component names to test files + platform_filter: Optional platform to filter by + platform_bases: Platform base files mapping + tests_dir: Path to tests/components directory + build_dir: Path to build directory + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + + Returns: + Tuple of (tested_components, passed_tests, failed_tests, failed_commands) + """ + tested_components = set() + passed_tests = [] + failed_tests = [] + failed_commands = {} # Map test_id to command string + + # Group components by platform and bus signature + grouped_components: dict[tuple[str, str], list[str]] = defaultdict(list) + print("\n" + "=" * 80) + print("Analyzing components for intelligent grouping...") + print("=" * 80) + component_buses, non_groupable, direct_bus_components = analyze_all_components( + tests_dir + ) + + # Track why components can't be grouped (for detailed output) + non_groupable_reasons = {} + + # Group by (platform, bus_signature) + for component, platforms in component_buses.items(): + if component not in all_tests: + continue + + # Skip components that must be tested in isolation + # These are shown separately and should not be in non_groupable_reasons + if component in ISOLATED_COMPONENTS: + continue + + # Skip base bus components (these test the bus platforms themselves) + if component in BASE_BUS_COMPONENTS: + continue + + # Skip components that use local file references or direct bus configs + if component in non_groupable: + # Track the reason (using pre-calculated results to avoid expensive re-analysis) + if component not in non_groupable_reasons: + if component in direct_bus_components: + non_groupable_reasons[component] = ( + "Defines buses directly (not via packages) - NEEDS MIGRATION" + ) + elif uses_local_file_references(tests_dir / component): + non_groupable_reasons[component] = ( + "Uses local file references ($component_dir)" + ) + elif is_platform_component(tests_dir / component): + non_groupable_reasons[component] = ( + "Platform component (abstract base class)" + ) + else: + non_groupable_reasons[component] = ( + "Uses !extend or !remove directives" + ) + continue + + for platform, buses in platforms.items(): + # Skip if platform doesn't match filter + if platform_filter and not platform.startswith(platform_filter): + continue + + # Create signature for this component's bus configuration + # Components with no buses get NO_BUSES_SIGNATURE so they can be grouped together + if buses: + signature = create_grouping_signature({platform: buses}, platform) + else: + signature = NO_BUSES_SIGNATURE + + # Add to grouped components (including those with no buses) + if signature: + grouped_components[(platform, signature)].append(component) + + # Print detailed grouping plan + print("\nGrouping Plan:") + print("-" * 80) + + # Show isolated components (must test individually due to known issues) + isolated_in_tests = [c for c in ISOLATED_COMPONENTS if c in all_tests] + if isolated_in_tests: + print( + f"\n⚠ {len(isolated_in_tests)} components must be tested in isolation (known build issues):" + ) + for comp in sorted(isolated_in_tests): + reason = ISOLATED_COMPONENTS[comp] + print(f" - {comp}: {reason}") + + # Show base bus components (test the bus platform implementations) + base_bus_in_tests = [c for c in BASE_BUS_COMPONENTS if c in all_tests] + if base_bus_in_tests: + print( + f"\n○ {len(base_bus_in_tests)} base bus platform components (tested individually):" + ) + for comp in sorted(base_bus_in_tests): + print(f" - {comp}") + + # Show excluded components with detailed reasons + if non_groupable_reasons: + excluded_in_tests = [c for c in non_groupable_reasons if c in all_tests] + if excluded_in_tests: + print( + f"\n⚠ {len(excluded_in_tests)} components excluded from grouping (each needs individual build):" + ) + # Group by reason to show summary + direct_bus = [ + c + for c in excluded_in_tests + if "NEEDS MIGRATION" in non_groupable_reasons.get(c, "") + ] + if direct_bus: + print( + f"\n ⚠⚠⚠ {len(direct_bus)} DEFINE BUSES DIRECTLY - NEED MIGRATION TO PACKAGES:" + ) + for comp in sorted(direct_bus): + print(f" - {comp}") + + other_reasons = [ + c + for c in excluded_in_tests + if "NEEDS MIGRATION" not in non_groupable_reasons.get(c, "") + ] + if other_reasons and len(other_reasons) <= 10: + print("\n Other non-groupable components:") + for comp in sorted(other_reasons): + reason = non_groupable_reasons[comp] + print(f" - {comp}: {reason}") + elif other_reasons: + print( + f"\n Other non-groupable components: {len(other_reasons)} components" + ) + + # Distribute no_buses components into other groups to maximize efficiency + # Components with no buses can merge with any bus group since they have no conflicting requirements + no_buses_by_platform: dict[str, list[str]] = {} + for (platform, signature), components in list(grouped_components.items()): + if signature == NO_BUSES_SIGNATURE: + no_buses_by_platform[platform] = components + # Remove from grouped_components - we'll distribute them + del grouped_components[(platform, signature)] + + # Distribute no_buses components into existing groups for each platform + for platform, no_buses_comps in no_buses_by_platform.items(): + # Find all non-empty groups for this platform (excluding no_buses) + platform_groups = [ + (sig, comps) + for (plat, sig), comps in grouped_components.items() + if plat == platform and sig != NO_BUSES_SIGNATURE + ] + + if platform_groups: + # Distribute no_buses components round-robin across existing groups + for i, comp in enumerate(no_buses_comps): + sig, _ = platform_groups[i % len(platform_groups)] + grouped_components[(platform, sig)].append(comp) + else: + # No other groups for this platform - keep no_buses components together + grouped_components[(platform, NO_BUSES_SIGNATURE)] = no_buses_comps + + # Split groups that exceed platform-specific maximum sizes + # ESP8266 has limited IRAM and can't handle large component groups + split_groups = {} + for (platform, signature), components in list(grouped_components.items()): + max_size = PLATFORM_MAX_GROUP_SIZE.get(platform) + if max_size and len(components) > max_size: + # Split this group into smaller groups + print( + f"\n ℹ️ Splitting {platform} group (signature: {signature}) " + f"from {len(components)} to max {max_size} components per group" + ) + # Remove original group + del grouped_components[(platform, signature)] + # Create split groups + for i in range(0, len(components), max_size): + split_components = components[i : i + max_size] + # Create unique signature for each split group + split_signature = f"{signature}_split{i // max_size + 1}" + split_groups[(platform, split_signature)] = split_components + # Add split groups back + grouped_components.update(split_groups) + + groups_to_test = [] + individual_tests = set() # Use set to avoid duplicates + + for (platform, signature), components in sorted(grouped_components.items()): + if len(components) > 1: + groups_to_test.append((platform, signature, components)) + # Note: Don't add single-component groups to individual_tests here + # They'll be added below when we check for ungrouped components + + # Add components that weren't grouped on any platform + for component in all_tests: + if component not in [c for _, _, comps in groups_to_test for c in comps]: + individual_tests.add(component) + + if groups_to_test: + print(f"\n✓ {len(groups_to_test)} groups will be tested together:") + for platform, signature, components in groups_to_test: + component_list = ", ".join(sorted(components)) + print(f" [{platform}] [{signature}]: {component_list}") + print( + f" → {len(components)} components in 1 build (saves {len(components) - 1} builds)" + ) + + if individual_tests: + print(f"\n○ {len(individual_tests)} components will be tested individually:") + sorted_individual = sorted(individual_tests) + for comp in sorted_individual[:10]: + print(f" - {comp}") + if len(individual_tests) > 10: + print(f" ... and {len(individual_tests) - 10} more") + + # Calculate actual build counts based on test files, not component counts + # Without grouping: every test file would be built separately + total_test_files = sum(len(test_files) for test_files in all_tests.values()) + + # With grouping: + # - 1 build per group (regardless of how many components) + # - Individual components still need all their platform builds + individual_test_file_count = sum( + len(all_tests[comp]) for comp in individual_tests if comp in all_tests + ) + + total_grouped_components = sum(len(comps) for _, _, comps in groups_to_test) + total_builds_with_grouping = len(groups_to_test) + individual_test_file_count + builds_saved = total_test_files - total_builds_with_grouping + + print(f"\n{'=' * 80}") + print( + f"Summary: {total_builds_with_grouping} builds total (vs {total_test_files} without grouping)" + ) + print( + f" • {len(groups_to_test)} grouped builds ({total_grouped_components} components)" + ) + print( + f" • {individual_test_file_count} individual builds ({len(individual_tests)} components)" + ) + if total_test_files > 0: + reduction_pct = (builds_saved / total_test_files) * 100 + print(f" • Saves {builds_saved} builds ({reduction_pct:.1f}% reduction)") + print("=" * 80 + "\n") + + # Execute grouped tests + for (platform, signature), components in grouped_components.items(): + # Only group if we have multiple components with same signature + if len(components) <= 1: + continue + + # Filter out components not in our test list + components_to_group = [c for c in components if c in all_tests] + if len(components_to_group) <= 1: + continue + + # Get platform base files + if platform not in platform_bases: + continue + + for base_file in platform_bases[platform]: + platform_with_version = extract_platform_with_version(base_file) + + # Skip if platform filter doesn't match + if platform_filter and platform != platform_filter: + continue + if ( + platform_filter + and platform_with_version != platform_filter + and not platform_with_version.startswith(f"{platform_filter}-") + ): + continue + + # Run grouped test + success, cmd_str = run_grouped_test( + components=components_to_group, + platform=platform, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + tests_dir=tests_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + ) + + # Mark all components as tested + for comp in components_to_group: + tested_components.add((comp, platform_with_version)) + + # Record result for each component - show all components in grouped tests + test_id = ( + f"GROUPED[{','.join(components_to_group)}].{platform_with_version}" + ) + if success: + passed_tests.append(test_id) + else: + failed_tests.append(test_id) + failed_commands[test_id] = cmd_str + + return tested_components, passed_tests, failed_tests, failed_commands + + +def run_individual_component_test( + component: str, + test_file: Path, + platform: str, + platform_with_version: str, + base_file: Path, + build_dir: Path, + esphome_command: str, + continue_on_fail: bool, + tested_components: set[tuple[str, str]], + passed_tests: list[str], + failed_tests: list[str], + failed_commands: dict[str, str], +) -> None: + """Run an individual component test if not already tested in a group. + + Args: + component: Component name + test_file: Test file path + platform: Platform name + platform_with_version: Platform with version + base_file: Base file for platform + build_dir: Build directory + esphome_command: ESPHome command + continue_on_fail: Whether to continue on failure + tested_components: Set of already tested components + passed_tests: List to append passed test IDs + failed_tests: List to append failed test IDs + failed_commands: Dict to store failed test commands + """ + # Skip if already tested in a group + if (component, platform_with_version) in tested_components: + return + + test_name = test_file.stem.split(".")[0] + success, cmd_str = run_esphome_test( + component=component, + test_file=test_file, + platform=platform, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + ) + test_id = f"{component}.{test_name}.{platform_with_version}" + if success: + passed_tests.append(test_id) + else: + failed_tests.append(test_id) + failed_commands[test_id] = cmd_str + + +def test_components( + component_patterns: list[str], + platform_filter: str | None, + esphome_command: str, + continue_on_fail: bool, + enable_grouping: bool = True, +) -> int: + """Test components with optional intelligent grouping. + + Args: + component_patterns: List of component name patterns + platform_filter: Optional platform to filter by + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + enable_grouping: Whether to enable component grouping + + Returns: + Exit code (0 for success, 1 for failure) + """ + # Setup paths + repo_root = Path(__file__).parent.parent + tests_dir = repo_root / "tests" / "components" + build_components_dir = repo_root / "tests" / "test_build_components" + build_dir = build_components_dir / "build" + build_dir.mkdir(parents=True, exist_ok=True) + + # Get platform base files + platform_bases = get_platform_base_files(build_components_dir) + + # Find all component tests + all_tests = {} + for pattern in component_patterns: + all_tests.update(find_component_tests(tests_dir, pattern)) + + if not all_tests: + print(f"No components found matching: {component_patterns}") + return 1 + + print(f"Found {len(all_tests)} components to test") + + # Run tests + failed_tests = [] + passed_tests = [] + tested_components = set() # Track which components were tested in groups + failed_commands = {} # Track commands for failed tests + + # First, run grouped tests if grouping is enabled + if enable_grouping: + ( + tested_components, + passed_tests, + failed_tests, + failed_commands, + ) = run_grouped_component_tests( + all_tests=all_tests, + platform_filter=platform_filter, + platform_bases=platform_bases, + tests_dir=tests_dir, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + ) + + # Then run individual tests for components not in groups + for component, test_files in sorted(all_tests.items()): + for test_file in test_files: + test_name, platform = parse_test_filename(test_file) + + # Handle "all" platform tests + if platform == "all": + # Run for all platforms + for plat, base_files in platform_bases.items(): + if platform_filter and plat != platform_filter: + continue + + for base_file in base_files: + platform_with_version = extract_platform_with_version(base_file) + run_individual_component_test( + component=component, + test_file=test_file, + platform=plat, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + tested_components=tested_components, + passed_tests=passed_tests, + failed_tests=failed_tests, + failed_commands=failed_commands, + ) + else: + # Platform-specific test + if platform_filter and platform != platform_filter: + continue + + if platform not in platform_bases: + print(f"No base file for platform: {platform}") + continue + + for base_file in platform_bases[platform]: + platform_with_version = extract_platform_with_version(base_file) + + # Skip if requested platform doesn't match + if ( + platform_filter + and platform_with_version != platform_filter + and not platform_with_version.startswith(f"{platform_filter}-") + ): + continue + + run_individual_component_test( + component=component, + test_file=test_file, + platform=platform, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + tested_components=tested_components, + passed_tests=passed_tests, + failed_tests=failed_tests, + failed_commands=failed_commands, + ) + + # Print summary + print("\n" + "=" * 80) + print(f"Test Summary: {len(passed_tests)} passed, {len(failed_tests)} failed") + print("=" * 80) + + if failed_tests: + print("\nFailed tests:") + for test in failed_tests: + print(f" - {test}") + + # Print failed commands at the end for easy copy-paste from CI logs + print("\n" + "=" * 80) + print("Failed test commands (copy-paste to reproduce locally):") + print("=" * 80) + for test in failed_tests: + if test in failed_commands: + print(f"\n# {test}") + print(failed_commands[test]) + print() + + return 1 + + return 0 + + +def main() -> int: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Test ESPHome component builds with intelligent grouping" + ) + parser.add_argument( + "-e", + "--esphome-command", + default="compile", + choices=["config", "compile", "clean"], + help="ESPHome command to run (default: compile)", + ) + parser.add_argument( + "-c", + "--components", + default="*", + help="Component pattern(s) to test (default: *). Comma-separated.", + ) + parser.add_argument( + "-t", + "--target", + help="Target platform to test (e.g., esp32-idf)", + ) + parser.add_argument( + "-f", + "--continue-on-fail", + action="store_true", + help="Continue testing even if a test fails", + ) + parser.add_argument( + "--no-grouping", + action="store_true", + help="Disable component grouping (test each component individually)", + ) + + args = parser.parse_args() + + # Parse component patterns + component_patterns = [p.strip() for p in args.components.split(",")] + + return test_components( + component_patterns=component_patterns, + platform_filter=args.target, + esphome_command=args.esphome_command, + continue_on_fail=args.continue_on_fail, + enable_grouping=not args.no_grouping, + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/script/test_component_grouping.py b/script/test_component_grouping.py new file mode 100755 index 0000000000..a2cee6e888 --- /dev/null +++ b/script/test_component_grouping.py @@ -0,0 +1,227 @@ +#!/usr/bin/env python3 +"""Test component grouping by finding and testing groups of components. + +This script analyzes components, finds groups that can be tested together, +and runs test builds for those groups. +""" + +from __future__ import annotations + +import argparse +from pathlib import Path +import subprocess +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from script.analyze_component_buses import ( + analyze_all_components, + group_components_by_signature, +) + + +def test_component_group( + components: list[str], + platform: str, + esphome_command: str = "compile", + dry_run: bool = False, +) -> bool: + """Test a group of components together. + + Args: + components: List of component names to test together + platform: Platform to test on (e.g., "esp32-idf") + esphome_command: ESPHome command to run (config/compile/clean) + dry_run: If True, only print the command without running it + + Returns: + True if test passed, False otherwise + """ + components_str = ",".join(components) + cmd = [ + "./script/test_build_components", + "-c", + components_str, + "-t", + platform, + "-e", + esphome_command, + ] + + print(f"\n{'=' * 80}") + print(f"Testing {len(components)} components on {platform}:") + for comp in components: + print(f" - {comp}") + print(f"{'=' * 80}") + print(f"Command: {' '.join(cmd)}\n") + + if dry_run: + print("[DRY RUN] Skipping actual test") + return True + + try: + result = subprocess.run(cmd, check=False) + return result.returncode == 0 + except Exception as e: + print(f"Error running test: {e}") + return False + + +def main() -> None: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Test component grouping by finding and testing groups" + ) + parser.add_argument( + "--platform", + "-p", + default="esp32-idf", + help="Platform to test (default: esp32-idf)", + ) + parser.add_argument( + "-e", + "--esphome-command", + default="compile", + choices=["config", "compile", "clean"], + help="ESPHome command to run (default: compile)", + ) + parser.add_argument( + "--all", + action="store_true", + help="Test all components (sets --min-size=1, --max-size=10000, --max-groups=10000)", + ) + parser.add_argument( + "--min-size", + type=int, + default=3, + help="Minimum group size to test (default: 3)", + ) + parser.add_argument( + "--max-size", + type=int, + default=10, + help="Maximum group size to test (default: 10)", + ) + parser.add_argument( + "--max-groups", + type=int, + default=5, + help="Maximum number of groups to test (default: 5)", + ) + parser.add_argument( + "--signature", + "-s", + help="Only test groups with this bus signature (e.g., 'spi', 'i2c', 'uart')", + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="Print commands without running them", + ) + + args = parser.parse_args() + + # If --all is specified, test all components without grouping + if args.all: + # Get all components from tests/components directory + components_dir = Path("tests/components") + all_components = sorted( + [d.name for d in components_dir.iterdir() if d.is_dir()] + ) + + if not all_components: + print(f"\nNo components found in {components_dir}") + return + + print(f"\nTesting all {len(all_components)} components together") + + success = test_component_group( + all_components, args.platform, args.esphome_command, args.dry_run + ) + + # Print summary + print(f"\n{'=' * 80}") + print("TEST SUMMARY") + print(f"{'=' * 80}") + status = "✅ PASS" if success else "❌ FAIL" + print(f"{status} All components: {len(all_components)} components") + + if not args.dry_run and not success: + sys.exit(1) + return + + print("Analyzing all components...") + components, non_groupable, _ = analyze_all_components(Path("tests/components")) + + print(f"Found {len(components)} components, {len(non_groupable)} non-groupable") + + # Group components by signature for the platform + groups = group_components_by_signature(components, args.platform) + + # Filter and sort groups + filtered_groups = [] + for signature, comp_list in groups.items(): + # Filter by signature if specified + if args.signature and signature != args.signature: + continue + + # Remove non-groupable components + comp_list = [c for c in comp_list if c not in non_groupable] + + # Filter by minimum size + if len(comp_list) < args.min_size: + continue + + # If group is larger than max_size, we'll take a subset later + filtered_groups.append((signature, comp_list)) + + # Sort by group size (largest first) + filtered_groups.sort(key=lambda x: len(x[1]), reverse=True) + + # Limit number of groups + filtered_groups = filtered_groups[: args.max_groups] + + if not filtered_groups: + print("\nNo groups found matching criteria:") + print(f" - Platform: {args.platform}") + print(f" - Size: {args.min_size}-{args.max_size}") + if args.signature: + print(f" - Signature: {args.signature}") + return + + print(f"\nFound {len(filtered_groups)} groups to test:") + for signature, comp_list in filtered_groups: + print(f" [{signature}]: {len(comp_list)} components") + + # Test each group + results = [] + for signature, comp_list in filtered_groups: + # Limit to max_size if group is larger + if len(comp_list) > args.max_size: + comp_list = comp_list[: args.max_size] + + success = test_component_group( + comp_list, args.platform, args.esphome_command, args.dry_run + ) + results.append((signature, comp_list, success)) + + if not args.dry_run and not success: + print(f"\n❌ FAILED: {signature} group") + break + + # Print summary + print(f"\n{'=' * 80}") + print("TEST SUMMARY") + print(f"{'=' * 80}") + for signature, comp_list, success in results: + status = "✅ PASS" if success else "❌ FAIL" + print(f"{status} [{signature}]: {len(comp_list)} components") + + # Exit with error if any tests failed + if not args.dry_run and any(not success for _, _, success in results): + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/tests/components/a01nyub/common.yaml b/tests/components/a01nyub/common.yaml index 0717acfff7..fc0b2d3bfb 100644 --- a/tests/components/a01nyub/common.yaml +++ b/tests/components/a01nyub/common.yaml @@ -1,11 +1,4 @@ -uart: - - id: uart_a01nyub - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: a01nyub id: a01nyub_sensor name: a01nyub Distance - uart_id: uart_a01nyub diff --git a/tests/components/a01nyub/test.esp32-c3-idf.yaml b/tests/components/a01nyub/test.esp32-c3-idf.yaml index b516342f3b..2cda8deaf9 100644 --- a/tests/components/a01nyub/test.esp32-c3-idf.yaml +++ b/tests/components/a01nyub/test.esp32-c3-idf.yaml @@ -1,3 +1,6 @@ +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + substitutions: tx_pin: GPIO4 rx_pin: GPIO5 diff --git a/tests/components/a01nyub/test.esp32-idf.yaml b/tests/components/a01nyub/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/a01nyub/test.esp32-idf.yaml +++ b/tests/components/a01nyub/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/a01nyub/test.esp8266-ard.yaml b/tests/components/a01nyub/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/a01nyub/test.esp8266-ard.yaml +++ b/tests/components/a01nyub/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/a01nyub/test.rp2040-ard.yaml b/tests/components/a01nyub/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/a01nyub/test.rp2040-ard.yaml +++ b/tests/components/a01nyub/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/a02yyuw/common.yaml b/tests/components/a02yyuw/common.yaml index b2e5927ff4..4de8a6eb67 100644 --- a/tests/components/a02yyuw/common.yaml +++ b/tests/components/a02yyuw/common.yaml @@ -1,11 +1,4 @@ -uart: - - id: uart_a02yyuw - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: a02yyuw id: a02yyuw_sensor name: a02yyuw Distance - uart_id: uart_a02yyuw diff --git a/tests/components/a02yyuw/test.esp32-c3-idf.yaml b/tests/components/a02yyuw/test.esp32-c3-idf.yaml index b516342f3b..2cda8deaf9 100644 --- a/tests/components/a02yyuw/test.esp32-c3-idf.yaml +++ b/tests/components/a02yyuw/test.esp32-c3-idf.yaml @@ -1,3 +1,6 @@ +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + substitutions: tx_pin: GPIO4 rx_pin: GPIO5 diff --git a/tests/components/a02yyuw/test.esp32-idf.yaml b/tests/components/a02yyuw/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/a02yyuw/test.esp32-idf.yaml +++ b/tests/components/a02yyuw/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/a02yyuw/test.esp8266-ard.yaml b/tests/components/a02yyuw/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/a02yyuw/test.esp8266-ard.yaml +++ b/tests/components/a02yyuw/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/a02yyuw/test.rp2040-ard.yaml b/tests/components/a02yyuw/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/a02yyuw/test.rp2040-ard.yaml +++ b/tests/components/a02yyuw/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/a4988/test.esp32-idf.yaml b/tests/components/a4988/test.esp32-idf.yaml index 1ca8c0c084..7d46b048e1 100644 --- a/tests/components/a4988/test.esp32-idf.yaml +++ b/tests/components/a4988/test.esp32-idf.yaml @@ -1,6 +1,6 @@ substitutions: step_pin: GPIO22 - dir_pin: GPIO23 + dir_pin: GPIO4 sleep_pin: GPIO25 <<: !include common.yaml diff --git a/tests/components/a4988/test.esp8266-ard.yaml b/tests/components/a4988/test.esp8266-ard.yaml index 22b5677d27..5b1b1293be 100644 --- a/tests/components/a4988/test.esp8266-ard.yaml +++ b/tests/components/a4988/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: step_pin: GPIO1 dir_pin: GPIO2 - sleep_pin: GPIO5 + sleep_pin: GPIO0 <<: !include common.yaml diff --git a/tests/components/ac_dimmer/test.esp32-ard.yaml b/tests/components/ac_dimmer/test.esp32-ard.yaml index 3ec069f430..eaa4901f03 100644 --- a/tests/components/ac_dimmer/test.esp32-ard.yaml +++ b/tests/components/ac_dimmer/test.esp32-ard.yaml @@ -1,5 +1,5 @@ substitutions: - gate_pin: GPIO18 - zero_cross_pin: GPIO19 + gate_pin: GPIO4 + zero_cross_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/ac_dimmer/test.esp8266-ard.yaml b/tests/components/ac_dimmer/test.esp8266-ard.yaml index 5d2d42b713..2f50b04956 100644 --- a/tests/components/ac_dimmer/test.esp8266-ard.yaml +++ b/tests/components/ac_dimmer/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - gate_pin: GPIO5 - zero_cross_pin: GPIO4 + gate_pin: GPIO0 + zero_cross_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/adc/common.yaml b/tests/components/adc/common.yaml deleted file mode 100644 index ebdd1aece5..0000000000 --- a/tests/components/adc/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ -sensor: - - id: my_sensor - platform: adc - name: ADC Test sensor - update_interval: "1:01" - attenuation: 2.5db - unit_of_measurement: "°C" - icon: "mdi:water-percent" - accuracy_decimals: 5 - setup_priority: -100 - force_update: true diff --git a/tests/components/adc/test.bk72xx-ard.yaml b/tests/components/adc/test.bk72xx-ard.yaml index 0a3d5d1fdc..0645333a81 100644 --- a/tests/components/adc/test.bk72xx-ard.yaml +++ b/tests/components/adc/test.bk72xx-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: P23 - attenuation: !remove + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-c3-idf.yaml b/tests/components/adc/test.esp32-c3-idf.yaml index ea3b00a85f..e764f0fe21 100644 --- a/tests/components/adc/test.esp32-c3-idf.yaml +++ b/tests/components/adc/test.esp32-c3-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: 4 + - id: my_sensor + platform: adc + pin: GPIO1 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-idf.yaml b/tests/components/adc/test.esp32-idf.yaml index e6a1fd3bd9..ff1e3bb919 100644 --- a/tests/components/adc/test.esp32-idf.yaml +++ b/tests/components/adc/test.esp32-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: A0 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-p4-idf.yaml b/tests/components/adc/test.esp32-p4-idf.yaml index 97844cf398..b77dc299c2 100644 --- a/tests/components/adc/test.esp32-p4-idf.yaml +++ b/tests/components/adc/test.esp32-p4-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: GPIO50 + - id: my_sensor + platform: adc + pin: GPIO16 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-s2-idf.yaml b/tests/components/adc/test.esp32-s2-idf.yaml index bbd91c5e5a..e764f0fe21 100644 --- a/tests/components/adc/test.esp32-s2-idf.yaml +++ b/tests/components/adc/test.esp32-s2-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: 1 + - id: my_sensor + platform: adc + pin: GPIO1 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-s3-idf.yaml b/tests/components/adc/test.esp32-s3-idf.yaml index bbd91c5e5a..e764f0fe21 100644 --- a/tests/components/adc/test.esp32-s3-idf.yaml +++ b/tests/components/adc/test.esp32-s3-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: 1 + - id: my_sensor + platform: adc + pin: GPIO1 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp8266-ard.yaml b/tests/components/adc/test.esp8266-ard.yaml index bcb3620cfc..4cc865bb5d 100644 --- a/tests/components/adc/test.esp8266-ard.yaml +++ b/tests/components/adc/test.esp8266-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: VCC - attenuation: !remove + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.ln882x-ard.yaml b/tests/components/adc/test.ln882x-ard.yaml index 0622cd7b27..face38b647 100644 --- a/tests/components/adc/test.ln882x-ard.yaml +++ b/tests/components/adc/test.ln882x-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: PA0 - attenuation: !remove + - id: my_sensor + platform: adc + pin: A5 + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.rp2040-ard.yaml b/tests/components/adc/test.rp2040-ard.yaml index bcb3620cfc..4cc865bb5d 100644 --- a/tests/components/adc/test.rp2040-ard.yaml +++ b/tests/components/adc/test.rp2040-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: VCC - attenuation: !remove + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc128s102/common.yaml b/tests/components/adc128s102/common.yaml index 5f1638a7e2..b909310bdf 100644 --- a/tests/components/adc128s102/common.yaml +++ b/tests/components/adc128s102/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_adc128s102 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - adc128s102: cs_pin: ${cs_pin} id: adc128s102_adc diff --git a/tests/components/adc128s102/test.esp32-c3-idf.yaml b/tests/components/adc128s102/test.esp32-c3-idf.yaml index 24da4b5452..a60568a736 100644 --- a/tests/components/adc128s102/test.esp32-c3-idf.yaml +++ b/tests/components/adc128s102/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO2 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/adc128s102/test.esp32-idf.yaml b/tests/components/adc128s102/test.esp32-idf.yaml index aba72f0614..9bb524aa65 100644 --- a/tests/components/adc128s102/test.esp32-idf.yaml +++ b/tests/components/adc128s102/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/adc128s102/test.esp8266-ard.yaml b/tests/components/adc128s102/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/adc128s102/test.esp8266-ard.yaml +++ b/tests/components/adc128s102/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/adc128s102/test.rp2040-ard.yaml b/tests/components/adc128s102/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/adc128s102/test.rp2040-ard.yaml +++ b/tests/components/adc128s102/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7880/common.yaml b/tests/components/ade7880/common.yaml index 0aa388a325..0b0b560282 100644 --- a/tests/components/ade7880/common.yaml +++ b/tests/components/ade7880/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ade7880 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ade7880 - i2c_id: i2c_ade7880 + i2c_id: i2c_bus irq0_pin: ${irq0_pin} irq1_pin: ${irq1_pin} reset_pin: ${reset_pin} diff --git a/tests/components/ade7880/test.esp32-c3-idf.yaml b/tests/components/ade7880/test.esp32-c3-idf.yaml index 87db3e9427..7d5b41fc5a 100644 --- a/tests/components/ade7880/test.esp32-c3-idf.yaml +++ b/tests/components/ade7880/test.esp32-c3-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO6 irq1_pin: GPIO7 - reset_pin: GPIO10 + reset_pin: GPIO9 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ade7880/test.esp32-idf.yaml b/tests/components/ade7880/test.esp32-idf.yaml index 685b49ff32..9db2e50049 100644 --- a/tests/components/ade7880/test.esp32-idf.yaml +++ b/tests/components/ade7880/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO13 irq1_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO12 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ade7880/test.esp8266-ard.yaml b/tests/components/ade7880/test.esp8266-ard.yaml index 685b49ff32..81a04d0724 100644 --- a/tests/components/ade7880/test.esp8266-ard.yaml +++ b/tests/components/ade7880/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO13 irq1_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7880/test.rp2040-ard.yaml b/tests/components/ade7880/test.rp2040-ard.yaml index 685b49ff32..f531f852ae 100644 --- a/tests/components/ade7880/test.rp2040-ard.yaml +++ b/tests/components/ade7880/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO13 irq1_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/common.yaml b/tests/components/ade7953_i2c/common.yaml index a2d163567d..8b2a9588fe 100644 --- a/tests/components/ade7953_i2c/common.yaml +++ b/tests/components/ade7953_i2c/common.yaml @@ -1,20 +1,13 @@ -i2c: - - id: i2c_ade7953 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ade7953_i2c + i2c_id: i2c_bus irq_pin: ${irq_pin} voltage: name: ADE7953 Voltage - id: ade7953_voltage current_a: name: ADE7953 Current A - id: ade7953_current_a current_b: name: ADE7953 Current B - id: ade7953_current_b power_factor_a: name: ADE7953 Power Factor A power_factor_b: diff --git a/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml b/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml index 799acabd5a..59296a1e6e 100644 --- a/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp32-idf.yaml b/tests/components/ade7953_i2c/test.esp32-idf.yaml index 2c57d412f6..49629536e7 100644 --- a/tests/components/ade7953_i2c/test.esp32-idf.yaml +++ b/tests/components/ade7953_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp8266-ard.yaml b/tests/components/ade7953_i2c/test.esp8266-ard.yaml index c8e6a43f44..dc7609ab37 100644 --- a/tests/components/ade7953_i2c/test.esp8266-ard.yaml +++ b/tests/components/ade7953_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.rp2040-ard.yaml b/tests/components/ade7953_i2c/test.rp2040-ard.yaml index 799acabd5a..b80562ad22 100644 --- a/tests/components/ade7953_i2c/test.rp2040-ard.yaml +++ b/tests/components/ade7953_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_spi/common.yaml b/tests/components/ade7953_spi/common.yaml index 706f31f22c..30b5258a2a 100644 --- a/tests/components/ade7953_spi/common.yaml +++ b/tests/components/ade7953_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_ade7953 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: ade7953_spi cs_pin: ${cs_pin} diff --git a/tests/components/ade7953_spi/test.esp32-c3-idf.yaml b/tests/components/ade7953_spi/test.esp32-c3-idf.yaml index fcf35f528e..5e7e2dc82c 100644 --- a/tests/components/ade7953_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ade7953_spi/test.esp32-c3-idf.yaml @@ -1,8 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 irq_pin: GPIO9 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp32-idf.yaml b/tests/components/ade7953_spi/test.esp32-idf.yaml index e00f522dd4..19791e24b7 100644 --- a/tests/components/ade7953_spi/test.esp32-idf.yaml +++ b/tests/components/ade7953_spi/test.esp32-idf.yaml @@ -1,8 +1,8 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 irq_pin: GPIO13 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp8266-ard.yaml b/tests/components/ade7953_spi/test.esp8266-ard.yaml index b90e661ec0..8475dc4c50 100644 --- a/tests/components/ade7953_spi/test.esp8266-ard.yaml +++ b/tests/components/ade7953_spi/test.esp8266-ard.yaml @@ -1,8 +1,11 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 irq_pin: GPIO5 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.rp2040-ard.yaml b/tests/components/ade7953_spi/test.rp2040-ard.yaml index 8f5941e1b2..7c4a74a236 100644 --- a/tests/components/ade7953_spi/test.rp2040-ard.yaml +++ b/tests/components/ade7953_spi/test.rp2040-ard.yaml @@ -5,4 +5,7 @@ substitutions: irq_pin: GPIO5 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ads1115/common.yaml b/tests/components/ads1115/common.yaml index 297877d2d8..4724dc5a14 100644 --- a/tests/components/ads1115/common.yaml +++ b/tests/components/ads1115/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ads1115 - scl: ${scl_pin} - sda: ${sda_pin} - ads1115: + i2c_id: i2c_bus address: 0x48 sensor: diff --git a/tests/components/ads1115/test.esp32-c3-idf.yaml b/tests/components/ads1115/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ads1115/test.esp32-c3-idf.yaml +++ b/tests/components/ads1115/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ads1115/test.esp32-idf.yaml b/tests/components/ads1115/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ads1115/test.esp32-idf.yaml +++ b/tests/components/ads1115/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ads1115/test.esp8266-ard.yaml b/tests/components/ads1115/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ads1115/test.esp8266-ard.yaml +++ b/tests/components/ads1115/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ads1115/test.rp2040-ard.yaml b/tests/components/ads1115/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ads1115/test.rp2040-ard.yaml +++ b/tests/components/ads1115/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ags10/common.yaml b/tests/components/ags10/common.yaml index 0c4c3513cf..0551871e59 100644 --- a/tests/components/ags10/common.yaml +++ b/tests/components/ags10/common.yaml @@ -1,9 +1,3 @@ -i2c: - - id: i2c_ags10 - scl: ${scl_pin} - sda: ${sda_pin} - frequency: 10kHz - sensor: - platform: ags10 id: ags10_1 diff --git a/tests/components/ags10/test.esp32-c3-idf.yaml b/tests/components/ags10/test.esp32-c3-idf.yaml index ee2c29ca4e..72703301a1 100644 --- a/tests/components/ags10/test.esp32-c3-idf.yaml +++ b/tests/components/ags10/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ags10/test.esp32-idf.yaml b/tests/components/ags10/test.esp32-idf.yaml index 63c3bd6afd..7a5d01898a 100644 --- a/tests/components/ags10/test.esp32-idf.yaml +++ b/tests/components/ags10/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ags10/test.esp8266-ard.yaml b/tests/components/ags10/test.esp8266-ard.yaml index ee2c29ca4e..9e23bb3778 100644 --- a/tests/components/ags10/test.esp8266-ard.yaml +++ b/tests/components/ags10/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/aht10/common.yaml b/tests/components/aht10/common.yaml index 721af09bb4..d7c3f9364f 100644 --- a/tests/components/aht10/common.yaml +++ b/tests/components/aht10/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_aht10 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: aht10 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/aht10/test.esp32-c3-idf.yaml b/tests/components/aht10/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/aht10/test.esp32-c3-idf.yaml +++ b/tests/components/aht10/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/aht10/test.esp32-idf.yaml b/tests/components/aht10/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/aht10/test.esp32-idf.yaml +++ b/tests/components/aht10/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/aht10/test.esp8266-ard.yaml b/tests/components/aht10/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/aht10/test.esp8266-ard.yaml +++ b/tests/components/aht10/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/aht10/test.rp2040-ard.yaml b/tests/components/aht10/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/aht10/test.rp2040-ard.yaml +++ b/tests/components/aht10/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/aic3204/common.yaml b/tests/components/aic3204/common.yaml index 6e939bd260..5f175faee3 100644 --- a/tests/components/aic3204/common.yaml +++ b/tests/components/aic3204/common.yaml @@ -6,10 +6,6 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_aic3204 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: aic3204 + i2c_id: i2c_bus diff --git a/tests/components/aic3204/test.esp32-c3-idf.yaml b/tests/components/aic3204/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/aic3204/test.esp32-c3-idf.yaml +++ b/tests/components/aic3204/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/aic3204/test.esp32-idf.yaml b/tests/components/aic3204/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/aic3204/test.esp32-idf.yaml +++ b/tests/components/aic3204/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/aic3204/test.esp8266-ard.yaml b/tests/components/aic3204/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/aic3204/test.esp8266-ard.yaml +++ b/tests/components/aic3204/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml b/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml +++ b/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-idf.yaml b/tests/components/airthings_wave_mini/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/airthings_wave_mini/test.esp32-idf.yaml +++ b/tests/components/airthings_wave_mini/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml b/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml +++ b/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-idf.yaml b/tests/components/airthings_wave_plus/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/airthings_wave_plus/test.esp32-idf.yaml +++ b/tests/components/airthings_wave_plus/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-c3-idf.yaml b/tests/components/alpha3/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/alpha3/test.esp32-c3-idf.yaml +++ b/tests/components/alpha3/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-idf.yaml b/tests/components/alpha3/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/alpha3/test.esp32-idf.yaml +++ b/tests/components/alpha3/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/am2315c/common.yaml b/tests/components/am2315c/common.yaml index ab4656c17d..362fe19e4d 100644 --- a/tests/components/am2315c/common.yaml +++ b/tests/components/am2315c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_am2315c - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: am2315c + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/am2315c/test.esp32-c3-idf.yaml b/tests/components/am2315c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/am2315c/test.esp32-c3-idf.yaml +++ b/tests/components/am2315c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2315c/test.esp32-idf.yaml b/tests/components/am2315c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/am2315c/test.esp32-idf.yaml +++ b/tests/components/am2315c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2315c/test.esp8266-ard.yaml b/tests/components/am2315c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/am2315c/test.esp8266-ard.yaml +++ b/tests/components/am2315c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/am2315c/test.rp2040-ard.yaml b/tests/components/am2315c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/am2315c/test.rp2040-ard.yaml +++ b/tests/components/am2315c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/am2320/common.yaml b/tests/components/am2320/common.yaml index c0982b8818..d67ca3e564 100644 --- a/tests/components/am2320/common.yaml +++ b/tests/components/am2320/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_am2320 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: am2320 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/am2320/test.esp32-c3-idf.yaml b/tests/components/am2320/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/am2320/test.esp32-c3-idf.yaml +++ b/tests/components/am2320/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2320/test.esp32-idf.yaml b/tests/components/am2320/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/am2320/test.esp32-idf.yaml +++ b/tests/components/am2320/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2320/test.esp8266-ard.yaml b/tests/components/am2320/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/am2320/test.esp8266-ard.yaml +++ b/tests/components/am2320/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/am2320/test.rp2040-ard.yaml b/tests/components/am2320/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/am2320/test.rp2040-ard.yaml +++ b/tests/components/am2320/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/am43/test.esp32-c3-idf.yaml b/tests/components/am43/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/am43/test.esp32-c3-idf.yaml +++ b/tests/components/am43/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/am43/test.esp32-idf.yaml b/tests/components/am43/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/am43/test.esp32-idf.yaml +++ b/tests/components/am43/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/animation/test.esp32-c3-idf.yaml b/tests/components/animation/test.esp32-c3-idf.yaml index 18aa2a5b06..a08a683333 100644 --- a/tests/components/animation/test.esp32-c3-idf.yaml +++ b/tests/components/animation/test.esp32-c3-idf.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 8 dc_pin: 9 reset_pin: 10 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.esp32-idf.yaml b/tests/components/animation/test.esp32-idf.yaml index 7d9fe45bff..c28e9584dd 100644 --- a/tests/components/animation/test.esp32-idf.yaml +++ b/tests/components/animation/test.esp32-idf.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 12 dc_pin: 13 reset_pin: 21 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.esp8266-ard.yaml b/tests/components/animation/test.esp8266-ard.yaml index 9548c7fbeb..11a7117d91 100644 --- a/tests/components/animation/test.esp8266-ard.yaml +++ b/tests/components/animation/test.esp8266-ard.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 5 dc_pin: 15 reset_pin: 16 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.rp2040-ard.yaml b/tests/components/animation/test.rp2040-ard.yaml index efb3f2907c..32fb4efb04 100644 --- a/tests/components/animation/test.rp2040-ard.yaml +++ b/tests/components/animation/test.rp2040-ard.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 2 - mosi_pin: 3 - miso_pin: 4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 20 dc_pin: 21 reset_pin: 22 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/anova/test.esp32-c3-idf.yaml b/tests/components/anova/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/anova/test.esp32-c3-idf.yaml +++ b/tests/components/anova/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/anova/test.esp32-idf.yaml b/tests/components/anova/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/anova/test.esp32-idf.yaml +++ b/tests/components/anova/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/apds9306/common.yaml b/tests/components/apds9306/common.yaml index b3828e62ff..dc34f47645 100644 --- a/tests/components/apds9306/common.yaml +++ b/tests/components/apds9306/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_apds9306 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: apds9306 + i2c_id: i2c_bus name: "APDS9306 Light Level" gain: 3 bit_width: 16 diff --git a/tests/components/apds9306/test.esp32-c3-idf.yaml b/tests/components/apds9306/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/apds9306/test.esp32-c3-idf.yaml +++ b/tests/components/apds9306/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9306/test.esp32-idf.yaml b/tests/components/apds9306/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/apds9306/test.esp32-idf.yaml +++ b/tests/components/apds9306/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9306/test.esp8266-ard.yaml b/tests/components/apds9306/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/apds9306/test.esp8266-ard.yaml +++ b/tests/components/apds9306/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/apds9306/test.rp2040-ard.yaml b/tests/components/apds9306/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/apds9306/test.rp2040-ard.yaml +++ b/tests/components/apds9306/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/common.yaml b/tests/components/apds9960/common.yaml index de7706648a..c14212d263 100644 --- a/tests/components/apds9960/common.yaml +++ b/tests/components/apds9960/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_apds9960 - scl: ${scl_pin} - sda: ${sda_pin} - apds9960: + i2c_id: i2c_bus address: 0x20 update_interval: 60s diff --git a/tests/components/apds9960/test.esp32-c3-idf.yaml b/tests/components/apds9960/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/apds9960/test.esp32-c3-idf.yaml +++ b/tests/components/apds9960/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/test.esp32-idf.yaml b/tests/components/apds9960/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/apds9960/test.esp32-idf.yaml +++ b/tests/components/apds9960/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/test.esp8266-ard.yaml b/tests/components/apds9960/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/apds9960/test.esp8266-ard.yaml +++ b/tests/components/apds9960/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/test.rp2040-ard.yaml b/tests/components/apds9960/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/apds9960/test.rp2040-ard.yaml +++ b/tests/components/apds9960/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/api/common-base.yaml b/tests/components/api/common-base.yaml new file mode 100644 index 0000000000..6483d5a997 --- /dev/null +++ b/tests/components/api/common-base.yaml @@ -0,0 +1,89 @@ +esphome: + on_boot: + then: + - homeassistant.event: + event: esphome.button_pressed + data: + message: Button was pressed + - homeassistant.action: + action: notify.html5 + data: + message: Button was pressed + - homeassistant.tag_scanned: pulse + - homeassistant.action: + action: weather.get_forecasts + data: + entity_id: weather.forecast_home + type: hourly + capture_response: true + on_success: + - lambda: |- + JsonObjectConst next_hour = response["response"]["weather.forecast_home"]["forecast"][0]; + float next_temperature = next_hour["temperature"].as(); + ESP_LOGD("main", "Next hour temperature: %f", next_temperature); + on_error: + - lambda: |- + ESP_LOGE("main", "Action failed with error: %s", error.c_str()); + - homeassistant.action: + action: weather.get_forecasts + data: + entity_id: weather.forecast_home + type: hourly + capture_response: true + response_template: "{{ response['weather.forecast_home']['forecast'][0]['temperature'] }}" + on_success: + - lambda: |- + float temperature = response["response"].as(); + ESP_LOGD("main", "Next hour temperature: %f", temperature); + - homeassistant.action: + action: light.toggle + data: + entity_id: light.demo_light + on_success: + - logger.log: "Toggled demo light" + on_error: + - logger.log: "Failed to toggle demo light" + +api: + port: 8000 + reboot_timeout: 0min + actions: + - action: hello_world + variables: + name: string + then: + - logger.log: + format: Hello World %s! + args: + - name.c_str() + - action: empty_action + then: + - logger.log: Action Called + - action: all_types + variables: + bool_: bool + int_: int + float_: float + string_: string + then: + - logger.log: Something happened + - action: array_types + variables: + bool_arr: bool[] + int_arr: int[] + float_arr: float[] + string_arr: string[] + then: + - logger.log: + # yamllint disable rule:line-length + format: "Bool: %s (%u), Int: %ld (%u), Float: %f (%u), String: %s (%u)" + # yamllint enable rule:line-length + args: + - YESNO(bool_arr[0]) + - bool_arr.size() + - (long) int_arr[0] + - int_arr.size() + - float_arr[0] + - float_arr.size() + - string_arr[0].c_str() + - string_arr.size() diff --git a/tests/components/api/common.yaml b/tests/components/api/common.yaml index d87ae56ec2..6115838b6d 100644 --- a/tests/components/api/common.yaml +++ b/tests/components/api/common.yaml @@ -1,91 +1,5 @@ -esphome: - on_boot: - then: - - homeassistant.event: - event: esphome.button_pressed - data: - message: Button was pressed - - homeassistant.action: - action: notify.html5 - data: - message: Button was pressed - - homeassistant.tag_scanned: pulse - - homeassistant.action: - action: weather.get_forecasts - data: - entity_id: weather.forecast_home - type: hourly - capture_response: true - on_success: - - lambda: |- - JsonObjectConst next_hour = response["response"]["weather.forecast_home"]["forecast"][0]; - float next_temperature = next_hour["temperature"].as(); - ESP_LOGD("main", "Next hour temperature: %f", next_temperature); - on_error: - - lambda: |- - ESP_LOGE("main", "Action failed with error: %s", error.c_str()); - - homeassistant.action: - action: weather.get_forecasts - data: - entity_id: weather.forecast_home - type: hourly - capture_response: true - response_template: "{{ response['weather.forecast_home']['forecast'][0]['temperature'] }}" - on_success: - - lambda: |- - float temperature = response["response"].as(); - ESP_LOGD("main", "Next hour temperature: %f", temperature); - - homeassistant.action: - action: light.toggle - data: - entity_id: light.demo_light - on_success: - - logger.log: "Toggled demo light" - on_error: - - logger.log: "Failed to toggle demo light" +<<: !include common-base.yaml api: - port: 8000 - reboot_timeout: 0min encryption: key: bOFFzzvfpg5DB94DuBGLXD/hMnhpDKgP9UQyBulwWVU= - actions: - - action: hello_world - variables: - name: string - then: - - logger.log: - format: Hello World %s! - args: - - name.c_str() - - action: empty_action - then: - - logger.log: Action Called - - action: all_types - variables: - bool_: bool - int_: int - float_: float - string_: string - then: - - logger.log: Something happened - - action: array_types - variables: - bool_arr: bool[] - int_arr: int[] - float_arr: float[] - string_arr: string[] - then: - - logger.log: - # yamllint disable rule:line-length - format: "Bool: %s (%u), Int: %ld (%u), Float: %f (%u), String: %s (%u)" - # yamllint enable rule:line-length - args: - - YESNO(bool_arr[0]) - - bool_arr.size() - - (long) int_arr[0] - - int_arr.size() - - float_arr[0] - - float_arr.size() - - string_arr[0].c_str() - - string_arr.size() diff --git a/tests/components/api/test-dynamic-encryption.esp32-idf.yaml b/tests/components/api/test-dynamic-encryption.esp32-idf.yaml index d8f8c247f4..504871716b 100644 --- a/tests/components/api/test-dynamic-encryption.esp32-idf.yaml +++ b/tests/components/api/test-dynamic-encryption.esp32-idf.yaml @@ -1,10 +1,5 @@ -packages: - common: !include common.yaml +<<: !include common-base.yaml wifi: ssid: MySSID password: password1 - -api: - encryption: - key: !remove diff --git a/tests/components/as3935_i2c/common.yaml b/tests/components/as3935_i2c/common.yaml index d76cc37fc1..a758bb7f56 100644 --- a/tests/components/as3935_i2c/common.yaml +++ b/tests/components/as3935_i2c/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_as3935 - scl: ${scl_pin} - sda: ${sda_pin} - as3935_i2c: + i2c_id: i2c_bus irq_pin: ${irq_pin} binary_sensor: diff --git a/tests/components/as3935_i2c/test.esp32-c3-idf.yaml b/tests/components/as3935_i2c/test.esp32-c3-idf.yaml index 799acabd5a..59296a1e6e 100644 --- a/tests/components/as3935_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/as3935_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_i2c/test.esp32-idf.yaml b/tests/components/as3935_i2c/test.esp32-idf.yaml index 2c57d412f6..49629536e7 100644 --- a/tests/components/as3935_i2c/test.esp32-idf.yaml +++ b/tests/components/as3935_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_i2c/test.esp8266-ard.yaml b/tests/components/as3935_i2c/test.esp8266-ard.yaml index c8e6a43f44..dc7609ab37 100644 --- a/tests/components/as3935_i2c/test.esp8266-ard.yaml +++ b/tests/components/as3935_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_i2c/test.rp2040-ard.yaml b/tests/components/as3935_i2c/test.rp2040-ard.yaml index 799acabd5a..b80562ad22 100644 --- a/tests/components/as3935_i2c/test.rp2040-ard.yaml +++ b/tests/components/as3935_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_spi/common.yaml b/tests/components/as3935_spi/common.yaml index c3fb93dff1..5898d5d365 100644 --- a/tests/components/as3935_spi/common.yaml +++ b/tests/components/as3935_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_as3935 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - as3935_spi: cs_pin: ${cs_pin} irq_pin: ${irq_pin} diff --git a/tests/components/as3935_spi/test.esp32-c3-idf.yaml b/tests/components/as3935_spi/test.esp32-c3-idf.yaml index fcf35f528e..5e7e2dc82c 100644 --- a/tests/components/as3935_spi/test.esp32-c3-idf.yaml +++ b/tests/components/as3935_spi/test.esp32-c3-idf.yaml @@ -1,8 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 irq_pin: GPIO9 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp32-idf.yaml b/tests/components/as3935_spi/test.esp32-idf.yaml index e00f522dd4..19791e24b7 100644 --- a/tests/components/as3935_spi/test.esp32-idf.yaml +++ b/tests/components/as3935_spi/test.esp32-idf.yaml @@ -1,8 +1,8 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 irq_pin: GPIO13 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp8266-ard.yaml b/tests/components/as3935_spi/test.esp8266-ard.yaml index b90e661ec0..8475dc4c50 100644 --- a/tests/components/as3935_spi/test.esp8266-ard.yaml +++ b/tests/components/as3935_spi/test.esp8266-ard.yaml @@ -1,8 +1,11 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 irq_pin: GPIO5 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_spi/test.rp2040-ard.yaml b/tests/components/as3935_spi/test.rp2040-ard.yaml index 8f5941e1b2..7c4a74a236 100644 --- a/tests/components/as3935_spi/test.rp2040-ard.yaml +++ b/tests/components/as3935_spi/test.rp2040-ard.yaml @@ -5,4 +5,7 @@ substitutions: irq_pin: GPIO5 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/common.yaml b/tests/components/as5600/common.yaml index 860f5bf803..d867c66a21 100644 --- a/tests/components/as5600/common.yaml +++ b/tests/components/as5600/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_as5600 - scl: ${scl_pin} - sda: ${sda_pin} - as5600: + i2c_id: i2c_bus dir_pin: ${dir_pin} direction: clockwise start_position: 90deg diff --git a/tests/components/as5600/test.esp32-c3-idf.yaml b/tests/components/as5600/test.esp32-c3-idf.yaml index a0623c91e5..03a87ed6c4 100644 --- a/tests/components/as5600/test.esp32-c3-idf.yaml +++ b/tests/components/as5600/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 dir_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/test.esp32-idf.yaml b/tests/components/as5600/test.esp32-idf.yaml index fa08763501..9d25a7f09a 100644 --- a/tests/components/as5600/test.esp32-idf.yaml +++ b/tests/components/as5600/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 dir_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/test.esp8266-ard.yaml b/tests/components/as5600/test.esp8266-ard.yaml index 5e27f8c134..8d18740b95 100644 --- a/tests/components/as5600/test.esp8266-ard.yaml +++ b/tests/components/as5600/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 dir_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/test.rp2040-ard.yaml b/tests/components/as5600/test.rp2040-ard.yaml index a0623c91e5..4bcbb99c81 100644 --- a/tests/components/as5600/test.rp2040-ard.yaml +++ b/tests/components/as5600/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 dir_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as7341/common.yaml b/tests/components/as7341/common.yaml index 0351b344c6..3f94656c74 100644 --- a/tests/components/as7341/common.yaml +++ b/tests/components/as7341/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_as7341 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: as7341 + i2c_id: i2c_bus update_interval: 15s gain: X8 atime: 120 diff --git a/tests/components/as7341/test.esp32-c3-idf.yaml b/tests/components/as7341/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/as7341/test.esp32-c3-idf.yaml +++ b/tests/components/as7341/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/as7341/test.esp32-idf.yaml b/tests/components/as7341/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/as7341/test.esp32-idf.yaml +++ b/tests/components/as7341/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/as7341/test.esp8266-ard.yaml b/tests/components/as7341/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/as7341/test.esp8266-ard.yaml +++ b/tests/components/as7341/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/as7341/test.rp2040-ard.yaml b/tests/components/as7341/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/as7341/test.rp2040-ard.yaml +++ b/tests/components/as7341/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/at581x/common.yaml b/tests/components/at581x/common.yaml index 018a0fded1..425be47c42 100644 --- a/tests/components/at581x/common.yaml +++ b/tests/components/at581x/common.yaml @@ -16,13 +16,9 @@ esphome: id: waveradar at581x: + i2c_id: i2c_bus id: waveradar -i2c: - - id: i2c_at581x - scl: ${scl_pin} - sda: ${sda_pin} - switch: - platform: at581x name: Enable Radar diff --git a/tests/components/at581x/test.esp32-c3-idf.yaml b/tests/components/at581x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/at581x/test.esp32-c3-idf.yaml +++ b/tests/components/at581x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/at581x/test.esp32-idf.yaml b/tests/components/at581x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/at581x/test.esp32-idf.yaml +++ b/tests/components/at581x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/at581x/test.esp8266-ard.yaml b/tests/components/at581x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/at581x/test.esp8266-ard.yaml +++ b/tests/components/at581x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/at581x/test.rp2040-ard.yaml b/tests/components/at581x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/at581x/test.rp2040-ard.yaml +++ b/tests/components/at581x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml b/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml +++ b/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-idf.yaml b/tests/components/atc_mithermometer/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/atc_mithermometer/test.esp32-idf.yaml +++ b/tests/components/atc_mithermometer/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e26/common.yaml b/tests/components/atm90e26/common.yaml index 49c3a73ec8..478be7b8b3 100644 --- a/tests/components/atm90e26/common.yaml +++ b/tests/components/atm90e26/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_atm90e26 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: atm90e26 cs_pin: ${cs_pin} diff --git a/tests/components/atm90e26/test.esp32-c3-idf.yaml b/tests/components/atm90e26/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/atm90e26/test.esp32-c3-idf.yaml +++ b/tests/components/atm90e26/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp32-idf.yaml b/tests/components/atm90e26/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/atm90e26/test.esp32-idf.yaml +++ b/tests/components/atm90e26/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp8266-ard.yaml b/tests/components/atm90e26/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/atm90e26/test.esp8266-ard.yaml +++ b/tests/components/atm90e26/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e26/test.rp2040-ard.yaml b/tests/components/atm90e26/test.rp2040-ard.yaml index c8bfab0023..5d0c35c2d2 100644 --- a/tests/components/atm90e26/test.rp2040-ard.yaml +++ b/tests/components/atm90e26/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e32/common.yaml b/tests/components/atm90e32/common.yaml index 3eeed8395f..b8b480ab62 100644 --- a/tests/components/atm90e32/common.yaml +++ b/tests/components/atm90e32/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_atm90e32 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: atm90e32 cs_pin: ${cs_pin} diff --git a/tests/components/atm90e32/test.esp32-c3-idf.yaml b/tests/components/atm90e32/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/atm90e32/test.esp32-c3-idf.yaml +++ b/tests/components/atm90e32/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp32-idf.yaml b/tests/components/atm90e32/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/atm90e32/test.esp32-idf.yaml +++ b/tests/components/atm90e32/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp8266-ard.yaml b/tests/components/atm90e32/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/atm90e32/test.esp8266-ard.yaml +++ b/tests/components/atm90e32/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e32/test.rp2040-ard.yaml b/tests/components/atm90e32/test.rp2040-ard.yaml index c8bfab0023..5d0c35c2d2 100644 --- a/tests/components/atm90e32/test.rp2040-ard.yaml +++ b/tests/components/atm90e32/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/axs15231/common.yaml b/tests/components/axs15231/common.yaml index 1c0c79975f..3f07af80ea 100644 --- a/tests/components/axs15231/common.yaml +++ b/tests/components/axs15231/common.yaml @@ -1,20 +1,18 @@ -i2c: - - id: i2c_axs15231 - scl: 3 - sda: 21 - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: 19 pages: - - id: page1 + - id: axs15231_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: axs15231 + i2c_id: i2c_bus + id: axs15231_touchscreen display: ssd1306_display interrupt_pin: 20 reset_pin: 18 diff --git a/tests/components/axs15231/test.esp32-c3-idf.yaml b/tests/components/axs15231/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/axs15231/test.esp32-c3-idf.yaml +++ b/tests/components/axs15231/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/axs15231/test.esp32-idf.yaml b/tests/components/axs15231/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/axs15231/test.esp32-idf.yaml +++ b/tests/components/axs15231/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/axs15231/test.esp8266-ard.yaml b/tests/components/axs15231/test.esp8266-ard.yaml index c09d139574..eb599da773 100644 --- a/tests/components/axs15231/test.esp8266-ard.yaml +++ b/tests/components/axs15231/test.esp8266-ard.yaml @@ -1,10 +1,9 @@ -i2c: - - id: i2c_axs15231 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: 13 @@ -15,5 +14,6 @@ display: touchscreen: - platform: axs15231 + i2c_id: i2c_bus display: ssd1306_display interrupt_pin: 12 diff --git a/tests/components/axs15231/test.rp2040-ard.yaml b/tests/components/axs15231/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/axs15231/test.rp2040-ard.yaml +++ b/tests/components/axs15231/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-c3-idf.yaml b/tests/components/b_parasite/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/b_parasite/test.esp32-c3-idf.yaml +++ b/tests/components/b_parasite/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-idf.yaml b/tests/components/b_parasite/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/b_parasite/test.esp32-idf.yaml +++ b/tests/components/b_parasite/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-c3-idf.yaml b/tests/components/bedjet/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/bedjet/test.esp32-c3-idf.yaml +++ b/tests/components/bedjet/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-idf.yaml b/tests/components/bedjet/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/bedjet/test.esp32-idf.yaml +++ b/tests/components/bedjet/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bh1750/common.yaml b/tests/components/bh1750/common.yaml index c0e0bc1c59..46ea99b7e3 100644 --- a/tests/components/bh1750/common.yaml +++ b/tests/components/bh1750/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bh1750 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bh1750 + i2c_id: i2c_bus name: Living Room Brightness address: 0x23 update_interval: 30s diff --git a/tests/components/bh1750/test.esp32-c3-idf.yaml b/tests/components/bh1750/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bh1750/test.esp32-c3-idf.yaml +++ b/tests/components/bh1750/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bh1750/test.esp32-idf.yaml b/tests/components/bh1750/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bh1750/test.esp32-idf.yaml +++ b/tests/components/bh1750/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bh1750/test.esp8266-ard.yaml b/tests/components/bh1750/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bh1750/test.esp8266-ard.yaml +++ b/tests/components/bh1750/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bh1750/test.rp2040-ard.yaml b/tests/components/bh1750/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bh1750/test.rp2040-ard.yaml +++ b/tests/components/bh1750/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bl0906/common.yaml b/tests/components/bl0906/common.yaml index 29b82a5958..006aa682f1 100644 --- a/tests/components/bl0906/common.yaml +++ b/tests/components/bl0906/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0906 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 19200 - sensor: - platform: bl0906 id: bl diff --git a/tests/components/bl0906/test.esp32-c3-idf.yaml b/tests/components/bl0906/test.esp32-c3-idf.yaml index c79d14c740..147d967dd4 100644 --- a/tests/components/bl0906/test.esp32-c3-idf.yaml +++ b/tests/components/bl0906/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0906/test.esp32-idf.yaml b/tests/components/bl0906/test.esp32-idf.yaml index 811f6b72a6..76222997a8 100644 --- a/tests/components/bl0906/test.esp32-idf.yaml +++ b/tests/components/bl0906/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0906/test.esp8266-ard.yaml b/tests/components/bl0906/test.esp8266-ard.yaml index 3b44f9c9c3..ac781ea834 100644 --- a/tests/components/bl0906/test.esp8266-ard.yaml +++ b/tests/components/bl0906/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0906/test.rp2040-ard.yaml b/tests/components/bl0906/test.rp2040-ard.yaml index b516342f3b..f4dada6605 100644 --- a/tests/components/bl0906/test.rp2040-ard.yaml +++ b/tests/components/bl0906/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0939/common.yaml b/tests/components/bl0939/common.yaml index 7a6b635b70..a47aa05606 100644 --- a/tests/components/bl0939/common.yaml +++ b/tests/components/bl0939/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0939 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: bl0939 voltage: diff --git a/tests/components/bl0939/test.esp32-c3-idf.yaml b/tests/components/bl0939/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/bl0939/test.esp32-c3-idf.yaml +++ b/tests/components/bl0939/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0939/test.esp32-idf.yaml b/tests/components/bl0939/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/bl0939/test.esp32-idf.yaml +++ b/tests/components/bl0939/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bl0939/test.esp8266-ard.yaml b/tests/components/bl0939/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/bl0939/test.esp8266-ard.yaml +++ b/tests/components/bl0939/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0939/test.rp2040-ard.yaml b/tests/components/bl0939/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/bl0939/test.rp2040-ard.yaml +++ b/tests/components/bl0939/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0940/common.yaml b/tests/components/bl0940/common.yaml index 443f3b0ff0..0b73fd6d55 100644 --- a/tests/components/bl0940/common.yaml +++ b/tests/components/bl0940/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0939 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - button: - platform: bl0940 bl0940_id: test_id diff --git a/tests/components/bl0940/test.esp32-c3-idf.yaml b/tests/components/bl0940/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/bl0940/test.esp32-c3-idf.yaml +++ b/tests/components/bl0940/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0940/test.esp32-idf.yaml b/tests/components/bl0940/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/bl0940/test.esp32-idf.yaml +++ b/tests/components/bl0940/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bl0940/test.esp8266-ard.yaml b/tests/components/bl0940/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/bl0940/test.esp8266-ard.yaml +++ b/tests/components/bl0940/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0940/test.rp2040-ard.yaml b/tests/components/bl0940/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/bl0940/test.rp2040-ard.yaml +++ b/tests/components/bl0940/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0942/common.yaml b/tests/components/bl0942/common.yaml index 32da24885f..1aaab8bb86 100644 --- a/tests/components/bl0942/common.yaml +++ b/tests/components/bl0942/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0939 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: bl0942 reset: true diff --git a/tests/components/bl0942/test.bk72xx-ard.yaml b/tests/components/bl0942/test.bk72xx-ard.yaml index 96e13c83a9..0caf71ba1f 100644 --- a/tests/components/bl0942/test.bk72xx-ard.yaml +++ b/tests/components/bl0942/test.bk72xx-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: TX1 - rx_pin: RX1 +packages: + uart: !include ../../test_build_components/common/uart/bk72xx-ard.yaml <<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-c3-idf.yaml b/tests/components/bl0942/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/bl0942/test.esp32-c3-idf.yaml +++ b/tests/components/bl0942/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-idf.yaml b/tests/components/bl0942/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/bl0942/test.esp32-idf.yaml +++ b/tests/components/bl0942/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bl0942/test.esp8266-ard.yaml b/tests/components/bl0942/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/bl0942/test.esp8266-ard.yaml +++ b/tests/components/bl0942/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0942/test.rp2040-ard.yaml b/tests/components/bl0942/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/bl0942/test.rp2040-ard.yaml +++ b/tests/components/bl0942/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-c3-idf.yaml b/tests/components/ble_client/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_client/test.esp32-c3-idf.yaml +++ b/tests/components/ble_client/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-idf.yaml b/tests/components/ble_client/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_client/test.esp32-idf.yaml +++ b/tests/components/ble_client/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-c3-idf.yaml b/tests/components/ble_presence/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_presence/test.esp32-c3-idf.yaml +++ b/tests/components/ble_presence/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-idf.yaml b/tests/components/ble_presence/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_presence/test.esp32-idf.yaml +++ b/tests/components/ble_presence/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-c3-idf.yaml b/tests/components/ble_rssi/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_rssi/test.esp32-c3-idf.yaml +++ b/tests/components/ble_rssi/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-idf.yaml b/tests/components/ble_rssi/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_rssi/test.esp32-idf.yaml +++ b/tests/components/ble_rssi/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-c3-idf.yaml b/tests/components/ble_scanner/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_scanner/test.esp32-c3-idf.yaml +++ b/tests/components/ble_scanner/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-idf.yaml b/tests/components/ble_scanner/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_scanner/test.esp32-idf.yaml +++ b/tests/components/ble_scanner/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bme280_i2c/common.yaml b/tests/components/bme280_i2c/common.yaml index e74ce9bf6d..e6d41d209c 100644 --- a/tests/components/bme280_i2c/common.yaml +++ b/tests/components/bme280_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_bme280 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bme280_i2c - i2c_id: i2c_bme280 + i2c_id: i2c_bus address: 0x76 temperature: id: bme280_temperature diff --git a/tests/components/bme280_i2c/test.esp32-c3-idf.yaml b/tests/components/bme280_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bme280_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bme280_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.esp32-idf.yaml b/tests/components/bme280_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bme280_i2c/test.esp32-idf.yaml +++ b/tests/components/bme280_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.esp8266-ard.yaml b/tests/components/bme280_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme280_i2c/test.esp8266-ard.yaml +++ b/tests/components/bme280_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.rp2040-ard.yaml b/tests/components/bme280_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bme280_i2c/test.rp2040-ard.yaml +++ b/tests/components/bme280_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme280_spi/common.yaml b/tests/components/bme280_spi/common.yaml index 303ecf9f73..9a50b410fb 100644 --- a/tests/components/bme280_spi/common.yaml +++ b/tests/components/bme280_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_bme280 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: bme280_spi - spi_id: spi_bme280 cs_pin: ${cs_pin} temperature: id: bme280_temperature diff --git a/tests/components/bme280_spi/test.esp32-c3-idf.yaml b/tests/components/bme280_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/bme280_spi/test.esp32-c3-idf.yaml +++ b/tests/components/bme280_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp32-idf.yaml b/tests/components/bme280_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/bme280_spi/test.esp32-idf.yaml +++ b/tests/components/bme280_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp8266-ard.yaml b/tests/components/bme280_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/bme280_spi/test.esp8266-ard.yaml +++ b/tests/components/bme280_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bme280_spi/test.rp2040-ard.yaml b/tests/components/bme280_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/bme280_spi/test.rp2040-ard.yaml +++ b/tests/components/bme280_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bme680/common.yaml b/tests/components/bme680/common.yaml index 13a42488f2..d5a7267060 100644 --- a/tests/components/bme680/common.yaml +++ b/tests/components/bme680/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bme680 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bme680 + i2c_id: i2c_bus temperature: name: BME680 Temperature oversampling: 16x diff --git a/tests/components/bme680/test.esp32-c3-idf.yaml b/tests/components/bme680/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bme680/test.esp32-c3-idf.yaml +++ b/tests/components/bme680/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme680/test.esp32-idf.yaml b/tests/components/bme680/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bme680/test.esp32-idf.yaml +++ b/tests/components/bme680/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme680/test.esp8266-ard.yaml b/tests/components/bme680/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme680/test.esp8266-ard.yaml +++ b/tests/components/bme680/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme680/test.rp2040-ard.yaml b/tests/components/bme680/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bme680/test.rp2040-ard.yaml +++ b/tests/components/bme680/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme680_bsec/common.yaml b/tests/components/bme680_bsec/common.yaml index 7d2e9e210b..1a78ab2ae0 100644 --- a/tests/components/bme680_bsec/common.yaml +++ b/tests/components/bme680_bsec/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_bme680 - scl: ${scl_pin} - sda: ${sda_pin} - bme680_bsec: + i2c_id: i2c_bus address: 0x77 sensor: diff --git a/tests/components/bme680_bsec/test.esp32-ard.yaml b/tests/components/bme680_bsec/test.esp32-ard.yaml index 3b761d3fc1..7c503b0ccb 100644 --- a/tests/components/bme680_bsec/test.esp32-ard.yaml +++ b/tests/components/bme680_bsec/test.esp32-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme680_bsec/test.esp8266-ard.yaml b/tests/components/bme680_bsec/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme680_bsec/test.esp8266-ard.yaml +++ b/tests/components/bme680_bsec/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/common.yaml b/tests/components/bme68x_bsec2_i2c/common.yaml index b8a16ee7bb..bee964f433 100644 --- a/tests/components/bme68x_bsec2_i2c/common.yaml +++ b/tests/components/bme68x_bsec2_i2c/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_bme68x - scl: ${scl_pin} - sda: ${sda_pin} - bme68x_bsec2_i2c: + i2c_id: i2c_bus address: 0x76 model: bme688 algorithm_output: classification diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml index 84a9dd4bb4..9990d96d29 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO6 - sda_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml index 63c3bd6afd..54f59a59fc 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s2-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml index 63c3bd6afd..0fd8684a2c 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/common.yaml b/tests/components/bmi160/common.yaml index 6aa9aa6ed0..7375732db2 100644 --- a/tests/components/bmi160/common.yaml +++ b/tests/components/bmi160/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bmi160 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmi160 + i2c_id: i2c_bus address: 0x68 acceleration_x: name: BMI160 Accel X diff --git a/tests/components/bmi160/test.esp32-c3-idf.yaml b/tests/components/bmi160/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmi160/test.esp32-c3-idf.yaml +++ b/tests/components/bmi160/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/test.esp32-idf.yaml b/tests/components/bmi160/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bmi160/test.esp32-idf.yaml +++ b/tests/components/bmi160/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/test.esp8266-ard.yaml b/tests/components/bmi160/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmi160/test.esp8266-ard.yaml +++ b/tests/components/bmi160/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/test.rp2040-ard.yaml b/tests/components/bmi160/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmi160/test.rp2040-ard.yaml +++ b/tests/components/bmi160/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/common.yaml b/tests/components/bmp085/common.yaml index 219bc51fbb..ad358f4409 100644 --- a/tests/components/bmp085/common.yaml +++ b/tests/components/bmp085/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bmp085 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp085 + i2c_id: i2c_bus temperature: name: Outside Temperature pressure: diff --git a/tests/components/bmp085/test.esp32-c3-idf.yaml b/tests/components/bmp085/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp085/test.esp32-c3-idf.yaml +++ b/tests/components/bmp085/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/test.esp32-idf.yaml b/tests/components/bmp085/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bmp085/test.esp32-idf.yaml +++ b/tests/components/bmp085/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/test.esp8266-ard.yaml b/tests/components/bmp085/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp085/test.esp8266-ard.yaml +++ b/tests/components/bmp085/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/test.rp2040-ard.yaml b/tests/components/bmp085/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp085/test.rp2040-ard.yaml +++ b/tests/components/bmp085/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/common.yaml b/tests/components/bmp280_i2c/common.yaml index edf52b2cd4..785343de7d 100644 --- a/tests/components/bmp280_i2c/common.yaml +++ b/tests/components/bmp280_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_bmp280 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp280_i2c - i2c_id: i2c_bmp280 + i2c_id: i2c_bus address: 0x77 temperature: id: bmp280_temperature diff --git a/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml b/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp32-idf.yaml b/tests/components/bmp280_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bmp280_i2c/test.esp32-idf.yaml +++ b/tests/components/bmp280_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp8266-ard.yaml b/tests/components/bmp280_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp280_i2c/test.esp8266-ard.yaml +++ b/tests/components/bmp280_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.rp2040-ard.yaml b/tests/components/bmp280_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp280_i2c/test.rp2040-ard.yaml +++ b/tests/components/bmp280_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_spi/common.yaml b/tests/components/bmp280_spi/common.yaml index 798804de5b..fa88967ca4 100644 --- a/tests/components/bmp280_spi/common.yaml +++ b/tests/components/bmp280_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_bmp280 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: bmp280_spi - spi_id: spi_bmp280 cs_pin: ${cs_pin} temperature: id: bmp280_temperature diff --git a/tests/components/bmp280_spi/test.esp32-c3-idf.yaml b/tests/components/bmp280_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/bmp280_spi/test.esp32-c3-idf.yaml +++ b/tests/components/bmp280_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp32-idf.yaml b/tests/components/bmp280_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/bmp280_spi/test.esp32-idf.yaml +++ b/tests/components/bmp280_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp8266-ard.yaml b/tests/components/bmp280_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/bmp280_spi/test.esp8266-ard.yaml +++ b/tests/components/bmp280_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.rp2040-ard.yaml b/tests/components/bmp280_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/bmp280_spi/test.rp2040-ard.yaml +++ b/tests/components/bmp280_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/common.yaml b/tests/components/bmp3xx_i2c/common.yaml index 6641b7a1b8..ebc4921b84 100644 --- a/tests/components/bmp3xx_i2c/common.yaml +++ b/tests/components/bmp3xx_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_bmp3xx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp3xx_i2c - i2c_id: i2c_bmp3xx + i2c_id: i2c_bus address: 0x77 temperature: name: BMP Temperature diff --git a/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml b/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp32-idf.yaml b/tests/components/bmp3xx_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bmp3xx_i2c/test.esp32-idf.yaml +++ b/tests/components/bmp3xx_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml b/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml +++ b/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml b/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml +++ b/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/common.yaml b/tests/components/bmp3xx_spi/common.yaml index 8d5f897661..d6acef1833 100644 --- a/tests/components/bmp3xx_spi/common.yaml +++ b/tests/components/bmp3xx_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_bmp3xx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: bmp3xx_spi - spi_id: spi_bmp3xx cs_pin: ${cs_pin} temperature: name: BMP Temperature diff --git a/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml b/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml +++ b/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp32-idf.yaml b/tests/components/bmp3xx_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/bmp3xx_spi/test.esp32-idf.yaml +++ b/tests/components/bmp3xx_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp8266-ard.yaml b/tests/components/bmp3xx_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/bmp3xx_spi/test.esp8266-ard.yaml +++ b/tests/components/bmp3xx_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.rp2040-ard.yaml b/tests/components/bmp3xx_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/bmp3xx_spi/test.rp2040-ard.yaml +++ b/tests/components/bmp3xx_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp581/common.yaml b/tests/components/bmp581/common.yaml index 71ad4bfb1a..250b1f5857 100644 --- a/tests/components/bmp581/common.yaml +++ b/tests/components/bmp581/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bmp581 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp581 + i2c_id: i2c_bus temperature: name: BMP581 Temperature iir_filter: 2x diff --git a/tests/components/bmp581/test.esp32-c3-idf.yaml b/tests/components/bmp581/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp581/test.esp32-c3-idf.yaml +++ b/tests/components/bmp581/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp581/test.esp32-idf.yaml b/tests/components/bmp581/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bmp581/test.esp32-idf.yaml +++ b/tests/components/bmp581/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp581/test.esp8266-ard.yaml b/tests/components/bmp581/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp581/test.esp8266-ard.yaml +++ b/tests/components/bmp581/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp581/test.rp2040-ard.yaml b/tests/components/bmp581/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp581/test.rp2040-ard.yaml +++ b/tests/components/bmp581/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp32-idf.yaml b/tests/components/bp1658cj/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/bp1658cj/test.esp32-idf.yaml +++ b/tests/components/bp1658cj/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp8266-ard.yaml b/tests/components/bp1658cj/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/bp1658cj/test.esp8266-ard.yaml +++ b/tests/components/bp1658cj/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp32-idf.yaml b/tests/components/bp5758d/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/bp5758d/test.esp32-idf.yaml +++ b/tests/components/bp5758d/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp8266-ard.yaml b/tests/components/bp5758d/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/bp5758d/test.esp8266-ard.yaml +++ b/tests/components/bp5758d/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/camera/common.yaml b/tests/components/camera/common.yaml index 3daf1e8565..76cca4cf94 100644 --- a/tests/components/camera/common.yaml +++ b/tests/components/camera/common.yaml @@ -1,18 +1,2 @@ -esphome: - includes: - - ../../../esphome/components/camera/ - -script: - - id: interface_compile_check - then: - - lambda: |- - using namespace esphome::camera; - class MockCamera : public Camera { - public: - void add_image_callback(std::function)> &&callback) override {} - CameraImageReader *create_image_reader() override { return 0; } - void request_image(CameraRequester requester) override {} - void start_stream(CameraRequester requester) override {} - void stop_stream(CameraRequester requester) override {} - }; - MockCamera* camera = new MockCamera(); +# Camera is a base component auto-loaded by esp32_camera +# The hardware configuration comes from the camera package diff --git a/tests/components/camera/test.esp32-idf.yaml b/tests/components/camera/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/camera/test.esp32-idf.yaml +++ b/tests/components/camera/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/camera_encoder/test.esp32-idf.yaml b/tests/components/camera_encoder/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/camera_encoder/test.esp32-idf.yaml +++ b/tests/components/camera_encoder/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/canbus/test.esp32-idf.yaml b/tests/components/canbus/test.esp32-idf.yaml index dade44d145..2d29656c94 100644 --- a/tests/components/canbus/test.esp32-idf.yaml +++ b/tests/components/canbus/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/common.yaml b/tests/components/cap1188/common.yaml index e83bf5d5d2..3e4ed972ff 100644 --- a/tests/components/cap1188/common.yaml +++ b/tests/components/cap1188/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_cap1188 - scl: ${scl_pin} - sda: ${sda_pin} - cap1188: id: cap1188_component + i2c_id: i2c_bus address: 0x29 reset_pin: ${reset_pin} touch_threshold: 0x20 diff --git a/tests/components/cap1188/test.esp32-c3-idf.yaml b/tests/components/cap1188/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/cap1188/test.esp32-c3-idf.yaml +++ b/tests/components/cap1188/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/test.esp32-idf.yaml b/tests/components/cap1188/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/cap1188/test.esp32-idf.yaml +++ b/tests/components/cap1188/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/test.esp8266-ard.yaml b/tests/components/cap1188/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/cap1188/test.esp8266-ard.yaml +++ b/tests/components/cap1188/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/test.rp2040-ard.yaml b/tests/components/cap1188/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/cap1188/test.rp2040-ard.yaml +++ b/tests/components/cap1188/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ccs811/common.yaml b/tests/components/ccs811/common.yaml index a781996c66..0d912fd3ac 100644 --- a/tests/components/ccs811/common.yaml +++ b/tests/components/ccs811/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ccs811 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ccs811 + i2c_id: i2c_bus eco2: name: CCS811 eCO2 tvoc: diff --git a/tests/components/ccs811/test.esp32-c3-idf.yaml b/tests/components/ccs811/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ccs811/test.esp32-c3-idf.yaml +++ b/tests/components/ccs811/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ccs811/test.esp32-idf.yaml b/tests/components/ccs811/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ccs811/test.esp32-idf.yaml +++ b/tests/components/ccs811/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ccs811/test.esp8266-ard.yaml b/tests/components/ccs811/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ccs811/test.esp8266-ard.yaml +++ b/tests/components/ccs811/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ccs811/test.rp2040-ard.yaml b/tests/components/ccs811/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ccs811/test.rp2040-ard.yaml +++ b/tests/components/ccs811/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/common.yaml b/tests/components/ch422g/common.yaml index d65956ecac..ad3707eee0 100644 --- a/tests/components/ch422g/common.yaml +++ b/tests/components/ch422g/common.yaml @@ -1,5 +1,6 @@ ch422g: - id: ch422g_hub + i2c_id: i2c_bus binary_sensor: - platform: gpio diff --git a/tests/components/ch422g/test.esp32-c3-idf.yaml b/tests/components/ch422g/test.esp32-c3-idf.yaml index cd822cb308..9990d96d29 100644 --- a/tests/components/ch422g/test.esp32-c3-idf.yaml +++ b/tests/components/ch422g/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/test.esp32-idf.yaml b/tests/components/ch422g/test.esp32-idf.yaml index cd3f1bbeef..b47e39c389 100644 --- a/tests/components/ch422g/test.esp32-idf.yaml +++ b/tests/components/ch422g/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 16 - sda: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/test.esp8266-ard.yaml b/tests/components/ch422g/test.esp8266-ard.yaml index cd822cb308..4a98b9388a 100644 --- a/tests/components/ch422g/test.esp8266-ard.yaml +++ b/tests/components/ch422g/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/test.rp2040-ard.yaml b/tests/components/ch422g/test.rp2040-ard.yaml index cd822cb308..319a7c71a6 100644 --- a/tests/components/ch422g/test.rp2040-ard.yaml +++ b/tests/components/ch422g/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/chsc6x/test.esp32-c3-idf.yaml b/tests/components/chsc6x/test.esp32-c3-idf.yaml index b0f55eb2e6..f32f147a44 100644 --- a/tests/components/chsc6x/test.esp32-c3-idf.yaml +++ b/tests/components/chsc6x/test.esp32-c3-idf.yaml @@ -1,19 +1,14 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 9 - -spi: - clk_pin: 5 - mosi_pin: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml display: - platform: ili9xxx id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 18 - dc_pin: 19 + cs_pin: 10 + dc_pin: 6 pages: - id: page1 lambda: |- diff --git a/tests/components/chsc6x/test.esp32-idf.yaml b/tests/components/chsc6x/test.esp32-idf.yaml index 9bc58b66f6..ea3686d8bd 100644 --- a/tests/components/chsc6x/test.esp32-idf.yaml +++ b/tests/components/chsc6x/test.esp32-idf.yaml @@ -1,19 +1,14 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 21 - -spi: - clk_pin: 16 - mosi_pin: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml display: - platform: ili9xxx id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 18 - dc_pin: 19 + cs_pin: 22 + dc_pin: 21 pages: - id: page1 lambda: |- diff --git a/tests/components/chsc6x/test.rp2040-ard.yaml b/tests/components/chsc6x/test.rp2040-ard.yaml index dbd0d59fc4..89cc1b7477 100644 --- a/tests/components/chsc6x/test.rp2040-ard.yaml +++ b/tests/components/chsc6x/test.rp2040-ard.yaml @@ -1,19 +1,14 @@ -i2c: - - id: i2c_chsc6x - scl: 1 - sda: 0 - -spi: - clk_pin: 2 - mosi_pin: 3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml display: - platform: ili9xxx id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 18 - dc_pin: 19 + cs_pin: 20 + dc_pin: 21 pages: - id: page1 lambda: |- @@ -22,4 +17,4 @@ display: touchscreen: - platform: chsc6x display: ili9xxx_display - interrupt_pin: 20 + interrupt_pin: 22 diff --git a/tests/components/cm1106/common.yaml b/tests/components/cm1106/common.yaml index a01e78024e..ed2fd67007 100644 --- a/tests/components/cm1106/common.yaml +++ b/tests/components/cm1106/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_cm1106 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: cm1106 co2: diff --git a/tests/components/cm1106/test.esp32-c3-idf.yaml b/tests/components/cm1106/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/cm1106/test.esp32-c3-idf.yaml +++ b/tests/components/cm1106/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cm1106/test.esp32-idf.yaml b/tests/components/cm1106/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/cm1106/test.esp32-idf.yaml +++ b/tests/components/cm1106/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/cm1106/test.esp8266-ard.yaml b/tests/components/cm1106/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/cm1106/test.esp8266-ard.yaml +++ b/tests/components/cm1106/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/cm1106/test.rp2040-ard.yaml b/tests/components/cm1106/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/cm1106/test.rp2040-ard.yaml +++ b/tests/components/cm1106/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/const/common.yaml b/tests/components/const/common.yaml index f4b15f2b90..109db65b63 100644 --- a/tests/components/const/common.yaml +++ b/tests/components/const/common.yaml @@ -1,9 +1,3 @@ -spi: - id: quad_spi - clk_pin: 15 - type: quad - data_pins: [14, 10, 16, 12] - display: - platform: qspi_dbi model: RM690B0 diff --git a/tests/components/const/test.esp32-s3-idf.yaml b/tests/components/const/test.esp32-s3-idf.yaml index dade44d145..c335dee1f3 100644 --- a/tests/components/const/test.esp32-s3-idf.yaml +++ b/tests/components/const/test.esp32-s3-idf.yaml @@ -1 +1,4 @@ +packages: + qspi: !include ../../test_build_components/common/qspi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cs5460a/common.yaml b/tests/components/cs5460a/common.yaml index d97b01716b..9ecd934eda 100644 --- a/tests/components/cs5460a/common.yaml +++ b/tests/components/cs5460a/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_cs5460a - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: cs5460a id: cs5460a1 diff --git a/tests/components/cs5460a/test.esp32-c3-idf.yaml b/tests/components/cs5460a/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/cs5460a/test.esp32-c3-idf.yaml +++ b/tests/components/cs5460a/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp32-idf.yaml b/tests/components/cs5460a/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/cs5460a/test.esp32-idf.yaml +++ b/tests/components/cs5460a/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp8266-ard.yaml b/tests/components/cs5460a/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/cs5460a/test.esp8266-ard.yaml +++ b/tests/components/cs5460a/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cs5460a/test.rp2040-ard.yaml b/tests/components/cs5460a/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/cs5460a/test.rp2040-ard.yaml +++ b/tests/components/cs5460a/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7761/common.yaml b/tests/components/cse7761/common.yaml index 60cce3864a..77b19957b4 100644 --- a/tests/components/cse7761/common.yaml +++ b/tests/components/cse7761/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_cse7761 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 38400 - sensor: - platform: cse7761 voltage: diff --git a/tests/components/cse7761/test.esp32-c3-idf.yaml b/tests/components/cse7761/test.esp32-c3-idf.yaml index c79d14c740..4e11c6e7cb 100644 --- a/tests/components/cse7761/test.esp32-c3-idf.yaml +++ b/tests/components/cse7761/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cse7761/test.esp32-idf.yaml b/tests/components/cse7761/test.esp32-idf.yaml index 811f6b72a6..a6a8fee7e9 100644 --- a/tests/components/cse7761/test.esp32-idf.yaml +++ b/tests/components/cse7761/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cse7761/test.esp8266-ard.yaml b/tests/components/cse7761/test.esp8266-ard.yaml index 3b44f9c9c3..134274ffb8 100644 --- a/tests/components/cse7761/test.esp8266-ard.yaml +++ b/tests/components/cse7761/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7761/test.rp2040-ard.yaml b/tests/components/cse7761/test.rp2040-ard.yaml index b516342f3b..b813e0f7f1 100644 --- a/tests/components/cse7761/test.rp2040-ard.yaml +++ b/tests/components/cse7761/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7766/common.yaml b/tests/components/cse7766/common.yaml index f12b135a77..6db19691f1 100644 --- a/tests/components/cse7766/common.yaml +++ b/tests/components/cse7766/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_cse7766 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 4800 - parity: EVEN - sensor: - platform: cse7766 voltage: diff --git a/tests/components/cse7766/test.esp32-c3-idf.yaml b/tests/components/cse7766/test.esp32-c3-idf.yaml index c79d14c740..dc95c985c7 100644 --- a/tests/components/cse7766/test.esp32-c3-idf.yaml +++ b/tests/components/cse7766/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cse7766/test.esp32-idf.yaml b/tests/components/cse7766/test.esp32-idf.yaml index 811f6b72a6..911b867708 100644 --- a/tests/components/cse7766/test.esp32-idf.yaml +++ b/tests/components/cse7766/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/cse7766/test.esp8266-ard.yaml b/tests/components/cse7766/test.esp8266-ard.yaml index 3b44f9c9c3..77e529ca48 100644 --- a/tests/components/cse7766/test.esp8266-ard.yaml +++ b/tests/components/cse7766/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7766/test.rp2040-ard.yaml b/tests/components/cse7766/test.rp2040-ard.yaml index b516342f3b..b7056670ef 100644 --- a/tests/components/cse7766/test.rp2040-ard.yaml +++ b/tests/components/cse7766/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cst226/common.yaml b/tests/components/cst226/common.yaml index d0b8ea3a86..79d7e7fd53 100644 --- a/tests/components/cst226/common.yaml +++ b/tests/components/cst226/common.yaml @@ -1,15 +1,5 @@ -i2c: - - id: i2c_cst226 - scl: ${scl_pin} - sda: ${sda_pin} - -spi: - - id: spi_ili9xxx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - - id: my_display + - id: cst226_display platform: ili9xxx model: ili9342 cs_pin: ${cs_pin} @@ -19,7 +9,9 @@ display: touchscreen: - id: ts_cst226 + i2c_id: i2c_bus platform: cst226 + display: cst226_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} diff --git a/tests/components/cst226/test.esp32-c3-idf.yaml b/tests/components/cst226/test.esp32-c3-idf.yaml index 2f9bd72882..ffc12867d0 100644 --- a/tests/components/cst226/test.esp32-c3-idf.yaml +++ b/tests/components/cst226/test.esp32-c3-idf.yaml @@ -1,12 +1,11 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 + cs_pin: GPIO7 dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 + disp_reset_pin: GPIO18 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cst226/test.esp32-idf.yaml b/tests/components/cst226/test.esp32-idf.yaml index 11e2c4fd43..984f08db47 100644 --- a/tests/components/cst226/test.esp32-idf.yaml +++ b/tests/components/cst226/test.esp32-idf.yaml @@ -1,12 +1,12 @@ substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 cs_pin: GPIO4 dc_pin: GPIO5 disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO25 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/cst816/common.yaml b/tests/components/cst816/common.yaml index 9400e4eef0..889a477dd2 100644 --- a/tests/components/cst816/common.yaml +++ b/tests/components/cst816/common.yaml @@ -1,15 +1,5 @@ -i2c: - - id: i2c_cst816 - scl: ${scl_pin} - sda: ${sda_pin} - -spi: - - id: spi_ili9xxx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - - id: my_display + - id: cst816_display platform: ili9xxx dimensions: 480x320 model: ST7796 @@ -25,7 +15,9 @@ display: touchscreen: - id: ts_cst816 + i2c_id: i2c_bus platform: cst816 + display: cst816_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} skip_probe: false @@ -36,6 +28,7 @@ touchscreen: binary_sensor: - platform: touchscreen + touchscreen_id: ts_cst816 name: Home Button use_raw: true x_min: 0 diff --git a/tests/components/cst816/test.esp32-c3-idf.yaml b/tests/components/cst816/test.esp32-c3-idf.yaml index 2f9bd72882..ffc12867d0 100644 --- a/tests/components/cst816/test.esp32-c3-idf.yaml +++ b/tests/components/cst816/test.esp32-c3-idf.yaml @@ -1,12 +1,11 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 + cs_pin: GPIO7 dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 + disp_reset_pin: GPIO18 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cst816/test.esp32-idf.yaml b/tests/components/cst816/test.esp32-idf.yaml index 11e2c4fd43..984f08db47 100644 --- a/tests/components/cst816/test.esp32-idf.yaml +++ b/tests/components/cst816/test.esp32-idf.yaml @@ -1,12 +1,12 @@ substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 cs_pin: GPIO4 dc_pin: GPIO5 disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO25 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/current_based/common.yaml b/tests/components/current_based/common.yaml index 25dc9671b7..503c4596e9 100644 --- a/tests/components/current_based/common.yaml +++ b/tests/components/current_based/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ade7953 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ade7953_i2c + i2c_id: i2c_bus irq_pin: ${irq_pin} voltage: name: ADE7953 Voltage diff --git a/tests/components/current_based/test.esp32-c3-idf.yaml b/tests/components/current_based/test.esp32-c3-idf.yaml index 799acabd5a..59296a1e6e 100644 --- a/tests/components/current_based/test.esp32-c3-idf.yaml +++ b/tests/components/current_based/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/current_based/test.esp32-idf.yaml b/tests/components/current_based/test.esp32-idf.yaml index 2c57d412f6..49629536e7 100644 --- a/tests/components/current_based/test.esp32-idf.yaml +++ b/tests/components/current_based/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/current_based/test.esp8266-ard.yaml b/tests/components/current_based/test.esp8266-ard.yaml index c8e6a43f44..dc7609ab37 100644 --- a/tests/components/current_based/test.esp8266-ard.yaml +++ b/tests/components/current_based/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/current_based/test.rp2040-ard.yaml b/tests/components/current_based/test.rp2040-ard.yaml index 799acabd5a..b80562ad22 100644 --- a/tests/components/current_based/test.rp2040-ard.yaml +++ b/tests/components/current_based/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cwww/common.yaml b/tests/components/cwww/common.yaml index 0ad5beeaae..7fa5ab668c 100644 --- a/tests/components/cwww/common.yaml +++ b/tests/components/cwww/common.yaml @@ -1,11 +1,3 @@ -output: - - platform: ${light_platform} - id: light_output_1 - pin: ${pin_o1} - - platform: ${light_platform} - id: light_output_2 - pin: ${pin_o2} - light: - platform: cwww name: CWWW Light diff --git a/tests/components/cwww/test.esp32-c3-idf.yaml b/tests/components/cwww/test.esp32-c3-idf.yaml index 982394ded6..51571b34cf 100644 --- a/tests/components/cwww/test.esp32-c3-idf.yaml +++ b/tests/components/cwww/test.esp32-c3-idf.yaml @@ -3,12 +3,15 @@ substitutions: pin_o1: GPIO6 pin_o2: GPIO7 -packages: - device_base: !include common.yaml - output: - - id: !extend light_output_1 + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} channel: 0 - - id: !extend light_output_2 + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} channel: 1 phase_angle: 180° + +<<: !include common.yaml diff --git a/tests/components/cwww/test.esp32-idf.yaml b/tests/components/cwww/test.esp32-idf.yaml index d2a998e6b3..01edf0b0b5 100644 --- a/tests/components/cwww/test.esp32-idf.yaml +++ b/tests/components/cwww/test.esp32-idf.yaml @@ -3,12 +3,15 @@ substitutions: pin_o1: GPIO16 pin_o2: GPIO17 -packages: - device_base: !include common.yaml - output: - - id: !extend light_output_1 + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} channel: 0 - - id: !extend light_output_2 + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} channel: 1 phase_angle: 180° + +<<: !include common.yaml diff --git a/tests/components/cwww/test.esp8266-ard.yaml b/tests/components/cwww/test.esp8266-ard.yaml index 75a5b9d64d..49d73b7d3d 100644 --- a/tests/components/cwww/test.esp8266-ard.yaml +++ b/tests/components/cwww/test.esp8266-ard.yaml @@ -3,4 +3,12 @@ substitutions: pin_o1: GPIO12 pin_o2: GPIO13 +output: + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} + <<: !include common.yaml diff --git a/tests/components/cwww/test.rp2040-ard.yaml b/tests/components/cwww/test.rp2040-ard.yaml index 537177aca1..ba8e0ad071 100644 --- a/tests/components/cwww/test.rp2040-ard.yaml +++ b/tests/components/cwww/test.rp2040-ard.yaml @@ -3,4 +3,12 @@ substitutions: pin_o1: GPIO12 pin_o2: GPIO13 +output: + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} + <<: !include common.yaml diff --git a/tests/components/dac7678/common.yaml b/tests/components/dac7678/common.yaml index efad81a5ff..6c9c032686 100644 --- a/tests/components/dac7678/common.yaml +++ b/tests/components/dac7678/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_dac7678 - scl: ${scl_pin} - sda: ${sda_pin} - dac7678: + i2c_id: i2c_bus address: 0x4A id: dac7678_hub internal_reference: true diff --git a/tests/components/dac7678/test.esp32-c3-idf.yaml b/tests/components/dac7678/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/dac7678/test.esp32-c3-idf.yaml +++ b/tests/components/dac7678/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dac7678/test.esp32-idf.yaml b/tests/components/dac7678/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/dac7678/test.esp32-idf.yaml +++ b/tests/components/dac7678/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/dac7678/test.esp8266-ard.yaml b/tests/components/dac7678/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/dac7678/test.esp8266-ard.yaml +++ b/tests/components/dac7678/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/dac7678/test.rp2040-ard.yaml b/tests/components/dac7678/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/dac7678/test.rp2040-ard.yaml +++ b/tests/components/dac7678/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/daikin_arc/test.esp8266-ard.yaml b/tests/components/daikin_arc/test.esp8266-ard.yaml index 8e08490d0c..5698a7ef5f 100644 --- a/tests/components/daikin_arc/test.esp8266-ard.yaml +++ b/tests/components/daikin_arc/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO5 - rx_pin: GPIO4 + tx_pin: GPIO0 + rx_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/dallas_temp/common.yaml b/tests/components/dallas_temp/common.yaml index fb51f4818e..6d865d8e93 100644 --- a/tests/components/dallas_temp/common.yaml +++ b/tests/components/dallas_temp/common.yaml @@ -1,6 +1,6 @@ one_wire: - platform: gpio - pin: 4 + pin: ${one_wire_pin} sensor: - platform: dallas_temp diff --git a/tests/components/dallas_temp/test.esp32-c3-idf.yaml b/tests/components/dallas_temp/test.esp32-c3-idf.yaml index dade44d145..49bf988eb4 100644 --- a/tests/components/dallas_temp/test.esp32-c3-idf.yaml +++ b/tests/components/dallas_temp/test.esp32-c3-idf.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "4" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp32-idf.yaml b/tests/components/dallas_temp/test.esp32-idf.yaml index dade44d145..7f9a7d4c2c 100644 --- a/tests/components/dallas_temp/test.esp32-idf.yaml +++ b/tests/components/dallas_temp/test.esp32-idf.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "4" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp8266-ard.yaml b/tests/components/dallas_temp/test.esp8266-ard.yaml index dade44d145..f58b3e0ff3 100644 --- a/tests/components/dallas_temp/test.esp8266-ard.yaml +++ b/tests/components/dallas_temp/test.esp8266-ard.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "13" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dallas_temp/test.rp2040-ard.yaml b/tests/components/dallas_temp/test.rp2040-ard.yaml index dade44d145..d86645aa64 100644 --- a/tests/components/dallas_temp/test.rp2040-ard.yaml +++ b/tests/components/dallas_temp/test.rp2040-ard.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "10" + +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/daly_bms/common.yaml b/tests/components/daly_bms/common.yaml index a4cb849f9f..222999e25e 100644 --- a/tests/components/daly_bms/common.yaml +++ b/tests/components/daly_bms/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_daly_bms - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 4800 - daly_bms: update_interval: 20s diff --git a/tests/components/daly_bms/test.esp32-c3-idf.yaml b/tests/components/daly_bms/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/daly_bms/test.esp32-c3-idf.yaml +++ b/tests/components/daly_bms/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp32-idf.yaml b/tests/components/daly_bms/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/daly_bms/test.esp32-idf.yaml +++ b/tests/components/daly_bms/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp8266-ard.yaml b/tests/components/daly_bms/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/daly_bms/test.esp8266-ard.yaml +++ b/tests/components/daly_bms/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/daly_bms/test.rp2040-ard.yaml b/tests/components/daly_bms/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/daly_bms/test.rp2040-ard.yaml +++ b/tests/components/daly_bms/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfplayer/common.yaml b/tests/components/dfplayer/common.yaml index d7446141c3..5d2540c275 100644 --- a/tests/components/dfplayer/common.yaml +++ b/tests/components/dfplayer/common.yaml @@ -26,12 +26,6 @@ esphome: - dfplayer.volume_down - dfplayer.sleep -uart: - - id: uart_dfplayer - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - dfplayer: on_finished_playback: then: diff --git a/tests/components/dfplayer/test.esp32-c3-idf.yaml b/tests/components/dfplayer/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/dfplayer/test.esp32-c3-idf.yaml +++ b/tests/components/dfplayer/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp32-idf.yaml b/tests/components/dfplayer/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/dfplayer/test.esp32-idf.yaml +++ b/tests/components/dfplayer/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp8266-ard.yaml b/tests/components/dfplayer/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/dfplayer/test.esp8266-ard.yaml +++ b/tests/components/dfplayer/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfplayer/test.rp2040-ard.yaml b/tests/components/dfplayer/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/dfplayer/test.rp2040-ard.yaml +++ b/tests/components/dfplayer/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/common.yaml b/tests/components/dfrobot_sen0395/common.yaml index 8c349911d3..7f980574ed 100644 --- a/tests/components/dfrobot_sen0395/common.yaml +++ b/tests/components/dfrobot_sen0395/common.yaml @@ -14,12 +14,6 @@ esphome: sensitivity: 6 - dfrobot_sen0395.reset -uart: - - id: uart_dfrobot_sen0395 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - dfrobot_sen0395: - id: mmwave diff --git a/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml b/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml +++ b/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp32-idf.yaml b/tests/components/dfrobot_sen0395/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/dfrobot_sen0395/test.esp32-idf.yaml +++ b/tests/components/dfrobot_sen0395/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml b/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml +++ b/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml b/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml +++ b/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dht12/common.yaml b/tests/components/dht12/common.yaml index 91346e0e27..2602ae13cf 100644 --- a/tests/components/dht12/common.yaml +++ b/tests/components/dht12/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_dht12 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: dht12 + i2c_id: i2c_bus temperature: name: DHT12 Temperature humidity: diff --git a/tests/components/dht12/test.esp32-c3-idf.yaml b/tests/components/dht12/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/dht12/test.esp32-c3-idf.yaml +++ b/tests/components/dht12/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dht12/test.esp32-idf.yaml b/tests/components/dht12/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/dht12/test.esp32-idf.yaml +++ b/tests/components/dht12/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/dht12/test.esp8266-ard.yaml b/tests/components/dht12/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/dht12/test.esp8266-ard.yaml +++ b/tests/components/dht12/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/dht12/test.rp2040-ard.yaml b/tests/components/dht12/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/dht12/test.rp2040-ard.yaml +++ b/tests/components/dht12/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/display/common.yaml b/tests/components/display/common.yaml index 4fc4fafa25..27abb23e03 100644 --- a/tests/components/display/common.yaml +++ b/tests/components/display/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 - display: - platform: ili9xxx id: main_lcd diff --git a/tests/components/dps310/common.yaml b/tests/components/dps310/common.yaml index e6c0c9fab8..847a79f2e6 100644 --- a/tests/components/dps310/common.yaml +++ b/tests/components/dps310/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_dps310 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: dps310 + i2c_id: i2c_bus temperature: name: DPS310 Temperature pressure: diff --git a/tests/components/dps310/test.esp32-c3-idf.yaml b/tests/components/dps310/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/dps310/test.esp32-c3-idf.yaml +++ b/tests/components/dps310/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dps310/test.esp32-idf.yaml b/tests/components/dps310/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/dps310/test.esp32-idf.yaml +++ b/tests/components/dps310/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/dps310/test.esp8266-ard.yaml b/tests/components/dps310/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/dps310/test.esp8266-ard.yaml +++ b/tests/components/dps310/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/dps310/test.rp2040-ard.yaml b/tests/components/dps310/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/dps310/test.rp2040-ard.yaml +++ b/tests/components/dps310/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/common.yaml b/tests/components/ds1307/common.yaml index 3466a9eec8..cdd2b9cf56 100644 --- a/tests/components/ds1307/common.yaml +++ b/tests/components/ds1307/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ds1307 - scl: ${scl_pin} - sda: ${sda_pin} - time: - platform: ds1307 + i2c_id: i2c_bus id: ds1307_time update_interval: never diff --git a/tests/components/ds1307/test.esp32-c3-idf.yaml b/tests/components/ds1307/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ds1307/test.esp32-c3-idf.yaml +++ b/tests/components/ds1307/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/test.esp32-idf.yaml b/tests/components/ds1307/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ds1307/test.esp32-idf.yaml +++ b/tests/components/ds1307/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/test.esp8266-ard.yaml b/tests/components/ds1307/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ds1307/test.esp8266-ard.yaml +++ b/tests/components/ds1307/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/test.rp2040-ard.yaml b/tests/components/ds1307/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ds1307/test.rp2040-ard.yaml +++ b/tests/components/ds1307/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/common.yaml b/tests/components/ds2484/common.yaml index 9d2882a3c0..1e5dcd7dba 100644 --- a/tests/components/ds2484/common.yaml +++ b/tests/components/ds2484/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ds2484 - scl: ${scl_pin} - sda: ${sda_pin} - one_wire: platform: ds2484 - i2c_id: i2c_ds2484 + i2c_id: i2c_bus address: 0x18 active_pullup: true strong_pullup: false diff --git a/tests/components/ds2484/test.esp32-c3-idf.yaml b/tests/components/ds2484/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ds2484/test.esp32-c3-idf.yaml +++ b/tests/components/ds2484/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/test.esp32-idf.yaml b/tests/components/ds2484/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ds2484/test.esp32-idf.yaml +++ b/tests/components/ds2484/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/test.esp8266-ard.yaml b/tests/components/ds2484/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ds2484/test.esp8266-ard.yaml +++ b/tests/components/ds2484/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/test.rp2040-ard.yaml b/tests/components/ds2484/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ds2484/test.rp2040-ard.yaml +++ b/tests/components/ds2484/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/dsmr/common.yaml b/tests/components/dsmr/common.yaml index 2901b811fe..038bf2806b 100644 --- a/tests/components/dsmr/common.yaml +++ b/tests/components/dsmr/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_dsmr - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - dsmr: decryption_key: 00112233445566778899aabbccddeeff max_telegram_length: 1000 diff --git a/tests/components/dsmr/test.esp32-ard.yaml b/tests/components/dsmr/test.esp32-ard.yaml index 7a65a48ec0..f218b297aa 100644 --- a/tests/components/dsmr/test.esp32-ard.yaml +++ b/tests/components/dsmr/test.esp32-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 request_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp32-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dsmr/test.esp8266-ard.yaml b/tests/components/dsmr/test.esp8266-ard.yaml index a47bd58806..08bcf16fc9 100644 --- a/tests/components/dsmr/test.esp8266-ard.yaml +++ b/tests/components/dsmr/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 request_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dsmr/test.rp2040-ard.yaml b/tests/components/dsmr/test.rp2040-ard.yaml index 72998506ac..8684cb76aa 100644 --- a/tests/components/dsmr/test.rp2040-ard.yaml +++ b/tests/components/dsmr/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 request_pin: GPIO6 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ee895/common.yaml b/tests/components/ee895/common.yaml index 63d77abcaf..f1b17ca9d9 100644 --- a/tests/components/ee895/common.yaml +++ b/tests/components/ee895/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ee895 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ee895 + i2c_id: i2c_bus address: 0x5F co2: name: EE895 CO2 diff --git a/tests/components/ee895/test.esp32-c3-idf.yaml b/tests/components/ee895/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ee895/test.esp32-c3-idf.yaml +++ b/tests/components/ee895/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ee895/test.esp32-idf.yaml b/tests/components/ee895/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ee895/test.esp32-idf.yaml +++ b/tests/components/ee895/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ee895/test.esp8266-ard.yaml b/tests/components/ee895/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ee895/test.esp8266-ard.yaml +++ b/tests/components/ee895/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ee895/test.rp2040-ard.yaml b/tests/components/ee895/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ee895/test.rp2040-ard.yaml +++ b/tests/components/ee895/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ektf2232/common.yaml b/tests/components/ektf2232/common.yaml index 91f09b4710..8ab57be46f 100644 --- a/tests/components/ektf2232/common.yaml +++ b/tests/components/ektf2232/common.yaml @@ -1,20 +1,18 @@ -i2c: - - id: i2c_ektf2232 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${display_reset_pin} pages: - - id: page1 + - id: ektf2232_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: ektf2232 + i2c_id: i2c_bus + id: ektf2232_touchscreen interrupt_pin: ${interrupt_pin} reset_pin: ${touch_reset_pin} display: ssd1306_display diff --git a/tests/components/ektf2232/test.esp32-c3-idf.yaml b/tests/components/ektf2232/test.esp32-c3-idf.yaml index 4d793a3242..708d352a59 100644 --- a/tests/components/ektf2232/test.esp32-c3-idf.yaml +++ b/tests/components/ektf2232/test.esp32-c3-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 display_reset_pin: GPIO3 interrupt_pin: GPIO6 touch_reset_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp32-idf.yaml b/tests/components/ektf2232/test.esp32-idf.yaml index 7d3f2ca7a2..3fab081bed 100644 --- a/tests/components/ektf2232/test.esp32-idf.yaml +++ b/tests/components/ektf2232/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 display_reset_pin: GPIO13 interrupt_pin: GPIO14 touch_reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp8266-ard.yaml b/tests/components/ektf2232/test.esp8266-ard.yaml index a87e9dfd45..38a3894deb 100644 --- a/tests/components/ektf2232/test.esp8266-ard.yaml +++ b/tests/components/ektf2232/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 display_reset_pin: GPIO3 - interrupt_pin: GPIO12 - touch_reset_pin: GPIO13 + interrupt_pin: GPIO15 + touch_reset_pin: GPIO16 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ektf2232/test.rp2040-ard.yaml b/tests/components/ektf2232/test.rp2040-ard.yaml index 4d793a3242..cda1b67715 100644 --- a/tests/components/ektf2232/test.rp2040-ard.yaml +++ b/tests/components/ektf2232/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 display_reset_pin: GPIO3 interrupt_pin: GPIO6 touch_reset_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/emc2101/common.yaml b/tests/components/emc2101/common.yaml index 795b02c6d3..d9e6fe2b96 100644 --- a/tests/components/emc2101/common.yaml +++ b/tests/components/emc2101/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_emc2101 - scl: ${scl_pin} - sda: ${sda_pin} - emc2101: + i2c_id: i2c_bus pwm: resolution: 8 diff --git a/tests/components/emc2101/test.esp32-c3-idf.yaml b/tests/components/emc2101/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/emc2101/test.esp32-c3-idf.yaml +++ b/tests/components/emc2101/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/emc2101/test.esp32-idf.yaml b/tests/components/emc2101/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/emc2101/test.esp32-idf.yaml +++ b/tests/components/emc2101/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/emc2101/test.esp8266-ard.yaml b/tests/components/emc2101/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/emc2101/test.esp8266-ard.yaml +++ b/tests/components/emc2101/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/emc2101/test.rp2040-ard.yaml b/tests/components/emc2101/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/emc2101/test.rp2040-ard.yaml +++ b/tests/components/emc2101/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/emmeti/test.esp8266-ard.yaml b/tests/components/emmeti/test.esp8266-ard.yaml index 2fb00aea61..1c9baa4ea3 100644 --- a/tests/components/emmeti/test.esp8266-ard.yaml +++ b/tests/components/emmeti/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - remote_transmitter_pin: GPIO4 - remote_receiver_pin: GPIO5 + remote_transmitter_pin: GPIO0 + remote_receiver_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/ens160_i2c/common.yaml b/tests/components/ens160_i2c/common.yaml index 39a5b35067..685c8d3fee 100644 --- a/tests/components/ens160_i2c/common.yaml +++ b/tests/components/ens160_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ens160 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ens160_i2c - i2c_id: i2c_ens160 + i2c_id: i2c_bus address: 0x53 eco2: name: "ENS160 eCO2" diff --git a/tests/components/ens160_i2c/test.esp32-c3-idf.yaml b/tests/components/ens160_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ens160_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ens160_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp32-idf.yaml b/tests/components/ens160_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ens160_i2c/test.esp32-idf.yaml +++ b/tests/components/ens160_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp8266-ard.yaml b/tests/components/ens160_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ens160_i2c/test.esp8266-ard.yaml +++ b/tests/components/ens160_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.rp2040-ard.yaml b/tests/components/ens160_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ens160_i2c/test.rp2040-ard.yaml +++ b/tests/components/ens160_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ens160_spi/common.yaml b/tests/components/ens160_spi/common.yaml index c8b663272f..53000a5e96 100644 --- a/tests/components/ens160_spi/common.yaml +++ b/tests/components/ens160_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_ens160 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: ens160_spi - spi_id: spi_ens160 cs_pin: ${cs_pin} eco2: name: "ENS160 eCO2" diff --git a/tests/components/ens160_spi/test.esp32-c3-idf.yaml b/tests/components/ens160_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/ens160_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ens160_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp32-idf.yaml b/tests/components/ens160_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/ens160_spi/test.esp32-idf.yaml +++ b/tests/components/ens160_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp8266-ard.yaml b/tests/components/ens160_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/ens160_spi/test.esp8266-ard.yaml +++ b/tests/components/ens160_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ens160_spi/test.rp2040-ard.yaml b/tests/components/ens160_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/ens160_spi/test.rp2040-ard.yaml +++ b/tests/components/ens160_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ens210/common.yaml b/tests/components/ens210/common.yaml index b276154449..6bc8f824cc 100644 --- a/tests/components/ens210/common.yaml +++ b/tests/components/ens210/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ens210 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ens210 + i2c_id: i2c_bus temperature: name: ENS210 Temperature humidity: diff --git a/tests/components/ens210/test.esp32-c3-idf.yaml b/tests/components/ens210/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ens210/test.esp32-c3-idf.yaml +++ b/tests/components/ens210/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens210/test.esp32-idf.yaml b/tests/components/ens210/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ens210/test.esp32-idf.yaml +++ b/tests/components/ens210/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens210/test.esp8266-ard.yaml b/tests/components/ens210/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ens210/test.esp8266-ard.yaml +++ b/tests/components/ens210/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ens210/test.rp2040-ard.yaml b/tests/components/ens210/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ens210/test.rp2040-ard.yaml +++ b/tests/components/ens210/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/epaper_spi/test.esp32-s3-idf.yaml b/tests/components/epaper_spi/test.esp32-s3-idf.yaml index 3d8d62a7ca..34aefb82b4 100644 --- a/tests/components/epaper_spi/test.esp32-s3-idf.yaml +++ b/tests/components/epaper_spi/test.esp32-s3-idf.yaml @@ -1,9 +1,9 @@ -spi: - clk_pin: GPIO7 - mosi_pin: GPIO9 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml display: - platform: epaper_spi + spi_id: spi_bus model: 7.3in-spectra-e6 cs_pin: GPIO5 dc_pin: GPIO17 diff --git a/tests/components/es7210/common.yaml b/tests/components/es7210/common.yaml index 3fab177cb3..b9f0b0c3e9 100644 --- a/tests/components/es7210/common.yaml +++ b/tests/components/es7210/common.yaml @@ -4,13 +4,9 @@ esphome: - audio_adc.set_mic_gain: 0db - audio_adc.set_mic_gain: !lambda 'return 4;' -i2c: - - id: i2c_aic3204 - scl: ${scl_pin} - sda: ${sda_pin} - audio_adc: - platform: es7210 + i2c_id: i2c_bus id: es7210_adc bits_per_sample: 16bit sample_rate: 16000 diff --git a/tests/components/es7210/test.esp32-c3-idf.yaml b/tests/components/es7210/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es7210/test.esp32-c3-idf.yaml +++ b/tests/components/es7210/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es7210/test.esp32-idf.yaml b/tests/components/es7210/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es7210/test.esp32-idf.yaml +++ b/tests/components/es7210/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es7243e/common.yaml b/tests/components/es7243e/common.yaml index 3de76909e9..0fcfb97273 100644 --- a/tests/components/es7243e/common.yaml +++ b/tests/components/es7243e/common.yaml @@ -4,11 +4,7 @@ esphome: - audio_adc.set_mic_gain: 0db - audio_adc.set_mic_gain: !lambda 'return 4;' -i2c: - - id: i2c_es7243e - scl: ${scl_pin} - sda: ${sda_pin} - audio_adc: - platform: es7243e + i2c_id: i2c_bus id: es7243e_adc diff --git a/tests/components/es7243e/test.esp32-c3-idf.yaml b/tests/components/es7243e/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es7243e/test.esp32-c3-idf.yaml +++ b/tests/components/es7243e/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es7243e/test.esp32-idf.yaml b/tests/components/es7243e/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es7243e/test.esp32-idf.yaml +++ b/tests/components/es7243e/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8156/common.yaml b/tests/components/es8156/common.yaml index addaa0b70a..c41a332bd7 100644 --- a/tests/components/es8156/common.yaml +++ b/tests/components/es8156/common.yaml @@ -6,10 +6,6 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_es8156 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: es8156 + i2c_id: i2c_bus diff --git a/tests/components/es8156/test.esp32-c3-idf.yaml b/tests/components/es8156/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es8156/test.esp32-c3-idf.yaml +++ b/tests/components/es8156/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8156/test.esp32-idf.yaml b/tests/components/es8156/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es8156/test.esp32-idf.yaml +++ b/tests/components/es8156/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8156/test.esp8266-ard.yaml b/tests/components/es8156/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/es8156/test.esp8266-ard.yaml +++ b/tests/components/es8156/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/es8311/common.yaml b/tests/components/es8311/common.yaml index d833d1c043..e855761ef4 100644 --- a/tests/components/es8311/common.yaml +++ b/tests/components/es8311/common.yaml @@ -6,10 +6,6 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_aic3204 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: es8311 + i2c_id: i2c_bus diff --git a/tests/components/es8311/test.esp32-c3-idf.yaml b/tests/components/es8311/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es8311/test.esp32-c3-idf.yaml +++ b/tests/components/es8311/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8311/test.esp32-idf.yaml b/tests/components/es8311/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es8311/test.esp32-idf.yaml +++ b/tests/components/es8311/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8311/test.esp8266-ard.yaml b/tests/components/es8311/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/es8311/test.esp8266-ard.yaml +++ b/tests/components/es8311/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/es8388/common.yaml b/tests/components/es8388/common.yaml index 6a63de5aa1..cc7465ab93 100644 --- a/tests/components/es8388/common.yaml +++ b/tests/components/es8388/common.yaml @@ -7,13 +7,9 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_es8388 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: es8388 + i2c_id: i2c_bus id: es8388_parent select: diff --git a/tests/components/es8388/test.esp32-c3-idf.yaml b/tests/components/es8388/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es8388/test.esp32-c3-idf.yaml +++ b/tests/components/es8388/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8388/test.esp32-idf.yaml b/tests/components/es8388/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es8388/test.esp32-idf.yaml +++ b/tests/components/es8388/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8388/test.esp8266-ard.yaml b/tests/components/es8388/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/es8388/test.esp8266-ard.yaml +++ b/tests/components/es8388/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml b/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml +++ b/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-idf.yaml b/tests/components/esp32_ble_client/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/esp32_ble_client/test.esp32-idf.yaml +++ b/tests/components/esp32_ble_client/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml b/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml index b71896bad5..ea6f0d4022 100644 --- a/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml +++ b/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml @@ -1,3 +1,6 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml esp32_ble_tracker: diff --git a/tests/components/esp32_ble_tracker/test.esp32-idf.yaml b/tests/components/esp32_ble_tracker/test.esp32-idf.yaml index 1ffcfb9988..8f6e3c5731 100644 --- a/tests/components/esp32_ble_tracker/test.esp32-idf.yaml +++ b/tests/components/esp32_ble_tracker/test.esp32-idf.yaml @@ -1,3 +1,6 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml esp32_ble_tracker: diff --git a/tests/components/esp32_camera/common.yaml b/tests/components/esp32_camera/common.yaml index 64f75c699a..eac5109bc8 100644 --- a/tests/components/esp32_camera/common.yaml +++ b/tests/components/esp32_camera/common.yaml @@ -1,29 +1 @@ -esp32_camera: - name: ESP32 Camera - data_pins: - - number: 17 - - number: 35 - - number: 34 - - number: 5 - - number: 39 - - number: 18 - - number: 36 - - number: 19 - vsync_pin: 22 - href_pin: 26 - pixel_clock_pin: 21 - external_clock: - pin: 27 - frequency: 20MHz - i2c_pins: - sda: 25 - scl: 23 - reset_pin: 15 - power_down_pin: 1 - resolution: 640x480 - jpeg_quality: 10 - frame_buffer_location: PSRAM - on_image: - then: - - lambda: |- - ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]); +# ESP32 camera hardware configuration comes from the camera package diff --git a/tests/components/esp32_camera/test.esp32-idf.yaml b/tests/components/esp32_camera/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/esp32_camera/test.esp32-idf.yaml +++ b/tests/components/esp32_camera/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_camera_web_server/common.yaml b/tests/components/esp32_camera_web_server/common.yaml index fe2a6a2739..2a1858f681 100644 --- a/tests/components/esp32_camera_web_server/common.yaml +++ b/tests/components/esp32_camera_web_server/common.yaml @@ -1,32 +1,3 @@ -esp32_camera: - name: ESP32 Camera - data_pins: - - number: 17 - - number: 35 - - number: 34 - - number: 5 - - number: 39 - - number: 18 - - number: 36 - - number: 19 - vsync_pin: 22 - href_pin: 26 - pixel_clock_pin: 21 - external_clock: - pin: 27 - frequency: 20MHz - i2c_pins: - sda: 25 - scl: 23 - reset_pin: 15 - power_down_pin: 1 - resolution: 640x480 - jpeg_quality: 10 - on_image: - then: - - lambda: |- - ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]); - esp32_camera_web_server: - port: 8080 mode: stream diff --git a/tests/components/esp32_camera_web_server/test.esp32-idf.yaml b/tests/components/esp32_camera_web_server/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/esp32_camera_web_server/test.esp32-idf.yaml +++ b/tests/components/esp32_camera_web_server/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_can/test.esp32-c3-idf.yaml b/tests/components/esp32_can/test.esp32-c3-idf.yaml index c79d14c740..22effb1bd0 100644 --- a/tests/components/esp32_can/test.esp32-c3-idf.yaml +++ b/tests/components/esp32_can/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: tx_pin: GPIO7 - rx_pin: GPIO8 + rx_pin: GPIO9 <<: !include common.yaml diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml index ad273903b2..6bf0639a52 100644 --- a/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml +++ b/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml @@ -2,11 +2,22 @@ substitutions: pin1: GPIO3 pin2: GPIO4 -packages: - common: !include common.yaml - +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. light: - - id: !extend led_strip1 + - platform: esp32_rmt_led_strip + id: led_strip1 + pin: ${pin1} + num_leds: 60 + rgb_order: GRB + chipset: ws2812 use_dma: "true" - - id: !extend led_strip2 + - platform: esp32_rmt_led_strip + id: led_strip2 + pin: ${pin2} + num_leds: 60 + rgb_order: RGB + bit0_high: 100us + bit0_low: 100us + bit1_high: 100us + bit1_low: 100us use_dma: "false" diff --git a/tests/components/espnow/test.esp32-idf.yaml b/tests/components/espnow/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/espnow/test.esp32-idf.yaml +++ b/tests/components/espnow/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ethernet_info/test.esp32-idf.yaml b/tests/components/ethernet_info/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/ethernet_info/test.esp32-idf.yaml +++ b/tests/components/ethernet_info/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-c3-idf.yaml b/tests/components/exposure_notifications/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/exposure_notifications/test.esp32-c3-idf.yaml +++ b/tests/components/exposure_notifications/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-idf.yaml b/tests/components/exposure_notifications/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/exposure_notifications/test.esp32-idf.yaml +++ b/tests/components/exposure_notifications/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ezo/common.yaml b/tests/components/ezo/common.yaml index edeebd1a12..79afbb8aa6 100644 --- a/tests/components/ezo/common.yaml +++ b/tests/components/ezo/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ezo - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ezo + i2c_id: i2c_bus id: ph_ezo address: 99 unit_of_measurement: pH diff --git a/tests/components/ezo/test.esp32-c3-idf.yaml b/tests/components/ezo/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ezo/test.esp32-c3-idf.yaml +++ b/tests/components/ezo/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo/test.esp32-idf.yaml b/tests/components/ezo/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ezo/test.esp32-idf.yaml +++ b/tests/components/ezo/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo/test.esp8266-ard.yaml b/tests/components/ezo/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ezo/test.esp8266-ard.yaml +++ b/tests/components/ezo/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ezo/test.rp2040-ard.yaml b/tests/components/ezo/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ezo/test.rp2040-ard.yaml +++ b/tests/components/ezo/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/common.yaml b/tests/components/ezo_pmp/common.yaml index 00919797be..bd2fd9193c 100644 --- a/tests/components/ezo_pmp/common.yaml +++ b/tests/components/ezo_pmp/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ezo_pmp - scl: ${scl_pin} - sda: ${sda_pin} - ezo_pmp: + i2c_id: i2c_bus id: hcl_pump update_interval: 1s diff --git a/tests/components/ezo_pmp/test.esp32-c3-idf.yaml b/tests/components/ezo_pmp/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ezo_pmp/test.esp32-c3-idf.yaml +++ b/tests/components/ezo_pmp/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp32-idf.yaml b/tests/components/ezo_pmp/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ezo_pmp/test.esp32-idf.yaml +++ b/tests/components/ezo_pmp/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp8266-ard.yaml b/tests/components/ezo_pmp/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ezo_pmp/test.esp8266-ard.yaml +++ b/tests/components/ezo_pmp/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.rp2040-ard.yaml b/tests/components/ezo_pmp/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ezo_pmp/test.rp2040-ard.yaml +++ b/tests/components/ezo_pmp/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/common.yaml b/tests/components/fingerprint_grow/common.yaml index e759ea5a02..2d2fc61437 100644 --- a/tests/components/fingerprint_grow/common.yaml +++ b/tests/components/fingerprint_grow/common.yaml @@ -9,12 +9,6 @@ esphome: finger_id: 2 - fingerprint_grow.delete_all: -uart: - - id: uart_fingerprint_grow - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 57600 - fingerprint_grow: sensing_pin: ${sensing_pin} password: 0x12FE37DC diff --git a/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml b/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml index faab50e152..dff4f7fd92 100644 --- a/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml +++ b/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 sensing_pin: GPIO6 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp32-idf.yaml b/tests/components/fingerprint_grow/test.esp32-idf.yaml index 4aef3d8be6..7149f07d16 100644 --- a/tests/components/fingerprint_grow/test.esp32-idf.yaml +++ b/tests/components/fingerprint_grow/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 sensing_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp8266-ard.yaml b/tests/components/fingerprint_grow/test.esp8266-ard.yaml index f2a864596a..204fdf0302 100644 --- a/tests/components/fingerprint_grow/test.esp8266-ard.yaml +++ b/tests/components/fingerprint_grow/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 sensing_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.rp2040-ard.yaml b/tests/components/fingerprint_grow/test.rp2040-ard.yaml index faab50e152..80ea1d22ca 100644 --- a/tests/components/fingerprint_grow/test.rp2040-ard.yaml +++ b/tests/components/fingerprint_grow/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 sensing_pin: GPIO6 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/font/common.yaml b/tests/components/font/common.yaml index fb50fc3336..2d2e970536 100644 --- a/tests/components/font/common.yaml +++ b/tests/components/font/common.yaml @@ -47,10 +47,6 @@ font: id: bdf_font size: 7 -i2c: - scl: ${i2c_scl} - sda: ${i2c_sda} - display: - platform: ssd1306_i2c id: ssd1306_display diff --git a/tests/components/font/test.esp32-c3-idf.yaml b/tests/components/font/test.esp32-c3-idf.yaml index ad14a2e9a6..2090db7e6d 100644 --- a/tests/components/font/test.esp32-c3-idf.yaml +++ b/tests/components/font/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 display_reset_pin: GPIO3 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/font/test.esp32-idf.yaml b/tests/components/font/test.esp32-idf.yaml index d98600a51b..a6a94a39da 100644 --- a/tests/components/font/test.esp32-idf.yaml +++ b/tests/components/font/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 display_reset_pin: GPIO13 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/font/test.esp8266-ard.yaml b/tests/components/font/test.esp8266-ard.yaml index ad14a2e9a6..173f7dfaa5 100644 --- a/tests/components/font/test.esp8266-ard.yaml +++ b/tests/components/font/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 display_reset_pin: GPIO3 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + +<<: !include common.yaml diff --git a/tests/components/font/test.rp2040-ard.yaml b/tests/components/font/test.rp2040-ard.yaml index ad14a2e9a6..aeecf352b4 100644 --- a/tests/components/font/test.rp2040-ard.yaml +++ b/tests/components/font/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 display_reset_pin: GPIO3 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + +<<: !include common.yaml diff --git a/tests/components/fs3000/common.yaml b/tests/components/fs3000/common.yaml index e87ac28aa9..e8ec4d0773 100644 --- a/tests/components/fs3000/common.yaml +++ b/tests/components/fs3000/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_fs3000 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: fs3000 + i2c_id: i2c_bus name: Air Velocity model: 1005 update_interval: 60s diff --git a/tests/components/fs3000/test.esp32-c3-idf.yaml b/tests/components/fs3000/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/fs3000/test.esp32-c3-idf.yaml +++ b/tests/components/fs3000/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/fs3000/test.esp32-idf.yaml b/tests/components/fs3000/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/fs3000/test.esp32-idf.yaml +++ b/tests/components/fs3000/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/fs3000/test.esp8266-ard.yaml b/tests/components/fs3000/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/fs3000/test.esp8266-ard.yaml +++ b/tests/components/fs3000/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/fs3000/test.rp2040-ard.yaml b/tests/components/fs3000/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/fs3000/test.rp2040-ard.yaml +++ b/tests/components/fs3000/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ft5x06/common.yaml b/tests/components/ft5x06/common.yaml index 322ee88b6d..b1f7ca4cc9 100644 --- a/tests/components/ft5x06/common.yaml +++ b/tests/components/ft5x06/common.yaml @@ -1,20 +1,19 @@ -i2c: - - id: i2c_ft5x06 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c - id: ssd1306_display + i2c_id: i2c_bus + id: ft5x06_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: ft5x06_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: ft5x06 + i2c_id: i2c_bus + display: ft5x06_display + id: ft5x06_touchscreen on_touch: - logger.log: format: Touch at (%d, %d) diff --git a/tests/components/ft5x06/test.esp32-c3-idf.yaml b/tests/components/ft5x06/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/ft5x06/test.esp32-c3-idf.yaml +++ b/tests/components/ft5x06/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp32-idf.yaml b/tests/components/ft5x06/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/ft5x06/test.esp32-idf.yaml +++ b/tests/components/ft5x06/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp8266-ard.yaml b/tests/components/ft5x06/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/ft5x06/test.esp8266-ard.yaml +++ b/tests/components/ft5x06/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ft5x06/test.rp2040-ard.yaml b/tests/components/ft5x06/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/ft5x06/test.rp2040-ard.yaml +++ b/tests/components/ft5x06/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ft63x6/common.yaml b/tests/components/ft63x6/common.yaml index 1fae6da5f4..ea5a60a2f6 100644 --- a/tests/components/ft63x6/common.yaml +++ b/tests/components/ft63x6/common.yaml @@ -1,25 +1,19 @@ -spi: - - id: spi_ft63x6 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - -i2c: - - id: i2c_ft63x6 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c - id: ssd1306_display + i2c_id: i2c_bus + id: ft63x6_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: ft63x6_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: ft63x6 + i2c_id: i2c_bus + display: ft63x6_display + id: ft63x6_touchscreen interrupt_pin: ${interrupt_pin} transform: swap_xy: true @@ -42,6 +36,7 @@ touchscreen: binary_sensor: - platform: touchscreen + touchscreen_id: ft63x6_touchscreen name: Bottom Left Touch use_raw: true x_min: 0 diff --git a/tests/components/ft63x6/test.esp32-c3-idf.yaml b/tests/components/ft63x6/test.esp32-c3-idf.yaml index 397ac1e464..febf38d8e1 100644 --- a/tests/components/ft63x6/test.esp32-c3-idf.yaml +++ b/tests/components/ft63x6/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp32-idf.yaml b/tests/components/ft63x6/test.esp32-idf.yaml index 47b5796e8b..590f6a919c 100644 --- a/tests/components/ft63x6/test.esp32-idf.yaml +++ b/tests/components/ft63x6/test.esp32-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp8266-ard.yaml b/tests/components/ft63x6/test.esp8266-ard.yaml index a4223733af..d6b6903029 100644 --- a/tests/components/ft63x6/test.esp8266-ard.yaml +++ b/tests/components/ft63x6/test.esp8266-ard.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - scl_pin: GPIO5 - sda_pin: GPIO4 interrupt_pin: GPIO12 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ft63x6/test.rp2040-ard.yaml b/tests/components/ft63x6/test.rp2040-ard.yaml index 397ac1e464..2dd70ff33a 100644 --- a/tests/components/ft63x6/test.rp2040-ard.yaml +++ b/tests/components/ft63x6/test.rp2040-ard.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/gcja5/common.yaml b/tests/components/gcja5/common.yaml index 8f6250045d..64374c0e50 100644 --- a/tests/components/gcja5/common.yaml +++ b/tests/components/gcja5/common.yaml @@ -1,12 +1,6 @@ -uart: - - id: uart_gcja5 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - parity: EVEN - sensor: - platform: gcja5 + uart_id: uart_bus pm_1_0: name: "Particulate Matter <1.0µm Concentration" pm_2_5: diff --git a/tests/components/gcja5/test.esp32-c3-idf.yaml b/tests/components/gcja5/test.esp32-c3-idf.yaml index b516342f3b..236529042f 100644 --- a/tests/components/gcja5/test.esp32-c3-idf.yaml +++ b/tests/components/gcja5/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gcja5/test.esp32-idf.yaml b/tests/components/gcja5/test.esp32-idf.yaml index 811f6b72a6..5ce1861902 100644 --- a/tests/components/gcja5/test.esp32-idf.yaml +++ b/tests/components/gcja5/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gcja5/test.esp8266-ard.yaml b/tests/components/gcja5/test.esp8266-ard.yaml index b516342f3b..a3f8cf43d4 100644 --- a/tests/components/gcja5/test.esp8266-ard.yaml +++ b/tests/components/gcja5/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gcja5/test.rp2040-ard.yaml b/tests/components/gcja5/test.rp2040-ard.yaml index b516342f3b..7c1f4f41e2 100644 --- a/tests/components/gcja5/test.rp2040-ard.yaml +++ b/tests/components/gcja5/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gdk101/common.yaml b/tests/components/gdk101/common.yaml index 7805ad43f0..4eb5586ade 100644 --- a/tests/components/gdk101/common.yaml +++ b/tests/components/gdk101/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_gdk101 - scl: ${scl_pin} - sda: ${sda_pin} - gdk101: + i2c_id: i2c_bus id: my_gdk101 sensor: diff --git a/tests/components/gdk101/test.esp32-idf.yaml b/tests/components/gdk101/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/gdk101/test.esp32-idf.yaml +++ b/tests/components/gdk101/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gdk101/test.esp8266-ard.yaml b/tests/components/gdk101/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/gdk101/test.esp8266-ard.yaml +++ b/tests/components/gdk101/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gdk101/test.rp2040-ard.yaml b/tests/components/gdk101/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/gdk101/test.rp2040-ard.yaml +++ b/tests/components/gdk101/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/common.yaml b/tests/components/gl_r01_i2c/common.yaml index fe0705bdc6..272a94d349 100644 --- a/tests/components/gl_r01_i2c/common.yaml +++ b/tests/components/gl_r01_i2c/common.yaml @@ -1,12 +1,7 @@ -i2c: - - id: i2c_gl_r01_i2c - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: gl_r01_i2c + i2c_id: i2c_bus id: tof name: "ToF sensor" - i2c_id: i2c_gl_r01_i2c address: 0x74 update_interval: 15s diff --git a/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml b/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp32-idf.yaml b/tests/components/gl_r01_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/gl_r01_i2c/test.esp32-idf.yaml +++ b/tests/components/gl_r01_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp8266-ard.yaml b/tests/components/gl_r01_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/gl_r01_i2c/test.esp8266-ard.yaml +++ b/tests/components/gl_r01_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.rp2040-ard.yaml b/tests/components/gl_r01_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/gl_r01_i2c/test.rp2040-ard.yaml +++ b/tests/components/gl_r01_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gp2y1010au0f/test.esp8266-ard.yaml b/tests/components/gp2y1010au0f/test.esp8266-ard.yaml index a61053426a..c6a7c7bf13 100644 --- a/tests/components/gp2y1010au0f/test.esp8266-ard.yaml +++ b/tests/components/gp2y1010au0f/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: adc_pin: A0 - output_pin: GPIO5 + output_pin: GPIO0 <<: !include common.yaml diff --git a/tests/components/gp8403/common.yaml b/tests/components/gp8403/common.yaml index 7074185273..b04fbc4fbc 100644 --- a/tests/components/gp8403/common.yaml +++ b/tests/components/gp8403/common.yaml @@ -1,12 +1,9 @@ -i2c: - - id: i2c_gp8403 - scl: ${scl_pin} - sda: ${sda_pin} - gp8403: - id: gp8403_5v + i2c_id: i2c_bus voltage: 5V - id: gp8403_10v + i2c_id: i2c_bus voltage: 10V output: diff --git a/tests/components/gp8403/test.esp32-c3-idf.yaml b/tests/components/gp8403/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/gp8403/test.esp32-c3-idf.yaml +++ b/tests/components/gp8403/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gp8403/test.esp32-idf.yaml b/tests/components/gp8403/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/gp8403/test.esp32-idf.yaml +++ b/tests/components/gp8403/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gp8403/test.esp8266-ard.yaml b/tests/components/gp8403/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/gp8403/test.esp8266-ard.yaml +++ b/tests/components/gp8403/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gp8403/test.rp2040-ard.yaml b/tests/components/gp8403/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/gp8403/test.rp2040-ard.yaml +++ b/tests/components/gp8403/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gpio/test.esp8266-ard.yaml b/tests/components/gpio/test.esp8266-ard.yaml index 09f41abb79..e1660ec47c 100644 --- a/tests/components/gpio/test.esp8266-ard.yaml +++ b/tests/components/gpio/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - binary_sensor_pin: GPIO12 - output_pin: GPIO13 - switch_pin: GPIO14 + binary_sensor_pin: GPIO0 + output_pin: GPIO2 + switch_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/gps/common.yaml b/tests/components/gps/common.yaml index 53dc67e457..a99e3ef7e0 100644 --- a/tests/components/gps/common.yaml +++ b/tests/components/gps/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_gps - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - parity: EVEN - gps: latitude: name: "Latitude" diff --git a/tests/components/gps/test.esp32-c3-idf.yaml b/tests/components/gps/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/gps/test.esp32-c3-idf.yaml +++ b/tests/components/gps/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gps/test.esp32-idf.yaml b/tests/components/gps/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/gps/test.esp32-idf.yaml +++ b/tests/components/gps/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/gps/test.esp8266-ard.yaml b/tests/components/gps/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/gps/test.esp8266-ard.yaml +++ b/tests/components/gps/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gps/test.rp2040-ard.yaml b/tests/components/gps/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/gps/test.rp2040-ard.yaml +++ b/tests/components/gps/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graph/common.yaml b/tests/components/graph/common.yaml index d2a6a9422d..578de5a60c 100644 --- a/tests/components/graph/common.yaml +++ b/tests/components/graph/common.yaml @@ -1,8 +1,3 @@ -i2c: - - id: i2c_graph - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: template id: some_sensor @@ -20,6 +15,6 @@ display: model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: graph_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); diff --git a/tests/components/graph/test.esp32-c3-idf.yaml b/tests/components/graph/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/graph/test.esp32-c3-idf.yaml +++ b/tests/components/graph/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graph/test.esp32-idf.yaml b/tests/components/graph/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/graph/test.esp32-idf.yaml +++ b/tests/components/graph/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graph/test.esp8266-ard.yaml b/tests/components/graph/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/graph/test.esp8266-ard.yaml +++ b/tests/components/graph/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graph/test.rp2040-ard.yaml b/tests/components/graph/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/graph/test.rp2040-ard.yaml +++ b/tests/components/graph/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/common.yaml b/tests/components/graphical_display_menu/common.yaml index d979a6a30e..0b8f20d64b 100644 --- a/tests/components/graphical_display_menu/common.yaml +++ b/tests/components/graphical_display_menu/common.yaml @@ -1,15 +1,10 @@ -i2c: - - id: i2c_graphical_display_menu - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c id: ssd1306_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: graphical_display_menu_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); diff --git a/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml b/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml +++ b/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp32-idf.yaml b/tests/components/graphical_display_menu/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/graphical_display_menu/test.esp32-idf.yaml +++ b/tests/components/graphical_display_menu/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp8266-ard.yaml b/tests/components/graphical_display_menu/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/graphical_display_menu/test.esp8266-ard.yaml +++ b/tests/components/graphical_display_menu/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.rp2040-ard.yaml b/tests/components/graphical_display_menu/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/graphical_display_menu/test.rp2040-ard.yaml +++ b/tests/components/graphical_display_menu/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/common.yaml b/tests/components/grove_gas_mc_v2/common.yaml index dbdb950033..0729e6b9c7 100644 --- a/tests/components/grove_gas_mc_v2/common.yaml +++ b/tests/components/grove_gas_mc_v2/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_grove_gas_mc_v2 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: grove_gas_mc_v2 + i2c_id: i2c_bus nitrogen_dioxide: name: "Nitrogen Dioxide" ethanol: diff --git a/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml b/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml +++ b/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml b/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml +++ b/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml b/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml +++ b/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml b/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml +++ b/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/common.yaml b/tests/components/grove_tb6612fng/common.yaml index 0db6c00bf7..52d5ead96e 100644 --- a/tests/components/grove_tb6612fng/common.yaml +++ b/tests/components/grove_tb6612fng/common.yaml @@ -13,11 +13,7 @@ esphome: channel: 1 id: test_motor -i2c: - - id: i2c_grove_tb6612fng - scl: ${scl_pin} - sda: ${sda_pin} - grove_tb6612fng: id: test_motor + i2c_id: i2c_bus address: 0x14 diff --git a/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml b/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml +++ b/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp32-idf.yaml b/tests/components/grove_tb6612fng/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/grove_tb6612fng/test.esp32-idf.yaml +++ b/tests/components/grove_tb6612fng/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp8266-ard.yaml b/tests/components/grove_tb6612fng/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/grove_tb6612fng/test.esp8266-ard.yaml +++ b/tests/components/grove_tb6612fng/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.rp2040-ard.yaml b/tests/components/grove_tb6612fng/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/grove_tb6612fng/test.rp2040-ard.yaml +++ b/tests/components/grove_tb6612fng/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/growatt_solar/common.yaml b/tests/components/growatt_solar/common.yaml index 7cc6b2a139..f304e84fcf 100644 --- a/tests/components/growatt_solar/common.yaml +++ b/tests/components/growatt_solar/common.yaml @@ -1,14 +1,6 @@ -uart: - - id: uart_growatt_solar - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - flow_control_pin: ${flow_control_pin} - sensor: - platform: growatt_solar + modbus_id: modbus_bus update_interval: 10s protocol_version: RTU inverter_status: diff --git a/tests/components/growatt_solar/test.esp32-c3-idf.yaml b/tests/components/growatt_solar/test.esp32-c3-idf.yaml index 452031a5aa..17940aafcf 100644 --- a/tests/components/growatt_solar/test.esp32-c3-idf.yaml +++ b/tests/components/growatt_solar/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp32-idf.yaml b/tests/components/growatt_solar/test.esp32-idf.yaml index bd767a8ece..a755bfa66a 100644 --- a/tests/components/growatt_solar/test.esp32-idf.yaml +++ b/tests/components/growatt_solar/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp8266-ard.yaml b/tests/components/growatt_solar/test.esp8266-ard.yaml index 29c98d0957..6daa08c22b 100644 --- a/tests/components/growatt_solar/test.esp8266-ard.yaml +++ b/tests/components/growatt_solar/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/growatt_solar/test.rp2040-ard.yaml b/tests/components/growatt_solar/test.rp2040-ard.yaml index 452031a5aa..a00283a9e0 100644 --- a/tests/components/growatt_solar/test.rp2040-ard.yaml +++ b/tests/components/growatt_solar/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/gt911/common.yaml b/tests/components/gt911/common.yaml index 7bb88108da..5f9748afb6 100644 --- a/tests/components/gt911/common.yaml +++ b/tests/components/gt911/common.yaml @@ -1,23 +1,21 @@ -i2c: - - id: i2c_gt911 - scl: 5 - sda: 4 - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 - reset_pin: 10 + reset_pin: ${display_reset_pin} pages: - - id: page1 + - id: gt911_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: gt911 + i2c_id: i2c_bus + id: gt911_touchscreen display: ssd1306_display - interrupt_pin: 20 - reset_pin: 21 + interrupt_pin: ${interrupt_pin} + reset_pin: ${reset_pin} binary_sensor: - platform: gt911 diff --git a/tests/components/gt911/test.esp32-c3-idf.yaml b/tests/components/gt911/test.esp32-c3-idf.yaml index dade44d145..5e15963b7e 100644 --- a/tests/components/gt911/test.esp32-c3-idf.yaml +++ b/tests/components/gt911/test.esp32-c3-idf.yaml @@ -1 +1,9 @@ +substitutions: + display_reset_pin: "18" + interrupt_pin: "20" + reset_pin: "21" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/gt911/test.esp32-idf.yaml b/tests/components/gt911/test.esp32-idf.yaml index dade44d145..3bce86d9a3 100644 --- a/tests/components/gt911/test.esp32-idf.yaml +++ b/tests/components/gt911/test.esp32-idf.yaml @@ -1 +1,9 @@ +substitutions: + display_reset_pin: "10" + interrupt_pin: "20" + reset_pin: "21" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/gt911/test.esp8266-ard.yaml b/tests/components/gt911/test.esp8266-ard.yaml index 8b76eff29e..c3bc159b5b 100644 --- a/tests/components/gt911/test.esp8266-ard.yaml +++ b/tests/components/gt911/test.esp8266-ard.yaml @@ -1,24 +1,9 @@ -i2c: - - id: i2c_gt911 - scl: 5 - sda: 4 +substitutions: + display_reset_pin: "10" + interrupt_pin: "12" + reset_pin: "13" -display: - - platform: ssd1306_i2c - id: ssd1306_display - model: SSD1306_128X64 - reset_pin: 13 - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml -touchscreen: - - platform: gt911 - display: ssd1306_display - interrupt_pin: 12 - -binary_sensor: - - platform: gt911 - id: touch_key_911 - index: 0 +<<: !include common.yaml diff --git a/tests/components/gt911/test.rp2040-ard.yaml b/tests/components/gt911/test.rp2040-ard.yaml index dade44d145..0c7f0bc504 100644 --- a/tests/components/gt911/test.rp2040-ard.yaml +++ b/tests/components/gt911/test.rp2040-ard.yaml @@ -1 +1,9 @@ +substitutions: + display_reset_pin: "10" + interrupt_pin: "20" + reset_pin: "21" + +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/haier/common.yaml b/tests/components/haier/common.yaml index 368b88b69c..926a1d1b7a 100644 --- a/tests/components/haier/common.yaml +++ b/tests/components/haier/common.yaml @@ -2,16 +2,9 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uart_haier - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - climate: - platform: haier id: haier_ac - uart_id: uart_haier protocol: hOn name: Haier AC wifi_signal: true diff --git a/tests/components/haier/test.esp32-c3-idf.yaml b/tests/components/haier/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/haier/test.esp32-c3-idf.yaml +++ b/tests/components/haier/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/haier/test.esp32-idf.yaml b/tests/components/haier/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/haier/test.esp32-idf.yaml +++ b/tests/components/haier/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/haier/test.esp8266-ard.yaml b/tests/components/haier/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/haier/test.esp8266-ard.yaml +++ b/tests/components/haier/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/haier/test.rp2040-ard.yaml b/tests/components/haier/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/haier/test.rp2040-ard.yaml +++ b/tests/components/haier/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/havells_solar/common.yaml b/tests/components/havells_solar/common.yaml index 370b0d357d..2f00f61f14 100644 --- a/tests/components/havells_solar/common.yaml +++ b/tests/components/havells_solar/common.yaml @@ -1,14 +1,6 @@ -uart: - - id: uart_havells_solar - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - flow_control_pin: ${flow_control_pin} - sensor: - platform: havells_solar + modbus_id: modbus_bus update_interval: 60s phase_a: voltage: diff --git a/tests/components/havells_solar/test.esp32-c3-idf.yaml b/tests/components/havells_solar/test.esp32-c3-idf.yaml index 452031a5aa..17940aafcf 100644 --- a/tests/components/havells_solar/test.esp32-c3-idf.yaml +++ b/tests/components/havells_solar/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp32-idf.yaml b/tests/components/havells_solar/test.esp32-idf.yaml index bd767a8ece..a755bfa66a 100644 --- a/tests/components/havells_solar/test.esp32-idf.yaml +++ b/tests/components/havells_solar/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp8266-ard.yaml b/tests/components/havells_solar/test.esp8266-ard.yaml index 29c98d0957..6daa08c22b 100644 --- a/tests/components/havells_solar/test.esp8266-ard.yaml +++ b/tests/components/havells_solar/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/havells_solar/test.rp2040-ard.yaml b/tests/components/havells_solar/test.rp2040-ard.yaml index 452031a5aa..a00283a9e0 100644 --- a/tests/components/havells_solar/test.rp2040-ard.yaml +++ b/tests/components/havells_solar/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/hbridge/common.yaml b/tests/components/hbridge/common.yaml index 0504cdea03..ca619d6851 100644 --- a/tests/components/hbridge/common.yaml +++ b/tests/components/hbridge/common.yaml @@ -31,9 +31,3 @@ fan: on_preset_set: then: - logger.log: Preset mode was changed! - -switch: - - platform: hbridge - id: switch_hbridge - on_pin: ${hbridge_on_pin} - off_pin: ${hbridge_off_pin} diff --git a/tests/components/hbridge/test.esp32-c3-idf.yaml b/tests/components/hbridge/test.esp32-c3-idf.yaml index c73f08b6de..93a6cb5818 100644 --- a/tests/components/hbridge/test.esp32-c3-idf.yaml +++ b/tests/components/hbridge/test.esp32-c3-idf.yaml @@ -7,9 +7,11 @@ substitutions: hbridge_on_pin: "2" hbridge_off_pin: "3" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} pulse_length: 60ms diff --git a/tests/components/hbridge/test.esp32-idf.yaml b/tests/components/hbridge/test.esp32-idf.yaml index dbbfa738c7..7f3d9b928a 100644 --- a/tests/components/hbridge/test.esp32-idf.yaml +++ b/tests/components/hbridge/test.esp32-idf.yaml @@ -7,10 +7,12 @@ substitutions: hbridge_on_pin: "4" hbridge_off_pin: "5" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} pulse_length: 60ms wait_time: 10ms diff --git a/tests/components/hbridge/test.esp8266-ard.yaml b/tests/components/hbridge/test.esp8266-ard.yaml index f560da5d38..0346c8801d 100644 --- a/tests/components/hbridge/test.esp8266-ard.yaml +++ b/tests/components/hbridge/test.esp8266-ard.yaml @@ -7,10 +7,12 @@ substitutions: hbridge_on_pin: "14" hbridge_off_pin: "15" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} pulse_length: 60ms wait_time: 10ms diff --git a/tests/components/hbridge/test.rp2040-ard.yaml b/tests/components/hbridge/test.rp2040-ard.yaml index aa6e290cab..f9cb2b5618 100644 --- a/tests/components/hbridge/test.rp2040-ard.yaml +++ b/tests/components/hbridge/test.rp2040-ard.yaml @@ -7,10 +7,12 @@ substitutions: hbridge_on_pin: "2" hbridge_off_pin: "3" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} wait_time: 10ms optimistic: true diff --git a/tests/components/hdc1080/common.yaml b/tests/components/hdc1080/common.yaml index d260d4737c..a559392cb1 100644 --- a/tests/components/hdc1080/common.yaml +++ b/tests/components/hdc1080/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hdc1080 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hdc1080 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/hdc1080/test.esp32-c3-idf.yaml b/tests/components/hdc1080/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hdc1080/test.esp32-c3-idf.yaml +++ b/tests/components/hdc1080/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hdc1080/test.esp32-idf.yaml b/tests/components/hdc1080/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hdc1080/test.esp32-idf.yaml +++ b/tests/components/hdc1080/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hdc1080/test.esp8266-ard.yaml b/tests/components/hdc1080/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hdc1080/test.esp8266-ard.yaml +++ b/tests/components/hdc1080/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hdc1080/test.rp2040-ard.yaml b/tests/components/hdc1080/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hdc1080/test.rp2040-ard.yaml +++ b/tests/components/hdc1080/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/he60r/common.yaml b/tests/components/he60r/common.yaml index e10e745f57..ab5ec67f0e 100644 --- a/tests/components/he60r/common.yaml +++ b/tests/components/he60r/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_he60r - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 1200 - parity: EVEN - cover: - platform: he60r id: garage_door diff --git a/tests/components/he60r/test.esp32-c3-idf.yaml b/tests/components/he60r/test.esp32-c3-idf.yaml index b516342f3b..b0c8c5de3d 100644 --- a/tests/components/he60r/test.esp32-c3-idf.yaml +++ b/tests/components/he60r/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/he60r/test.esp32-idf.yaml b/tests/components/he60r/test.esp32-idf.yaml index f486544afa..f52c2a75f8 100644 --- a/tests/components/he60r/test.esp32-idf.yaml +++ b/tests/components/he60r/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/he60r/test.esp8266-ard.yaml b/tests/components/he60r/test.esp8266-ard.yaml index b516342f3b..e28024fa4d 100644 --- a/tests/components/he60r/test.esp8266-ard.yaml +++ b/tests/components/he60r/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/he60r/test.rp2040-ard.yaml b/tests/components/he60r/test.rp2040-ard.yaml index b516342f3b..a576b03d63 100644 --- a/tests/components/he60r/test.rp2040-ard.yaml +++ b/tests/components/he60r/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hlw8012/test.esp8266-ard.yaml b/tests/components/hlw8012/test.esp8266-ard.yaml index 8b42b21b54..ec9c0e43dc 100644 --- a/tests/components/hlw8012/test.esp8266-ard.yaml +++ b/tests/components/hlw8012/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 + sel_pin: GPIO0 + cf_pin: GPIO2 + cf1_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/hm3301/common.yaml b/tests/components/hm3301/common.yaml index b533130569..a56ac7bc65 100644 --- a/tests/components/hm3301/common.yaml +++ b/tests/components/hm3301/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hm3301 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hm3301 + i2c_id: i2c_bus pm_1_0: name: PM1.0 pm_2_5: diff --git a/tests/components/hm3301/test.esp32-c3-idf.yaml b/tests/components/hm3301/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hm3301/test.esp32-c3-idf.yaml +++ b/tests/components/hm3301/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hm3301/test.esp32-idf.yaml b/tests/components/hm3301/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hm3301/test.esp32-idf.yaml +++ b/tests/components/hm3301/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hm3301/test.esp8266-ard.yaml b/tests/components/hm3301/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hm3301/test.esp8266-ard.yaml +++ b/tests/components/hm3301/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hm3301/test.rp2040-ard.yaml b/tests/components/hm3301/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hm3301/test.rp2040-ard.yaml +++ b/tests/components/hm3301/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/common.yaml b/tests/components/hmc5883l/common.yaml index 1c90f5f1c6..19e4ba4c45 100644 --- a/tests/components/hmc5883l/common.yaml +++ b/tests/components/hmc5883l/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hmc5883l - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hmc5883l + i2c_id: i2c_bus address: 0x68 field_strength_x: name: HMC5883L Field Strength X diff --git a/tests/components/hmc5883l/test.esp32-c3-idf.yaml b/tests/components/hmc5883l/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hmc5883l/test.esp32-c3-idf.yaml +++ b/tests/components/hmc5883l/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp32-idf.yaml b/tests/components/hmc5883l/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hmc5883l/test.esp32-idf.yaml +++ b/tests/components/hmc5883l/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp8266-ard.yaml b/tests/components/hmc5883l/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hmc5883l/test.esp8266-ard.yaml +++ b/tests/components/hmc5883l/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/test.rp2040-ard.yaml b/tests/components/hmc5883l/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hmc5883l/test.rp2040-ard.yaml +++ b/tests/components/hmc5883l/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/common.yaml b/tests/components/honeywell_hih_i2c/common.yaml index a5f3eef187..de588a30bd 100644 --- a/tests/components/honeywell_hih_i2c/common.yaml +++ b/tests/components/honeywell_hih_i2c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_honeywell_hih - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: honeywell_hih_i2c + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml b/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml b/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml +++ b/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml b/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml +++ b/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml b/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml +++ b/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp/common.yaml b/tests/components/honeywellabp/common.yaml index 21a3ef6ee3..f82d289ace 100644 --- a/tests/components/honeywellabp/common.yaml +++ b/tests/components/honeywellabp/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_bme280 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: honeywellabp cs_pin: ${cs_pin} diff --git a/tests/components/honeywellabp/test.esp32-c3-idf.yaml b/tests/components/honeywellabp/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/honeywellabp/test.esp32-c3-idf.yaml +++ b/tests/components/honeywellabp/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp32-idf.yaml b/tests/components/honeywellabp/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/honeywellabp/test.esp32-idf.yaml +++ b/tests/components/honeywellabp/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp8266-ard.yaml b/tests/components/honeywellabp/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/honeywellabp/test.esp8266-ard.yaml +++ b/tests/components/honeywellabp/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/honeywellabp/test.rp2040-ard.yaml b/tests/components/honeywellabp/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/honeywellabp/test.rp2040-ard.yaml +++ b/tests/components/honeywellabp/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/common.yaml b/tests/components/honeywellabp2_i2c/common.yaml index 6752a69866..e1b060edcf 100644 --- a/tests/components/honeywellabp2_i2c/common.yaml +++ b/tests/components/honeywellabp2_i2c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_honeywellabp2 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: honeywellabp2_i2c + i2c_id: i2c_bus address: 0x28 pressure: name: Honeywell2 pressure diff --git a/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml b/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml b/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml +++ b/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml b/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml +++ b/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml b/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml +++ b/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/common.yaml b/tests/components/hrxl_maxsonar_wr/common.yaml index d74ada716d..84376aa5ba 100644 --- a/tests/components/hrxl_maxsonar_wr/common.yaml +++ b/tests/components/hrxl_maxsonar_wr/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_hrxl_maxsonar_wr - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - sensor: - platform: hrxl_maxsonar_wr id: hrxl_maxsonar_wr_sensor diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/hte501/common.yaml b/tests/components/hte501/common.yaml index 7c57b5bc6a..e0641de193 100644 --- a/tests/components/hte501/common.yaml +++ b/tests/components/hte501/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hte501 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hte501 + i2c_id: i2c_bus address: 0x40 temperature: name: Temperature diff --git a/tests/components/hte501/test.esp32-c3-idf.yaml b/tests/components/hte501/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hte501/test.esp32-c3-idf.yaml +++ b/tests/components/hte501/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hte501/test.esp32-idf.yaml b/tests/components/hte501/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hte501/test.esp32-idf.yaml +++ b/tests/components/hte501/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hte501/test.esp8266-ard.yaml b/tests/components/hte501/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hte501/test.esp8266-ard.yaml +++ b/tests/components/hte501/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hte501/test.rp2040-ard.yaml b/tests/components/hte501/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hte501/test.rp2040-ard.yaml +++ b/tests/components/hte501/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/http_request/common.yaml b/tests/components/http_request/common.yaml index 97961007e2..9ff9f9fb67 100644 --- a/tests/components/http_request/common.yaml +++ b/tests/components/http_request/common.yaml @@ -51,6 +51,7 @@ script: ota: - platform: http_request + id: http_request_ota on_begin: then: - logger.log: "OTA start" @@ -77,10 +78,12 @@ button: on_press: then: - ota.http_request.flash: + id: http_request_ota md5_url: http://my.ha.net:8123/local/esphome/firmware.md5 url: http://my.ha.net:8123/local/esphome/firmware.bin - ota.http_request.flash: + id: http_request_ota md5: 0123456789abcdef0123456789abcdef url: http://my.ha.net:8123/local/esphome/firmware.bin @@ -90,6 +93,7 @@ update: - platform: http_request name: OTA Update id: ota_update + ota_id: http_request_ota source: http://my.ha.net:8123/local/esphome/manifest.json on_update_available: - logger.log: "A new update is available" diff --git a/tests/components/htu21d/common.yaml b/tests/components/htu21d/common.yaml index f12c1ca46e..ad4b23d460 100644 --- a/tests/components/htu21d/common.yaml +++ b/tests/components/htu21d/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_htu21d - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: htu21d + i2c_id: i2c_bus model: htu21d temperature: name: Temperature diff --git a/tests/components/htu21d/test.esp32-c3-idf.yaml b/tests/components/htu21d/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/htu21d/test.esp32-c3-idf.yaml +++ b/tests/components/htu21d/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu21d/test.esp32-idf.yaml b/tests/components/htu21d/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/htu21d/test.esp32-idf.yaml +++ b/tests/components/htu21d/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu21d/test.esp8266-ard.yaml b/tests/components/htu21d/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/htu21d/test.esp8266-ard.yaml +++ b/tests/components/htu21d/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/htu21d/test.rp2040-ard.yaml b/tests/components/htu21d/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/htu21d/test.rp2040-ard.yaml +++ b/tests/components/htu21d/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/common.yaml b/tests/components/htu31d/common.yaml index 735cdc7cbf..41d718ea69 100644 --- a/tests/components/htu31d/common.yaml +++ b/tests/components/htu31d/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_htu31d - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: htu31d + i2c_id: i2c_bus temperature: name: Living Room Temperature humidity: diff --git a/tests/components/htu31d/test.esp32-c3-idf.yaml b/tests/components/htu31d/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/htu31d/test.esp32-c3-idf.yaml +++ b/tests/components/htu31d/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/test.esp32-idf.yaml b/tests/components/htu31d/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/htu31d/test.esp32-idf.yaml +++ b/tests/components/htu31d/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/test.esp8266-ard.yaml b/tests/components/htu31d/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/htu31d/test.esp8266-ard.yaml +++ b/tests/components/htu31d/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/test.rp2040-ard.yaml b/tests/components/htu31d/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/htu31d/test.rp2040-ard.yaml +++ b/tests/components/htu31d/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-c3-idf.yaml b/tests/components/hx711/test.esp32-c3-idf.yaml index 08a6e705c0..defef165e3 100644 --- a/tests/components/hx711/test.esp32-c3-idf.yaml +++ b/tests/components/hx711/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-idf.yaml b/tests/components/hx711/test.esp32-idf.yaml index 6423867395..defef165e3 100644 --- a/tests/components/hx711/test.esp32-idf.yaml +++ b/tests/components/hx711/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO16 - dout_pin: GPIO17 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hx711/test.esp8266-ard.yaml b/tests/components/hx711/test.esp8266-ard.yaml index 08a6e705c0..defef165e3 100644 --- a/tests/components/hx711/test.esp8266-ard.yaml +++ b/tests/components/hx711/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hx711/test.rp2040-ard.yaml b/tests/components/hx711/test.rp2040-ard.yaml index 08a6e705c0..defef165e3 100644 --- a/tests/components/hx711/test.rp2040-ard.yaml +++ b/tests/components/hx711/test.rp2040-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/common.yaml b/tests/components/hydreon_rgxx/common.yaml index e11c6c91c9..e96879fdec 100644 --- a/tests/components/hydreon_rgxx/common.yaml +++ b/tests/components/hydreon_rgxx/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_hydreon_rgxx - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - binary_sensor: - platform: hydreon_rgxx hydreon_rgxx_id: hydreon_rg9 diff --git a/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml b/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml +++ b/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp32-idf.yaml b/tests/components/hydreon_rgxx/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/hydreon_rgxx/test.esp32-idf.yaml +++ b/tests/components/hydreon_rgxx/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp8266-ard.yaml b/tests/components/hydreon_rgxx/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/hydreon_rgxx/test.esp8266-ard.yaml +++ b/tests/components/hydreon_rgxx/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.rp2040-ard.yaml b/tests/components/hydreon_rgxx/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/hydreon_rgxx/test.rp2040-ard.yaml +++ b/tests/components/hydreon_rgxx/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/hyt271/common.yaml b/tests/components/hyt271/common.yaml index 7a4371173f..5771d882da 100644 --- a/tests/components/hyt271/common.yaml +++ b/tests/components/hyt271/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hyt271 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hyt271 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/hyt271/test.esp32-c3-idf.yaml b/tests/components/hyt271/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hyt271/test.esp32-c3-idf.yaml +++ b/tests/components/hyt271/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hyt271/test.esp32-idf.yaml b/tests/components/hyt271/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hyt271/test.esp32-idf.yaml +++ b/tests/components/hyt271/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hyt271/test.esp8266-ard.yaml b/tests/components/hyt271/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hyt271/test.esp8266-ard.yaml +++ b/tests/components/hyt271/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hyt271/test.rp2040-ard.yaml b/tests/components/hyt271/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hyt271/test.rp2040-ard.yaml +++ b/tests/components/hyt271/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c/common.yaml b/tests/components/i2c/common.yaml index d70cd595ad..e69de29bb2 100644 --- a/tests/components/i2c/common.yaml +++ b/tests/components/i2c/common.yaml @@ -1,4 +0,0 @@ -i2c: - - id: i2c_i2c - scl: ${scl_pin} - sda: ${sda_pin} diff --git a/tests/components/i2c/test.esp32-ard.yaml b/tests/components/i2c/test.esp32-ard.yaml index 63c3bd6afd..7c503b0ccb 100644 --- a/tests/components/i2c/test.esp32-ard.yaml +++ b/tests/components/i2c/test.esp32-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.esp32-c3-idf.yaml b/tests/components/i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/i2c/test.esp32-c3-idf.yaml +++ b/tests/components/i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.esp32-idf.yaml b/tests/components/i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/i2c/test.esp32-idf.yaml +++ b/tests/components/i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.esp8266-ard.yaml b/tests/components/i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/i2c/test.esp8266-ard.yaml +++ b/tests/components/i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.rp2040-ard.yaml b/tests/components/i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/i2c/test.rp2040-ard.yaml +++ b/tests/components/i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/common.yaml b/tests/components/i2c_device/common.yaml index 35a6f8f7f0..fed399eb8c 100644 --- a/tests/components/i2c_device/common.yaml +++ b/tests/components/i2c_device/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_i2c_device - scl: ${scl_pin} - sda: ${sda_pin} - i2c_device: id: i2cdev + i2c_id: i2c_bus address: 0x2C diff --git a/tests/components/i2c_device/test.esp32-c3-idf.yaml b/tests/components/i2c_device/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/i2c_device/test.esp32-c3-idf.yaml +++ b/tests/components/i2c_device/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp32-idf.yaml b/tests/components/i2c_device/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/i2c_device/test.esp32-idf.yaml +++ b/tests/components/i2c_device/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp8266-ard.yaml b/tests/components/i2c_device/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/i2c_device/test.esp8266-ard.yaml +++ b/tests/components/i2c_device/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/test.rp2040-ard.yaml b/tests/components/i2c_device/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/i2c_device/test.rp2040-ard.yaml +++ b/tests/components/i2c_device/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2s_audio/test.esp32-idf.yaml b/tests/components/i2s_audio/test.esp32-idf.yaml index ce751d7d4a..ead1eaa1e9 100644 --- a/tests/components/i2s_audio/test.esp32-idf.yaml +++ b/tests/components/i2s_audio/test.esp32-idf.yaml @@ -1,6 +1,9 @@ substitutions: i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 + i2s_lrclk_pin: GPIO4 + i2s_mclk_pin: GPIO5 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/common.yaml b/tests/components/iaqcore/common.yaml index 927b836c52..e0f9d09a00 100644 --- a/tests/components/iaqcore/common.yaml +++ b/tests/components/iaqcore/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_iaqcore - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: iaqcore + i2c_id: i2c_bus co2: name: iAQ Core CO2 Sensor tvoc: diff --git a/tests/components/iaqcore/test.esp32-c3-idf.yaml b/tests/components/iaqcore/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/iaqcore/test.esp32-c3-idf.yaml +++ b/tests/components/iaqcore/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp32-idf.yaml b/tests/components/iaqcore/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/iaqcore/test.esp32-idf.yaml +++ b/tests/components/iaqcore/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp8266-ard.yaml b/tests/components/iaqcore/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/iaqcore/test.esp8266-ard.yaml +++ b/tests/components/iaqcore/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/test.rp2040-ard.yaml b/tests/components/iaqcore/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/iaqcore/test.rp2040-ard.yaml +++ b/tests/components/iaqcore/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ili9xxx/common.yaml b/tests/components/ili9xxx/common.yaml index b182d110cd..47384b1398 100644 --- a/tests/components/ili9xxx/common.yaml +++ b/tests/components/ili9xxx/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_main_lcd - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ili9xxx invert_colors: true diff --git a/tests/components/ili9xxx/test.esp32-c3-idf.yaml b/tests/components/ili9xxx/test.esp32-c3-idf.yaml index 3037785e81..1eea1e85f7 100644 --- a/tests/components/ili9xxx/test.esp32-c3-idf.yaml +++ b/tests/components/ili9xxx/test.esp32-c3-idf.yaml @@ -1,12 +1,11 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin1: GPIO8 dc_pin1: GPIO9 reset_pin1: GPIO10 cs_pin2: GPIO2 dc_pin2: GPIO3 - reset_pin2: GPIO4 + reset_pin2: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp32-idf.yaml b/tests/components/ili9xxx/test.esp32-idf.yaml index 2e006d2521..866e57573b 100644 --- a/tests/components/ili9xxx/test.esp32-idf.yaml +++ b/tests/components/ili9xxx/test.esp32-idf.yaml @@ -1,6 +1,4 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin1: GPIO12 dc_pin1: GPIO13 reset_pin1: GPIO14 @@ -8,4 +6,7 @@ substitutions: dc_pin2: GPIO26 reset_pin2: GPIO27 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp8266-ard.yaml b/tests/components/ili9xxx/test.esp8266-ard.yaml index 5dee055fd4..feb7773794 100644 --- a/tests/components/ili9xxx/test.esp8266-ard.yaml +++ b/tests/components/ili9xxx/test.esp8266-ard.yaml @@ -9,4 +9,7 @@ substitutions: dc_pin2: GPIO4 reset_pin2: GPIO0 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ili9xxx/test.rp2040-ard.yaml b/tests/components/ili9xxx/test.rp2040-ard.yaml index 74c9b906e9..2acde3e629 100644 --- a/tests/components/ili9xxx/test.rp2040-ard.yaml +++ b/tests/components/ili9xxx/test.rp2040-ard.yaml @@ -9,4 +9,7 @@ substitutions: dc_pin2: GPIO21 reset_pin2: GPIO22 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/image/test.esp32-idf.yaml b/tests/components/image/test.esp32-idf.yaml index 814f16c36c..aea2b4bbb0 100644 --- a/tests/components/image/test.esp32-idf.yaml +++ b/tests/components/image/test.esp32-idf.yaml @@ -1,14 +1,12 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 18 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 - cs_pin: 19 + cs_pin: 15 dc_pin: 13 reset_pin: 21 invert_colors: true diff --git a/tests/components/image/test.esp8266-ard.yaml b/tests/components/image/test.esp8266-ard.yaml index 626076d44e..2e7bfc5ae5 100644 --- a/tests/components/image/test.esp8266-ard.yaml +++ b/tests/components/image/test.esp8266-ard.yaml @@ -1,12 +1,10 @@ -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 5 dc_pin: 15 diff --git a/tests/components/image/test.rp2040-ard.yaml b/tests/components/image/test.rp2040-ard.yaml index 5167c99a7d..40f17d57fe 100644 --- a/tests/components/image/test.rp2040-ard.yaml +++ b/tests/components/image/test.rp2040-ard.yaml @@ -1,12 +1,10 @@ -spi: - - id: spi_main_lcd - clk_pin: 2 - mosi_pin: 3 - miso_pin: 4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 20 dc_pin: 21 diff --git a/tests/components/ina219/common.yaml b/tests/components/ina219/common.yaml index 4ca4c9ed8f..71291a082d 100644 --- a/tests/components/ina219/common.yaml +++ b/tests/components/ina219/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina219 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina219 + i2c_id: i2c_bus address: 0x40 shunt_resistance: 0.1 ohm current: diff --git a/tests/components/ina219/test.esp32-c3-idf.yaml b/tests/components/ina219/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina219/test.esp32-c3-idf.yaml +++ b/tests/components/ina219/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina219/test.esp32-idf.yaml b/tests/components/ina219/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina219/test.esp32-idf.yaml +++ b/tests/components/ina219/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina219/test.esp8266-ard.yaml b/tests/components/ina219/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina219/test.esp8266-ard.yaml +++ b/tests/components/ina219/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina219/test.rp2040-ard.yaml b/tests/components/ina219/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina219/test.rp2040-ard.yaml +++ b/tests/components/ina219/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina226/common.yaml b/tests/components/ina226/common.yaml index 8bcd038e50..7cbaf8cb2f 100644 --- a/tests/components/ina226/common.yaml +++ b/tests/components/ina226/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina226 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina226 + i2c_id: i2c_bus address: 0x40 shunt_resistance: 0.1 ohm current: diff --git a/tests/components/ina226/test.esp32-c3-idf.yaml b/tests/components/ina226/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina226/test.esp32-c3-idf.yaml +++ b/tests/components/ina226/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina226/test.esp32-idf.yaml b/tests/components/ina226/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina226/test.esp32-idf.yaml +++ b/tests/components/ina226/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina226/test.esp8266-ard.yaml b/tests/components/ina226/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina226/test.esp8266-ard.yaml +++ b/tests/components/ina226/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina226/test.rp2040-ard.yaml b/tests/components/ina226/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina226/test.rp2040-ard.yaml +++ b/tests/components/ina226/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina260/common.yaml b/tests/components/ina260/common.yaml index ab94b2e509..f630d0bb47 100644 --- a/tests/components/ina260/common.yaml +++ b/tests/components/ina260/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina260 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina260 + i2c_id: i2c_bus address: 0x40 current: name: INA260 Current diff --git a/tests/components/ina260/test.esp32-c3-idf.yaml b/tests/components/ina260/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina260/test.esp32-c3-idf.yaml +++ b/tests/components/ina260/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina260/test.esp32-idf.yaml b/tests/components/ina260/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina260/test.esp32-idf.yaml +++ b/tests/components/ina260/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina260/test.esp8266-ard.yaml b/tests/components/ina260/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina260/test.esp8266-ard.yaml +++ b/tests/components/ina260/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina260/test.rp2040-ard.yaml b/tests/components/ina260/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina260/test.rp2040-ard.yaml +++ b/tests/components/ina260/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/common.yaml b/tests/components/ina2xx_i2c/common.yaml index 320b680b6b..7d586f136e 100644 --- a/tests/components/ina2xx_i2c/common.yaml +++ b/tests/components/ina2xx_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ina2xx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina2xx_i2c - i2c_id: i2c_ina2xx + i2c_id: i2c_bus address: 0x40 model: INA228 shunt_resistance: 0.001130 ohm diff --git a/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml b/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp32-idf.yaml b/tests/components/ina2xx_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina2xx_i2c/test.esp32-idf.yaml +++ b/tests/components/ina2xx_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp8266-ard.yaml b/tests/components/ina2xx_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina2xx_i2c/test.esp8266-ard.yaml +++ b/tests/components/ina2xx_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.rp2040-ard.yaml b/tests/components/ina2xx_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina2xx_i2c/test.rp2040-ard.yaml +++ b/tests/components/ina2xx_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/common.yaml b/tests/components/ina2xx_spi/common.yaml index 3eab7e6f0a..d9b2300e26 100644 --- a/tests/components/ina2xx_spi/common.yaml +++ b/tests/components/ina2xx_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_ina2xx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: ina2xx_spi - spi_id: spi_ina2xx cs_pin: ${cs_pin} model: INA229 shunt_resistance: 0.001130 ohm diff --git a/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml b/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp32-idf.yaml b/tests/components/ina2xx_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/ina2xx_spi/test.esp32-idf.yaml +++ b/tests/components/ina2xx_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp8266-ard.yaml b/tests/components/ina2xx_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/ina2xx_spi/test.esp8266-ard.yaml +++ b/tests/components/ina2xx_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.rp2040-ard.yaml b/tests/components/ina2xx_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/ina2xx_spi/test.rp2040-ard.yaml +++ b/tests/components/ina2xx_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ina3221/common.yaml b/tests/components/ina3221/common.yaml index ba1abdfe3a..570d1b0a12 100644 --- a/tests/components/ina3221/common.yaml +++ b/tests/components/ina3221/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina3221 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina3221 + i2c_id: i2c_bus address: 0x40 channel_1: shunt_resistance: 0.1 ohm diff --git a/tests/components/ina3221/test.esp32-c3-idf.yaml b/tests/components/ina3221/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina3221/test.esp32-c3-idf.yaml +++ b/tests/components/ina3221/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina3221/test.esp32-idf.yaml b/tests/components/ina3221/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina3221/test.esp32-idf.yaml +++ b/tests/components/ina3221/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina3221/test.esp8266-ard.yaml b/tests/components/ina3221/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina3221/test.esp8266-ard.yaml +++ b/tests/components/ina3221/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina3221/test.rp2040-ard.yaml b/tests/components/ina3221/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina3221/test.rp2040-ard.yaml +++ b/tests/components/ina3221/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml +++ b/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml +++ b/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/inkplate/common.yaml b/tests/components/inkplate/common.yaml index 7050b1739f..bb18ff4f7e 100644 --- a/tests/components/inkplate/common.yaml +++ b/tests/components/inkplate/common.yaml @@ -1,13 +1,9 @@ -i2c: - - id: i2c_inkplate - scl: 16 - sda: 17 - esp32: cpu_frequency: 240MHz display: - platform: inkplate + i2c_id: i2c_bus id: inkplate_display greyscale: false partial_updating: false diff --git a/tests/components/inkplate/test.esp32-idf.yaml b/tests/components/inkplate/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/inkplate/test.esp32-idf.yaml +++ b/tests/components/inkplate/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/common.yaml b/tests/components/jsn_sr04t/common.yaml index d6871d5e91..bc2c301c2e 100644 --- a/tests/components/jsn_sr04t/common.yaml +++ b/tests/components/jsn_sr04t/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_jsn_sr04t - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: jsn_sr04t id: jsn_sr04t_sensor diff --git a/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml b/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml +++ b/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp32-idf.yaml b/tests/components/jsn_sr04t/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/jsn_sr04t/test.esp32-idf.yaml +++ b/tests/components/jsn_sr04t/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp8266-ard.yaml b/tests/components/jsn_sr04t/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/jsn_sr04t/test.esp8266-ard.yaml +++ b/tests/components/jsn_sr04t/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.rp2040-ard.yaml b/tests/components/jsn_sr04t/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/jsn_sr04t/test.rp2040-ard.yaml +++ b/tests/components/jsn_sr04t/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/kamstrup_kmp/common.yaml b/tests/components/kamstrup_kmp/common.yaml index b348d03c72..b3ebea523c 100644 --- a/tests/components/kamstrup_kmp/common.yaml +++ b/tests/components/kamstrup_kmp/common.yaml @@ -1,9 +1,3 @@ -uart: - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 1200 - stop_bits: 2 - sensor: - platform: kamstrup_kmp heat_energy: diff --git a/tests/components/kamstrup_kmp/test.esp32-idf.yaml b/tests/components/kamstrup_kmp/test.esp32-idf.yaml index adc2c4d24a..1016905720 100644 --- a/tests/components/kamstrup_kmp/test.esp32-idf.yaml +++ b/tests/components/kamstrup_kmp/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO1 - uart_rx_pin: GPIO3 +packages: + uart_1200: !include ../../test_build_components/common/uart_1200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/kamstrup_kmp/test.esp8266-ard.yaml b/tests/components/kamstrup_kmp/test.esp8266-ard.yaml index adc2c4d24a..f55c18eb76 100644 --- a/tests/components/kamstrup_kmp/test.esp8266-ard.yaml +++ b/tests/components/kamstrup_kmp/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: uart_tx_pin: GPIO1 uart_rx_pin: GPIO3 +packages: + uart_1200: !include ../../test_build_components/common/uart_1200/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/kmeteriso/common.yaml b/tests/components/kmeteriso/common.yaml index 6b68175904..8542bb6a06 100644 --- a/tests/components/kmeteriso/common.yaml +++ b/tests/components/kmeteriso/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_kmeteriso - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: kmeteriso + i2c_id: i2c_bus temperature: name: Outside Temperature internal_temperature: diff --git a/tests/components/kmeteriso/test.esp32-c3-idf.yaml b/tests/components/kmeteriso/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/kmeteriso/test.esp32-c3-idf.yaml +++ b/tests/components/kmeteriso/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp32-idf.yaml b/tests/components/kmeteriso/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/kmeteriso/test.esp32-idf.yaml +++ b/tests/components/kmeteriso/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp8266-ard.yaml b/tests/components/kmeteriso/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/kmeteriso/test.esp8266-ard.yaml +++ b/tests/components/kmeteriso/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/kmeteriso/test.rp2040-ard.yaml b/tests/components/kmeteriso/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/kmeteriso/test.rp2040-ard.yaml +++ b/tests/components/kmeteriso/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/kuntze/common.yaml b/tests/components/kuntze/common.yaml index 4daecea242..32c6fa3809 100644 --- a/tests/components/kuntze/common.yaml +++ b/tests/components/kuntze/common.yaml @@ -1,14 +1,6 @@ -uart: - - id: uart_kuntze - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - flow_control_pin: ${flow_control_pin} - sensor: - platform: kuntze + modbus_id: modbus_bus ph: name: Kuntze pH temperature: diff --git a/tests/components/kuntze/test.esp32-c3-idf.yaml b/tests/components/kuntze/test.esp32-c3-idf.yaml index 452031a5aa..17940aafcf 100644 --- a/tests/components/kuntze/test.esp32-c3-idf.yaml +++ b/tests/components/kuntze/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/kuntze/test.esp32-idf.yaml b/tests/components/kuntze/test.esp32-idf.yaml index bd767a8ece..a755bfa66a 100644 --- a/tests/components/kuntze/test.esp32-idf.yaml +++ b/tests/components/kuntze/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/kuntze/test.esp8266-ard.yaml b/tests/components/kuntze/test.esp8266-ard.yaml index 29c98d0957..6daa08c22b 100644 --- a/tests/components/kuntze/test.esp8266-ard.yaml +++ b/tests/components/kuntze/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/kuntze/test.rp2040-ard.yaml b/tests/components/kuntze/test.rp2040-ard.yaml index 452031a5aa..a00283a9e0 100644 --- a/tests/components/kuntze/test.rp2040-ard.yaml +++ b/tests/components/kuntze/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lc709203f/common.yaml b/tests/components/lc709203f/common.yaml index 53177c0d4a..3711e5372c 100644 --- a/tests/components/lc709203f/common.yaml +++ b/tests/components/lc709203f/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_lc709203f - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: lc709203f + i2c_id: i2c_bus size: 2000 voltage: 3.7 battery_voltage: diff --git a/tests/components/lc709203f/test.esp32-c3-idf.yaml b/tests/components/lc709203f/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/lc709203f/test.esp32-c3-idf.yaml +++ b/tests/components/lc709203f/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp32-idf.yaml b/tests/components/lc709203f/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/lc709203f/test.esp32-idf.yaml +++ b/tests/components/lc709203f/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp8266-ard.yaml b/tests/components/lc709203f/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/lc709203f/test.esp8266-ard.yaml +++ b/tests/components/lc709203f/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lc709203f/test.rp2040-ard.yaml b/tests/components/lc709203f/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/lc709203f/test.rp2040-ard.yaml +++ b/tests/components/lc709203f/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp32-idf.yaml b/tests/components/lcd_gpio/test.esp32-idf.yaml index 9c2af456b5..93abad5e38 100644 --- a/tests/components/lcd_gpio/test.esp32-idf.yaml +++ b/tests/components/lcd_gpio/test.esp32-idf.yaml @@ -3,7 +3,7 @@ substitutions: d1_pin: GPIO13 d2_pin: GPIO14 d3_pin: GPIO15 - enable_pin: GPIO16 + enable_pin: GPIO4 rs_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp8266-ard.yaml b/tests/components/lcd_gpio/test.esp8266-ard.yaml index 9c2af456b5..50471a16f4 100644 --- a/tests/components/lcd_gpio/test.esp8266-ard.yaml +++ b/tests/components/lcd_gpio/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 + d0_pin: GPIO0 + d1_pin: GPIO2 d2_pin: GPIO14 d3_pin: GPIO15 enable_pin: GPIO16 diff --git a/tests/components/lcd_menu/test.esp32-idf.yaml b/tests/components/lcd_menu/test.esp32-idf.yaml index 9c2af456b5..93abad5e38 100644 --- a/tests/components/lcd_menu/test.esp32-idf.yaml +++ b/tests/components/lcd_menu/test.esp32-idf.yaml @@ -3,7 +3,7 @@ substitutions: d1_pin: GPIO13 d2_pin: GPIO14 d3_pin: GPIO15 - enable_pin: GPIO16 + enable_pin: GPIO4 rs_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/lcd_menu/test.esp8266-ard.yaml b/tests/components/lcd_menu/test.esp8266-ard.yaml index 9c2af456b5..50471a16f4 100644 --- a/tests/components/lcd_menu/test.esp8266-ard.yaml +++ b/tests/components/lcd_menu/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 + d0_pin: GPIO0 + d1_pin: GPIO2 d2_pin: GPIO14 d3_pin: GPIO15 enable_pin: GPIO16 diff --git a/tests/components/lcd_pcf8574/common.yaml b/tests/components/lcd_pcf8574/common.yaml index 8b03cf5497..1ec4400332 100644 --- a/tests/components/lcd_pcf8574/common.yaml +++ b/tests/components/lcd_pcf8574/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_lcd_pcf8574 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: lcd_pcf8574 + i2c_id: i2c_bus dimensions: 18x4 address: 0x3F user_characters: diff --git a/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml b/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml +++ b/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp32-idf.yaml b/tests/components/lcd_pcf8574/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/lcd_pcf8574/test.esp32-idf.yaml +++ b/tests/components/lcd_pcf8574/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp8266-ard.yaml b/tests/components/lcd_pcf8574/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/lcd_pcf8574/test.esp8266-ard.yaml +++ b/tests/components/lcd_pcf8574/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.rp2040-ard.yaml b/tests/components/lcd_pcf8574/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/lcd_pcf8574/test.rp2040-ard.yaml +++ b/tests/components/lcd_pcf8574/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2410/common.yaml b/tests/components/ld2410/common.yaml index e975fcf757..7d168bf7ec 100644 --- a/tests/components/ld2410/common.yaml +++ b/tests/components/ld2410/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_ld2410 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - ld2410: id: my_ld2410 diff --git a/tests/components/ld2410/test.esp32-c3-idf.yaml b/tests/components/ld2410/test.esp32-c3-idf.yaml index b516342f3b..7a8f790ed8 100644 --- a/tests/components/ld2410/test.esp32-c3-idf.yaml +++ b/tests/components/ld2410/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ld2410/test.esp32-idf.yaml b/tests/components/ld2410/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/ld2410/test.esp32-idf.yaml +++ b/tests/components/ld2410/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2410/test.esp8266-ard.yaml b/tests/components/ld2410/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2410/test.esp8266-ard.yaml +++ b/tests/components/ld2410/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2410/test.rp2040-ard.yaml b/tests/components/ld2410/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2410/test.rp2040-ard.yaml +++ b/tests/components/ld2410/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ld2412/common.yaml b/tests/components/ld2412/common.yaml index 9176c61fd5..18c4612ffe 100644 --- a/tests/components/ld2412/common.yaml +++ b/tests/components/ld2412/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_ld2412 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - ld2412: id: my_ld2412 @@ -123,13 +117,13 @@ select: on_value: - delay: 3s - lambda: |- - id(uart_ld2412).flush(); + id(uart_bus).flush(); uint32_t new_baud_rate = stoi(x); - ESP_LOGD("change_baud_rate", "Changing baud rate from %i to %i",id(uart_ld2412).get_baud_rate(), new_baud_rate); - if (id(uart_ld2412).get_baud_rate() != new_baud_rate) { - id(uart_ld2412).set_baud_rate(new_baud_rate); + ESP_LOGD("change_baud_rate", "Changing baud rate from %i to %i",id(uart_bus).get_baud_rate(), new_baud_rate); + if (id(uart_bus).get_baud_rate() != new_baud_rate) { + id(uart_bus).set_baud_rate(new_baud_rate); #if defined(USE_ESP8266) || defined(USE_ESP32) - id(uart_ld2412).load_settings(); + id(uart_bus).load_settings(); #endif } diff --git a/tests/components/ld2412/test.esp32-c3-idf.yaml b/tests/components/ld2412/test.esp32-c3-idf.yaml index b516342f3b..7a8f790ed8 100644 --- a/tests/components/ld2412/test.esp32-c3-idf.yaml +++ b/tests/components/ld2412/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ld2412/test.esp32-idf.yaml b/tests/components/ld2412/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/ld2412/test.esp32-idf.yaml +++ b/tests/components/ld2412/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2412/test.esp8266-ard.yaml b/tests/components/ld2412/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2412/test.esp8266-ard.yaml +++ b/tests/components/ld2412/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2412/test.rp2040-ard.yaml b/tests/components/ld2412/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2412/test.rp2040-ard.yaml +++ b/tests/components/ld2412/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ld2420/common.yaml b/tests/components/ld2420/common.yaml index 76748aa8f0..1539df4d1b 100644 --- a/tests/components/ld2420/common.yaml +++ b/tests/components/ld2420/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_ld2420 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - ld2420: id: my_ld2420 diff --git a/tests/components/ld2420/test.esp32-c3-idf.yaml b/tests/components/ld2420/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/ld2420/test.esp32-c3-idf.yaml +++ b/tests/components/ld2420/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2420/test.esp32-idf.yaml b/tests/components/ld2420/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/ld2420/test.esp32-idf.yaml +++ b/tests/components/ld2420/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2420/test.esp8266-ard.yaml b/tests/components/ld2420/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2420/test.esp8266-ard.yaml +++ b/tests/components/ld2420/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2420/test.rp2040-ard.yaml b/tests/components/ld2420/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2420/test.rp2040-ard.yaml +++ b/tests/components/ld2420/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ld2450/common.yaml b/tests/components/ld2450/common.yaml index c18bed46b0..9dcefffd09 100644 --- a/tests/components/ld2450/common.yaml +++ b/tests/components/ld2450/common.yaml @@ -1,14 +1,5 @@ -uart: - - id: ld2450_uart - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 256000 - parity: NONE - stop_bits: 1 - ld2450: - id: ld2450_radar - uart_id: ld2450_uart button: - platform: ld2450 diff --git a/tests/components/ld2450/test.esp32-c3-idf.yaml b/tests/components/ld2450/test.esp32-c3-idf.yaml index b516342f3b..7a8f790ed8 100644 --- a/tests/components/ld2450/test.esp32-c3-idf.yaml +++ b/tests/components/ld2450/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ld2450/test.esp32-idf.yaml b/tests/components/ld2450/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/ld2450/test.esp32-idf.yaml +++ b/tests/components/ld2450/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2450/test.esp8266-ard.yaml b/tests/components/ld2450/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2450/test.esp8266-ard.yaml +++ b/tests/components/ld2450/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2450/test.rp2040-ard.yaml b/tests/components/ld2450/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2450/test.rp2040-ard.yaml +++ b/tests/components/ld2450/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/common.yaml b/tests/components/lilygo_t5_47/common.yaml index f539c58d74..7079139ec7 100644 --- a/tests/components/lilygo_t5_47/common.yaml +++ b/tests/components/lilygo_t5_47/common.yaml @@ -1,20 +1,17 @@ -i2c: - - id: i2c_lilygo_t5_47 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: lilygo_t5_47_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: lilygo_t5_47 + i2c_id: i2c_bus id: lilygo_touchscreen interrupt_pin: ${interrupt_pin} display: ssd1306_display diff --git a/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml b/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml index 061a98ce24..febf38d8e1 100644 --- a/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml +++ b/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp32-idf.yaml b/tests/components/lilygo_t5_47/test.esp32-idf.yaml index 342f0b6d8b..590f6a919c 100644 --- a/tests/components/lilygo_t5_47/test.esp32-idf.yaml +++ b/tests/components/lilygo_t5_47/test.esp32-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp8266-ard.yaml b/tests/components/lilygo_t5_47/test.esp8266-ard.yaml index b446a75f13..3684d5e77b 100644 --- a/tests/components/lilygo_t5_47/test.esp8266-ard.yaml +++ b/tests/components/lilygo_t5_47/test.esp8266-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - interrupt_pin: GPIO12 + interrupt_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.rp2040-ard.yaml b/tests/components/lilygo_t5_47/test.rp2040-ard.yaml index 061a98ce24..2dd70ff33a 100644 --- a/tests/components/lilygo_t5_47/test.rp2040-ard.yaml +++ b/tests/components/lilygo_t5_47/test.rp2040-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lm75b/common.yaml b/tests/components/lm75b/common.yaml index e451c2f679..39c39ed8dc 100644 --- a/tests/components/lm75b/common.yaml +++ b/tests/components/lm75b/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_lm75b - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: lm75b + i2c_id: i2c_bus name: LM75B Temperature update_interval: 30s diff --git a/tests/components/lm75b/test.esp32-c3-idf.yaml b/tests/components/lm75b/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/lm75b/test.esp32-c3-idf.yaml +++ b/tests/components/lm75b/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lm75b/test.esp32-idf.yaml b/tests/components/lm75b/test.esp32-idf.yaml index 43264df633..b47e39c389 100644 --- a/tests/components/lm75b/test.esp32-idf.yaml +++ b/tests/components/lm75b/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO15 - sda_pin: GPIO13 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lm75b/test.esp8266-ard.yaml b/tests/components/lm75b/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/lm75b/test.esp8266-ard.yaml +++ b/tests/components/lm75b/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lm75b/test.rp2040-ard.yaml b/tests/components/lm75b/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/lm75b/test.rp2040-ard.yaml +++ b/tests/components/lm75b/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/lock/common.yaml b/tests/components/lock/common.yaml index 67da46653c..1ee88a239a 100644 --- a/tests/components/lock/common.yaml +++ b/tests/components/lock/common.yaml @@ -27,7 +27,9 @@ lock: id: test_lock1 state: !lambda "return LOCK_STATE_UNLOCKED;" on_lock: - - lock.template.publish: LOCKED + - lock.template.publish: + id: test_lock1 + state: LOCKED - platform: output name: Generic Output Lock id: test_lock2 diff --git a/tests/components/lps22/common.yaml b/tests/components/lps22/common.yaml index e6de4752ba..026b3620cd 100644 --- a/tests/components/lps22/common.yaml +++ b/tests/components/lps22/common.yaml @@ -1,5 +1,6 @@ sensor: - platform: lps22 + i2c_id: i2c_bus address: 0x5d update_interval: 10s temperature: diff --git a/tests/components/lps22/test.esp32-c3-idf.yaml b/tests/components/lps22/test.esp32-c3-idf.yaml index 6091393d31..9990d96d29 100644 --- a/tests/components/lps22/test.esp32-c3-idf.yaml +++ b/tests/components/lps22/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lps22/test.esp32-idf.yaml b/tests/components/lps22/test.esp32-idf.yaml index 0da6a9577e..b47e39c389 100644 --- a/tests/components/lps22/test.esp32-idf.yaml +++ b/tests/components/lps22/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 16 - sda: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lps22/test.esp8266-ard.yaml b/tests/components/lps22/test.esp8266-ard.yaml index 6091393d31..4a98b9388a 100644 --- a/tests/components/lps22/test.esp8266-ard.yaml +++ b/tests/components/lps22/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lps22/test.rp2040-ard.yaml b/tests/components/lps22/test.rp2040-ard.yaml index 6091393d31..319a7c71a6 100644 --- a/tests/components/lps22/test.rp2040-ard.yaml +++ b/tests/components/lps22/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/common.yaml b/tests/components/ltr390/common.yaml index e5e331e7ba..c168da557b 100644 --- a/tests/components/ltr390/common.yaml +++ b/tests/components/ltr390/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ltr390 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ltr390 + i2c_id: i2c_bus uv: name: LTR390 UV 1 uv_index: @@ -19,6 +15,7 @@ sensor: address: 0x53 update_interval: 60s - platform: ltr390 + i2c_id: i2c_bus uv: name: LTR390 UV 2 uv_index: diff --git a/tests/components/ltr390/test.esp32-c3-idf.yaml b/tests/components/ltr390/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ltr390/test.esp32-c3-idf.yaml +++ b/tests/components/ltr390/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/test.esp32-idf.yaml b/tests/components/ltr390/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ltr390/test.esp32-idf.yaml +++ b/tests/components/ltr390/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/test.esp8266-ard.yaml b/tests/components/ltr390/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ltr390/test.esp8266-ard.yaml +++ b/tests/components/ltr390/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/test.rp2040-ard.yaml b/tests/components/ltr390/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ltr390/test.rp2040-ard.yaml +++ b/tests/components/ltr390/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/common.yaml b/tests/components/ltr501/common.yaml index b7074f52f2..77c6f13739 100644 --- a/tests/components/ltr501/common.yaml +++ b/tests/components/ltr501/common.yaml @@ -1,7 +1,6 @@ sensor: - platform: ltr501 address: 0x23 - i2c_id: i2c_ltr501 type: ALS_PS gain: 1X integration_time: 100ms diff --git a/tests/components/ltr501/test.esp32-c3-idf.yaml b/tests/components/ltr501/test.esp32-c3-idf.yaml index 9e7de2768d..72703301a1 100644 --- a/tests/components/ltr501/test.esp32-c3-idf.yaml +++ b/tests/components/ltr501/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/test.esp32-idf.yaml b/tests/components/ltr501/test.esp32-idf.yaml index 4c710c74fe..7a5d01898a 100644 --- a/tests/components/ltr501/test.esp32-idf.yaml +++ b/tests/components/ltr501/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 16 - sda: 17 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/test.esp8266-ard.yaml b/tests/components/ltr501/test.esp8266-ard.yaml index 9e7de2768d..9e23bb3778 100644 --- a/tests/components/ltr501/test.esp8266-ard.yaml +++ b/tests/components/ltr501/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/test.rp2040-ard.yaml b/tests/components/ltr501/test.rp2040-ard.yaml index 9e7de2768d..a7eb30036f 100644 --- a/tests/components/ltr501/test.rp2040-ard.yaml +++ b/tests/components/ltr501/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/common.yaml b/tests/components/ltr_als_ps/common.yaml index aa5c8abed7..edad4b2e4f 100644 --- a/tests/components/ltr_als_ps/common.yaml +++ b/tests/components/ltr_als_ps/common.yaml @@ -1,7 +1,6 @@ sensor: - platform: ltr_als_ps address: 0x23 - i2c_id: i2c_als_ps gain: 1x integration_time: 100ms ps_cooldown: 5 s diff --git a/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml b/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml index d64d70f018..72703301a1 100644 --- a/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml +++ b/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp32-idf.yaml b/tests/components/ltr_als_ps/test.esp32-idf.yaml index 2349292a64..7a5d01898a 100644 --- a/tests/components/ltr_als_ps/test.esp32-idf.yaml +++ b/tests/components/ltr_als_ps/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 16 - sda: 17 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp8266-ard.yaml b/tests/components/ltr_als_ps/test.esp8266-ard.yaml index d64d70f018..9e23bb3778 100644 --- a/tests/components/ltr_als_ps/test.esp8266-ard.yaml +++ b/tests/components/ltr_als_ps/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.rp2040-ard.yaml b/tests/components/ltr_als_ps/test.rp2040-ard.yaml index d64d70f018..a7eb30036f 100644 --- a/tests/components/ltr_als_ps/test.rp2040-ard.yaml +++ b/tests/components/ltr_als_ps/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/lvgl/common.yaml b/tests/components/lvgl/common.yaml index a035900386..d9b7013a1e 100644 --- a/tests/components/lvgl/common.yaml +++ b/tests/components/lvgl/common.yaml @@ -1,5 +1,6 @@ touchscreen: - platform: ft63x6 + i2c_id: i2c_bus id: tft_touch display: tft_display update_interval: 50ms diff --git a/tests/components/lvgl/test.esp32-idf.yaml b/tests/components/lvgl/test.esp32-idf.yaml index eacace1d4b..6170b0f4fb 100644 --- a/tests/components/lvgl/test.esp32-idf.yaml +++ b/tests/components/lvgl/test.esp32-idf.yaml @@ -1,10 +1,7 @@ -spi: - clk_pin: 14 - mosi_pin: 13 - -i2c: - sda: GPIO18 - scl: GPIO19 +packages: + lvgl: !include lvgl-package.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml sensor: - platform: rotary_encoder @@ -25,6 +22,7 @@ binary_sensor: display: - platform: ili9xxx + spi_id: spi_bus model: st7789v id: second_display dimensions: @@ -44,6 +42,7 @@ display: update_interval: never - platform: ili9xxx + spi_id: spi_bus model: st7789v id: tft_display dimensions: @@ -60,9 +59,6 @@ display: invert_colors: false update_interval: never -packages: - lvgl: !include lvgl-package.yaml - lvgl: displays: - tft_display diff --git a/tests/components/m5stack_8angle/common.yaml b/tests/components/m5stack_8angle/common.yaml index d7f988ed3a..d0af24116c 100644 --- a/tests/components/m5stack_8angle/common.yaml +++ b/tests/components/m5stack_8angle/common.yaml @@ -1,10 +1,5 @@ -i2c: - sda: 0 - scl: 1 - id: bus_external - m5stack_8angle: - i2c_id: bus_external + i2c_id: i2c_bus id: m5stack_8angle_base light: diff --git a/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml b/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml +++ b/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp32-idf.yaml b/tests/components/m5stack_8angle/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/m5stack_8angle/test.esp32-idf.yaml +++ b/tests/components/m5stack_8angle/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp8266-ard.yaml b/tests/components/m5stack_8angle/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/m5stack_8angle/test.esp8266-ard.yaml +++ b/tests/components/m5stack_8angle/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.rp2040-ard.yaml b/tests/components/m5stack_8angle/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/m5stack_8angle/test.rp2040-ard.yaml +++ b/tests/components/m5stack_8angle/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mapping/test.esp32-c3-idf.yaml b/tests/components/mapping/test.esp32-c3-idf.yaml index f95dd4f30d..7911eb7edc 100644 --- a/tests/components/mapping/test.esp32-c3-idf.yaml +++ b/tests/components/mapping/test.esp32-c3-idf.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 9 reset_pin: 10 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/mapping/test.esp32-idf.yaml b/tests/components/mapping/test.esp32-idf.yaml index 231fdae797..a35b6940c7 100644 --- a/tests/components/mapping/test.esp32-idf.yaml +++ b/tests/components/mapping/test.esp32-idf.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 13 reset_pin: 21 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/mapping/test.esp8266-ard.yaml b/tests/components/mapping/test.esp8266-ard.yaml index a5b45d391a..c59821a211 100644 --- a/tests/components/mapping/test.esp8266-ard.yaml +++ b/tests/components/mapping/test.esp8266-ard.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 15 reset_pin: 16 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/mapping/test.rp2040-ard.yaml b/tests/components/mapping/test.rp2040-ard.yaml index f092686553..acc305a701 100644 --- a/tests/components/mapping/test.rp2040-ard.yaml +++ b/tests/components/mapping/test.rp2040-ard.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 2 - mosi_pin: 3 - miso_pin: 4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 21 reset_pin: 22 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/max17043/common.yaml b/tests/components/max17043/common.yaml index c2f324212e..f58006c460 100644 --- a/tests/components/max17043/common.yaml +++ b/tests/components/max17043/common.yaml @@ -3,15 +3,10 @@ esphome: then: - max17043.sleep_mode: max17043_id -i2c: - - id: i2c_id - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: max17043 + i2c_id: i2c_bus id: max17043_id - i2c_id: i2c_id battery_voltage: name: "Battery Voltage" battery_level: diff --git a/tests/components/max17043/test.esp32-c3-idf.yaml b/tests/components/max17043/test.esp32-c3-idf.yaml index 9a1477d4b9..9990d96d29 100644 --- a/tests/components/max17043/test.esp32-c3-idf.yaml +++ b/tests/components/max17043/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO8 - scl_pin: GPIO10 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max17043/test.esp32-idf.yaml b/tests/components/max17043/test.esp32-idf.yaml index c6615f51cd..b47e39c389 100644 --- a/tests/components/max17043/test.esp32-idf.yaml +++ b/tests/components/max17043/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO21 - scl_pin: GPIO22 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max17043/test.esp8266-ard.yaml b/tests/components/max17043/test.esp8266-ard.yaml index a87353b78b..4a98b9388a 100644 --- a/tests/components/max17043/test.esp8266-ard.yaml +++ b/tests/components/max17043/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max17043/test.rp2040-ard.yaml b/tests/components/max17043/test.rp2040-ard.yaml index c6615f51cd..319a7c71a6 100644 --- a/tests/components/max17043/test.rp2040-ard.yaml +++ b/tests/components/max17043/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO21 - scl_pin: GPIO22 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/max31855/common.yaml b/tests/components/max31855/common.yaml index 7136c597d5..905b111d71 100644 --- a/tests/components/max31855/common.yaml +++ b/tests/components/max31855/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max31855 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max31855 name: MAX31855 Temperature diff --git a/tests/components/max31855/test.esp32-c3-idf.yaml b/tests/components/max31855/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max31855/test.esp32-c3-idf.yaml +++ b/tests/components/max31855/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max31855/test.esp32-idf.yaml b/tests/components/max31855/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max31855/test.esp32-idf.yaml +++ b/tests/components/max31855/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max31855/test.esp8266-ard.yaml b/tests/components/max31855/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max31855/test.esp8266-ard.yaml +++ b/tests/components/max31855/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31855/test.rp2040-ard.yaml b/tests/components/max31855/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max31855/test.rp2040-ard.yaml +++ b/tests/components/max31855/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31856/common.yaml b/tests/components/max31856/common.yaml index 4f7c3ad408..9d420662d7 100644 --- a/tests/components/max31856/common.yaml +++ b/tests/components/max31856/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max31856 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max31856 name: MAX31856 Temperature diff --git a/tests/components/max31856/test.esp32-c3-idf.yaml b/tests/components/max31856/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max31856/test.esp32-c3-idf.yaml +++ b/tests/components/max31856/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max31856/test.esp32-idf.yaml b/tests/components/max31856/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max31856/test.esp32-idf.yaml +++ b/tests/components/max31856/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max31856/test.esp8266-ard.yaml b/tests/components/max31856/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max31856/test.esp8266-ard.yaml +++ b/tests/components/max31856/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31856/test.rp2040-ard.yaml b/tests/components/max31856/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max31856/test.rp2040-ard.yaml +++ b/tests/components/max31856/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31865/common.yaml b/tests/components/max31865/common.yaml index 5bb7bda5aa..6e71f17efc 100644 --- a/tests/components/max31865/common.yaml +++ b/tests/components/max31865/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max31865 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max31865 name: MAX31865 Temperature diff --git a/tests/components/max31865/test.esp32-c3-idf.yaml b/tests/components/max31865/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max31865/test.esp32-c3-idf.yaml +++ b/tests/components/max31865/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max31865/test.esp32-idf.yaml b/tests/components/max31865/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max31865/test.esp32-idf.yaml +++ b/tests/components/max31865/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max31865/test.esp8266-ard.yaml b/tests/components/max31865/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max31865/test.esp8266-ard.yaml +++ b/tests/components/max31865/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31865/test.rp2040-ard.yaml b/tests/components/max31865/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max31865/test.rp2040-ard.yaml +++ b/tests/components/max31865/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max44009/common.yaml b/tests/components/max44009/common.yaml index ef51740895..523387e1cc 100644 --- a/tests/components/max44009/common.yaml +++ b/tests/components/max44009/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_max44009 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: max44009 + i2c_id: i2c_bus name: MAX44009 Brightness internal: true mode: low_power diff --git a/tests/components/max44009/test.esp32-c3-idf.yaml b/tests/components/max44009/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/max44009/test.esp32-c3-idf.yaml +++ b/tests/components/max44009/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max44009/test.esp32-idf.yaml b/tests/components/max44009/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/max44009/test.esp32-idf.yaml +++ b/tests/components/max44009/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max44009/test.esp8266-ard.yaml b/tests/components/max44009/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/max44009/test.esp8266-ard.yaml +++ b/tests/components/max44009/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max44009/test.rp2040-ard.yaml b/tests/components/max44009/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/max44009/test.rp2040-ard.yaml +++ b/tests/components/max44009/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/max6675/common.yaml b/tests/components/max6675/common.yaml index 5b4e04b317..31a4e7035a 100644 --- a/tests/components/max6675/common.yaml +++ b/tests/components/max6675/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max6675 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max6675 name: Temperature diff --git a/tests/components/max6675/test.esp32-c3-idf.yaml b/tests/components/max6675/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max6675/test.esp32-c3-idf.yaml +++ b/tests/components/max6675/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max6675/test.esp32-idf.yaml b/tests/components/max6675/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max6675/test.esp32-idf.yaml +++ b/tests/components/max6675/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max6675/test.esp8266-ard.yaml b/tests/components/max6675/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max6675/test.esp8266-ard.yaml +++ b/tests/components/max6675/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max6675/test.rp2040-ard.yaml b/tests/components/max6675/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max6675/test.rp2040-ard.yaml +++ b/tests/components/max6675/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max6956/common.yaml b/tests/components/max6956/common.yaml index e44e3464f8..665a606027 100644 --- a/tests/components/max6956/common.yaml +++ b/tests/components/max6956/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_max6956 - scl: ${scl_pin} - sda: ${sda_pin} - max6956: - id: max6956_1 + i2c_id: i2c_bus address: 0x40 binary_sensor: diff --git a/tests/components/max6956/test.esp32-c3-idf.yaml b/tests/components/max6956/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/max6956/test.esp32-c3-idf.yaml +++ b/tests/components/max6956/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max6956/test.esp32-idf.yaml b/tests/components/max6956/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/max6956/test.esp32-idf.yaml +++ b/tests/components/max6956/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max6956/test.esp8266-ard.yaml b/tests/components/max6956/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/max6956/test.esp8266-ard.yaml +++ b/tests/components/max6956/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max6956/test.rp2040-ard.yaml b/tests/components/max6956/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/max6956/test.rp2040-ard.yaml +++ b/tests/components/max6956/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/max7219/common.yaml b/tests/components/max7219/common.yaml index 0060db191e..5d7f54af17 100644 --- a/tests/components/max7219/common.yaml +++ b/tests/components/max7219/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max6675 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: max7219 cs_pin: ${cs_pin} diff --git a/tests/components/max7219/test.esp32-c3-idf.yaml b/tests/components/max7219/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max7219/test.esp32-c3-idf.yaml +++ b/tests/components/max7219/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max7219/test.esp32-idf.yaml b/tests/components/max7219/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max7219/test.esp32-idf.yaml +++ b/tests/components/max7219/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max7219/test.esp8266-ard.yaml b/tests/components/max7219/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max7219/test.esp8266-ard.yaml +++ b/tests/components/max7219/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max7219/test.rp2040-ard.yaml b/tests/components/max7219/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max7219/test.rp2040-ard.yaml +++ b/tests/components/max7219/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max7219digit/common.yaml b/tests/components/max7219digit/common.yaml index 84edc7eb3d..525b7b8d3e 100644 --- a/tests/components/max7219digit/common.yaml +++ b/tests/components/max7219digit/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max7219digit - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: max7219digit cs_pin: ${cs_pin} diff --git a/tests/components/max7219digit/test.esp32-c3-idf.yaml b/tests/components/max7219digit/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max7219digit/test.esp32-c3-idf.yaml +++ b/tests/components/max7219digit/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp32-idf.yaml b/tests/components/max7219digit/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max7219digit/test.esp32-idf.yaml +++ b/tests/components/max7219digit/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp8266-ard.yaml b/tests/components/max7219digit/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max7219digit/test.esp8266-ard.yaml +++ b/tests/components/max7219digit/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max7219digit/test.rp2040-ard.yaml b/tests/components/max7219digit/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max7219digit/test.rp2040-ard.yaml +++ b/tests/components/max7219digit/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max9611/common.yaml b/tests/components/max9611/common.yaml index c3c00fdf85..ca9ee59038 100644 --- a/tests/components/max9611/common.yaml +++ b/tests/components/max9611/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_max9611 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: max9611 + i2c_id: i2c_bus shunt_resistance: 0.2 ohm gain: 1X voltage: diff --git a/tests/components/max9611/test.esp32-c3-idf.yaml b/tests/components/max9611/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/max9611/test.esp32-c3-idf.yaml +++ b/tests/components/max9611/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max9611/test.esp32-idf.yaml b/tests/components/max9611/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/max9611/test.esp32-idf.yaml +++ b/tests/components/max9611/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max9611/test.esp8266-ard.yaml b/tests/components/max9611/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/max9611/test.esp8266-ard.yaml +++ b/tests/components/max9611/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max9611/test.rp2040-ard.yaml b/tests/components/max9611/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/max9611/test.rp2040-ard.yaml +++ b/tests/components/max9611/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/common.yaml b/tests/components/mcp23008/common.yaml index 1954766d25..4a407adfd8 100644 --- a/tests/components/mcp23008/common.yaml +++ b/tests/components/mcp23008/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mcp23008 - scl: ${scl_pin} - sda: ${sda_pin} - mcp23008: + i2c_id: i2c_bus id: mcp23008_hub binary_sensor: diff --git a/tests/components/mcp23008/test.esp32-c3-idf.yaml b/tests/components/mcp23008/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp23008/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23008/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp32-idf.yaml b/tests/components/mcp23008/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp23008/test.esp32-idf.yaml +++ b/tests/components/mcp23008/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp8266-ard.yaml b/tests/components/mcp23008/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp23008/test.esp8266-ard.yaml +++ b/tests/components/mcp23008/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/test.rp2040-ard.yaml b/tests/components/mcp23008/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp23008/test.rp2040-ard.yaml +++ b/tests/components/mcp23008/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/common.yaml b/tests/components/mcp23016/common.yaml index 109cb34b21..e8e3ad9d08 100644 --- a/tests/components/mcp23016/common.yaml +++ b/tests/components/mcp23016/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mcp23016 - scl: ${scl_pin} - sda: ${sda_pin} - mcp23016: + i2c_id: i2c_bus id: mcp23016_hub binary_sensor: diff --git a/tests/components/mcp23016/test.esp32-c3-idf.yaml b/tests/components/mcp23016/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp23016/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23016/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp32-idf.yaml b/tests/components/mcp23016/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp23016/test.esp32-idf.yaml +++ b/tests/components/mcp23016/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp8266-ard.yaml b/tests/components/mcp23016/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp23016/test.esp8266-ard.yaml +++ b/tests/components/mcp23016/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/test.rp2040-ard.yaml b/tests/components/mcp23016/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp23016/test.rp2040-ard.yaml +++ b/tests/components/mcp23016/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/common.yaml b/tests/components/mcp23017/common.yaml index 74949bba76..54a97e911f 100644 --- a/tests/components/mcp23017/common.yaml +++ b/tests/components/mcp23017/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mcp23017 - scl: ${scl_pin} - sda: ${sda_pin} - mcp23017: + i2c_id: i2c_bus id: mcp23017_hub binary_sensor: diff --git a/tests/components/mcp23017/test.esp32-c3-idf.yaml b/tests/components/mcp23017/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp23017/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23017/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp32-idf.yaml b/tests/components/mcp23017/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp23017/test.esp32-idf.yaml +++ b/tests/components/mcp23017/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp8266-ard.yaml b/tests/components/mcp23017/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp23017/test.esp8266-ard.yaml +++ b/tests/components/mcp23017/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/test.rp2040-ard.yaml b/tests/components/mcp23017/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp23017/test.rp2040-ard.yaml +++ b/tests/components/mcp23017/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23s08/common.yaml b/tests/components/mcp23s08/common.yaml index b89088fe15..2170ae0459 100644 --- a/tests/components/mcp23s08/common.yaml +++ b/tests/components/mcp23s08/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp23s08 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp23s08: - id: mcp23s08_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp23s08/test.esp32-c3-idf.yaml b/tests/components/mcp23s08/test.esp32-c3-idf.yaml index 2415ba5dc6..b11ec9cdc6 100644 --- a/tests/components/mcp23s08/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23s08/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp32-idf.yaml b/tests/components/mcp23s08/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp23s08/test.esp32-idf.yaml +++ b/tests/components/mcp23s08/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp8266-ard.yaml b/tests/components/mcp23s08/test.esp8266-ard.yaml index dbd158d030..595f31046a 100644 --- a/tests/components/mcp23s08/test.esp8266-ard.yaml +++ b/tests/components/mcp23s08/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s08/test.rp2040-ard.yaml b/tests/components/mcp23s08/test.rp2040-ard.yaml index f6c3f1eeca..79ea6ce90b 100644 --- a/tests/components/mcp23s08/test.rp2040-ard.yaml +++ b/tests/components/mcp23s08/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/common.yaml b/tests/components/mcp23s17/common.yaml index 3fb27ef625..a89beeb16b 100644 --- a/tests/components/mcp23s17/common.yaml +++ b/tests/components/mcp23s17/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp23s17 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp23s17: - id: mcp23s17_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp23s17/test.esp32-c3-idf.yaml b/tests/components/mcp23s17/test.esp32-c3-idf.yaml index 2415ba5dc6..b11ec9cdc6 100644 --- a/tests/components/mcp23s17/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23s17/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp32-idf.yaml b/tests/components/mcp23s17/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp23s17/test.esp32-idf.yaml +++ b/tests/components/mcp23s17/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp8266-ard.yaml b/tests/components/mcp23s17/test.esp8266-ard.yaml index dbd158d030..595f31046a 100644 --- a/tests/components/mcp23s17/test.esp8266-ard.yaml +++ b/tests/components/mcp23s17/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/test.rp2040-ard.yaml b/tests/components/mcp23s17/test.rp2040-ard.yaml index f6c3f1eeca..79ea6ce90b 100644 --- a/tests/components/mcp23s17/test.rp2040-ard.yaml +++ b/tests/components/mcp23s17/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp2515/common.yaml b/tests/components/mcp2515/common.yaml index 96a72a3ec3..15639df5fe 100644 --- a/tests/components/mcp2515/common.yaml +++ b/tests/components/mcp2515/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp2515 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - canbus: - platform: mcp2515 id: mcp2515_can diff --git a/tests/components/mcp2515/test.esp32-c3-idf.yaml b/tests/components/mcp2515/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/mcp2515/test.esp32-c3-idf.yaml +++ b/tests/components/mcp2515/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp32-idf.yaml b/tests/components/mcp2515/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp2515/test.esp32-idf.yaml +++ b/tests/components/mcp2515/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp8266-ard.yaml b/tests/components/mcp2515/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/mcp2515/test.esp8266-ard.yaml +++ b/tests/components/mcp2515/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp2515/test.rp2040-ard.yaml b/tests/components/mcp2515/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/mcp2515/test.rp2040-ard.yaml +++ b/tests/components/mcp2515/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3008/common.yaml b/tests/components/mcp3008/common.yaml index 646d3a20e9..57d0155f73 100644 --- a/tests/components/mcp3008/common.yaml +++ b/tests/components/mcp3008/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp3008 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp3008: - id: mcp3008_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp3008/test.esp32-c3-idf.yaml b/tests/components/mcp3008/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/mcp3008/test.esp32-c3-idf.yaml +++ b/tests/components/mcp3008/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp32-idf.yaml b/tests/components/mcp3008/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp3008/test.esp32-idf.yaml +++ b/tests/components/mcp3008/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp8266-ard.yaml b/tests/components/mcp3008/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/mcp3008/test.esp8266-ard.yaml +++ b/tests/components/mcp3008/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3008/test.rp2040-ard.yaml b/tests/components/mcp3008/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/mcp3008/test.rp2040-ard.yaml +++ b/tests/components/mcp3008/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3204/common.yaml b/tests/components/mcp3204/common.yaml index f102500c81..eca6ec44f4 100644 --- a/tests/components/mcp3204/common.yaml +++ b/tests/components/mcp3204/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp3204 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp3204: - id: mcp3204_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp3204/test.esp32-c3-idf.yaml b/tests/components/mcp3204/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/mcp3204/test.esp32-c3-idf.yaml +++ b/tests/components/mcp3204/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp32-idf.yaml b/tests/components/mcp3204/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp3204/test.esp32-idf.yaml +++ b/tests/components/mcp3204/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp8266-ard.yaml b/tests/components/mcp3204/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/mcp3204/test.esp8266-ard.yaml +++ b/tests/components/mcp3204/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3204/test.rp2040-ard.yaml b/tests/components/mcp3204/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/mcp3204/test.rp2040-ard.yaml +++ b/tests/components/mcp3204/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp4461/common.yaml b/tests/components/mcp4461/common.yaml index ce1866fdb8..92fd789dcb 100644 --- a/tests/components/mcp4461/common.yaml +++ b/tests/components/mcp4461/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mcp4461 - sda: ${sda_pin} - scl: ${scl_pin} - mcp4461: - id: mcp4461_digipot_01 + i2c_id: i2c_bus output: - platform: mcp4461 diff --git a/tests/components/mcp4461/test.esp32-c3-idf.yaml b/tests/components/mcp4461/test.esp32-c3-idf.yaml index a87353b78b..9990d96d29 100644 --- a/tests/components/mcp4461/test.esp32-c3-idf.yaml +++ b/tests/components/mcp4461/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp32-idf.yaml b/tests/components/mcp4461/test.esp32-idf.yaml index c5deb7ca0a..b47e39c389 100644 --- a/tests/components/mcp4461/test.esp32-idf.yaml +++ b/tests/components/mcp4461/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO16 - scl_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp8266-ard.yaml b/tests/components/mcp4461/test.esp8266-ard.yaml index a87353b78b..4a98b9388a 100644 --- a/tests/components/mcp4461/test.esp8266-ard.yaml +++ b/tests/components/mcp4461/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/common.yaml b/tests/components/mcp4725/common.yaml index 0ccc649f2e..871c2805a3 100644 --- a/tests/components/mcp4725/common.yaml +++ b/tests/components/mcp4725/common.yaml @@ -1,8 +1,3 @@ -i2c: - - id: i2c_mcp4725 - scl: ${scl_pin} - sda: ${sda_pin} - output: - platform: mcp4725 id: mcp4725_dac_output diff --git a/tests/components/mcp4725/test.esp32-c3-idf.yaml b/tests/components/mcp4725/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp4725/test.esp32-c3-idf.yaml +++ b/tests/components/mcp4725/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp32-idf.yaml b/tests/components/mcp4725/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp4725/test.esp32-idf.yaml +++ b/tests/components/mcp4725/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp8266-ard.yaml b/tests/components/mcp4725/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp4725/test.esp8266-ard.yaml +++ b/tests/components/mcp4725/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/test.rp2040-ard.yaml b/tests/components/mcp4725/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp4725/test.rp2040-ard.yaml +++ b/tests/components/mcp4725/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/common.yaml b/tests/components/mcp4728/common.yaml index b42818e4e6..e60f4795e1 100644 --- a/tests/components/mcp4728/common.yaml +++ b/tests/components/mcp4728/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mcp4728 - scl: ${scl_pin} - sda: ${sda_pin} - mcp4728: - id: mcp4728_dac + i2c_id: i2c_bus output: - platform: mcp4728 diff --git a/tests/components/mcp4728/test.esp32-c3-idf.yaml b/tests/components/mcp4728/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp4728/test.esp32-c3-idf.yaml +++ b/tests/components/mcp4728/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp32-idf.yaml b/tests/components/mcp4728/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp4728/test.esp32-idf.yaml +++ b/tests/components/mcp4728/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp8266-ard.yaml b/tests/components/mcp4728/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp4728/test.esp8266-ard.yaml +++ b/tests/components/mcp4728/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/test.rp2040-ard.yaml b/tests/components/mcp4728/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp4728/test.rp2040-ard.yaml +++ b/tests/components/mcp4728/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/common.yaml b/tests/components/mcp47a1/common.yaml index 59e28d37b3..3448fcfb31 100644 --- a/tests/components/mcp47a1/common.yaml +++ b/tests/components/mcp47a1/common.yaml @@ -1,8 +1,3 @@ -i2c: - - id: i2c_mcp47a1 - scl: ${scl_pin} - sda: ${sda_pin} - output: - platform: mcp47a1 id: output_mcp47a1 diff --git a/tests/components/mcp47a1/test.esp32-c3-idf.yaml b/tests/components/mcp47a1/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp47a1/test.esp32-c3-idf.yaml +++ b/tests/components/mcp47a1/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp32-idf.yaml b/tests/components/mcp47a1/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp47a1/test.esp32-idf.yaml +++ b/tests/components/mcp47a1/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp8266-ard.yaml b/tests/components/mcp47a1/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp47a1/test.esp8266-ard.yaml +++ b/tests/components/mcp47a1/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/test.rp2040-ard.yaml b/tests/components/mcp47a1/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp47a1/test.rp2040-ard.yaml +++ b/tests/components/mcp47a1/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/common.yaml b/tests/components/mcp9600/common.yaml index e3c9df79e4..33e33d183e 100644 --- a/tests/components/mcp9600/common.yaml +++ b/tests/components/mcp9600/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mcp9600 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mcp9600 + i2c_id: i2c_bus thermocouple_type: K hot_junction: name: Thermocouple Temperature diff --git a/tests/components/mcp9600/test.esp32-c3-idf.yaml b/tests/components/mcp9600/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp9600/test.esp32-c3-idf.yaml +++ b/tests/components/mcp9600/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp32-idf.yaml b/tests/components/mcp9600/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp9600/test.esp32-idf.yaml +++ b/tests/components/mcp9600/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp8266-ard.yaml b/tests/components/mcp9600/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp9600/test.esp8266-ard.yaml +++ b/tests/components/mcp9600/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/test.rp2040-ard.yaml b/tests/components/mcp9600/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp9600/test.rp2040-ard.yaml +++ b/tests/components/mcp9600/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/common.yaml b/tests/components/mcp9808/common.yaml index ccfd5d13ce..86d0661552 100644 --- a/tests/components/mcp9808/common.yaml +++ b/tests/components/mcp9808/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_mcp9808 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mcp9808 + i2c_id: i2c_bus name: MCP9808 Temperature diff --git a/tests/components/mcp9808/test.esp32-c3-idf.yaml b/tests/components/mcp9808/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp9808/test.esp32-c3-idf.yaml +++ b/tests/components/mcp9808/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp32-idf.yaml b/tests/components/mcp9808/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp9808/test.esp32-idf.yaml +++ b/tests/components/mcp9808/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp8266-ard.yaml b/tests/components/mcp9808/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp9808/test.esp8266-ard.yaml +++ b/tests/components/mcp9808/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/test.rp2040-ard.yaml b/tests/components/mcp9808/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp9808/test.rp2040-ard.yaml +++ b/tests/components/mcp9808/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/common.yaml b/tests/components/mhz19/common.yaml index 8b7e732068..94989fecbe 100644 --- a/tests/components/mhz19/common.yaml +++ b/tests/components/mhz19/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_mhz19 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: mhz19 co2: diff --git a/tests/components/mhz19/test.esp32-c3-idf.yaml b/tests/components/mhz19/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/mhz19/test.esp32-c3-idf.yaml +++ b/tests/components/mhz19/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/test.esp32-idf.yaml b/tests/components/mhz19/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/mhz19/test.esp32-idf.yaml +++ b/tests/components/mhz19/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/test.esp8266-ard.yaml b/tests/components/mhz19/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/mhz19/test.esp8266-ard.yaml +++ b/tests/components/mhz19/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/test.rp2040-ard.yaml b/tests/components/mhz19/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/mhz19/test.rp2040-ard.yaml +++ b/tests/components/mhz19/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/micronova/common.yaml b/tests/components/micronova/common.yaml index 661c9330c6..3cf8e36fb6 100644 --- a/tests/components/micronova/common.yaml +++ b/tests/components/micronova/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_micronova - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - micronova: enable_rx_pin: ${enable_rx_pin} diff --git a/tests/components/micronova/test.esp32-c3-idf.yaml b/tests/components/micronova/test.esp32-c3-idf.yaml index 993071999f..eed876ae74 100644 --- a/tests/components/micronova/test.esp32-c3-idf.yaml +++ b/tests/components/micronova/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 enable_rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/micronova/test.esp32-idf.yaml b/tests/components/micronova/test.esp32-idf.yaml index 35d041e047..5cc3a234ca 100644 --- a/tests/components/micronova/test.esp32-idf.yaml +++ b/tests/components/micronova/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 enable_rx_pin: GPIO13 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/micronova/test.esp8266-ard.yaml b/tests/components/micronova/test.esp8266-ard.yaml index 048fb82d72..ffe1e0a063 100644 --- a/tests/components/micronova/test.esp8266-ard.yaml +++ b/tests/components/micronova/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - enable_rx_pin: GPIO13 + enable_rx_pin: GPIO15 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/micronova/test.rp2040-ard.yaml b/tests/components/micronova/test.rp2040-ard.yaml index 993071999f..6dc030e6b6 100644 --- a/tests/components/micronova/test.rp2040-ard.yaml +++ b/tests/components/micronova/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 enable_rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/microphone/test.esp32-idf.yaml b/tests/components/microphone/test.esp32-idf.yaml index fe9feb9888..830f0156d7 100644 --- a/tests/components/microphone/test.esp32-idf.yaml +++ b/tests/components/microphone/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 + i2s_lrclk_pin: GPIO4 + i2s_mclk_pin: GPIO5 i2s_din_pin: GPIO33 i2s_audio: diff --git a/tests/components/mics_4514/common.yaml b/tests/components/mics_4514/common.yaml index 0bc3f3e654..3c1d264680 100644 --- a/tests/components/mics_4514/common.yaml +++ b/tests/components/mics_4514/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mics_4514 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mics_4514 + i2c_id: i2c_bus update_interval: 60s nitrogen_dioxide: name: MICS-4514 NO2 diff --git a/tests/components/mics_4514/test.esp32-c3-idf.yaml b/tests/components/mics_4514/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mics_4514/test.esp32-c3-idf.yaml +++ b/tests/components/mics_4514/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp32-idf.yaml b/tests/components/mics_4514/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mics_4514/test.esp32-idf.yaml +++ b/tests/components/mics_4514/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp8266-ard.yaml b/tests/components/mics_4514/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mics_4514/test.esp8266-ard.yaml +++ b/tests/components/mics_4514/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mics_4514/test.rp2040-ard.yaml b/tests/components/mics_4514/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mics_4514/test.rp2040-ard.yaml +++ b/tests/components/mics_4514/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/midea/common.yaml b/tests/components/midea/common.yaml index 07385e29a1..a0909401ff 100644 --- a/tests/components/midea/common.yaml +++ b/tests/components/midea/common.yaml @@ -6,12 +6,6 @@ remote_transmitter: pin: ${pin} carrier_duty_percent: 50% -uart: - - id: uart_midea - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - climate: - platform: midea id: midea_unit diff --git a/tests/components/midea/test.esp32-ard.yaml b/tests/components/midea/test.esp32-ard.yaml index 7f55d6a52d..b78163199a 100644 --- a/tests/components/midea/test.esp32-ard.yaml +++ b/tests/components/midea/test.esp32-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 pin: GPIO2 +packages: + uart: !include ../../test_build_components/common/uart/esp32-ard.yaml + <<: !include common.yaml diff --git a/tests/components/midea/test.esp8266-ard.yaml b/tests/components/midea/test.esp8266-ard.yaml index 4f50bd7e5e..dc276e274c 100644 --- a/tests/components/midea/test.esp8266-ard.yaml +++ b/tests/components/midea/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mipi_dsi/test.esp32-p4-idf.yaml b/tests/components/mipi_dsi/test.esp32-p4-idf.yaml index 9c4eb07d9b..770b11d089 100644 --- a/tests/components/mipi_dsi/test.esp32-p4-idf.yaml +++ b/tests/components/mipi_dsi/test.esp32-p4-idf.yaml @@ -1,3 +1,6 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-p4-idf.yaml + esp_ldo: - id: ldo_id channel: 3 @@ -13,9 +16,3 @@ display: #id: backlight_id psram: - -i2c: - sda: GPIO7 - scl: GPIO8 - scan: true - frequency: 400kHz diff --git a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml index 8d0e20d6f5..29f833c235 100644 --- a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml +++ b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml @@ -1,16 +1,12 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + psram: mode: octal -spi: - - clk_pin: - number: 47 - allow_other_uses: true - mosi_pin: - number: 41 - allow_other_uses: true - display: - platform: mipi_rgb + spi_id: spi_bus model: ZX2D10GE01R-V4848 update_interval: 1s color_order: BGR diff --git a/tests/components/mipi_spi/common.yaml b/tests/components/mipi_spi/common.yaml index 2c84489ec7..03f807f53c 100644 --- a/tests/components/mipi_spi/common.yaml +++ b/tests/components/mipi_spi/common.yaml @@ -1,11 +1,3 @@ -spi: - - id: spi_single - clk_pin: - number: ${clk_pin} - allow_other_uses: true - mosi_pin: - number: ${mosi_pin} - display: - platform: mipi_spi spi_16: true @@ -30,8 +22,5 @@ display: dimensions: width: 100 height: 200 - enable_pin: - - number: ${clk_pin} - allow_other_uses: true - - number: ${enable_pin} + enable_pin: ${enable_pin} bus_mode: single diff --git a/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml b/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml index e0f65a3a6a..48f34f3449 100644 --- a/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml +++ b/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml @@ -1,16 +1,9 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - -spi: - - id: spi_single - clk_pin: - number: ${clk_pin} - mosi_pin: - number: ${mosi_pin} +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml display: - platform: mipi_spi + spi_id: spi_bus model: t-display-s3-pro lvgl: diff --git a/tests/components/mipi_spi/test.esp32-c3-idf.yaml b/tests/components/mipi_spi/test.esp32-c3-idf.yaml index c17748c569..55e25d8318 100644 --- a/tests/components/mipi_spi/test.esp32-c3-idf.yaml +++ b/tests/components/mipi_spi/test.esp32-c3-idf.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - dc_pin: GPIO21 - cs_pin: GPIO18 - enable_pin: GPIO19 + dc_pin: GPIO7 + cs_pin: GPIO8 + enable_pin: GPIO9 reset_pin: GPIO20 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mipi_spi/test.esp32-idf.yaml b/tests/components/mipi_spi/test.esp32-idf.yaml index 653ccb4910..b173b8de87 100644 --- a/tests/components/mipi_spi/test.esp32-idf.yaml +++ b/tests/components/mipi_spi/test.esp32-idf.yaml @@ -1,15 +1,10 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - dc_pin: GPIO21 - cs_pin: GPIO18 - enable_pin: GPIO19 + dc_pin: GPIO14 + cs_pin: GPIO13 + enable_pin: GPIO4 reset_pin: GPIO20 packages: - display: !include common.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml -display: - - platform: mipi_spi - model: m5core +<<: !include common.yaml diff --git a/tests/components/mipi_spi/test.rp2040-ard.yaml b/tests/components/mipi_spi/test.rp2040-ard.yaml index 5d7333853b..380cebcde3 100644 --- a/tests/components/mipi_spi/test.rp2040-ard.yaml +++ b/tests/components/mipi_spi/test.rp2040-ard.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 dc_pin: GPIO14 cs_pin: GPIO13 - enable_pin: GPIO19 + enable_pin: GPIO16 reset_pin: GPIO20 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-idf.yaml b/tests/components/mixer/test.esp32-idf.yaml index 96d2d37458..6712f1e468 100644 --- a/tests/components/mixer/test.esp32-idf.yaml +++ b/tests/components/mixer/test.esp32-idf.yaml @@ -1,7 +1,10 @@ substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 + lrclk_pin: GPIO4 + bclk_pin: GPIO5 mclk_pin: GPIO15 dout_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mlx90393/common.yaml b/tests/components/mlx90393/common.yaml index 58f3b6ecf5..9e85e06c89 100644 --- a/tests/components/mlx90393/common.yaml +++ b/tests/components/mlx90393/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mlx90393 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mlx90393 + i2c_id: i2c_bus oversampling: 3 gain: 1X temperature_compensation: true diff --git a/tests/components/mlx90393/test.esp32-c3-idf.yaml b/tests/components/mlx90393/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mlx90393/test.esp32-c3-idf.yaml +++ b/tests/components/mlx90393/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-idf.yaml b/tests/components/mlx90393/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mlx90393/test.esp32-idf.yaml +++ b/tests/components/mlx90393/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-s3-idf.yaml b/tests/components/mlx90393/test.esp32-s3-idf.yaml index ee2c29ca4e..0fd8684a2c 100644 --- a/tests/components/mlx90393/test.esp32-s3-idf.yaml +++ b/tests/components/mlx90393/test.esp32-s3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp8266-ard.yaml b/tests/components/mlx90393/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mlx90393/test.esp8266-ard.yaml +++ b/tests/components/mlx90393/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.rp2040-ard.yaml b/tests/components/mlx90393/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mlx90393/test.rp2040-ard.yaml +++ b/tests/components/mlx90393/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/common.yaml b/tests/components/mlx90614/common.yaml index 03279e6e14..8d408fb016 100644 --- a/tests/components/mlx90614/common.yaml +++ b/tests/components/mlx90614/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mlx90614 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mlx90614 + i2c_id: i2c_bus ambient: name: Ambient object: diff --git a/tests/components/mlx90614/test.esp32-c3-idf.yaml b/tests/components/mlx90614/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mlx90614/test.esp32-c3-idf.yaml +++ b/tests/components/mlx90614/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp32-idf.yaml b/tests/components/mlx90614/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mlx90614/test.esp32-idf.yaml +++ b/tests/components/mlx90614/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp8266-ard.yaml b/tests/components/mlx90614/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mlx90614/test.esp8266-ard.yaml +++ b/tests/components/mlx90614/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/test.rp2040-ard.yaml b/tests/components/mlx90614/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mlx90614/test.rp2040-ard.yaml +++ b/tests/components/mlx90614/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/common.yaml b/tests/components/mmc5603/common.yaml index 83235f596e..6f6e35e9af 100644 --- a/tests/components/mmc5603/common.yaml +++ b/tests/components/mmc5603/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mmc5603 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mmc5603 + i2c_id: i2c_bus address: 0x30 field_strength_x: name: HMC5883L Field Strength X diff --git a/tests/components/mmc5603/test.esp32-c3-idf.yaml b/tests/components/mmc5603/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mmc5603/test.esp32-c3-idf.yaml +++ b/tests/components/mmc5603/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp32-idf.yaml b/tests/components/mmc5603/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mmc5603/test.esp32-idf.yaml +++ b/tests/components/mmc5603/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp8266-ard.yaml b/tests/components/mmc5603/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mmc5603/test.esp8266-ard.yaml +++ b/tests/components/mmc5603/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/test.rp2040-ard.yaml b/tests/components/mmc5603/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mmc5603/test.rp2040-ard.yaml +++ b/tests/components/mmc5603/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/common.yaml b/tests/components/mmc5983/common.yaml index 949ff527e7..963a2527c1 100644 --- a/tests/components/mmc5983/common.yaml +++ b/tests/components/mmc5983/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mmc5983 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mmc5983 + i2c_id: i2c_bus field_strength_x: name: "Magnet X" id: magnet_x diff --git a/tests/components/mmc5983/test.esp32-c3-idf.yaml b/tests/components/mmc5983/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mmc5983/test.esp32-c3-idf.yaml +++ b/tests/components/mmc5983/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp32-idf.yaml b/tests/components/mmc5983/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mmc5983/test.esp32-idf.yaml +++ b/tests/components/mmc5983/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp8266-ard.yaml b/tests/components/mmc5983/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mmc5983/test.esp8266-ard.yaml +++ b/tests/components/mmc5983/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/test.rp2040-ard.yaml b/tests/components/mmc5983/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mmc5983/test.rp2040-ard.yaml +++ b/tests/components/mmc5983/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/modbus/common.yaml b/tests/components/modbus/common.yaml index 3ec9518585..d636143ec9 100644 --- a/tests/components/modbus/common.yaml +++ b/tests/components/modbus/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_modbus - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - modbus: id: mod_bus1 flow_control_pin: ${flow_control_pin} diff --git a/tests/components/modbus/test.esp32-c3-idf.yaml b/tests/components/modbus/test.esp32-c3-idf.yaml index 452031a5aa..430c6818cb 100644 --- a/tests/components/modbus/test.esp32-c3-idf.yaml +++ b/tests/components/modbus/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/modbus/test.esp32-idf.yaml b/tests/components/modbus/test.esp32-idf.yaml index bd767a8ece..8a08f8a821 100644 --- a/tests/components/modbus/test.esp32-idf.yaml +++ b/tests/components/modbus/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/modbus/test.esp8266-ard.yaml b/tests/components/modbus/test.esp8266-ard.yaml index 29c98d0957..dfea36d957 100644 --- a/tests/components/modbus/test.esp8266-ard.yaml +++ b/tests/components/modbus/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/modbus/test.rp2040-ard.yaml b/tests/components/modbus/test.rp2040-ard.yaml index 452031a5aa..43f12ea28d 100644 --- a/tests/components/modbus/test.rp2040-ard.yaml +++ b/tests/components/modbus/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/modbus_controller/common.yaml b/tests/components/modbus_controller/common.yaml index c2b5ab737f..ae5520e57d 100644 --- a/tests/components/modbus_controller/common.yaml +++ b/tests/components/modbus_controller/common.yaml @@ -1,25 +1,12 @@ -uart: - - id: uart_modbus_client - tx_pin: ${client_tx_pin} - rx_pin: ${client_rx_pin} - baud_rate: 9600 - - id: uart_modbus_server - tx_pin: ${server_tx_pin} - rx_pin: ${server_rx_pin} - baud_rate: 9600 - modbus: - - id: mod_bus1 - uart_id: uart_modbus_client - flow_control_pin: ${flow_control_pin} - id: mod_bus2 - uart_id: uart_modbus_server + uart_id: uart_bus role: server modbus_controller: - id: modbus_controller1 address: 0x2 - modbus_id: mod_bus1 + modbus_id: modbus_bus allow_duplicate_commands: false on_online: then: diff --git a/tests/components/modbus_controller/test.esp32-c3-idf.yaml b/tests/components/modbus_controller/test.esp32-c3-idf.yaml index f5b770ff58..db826676ee 100644 --- a/tests/components/modbus_controller/test.esp32-c3-idf.yaml +++ b/tests/components/modbus_controller/test.esp32-c3-idf.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO4 - client_rx_pin: GPIO5 - server_tx_pin: GPIO6 - server_rx_pin: GPIO7 - flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp32-idf.yaml b/tests/components/modbus_controller/test.esp32-idf.yaml index 548b8c0666..ace2d95a0b 100644 --- a/tests/components/modbus_controller/test.esp32-idf.yaml +++ b/tests/components/modbus_controller/test.esp32-idf.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO12 - client_rx_pin: GPIO14 - server_tx_pin: GPIO16 - server_rx_pin: GPIO17 - flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp8266-ard.yaml b/tests/components/modbus_controller/test.esp8266-ard.yaml index c68a57cbde..560629b0cd 100644 --- a/tests/components/modbus_controller/test.esp8266-ard.yaml +++ b/tests/components/modbus_controller/test.esp8266-ard.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO1 - client_rx_pin: GPIO3 - server_tx_pin: GPIO4 - server_rx_pin: GPIO5 - flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/modbus_controller/test.rp2040-ard.yaml b/tests/components/modbus_controller/test.rp2040-ard.yaml index 80528bc12b..eeebbd2a8a 100644 --- a/tests/components/modbus_controller/test.rp2040-ard.yaml +++ b/tests/components/modbus_controller/test.rp2040-ard.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO2 - client_rx_pin: GPIO3 - server_tx_pin: GPIO4 - server_rx_pin: GPIO5 - flow_control_pin: GPIO6 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-c3-idf.yaml b/tests/components/mopeka_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/mopeka_ble/test.esp32-c3-idf.yaml +++ b/tests/components/mopeka_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-idf.yaml b/tests/components/mopeka_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/mopeka_ble/test.esp32-idf.yaml +++ b/tests/components/mopeka_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml b/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml +++ b/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-idf.yaml b/tests/components/mopeka_pro_check/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/mopeka_pro_check/test.esp32-idf.yaml +++ b/tests/components/mopeka_pro_check/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml b/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml +++ b/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-idf.yaml b/tests/components/mopeka_std_check/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/mopeka_std_check/test.esp32-idf.yaml +++ b/tests/components/mopeka_std_check/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mpl3115a2/common.yaml b/tests/components/mpl3115a2/common.yaml index f2f65885b3..aa6c2b77fc 100644 --- a/tests/components/mpl3115a2/common.yaml +++ b/tests/components/mpl3115a2/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mpl3115a2 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mpl3115a2 + i2c_id: i2c_bus temperature: name: MPL3115A2 Temperature pressure: diff --git a/tests/components/mpl3115a2/test.esp32-c3-idf.yaml b/tests/components/mpl3115a2/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mpl3115a2/test.esp32-c3-idf.yaml +++ b/tests/components/mpl3115a2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp32-idf.yaml b/tests/components/mpl3115a2/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mpl3115a2/test.esp32-idf.yaml +++ b/tests/components/mpl3115a2/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp8266-ard.yaml b/tests/components/mpl3115a2/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mpl3115a2/test.esp8266-ard.yaml +++ b/tests/components/mpl3115a2/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.rp2040-ard.yaml b/tests/components/mpl3115a2/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mpl3115a2/test.rp2040-ard.yaml +++ b/tests/components/mpl3115a2/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpr121/common.yaml b/tests/components/mpr121/common.yaml index fcf61b57f3..67a06cf9c1 100644 --- a/tests/components/mpr121/common.yaml +++ b/tests/components/mpr121/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mpr121 - scl: ${i2c_scl} - sda: ${i2c_sda} - mpr121: + i2c_id: i2c_bus id: mpr121_first address: 0x5A diff --git a/tests/components/mpr121/test.esp32-c3-idf.yaml b/tests/components/mpr121/test.esp32-c3-idf.yaml index d7ae0d5161..d1abb03369 100644 --- a/tests/components/mpr121/test.esp32-c3-idf.yaml +++ b/tests/components/mpr121/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mpr121/test.esp32-idf.yaml b/tests/components/mpr121/test.esp32-idf.yaml index 1037d5d35b..4598505c3a 100644 --- a/tests/components/mpr121/test.esp32-idf.yaml +++ b/tests/components/mpr121/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO16 i2c_sda: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mpr121/test.esp8266-ard.yaml b/tests/components/mpr121/test.esp8266-ard.yaml index d7ae0d5161..5565bb8c35 100644 --- a/tests/components/mpr121/test.esp8266-ard.yaml +++ b/tests/components/mpr121/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mpr121/test.rp2040-ard.yaml b/tests/components/mpr121/test.rp2040-ard.yaml index d7ae0d5161..888762a742 100644 --- a/tests/components/mpr121/test.rp2040-ard.yaml +++ b/tests/components/mpr121/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mpu6050/common.yaml b/tests/components/mpu6050/common.yaml index e9d4995534..7ac123f8c7 100644 --- a/tests/components/mpu6050/common.yaml +++ b/tests/components/mpu6050/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mpu6050 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mpu6050 + i2c_id: i2c_bus address: 0x68 accel_x: name: MPU6050 Accel X diff --git a/tests/components/mpu6050/test.esp32-c3-idf.yaml b/tests/components/mpu6050/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mpu6050/test.esp32-c3-idf.yaml +++ b/tests/components/mpu6050/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp32-idf.yaml b/tests/components/mpu6050/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mpu6050/test.esp32-idf.yaml +++ b/tests/components/mpu6050/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp8266-ard.yaml b/tests/components/mpu6050/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mpu6050/test.esp8266-ard.yaml +++ b/tests/components/mpu6050/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpu6050/test.rp2040-ard.yaml b/tests/components/mpu6050/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mpu6050/test.rp2040-ard.yaml +++ b/tests/components/mpu6050/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/common.yaml b/tests/components/mpu6886/common.yaml index 9c3e283cc3..9f7324f384 100644 --- a/tests/components/mpu6886/common.yaml +++ b/tests/components/mpu6886/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mpu6886 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mpu6886 + i2c_id: i2c_bus address: 0x68 accel_x: name: MPU6886 Accel X diff --git a/tests/components/mpu6886/test.esp32-c3-idf.yaml b/tests/components/mpu6886/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mpu6886/test.esp32-c3-idf.yaml +++ b/tests/components/mpu6886/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp32-idf.yaml b/tests/components/mpu6886/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mpu6886/test.esp32-idf.yaml +++ b/tests/components/mpu6886/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp8266-ard.yaml b/tests/components/mpu6886/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mpu6886/test.esp8266-ard.yaml +++ b/tests/components/mpu6886/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/test.rp2040-ard.yaml b/tests/components/mpu6886/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mpu6886/test.rp2040-ard.yaml +++ b/tests/components/mpu6886/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mqtt/common-update.yaml b/tests/components/mqtt/common-update.yaml index 25f57cfef2..2e21e9687a 100644 --- a/tests/components/mqtt/common-update.yaml +++ b/tests/components/mqtt/common-update.yaml @@ -6,8 +6,10 @@ http_request: ota: - platform: http_request + id: mqtt_http_request_ota update: - platform: http_request name: "OTA Update" + ota_id: mqtt_http_request_ota source: https://example.com/ota.json diff --git a/tests/components/ms5611/common.yaml b/tests/components/ms5611/common.yaml index d0417faa86..12644fa330 100644 --- a/tests/components/ms5611/common.yaml +++ b/tests/components/ms5611/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ms5611 - scl: ${i2c_scl} - sda: ${i2c_sda} - sensor: - platform: ms5611 + i2c_id: i2c_bus temperature: name: Outside Temperature pressure: diff --git a/tests/components/ms5611/test.esp32-c3-idf.yaml b/tests/components/ms5611/test.esp32-c3-idf.yaml index d7ae0d5161..d1abb03369 100644 --- a/tests/components/ms5611/test.esp32-c3-idf.yaml +++ b/tests/components/ms5611/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ms5611/test.esp32-idf.yaml b/tests/components/ms5611/test.esp32-idf.yaml index 1037d5d35b..4598505c3a 100644 --- a/tests/components/ms5611/test.esp32-idf.yaml +++ b/tests/components/ms5611/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO16 i2c_sda: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ms5611/test.esp8266-ard.yaml b/tests/components/ms5611/test.esp8266-ard.yaml index d7ae0d5161..5565bb8c35 100644 --- a/tests/components/ms5611/test.esp8266-ard.yaml +++ b/tests/components/ms5611/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ms5611/test.rp2040-ard.yaml b/tests/components/ms5611/test.rp2040-ard.yaml index d7ae0d5161..888762a742 100644 --- a/tests/components/ms5611/test.rp2040-ard.yaml +++ b/tests/components/ms5611/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/msa3xx/common.yaml b/tests/components/msa3xx/common.yaml index 8de6a8a89a..297ed8a741 100644 --- a/tests/components/msa3xx/common.yaml +++ b/tests/components/msa3xx/common.yaml @@ -1,5 +1,5 @@ msa3xx: - i2c_id: i2c_msa3xx + i2c_id: i2c_bus type: msa301 range: 4G resolution: 14 diff --git a/tests/components/msa3xx/test.esp32-c3-idf.yaml b/tests/components/msa3xx/test.esp32-c3-idf.yaml index b972ce8cdb..9990d96d29 100644 --- a/tests/components/msa3xx/test.esp32-c3-idf.yaml +++ b/tests/components/msa3xx/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp32-idf.yaml b/tests/components/msa3xx/test.esp32-idf.yaml index 7202e7b9bf..b47e39c389 100644 --- a/tests/components/msa3xx/test.esp32-idf.yaml +++ b/tests/components/msa3xx/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO16 - sda: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp8266-ard.yaml b/tests/components/msa3xx/test.esp8266-ard.yaml index b972ce8cdb..4a98b9388a 100644 --- a/tests/components/msa3xx/test.esp8266-ard.yaml +++ b/tests/components/msa3xx/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/msa3xx/test.rp2040-ard.yaml b/tests/components/msa3xx/test.rp2040-ard.yaml index b972ce8cdb..319a7c71a6 100644 --- a/tests/components/msa3xx/test.rp2040-ard.yaml +++ b/tests/components/msa3xx/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/common.yaml b/tests/components/nau7802/common.yaml index 2501911a3f..5c52c33dad 100644 --- a/tests/components/nau7802/common.yaml +++ b/tests/components/nau7802/common.yaml @@ -1,8 +1,8 @@ sensor: - platform: nau7802 + i2c_id: i2c_bus id: test_id name: weight - i2c_id: i2c_nau7802 gain: 32 ldo_voltage: "3.0v" samples_per_second: 10 diff --git a/tests/components/nau7802/test.esp32-c3-idf.yaml b/tests/components/nau7802/test.esp32-c3-idf.yaml index 769468f9ec..9990d96d29 100644 --- a/tests/components/nau7802/test.esp32-c3-idf.yaml +++ b/tests/components/nau7802/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/test.esp32-idf.yaml b/tests/components/nau7802/test.esp32-idf.yaml index 73a4aa4251..b47e39c389 100644 --- a/tests/components/nau7802/test.esp32-idf.yaml +++ b/tests/components/nau7802/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 16 - sda: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/test.esp8266-ard.yaml b/tests/components/nau7802/test.esp8266-ard.yaml index 769468f9ec..4a98b9388a 100644 --- a/tests/components/nau7802/test.esp8266-ard.yaml +++ b/tests/components/nau7802/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/test.rp2040-ard.yaml b/tests/components/nau7802/test.rp2040-ard.yaml index 769468f9ec..319a7c71a6 100644 --- a/tests/components/nau7802/test.rp2040-ard.yaml +++ b/tests/components/nau7802/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/nextion/common.yaml b/tests/components/nextion/common.yaml index 767c868d0b..f5ee12a51c 100644 --- a/tests/components/nextion/common.yaml +++ b/tests/components/nextion/common.yaml @@ -236,12 +236,6 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uart_nextion - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - binary_sensor: - platform: nextion page_id: 0 diff --git a/tests/components/nextion/test.esp32-ard.yaml b/tests/components/nextion/test.esp32-ard.yaml index d5e02b8b85..7e94a9b4a5 100644 --- a/tests/components/nextion/test.esp32-ard.yaml +++ b/tests/components/nextion/test.esp32-ard.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - packages: + uart: !include ../../test_build_components/common/uart/esp32-ard.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.esp32-c3-idf.yaml b/tests/components/nextion/test.esp32-c3-idf.yaml index 5135c7e4f4..888693f909 100644 --- a/tests/components/nextion/test.esp32-c3-idf.yaml +++ b/tests/components/nextion/test.esp32-c3-idf.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.esp32-idf.yaml b/tests/components/nextion/test.esp32-idf.yaml index d5e02b8b85..99820f0f8d 100644 --- a/tests/components/nextion/test.esp32-idf.yaml +++ b/tests/components/nextion/test.esp32-idf.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.esp8266-ard.yaml b/tests/components/nextion/test.esp8266-ard.yaml index 5135c7e4f4..49f79b2f4c 100644 --- a/tests/components/nextion/test.esp8266-ard.yaml +++ b/tests/components/nextion/test.esp8266-ard.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.rp2040-ard.yaml b/tests/components/nextion/test.rp2040-ard.yaml index 44534b97a8..23cc71ee7c 100644 --- a/tests/components/nextion/test.rp2040-ard.yaml +++ b/tests/components/nextion/test.rp2040-ard.yaml @@ -1,6 +1,3 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml base: !include common.yaml diff --git a/tests/components/npi19/common.yaml b/tests/components/npi19/common.yaml index 012e05695e..03550c269f 100644 --- a/tests/components/npi19/common.yaml +++ b/tests/components/npi19/common.yaml @@ -1,13 +1,7 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - frequency: 200kHz - sensor: - platform: npi19 - update_interval: 1s i2c_id: i2c_bus + update_interval: 1s temperature: name: water temperature diff --git a/tests/components/npi19/test.esp32-idf.yaml b/tests/components/npi19/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/npi19/test.esp32-idf.yaml +++ b/tests/components/npi19/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/npi19/test.esp32-s3-idf.yaml b/tests/components/npi19/test.esp32-s3-idf.yaml index 4942e3c2b3..0fd8684a2c 100644 --- a/tests/components/npi19/test.esp32-s3-idf.yaml +++ b/tests/components/npi19/test.esp32-s3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/npi19/test.esp8266-ard.yaml b/tests/components/npi19/test.esp8266-ard.yaml index 3be5e53dcb..4a98b9388a 100644 --- a/tests/components/npi19/test.esp8266-ard.yaml +++ b/tests/components/npi19/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO05 - sda_pin: GPIO04 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/online_image/common-esp32.yaml b/tests/components/online_image/common-esp32.yaml index 787a1ad368..32c909d351 100644 --- a/tests/components/online_image/common-esp32.yaml +++ b/tests/components/online_image/common-esp32.yaml @@ -1,13 +1,11 @@ -<<: !include common.yaml +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 18 +<<: !include common.yaml display: - platform: ili9xxx + spi_id: spi_bus id: main_lcd model: ili9342 cs_pin: 20 diff --git a/tests/components/online_image/common-esp8266.yaml b/tests/components/online_image/common-esp8266.yaml index ba15b5025c..d7722d171a 100644 --- a/tests/components/online_image/common-esp8266.yaml +++ b/tests/components/online_image/common-esp8266.yaml @@ -1,13 +1,11 @@ -<<: !include common.yaml +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +<<: !include common.yaml display: - platform: ili9xxx + spi_id: spi_bus id: main_lcd model: ili9342 cs_pin: 15 diff --git a/tests/components/online_image/common-rp2040.yaml b/tests/components/online_image/common-rp2040.yaml index 16bb2b2c44..25891b94bc 100644 --- a/tests/components/online_image/common-rp2040.yaml +++ b/tests/components/online_image/common-rp2040.yaml @@ -1,13 +1,11 @@ -<<: !include common.yaml +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml -spi: - - id: spi_main_lcd - clk_pin: 18 - mosi_pin: 19 - miso_pin: 16 +<<: !include common.yaml display: - platform: ili9xxx + spi_id: spi_bus id: main_lcd model: ili9342 cs_pin: 20 diff --git a/tests/components/opt3001/common.yaml b/tests/components/opt3001/common.yaml index dab4f824f8..7b2cb339af 100644 --- a/tests/components/opt3001/common.yaml +++ b/tests/components/opt3001/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_opt3001 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: opt3001 + i2c_id: i2c_bus name: Living Room Brightness address: 0x44 update_interval: 30s diff --git a/tests/components/opt3001/test.esp32-c3-idf.yaml b/tests/components/opt3001/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/opt3001/test.esp32-c3-idf.yaml +++ b/tests/components/opt3001/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/opt3001/test.esp32-idf.yaml b/tests/components/opt3001/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/opt3001/test.esp32-idf.yaml +++ b/tests/components/opt3001/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/opt3001/test.esp8266-ard.yaml b/tests/components/opt3001/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/opt3001/test.esp8266-ard.yaml +++ b/tests/components/opt3001/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/opt3001/test.rp2040-ard.yaml b/tests/components/opt3001/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/opt3001/test.rp2040-ard.yaml +++ b/tests/components/opt3001/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp32-c3-idf.yaml b/tests/components/packet_transport/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/packet_transport/test.esp32-c3-idf.yaml +++ b/tests/components/packet_transport/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp32-idf.yaml b/tests/components/packet_transport/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/packet_transport/test.esp32-idf.yaml +++ b/tests/components/packet_transport/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp8266-ard.yaml b/tests/components/packet_transport/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/packet_transport/test.esp8266-ard.yaml +++ b/tests/components/packet_transport/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/packet_transport/test.host.yaml b/tests/components/packet_transport/test.host.yaml index e735c37e4d..49fdbbc9b2 100644 --- a/tests/components/packet_transport/test.host.yaml +++ b/tests/components/packet_transport/test.host.yaml @@ -1,4 +1,40 @@ -packages: - common: !include common.yaml +udp: + listen_address: 239.0.60.53 + addresses: ["239.0.60.53"] -wifi: !remove +packet_transport: + platform: udp + update_interval: 5s + encryption: "our key goes here" + rolling_code_enable: true + ping_pong_enable: true + binary_sensors: + - binary_sensor_id1 + - id: binary_sensor_id1 + broadcast_id: other_id + sensors: + - sensor_id1 + - id: sensor_id1 + broadcast_id: other_id + providers: + - name: some-device-name + encryption: "their key goes here" + +sensor: + - platform: template + id: sensor_id1 + - platform: packet_transport + provider: some-device-name + id: our_id + remote_id: some_sensor_id + +binary_sensor: + - platform: packet_transport + provider: unencrypted-device + id: other_binary_sensor_id + - platform: packet_transport + provider: some-device-name + type: status + name: Some-Device Status + - platform: template + id: binary_sensor_id1 diff --git a/tests/components/packet_transport/test.rp2040-ard.yaml b/tests/components/packet_transport/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/packet_transport/test.rp2040-ard.yaml +++ b/tests/components/packet_transport/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pca6416a/common.yaml b/tests/components/pca6416a/common.yaml index ea538387e4..9ad6e2fb15 100644 --- a/tests/components/pca6416a/common.yaml +++ b/tests/components/pca6416a/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pca6416a - scl: ${scl_pin} - sda: ${sda_pin} - pca6416a: - id: pca6416a_hub + i2c_id: i2c_bus address: 0x21 binary_sensor: diff --git a/tests/components/pca6416a/test.esp32-c3-idf.yaml b/tests/components/pca6416a/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pca6416a/test.esp32-c3-idf.yaml +++ b/tests/components/pca6416a/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca6416a/test.esp32-idf.yaml b/tests/components/pca6416a/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pca6416a/test.esp32-idf.yaml +++ b/tests/components/pca6416a/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca6416a/test.esp8266-ard.yaml b/tests/components/pca6416a/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pca6416a/test.esp8266-ard.yaml +++ b/tests/components/pca6416a/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca6416a/test.rp2040-ard.yaml b/tests/components/pca6416a/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pca6416a/test.rp2040-ard.yaml +++ b/tests/components/pca6416a/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/common.yaml b/tests/components/pca9554/common.yaml index db2ec2b826..9e5e7f3342 100644 --- a/tests/components/pca9554/common.yaml +++ b/tests/components/pca9554/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pca9554 - scl: ${scl_pin} - sda: ${sda_pin} - pca9554: - id: pca9554_hub + i2c_id: i2c_bus pin_count: 8 address: 0x3F diff --git a/tests/components/pca9554/test.esp32-c3-idf.yaml b/tests/components/pca9554/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pca9554/test.esp32-c3-idf.yaml +++ b/tests/components/pca9554/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/test.esp32-idf.yaml b/tests/components/pca9554/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pca9554/test.esp32-idf.yaml +++ b/tests/components/pca9554/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/test.esp8266-ard.yaml b/tests/components/pca9554/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pca9554/test.esp8266-ard.yaml +++ b/tests/components/pca9554/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/test.rp2040-ard.yaml b/tests/components/pca9554/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pca9554/test.rp2040-ard.yaml +++ b/tests/components/pca9554/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/common.yaml b/tests/components/pca9685/common.yaml index 57cdc5de9b..2e238b481c 100644 --- a/tests/components/pca9685/common.yaml +++ b/tests/components/pca9685/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_pca9685 - scl: ${scl_pin} - sda: ${sda_pin} - pca9685: + i2c_id: i2c_bus frequency: 500 address: 0x0 diff --git a/tests/components/pca9685/test.esp32-c3-idf.yaml b/tests/components/pca9685/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pca9685/test.esp32-c3-idf.yaml +++ b/tests/components/pca9685/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/test.esp32-idf.yaml b/tests/components/pca9685/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pca9685/test.esp32-idf.yaml +++ b/tests/components/pca9685/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/test.esp8266-ard.yaml b/tests/components/pca9685/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pca9685/test.esp8266-ard.yaml +++ b/tests/components/pca9685/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/test.rp2040-ard.yaml b/tests/components/pca9685/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pca9685/test.rp2040-ard.yaml +++ b/tests/components/pca9685/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcd8544/common.yaml b/tests/components/pcd8544/common.yaml index 0fb969eeb8..418cd97253 100644 --- a/tests/components/pcd8544/common.yaml +++ b/tests/components/pcd8544/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_pcd8544 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: pcd8544 cs_pin: ${cs_pin} diff --git a/tests/components/pcd8544/test.esp32-c3-idf.yaml b/tests/components/pcd8544/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/pcd8544/test.esp32-c3-idf.yaml +++ b/tests/components/pcd8544/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp32-idf.yaml b/tests/components/pcd8544/test.esp32-idf.yaml index 09e9db5a38..ff174a4656 100644 --- a/tests/components/pcd8544/test.esp32-idf.yaml +++ b/tests/components/pcd8544/test.esp32-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp8266-ard.yaml b/tests/components/pcd8544/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/pcd8544/test.esp8266-ard.yaml +++ b/tests/components/pcd8544/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pcd8544/test.rp2040-ard.yaml b/tests/components/pcd8544/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/pcd8544/test.rp2040-ard.yaml +++ b/tests/components/pcd8544/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pcf85063/common.yaml b/tests/components/pcf85063/common.yaml index f3b68412c5..170029ad85 100644 --- a/tests/components/pcf85063/common.yaml +++ b/tests/components/pcf85063/common.yaml @@ -3,10 +3,6 @@ esphome: - pcf85063.read_time - pcf85063.write_time -i2c: - - id: i2c_pcf85063 - scl: ${scl_pin} - sda: ${sda_pin} - time: - platform: pcf85063 + i2c_id: i2c_bus diff --git a/tests/components/pcf85063/test.esp32-c3-idf.yaml b/tests/components/pcf85063/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pcf85063/test.esp32-c3-idf.yaml +++ b/tests/components/pcf85063/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp32-idf.yaml b/tests/components/pcf85063/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pcf85063/test.esp32-idf.yaml +++ b/tests/components/pcf85063/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp8266-ard.yaml b/tests/components/pcf85063/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pcf85063/test.esp8266-ard.yaml +++ b/tests/components/pcf85063/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf85063/test.rp2040-ard.yaml b/tests/components/pcf85063/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pcf85063/test.rp2040-ard.yaml +++ b/tests/components/pcf85063/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/common.yaml b/tests/components/pcf8563/common.yaml index 30be6b893c..ac5f3afed1 100644 --- a/tests/components/pcf8563/common.yaml +++ b/tests/components/pcf8563/common.yaml @@ -3,10 +3,6 @@ esphome: - pcf8563.read_time - pcf8563.write_time -i2c: - - id: i2c_pcf8563 - scl: ${scl_pin} - sda: ${sda_pin} - time: - platform: pcf8563 + i2c_id: i2c_bus diff --git a/tests/components/pcf8563/test.esp32-c3-idf.yaml b/tests/components/pcf8563/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pcf8563/test.esp32-c3-idf.yaml +++ b/tests/components/pcf8563/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp32-idf.yaml b/tests/components/pcf8563/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pcf8563/test.esp32-idf.yaml +++ b/tests/components/pcf8563/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp8266-ard.yaml b/tests/components/pcf8563/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pcf8563/test.esp8266-ard.yaml +++ b/tests/components/pcf8563/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/test.rp2040-ard.yaml b/tests/components/pcf8563/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pcf8563/test.rp2040-ard.yaml +++ b/tests/components/pcf8563/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/common.yaml b/tests/components/pcf8574/common.yaml index f5fcfad64a..09fa33164e 100644 --- a/tests/components/pcf8574/common.yaml +++ b/tests/components/pcf8574/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pcf8574 - scl: ${scl_pin} - sda: ${sda_pin} - pcf8574: - id: pcf8574_hub + i2c_id: i2c_bus address: 0x21 pcf8575: false diff --git a/tests/components/pcf8574/test.esp32-c3-idf.yaml b/tests/components/pcf8574/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pcf8574/test.esp32-c3-idf.yaml +++ b/tests/components/pcf8574/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp32-idf.yaml b/tests/components/pcf8574/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pcf8574/test.esp32-idf.yaml +++ b/tests/components/pcf8574/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp8266-ard.yaml b/tests/components/pcf8574/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pcf8574/test.esp8266-ard.yaml +++ b/tests/components/pcf8574/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/test.rp2040-ard.yaml b/tests/components/pcf8574/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pcf8574/test.rp2040-ard.yaml +++ b/tests/components/pcf8574/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pi4ioe5v6408/common.yaml b/tests/components/pi4ioe5v6408/common.yaml index 4130dc2652..2344622081 100644 --- a/tests/components/pi4ioe5v6408/common.yaml +++ b/tests/components/pi4ioe5v6408/common.yaml @@ -1,9 +1,5 @@ -i2c: - id: i2c_pi4ioe5v6408 - sda: ${i2c_sda} - scl: ${i2c_scl} - pi4ioe5v6408: + i2c_id: i2c_bus id: pi4ioe1 address: 0x44 diff --git a/tests/components/pi4ioe5v6408/test.esp32-idf.yaml b/tests/components/pi4ioe5v6408/test.esp32-idf.yaml index 55e6edfbf3..9a4779d822 100644 --- a/tests/components/pi4ioe5v6408/test.esp32-idf.yaml +++ b/tests/components/pi4ioe5v6408/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_sda: GPIO21 i2c_scl: GPIO22 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml b/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml index b7b6b13bfe..3429a2952a 100644 --- a/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml +++ b/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_sda: GPIO4 i2c_scl: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pipsolar/common.yaml b/tests/components/pipsolar/common.yaml index 64e2c0476d..819764a7ea 100644 --- a/tests/components/pipsolar/common.yaml +++ b/tests/components/pipsolar/common.yaml @@ -5,12 +5,6 @@ esphome: id: inverter0_battery_recharge_voltage_out value: 48.0 -uart: - - id: uart_pipsolar - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - pipsolar: id: inverter0 diff --git a/tests/components/pipsolar/test.esp32-c3-idf.yaml b/tests/components/pipsolar/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pipsolar/test.esp32-c3-idf.yaml +++ b/tests/components/pipsolar/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-idf.yaml b/tests/components/pipsolar/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pipsolar/test.esp32-idf.yaml +++ b/tests/components/pipsolar/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-s2-idf.yaml b/tests/components/pipsolar/test.esp32-s2-idf.yaml index b516342f3b..2d29656c94 100644 --- a/tests/components/pipsolar/test.esp32-s2-idf.yaml +++ b/tests/components/pipsolar/test.esp32-s2-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp8266-ard.yaml b/tests/components/pipsolar/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pipsolar/test.esp8266-ard.yaml +++ b/tests/components/pipsolar/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.rp2040-ard.yaml b/tests/components/pipsolar/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pipsolar/test.rp2040-ard.yaml +++ b/tests/components/pipsolar/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pm1006/common.yaml b/tests/components/pm1006/common.yaml index 4e3e880f4e..43955bb099 100644 --- a/tests/components/pm1006/common.yaml +++ b/tests/components/pm1006/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pm1006 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: pm1006 pm_2_5: diff --git a/tests/components/pm1006/test.esp32-c3-idf.yaml b/tests/components/pm1006/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pm1006/test.esp32-c3-idf.yaml +++ b/tests/components/pm1006/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm1006/test.esp32-idf.yaml b/tests/components/pm1006/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pm1006/test.esp32-idf.yaml +++ b/tests/components/pm1006/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm1006/test.esp8266-ard.yaml b/tests/components/pm1006/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pm1006/test.esp8266-ard.yaml +++ b/tests/components/pm1006/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pm1006/test.rp2040-ard.yaml b/tests/components/pm1006/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pm1006/test.rp2040-ard.yaml +++ b/tests/components/pm1006/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pm2005/common.yaml b/tests/components/pm2005/common.yaml index b8f6683b22..034752d0b9 100644 --- a/tests/components/pm2005/common.yaml +++ b/tests/components/pm2005/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pm2005 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: pm2005 + i2c_id: i2c_bus pm_1_0: name: PM1.0 pm_2_5: diff --git a/tests/components/pm2005/test.esp32-c3-idf.yaml b/tests/components/pm2005/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pm2005/test.esp32-c3-idf.yaml +++ b/tests/components/pm2005/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm2005/test.esp32-idf.yaml b/tests/components/pm2005/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pm2005/test.esp32-idf.yaml +++ b/tests/components/pm2005/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm2005/test.esp8266-ard.yaml b/tests/components/pm2005/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pm2005/test.esp8266-ard.yaml +++ b/tests/components/pm2005/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pm2005/test.rp2040-ard.yaml b/tests/components/pm2005/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pm2005/test.rp2040-ard.yaml +++ b/tests/components/pm2005/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/common.yaml b/tests/components/pmsa003i/common.yaml index 95e62da694..7267bd58f3 100644 --- a/tests/components/pmsa003i/common.yaml +++ b/tests/components/pmsa003i/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pmsa003i - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: pmsa003i + i2c_id: i2c_bus pm_1_0: name: PMSA003i PM1.0 pm_2_5: diff --git a/tests/components/pmsa003i/test.esp32-c3-idf.yaml b/tests/components/pmsa003i/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pmsa003i/test.esp32-c3-idf.yaml +++ b/tests/components/pmsa003i/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp32-idf.yaml b/tests/components/pmsa003i/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pmsa003i/test.esp32-idf.yaml +++ b/tests/components/pmsa003i/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp8266-ard.yaml b/tests/components/pmsa003i/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pmsa003i/test.esp8266-ard.yaml +++ b/tests/components/pmsa003i/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/test.rp2040-ard.yaml b/tests/components/pmsa003i/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pmsa003i/test.rp2040-ard.yaml +++ b/tests/components/pmsa003i/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/common.yaml b/tests/components/pmsx003/common.yaml index 7b9ca5b091..3c60995804 100644 --- a/tests/components/pmsx003/common.yaml +++ b/tests/components/pmsx003/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pmsx003 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: pmsx003 type: PMSX003 diff --git a/tests/components/pmsx003/test.esp32-c3-idf.yaml b/tests/components/pmsx003/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pmsx003/test.esp32-c3-idf.yaml +++ b/tests/components/pmsx003/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp32-idf.yaml b/tests/components/pmsx003/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pmsx003/test.esp32-idf.yaml +++ b/tests/components/pmsx003/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp8266-ard.yaml b/tests/components/pmsx003/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pmsx003/test.esp8266-ard.yaml +++ b/tests/components/pmsx003/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/test.rp2040-ard.yaml b/tests/components/pmsx003/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pmsx003/test.rp2040-ard.yaml +++ b/tests/components/pmsx003/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pmwcs3/common.yaml b/tests/components/pmwcs3/common.yaml index dcf59d0b6e..e06400d4d4 100644 --- a/tests/components/pmwcs3/common.yaml +++ b/tests/components/pmwcs3/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pmwcs3 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: pmwcs3 + i2c_id: i2c_bus e25: name: pmwcs3_e25 ec: diff --git a/tests/components/pmwcs3/test.esp32-c3-idf.yaml b/tests/components/pmwcs3/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pmwcs3/test.esp32-c3-idf.yaml +++ b/tests/components/pmwcs3/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp32-idf.yaml b/tests/components/pmwcs3/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pmwcs3/test.esp32-idf.yaml +++ b/tests/components/pmwcs3/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp8266-ard.yaml b/tests/components/pmwcs3/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pmwcs3/test.esp8266-ard.yaml +++ b/tests/components/pmwcs3/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmwcs3/test.rp2040-ard.yaml b/tests/components/pmwcs3/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pmwcs3/test.rp2040-ard.yaml +++ b/tests/components/pmwcs3/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/common.yaml b/tests/components/pn532_i2c/common.yaml index db9abd4b13..f328cd40ee 100644 --- a/tests/components/pn532_i2c/common.yaml +++ b/tests/components/pn532_i2c/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_pn532 - scl: ${scl_pin} - sda: ${sda_pin} - pn532_i2c: + i2c_id: i2c_bus id: pn532_nfcc binary_sensor: diff --git a/tests/components/pn532_i2c/test.esp32-c3-idf.yaml b/tests/components/pn532_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pn532_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/pn532_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp32-idf.yaml b/tests/components/pn532_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pn532_i2c/test.esp32-idf.yaml +++ b/tests/components/pn532_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp8266-ard.yaml b/tests/components/pn532_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pn532_i2c/test.esp8266-ard.yaml +++ b/tests/components/pn532_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.rp2040-ard.yaml b/tests/components/pn532_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pn532_i2c/test.rp2040-ard.yaml +++ b/tests/components/pn532_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_spi/common.yaml b/tests/components/pn532_spi/common.yaml index d5b8bc405e..e749a9896a 100644 --- a/tests/components/pn532_spi/common.yaml +++ b/tests/components/pn532_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_pn532 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - pn532_spi: id: pn532_nfcc cs_pin: ${cs_pin} diff --git a/tests/components/pn532_spi/test.esp32-c3-idf.yaml b/tests/components/pn532_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/pn532_spi/test.esp32-c3-idf.yaml +++ b/tests/components/pn532_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp32-idf.yaml b/tests/components/pn532_spi/test.esp32-idf.yaml index bce56f398a..9bb524aa65 100644 --- a/tests/components/pn532_spi/test.esp32-idf.yaml +++ b/tests/components/pn532_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 cs_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp8266-ard.yaml b/tests/components/pn532_spi/test.esp8266-ard.yaml index bd5c203e35..1aac800592 100644 --- a/tests/components/pn532_spi/test.esp8266-ard.yaml +++ b/tests/components/pn532_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 - cs_pin: GPIO5 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO15 + cs_pin: GPIO16 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_spi/test.rp2040-ard.yaml b/tests/components/pn532_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/pn532_spi/test.rp2040-ard.yaml +++ b/tests/components/pn532_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/common.yaml b/tests/components/pn7150_i2c/common.yaml index ef852b7a78..a317b72b9c 100644 --- a/tests/components/pn7150_i2c/common.yaml +++ b/tests/components/pn7150_i2c/common.yaml @@ -16,13 +16,9 @@ esphome: - tag.polling_off: nfcc_pn7150 - tag.polling_on: nfcc_pn7150 -i2c: - - id: i2c_pn7150 - scl: ${scl_pin} - sda: ${sda_pin} - pn7150_i2c: id: nfcc_pn7150 + i2c_id: i2c_bus irq_pin: ${irq_pin} ven_pin: ${ven_pin} emulation_message: https://www.home-assistant.io/tag/pulse_ce diff --git a/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml b/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml index 2067143411..cdf8445263 100644 --- a/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp32-idf.yaml b/tests/components/pn7150_i2c/test.esp32-idf.yaml index 1643bec317..9a4cc6669e 100644 --- a/tests/components/pn7150_i2c/test.esp32-idf.yaml +++ b/tests/components/pn7150_i2c/test.esp32-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO14 ven_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp8266-ard.yaml b/tests/components/pn7150_i2c/test.esp8266-ard.yaml index 7111fc9e00..b907e56f80 100644 --- a/tests/components/pn7150_i2c/test.esp8266-ard.yaml +++ b/tests/components/pn7150_i2c/test.esp8266-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO12 - ven_pin: GPIO13 + irq_pin: GPIO15 + ven_pin: GPIO16 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.rp2040-ard.yaml b/tests/components/pn7150_i2c/test.rp2040-ard.yaml index 2067143411..b320b947e3 100644 --- a/tests/components/pn7150_i2c/test.rp2040-ard.yaml +++ b/tests/components/pn7150_i2c/test.rp2040-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/common.yaml b/tests/components/pn7160_i2c/common.yaml index 0a7c9bd6bb..9807bff0f0 100644 --- a/tests/components/pn7160_i2c/common.yaml +++ b/tests/components/pn7160_i2c/common.yaml @@ -16,13 +16,9 @@ esphome: - tag.polling_off: nfcc_pn7160 - tag.polling_on: nfcc_pn7160 -i2c: - - id: i2c_pn7160 - scl: ${scl_pin} - sda: ${sda_pin} - pn7150_i2c: id: nfcc_pn7160 + i2c_id: i2c_bus irq_pin: ${irq_pin} ven_pin: ${ven_pin} emulation_message: https://www.home-assistant.io/tag/pulse_ce diff --git a/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml b/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml index 2067143411..cdf8445263 100644 --- a/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp32-idf.yaml b/tests/components/pn7160_i2c/test.esp32-idf.yaml index 1643bec317..9a4cc6669e 100644 --- a/tests/components/pn7160_i2c/test.esp32-idf.yaml +++ b/tests/components/pn7160_i2c/test.esp32-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO14 ven_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp8266-ard.yaml b/tests/components/pn7160_i2c/test.esp8266-ard.yaml index 7111fc9e00..b907e56f80 100644 --- a/tests/components/pn7160_i2c/test.esp8266-ard.yaml +++ b/tests/components/pn7160_i2c/test.esp8266-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO12 - ven_pin: GPIO13 + irq_pin: GPIO15 + ven_pin: GPIO16 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.rp2040-ard.yaml b/tests/components/pn7160_i2c/test.rp2040-ard.yaml index 2067143411..b320b947e3 100644 --- a/tests/components/pn7160_i2c/test.rp2040-ard.yaml +++ b/tests/components/pn7160_i2c/test.rp2040-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_spi/common.yaml b/tests/components/pn7160_spi/common.yaml index 9e8d22f835..d467eb093f 100644 --- a/tests/components/pn7160_spi/common.yaml +++ b/tests/components/pn7160_spi/common.yaml @@ -16,12 +16,6 @@ esphome: - tag.polling_off: nfcc_pn7160 - tag.polling_on: nfcc_pn7160 -spi: - - id: spi_pn7160 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - pn7160_spi: id: nfcc_pn7160 cs_pin: ${cs_pin} diff --git a/tests/components/pn7160_spi/test.esp32-c3-idf.yaml b/tests/components/pn7160_spi/test.esp32-c3-idf.yaml index f8a07fad2f..ac18bfff5c 100644 --- a/tests/components/pn7160_spi/test.esp32-c3-idf.yaml +++ b/tests/components/pn7160_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 irq_pin: GPIO9 ven_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp32-idf.yaml b/tests/components/pn7160_spi/test.esp32-idf.yaml index f6073d0416..f903e4b7be 100644 --- a/tests/components/pn7160_spi/test.esp32-idf.yaml +++ b/tests/components/pn7160_spi/test.esp32-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 cs_pin: GPIO12 irq_pin: GPIO13 ven_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp8266-ard.yaml b/tests/components/pn7160_spi/test.esp8266-ard.yaml index cbe27533a7..7ec89dc012 100644 --- a/tests/components/pn7160_spi/test.esp8266-ard.yaml +++ b/tests/components/pn7160_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 irq_pin: GPIO15 ven_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.rp2040-ard.yaml b/tests/components/pn7160_spi/test.rp2040-ard.yaml index 70cd2425fa..b4a4b436cd 100644 --- a/tests/components/pn7160_spi/test.rp2040-ard.yaml +++ b/tests/components/pn7160_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: irq_pin: GPIO15 ven_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/prometheus/common.yaml b/tests/components/prometheus/common.yaml index 131d135f8b..9a16088ba0 100644 --- a/tests/components/prometheus/common.yaml +++ b/tests/components/prometheus/common.yaml @@ -21,10 +21,12 @@ http_request: ota: - platform: http_request + id: prometheus_http_request_ota update: - platform: http_request name: Firmware Update + ota_id: prometheus_http_request_ota source: http://example.com/manifest.json sensor: diff --git a/tests/components/prometheus/test.esp32-idf.yaml b/tests/components/prometheus/test.esp32-idf.yaml index f00bca5947..d60caadb05 100644 --- a/tests/components/prometheus/test.esp32-idf.yaml +++ b/tests/components/prometheus/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: verify_ssl: "false" pin: GPIO2 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml b/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml +++ b/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-idf.yaml b/tests/components/pvvx_mithermometer/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/pvvx_mithermometer/test.esp32-idf.yaml +++ b/tests/components/pvvx_mithermometer/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pylontech/common.yaml b/tests/components/pylontech/common.yaml index 6852685be7..537450a3b6 100644 --- a/tests/components/pylontech/common.yaml +++ b/tests/components/pylontech/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pylontech0 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - pylontech: - id: pylontech0 - id: pylontech1 diff --git a/tests/components/pylontech/test.esp32-c3-idf.yaml b/tests/components/pylontech/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pylontech/test.esp32-c3-idf.yaml +++ b/tests/components/pylontech/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pylontech/test.esp32-idf.yaml b/tests/components/pylontech/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pylontech/test.esp32-idf.yaml +++ b/tests/components/pylontech/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pylontech/test.esp8266-ard.yaml b/tests/components/pylontech/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pylontech/test.esp8266-ard.yaml +++ b/tests/components/pylontech/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pylontech/test.rp2040-ard.yaml b/tests/components/pylontech/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pylontech/test.rp2040-ard.yaml +++ b/tests/components/pylontech/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pzem004t/common.yaml b/tests/components/pzem004t/common.yaml index 75f7f30fc9..4584f9c273 100644 --- a/tests/components/pzem004t/common.yaml +++ b/tests/components/pzem004t/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pzem004t - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - sensor: - platform: pzem004t voltage: diff --git a/tests/components/pzem004t/test.esp32-c3-idf.yaml b/tests/components/pzem004t/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pzem004t/test.esp32-c3-idf.yaml +++ b/tests/components/pzem004t/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp32-idf.yaml b/tests/components/pzem004t/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pzem004t/test.esp32-idf.yaml +++ b/tests/components/pzem004t/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp8266-ard.yaml b/tests/components/pzem004t/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pzem004t/test.esp8266-ard.yaml +++ b/tests/components/pzem004t/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pzem004t/test.rp2040-ard.yaml b/tests/components/pzem004t/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pzem004t/test.rp2040-ard.yaml +++ b/tests/components/pzem004t/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pzemac/common.yaml b/tests/components/pzemac/common.yaml index e50f4ad2f2..2566051baa 100644 --- a/tests/components/pzemac/common.yaml +++ b/tests/components/pzemac/common.yaml @@ -3,16 +3,9 @@ esphome: then: - pzemac.reset_energy: pzemac1 -uart: - - id: uart_pzemac - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - sensor: - platform: pzemac + modbus_id: modbus_bus id: pzemac1 voltage: name: PZEMAC Voltage diff --git a/tests/components/pzemac/test.esp32-c3-idf.yaml b/tests/components/pzemac/test.esp32-c3-idf.yaml index b516342f3b..6c6e95488f 100644 --- a/tests/components/pzemac/test.esp32-c3-idf.yaml +++ b/tests/components/pzemac/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemac/test.esp32-idf.yaml b/tests/components/pzemac/test.esp32-idf.yaml index f486544afa..37d98696cc 100644 --- a/tests/components/pzemac/test.esp32-idf.yaml +++ b/tests/components/pzemac/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemac/test.esp8266-ard.yaml b/tests/components/pzemac/test.esp8266-ard.yaml index b516342f3b..421389ae97 100644 --- a/tests/components/pzemac/test.esp8266-ard.yaml +++ b/tests/components/pzemac/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pzemac/test.rp2040-ard.yaml b/tests/components/pzemac/test.rp2040-ard.yaml index b516342f3b..d78d84c983 100644 --- a/tests/components/pzemac/test.rp2040-ard.yaml +++ b/tests/components/pzemac/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pzemdc/common.yaml b/tests/components/pzemdc/common.yaml index db1868d682..78a0ab0d07 100644 --- a/tests/components/pzemdc/common.yaml +++ b/tests/components/pzemdc/common.yaml @@ -3,15 +3,9 @@ esphome: then: - pzemdc.reset_energy: pzemdc1 -uart: - - id: uart_pzemdc - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - stop_bits: 2 - sensor: - platform: pzemdc + modbus_id: modbus_bus id: pzemdc1 voltage: name: PZEMDC Voltage diff --git a/tests/components/pzemdc/test.esp32-c3-idf.yaml b/tests/components/pzemdc/test.esp32-c3-idf.yaml index b516342f3b..6c6e95488f 100644 --- a/tests/components/pzemdc/test.esp32-c3-idf.yaml +++ b/tests/components/pzemdc/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp32-idf.yaml b/tests/components/pzemdc/test.esp32-idf.yaml index f486544afa..37d98696cc 100644 --- a/tests/components/pzemdc/test.esp32-idf.yaml +++ b/tests/components/pzemdc/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp8266-ard.yaml b/tests/components/pzemdc/test.esp8266-ard.yaml index b516342f3b..421389ae97 100644 --- a/tests/components/pzemdc/test.esp8266-ard.yaml +++ b/tests/components/pzemdc/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pzemdc/test.rp2040-ard.yaml b/tests/components/pzemdc/test.rp2040-ard.yaml index b516342f3b..d78d84c983 100644 --- a/tests/components/pzemdc/test.rp2040-ard.yaml +++ b/tests/components/pzemdc/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qmc5883l/common.yaml b/tests/components/qmc5883l/common.yaml index c8ad4ba006..98d0350a60 100644 --- a/tests/components/qmc5883l/common.yaml +++ b/tests/components/qmc5883l/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_qmc5883l - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: qmc5883l + i2c_id: i2c_bus address: 0x0D field_strength_x: name: QMC5883L Field Strength X diff --git a/tests/components/qmc5883l/test.esp32-c3-idf.yaml b/tests/components/qmc5883l/test.esp32-c3-idf.yaml index 677501d15a..854ddc25e7 100644 --- a/tests/components/qmc5883l/test.esp32-c3-idf.yaml +++ b/tests/components/qmc5883l/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 drdy_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp32-idf.yaml b/tests/components/qmc5883l/test.esp32-idf.yaml index 2cf2041501..07bf2b14e2 100644 --- a/tests/components/qmc5883l/test.esp32-idf.yaml +++ b/tests/components/qmc5883l/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - drdy_pin: GPIO18 + drdy_pin: GPIO12 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp8266-ard.yaml b/tests/components/qmc5883l/test.esp8266-ard.yaml index 65b0fd75d9..0c02b3b96a 100644 --- a/tests/components/qmc5883l/test.esp8266-ard.yaml +++ b/tests/components/qmc5883l/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 drdy_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qmc5883l/test.rp2040-ard.yaml b/tests/components/qmc5883l/test.rp2040-ard.yaml index 65b0fd75d9..3b10540b1f 100644 --- a/tests/components/qmc5883l/test.rp2040-ard.yaml +++ b/tests/components/qmc5883l/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 drdy_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qmp6988/common.yaml b/tests/components/qmp6988/common.yaml index cb4b221df0..2aea228a0d 100644 --- a/tests/components/qmp6988/common.yaml +++ b/tests/components/qmp6988/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_qmp6988 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: qmp6988 + i2c_id: i2c_bus temperature: name: QMP6988 Temperature oversampling: 32x diff --git a/tests/components/qmp6988/test.esp32-c3-idf.yaml b/tests/components/qmp6988/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/qmp6988/test.esp32-c3-idf.yaml +++ b/tests/components/qmp6988/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp32-idf.yaml b/tests/components/qmp6988/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/qmp6988/test.esp32-idf.yaml +++ b/tests/components/qmp6988/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp8266-ard.yaml b/tests/components/qmp6988/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/qmp6988/test.esp8266-ard.yaml +++ b/tests/components/qmp6988/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/qmp6988/test.rp2040-ard.yaml b/tests/components/qmp6988/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/qmp6988/test.rp2040-ard.yaml +++ b/tests/components/qmp6988/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/qr_code/common.yaml b/tests/components/qr_code/common.yaml index 85c2ee076b..5fec26c1cc 100644 --- a/tests/components/qr_code/common.yaml +++ b/tests/components/qr_code/common.yaml @@ -1,11 +1,6 @@ -spi: - - id: spi_main_lcd - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ili9xxx - id: main_lcd + id: qr_code_main_lcd model: ili9342 cs_pin: ${cs_pin} dc_pin: ${dc_pin} @@ -14,11 +9,11 @@ display: lambda: |- // Draw a QR code in the center of the screen auto scale = 2; - auto size = id(homepage_qr).get_size() * scale; + auto size = id(qr_code_homepage_qr).get_size() * scale; auto x = (it.get_width() / 2) - (size / 2); auto y = (it.get_height() / 2) - (size / 2); - it.qr_code(x, y, id(homepage_qr), Color(255,255,255), scale); + it.qr_code(x, y, id(qr_code_homepage_qr), Color(255,255,255), scale); qr_code: - - id: homepage_qr + - id: qr_code_homepage_qr value: https://esphome.io/index.html diff --git a/tests/components/qr_code/test.esp32-c3-idf.yaml b/tests/components/qr_code/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/qr_code/test.esp32-c3-idf.yaml +++ b/tests/components/qr_code/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/qr_code/test.esp32-idf.yaml b/tests/components/qr_code/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/qr_code/test.esp32-idf.yaml +++ b/tests/components/qr_code/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/qr_code/test.esp8266-ard.yaml b/tests/components/qr_code/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/qr_code/test.esp8266-ard.yaml +++ b/tests/components/qr_code/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qr_code/test.rp2040-ard.yaml b/tests/components/qr_code/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/qr_code/test.rp2040-ard.yaml +++ b/tests/components/qr_code/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qspi_dbi/common.yaml b/tests/components/qspi_dbi/common.yaml index f4b15f2b90..109db65b63 100644 --- a/tests/components/qspi_dbi/common.yaml +++ b/tests/components/qspi_dbi/common.yaml @@ -1,9 +1,3 @@ -spi: - id: quad_spi - clk_pin: 15 - type: quad - data_pins: [14, 10, 16, 12] - display: - platform: qspi_dbi model: RM690B0 diff --git a/tests/components/qspi_dbi/test.esp32-s3-idf.yaml b/tests/components/qspi_dbi/test.esp32-s3-idf.yaml index dade44d145..c335dee1f3 100644 --- a/tests/components/qspi_dbi/test.esp32-s3-idf.yaml +++ b/tests/components/qspi_dbi/test.esp32-s3-idf.yaml @@ -1 +1,4 @@ +packages: + qspi: !include ../../test_build_components/common/qspi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/qwiic_pir/common.yaml b/tests/components/qwiic_pir/common.yaml index d4b733405d..30418ff6b9 100644 --- a/tests/components/qwiic_pir/common.yaml +++ b/tests/components/qwiic_pir/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_qwiic_pir - scl: ${scl_pin} - sda: ${sda_pin} - binary_sensor: - platform: qwiic_pir + i2c_id: i2c_bus name: Qwiic PIR Motion Sensor diff --git a/tests/components/qwiic_pir/test.esp32-c3-idf.yaml b/tests/components/qwiic_pir/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/qwiic_pir/test.esp32-c3-idf.yaml +++ b/tests/components/qwiic_pir/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp32-idf.yaml b/tests/components/qwiic_pir/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/qwiic_pir/test.esp32-idf.yaml +++ b/tests/components/qwiic_pir/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp8266-ard.yaml b/tests/components/qwiic_pir/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/qwiic_pir/test.esp8266-ard.yaml +++ b/tests/components/qwiic_pir/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.rp2040-ard.yaml b/tests/components/qwiic_pir/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/qwiic_pir/test.rp2040-ard.yaml +++ b/tests/components/qwiic_pir/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml b/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml +++ b/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-idf.yaml b/tests/components/radon_eye_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/radon_eye_ble/test.esp32-idf.yaml +++ b/tests/components/radon_eye_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml b/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml +++ b/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-idf.yaml b/tests/components/radon_eye_rd200/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/radon_eye_rd200/test.esp32-idf.yaml +++ b/tests/components/radon_eye_rd200/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/rc522_i2c/common.yaml b/tests/components/rc522_i2c/common.yaml index b8b7a41bc7..65b92a3e78 100644 --- a/tests/components/rc522_i2c/common.yaml +++ b/tests/components/rc522_i2c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_rc522 - scl: ${scl_pin} - sda: ${sda_pin} - rc522_i2c: - id: rc522_nfcc + i2c_id: i2c_bus update_interval: 1s on_tag: - lambda: |- diff --git a/tests/components/rc522_i2c/test.esp32-c3-idf.yaml b/tests/components/rc522_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/rc522_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/rc522_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp32-idf.yaml b/tests/components/rc522_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/rc522_i2c/test.esp32-idf.yaml +++ b/tests/components/rc522_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp8266-ard.yaml b/tests/components/rc522_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/rc522_i2c/test.esp8266-ard.yaml +++ b/tests/components/rc522_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.rp2040-ard.yaml b/tests/components/rc522_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/rc522_i2c/test.rp2040-ard.yaml +++ b/tests/components/rc522_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/rc522_spi/common.yaml b/tests/components/rc522_spi/common.yaml index 5c42858993..4ce1d6584b 100644 --- a/tests/components/rc522_spi/common.yaml +++ b/tests/components/rc522_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_rc522 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - rc522_spi: id: rc522_nfcc cs_pin: ${cs_pin} diff --git a/tests/components/rc522_spi/test.esp32-c3-idf.yaml b/tests/components/rc522_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/rc522_spi/test.esp32-c3-idf.yaml +++ b/tests/components/rc522_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp32-idf.yaml b/tests/components/rc522_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/rc522_spi/test.esp32-idf.yaml +++ b/tests/components/rc522_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp8266-ard.yaml b/tests/components/rc522_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/rc522_spi/test.esp8266-ard.yaml +++ b/tests/components/rc522_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/rc522_spi/test.rp2040-ard.yaml b/tests/components/rc522_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/rc522_spi/test.rp2040-ard.yaml +++ b/tests/components/rc522_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/rdm6300/common.yaml b/tests/components/rdm6300/common.yaml index 118a295471..f1a5305013 100644 --- a/tests/components/rdm6300/common.yaml +++ b/tests/components/rdm6300/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_rdm6300 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - rdm6300: binary_sensor: diff --git a/tests/components/rdm6300/test.esp32-c3-idf.yaml b/tests/components/rdm6300/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/rdm6300/test.esp32-c3-idf.yaml +++ b/tests/components/rdm6300/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp32-idf.yaml b/tests/components/rdm6300/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/rdm6300/test.esp32-idf.yaml +++ b/tests/components/rdm6300/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp8266-ard.yaml b/tests/components/rdm6300/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/rdm6300/test.esp8266-ard.yaml +++ b/tests/components/rdm6300/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/rdm6300/test.rp2040-ard.yaml b/tests/components/rdm6300/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/rdm6300/test.rp2040-ard.yaml +++ b/tests/components/rdm6300/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/remote_receiver/test.esp32-s3-idf.yaml b/tests/components/remote_receiver/test.esp32-s3-idf.yaml index cdae8b1e4e..0d7a20e0c0 100644 --- a/tests/components/remote_receiver/test.esp32-s3-idf.yaml +++ b/tests/components/remote_receiver/test.esp32-s3-idf.yaml @@ -5,9 +5,22 @@ substitutions: receive_symbols: "4" rmt_symbols: "64" -packages: - common: !include esp32-common.yaml - +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. remote_receiver: - - id: !extend rcvr + - id: rcvr + pin: ${pin} + dump: all + tolerance: 25% + clock_resolution: ${clock_resolution} + filter_symbols: ${filter_symbols} + receive_symbols: ${receive_symbols} + rmt_symbols: ${rmt_symbols} use_dma: "true" + <<: !include common-actions.yaml + +binary_sensor: + - platform: remote_receiver + name: Panasonic Remote Input + panasonic: + address: 0x4004 + command: 0x100BCBD diff --git a/tests/components/remote_transmitter/test.esp32-s3-idf.yaml b/tests/components/remote_transmitter/test.esp32-s3-idf.yaml index fe4c46d9e7..8a038beb4a 100644 --- a/tests/components/remote_transmitter/test.esp32-s3-idf.yaml +++ b/tests/components/remote_transmitter/test.esp32-s3-idf.yaml @@ -3,9 +3,14 @@ substitutions: clock_resolution: "2000000" rmt_symbols: "64" -packages: - common: !include esp32-common.yaml - +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. remote_transmitter: - - id: !extend xmitr + - id: xmitr + pin: ${pin} + carrier_duty_percent: 50% + clock_resolution: ${clock_resolution} + rmt_symbols: ${rmt_symbols} use_dma: "true" + +packages: + buttons: !include common-buttons.yaml diff --git a/tests/components/resampler/test.esp32-idf.yaml b/tests/components/resampler/test.esp32-idf.yaml index 96d2d37458..6712f1e468 100644 --- a/tests/components/resampler/test.esp32-idf.yaml +++ b/tests/components/resampler/test.esp32-idf.yaml @@ -1,7 +1,10 @@ substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 + lrclk_pin: GPIO4 + bclk_pin: GPIO5 mclk_pin: GPIO15 dout_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/rf_bridge/common.yaml b/tests/components/rf_bridge/common.yaml index eaadc4bb9c..427c3d783d 100644 --- a/tests/components/rf_bridge/common.yaml +++ b/tests/components/rf_bridge/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_rf_bridge - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - rf_bridge: on_code_received: - lambda: |- diff --git a/tests/components/rf_bridge/test.esp32-c3-idf.yaml b/tests/components/rf_bridge/test.esp32-c3-idf.yaml index b516342f3b..a19013bf54 100644 --- a/tests/components/rf_bridge/test.esp32-c3-idf.yaml +++ b/tests/components/rf_bridge/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp32-idf.yaml b/tests/components/rf_bridge/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/rf_bridge/test.esp32-idf.yaml +++ b/tests/components/rf_bridge/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp8266-ard.yaml b/tests/components/rf_bridge/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/rf_bridge/test.esp8266-ard.yaml +++ b/tests/components/rf_bridge/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/rf_bridge/test.rp2040-ard.yaml b/tests/components/rf_bridge/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/rf_bridge/test.rp2040-ard.yaml +++ b/tests/components/rf_bridge/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml b/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml +++ b/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-idf.yaml b/tests/components/ruuvi_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ruuvi_ble/test.esp32-idf.yaml +++ b/tests/components/ruuvi_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-c3-idf.yaml b/tests/components/ruuvitag/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ruuvitag/test.esp32-c3-idf.yaml +++ b/tests/components/ruuvitag/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-idf.yaml b/tests/components/ruuvitag/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ruuvitag/test.esp32-idf.yaml +++ b/tests/components/ruuvitag/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/scd30/common.yaml b/tests/components/scd30/common.yaml index 1c45c67af0..f21d8944dc 100644 --- a/tests/components/scd30/common.yaml +++ b/tests/components/scd30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_scd30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: scd30 + i2c_id: i2c_bus co2: name: SCD30 CO2 temperature: diff --git a/tests/components/scd30/test.esp32-c3-idf.yaml b/tests/components/scd30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/scd30/test.esp32-c3-idf.yaml +++ b/tests/components/scd30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd30/test.esp32-idf.yaml b/tests/components/scd30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/scd30/test.esp32-idf.yaml +++ b/tests/components/scd30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd30/test.esp8266-ard.yaml b/tests/components/scd30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/scd30/test.esp8266-ard.yaml +++ b/tests/components/scd30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/scd30/test.rp2040-ard.yaml b/tests/components/scd30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/scd30/test.rp2040-ard.yaml +++ b/tests/components/scd30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/common.yaml b/tests/components/scd4x/common.yaml index dfd35e57de..cedb88977e 100644 --- a/tests/components/scd4x/common.yaml +++ b/tests/components/scd4x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_scd4x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: scd4x + i2c_id: i2c_bus id: scd40 co2: name: SCD4X CO2 diff --git a/tests/components/scd4x/test.esp32-c3-idf.yaml b/tests/components/scd4x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/scd4x/test.esp32-c3-idf.yaml +++ b/tests/components/scd4x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/test.esp32-idf.yaml b/tests/components/scd4x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/scd4x/test.esp32-idf.yaml +++ b/tests/components/scd4x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/test.esp8266-ard.yaml b/tests/components/scd4x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/scd4x/test.esp8266-ard.yaml +++ b/tests/components/scd4x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/test.rp2040-ard.yaml b/tests/components/scd4x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/scd4x/test.rp2040-ard.yaml +++ b/tests/components/scd4x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/common.yaml b/tests/components/sdm_meter/common.yaml index 60c71a796b..760f134451 100644 --- a/tests/components/sdm_meter/common.yaml +++ b/tests/components/sdm_meter/common.yaml @@ -1,11 +1,6 @@ -uart: - - id: uart_sdm_meter - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: sdm_meter + modbus_id: modbus_bus phase_a: current: name: Phase A Current diff --git a/tests/components/sdm_meter/test.esp32-c3-idf.yaml b/tests/components/sdm_meter/test.esp32-c3-idf.yaml index b516342f3b..6c6e95488f 100644 --- a/tests/components/sdm_meter/test.esp32-c3-idf.yaml +++ b/tests/components/sdm_meter/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp32-idf.yaml b/tests/components/sdm_meter/test.esp32-idf.yaml index f486544afa..37d98696cc 100644 --- a/tests/components/sdm_meter/test.esp32-idf.yaml +++ b/tests/components/sdm_meter/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp8266-ard.yaml b/tests/components/sdm_meter/test.esp8266-ard.yaml index b516342f3b..421389ae97 100644 --- a/tests/components/sdm_meter/test.esp8266-ard.yaml +++ b/tests/components/sdm_meter/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/test.rp2040-ard.yaml b/tests/components/sdm_meter/test.rp2040-ard.yaml index b516342f3b..d78d84c983 100644 --- a/tests/components/sdm_meter/test.rp2040-ard.yaml +++ b/tests/components/sdm_meter/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sdp3x/common.yaml b/tests/components/sdp3x/common.yaml index d3c5491ca5..5d06f8eddb 100644 --- a/tests/components/sdp3x/common.yaml +++ b/tests/components/sdp3x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sdp3x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sdp3x + i2c_id: i2c_bus id: filter_pressure name: HVAC Filter Pressure drop accuracy_decimals: 3 diff --git a/tests/components/sdp3x/test.esp32-c3-idf.yaml b/tests/components/sdp3x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sdp3x/test.esp32-c3-idf.yaml +++ b/tests/components/sdp3x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp32-idf.yaml b/tests/components/sdp3x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sdp3x/test.esp32-idf.yaml +++ b/tests/components/sdp3x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp8266-ard.yaml b/tests/components/sdp3x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sdp3x/test.esp8266-ard.yaml +++ b/tests/components/sdp3x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sdp3x/test.rp2040-ard.yaml b/tests/components/sdp3x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sdp3x/test.rp2040-ard.yaml +++ b/tests/components/sdp3x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sds011/common.yaml b/tests/components/sds011/common.yaml index c7574e1d7d..abae0f9bd8 100644 --- a/tests/components/sds011/common.yaml +++ b/tests/components/sds011/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sdm_sds011 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - sensor: - platform: sds011 pm_2_5: diff --git a/tests/components/sds011/test.esp32-c3-idf.yaml b/tests/components/sds011/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sds011/test.esp32-c3-idf.yaml +++ b/tests/components/sds011/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sds011/test.esp32-idf.yaml b/tests/components/sds011/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sds011/test.esp32-idf.yaml +++ b/tests/components/sds011/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sds011/test.esp8266-ard.yaml b/tests/components/sds011/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sds011/test.esp8266-ard.yaml +++ b/tests/components/sds011/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sds011/test.rp2040-ard.yaml b/tests/components/sds011/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sds011/test.rp2040-ard.yaml +++ b/tests/components/sds011/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/seeed_mr24hpc1/common.yaml b/tests/components/seeed_mr24hpc1/common.yaml index 38692b3e5e..3a52888c5c 100644 --- a/tests/components/seeed_mr24hpc1/common.yaml +++ b/tests/components/seeed_mr24hpc1/common.yaml @@ -1,14 +1,5 @@ -uart: - - id: seeed_mr24hpc1_uart - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 115200 - parity: NONE - stop_bits: 1 - seeed_mr24hpc1: id: my_seeed_mr24hpc1 - uart_id: seeed_mr24hpc1_uart sensor: - platform: seeed_mr24hpc1 diff --git a/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml b/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml index 4fb884abf4..a19013bf54 100644 --- a/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml +++ b/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/seeed_mr60bha2/common.yaml b/tests/components/seeed_mr60bha2/common.yaml index 9eb0c8d527..7d1a02b3ea 100644 --- a/tests/components/seeed_mr60bha2/common.yaml +++ b/tests/components/seeed_mr60bha2/common.yaml @@ -1,11 +1,3 @@ -uart: - - id: seeed_mr60fda2_uart - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 115200 - parity: NONE - stop_bits: 1 - seeed_mr60bha2: id: my_seeed_mr60bha2 diff --git a/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml b/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml index 4fb884abf4..fea89f5768 100644 --- a/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml +++ b/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 +packages: + uart_115200: !include ../../test_build_components/common/uart_115200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/seeed_mr60fda2/common.yaml b/tests/components/seeed_mr60fda2/common.yaml index 55a7cc1ab3..e0e4614481 100644 --- a/tests/components/seeed_mr60fda2/common.yaml +++ b/tests/components/seeed_mr60fda2/common.yaml @@ -1,14 +1,5 @@ -uart: - - id: seeed_mr60fda2_uart - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 115200 - parity: NONE - stop_bits: 1 - seeed_mr60fda2: id: my_seeed_mr60fda2 - uart_id: seeed_mr60fda2_uart binary_sensor: - platform: seeed_mr60fda2 diff --git a/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml b/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml index 4fb884abf4..fea89f5768 100644 --- a/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml +++ b/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 +packages: + uart_115200: !include ../../test_build_components/common/uart_115200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/selec_meter/common.yaml b/tests/components/selec_meter/common.yaml index f2714ce828..2febbee540 100644 --- a/tests/components/selec_meter/common.yaml +++ b/tests/components/selec_meter/common.yaml @@ -1,11 +1,6 @@ -uart: - - id: uart_selec_meter - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - 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 b516342f3b..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: - tx_pin: GPIO4 - rx_pin: GPIO5 + flow_control_pin: GPIO10 + +packages: + 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 f486544afa..4df9f5863e 100644 --- a/tests/components/selec_meter/test.esp32-idf.yaml +++ b/tests/components/selec_meter/test.esp32-idf.yaml @@ -1,5 +1,9 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + flow_control_pin: GPIO26 + +packages: + 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 b516342f3b..48a7307795 100644 --- a/tests/components/selec_meter/test.esp8266-ard.yaml +++ b/tests/components/selec_meter/test.esp8266-ard.yaml @@ -1,5 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO4 + +packages: + 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 b516342f3b..a65500ccc3 100644 --- a/tests/components/selec_meter/test.rp2040-ard.yaml +++ b/tests/components/selec_meter/test.rp2040-ard.yaml @@ -1,5 +1,9 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO6 + +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/common.yaml b/tests/components/sen0321/common.yaml index 8b9fdff4a1..9228c7b820 100644 --- a/tests/components/sen0321/common.yaml +++ b/tests/components/sen0321/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sen0321 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sen0321 + i2c_id: i2c_bus name: Workshop Ozone Sensor id: sen0321_ozone update_interval: 10s diff --git a/tests/components/sen0321/test.esp32-c3-idf.yaml b/tests/components/sen0321/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sen0321/test.esp32-c3-idf.yaml +++ b/tests/components/sen0321/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/test.esp32-idf.yaml b/tests/components/sen0321/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sen0321/test.esp32-idf.yaml +++ b/tests/components/sen0321/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/test.esp8266-ard.yaml b/tests/components/sen0321/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sen0321/test.esp8266-ard.yaml +++ b/tests/components/sen0321/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/test.rp2040-ard.yaml b/tests/components/sen0321/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sen0321/test.rp2040-ard.yaml +++ b/tests/components/sen0321/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/common.yaml b/tests/components/sen21231/common.yaml index 6fa1d04aa2..bfe0f9d7f8 100644 --- a/tests/components/sen21231/common.yaml +++ b/tests/components/sen21231/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_sen21231 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sen21231 + i2c_id: i2c_bus id: sen21231_sensor1 name: Person Sensor diff --git a/tests/components/sen21231/test.esp32-c3-idf.yaml b/tests/components/sen21231/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sen21231/test.esp32-c3-idf.yaml +++ b/tests/components/sen21231/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/test.esp32-idf.yaml b/tests/components/sen21231/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sen21231/test.esp32-idf.yaml +++ b/tests/components/sen21231/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/test.esp8266-ard.yaml b/tests/components/sen21231/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sen21231/test.esp8266-ard.yaml +++ b/tests/components/sen21231/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/test.rp2040-ard.yaml b/tests/components/sen21231/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sen21231/test.rp2040-ard.yaml +++ b/tests/components/sen21231/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/common.yaml b/tests/components/sen5x/common.yaml index 9adf268048..a4462a16ea 100644 --- a/tests/components/sen5x/common.yaml +++ b/tests/components/sen5x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sen5x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sen5x + i2c_id: i2c_bus id: sen54 temperature: name: Temperature diff --git a/tests/components/sen5x/test.esp32-c3-idf.yaml b/tests/components/sen5x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sen5x/test.esp32-c3-idf.yaml +++ b/tests/components/sen5x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/test.esp32-idf.yaml b/tests/components/sen5x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sen5x/test.esp32-idf.yaml +++ b/tests/components/sen5x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/test.esp8266-ard.yaml b/tests/components/sen5x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sen5x/test.esp8266-ard.yaml +++ b/tests/components/sen5x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/test.rp2040-ard.yaml b/tests/components/sen5x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sen5x/test.rp2040-ard.yaml +++ b/tests/components/sen5x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/senseair/common.yaml b/tests/components/senseair/common.yaml index 23a933affe..c8066896d0 100644 --- a/tests/components/senseair/common.yaml +++ b/tests/components/senseair/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_senseair - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: senseair id: senseair0 diff --git a/tests/components/senseair/test.esp32-c3-idf.yaml b/tests/components/senseair/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/senseair/test.esp32-c3-idf.yaml +++ b/tests/components/senseair/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/senseair/test.esp32-idf.yaml b/tests/components/senseair/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/senseair/test.esp32-idf.yaml +++ b/tests/components/senseair/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/senseair/test.esp8266-ard.yaml b/tests/components/senseair/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/senseair/test.esp8266-ard.yaml +++ b/tests/components/senseair/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/senseair/test.rp2040-ard.yaml b/tests/components/senseair/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/senseair/test.rp2040-ard.yaml +++ b/tests/components/senseair/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sfa30/common.yaml b/tests/components/sfa30/common.yaml index e3b38aa7fb..3cd2483abc 100644 --- a/tests/components/sfa30/common.yaml +++ b/tests/components/sfa30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sfa30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sfa30 + i2c_id: i2c_bus formaldehyde: name: SFA30 formaldehyde temperature: diff --git a/tests/components/sfa30/test.esp32-c3-idf.yaml b/tests/components/sfa30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sfa30/test.esp32-c3-idf.yaml +++ b/tests/components/sfa30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sfa30/test.esp32-idf.yaml b/tests/components/sfa30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sfa30/test.esp32-idf.yaml +++ b/tests/components/sfa30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sfa30/test.esp8266-ard.yaml b/tests/components/sfa30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sfa30/test.esp8266-ard.yaml +++ b/tests/components/sfa30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sfa30/test.rp2040-ard.yaml b/tests/components/sfa30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sfa30/test.rp2040-ard.yaml +++ b/tests/components/sfa30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/common.yaml b/tests/components/sgp30/common.yaml index 1db5bc67d1..9d4ed46615 100644 --- a/tests/components/sgp30/common.yaml +++ b/tests/components/sgp30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sgp30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sgp30 + i2c_id: i2c_bus eco2: name: Workshop eCO2 accuracy_decimals: 1 diff --git a/tests/components/sgp30/test.esp32-c3-idf.yaml b/tests/components/sgp30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sgp30/test.esp32-c3-idf.yaml +++ b/tests/components/sgp30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/test.esp32-idf.yaml b/tests/components/sgp30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sgp30/test.esp32-idf.yaml +++ b/tests/components/sgp30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/test.esp8266-ard.yaml b/tests/components/sgp30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sgp30/test.esp8266-ard.yaml +++ b/tests/components/sgp30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/test.rp2040-ard.yaml b/tests/components/sgp30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sgp30/test.rp2040-ard.yaml +++ b/tests/components/sgp30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/common.yaml b/tests/components/sgp4x/common.yaml index adb678d542..4edda8fd1b 100644 --- a/tests/components/sgp4x/common.yaml +++ b/tests/components/sgp4x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sgp4x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sgp4x + i2c_id: i2c_bus voc: name: VOC Index id: sgp40_voc_index diff --git a/tests/components/sgp4x/test.esp32-c3-idf.yaml b/tests/components/sgp4x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sgp4x/test.esp32-c3-idf.yaml +++ b/tests/components/sgp4x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp32-idf.yaml b/tests/components/sgp4x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sgp4x/test.esp32-idf.yaml +++ b/tests/components/sgp4x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp8266-ard.yaml b/tests/components/sgp4x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sgp4x/test.esp8266-ard.yaml +++ b/tests/components/sgp4x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/test.rp2040-ard.yaml b/tests/components/sgp4x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sgp4x/test.rp2040-ard.yaml +++ b/tests/components/sgp4x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/shelly_dimmer/common.yaml b/tests/components/shelly_dimmer/common.yaml index 3acd0260d5..ba36fa995d 100644 --- a/tests/components/shelly_dimmer/common.yaml +++ b/tests/components/shelly_dimmer/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_shelly_dimmer - tx_pin: 4 - rx_pin: 5 - baud_rate: 9600 - light: - platform: shelly_dimmer name: Shelly Dimmer Light diff --git a/tests/components/shelly_dimmer/test.esp8266-ard.yaml b/tests/components/shelly_dimmer/test.esp8266-ard.yaml index dade44d145..80a2cb2fc0 100644 --- a/tests/components/shelly_dimmer/test.esp8266-ard.yaml +++ b/tests/components/shelly_dimmer/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + uart_115200: !include ../../test_build_components/common/uart_115200/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sht3xd/common.yaml b/tests/components/sht3xd/common.yaml index 2426ebfbb9..02ce521747 100644 --- a/tests/components/sht3xd/common.yaml +++ b/tests/components/sht3xd/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sht3xd - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sht3xd + i2c_id: i2c_bus temperature: name: SHT3XD Temperature humidity: diff --git a/tests/components/sht3xd/test.esp32-c3-idf.yaml b/tests/components/sht3xd/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sht3xd/test.esp32-c3-idf.yaml +++ b/tests/components/sht3xd/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp32-idf.yaml b/tests/components/sht3xd/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sht3xd/test.esp32-idf.yaml +++ b/tests/components/sht3xd/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp8266-ard.yaml b/tests/components/sht3xd/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sht3xd/test.esp8266-ard.yaml +++ b/tests/components/sht3xd/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sht3xd/test.rp2040-ard.yaml b/tests/components/sht3xd/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sht3xd/test.rp2040-ard.yaml +++ b/tests/components/sht3xd/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/common.yaml b/tests/components/sht4x/common.yaml index 703a8fa32b..50d5ad8ca4 100644 --- a/tests/components/sht4x/common.yaml +++ b/tests/components/sht4x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sht4x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sht4x + i2c_id: i2c_bus temperature: name: SHT4X Temperature humidity: diff --git a/tests/components/sht4x/test.esp32-c3-idf.yaml b/tests/components/sht4x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sht4x/test.esp32-c3-idf.yaml +++ b/tests/components/sht4x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/test.esp32-idf.yaml b/tests/components/sht4x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sht4x/test.esp32-idf.yaml +++ b/tests/components/sht4x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/test.esp8266-ard.yaml b/tests/components/sht4x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sht4x/test.esp8266-ard.yaml +++ b/tests/components/sht4x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/test.rp2040-ard.yaml b/tests/components/sht4x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sht4x/test.rp2040-ard.yaml +++ b/tests/components/sht4x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/common.yaml b/tests/components/shtcx/common.yaml index 0211319124..a326a1b4d6 100644 --- a/tests/components/shtcx/common.yaml +++ b/tests/components/shtcx/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_shtcx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: shtcx + i2c_id: i2c_bus temperature: name: SHTCX Temperature humidity: diff --git a/tests/components/shtcx/test.esp32-c3-idf.yaml b/tests/components/shtcx/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/shtcx/test.esp32-c3-idf.yaml +++ b/tests/components/shtcx/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/test.esp32-idf.yaml b/tests/components/shtcx/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/shtcx/test.esp32-idf.yaml +++ b/tests/components/shtcx/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/test.esp8266-ard.yaml b/tests/components/shtcx/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/shtcx/test.esp8266-ard.yaml +++ b/tests/components/shtcx/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/test.rp2040-ard.yaml b/tests/components/shtcx/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/shtcx/test.rp2040-ard.yaml +++ b/tests/components/shtcx/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/common.yaml b/tests/components/sim800l/common.yaml index 1b4e2e1af6..503637b35f 100644 --- a/tests/components/sim800l/common.yaml +++ b/tests/components/sim800l/common.yaml @@ -11,12 +11,6 @@ esphome: - sim800l.send_ussd: ussd: test_ussd -uart: - - id: uart_sim800l - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sim800l: on_sms_received: - lambda: |- diff --git a/tests/components/sim800l/test.esp32-c3-idf.yaml b/tests/components/sim800l/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sim800l/test.esp32-c3-idf.yaml +++ b/tests/components/sim800l/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/test.esp32-idf.yaml b/tests/components/sim800l/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sim800l/test.esp32-idf.yaml +++ b/tests/components/sim800l/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/test.esp8266-ard.yaml b/tests/components/sim800l/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sim800l/test.esp8266-ard.yaml +++ b/tests/components/sim800l/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/test.rp2040-ard.yaml b/tests/components/sim800l/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sim800l/test.rp2040-ard.yaml +++ b/tests/components/sim800l/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sm16716/test.esp32-idf.yaml b/tests/components/sm16716/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm16716/test.esp32-idf.yaml +++ b/tests/components/sm16716/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm16716/test.esp8266-ard.yaml b/tests/components/sm16716/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm16716/test.esp8266-ard.yaml +++ b/tests/components/sm16716/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm2135/test.esp32-idf.yaml b/tests/components/sm2135/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm2135/test.esp32-idf.yaml +++ b/tests/components/sm2135/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm2135/test.esp8266-ard.yaml b/tests/components/sm2135/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm2135/test.esp8266-ard.yaml +++ b/tests/components/sm2135/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm2235/test.esp32-idf.yaml b/tests/components/sm2235/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm2235/test.esp32-idf.yaml +++ b/tests/components/sm2235/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm2235/test.esp8266-ard.yaml b/tests/components/sm2235/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm2235/test.esp8266-ard.yaml +++ b/tests/components/sm2235/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm2335/test.esp32-idf.yaml b/tests/components/sm2335/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm2335/test.esp32-idf.yaml +++ b/tests/components/sm2335/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm2335/test.esp8266-ard.yaml b/tests/components/sm2335/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm2335/test.esp8266-ard.yaml +++ b/tests/components/sm2335/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm300d2/common.yaml b/tests/components/sm300d2/common.yaml index a231b63816..729f243a65 100644 --- a/tests/components/sm300d2/common.yaml +++ b/tests/components/sm300d2/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sm300d2 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: sm300d2 co2: diff --git a/tests/components/sm300d2/test.esp32-c3-idf.yaml b/tests/components/sm300d2/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sm300d2/test.esp32-c3-idf.yaml +++ b/tests/components/sm300d2/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp32-idf.yaml b/tests/components/sm300d2/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sm300d2/test.esp32-idf.yaml +++ b/tests/components/sm300d2/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp8266-ard.yaml b/tests/components/sm300d2/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sm300d2/test.esp8266-ard.yaml +++ b/tests/components/sm300d2/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sm300d2/test.rp2040-ard.yaml b/tests/components/sm300d2/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sm300d2/test.rp2040-ard.yaml +++ b/tests/components/sm300d2/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sml/common.yaml b/tests/components/sml/common.yaml index a50d25eeee..b1bd5949b6 100644 --- a/tests/components/sml/common.yaml +++ b/tests/components/sml/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sml - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sml: id: mysml on_data: diff --git a/tests/components/sml/test.esp32-c3-idf.yaml b/tests/components/sml/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sml/test.esp32-c3-idf.yaml +++ b/tests/components/sml/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sml/test.esp32-idf.yaml b/tests/components/sml/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sml/test.esp32-idf.yaml +++ b/tests/components/sml/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sml/test.esp8266-ard.yaml b/tests/components/sml/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sml/test.esp8266-ard.yaml +++ b/tests/components/sml/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sml/test.rp2040-ard.yaml b/tests/components/sml/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sml/test.rp2040-ard.yaml +++ b/tests/components/sml/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/smt100/common.yaml b/tests/components/smt100/common.yaml index b12d7198fd..86c5636b94 100644 --- a/tests/components/smt100/common.yaml +++ b/tests/components/smt100/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_smt100 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: smt100 counts: diff --git a/tests/components/smt100/test.esp32-c3-idf.yaml b/tests/components/smt100/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/smt100/test.esp32-c3-idf.yaml +++ b/tests/components/smt100/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/smt100/test.esp32-idf.yaml b/tests/components/smt100/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/smt100/test.esp32-idf.yaml +++ b/tests/components/smt100/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/smt100/test.esp8266-ard.yaml b/tests/components/smt100/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/smt100/test.esp8266-ard.yaml +++ b/tests/components/smt100/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/smt100/test.rp2040-ard.yaml b/tests/components/smt100/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/smt100/test.rp2040-ard.yaml +++ b/tests/components/smt100/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp32-idf.yaml b/tests/components/sn74hc165/test.esp32-idf.yaml index 27f963312f..8a997e16e1 100644 --- a/tests/components/sn74hc165/test.esp32-idf.yaml +++ b/tests/components/sn74hc165/test.esp32-idf.yaml @@ -2,6 +2,6 @@ substitutions: clock_pin: GPIO13 data_pin: GPIO14 load_pin: GPIO15 - clock_inhibit_pin: GPIO16 + clock_inhibit_pin: GPIO4 <<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp8266-ard.yaml b/tests/components/sn74hc165/test.esp8266-ard.yaml index 27f963312f..00ffc10a9e 100644 --- a/tests/components/sn74hc165/test.esp8266-ard.yaml +++ b/tests/components/sn74hc165/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - clock_pin: GPIO13 - data_pin: GPIO14 + clock_pin: GPIO0 + data_pin: GPIO2 load_pin: GPIO15 clock_inhibit_pin: GPIO16 diff --git a/tests/components/sn74hc595/common.yaml b/tests/components/sn74hc595/common.yaml index fc297909f5..3892c0564b 100644 --- a/tests/components/sn74hc595/common.yaml +++ b/tests/components/sn74hc595/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_sn74hc595 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sn74hc595: - id: sn74hc595_hub clock_pin: ${clock_pin} diff --git a/tests/components/sn74hc595/test.esp32-c3-idf.yaml b/tests/components/sn74hc595/test.esp32-c3-idf.yaml index 14c928be88..74b5e855fa 100644 --- a/tests/components/sn74hc595/test.esp32-c3-idf.yaml +++ b/tests/components/sn74hc595/test.esp32-c3-idf.yaml @@ -1,9 +1,9 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO8 - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO7 + data_pin: GPIO10 latch_pin1: GPIO1 oe_pin1: GPIO2 latch_pin2: GPIO3 diff --git a/tests/components/sn74hc595/test.esp32-idf.yaml b/tests/components/sn74hc595/test.esp32-idf.yaml index a4bab64862..4b47d2aeaa 100644 --- a/tests/components/sn74hc595/test.esp32-idf.yaml +++ b/tests/components/sn74hc595/test.esp32-idf.yaml @@ -1,12 +1,12 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 clock_pin: GPIO15 data_pin: GPIO14 latch_pin1: GPIO21 oe_pin1: GPIO22 - latch_pin2: GPIO23 - oe_pin2: GPIO25 + latch_pin2: GPIO25 + oe_pin2: GPIO26 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sn74hc595/test.esp8266-ard.yaml b/tests/components/sn74hc595/test.esp8266-ard.yaml index cad11feca8..cc011e01d4 100644 --- a/tests/components/sn74hc595/test.esp8266-ard.yaml +++ b/tests/components/sn74hc595/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 clock_pin: GPIO5 data_pin: GPIO4 latch_pin1: GPIO2 diff --git a/tests/components/sn74hc595/test.rp2040-ard.yaml b/tests/components/sn74hc595/test.rp2040-ard.yaml index 14c928be88..93cf5efb0c 100644 --- a/tests/components/sn74hc595/test.rp2040-ard.yaml +++ b/tests/components/sn74hc595/test.rp2040-ard.yaml @@ -1,12 +1,12 @@ +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO8 clock_pin: GPIO5 - data_pin: GPIO4 + data_pin: GPIO0 latch_pin1: GPIO1 - oe_pin1: GPIO2 - latch_pin2: GPIO3 + oe_pin1: GPIO6 + latch_pin2: GPIO7 oe_pin2: GPIO9 <<: !include common.yaml diff --git a/tests/components/sonoff_d1/common.yaml b/tests/components/sonoff_d1/common.yaml index d2d4043b95..dc08380683 100644 --- a/tests/components/sonoff_d1/common.yaml +++ b/tests/components/sonoff_d1/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sonoff_d1 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - light: - platform: sonoff_d1 id: d1_light diff --git a/tests/components/sonoff_d1/test.esp32-c3-idf.yaml b/tests/components/sonoff_d1/test.esp32-c3-idf.yaml index b516342f3b..a19013bf54 100644 --- a/tests/components/sonoff_d1/test.esp32-c3-idf.yaml +++ b/tests/components/sonoff_d1/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp32-idf.yaml b/tests/components/sonoff_d1/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/sonoff_d1/test.esp32-idf.yaml +++ b/tests/components/sonoff_d1/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp8266-ard.yaml b/tests/components/sonoff_d1/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/sonoff_d1/test.esp8266-ard.yaml +++ b/tests/components/sonoff_d1/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.rp2040-ard.yaml b/tests/components/sonoff_d1/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/sonoff_d1/test.rp2040-ard.yaml +++ b/tests/components/sonoff_d1/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-idf.yaml b/tests/components/sound_level/test.esp32-idf.yaml index c6d1bfa330..20e38e8df8 100644 --- a/tests/components/sound_level/test.esp32-idf.yaml +++ b/tests/components/sound_level/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: i2s_lrclk_pin: GPIO26 i2s_dout_pin: GPIO27 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/speaker/audio_dac.esp32-ard.yaml b/tests/components/speaker/audio_dac.esp32-ard.yaml index 75d9ddf92b..3f5d1bba7c 100644 --- a/tests/components/speaker/audio_dac.esp32-ard.yaml +++ b/tests/components/speaker/audio_dac.esp32-ard.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 i2s_dout_pin: GPIO23 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-c3-idf.yaml b/tests/components/speaker/audio_dac.esp32-c3-idf.yaml index 1004d2143e..30900f1920 100644 --- a/tests/components/speaker/audio_dac.esp32-c3-idf.yaml +++ b/tests/components/speaker/audio_dac.esp32-c3-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 i2s_bclk_pin: GPIO7 i2s_lrclk_pin: GPIO6 i2s_mclk_pin: GPIO9 i2s_dout_pin: GPIO8 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-idf.yaml b/tests/components/speaker/audio_dac.esp32-idf.yaml index 75d9ddf92b..71c8b06e24 100644 --- a/tests/components/speaker/audio_dac.esp32-idf.yaml +++ b/tests/components/speaker/audio_dac.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 i2s_dout_pin: GPIO23 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/common-audio_dac.yaml b/tests/components/speaker/common-audio_dac.yaml index 41b994d4d4..67bd6c28ef 100644 --- a/tests/components/speaker/common-audio_dac.yaml +++ b/tests/components/speaker/common-audio_dac.yaml @@ -14,11 +14,6 @@ esphome: - speaker.finish: - speaker.stop: -i2c: - - id: i2c_audio_dac - scl: ${scl_pin} - sda: ${sda_pin} - i2s_audio: i2s_lrclk_pin: ${i2s_bclk_pin} i2s_bclk_pin: ${i2s_lrclk_pin} @@ -26,6 +21,7 @@ i2s_audio: audio_dac: - platform: aic3204 + i2c_id: i2c_bus id: internal_dac speaker: diff --git a/tests/components/speaker/test.esp32-ard.yaml b/tests/components/speaker/test.esp32-ard.yaml index e2439ebdf2..13350cd097 100644 --- a/tests/components/speaker/test.esp32-ard.yaml +++ b/tests/components/speaker/test.esp32-ard.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 - i2s_dout_pin: GPIO23 + i2s_dout_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/speaker/test.esp32-c3-idf.yaml b/tests/components/speaker/test.esp32-c3-idf.yaml index ddcf051fab..9d1a1cca3b 100644 --- a/tests/components/speaker/test.esp32-c3-idf.yaml +++ b/tests/components/speaker/test.esp32-c3-idf.yaml @@ -6,4 +6,7 @@ substitutions: i2s_mclk_pin: GPIO9 i2s_dout_pin: GPIO8 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/speaker/test.esp32-idf.yaml b/tests/components/speaker/test.esp32-idf.yaml index e2439ebdf2..27b8604656 100644 --- a/tests/components/speaker/test.esp32-idf.yaml +++ b/tests/components/speaker/test.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 - i2s_dout_pin: GPIO23 + i2s_dout_pin: GPIO12 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi/common.yaml b/tests/components/spi/common.yaml index 04b4779957..e69de29bb2 100644 --- a/tests/components/spi/common.yaml +++ b/tests/components/spi/common.yaml @@ -1,5 +0,0 @@ -spi: - - id: spi_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} diff --git a/tests/components/spi/test.esp32-c3-idf.yaml b/tests/components/spi/test.esp32-c3-idf.yaml index bfa12b1755..54463271a9 100644 --- a/tests/components/spi/test.esp32-c3-idf.yaml +++ b/tests/components/spi/test.esp32-c3-idf.yaml @@ -1,6 +1,5 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi/test.esp32-idf.yaml b/tests/components/spi/test.esp32-idf.yaml index 448e54fea6..a8e18ca503 100644 --- a/tests/components/spi/test.esp32-idf.yaml +++ b/tests/components/spi/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi/test.esp8266-ard.yaml b/tests/components/spi/test.esp8266-ard.yaml index b9545d4f6a..4f9c816740 100644 --- a/tests/components/spi/test.esp8266-ard.yaml +++ b/tests/components/spi/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/spi_device/common.yaml b/tests/components/spi_device/common.yaml index 0f6a5038fb..8511603bc2 100644 --- a/tests/components/spi_device/common.yaml +++ b/tests/components/spi_device/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_device1 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - spi_device: - id: spi_device_test data_rate: 2MHz diff --git a/tests/components/spi_device/test.esp32-c3-idf.yaml b/tests/components/spi_device/test.esp32-c3-idf.yaml index bfa12b1755..6d64c2b23b 100644 --- a/tests/components/spi_device/test.esp32-c3-idf.yaml +++ b/tests/components/spi_device/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi_device/test.esp32-idf.yaml b/tests/components/spi_device/test.esp32-idf.yaml index c4989cccbf..aace9192b1 100644 --- a/tests/components/spi_device/test.esp32-idf.yaml +++ b/tests/components/spi_device/test.esp32-idf.yaml @@ -1,7 +1,5 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml spi_device: diff --git a/tests/components/spi_device/test.esp8266-ard.yaml b/tests/components/spi_device/test.esp8266-ard.yaml index b9545d4f6a..433a931284 100644 --- a/tests/components/spi_device/test.esp8266-ard.yaml +++ b/tests/components/spi_device/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/spi_device/test.rp2040-ard.yaml b/tests/components/spi_device/test.rp2040-ard.yaml index 81a8acafd8..149d530753 100644 --- a/tests/components/spi_device/test.rp2040-ard.yaml +++ b/tests/components/spi_device/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/common.yaml b/tests/components/spi_led_strip/common.yaml index 80b98a63a4..30e2ef22f7 100644 --- a/tests/components/spi_led_strip/common.yaml +++ b/tests/components/spi_led_strip/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_spi_led_strip - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - light: - platform: spi_led_strip num_leds: 4 diff --git a/tests/components/spi_led_strip/test.esp32-c3-idf.yaml b/tests/components/spi_led_strip/test.esp32-c3-idf.yaml index a85b587070..6d64c2b23b 100644 --- a/tests/components/spi_led_strip/test.esp32-c3-idf.yaml +++ b/tests/components/spi_led_strip/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp32-idf.yaml b/tests/components/spi_led_strip/test.esp32-idf.yaml index 8906602ef4..a8e18ca503 100644 --- a/tests/components/spi_led_strip/test.esp32-idf.yaml +++ b/tests/components/spi_led_strip/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp8266-ard.yaml b/tests/components/spi_led_strip/test.esp8266-ard.yaml index 7baaa62ed5..433a931284 100644 --- a/tests/components/spi_led_strip/test.esp8266-ard.yaml +++ b/tests/components/spi_led_strip/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.rp2040-ard.yaml b/tests/components/spi_led_strip/test.rp2040-ard.yaml index 411cfbe00e..149d530753 100644 --- a/tests/components/spi_led_strip/test.rp2040-ard.yaml +++ b/tests/components/spi_led_strip/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sps30/common.yaml b/tests/components/sps30/common.yaml index 2fbe2c747a..d40cd16b6d 100644 --- a/tests/components/sps30/common.yaml +++ b/tests/components/sps30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sps30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sps30 + i2c_id: i2c_bus pm_1_0: name: Workshop PM <1µm Weight concentration id: workshop_PM_1_0 diff --git a/tests/components/sps30/test.esp32-c3-idf.yaml b/tests/components/sps30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sps30/test.esp32-c3-idf.yaml +++ b/tests/components/sps30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sps30/test.esp32-idf.yaml b/tests/components/sps30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sps30/test.esp32-idf.yaml +++ b/tests/components/sps30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sps30/test.esp8266-ard.yaml b/tests/components/sps30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sps30/test.esp8266-ard.yaml +++ b/tests/components/sps30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sps30/test.rp2040-ard.yaml b/tests/components/sps30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sps30/test.rp2040-ard.yaml +++ b/tests/components/sps30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/common.yaml b/tests/components/ssd1306_i2c/common.yaml index d17f83f03a..e876fcb36a 100644 --- a/tests/components/ssd1306_i2c/common.yaml +++ b/tests/components/ssd1306_i2c/common.yaml @@ -1,25 +1,21 @@ -i2c: - - id: i2c_ssd1306_i2c - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus model: SSD1306_128X64 reset_pin: ${reset_pin} address: 0x3C id: display1 contrast: 60% pages: - - id: page1 + - id: ssd1306_i2c_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1306_i2c_page2 lambda: |- it.rectangle(0, 0, 10, 10); on_page_change: - from: page1 - to: page2 + from: ssd1306_i2c_page1 + to: ssd1306_i2c_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml b/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml index 4eaff7fa4a..f8bfab2319 100644 --- a/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp32-idf.yaml b/tests/components/ssd1306_i2c/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/ssd1306_i2c/test.esp32-idf.yaml +++ b/tests/components/ssd1306_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp8266-ard.yaml b/tests/components/ssd1306_i2c/test.esp8266-ard.yaml index af91c21a0d..352cc8cda8 100644 --- a/tests/components/ssd1306_i2c/test.esp8266-ard.yaml +++ b/tests/components/ssd1306_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.rp2040-ard.yaml b/tests/components/ssd1306_i2c/test.rp2040-ard.yaml index 4eaff7fa4a..2972fde8a5 100644 --- a/tests/components/ssd1306_i2c/test.rp2040-ard.yaml +++ b/tests/components/ssd1306_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/common.yaml b/tests/components/ssd1306_spi/common.yaml index 71705f32d2..2a2adb4146 100644 --- a/tests/components/ssd1306_spi/common.yaml +++ b/tests/components/ssd1306_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1306_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1306_spi model: SSD1306 128x64 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1306_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1306_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1306_spi_page1 + to: ssd1306_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp32-idf.yaml b/tests/components/ssd1306_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1306_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1306_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp8266-ard.yaml b/tests/components/ssd1306_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1306_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1306_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.rp2040-ard.yaml b/tests/components/ssd1306_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1306_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1306_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/common.yaml b/tests/components/ssd1322_spi/common.yaml index b67392794c..c0e16b6f09 100644 --- a/tests/components/ssd1322_spi/common.yaml +++ b/tests/components/ssd1322_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1322_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1322_spi model: SSD1322 256x64 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1322_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1322_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1322_spi_page1 + to: ssd1322_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp32-idf.yaml b/tests/components/ssd1322_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1322_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1322_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp8266-ard.yaml b/tests/components/ssd1322_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1322_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1322_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.rp2040-ard.yaml b/tests/components/ssd1322_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1322_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1322_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/common.yaml b/tests/components/ssd1325_spi/common.yaml index eaa8b619ca..dea8502538 100644 --- a/tests/components/ssd1325_spi/common.yaml +++ b/tests/components/ssd1325_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1325_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1325_spi model: SSD1325 128x64 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1325_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1325_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1325_spi_page1 + to: ssd1325_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp32-idf.yaml b/tests/components/ssd1325_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1325_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1325_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp8266-ard.yaml b/tests/components/ssd1325_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1325_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1325_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.rp2040-ard.yaml b/tests/components/ssd1325_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1325_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1325_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/common.yaml b/tests/components/ssd1327_i2c/common.yaml index 72a122c3d7..c90e9678dd 100644 --- a/tests/components/ssd1327_i2c/common.yaml +++ b/tests/components/ssd1327_i2c/common.yaml @@ -1,24 +1,20 @@ -i2c: - - id: i2c_ssd1327_i2c - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1327_i2c + i2c_id: i2c_bus model: SSD1327_128x128 reset_pin: ${reset_pin} address: 0x3C id: display1 pages: - - id: page1 + - id: ssd1327_i2c_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1327_i2c_page2 lambda: |- it.rectangle(0, 0, 10, 10); on_page_change: - from: page1 - to: page2 + from: ssd1327_i2c_page1 + to: ssd1327_i2c_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml b/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml index 4eaff7fa4a..f8bfab2319 100644 --- a/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp32-idf.yaml b/tests/components/ssd1327_i2c/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/ssd1327_i2c/test.esp32-idf.yaml +++ b/tests/components/ssd1327_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp8266-ard.yaml b/tests/components/ssd1327_i2c/test.esp8266-ard.yaml index af91c21a0d..352cc8cda8 100644 --- a/tests/components/ssd1327_i2c/test.esp8266-ard.yaml +++ b/tests/components/ssd1327_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.rp2040-ard.yaml b/tests/components/ssd1327_i2c/test.rp2040-ard.yaml index 4eaff7fa4a..2972fde8a5 100644 --- a/tests/components/ssd1327_i2c/test.rp2040-ard.yaml +++ b/tests/components/ssd1327_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/common.yaml b/tests/components/ssd1327_spi/common.yaml index 85f4d4736b..1aa4fb5a1c 100644 --- a/tests/components/ssd1327_spi/common.yaml +++ b/tests/components/ssd1327_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1327_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1327_spi model: SSD1327 128x128 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1327_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1327_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1327_spi_page1 + to: ssd1327_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp32-idf.yaml b/tests/components/ssd1327_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1327_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1327_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp8266-ard.yaml b/tests/components/ssd1327_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1327_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1327_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.rp2040-ard.yaml b/tests/components/ssd1327_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1327_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1327_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/common.yaml b/tests/components/ssd1331_spi/common.yaml index 40726101e8..2b708e9bd9 100644 --- a/tests/components/ssd1331_spi/common.yaml +++ b/tests/components/ssd1331_spi/common.yaml @@ -1,23 +1,18 @@ -spi: - - id: spi_ssd1331_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1331_spi cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1331_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1331_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1331_spi_page1 + to: ssd1331_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp32-idf.yaml b/tests/components/ssd1331_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1331_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1331_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp8266-ard.yaml b/tests/components/ssd1331_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1331_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1331_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.rp2040-ard.yaml b/tests/components/ssd1331_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1331_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1331_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/common.yaml b/tests/components/ssd1351_spi/common.yaml index fa495ff0c3..e4d3d55f3f 100644 --- a/tests/components/ssd1351_spi/common.yaml +++ b/tests/components/ssd1351_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1351_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1351_spi model: "SSD1351 128x128" @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1351_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1351_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1351_spi_page1 + to: ssd1351_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp32-idf.yaml b/tests/components/ssd1351_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1351_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1351_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp8266-ard.yaml b/tests/components/ssd1351_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1351_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1351_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.rp2040-ard.yaml b/tests/components/ssd1351_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1351_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1351_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/common.yaml b/tests/components/st7567_i2c/common.yaml index 41c65e5110..9a4cd79faa 100644 --- a/tests/components/st7567_i2c/common.yaml +++ b/tests/components/st7567_i2c/common.yaml @@ -1,23 +1,19 @@ -i2c: - - id: i2c_st7567_i2c - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: st7567_i2c + i2c_id: i2c_bus reset_pin: ${reset_pin} address: 0x3C id: display1 pages: - - id: page1 + - id: st7567_i2c_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7567_i2c_page2 lambda: |- it.rectangle(0, 0, 10, 10); on_page_change: - from: page1 - to: page2 + from: st7567_i2c_page1 + to: st7567_i2c_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7567_i2c/test.esp32-c3-idf.yaml b/tests/components/st7567_i2c/test.esp32-c3-idf.yaml index 4eaff7fa4a..f8bfab2319 100644 --- a/tests/components/st7567_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/st7567_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp32-idf.yaml b/tests/components/st7567_i2c/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/st7567_i2c/test.esp32-idf.yaml +++ b/tests/components/st7567_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp8266-ard.yaml b/tests/components/st7567_i2c/test.esp8266-ard.yaml index af91c21a0d..352cc8cda8 100644 --- a/tests/components/st7567_i2c/test.esp8266-ard.yaml +++ b/tests/components/st7567_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.rp2040-ard.yaml b/tests/components/st7567_i2c/test.rp2040-ard.yaml index 4eaff7fa4a..2972fde8a5 100644 --- a/tests/components/st7567_i2c/test.rp2040-ard.yaml +++ b/tests/components/st7567_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_spi/common.yaml b/tests/components/st7567_spi/common.yaml index 037a700239..b5a4074e13 100644 --- a/tests/components/st7567_spi/common.yaml +++ b/tests/components/st7567_spi/common.yaml @@ -1,23 +1,18 @@ -spi: - - id: spi_st7567_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7567_spi cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: st7567_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7567_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7567_spi_page1 + to: st7567_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7567_spi/test.esp32-c3-idf.yaml b/tests/components/st7567_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/st7567_spi/test.esp32-c3-idf.yaml +++ b/tests/components/st7567_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp32-idf.yaml b/tests/components/st7567_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/st7567_spi/test.esp32-idf.yaml +++ b/tests/components/st7567_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp8266-ard.yaml b/tests/components/st7567_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/st7567_spi/test.esp8266-ard.yaml +++ b/tests/components/st7567_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_spi/test.rp2040-ard.yaml b/tests/components/st7567_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/st7567_spi/test.rp2040-ard.yaml +++ b/tests/components/st7567_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7701s/common.yaml b/tests/components/st7701s/common.yaml index b94fadfe52..751862dea5 100644 --- a/tests/components/st7701s/common.yaml +++ b/tests/components/st7701s/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_st7701s - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7701s spi_mode: MODE3 diff --git a/tests/components/st7701s/test.esp32-s3-idf.yaml b/tests/components/st7701s/test.esp32-s3-idf.yaml index cd09b31f6e..87e5248888 100644 --- a/tests/components/st7701s/test.esp32-s3-idf.yaml +++ b/tests/components/st7701s/test.esp32-s3-idf.yaml @@ -1,5 +1,7 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + substitutions: - clk_pin: GPIO41 mosi_pin: GPIO48 cs_pin: GPIO44 de_pin: GPIO18 diff --git a/tests/components/st7735/common.yaml b/tests/components/st7735/common.yaml index c140652eda..242c4bccd6 100644 --- a/tests/components/st7735/common.yaml +++ b/tests/components/st7735/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_st7735 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7735 model: INITR_18BLACKTAB @@ -14,15 +9,15 @@ display: col_start: 0 row_start: 0 pages: - - id: page1 + - id: st7735_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7735_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7735_page1 + to: st7735_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7735/test.esp32-c3-idf.yaml b/tests/components/st7735/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/st7735/test.esp32-c3-idf.yaml +++ b/tests/components/st7735/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7735/test.esp32-idf.yaml b/tests/components/st7735/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/st7735/test.esp32-idf.yaml +++ b/tests/components/st7735/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7735/test.esp8266-ard.yaml b/tests/components/st7735/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/st7735/test.esp8266-ard.yaml +++ b/tests/components/st7735/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7735/test.rp2040-ard.yaml b/tests/components/st7735/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/st7735/test.rp2040-ard.yaml +++ b/tests/components/st7735/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7789v/common.yaml b/tests/components/st7789v/common.yaml index d5f74809e0..19cef5656a 100644 --- a/tests/components/st7789v/common.yaml +++ b/tests/components/st7789v/common.yaml @@ -1,24 +1,20 @@ -spi: - - id: spi_st7789v - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7789v model: TTGO TDisplay 135x240 cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} + backlight_pin: ${backlight_pin} pages: - - id: page1 + - id: st7789v_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7789v_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7789v_page1 + to: st7789v_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7789v/test.esp32-c3-idf.yaml b/tests/components/st7789v/test.esp32-c3-idf.yaml index c5c932c92c..b4d70edb31 100644 --- a/tests/components/st7789v/test.esp32-c3-idf.yaml +++ b/tests/components/st7789v/test.esp32-c3-idf.yaml @@ -1,9 +1,10 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 + backlight_pin: GPIO7 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7789v/test.esp32-idf.yaml b/tests/components/st7789v/test.esp32-idf.yaml index bad5241f79..3b6d584e5c 100644 --- a/tests/components/st7789v/test.esp32-idf.yaml +++ b/tests/components/st7789v/test.esp32-idf.yaml @@ -1,8 +1,10 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 + backlight_pin: GPIO15 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7789v/test.esp8266-ard.yaml b/tests/components/st7789v/test.esp8266-ard.yaml index 3f023a60eb..0ddca66ef4 100644 --- a/tests/components/st7789v/test.esp8266-ard.yaml +++ b/tests/components/st7789v/test.esp8266-ard.yaml @@ -1,9 +1,13 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 + backlight_pin: GPIO4 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/st7789v/test.rp2040-ard.yaml b/tests/components/st7789v/test.rp2040-ard.yaml index d7fd6ee294..464e720549 100644 --- a/tests/components/st7789v/test.rp2040-ard.yaml +++ b/tests/components/st7789v/test.rp2040-ard.yaml @@ -5,5 +5,9 @@ substitutions: cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 + backlight_pin: GPIO6 + +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/st7920/common.yaml b/tests/components/st7920/common.yaml index 9ede271f01..477ac14bd4 100644 --- a/tests/components/st7920/common.yaml +++ b/tests/components/st7920/common.yaml @@ -1,23 +1,18 @@ -spi: - - id: spi_st7920 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7920 cs_pin: ${cs_pin} height: 128 width: 64 pages: - - id: page1 + - id: st7920_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7920_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7920_page1 + to: st7920_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7920/test.esp32-c3-idf.yaml b/tests/components/st7920/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/st7920/test.esp32-c3-idf.yaml +++ b/tests/components/st7920/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7920/test.esp32-idf.yaml b/tests/components/st7920/test.esp32-idf.yaml index 04d2633d2b..9bb524aa65 100644 --- a/tests/components/st7920/test.esp32-idf.yaml +++ b/tests/components/st7920/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7920/test.esp8266-ard.yaml b/tests/components/st7920/test.esp8266-ard.yaml index bd5c203e35..1aac800592 100644 --- a/tests/components/st7920/test.esp8266-ard.yaml +++ b/tests/components/st7920/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 - cs_pin: GPIO5 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO15 + cs_pin: GPIO16 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/st7920/test.rp2040-ard.yaml b/tests/components/st7920/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/st7920/test.rp2040-ard.yaml +++ b/tests/components/st7920/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sts3x/common.yaml b/tests/components/sts3x/common.yaml index 1feac4bc3f..1a61fa9212 100644 --- a/tests/components/sts3x/common.yaml +++ b/tests/components/sts3x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sts3x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sts3x + i2c_id: i2c_bus id: sts3x_sensor name: STS3X Temperature address: 0x4A diff --git a/tests/components/sts3x/test.esp32-c3-idf.yaml b/tests/components/sts3x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sts3x/test.esp32-c3-idf.yaml +++ b/tests/components/sts3x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sts3x/test.esp32-idf.yaml b/tests/components/sts3x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sts3x/test.esp32-idf.yaml +++ b/tests/components/sts3x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sts3x/test.esp8266-ard.yaml b/tests/components/sts3x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sts3x/test.esp8266-ard.yaml +++ b/tests/components/sts3x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sts3x/test.rp2040-ard.yaml b/tests/components/sts3x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sts3x/test.rp2040-ard.yaml +++ b/tests/components/sts3x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/common.yaml b/tests/components/sun_gtil2/common.yaml index 15cc892d90..37fd4b056f 100644 --- a/tests/components/sun_gtil2/common.yaml +++ b/tests/components/sun_gtil2/common.yaml @@ -1,8 +1,3 @@ -uart: - - id: uart_sun_gtil2 - rx_pin: ${rx_pin} - baud_rate: 9600 - sun_gtil2: sensor: diff --git a/tests/components/sun_gtil2/test.esp32-c3-idf.yaml b/tests/components/sun_gtil2/test.esp32-c3-idf.yaml index b8a6b85616..4b7c8351a7 100644 --- a/tests/components/sun_gtil2/test.esp32-c3-idf.yaml +++ b/tests/components/sun_gtil2/test.esp32-c3-idf.yaml @@ -1,4 +1,5 @@ substitutions: - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp32-idf.yaml b/tests/components/sun_gtil2/test.esp32-idf.yaml index ad420099ff..29c7835b4e 100644 --- a/tests/components/sun_gtil2/test.esp32-idf.yaml +++ b/tests/components/sun_gtil2/test.esp32-idf.yaml @@ -1,4 +1,7 @@ substitutions: - rx_pin: GPIO16 + rx_pin: GPIO4 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp8266-ard.yaml b/tests/components/sun_gtil2/test.esp8266-ard.yaml index b8a6b85616..a591df42cb 100644 --- a/tests/components/sun_gtil2/test.esp8266-ard.yaml +++ b/tests/components/sun_gtil2/test.esp8266-ard.yaml @@ -1,4 +1,7 @@ substitutions: - rx_pin: GPIO5 + rx_pin: GPIO0 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.rp2040-ard.yaml b/tests/components/sun_gtil2/test.rp2040-ard.yaml index b8a6b85616..281ea9480e 100644 --- a/tests/components/sun_gtil2/test.rp2040-ard.yaml +++ b/tests/components/sun_gtil2/test.rp2040-ard.yaml @@ -1,4 +1,7 @@ substitutions: rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/common.yaml b/tests/components/sx126x/common.yaml index 05db2ef812..3f540a4bae 100644 --- a/tests/components/sx126x/common.yaml +++ b/tests/components/sx126x/common.yaml @@ -1,8 +1,3 @@ -spi: - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sx126x: dio1_pin: ${dio1_pin} cs_pin: ${cs_pin} diff --git a/tests/components/sx126x/test.esp32-c3-idf.yaml b/tests/components/sx126x/test.esp32-c3-idf.yaml index 91450e24ce..e27f11032e 100644 --- a/tests/components/sx126x/test.esp32-c3-idf.yaml +++ b/tests/components/sx126x/test.esp32-c3-idf.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 cs_pin: GPIO1 rst_pin: GPIO2 - busy_pin: GPIO4 + busy_pin: GPIO7 dio1_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/test.esp32-idf.yaml b/tests/components/sx126x/test.esp32-idf.yaml index 9770f52229..854638ea9c 100644 --- a/tests/components/sx126x/test.esp32-idf.yaml +++ b/tests/components/sx126x/test.esp32-idf.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 + cs_pin: GPIO12 + rst_pin: GPIO13 busy_pin: GPIO25 dio1_pin: GPIO26 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/test.esp8266-ard.yaml b/tests/components/sx126x/test.esp8266-ard.yaml index d2c07c5bb7..98a3fbbd67 100644 --- a/tests/components/sx126x/test.esp8266-ard.yaml +++ b/tests/components/sx126x/test.esp8266-ard.yaml @@ -1,10 +1,13 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO15 + miso_pin: GPIO16 cs_pin: GPIO1 rst_pin: GPIO2 busy_pin: GPIO4 dio1_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/test.rp2040-ard.yaml b/tests/components/sx126x/test.rp2040-ard.yaml index 8881e96971..9bc12a370d 100644 --- a/tests/components/sx126x/test.rp2040-ard.yaml +++ b/tests/components/sx126x/test.rp2040-ard.yaml @@ -7,4 +7,7 @@ substitutions: busy_pin: GPIO8 dio1_pin: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx127x/common.yaml b/tests/components/sx127x/common.yaml index 63adc2e91c..540381fc08 100644 --- a/tests/components/sx127x/common.yaml +++ b/tests/components/sx127x/common.yaml @@ -1,8 +1,3 @@ -spi: - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sx127x: cs_pin: ${cs_pin} rst_pin: ${rst_pin} diff --git a/tests/components/sx127x/test.esp32-c3-idf.yaml b/tests/components/sx127x/test.esp32-c3-idf.yaml index 36535a950d..dfee192545 100644 --- a/tests/components/sx127x/test.esp32-c3-idf.yaml +++ b/tests/components/sx127x/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 cs_pin: GPIO1 rst_pin: GPIO2 dio0_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sx127x/test.esp32-idf.yaml b/tests/components/sx127x/test.esp32-idf.yaml index 71270462a2..c9d58bb27e 100644 --- a/tests/components/sx127x/test.esp32-idf.yaml +++ b/tests/components/sx127x/test.esp32-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 + cs_pin: GPIO12 + rst_pin: GPIO13 dio0_pin: GPIO26 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/sx127x/test.esp8266-ard.yaml b/tests/components/sx127x/test.esp8266-ard.yaml index 64c01edd44..d58166137c 100644 --- a/tests/components/sx127x/test.esp8266-ard.yaml +++ b/tests/components/sx127x/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO15 + miso_pin: GPIO16 cs_pin: GPIO1 rst_pin: GPIO2 dio0_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx127x/test.rp2040-ard.yaml b/tests/components/sx127x/test.rp2040-ard.yaml index 0af7b29790..09a9b3203b 100644 --- a/tests/components/sx127x/test.rp2040-ard.yaml +++ b/tests/components/sx127x/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: rst_pin: GPIO6 dio0_pin: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx1509/common.yaml b/tests/components/sx1509/common.yaml index a83217e579..cf7e234f09 100644 --- a/tests/components/sx1509/common.yaml +++ b/tests/components/sx1509/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sx1509 - scl: ${scl_pin} - sda: ${sda_pin} - sx1509: - id: sx1509_hub + i2c_id: i2c_bus address: 0x3E keypad: key_rows: 2 diff --git a/tests/components/sx1509/test.esp32-c3-idf.yaml b/tests/components/sx1509/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sx1509/test.esp32-c3-idf.yaml +++ b/tests/components/sx1509/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sx1509/test.esp32-idf.yaml b/tests/components/sx1509/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sx1509/test.esp32-idf.yaml +++ b/tests/components/sx1509/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sx1509/test.esp8266-ard.yaml b/tests/components/sx1509/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sx1509/test.esp8266-ard.yaml +++ b/tests/components/sx1509/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sx1509/test.rp2040-ard.yaml b/tests/components/sx1509/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sx1509/test.rp2040-ard.yaml +++ b/tests/components/sx1509/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/syslog/test.host.yaml b/tests/components/syslog/test.host.yaml index e735c37e4d..31122437d5 100644 --- a/tests/components/syslog/test.host.yaml +++ b/tests/components/syslog/test.host.yaml @@ -1,4 +1,11 @@ -packages: - common: !include common.yaml +udp: + addresses: ["239.0.60.53"] -wifi: !remove +time: + platform: host + +syslog: + port: 514 + strip: true + level: info + facility: 16 diff --git a/tests/components/t6615/common.yaml b/tests/components/t6615/common.yaml index 3ad715ae2b..4317130461 100644 --- a/tests/components/t6615/common.yaml +++ b/tests/components/t6615/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_t6615 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 19200 - sensor: - platform: t6615 co2: diff --git a/tests/components/t6615/test.esp32-c3-idf.yaml b/tests/components/t6615/test.esp32-c3-idf.yaml index b516342f3b..147d967dd4 100644 --- a/tests/components/t6615/test.esp32-c3-idf.yaml +++ b/tests/components/t6615/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/t6615/test.esp32-idf.yaml b/tests/components/t6615/test.esp32-idf.yaml index f486544afa..4bb9e7fff6 100644 --- a/tests/components/t6615/test.esp32-idf.yaml +++ b/tests/components/t6615/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/t6615/test.esp8266-ard.yaml b/tests/components/t6615/test.esp8266-ard.yaml index b516342f3b..1dd8409590 100644 --- a/tests/components/t6615/test.esp8266-ard.yaml +++ b/tests/components/t6615/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/t6615/test.rp2040-ard.yaml b/tests/components/t6615/test.rp2040-ard.yaml index b516342f3b..f4dada6605 100644 --- a/tests/components/t6615/test.rp2040-ard.yaml +++ b/tests/components/t6615/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/tc74/common.yaml b/tests/components/tc74/common.yaml index 88f5c91e12..c2430ee2d4 100644 --- a/tests/components/tc74/common.yaml +++ b/tests/components/tc74/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_tc74 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tc74 + i2c_id: i2c_bus name: TC74 Temperature diff --git a/tests/components/tc74/test.esp32-c3-idf.yaml b/tests/components/tc74/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tc74/test.esp32-c3-idf.yaml +++ b/tests/components/tc74/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tc74/test.esp32-idf.yaml b/tests/components/tc74/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tc74/test.esp32-idf.yaml +++ b/tests/components/tc74/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tc74/test.esp8266-ard.yaml b/tests/components/tc74/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tc74/test.esp8266-ard.yaml +++ b/tests/components/tc74/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tc74/test.rp2040-ard.yaml b/tests/components/tc74/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tc74/test.rp2040-ard.yaml +++ b/tests/components/tc74/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/common.yaml b/tests/components/tca9548a/common.yaml index 67e812e08b..bfaf1e26fb 100644 --- a/tests/components/tca9548a/common.yaml +++ b/tests/components/tca9548a/common.yaml @@ -1,15 +1,10 @@ -i2c: - - id: i2c_tca9548a - scl: ${scl_pin} - sda: ${sda_pin} - tca9548a: - id: multiplex0 + i2c_id: i2c_bus address: 0x70 channels: - bus_id: multiplex0_chan0 channel: 0 - i2c_id: i2c_tca9548a - id: multiplex1 + i2c_id: i2c_bus address: 0x71 - i2c_id: multiplex0_chan0 diff --git a/tests/components/tca9548a/test.esp32-c3-idf.yaml b/tests/components/tca9548a/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tca9548a/test.esp32-c3-idf.yaml +++ b/tests/components/tca9548a/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp32-idf.yaml b/tests/components/tca9548a/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tca9548a/test.esp32-idf.yaml +++ b/tests/components/tca9548a/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp8266-ard.yaml b/tests/components/tca9548a/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tca9548a/test.esp8266-ard.yaml +++ b/tests/components/tca9548a/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/test.rp2040-ard.yaml b/tests/components/tca9548a/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tca9548a/test.rp2040-ard.yaml +++ b/tests/components/tca9548a/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/common.yaml b/tests/components/tca9555/common.yaml index 0fc3086786..82b4c959d8 100644 --- a/tests/components/tca9555/common.yaml +++ b/tests/components/tca9555/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tca9555 - scl: ${scl_pin} - sda: ${sda_pin} - tca9555: - id: tca9555_hub + i2c_id: i2c_bus address: 0x21 binary_sensor: diff --git a/tests/components/tca9555/test.esp32-c3-idf.yaml b/tests/components/tca9555/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tca9555/test.esp32-c3-idf.yaml +++ b/tests/components/tca9555/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/test.esp32-idf.yaml b/tests/components/tca9555/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tca9555/test.esp32-idf.yaml +++ b/tests/components/tca9555/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/test.esp8266-ard.yaml b/tests/components/tca9555/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tca9555/test.esp8266-ard.yaml +++ b/tests/components/tca9555/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/test.rp2040-ard.yaml b/tests/components/tca9555/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tca9555/test.rp2040-ard.yaml +++ b/tests/components/tca9555/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/common.yaml b/tests/components/tcs34725/common.yaml index 5296988fa5..e16862035e 100644 --- a/tests/components/tcs34725/common.yaml +++ b/tests/components/tcs34725/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tcs34725 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tcs34725 + i2c_id: i2c_bus red_channel: name: Red Channel green_channel: diff --git a/tests/components/tcs34725/test.esp32-c3-idf.yaml b/tests/components/tcs34725/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tcs34725/test.esp32-c3-idf.yaml +++ b/tests/components/tcs34725/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp32-idf.yaml b/tests/components/tcs34725/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tcs34725/test.esp32-idf.yaml +++ b/tests/components/tcs34725/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp8266-ard.yaml b/tests/components/tcs34725/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tcs34725/test.esp8266-ard.yaml +++ b/tests/components/tcs34725/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/test.rp2040-ard.yaml b/tests/components/tcs34725/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tcs34725/test.rp2040-ard.yaml +++ b/tests/components/tcs34725/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tee501/common.yaml b/tests/components/tee501/common.yaml index c01ab7e37a..82091faccf 100644 --- a/tests/components/tee501/common.yaml +++ b/tests/components/tee501/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_tee501 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tee501 + i2c_id: i2c_bus name: TEE501 Temperature address: 0x48 diff --git a/tests/components/tee501/test.esp32-c3-idf.yaml b/tests/components/tee501/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tee501/test.esp32-c3-idf.yaml +++ b/tests/components/tee501/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tee501/test.esp32-idf.yaml b/tests/components/tee501/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tee501/test.esp32-idf.yaml +++ b/tests/components/tee501/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tee501/test.esp8266-ard.yaml b/tests/components/tee501/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tee501/test.esp8266-ard.yaml +++ b/tests/components/tee501/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tee501/test.rp2040-ard.yaml b/tests/components/tee501/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tee501/test.rp2040-ard.yaml +++ b/tests/components/tee501/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/common.yaml b/tests/components/teleinfo/common.yaml index 90b684e977..dcb2cb14bd 100644 --- a/tests/components/teleinfo/common.yaml +++ b/tests/components/teleinfo/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_teleinfo - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 1200 - parity: EVEN - button: - platform: template name: Poller component suspend test diff --git a/tests/components/teleinfo/test.esp32-c3-idf.yaml b/tests/components/teleinfo/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/teleinfo/test.esp32-c3-idf.yaml +++ b/tests/components/teleinfo/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp32-idf.yaml b/tests/components/teleinfo/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/teleinfo/test.esp32-idf.yaml +++ b/tests/components/teleinfo/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp8266-ard.yaml b/tests/components/teleinfo/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/teleinfo/test.esp8266-ard.yaml +++ b/tests/components/teleinfo/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/test.rp2040-ard.yaml b/tests/components/teleinfo/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/teleinfo/test.rp2040-ard.yaml +++ b/tests/components/teleinfo/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/tem3200/common.yaml b/tests/components/tem3200/common.yaml index 392c853bf4..cef7317450 100644 --- a/tests/components/tem3200/common.yaml +++ b/tests/components/tem3200/common.yaml @@ -1,13 +1,7 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - frequency: 200kHz - sensor: - platform: tem3200 - update_interval: 1s i2c_id: i2c_bus + update_interval: 1s temperature: name: water temperature diff --git a/tests/components/tem3200/test.esp32-idf.yaml b/tests/components/tem3200/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/tem3200/test.esp32-idf.yaml +++ b/tests/components/tem3200/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tem3200/test.esp32-s3-idf.yaml b/tests/components/tem3200/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/tem3200/test.esp32-s3-idf.yaml +++ b/tests/components/tem3200/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tem3200/test.esp8266-ard.yaml b/tests/components/tem3200/test.esp8266-ard.yaml index 3be5e53dcb..4a98b9388a 100644 --- a/tests/components/tem3200/test.esp8266-ard.yaml +++ b/tests/components/tem3200/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO05 - sda_pin: GPIO04 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/template/common-base.yaml b/tests/components/template/common-base.yaml new file mode 100644 index 0000000000..48537d21bc --- /dev/null +++ b/tests/components/template/common-base.yaml @@ -0,0 +1,342 @@ +esphome: + on_boot: + - sensor.template.publish: + id: template_sens + state: 42.0 + + # Templated + - sensor.template.publish: + id: template_sens + state: !lambda "return 42.0;" + + - datetime.date.set: + id: test_date + date: + year: 2021 + month: 1 + day: 1 + - datetime.date.set: + id: test_date + date: !lambda "return {.day_of_month = 1, .month = 1, .year = 2021};" + - datetime.date.set: + id: test_date + date: "2021-01-01" + +binary_sensor: + - platform: template + id: some_binary_sensor + name: "Garage Door Open" + lambda: |- + if (id(template_sens).state > 30) { + // Garage Door is open. + return true; + } else { + // Garage Door is closed. + return false; + } + - platform: template + id: other_binary_sensor + name: "Garage Door Closed" + condition: + sensor.in_range: + id: template_sens + below: 30.0 + filters: + - invert: + - delayed_on: 100ms + - delayed_off: 100ms + - delayed_on_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" + - delayed_on_off: + time_on: 10s + time_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" + - autorepeat: + - delay: 1s + time_off: 100ms + time_on: 900ms + - delay: 5s + time_off: 100ms + time_on: 400ms + - lambda: |- + if (id(other_binary_sensor).state) { + return x; + } else { + return {}; + } + - settle: 500ms + - timeout: 5s + +sensor: + - platform: template + name: "Template Sensor" + id: template_sens + lambda: |- + if (id(some_binary_sensor).state) { + return 42.0; + } else { + return 0.0; + } + update_interval: 60s + filters: + - calibrate_linear: + - 0.0 -> 0.0 + - 40.0 -> 45.0 + - 100.0 -> 102.5 + - calibrate_polynomial: + degree: 2 + datapoints: + # Map 0.0 (from sensor) to 0.0 (true value) + - 0.0 -> 0.0 + - 10.0 -> 12.1 + - 13.0 -> 14.0 + - clamp: + max_value: 10.0 + min_value: -10.0 + - debounce: 0.1s + - delta: 5.0 + - exponential_moving_average: + alpha: 0.1 + send_every: 15 + - filter_out: + - 10 + - 20 + - !lambda return 10; + - filter_out: 10 + - filter_out: !lambda return NAN; + - heartbeat: 5s + - lambda: return x * (9.0/5.0) + 32.0; + - max: + window_size: 10 + send_every: 2 + send_first_at: 1 + - median: + window_size: 7 + send_every: 4 + send_first_at: 3 + - min: + window_size: 10 + send_every: 2 + send_first_at: 1 + - multiply: 1 + - multiply: !lambda return 2; + - offset: 10 + - offset: !lambda return 10; + - or: + - quantile: + window_size: 7 + send_every: 4 + send_first_at: 3 + quantile: .9 + - round: 1 + - round_to_multiple_of: 0.25 + - skip_initial: 3 + - sliding_window_moving_average: + window_size: 15 + send_every: 15 + - throttle: 1s + - throttle_average: 2s + - throttle_with_priority: 5s + - throttle_with_priority: + timeout: 3s + value: 42.0 + - throttle_with_priority: + timeout: 3s + value: !lambda return 1.0f / 2.0f; + - throttle_with_priority: + timeout: 3s + value: + - 42.0 + - !lambda return 2.0f / 2.0f; + - nan + - timeout: + timeout: 10s + value: !lambda return 10; + - timeout: + timeout: 1h + value: 20.0 + - timeout: + timeout: 1min + value: last + - timeout: + timeout: 1d + - to_ntc_resistance: + calibration: + - 10.0kOhm -> 25°C + - 27.219kOhm -> 0°C + - 14.674kOhm -> 15°C + - to_ntc_temperature: + calibration: + - 10.0kOhm -> 25°C + - 27.219kOhm -> 0°C + - 14.674kOhm -> 15°C + +output: + - platform: template + id: outputsplit + type: float + write_action: + - logger.log: "write_action" + +switch: + - platform: template + id: test_switch + name: "Template Switch" + lambda: |- + if (id(some_binary_sensor).state) { + return true; + } else { + return false; + } + turn_on_action: + - logger.log: "turn_on_action" + turn_off_action: + - logger.log: "turn_off_action" + +button: + - platform: template + name: "Template Button" + on_press: + - logger.log: Button Pressed + +cover: + - platform: template + name: "Template Cover" + lambda: |- + if (id(some_binary_sensor).state) { + return COVER_OPEN; + } else { + return COVER_CLOSED; + } + open_action: + - logger.log: open_action + close_action: + - logger.log: close_action + stop_action: + - logger.log: stop_action + optimistic: true + +number: + - platform: template + name: "Template number" + optimistic: true + min_value: 0 + max_value: 100 + step: 1 + +select: + - platform: template + name: "Template select" + optimistic: true + options: + - one + - two + - three + initial_option: two + +lock: + - platform: template + name: "Template Lock" + lambda: |- + if (id(some_binary_sensor).state) { + return LOCK_STATE_LOCKED; + } else { + return LOCK_STATE_UNLOCKED; + } + lock_action: + - logger.log: lock_action + unlock_action: + - logger.log: unlock_action + open_action: + - logger.log: open_action + +valve: + - platform: template + id: template_valve + name: "Template Valve" + lambda: |- + if (id(some_binary_sensor).state) { + return VALVE_OPEN; + } else { + return VALVE_CLOSED; + } + open_action: + - logger.log: open_action + close_action: + - logger.log: close_action + - valve.template.publish: + id: template_valve + state: CLOSED + stop_action: + - logger.log: stop_action + optimistic: true + +text: + - platform: template + name: "Template text" + optimistic: true + min_length: 0 + max_length: 100 + mode: text + - platform: template + name: "Template text lambda" + mode: text + update_interval: 1s + lambda: | + return std::string{"Hello!"}; + set_action: + then: + - logger.log: + format: Template Text set to %s + args: ["x.c_str()"] + +alarm_control_panel: + - platform: template + name: Alarm Panel + codes: + - "1234" + +datetime: + - platform: template + name: Date + id: test_date + type: date + initial_value: "2000-1-2" + set_action: + - logger.log: "set_value" + on_value: + - logger.log: + format: "Date: %04d-%02d-%02d" + args: + - x.year + - x.month + - x.day_of_month + - platform: template + name: Time + id: test_time + type: time + initial_value: "12:34:56am" + set_action: + - logger.log: "set_value" + on_value: + - logger.log: + format: "Time: %02d:%02d:%02d" + args: + - x.hour + - x.minute + - x.second + - platform: template + name: DateTime + id: test_datetime + type: datetime + initial_value: "2000-1-2 12:34:56" + set_action: + - logger.log: "set_value" + on_value: + - logger.log: + format: "DateTime: %04d-%02d-%02d %02d:%02d:%02d" + args: + - x.year + - x.month + - x.day_of_month + - x.hour + - x.minute + - x.second diff --git a/tests/components/template/common.yaml b/tests/components/template/common.yaml index efbb83ee06..d06f3ce131 100644 --- a/tests/components/template/common.yaml +++ b/tests/components/template/common.yaml @@ -1,343 +1,4 @@ -esphome: - on_boot: - - sensor.template.publish: - id: template_sens - state: 42.0 - - # Templated - - sensor.template.publish: - id: template_sens - state: !lambda "return 42.0;" - - - datetime.date.set: - id: test_date - date: - year: 2021 - month: 1 - day: 1 - - datetime.date.set: - id: test_date - date: !lambda "return {.day_of_month = 1, .month = 1, .year = 2021};" - - datetime.date.set: - id: test_date - date: "2021-01-01" - -binary_sensor: - - platform: template - id: some_binary_sensor - name: "Garage Door Open" - lambda: |- - if (id(template_sens).state > 30) { - // Garage Door is open. - return true; - } else { - // Garage Door is closed. - return false; - } - - platform: template - id: other_binary_sensor - name: "Garage Door Closed" - condition: - sensor.in_range: - id: template_sens - below: 30.0 - filters: - - invert: - - delayed_on: 100ms - - delayed_off: 100ms - - delayed_on_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" - - delayed_on_off: - time_on: 10s - time_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" - - autorepeat: - - delay: 1s - time_off: 100ms - time_on: 900ms - - delay: 5s - time_off: 100ms - time_on: 400ms - - lambda: |- - if (id(other_binary_sensor).state) { - return x; - } else { - return {}; - } - - settle: 500ms - - timeout: 5s - -sensor: - - platform: template - name: "Template Sensor" - id: template_sens - lambda: |- - if (id(some_binary_sensor).state) { - return 42.0; - } else { - return 0.0; - } - update_interval: 60s - filters: - - calibrate_linear: - - 0.0 -> 0.0 - - 40.0 -> 45.0 - - 100.0 -> 102.5 - - calibrate_polynomial: - degree: 2 - datapoints: - # Map 0.0 (from sensor) to 0.0 (true value) - - 0.0 -> 0.0 - - 10.0 -> 12.1 - - 13.0 -> 14.0 - - clamp: - max_value: 10.0 - min_value: -10.0 - - debounce: 0.1s - - delta: 5.0 - - exponential_moving_average: - alpha: 0.1 - send_every: 15 - - filter_out: - - 10 - - 20 - - !lambda return 10; - - filter_out: 10 - - filter_out: !lambda return NAN; - - heartbeat: 5s - - lambda: return x * (9.0/5.0) + 32.0; - - max: - window_size: 10 - send_every: 2 - send_first_at: 1 - - median: - window_size: 7 - send_every: 4 - send_first_at: 3 - - min: - window_size: 10 - send_every: 2 - send_first_at: 1 - - multiply: 1 - - multiply: !lambda return 2; - - offset: 10 - - offset: !lambda return 10; - - or: - - quantile: - window_size: 7 - send_every: 4 - send_first_at: 3 - quantile: .9 - - round: 1 - - round_to_multiple_of: 0.25 - - skip_initial: 3 - - sliding_window_moving_average: - window_size: 15 - send_every: 15 - - throttle: 1s - - throttle_average: 2s - - throttle_with_priority: 5s - - throttle_with_priority: - timeout: 3s - value: 42.0 - - throttle_with_priority: - timeout: 3s - value: !lambda return 1.0f / 2.0f; - - throttle_with_priority: - timeout: 3s - value: - - 42.0 - - !lambda return 2.0f / 2.0f; - - nan - - timeout: - timeout: 10s - value: !lambda return 10; - - timeout: - timeout: 1h - value: 20.0 - - timeout: - timeout: 1min - value: last - - timeout: - timeout: 1d - - to_ntc_resistance: - calibration: - - 10.0kOhm -> 25°C - - 27.219kOhm -> 0°C - - 14.674kOhm -> 15°C - - to_ntc_temperature: - calibration: - - 10.0kOhm -> 25°C - - 27.219kOhm -> 0°C - - 14.674kOhm -> 15°C - -output: - - platform: template - id: outputsplit - type: float - write_action: - - logger.log: "write_action" - -switch: - - platform: template - id: test_switch - name: "Template Switch" - lambda: |- - if (id(some_binary_sensor).state) { - return true; - } else { - return false; - } - turn_on_action: - - logger.log: "turn_on_action" - turn_off_action: - - logger.log: "turn_off_action" - -button: - - platform: template - name: "Template Button" - on_press: - - logger.log: Button Pressed - -cover: - - platform: template - name: "Template Cover" - lambda: |- - if (id(some_binary_sensor).state) { - return COVER_OPEN; - } else { - return COVER_CLOSED; - } - open_action: - - logger.log: open_action - close_action: - - logger.log: close_action - stop_action: - - logger.log: stop_action - optimistic: true - -number: - - platform: template - name: "Template number" - optimistic: true - min_value: 0 - max_value: 100 - step: 1 - -select: - - platform: template - name: "Template select" - optimistic: true - options: - - one - - two - - three - initial_option: two - -lock: - - platform: template - name: "Template Lock" - lambda: |- - if (id(some_binary_sensor).state) { - return LOCK_STATE_LOCKED; - } else { - return LOCK_STATE_UNLOCKED; - } - lock_action: - - logger.log: lock_action - unlock_action: - - logger.log: unlock_action - open_action: - - logger.log: open_action - -valve: - - platform: template - name: "Template Valve" - lambda: |- - if (id(some_binary_sensor).state) { - return VALVE_OPEN; - } else { - return VALVE_CLOSED; - } - open_action: - - logger.log: open_action - close_action: - - logger.log: close_action - - valve.template.publish: - state: CLOSED - stop_action: - - logger.log: stop_action - optimistic: true - -text: - - platform: template - name: "Template text" - optimistic: true - min_length: 0 - max_length: 100 - mode: text - - platform: template - name: "Template text lambda" - mode: text - update_interval: 1s - lambda: | - return std::string{"Hello!"}; - set_action: - then: - - logger.log: - format: Template Text set to %s - args: ["x.c_str()"] - -alarm_control_panel: - - platform: template - name: Alarm Panel - codes: - - "1234" - -datetime: - - platform: template - name: Date - id: test_date - type: date - initial_value: "2000-1-2" - set_action: - - logger.log: "set_value" - on_value: - - logger.log: - format: "Date: %04d-%02d-%02d" - args: - - x.year - - x.month - - x.day_of_month - - platform: template - name: Time - id: test_time - type: time - initial_value: "12:34:56am" - set_action: - - logger.log: "set_value" - on_value: - - logger.log: - format: "Time: %02d:%02d:%02d" - args: - - x.hour - - x.minute - - x.second - - platform: template - name: DateTime - id: test_datetime - type: datetime - initial_value: "2000-1-2 12:34:56" - set_action: - - logger.log: "set_value" - on_value: - - logger.log: - format: "DateTime: %04d-%02d-%02d %02d:%02d:%02d" - args: - - x.year - - x.month - - x.day_of_month - - x.hour - - x.minute - - x.second +<<: !include common-base.yaml time: - platform: sntp # Required for datetime diff --git a/tests/components/template/test.nrf52-adafruit.yaml b/tests/components/template/test.nrf52-adafruit.yaml index 6a8c01560a..45751c6398 100644 --- a/tests/components/template/test.nrf52-adafruit.yaml +++ b/tests/components/template/test.nrf52-adafruit.yaml @@ -1,6 +1 @@ -packages: !include common.yaml - -time: - - id: !remove sntp_time - -wifi: !remove +<<: !include common-base.yaml diff --git a/tests/components/template/test.nrf52-mcumgr.yaml b/tests/components/template/test.nrf52-mcumgr.yaml index 6a8c01560a..45751c6398 100644 --- a/tests/components/template/test.nrf52-mcumgr.yaml +++ b/tests/components/template/test.nrf52-mcumgr.yaml @@ -1,6 +1 @@ -packages: !include common.yaml - -time: - - id: !remove sntp_time - -wifi: !remove +<<: !include common-base.yaml diff --git a/tests/components/tlc59208f/common.yaml b/tests/components/tlc59208f/common.yaml index 49460dcefc..1943063347 100644 --- a/tests/components/tlc59208f/common.yaml +++ b/tests/components/tlc59208f/common.yaml @@ -1,15 +1,13 @@ -i2c: - - id: i2c_tlc59208f - scl: ${scl_pin} - sda: ${sda_pin} - tlc59208f: - address: 0x20 id: tlc59208f_1 + i2c_id: i2c_bus - address: 0x22 id: tlc59208f_2 + i2c_id: i2c_bus - address: 0x24 id: tlc59208f_3 + i2c_id: i2c_bus output: - platform: tlc59208f diff --git a/tests/components/tlc59208f/test.esp32-c3-idf.yaml b/tests/components/tlc59208f/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tlc59208f/test.esp32-c3-idf.yaml +++ b/tests/components/tlc59208f/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp32-idf.yaml b/tests/components/tlc59208f/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tlc59208f/test.esp32-idf.yaml +++ b/tests/components/tlc59208f/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp8266-ard.yaml b/tests/components/tlc59208f/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tlc59208f/test.esp8266-ard.yaml +++ b/tests/components/tlc59208f/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tlc59208f/test.rp2040-ard.yaml b/tests/components/tlc59208f/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tlc59208f/test.rp2040-ard.yaml +++ b/tests/components/tlc59208f/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tlc5947/test.esp8266-ard.yaml b/tests/components/tlc5947/test.esp8266-ard.yaml index 44da5a07b3..1eb9bcfae2 100644 --- a/tests/components/tlc5947/test.esp8266-ard.yaml +++ b/tests/components/tlc5947/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - lat_pin: GPIO13 + clock_pin: GPIO0 + data_pin: GPIO2 + lat_pin: GPIO15 packages: common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp8266-ard.yaml b/tests/components/tlc5971/test.esp8266-ard.yaml index 52411bc1e9..7923874f96 100644 --- a/tests/components/tlc5971/test.esp8266-ard.yaml +++ b/tests/components/tlc5971/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: clock_pin: GPIO15 - data_pin: GPIO14 - lat_pin: GPIO13 + data_pin: GPIO0 + lat_pin: GPIO2 packages: common: !include common.yaml diff --git a/tests/components/tm1621/test.esp32-idf.yaml b/tests/components/tm1621/test.esp32-idf.yaml index 0441e4bffe..21402f3216 100644 --- a/tests/components/tm1621/test.esp32-idf.yaml +++ b/tests/components/tm1621/test.esp32-idf.yaml @@ -1,7 +1,10 @@ substitutions: - cs_pin: GPIO16 - data_pin: GPIO17 + cs_pin: GPIO4 + data_pin: GPIO5 read_pin: GPIO12 write_pin: GPIO13 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tm1621/test.esp8266-ard.yaml b/tests/components/tm1621/test.esp8266-ard.yaml index ee7b62ce35..304ca71eb2 100644 --- a/tests/components/tm1621/test.esp8266-ard.yaml +++ b/tests/components/tm1621/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: cs_pin: GPIO15 - data_pin: GPIO14 - read_pin: GPIO12 - write_pin: GPIO13 + data_pin: GPIO0 + read_pin: GPIO2 + write_pin: GPIO16 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tm1621/test.rp2040-ard.yaml b/tests/components/tm1621/test.rp2040-ard.yaml index 562ced7485..9a880da876 100644 --- a/tests/components/tm1621/test.rp2040-ard.yaml +++ b/tests/components/tm1621/test.rp2040-ard.yaml @@ -1,7 +1,10 @@ substitutions: cs_pin: GPIO6 data_pin: GPIO7 - read_pin: GPIO2 - write_pin: GPIO3 + read_pin: GPIO8 + write_pin: GPIO9 + +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tm1637/test.esp32-c3-idf.yaml b/tests/components/tm1637/test.esp32-c3-idf.yaml index 96f6708a3b..0c4d4a9a7a 100644 --- a/tests/components/tm1637/test.esp32-c3-idf.yaml +++ b/tests/components/tm1637/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO4 + clk_pin: GPIO7 dio_pin: GPIO3 <<: !include common.yaml diff --git a/tests/components/tm1637/test.esp8266-ard.yaml b/tests/components/tm1637/test.esp8266-ard.yaml index 2c5786c47c..0a4221cbc0 100644 --- a/tests/components/tm1637/test.esp8266-ard.yaml +++ b/tests/components/tm1637/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO14 - dio_pin: GPIO13 + clk_pin: GPIO0 + dio_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/tmp102/common.yaml b/tests/components/tmp102/common.yaml index afc4a27fad..049a8067da 100644 --- a/tests/components/tmp102/common.yaml +++ b/tests/components/tmp102/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_tmp102 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tmp102 + i2c_id: i2c_bus name: TMP102 Temperature diff --git a/tests/components/tmp102/test.esp32-c3-idf.yaml b/tests/components/tmp102/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tmp102/test.esp32-c3-idf.yaml +++ b/tests/components/tmp102/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp102/test.esp32-idf.yaml b/tests/components/tmp102/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tmp102/test.esp32-idf.yaml +++ b/tests/components/tmp102/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp102/test.esp8266-ard.yaml b/tests/components/tmp102/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tmp102/test.esp8266-ard.yaml +++ b/tests/components/tmp102/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp102/test.rp2040-ard.yaml b/tests/components/tmp102/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tmp102/test.rp2040-ard.yaml +++ b/tests/components/tmp102/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/common.yaml b/tests/components/tmp1075/common.yaml index 4c4c6c6f35..90025f231e 100644 --- a/tests/components/tmp1075/common.yaml +++ b/tests/components/tmp1075/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tmp1075 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tmp1075 + i2c_id: i2c_bus name: Temperature TMP1075 conversion_rate: 27.5ms alert: diff --git a/tests/components/tmp1075/test.esp32-c3-idf.yaml b/tests/components/tmp1075/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tmp1075/test.esp32-c3-idf.yaml +++ b/tests/components/tmp1075/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp32-idf.yaml b/tests/components/tmp1075/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tmp1075/test.esp32-idf.yaml +++ b/tests/components/tmp1075/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp8266-ard.yaml b/tests/components/tmp1075/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tmp1075/test.esp8266-ard.yaml +++ b/tests/components/tmp1075/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/test.rp2040-ard.yaml b/tests/components/tmp1075/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tmp1075/test.rp2040-ard.yaml +++ b/tests/components/tmp1075/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/common.yaml b/tests/components/tmp117/common.yaml index f4a5688933..58419c2134 100644 --- a/tests/components/tmp117/common.yaml +++ b/tests/components/tmp117/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_tmp117 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tmp117 + i2c_id: i2c_bus name: TMP117 Temperature update_interval: 5s diff --git a/tests/components/tmp117/test.esp32-c3-idf.yaml b/tests/components/tmp117/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tmp117/test.esp32-c3-idf.yaml +++ b/tests/components/tmp117/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/test.esp32-idf.yaml b/tests/components/tmp117/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tmp117/test.esp32-idf.yaml +++ b/tests/components/tmp117/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/test.esp8266-ard.yaml b/tests/components/tmp117/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tmp117/test.esp8266-ard.yaml +++ b/tests/components/tmp117/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/test.rp2040-ard.yaml b/tests/components/tmp117/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tmp117/test.rp2040-ard.yaml +++ b/tests/components/tmp117/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/common.yaml b/tests/components/tof10120/common.yaml index 67643323d9..b360a27248 100644 --- a/tests/components/tof10120/common.yaml +++ b/tests/components/tof10120/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_tof10120 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tof10120 + i2c_id: i2c_bus name: Distance sensor update_interval: 5s diff --git a/tests/components/tof10120/test.esp32-c3-idf.yaml b/tests/components/tof10120/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tof10120/test.esp32-c3-idf.yaml +++ b/tests/components/tof10120/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/test.esp32-idf.yaml b/tests/components/tof10120/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tof10120/test.esp32-idf.yaml +++ b/tests/components/tof10120/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/test.esp8266-ard.yaml b/tests/components/tof10120/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tof10120/test.esp8266-ard.yaml +++ b/tests/components/tof10120/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/test.rp2040-ard.yaml b/tests/components/tof10120/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tof10120/test.rp2040-ard.yaml +++ b/tests/components/tof10120/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/common.yaml b/tests/components/tormatic/common.yaml index 0f1b33ac12..712bf7569b 100644 --- a/tests/components/tormatic/common.yaml +++ b/tests/components/tormatic/common.yaml @@ -1,12 +1,5 @@ -uart: - - id: uart_tormatic - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - cover: - platform: tormatic - uart_id: uart_tormatic id: tormatic_garage_door name: Tormatic Garage Door open_duration: 15s diff --git a/tests/components/tormatic/test.esp32-c3-idf.yaml b/tests/components/tormatic/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/tormatic/test.esp32-c3-idf.yaml +++ b/tests/components/tormatic/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/test.esp32-idf.yaml b/tests/components/tormatic/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/tormatic/test.esp32-idf.yaml +++ b/tests/components/tormatic/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/test.esp8266-ard.yaml b/tests/components/tormatic/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/tormatic/test.esp8266-ard.yaml +++ b/tests/components/tormatic/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/test.rp2040-ard.yaml b/tests/components/tormatic/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/tormatic/test.rp2040-ard.yaml +++ b/tests/components/tormatic/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/total_daily_energy/test.esp8266-ard.yaml b/tests/components/total_daily_energy/test.esp8266-ard.yaml index 8b42b21b54..ec9c0e43dc 100644 --- a/tests/components/total_daily_energy/test.esp8266-ard.yaml +++ b/tests/components/total_daily_energy/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 + sel_pin: GPIO0 + cf_pin: GPIO2 + cf1_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/tsl2561/common.yaml b/tests/components/tsl2561/common.yaml index d2b4f75df3..132bdb890e 100644 --- a/tests/components/tsl2561/common.yaml +++ b/tests/components/tsl2561/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tsl2561 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tsl2561 + i2c_id: i2c_bus name: TSL2561 Ambient Light address: 0x39 is_cs_package: true diff --git a/tests/components/tsl2561/test.esp32-c3-idf.yaml b/tests/components/tsl2561/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tsl2561/test.esp32-c3-idf.yaml +++ b/tests/components/tsl2561/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp32-idf.yaml b/tests/components/tsl2561/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tsl2561/test.esp32-idf.yaml +++ b/tests/components/tsl2561/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp8266-ard.yaml b/tests/components/tsl2561/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tsl2561/test.esp8266-ard.yaml +++ b/tests/components/tsl2561/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tsl2561/test.rp2040-ard.yaml b/tests/components/tsl2561/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tsl2561/test.rp2040-ard.yaml +++ b/tests/components/tsl2561/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/common.yaml b/tests/components/tsl2591/common.yaml index d58c46fb48..93433cf968 100644 --- a/tests/components/tsl2591/common.yaml +++ b/tests/components/tsl2591/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tsl2591 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tsl2591 + i2c_id: i2c_bus id: test_tsl2591 address: 0x29 integration_time: 600ms diff --git a/tests/components/tsl2591/test.esp32-c3-idf.yaml b/tests/components/tsl2591/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tsl2591/test.esp32-c3-idf.yaml +++ b/tests/components/tsl2591/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp32-idf.yaml b/tests/components/tsl2591/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tsl2591/test.esp32-idf.yaml +++ b/tests/components/tsl2591/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp8266-ard.yaml b/tests/components/tsl2591/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tsl2591/test.esp8266-ard.yaml +++ b/tests/components/tsl2591/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/test.rp2040-ard.yaml b/tests/components/tsl2591/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tsl2591/test.rp2040-ard.yaml +++ b/tests/components/tsl2591/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tt21100/common.yaml b/tests/components/tt21100/common.yaml index a5d7970429..bd1830ea8b 100644 --- a/tests/components/tt21100/common.yaml +++ b/tests/components/tt21100/common.yaml @@ -1,25 +1,24 @@ -i2c: - - id: i2c_tt21100 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${disp_reset_pin} pages: - - id: page1 + - id: tt21100_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: tt21100 + i2c_id: i2c_bus + id: tt21100_touchscreen display: ssd1306_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} binary_sensor: - platform: tt21100 + id: tt21100_button name: Home Button index: 1 diff --git a/tests/components/tt21100/test.esp32-c3-idf.yaml b/tests/components/tt21100/test.esp32-c3-idf.yaml index 36a8ce2778..a7265e10b2 100644 --- a/tests/components/tt21100/test.esp32-c3-idf.yaml +++ b/tests/components/tt21100/test.esp32-c3-idf.yaml @@ -1,8 +1,9 @@ substitutions: - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 + disp_reset_pin: GPIO7 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tt21100/test.esp32-idf.yaml b/tests/components/tt21100/test.esp32-idf.yaml index 05598719f9..033aafb73c 100644 --- a/tests/components/tt21100/test.esp32-idf.yaml +++ b/tests/components/tt21100/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tt21100/test.esp8266-ard.yaml b/tests/components/tt21100/test.esp8266-ard.yaml index 05598719f9..25d1ff82e3 100644 --- a/tests/components/tt21100/test.esp8266-ard.yaml +++ b/tests/components/tt21100/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 + disp_reset_pin: GPIO0 interrupt_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/tt21100/test.rp2040-ard.yaml b/tests/components/tt21100/test.rp2040-ard.yaml index 36a8ce2778..0d13628294 100644 --- a/tests/components/tt21100/test.rp2040-ard.yaml +++ b/tests/components/tt21100/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/common.yaml b/tests/components/ttp229_bsf/common.yaml index 42c26a5d51..91134f5098 100644 --- a/tests/components/ttp229_bsf/common.yaml +++ b/tests/components/ttp229_bsf/common.yaml @@ -1,6 +1,6 @@ ttp229_bsf: - scl_pin: ${scl_pin} - sdo_pin: ${sdo_pin} + scl_pin: ${ttp229_scl_pin} + sdo_pin: ${ttp229_sdo_pin} binary_sensor: - platform: ttp229_bsf diff --git a/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml b/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml index 135b213edc..ad1c58b40e 100644 --- a/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml +++ b/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 + ttp229_scl_pin: GPIO7 + ttp229_sdo_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp32-idf.yaml b/tests/components/ttp229_bsf/test.esp32-idf.yaml index 80ed75293f..8b7f6fe6ea 100644 --- a/tests/components/ttp229_bsf/test.esp32-idf.yaml +++ b/tests/components/ttp229_bsf/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO16 - sdo_pin: GPIO17 + ttp229_scl_pin: GPIO14 + ttp229_sdo_pin: GPIO5 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp8266-ard.yaml b/tests/components/ttp229_bsf/test.esp8266-ard.yaml index 135b213edc..1832fde07f 100644 --- a/tests/components/ttp229_bsf/test.esp8266-ard.yaml +++ b/tests/components/ttp229_bsf/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 + ttp229_scl_pin: GPIO0 + ttp229_sdo_pin: GPIO2 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.rp2040-ard.yaml b/tests/components/ttp229_bsf/test.rp2040-ard.yaml index 135b213edc..1448c82347 100644 --- a/tests/components/ttp229_bsf/test.rp2040-ard.yaml +++ b/tests/components/ttp229_bsf/test.rp2040-ard.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 + ttp229_scl_pin: GPIO2 + ttp229_sdo_pin: GPIO6 + +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/common.yaml b/tests/components/ttp229_lsf/common.yaml index 5c0dbf9517..41402f5aac 100644 --- a/tests/components/ttp229_lsf/common.yaml +++ b/tests/components/ttp229_lsf/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ttp229_lsf - scl: ${scl_pin} - sda: ${sda_pin} - ttp229_lsf: + i2c_id: i2c_bus binary_sensor: - platform: ttp229_lsf diff --git a/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml b/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml +++ b/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp32-idf.yaml b/tests/components/ttp229_lsf/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ttp229_lsf/test.esp32-idf.yaml +++ b/tests/components/ttp229_lsf/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp8266-ard.yaml b/tests/components/ttp229_lsf/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ttp229_lsf/test.esp8266-ard.yaml +++ b/tests/components/ttp229_lsf/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.rp2040-ard.yaml b/tests/components/ttp229_lsf/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ttp229_lsf/test.rp2040-ard.yaml +++ b/tests/components/ttp229_lsf/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tuya/common.yaml b/tests/components/tuya/common.yaml index 2c40628139..e177b7d056 100644 --- a/tests/components/tuya/common.yaml +++ b/tests/components/tuya/common.yaml @@ -2,12 +2,6 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uart_tuya - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - tuya: status_pin: number: ${status_pin} diff --git a/tests/components/tuya/test.esp32-c3-idf.yaml b/tests/components/tuya/test.esp32-c3-idf.yaml index c62a0b10f6..43c28ba7b3 100644 --- a/tests/components/tuya/test.esp32-c3-idf.yaml +++ b/tests/components/tuya/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 status_pin: GPIO2 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tuya/test.esp32-idf.yaml b/tests/components/tuya/test.esp32-idf.yaml index 926a46cf73..0baa48a6c5 100644 --- a/tests/components/tuya/test.esp32-idf.yaml +++ b/tests/components/tuya/test.esp32-idf.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 status_pin: GPIO12 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tuya/test.esp8266-ard.yaml b/tests/components/tuya/test.esp8266-ard.yaml index 11d46ed50e..1565495cf8 100644 --- a/tests/components/tuya/test.esp8266-ard.yaml +++ b/tests/components/tuya/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - status_pin: GPIO12 + tx_pin: GPIO0 + rx_pin: GPIO2 + status_pin: GPIO15 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tuya/test.rp2040-ard.yaml b/tests/components/tuya/test.rp2040-ard.yaml index 11d46ed50e..0c3db54644 100644 --- a/tests/components/tuya/test.rp2040-ard.yaml +++ b/tests/components/tuya/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 status_pin: GPIO12 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.esp32-c3-idf.yaml b/tests/components/udp/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/udp/test.esp32-c3-idf.yaml +++ b/tests/components/udp/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.esp32-idf.yaml b/tests/components/udp/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/udp/test.esp32-idf.yaml +++ b/tests/components/udp/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.esp8266-ard.yaml b/tests/components/udp/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/udp/test.esp8266-ard.yaml +++ b/tests/components/udp/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.host.yaml b/tests/components/udp/test.host.yaml index e735c37e4d..84e78894e5 100644 --- a/tests/components/udp/test.host.yaml +++ b/tests/components/udp/test.host.yaml @@ -1,4 +1,15 @@ -packages: - common: !include common.yaml - -wifi: !remove +udp: + id: my_udp + listen_address: 239.0.60.53 + addresses: ["239.0.60.53"] + on_receive: + - logger.log: + format: "Received %d bytes" + args: [data.size()] + - udp.write: + id: my_udp + data: "hello world" + - udp.write: + id: my_udp + data: !lambda |- + return std::vector{1,3,4,5,6}; diff --git a/tests/components/udp/test.rp2040-ard.yaml b/tests/components/udp/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/udp/test.rp2040-ard.yaml +++ b/tests/components/udp/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ufire_ec/common.yaml b/tests/components/ufire_ec/common.yaml index dcc957aaee..4260f0ab4c 100644 --- a/tests/components/ufire_ec/common.yaml +++ b/tests/components/ufire_ec/common.yaml @@ -7,16 +7,12 @@ esphome: temperature: !lambda "return id(test_sensor).state;" - ufire_ec.reset: -i2c: - - id: i2c_ufire_ec - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: template id: test_sensor lambda: "return 21;" - platform: ufire_ec + i2c_id: i2c_bus id: ufire_ec_board ec: name: Ufire EC diff --git a/tests/components/ufire_ec/test.esp32-c3-idf.yaml b/tests/components/ufire_ec/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ufire_ec/test.esp32-c3-idf.yaml +++ b/tests/components/ufire_ec/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp32-idf.yaml b/tests/components/ufire_ec/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ufire_ec/test.esp32-idf.yaml +++ b/tests/components/ufire_ec/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp8266-ard.yaml b/tests/components/ufire_ec/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ufire_ec/test.esp8266-ard.yaml +++ b/tests/components/ufire_ec/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ec/test.rp2040-ard.yaml b/tests/components/ufire_ec/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ufire_ec/test.rp2040-ard.yaml +++ b/tests/components/ufire_ec/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/common.yaml b/tests/components/ufire_ise/common.yaml index d6ead8c479..f7865ea87b 100644 --- a/tests/components/ufire_ise/common.yaml +++ b/tests/components/ufire_ise/common.yaml @@ -9,16 +9,12 @@ esphome: solution: 4.0 - ufire_ise.reset: -i2c: - - id: i2c_ufire_ise - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: template id: test_sensor lambda: "return 21;" - platform: ufire_ise + i2c_id: i2c_bus id: ufire_ise_sensor temperature_sensor: test_sensor ph: diff --git a/tests/components/ufire_ise/test.esp32-c3-idf.yaml b/tests/components/ufire_ise/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ufire_ise/test.esp32-c3-idf.yaml +++ b/tests/components/ufire_ise/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp32-idf.yaml b/tests/components/ufire_ise/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ufire_ise/test.esp32-idf.yaml +++ b/tests/components/ufire_ise/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp8266-ard.yaml b/tests/components/ufire_ise/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ufire_ise/test.esp8266-ard.yaml +++ b/tests/components/ufire_ise/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/test.rp2040-ard.yaml b/tests/components/ufire_ise/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ufire_ise/test.rp2040-ard.yaml +++ b/tests/components/ufire_ise/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/update/common.yaml b/tests/components/update/common.yaml index 45ed110352..521a0a6a5c 100644 --- a/tests/components/update/common.yaml +++ b/tests/components/update/common.yaml @@ -21,10 +21,12 @@ http_request: ota: - platform: http_request + id: update_http_request_ota update: - platform: http_request name: Firmware Update + ota_id: update_http_request_ota source: http://example.com/manifest.json on_update_available: - logger.log: "A new update is available" diff --git a/tests/components/uponor_smatrix/common.yaml b/tests/components/uponor_smatrix/common.yaml index 8ee92bdfc5..786a604aec 100644 --- a/tests/components/uponor_smatrix/common.yaml +++ b/tests/components/uponor_smatrix/common.yaml @@ -2,12 +2,6 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uponor_uart - baud_rate: 19200 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - time: - platform: sntp id: sntp_time @@ -17,7 +11,6 @@ time: - 192.168.178.1 uponor_smatrix: - uart_id: uponor_uart address: 0x110B time_id: sntp_time time_device_address: 0xDE13 diff --git a/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml b/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml index b516342f3b..cd26c783c2 100644 --- a/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml +++ b/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-c3-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp32-idf.yaml b/tests/components/uponor_smatrix/test.esp32-idf.yaml index f486544afa..76222997a8 100644 --- a/tests/components/uponor_smatrix/test.esp32-idf.yaml +++ b/tests/components/uponor_smatrix/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp8266-ard.yaml b/tests/components/uponor_smatrix/test.esp8266-ard.yaml index b516342f3b..1f4483954b 100644 --- a/tests/components/uponor_smatrix/test.esp8266-ard.yaml +++ b/tests/components/uponor_smatrix/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp8266-ard.yaml + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.rp2040-ard.yaml b/tests/components/uponor_smatrix/test.rp2040-ard.yaml index b516342f3b..65ba185aef 100644 --- a/tests/components/uponor_smatrix/test.rp2040-ard.yaml +++ b/tests/components/uponor_smatrix/test.rp2040-ard.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/rp2040-ard.yaml + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/vbus/common.yaml b/tests/components/vbus/common.yaml index a1f94cd839..33d9e2935d 100644 --- a/tests/components/vbus/common.yaml +++ b/tests/components/vbus/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_vbus - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - vbus: binary_sensor: diff --git a/tests/components/vbus/test.esp32-c3-idf.yaml b/tests/components/vbus/test.esp32-c3-idf.yaml index b516342f3b..a19013bf54 100644 --- a/tests/components/vbus/test.esp32-c3-idf.yaml +++ b/tests/components/vbus/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/vbus/test.esp32-idf.yaml b/tests/components/vbus/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/vbus/test.esp32-idf.yaml +++ b/tests/components/vbus/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/vbus/test.esp8266-ard.yaml b/tests/components/vbus/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/vbus/test.esp8266-ard.yaml +++ b/tests/components/vbus/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/vbus/test.rp2040-ard.yaml b/tests/components/vbus/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/vbus/test.rp2040-ard.yaml +++ b/tests/components/vbus/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/common.yaml b/tests/components/veml3235/common.yaml index b89a9e12c7..98ffb0729c 100644 --- a/tests/components/veml3235/common.yaml +++ b/tests/components/veml3235/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_veml3235 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: veml3235 + i2c_id: i2c_bus id: veml3235_sensor name: VEML3235 Light Sensor auto_gain: true diff --git a/tests/components/veml3235/test.esp32-c3-idf.yaml b/tests/components/veml3235/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/veml3235/test.esp32-c3-idf.yaml +++ b/tests/components/veml3235/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/test.esp32-idf.yaml b/tests/components/veml3235/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/veml3235/test.esp32-idf.yaml +++ b/tests/components/veml3235/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/test.esp8266-ard.yaml b/tests/components/veml3235/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/veml3235/test.esp8266-ard.yaml +++ b/tests/components/veml3235/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/test.rp2040-ard.yaml b/tests/components/veml3235/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/veml3235/test.rp2040-ard.yaml +++ b/tests/components/veml3235/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/common.yaml b/tests/components/veml7700/common.yaml index af4ebee6e7..06c1d304c3 100644 --- a/tests/components/veml7700/common.yaml +++ b/tests/components/veml7700/common.yaml @@ -1,12 +1,7 @@ -i2c: - - id: i2c_veml7700 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: veml7700 + i2c_id: i2c_bus address: 0x10 - i2c_id: i2c_veml7700 ambient_light: Ambient light ambient_light_counts: Ambient light counts full_spectrum: Full spectrum diff --git a/tests/components/veml7700/test.esp32-c3-idf.yaml b/tests/components/veml7700/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/veml7700/test.esp32-c3-idf.yaml +++ b/tests/components/veml7700/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/test.esp32-idf.yaml b/tests/components/veml7700/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/veml7700/test.esp32-idf.yaml +++ b/tests/components/veml7700/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/test.esp8266-ard.yaml b/tests/components/veml7700/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/veml7700/test.esp8266-ard.yaml +++ b/tests/components/veml7700/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/test.rp2040-ard.yaml b/tests/components/veml7700/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/veml7700/test.rp2040-ard.yaml +++ b/tests/components/veml7700/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/common.yaml b/tests/components/vl53l0x/common.yaml index 8346eae854..98277639cf 100644 --- a/tests/components/vl53l0x/common.yaml +++ b/tests/components/vl53l0x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_vl53l0x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: vl53l0x + i2c_id: i2c_bus name: VL53L0x Distance address: 0x29 enable_pin: 3 diff --git a/tests/components/vl53l0x/test.esp32-c3-idf.yaml b/tests/components/vl53l0x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/vl53l0x/test.esp32-c3-idf.yaml +++ b/tests/components/vl53l0x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp32-idf.yaml b/tests/components/vl53l0x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/vl53l0x/test.esp32-idf.yaml +++ b/tests/components/vl53l0x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp8266-ard.yaml b/tests/components/vl53l0x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/vl53l0x/test.esp8266-ard.yaml +++ b/tests/components/vl53l0x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/test.rp2040-ard.yaml b/tests/components/vl53l0x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/vl53l0x/test.rp2040-ard.yaml +++ b/tests/components/vl53l0x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/voice_assistant/common-idf.yaml b/tests/components/voice_assistant/common-idf.yaml index b1d249d5b4..ab8cbf2434 100644 --- a/tests/components/voice_assistant/common-idf.yaml +++ b/tests/components/voice_assistant/common-idf.yaml @@ -18,6 +18,7 @@ i2s_audio: micro_wake_word: id: mww_id + microphone: mic_id_external on_wake_word_detected: - voice_assistant.start: wake_word: !lambda return wake_word; diff --git a/tests/components/voice_assistant/test.esp32-idf.yaml b/tests/components/voice_assistant/test.esp32-idf.yaml index 0fe5d347be..1c5c9ddf99 100644 --- a/tests/components/voice_assistant/test.esp32-idf.yaml +++ b/tests/components/voice_assistant/test.esp32-idf.yaml @@ -1,6 +1,6 @@ substitutions: - i2s_lrclk_pin: GPIO16 - i2s_bclk_pin: GPIO17 + i2s_lrclk_pin: GPIO4 + i2s_bclk_pin: GPIO5 i2s_mclk_pin: GPIO15 i2s_din_pin: GPIO13 i2s_dout_pin: GPIO12 diff --git a/tests/components/wake_on_lan/test.esp32-c3-idf.yaml b/tests/components/wake_on_lan/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/wake_on_lan/test.esp32-c3-idf.yaml +++ b/tests/components/wake_on_lan/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp32-idf.yaml b/tests/components/wake_on_lan/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/wake_on_lan/test.esp32-idf.yaml +++ b/tests/components/wake_on_lan/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp8266-ard.yaml b/tests/components/wake_on_lan/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/wake_on_lan/test.esp8266-ard.yaml +++ b/tests/components/wake_on_lan/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.rp2040-ard.yaml b/tests/components/wake_on_lan/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/wake_on_lan/test.rp2040-ard.yaml +++ b/tests/components/wake_on_lan/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/common.yaml b/tests/components/waveshare_epaper/common.yaml index a2aa3134b5..b80a352c1f 100644 --- a/tests/components/waveshare_epaper/common.yaml +++ b/tests/components/waveshare_epaper/common.yaml @@ -1,14 +1,8 @@ -spi: - - id: spi_waveshare_epaper - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: # 1.54 inch displays - platform: waveshare_epaper id: epd_1_54 model: 1.54in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -28,7 +22,6 @@ display: - platform: waveshare_epaper id: epd_1_54v2 model: 1.54inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -48,7 +41,6 @@ display: - platform: waveshare_epaper id: epd_1_54v2b model: 1.54inv2-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -67,7 +59,6 @@ display: - platform: waveshare_epaper id: epd_1_54m09 model: 1.54in-m5coreink-m09 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -87,7 +78,6 @@ display: - platform: waveshare_epaper id: epd_2_13 model: 2.13in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -107,7 +97,6 @@ display: - platform: waveshare_epaper id: epd_2_13v2 model: 2.13inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -127,7 +116,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo model: 2.13in-ttgo - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -147,7 +135,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo_b1 model: 2.13in-ttgo-b1 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -167,7 +154,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo_b73 model: 2.13in-ttgo-b73 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -187,7 +173,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo_b74 model: 2.13in-ttgo-b74 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -207,7 +192,6 @@ display: - platform: waveshare_epaper id: epd_2_13dke model: 2.13in-ttgo-dke - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -227,7 +211,6 @@ display: - platform: waveshare_epaper id: epd_2_13v3 model: 2.13inv3 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -248,7 +231,6 @@ display: - platform: waveshare_epaper id: epd_2_70 model: 2.70in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -267,7 +249,6 @@ display: - platform: waveshare_epaper id: epd_2_70b model: 2.70in-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -286,7 +267,6 @@ display: - platform: waveshare_epaper id: epd_2_70bv2 model: 2.70in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -305,7 +285,6 @@ display: - platform: waveshare_epaper id: epd_2_70v2 model: 2.70inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -325,7 +304,6 @@ display: - platform: waveshare_epaper id: epd_2_90 model: 2.90in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -346,7 +324,6 @@ display: - platform: waveshare_epaper id: epd_2_90v2 model: 2.90inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -367,7 +344,6 @@ display: - platform: waveshare_epaper id: epd_2_90b model: 2.90in-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -386,7 +362,6 @@ display: - platform: waveshare_epaper id: epd_2_90bv3 model: 2.90in-bv3 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -405,7 +380,6 @@ display: - platform: waveshare_epaper id: epd_2_90v2r2 model: 2.90inv2-r2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -425,7 +399,6 @@ display: - platform: waveshare_epaper id: epd_2_90dke model: 2.90in-dke - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -446,7 +419,6 @@ display: - platform: waveshare_epaper id: epd_gdew029t5 model: gdew029t5 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -466,7 +438,6 @@ display: - platform: waveshare_epaper id: epd_gdew042t81 model: gdey042t81 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -487,7 +458,6 @@ display: - platform: waveshare_epaper id: epd_4_20 model: 4.20in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -506,7 +476,6 @@ display: - platform: waveshare_epaper id: epd_4_20bv2 model: 4.20in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -525,7 +494,6 @@ display: - platform: waveshare_epaper id: epd_4_20in_bv2_bwr model: 4.20in-bv2-bwr - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -545,7 +513,6 @@ display: - platform: waveshare_epaper id: epd_5_65 model: 5.65in-f - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -565,7 +532,6 @@ display: - platform: waveshare_epaper id: epd_5_83 model: 5.83in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -584,7 +550,6 @@ display: - platform: waveshare_epaper id: epd_5_83v2 model: 5.83inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -604,7 +569,6 @@ display: - platform: waveshare_epaper id: epd_7_50 model: 7.50in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -623,7 +587,6 @@ display: - platform: waveshare_epaper id: epd_7_50bv2 model: 7.50in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -642,7 +605,6 @@ display: - platform: waveshare_epaper id: epd_7_50bv3 model: 7.50in-bv3 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -661,7 +623,6 @@ display: - platform: waveshare_epaper id: epd_7_50bv3_bwr model: 7.50in-bv3-bwr - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -680,7 +641,6 @@ display: - platform: waveshare_epaper id: epd_7_50bc model: 7.50in-bc - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -699,7 +659,6 @@ display: - platform: waveshare_epaper id: epd_7_50v2 model: 7.50inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -718,7 +677,6 @@ display: - platform: waveshare_epaper id: epd_7_50v2alt model: 7.50inv2alt - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -737,7 +695,6 @@ display: - platform: waveshare_epaper id: epd_7_50inv2p model: 7.50inv2p - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -757,7 +714,6 @@ display: - platform: waveshare_epaper id: epd_7_50hdb model: 7.50in-hd-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -777,7 +733,6 @@ display: - platform: waveshare_epaper id: epd_13_3k model: 13.3in-k - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -795,7 +750,6 @@ display: - platform: waveshare_epaper model: 2.90in-d - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -814,7 +768,6 @@ display: - platform: waveshare_epaper model: 2.90in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -834,7 +787,6 @@ display: - platform: waveshare_epaper model: 2.90inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -853,7 +805,6 @@ display: - platform: waveshare_epaper model: 2.70in-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -871,7 +822,6 @@ display: - platform: waveshare_epaper model: 2.70in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} diff --git a/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml b/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml index 4cb230f6f2..bdd7e1d350 100644 --- a/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml +++ b/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO4 + cs_pin: GPIO7 dc_pin: GPIO1 busy_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp32-idf.yaml b/tests/components/waveshare_epaper/test.esp32-idf.yaml index 9e8b2fdec8..b7b12c8c66 100644 --- a/tests/components/waveshare_epaper/test.esp32-idf.yaml +++ b/tests/components/waveshare_epaper/test.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO4 dc_pin: GPIO5 - busy_pin: GPIO18 - reset_pin: GPIO19 + busy_pin: GPIO14 + reset_pin: GPIO15 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp8266-ard.yaml b/tests/components/waveshare_epaper/test.esp8266-ard.yaml index ee8199bcc0..92452c840a 100644 --- a/tests/components/waveshare_epaper/test.esp8266-ard.yaml +++ b/tests/components/waveshare_epaper/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 cs_pin: GPIO4 dc_pin: GPIO5 busy_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.rp2040-ard.yaml b/tests/components/waveshare_epaper/test.rp2040-ard.yaml index e92f6d421d..e9e001cdd4 100644 --- a/tests/components/waveshare_epaper/test.rp2040-ard.yaml +++ b/tests/components/waveshare_epaper/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: busy_pin: GPIO7 reset_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/web_server/test_ota.esp32-idf.yaml b/tests/components/web_server/test_ota.esp32-idf.yaml index 99873aa27b..98b080386b 100644 --- a/tests/components/web_server/test_ota.esp32-idf.yaml +++ b/tests/components/web_server/test_ota.esp32-idf.yaml @@ -12,8 +12,10 @@ packages: # Enable OTA for multipart upload testing ota: - platform: esphome + id: web_server_esphome_ota password: "test_ota_password" - platform: web_server + id: web_server_web_server_ota # Web server configuration web_server: diff --git a/tests/components/wifi_info/test.esp32-c3-idf.yaml b/tests/components/wifi_info/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/wifi_info/test.esp32-c3-idf.yaml +++ b/tests/components/wifi_info/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp32-idf.yaml b/tests/components/wifi_info/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/wifi_info/test.esp32-idf.yaml +++ b/tests/components/wifi_info/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp8266-ard.yaml b/tests/components/wifi_info/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/wifi_info/test.esp8266-ard.yaml +++ b/tests/components/wifi_info/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wifi_info/test.rp2040-ard.yaml b/tests/components/wifi_info/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/wifi_info/test.rp2040-ard.yaml +++ b/tests/components/wifi_info/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wireguard/test.esp32-c3-idf.yaml b/tests/components/wireguard/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/wireguard/test.esp32-c3-idf.yaml +++ b/tests/components/wireguard/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wireguard/test.esp32-idf.yaml b/tests/components/wireguard/test.esp32-idf.yaml index 2798f8e566..90dbc1cf7d 100644 --- a/tests/components/wireguard/test.esp32-idf.yaml +++ b/tests/components/wireguard/test.esp32-idf.yaml @@ -1,3 +1,6 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml network: diff --git a/tests/components/wireguard/test.esp8266-ard.yaml b/tests/components/wireguard/test.esp8266-ard.yaml index 2798f8e566..ae6a3d6ce0 100644 --- a/tests/components/wireguard/test.esp8266-ard.yaml +++ b/tests/components/wireguard/test.esp8266-ard.yaml @@ -1,3 +1,6 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml network: diff --git a/tests/components/wk2132_i2c/common.yaml b/tests/components/wk2132_i2c/common.yaml index 942e01aafc..39013baeb2 100644 --- a/tests/components/wk2132_i2c/common.yaml +++ b/tests/components/wk2132_i2c/common.yaml @@ -1,14 +1,7 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - wk2132_i2c: - id: wk2132_i2c_id - address: 0x70 i2c_id: i2c_bus + address: 0x70 uart: - id: wk2132_id_0 channel: 0 diff --git a/tests/components/wk2132_i2c/test.esp32-idf.yaml b/tests/components/wk2132_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2132_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2132_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2132_spi/common.yaml b/tests/components/wk2132_spi/common.yaml index a077b36998..a762c10c92 100644 --- a/tests/components/wk2132_spi/common.yaml +++ b/tests/components/wk2132_spi/common.yaml @@ -1,13 +1,6 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2132_spi: - id: wk2132_spi_id cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: diff --git a/tests/components/wk2132_spi/test.esp32-idf.yaml b/tests/components/wk2132_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2132_spi/test.esp32-idf.yaml +++ b/tests/components/wk2132_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-s3-idf.yaml b/tests/components/wk2132_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2132_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2132_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2168_i2c/common.yaml b/tests/components/wk2168_i2c/common.yaml index 10463e8abf..49f0d1ec6b 100644 --- a/tests/components/wk2168_i2c/common.yaml +++ b/tests/components/wk2168_i2c/common.yaml @@ -1,35 +1,28 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - # component declaration wk2168_i2c: - - id: bridge_i2c + - id: wk2168_i2c_bridge i2c_id: i2c_bus address: 0x70 uart: - - id: id0 + - id: wk2168_i2c_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: id1 + - id: wk2168_i2c_uart1 channel: 1 baud_rate: 115200 - - id: id2 + - id: wk2168_i2c_uart2 channel: 2 baud_rate: 115200 - - id: id3 + - id: wk2168_i2c_uart3 channel: 3 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: id3 + uart_id: wk2168_i2c_uart3 id: distance_sensor # individual binary_sensor inputs @@ -37,14 +30,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 1 mode: input: true @@ -55,14 +48,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 3 mode: output: true diff --git a/tests/components/wk2168_i2c/test.esp32-idf.yaml b/tests/components/wk2168_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2168_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2168_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2168_spi/common.yaml b/tests/components/wk2168_spi/common.yaml index fb126193fc..b402077aa3 100644 --- a/tests/components/wk2168_spi/common.yaml +++ b/tests/components/wk2168_spi/common.yaml @@ -1,35 +1,28 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2168_spi: - - id: bridge_spi + - id: wk2168_spi_bridge cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: - - id: id0 + - id: wk2168_spi_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: id1 + - id: wk2168_spi_uart1 channel: 1 baud_rate: 115200 - - id: id2 + - id: wk2168_spi_uart2 channel: 2 baud_rate: 115200 - - id: id3 + - id: wk2168_spi_uart3 channel: 3 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: id3 + uart_id: wk2168_spi_uart3 id: distance_sensor # individual binary_sensor inputs @@ -37,14 +30,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 1 mode: input: true @@ -55,14 +48,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 3 mode: output: true diff --git a/tests/components/wk2168_spi/test.esp32-idf.yaml b/tests/components/wk2168_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2168_spi/test.esp32-idf.yaml +++ b/tests/components/wk2168_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-s3-idf.yaml b/tests/components/wk2168_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2168_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2168_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2204_i2c/common.yaml b/tests/components/wk2204_i2c/common.yaml index 70c0f4babf..863633937b 100644 --- a/tests/components/wk2204_i2c/common.yaml +++ b/tests/components/wk2204_i2c/common.yaml @@ -1,10 +1,3 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - wk2204_i2c: - id: wk2204_i2c_id i2c_id: i2c_bus diff --git a/tests/components/wk2204_i2c/test.esp32-idf.yaml b/tests/components/wk2204_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2204_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2204_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2204_spi/common.yaml b/tests/components/wk2204_spi/common.yaml index a08cdb906f..939c54cc40 100644 --- a/tests/components/wk2204_spi/common.yaml +++ b/tests/components/wk2204_spi/common.yaml @@ -1,13 +1,6 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2204_spi: - id: wk2204_spi_id cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: diff --git a/tests/components/wk2204_spi/test.esp32-idf.yaml b/tests/components/wk2204_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2204_spi/test.esp32-idf.yaml +++ b/tests/components/wk2204_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-s3-idf.yaml b/tests/components/wk2204_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2204_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2204_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2212_i2c/common.yaml b/tests/components/wk2212_i2c/common.yaml index 0759ef8688..a754bec5c7 100644 --- a/tests/components/wk2212_i2c/common.yaml +++ b/tests/components/wk2212_i2c/common.yaml @@ -1,13 +1,6 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - # component declaration wk2212_i2c: - - id: bridge_i2c + - id: wk2212_i2c_bridge i2c_id: i2c_bus address: 0x70 uart: @@ -33,14 +26,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 1 mode: input: true @@ -51,14 +44,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 3 mode: output: true diff --git a/tests/components/wk2212_i2c/test.esp32-idf.yaml b/tests/components/wk2212_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2212_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2212_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2212_spi/common.yaml b/tests/components/wk2212_spi/common.yaml index 693d2a9ab2..969f16bb12 100644 --- a/tests/components/wk2212_spi/common.yaml +++ b/tests/components/wk2212_spi/common.yaml @@ -1,29 +1,22 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2212_spi: - - id: bridge_spi + - id: wk2212_spi_bridge cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: - - id: id0 + - id: wk2212_spi_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: id1 + - id: wk2212_spi_uart1 channel: 1 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: id1 + uart_id: wk2212_spi_uart1 id: distance_sensor # individual binary_sensor inputs @@ -31,14 +24,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 1 mode: input: true @@ -49,14 +42,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 3 mode: output: true diff --git a/tests/components/wk2212_spi/test.esp32-idf.yaml b/tests/components/wk2212_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2212_spi/test.esp32-idf.yaml +++ b/tests/components/wk2212_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-s3-idf.yaml b/tests/components/wk2212_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2212_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2212_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wl_134/common.yaml b/tests/components/wl_134/common.yaml index 71c50be79b..e79331cb52 100644 --- a/tests/components/wl_134/common.yaml +++ b/tests/components/wl_134/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_wl_134 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - text_sensor: - platform: wl_134 name: Transponder Code diff --git a/tests/components/wl_134/test.esp32-c3-idf.yaml b/tests/components/wl_134/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/wl_134/test.esp32-c3-idf.yaml +++ b/tests/components/wl_134/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wl_134/test.esp32-idf.yaml b/tests/components/wl_134/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/wl_134/test.esp32-idf.yaml +++ b/tests/components/wl_134/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wl_134/test.esp8266-ard.yaml b/tests/components/wl_134/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/wl_134/test.esp8266-ard.yaml +++ b/tests/components/wl_134/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/wl_134/test.rp2040-ard.yaml b/tests/components/wl_134/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/wl_134/test.rp2040-ard.yaml +++ b/tests/components/wl_134/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wts01/common.yaml b/tests/components/wts01/common.yaml index c26cc3e475..966588c82a 100644 --- a/tests/components/wts01/common.yaml +++ b/tests/components/wts01/common.yaml @@ -1,7 +1,3 @@ -uart: - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: wts01 id: wts01_sensor diff --git a/tests/components/wts01/test.esp32-c3-idf.yaml b/tests/components/wts01/test.esp32-c3-idf.yaml index 00cec5b3b8..4b7c8351a7 100644 --- a/tests/components/wts01/test.esp32-c3-idf.yaml +++ b/tests/components/wts01/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO6 - rx_pin: GPIO7 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wts01/test.esp32-idf.yaml b/tests/components/wts01/test.esp32-idf.yaml index 4904e1f54f..b415125e84 100644 --- a/tests/components/wts01/test.esp32-idf.yaml +++ b/tests/components/wts01/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO16 - rx_pin: GPIO17 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wts01/test.esp8266-ard.yaml b/tests/components/wts01/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/wts01/test.esp8266-ard.yaml +++ b/tests/components/wts01/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wts01/test.rp2040-ard.yaml b/tests/components/wts01/test.rp2040-ard.yaml index 16b2a4b006..9246c39f08 100644 --- a/tests/components/wts01/test.rp2040-ard.yaml +++ b/tests/components/wts01/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO0 rx_pin: GPIO1 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/x9c/test.esp32-idf.yaml b/tests/components/x9c/test.esp32-idf.yaml index 6dfe3a67eb..7beb6e67cb 100644 --- a/tests/components/x9c/test.esp32-idf.yaml +++ b/tests/components/x9c/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: inc_pin: GPIO14 ud_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/x9c/test.esp8266-ard.yaml b/tests/components/x9c/test.esp8266-ard.yaml index 6dfe3a67eb..ae6b775ff7 100644 --- a/tests/components/x9c/test.esp8266-ard.yaml +++ b/tests/components/x9c/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - cs_pin: GPIO13 - inc_pin: GPIO14 + cs_pin: GPIO0 + inc_pin: GPIO2 ud_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/x9c/test.rp2040-ard.yaml b/tests/components/x9c/test.rp2040-ard.yaml index b06e15a98c..f17627baf3 100644 --- a/tests/components/x9c/test.rp2040-ard.yaml +++ b/tests/components/x9c/test.rp2040-ard.yaml @@ -1,6 +1,9 @@ substitutions: - cs_pin: GPIO3 - inc_pin: GPIO4 - ud_pin: GPIO5 + cs_pin: GPIO6 + inc_pin: GPIO7 + ud_pin: GPIO8 + +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/common.yaml b/tests/components/xgzp68xx/common.yaml index 224dd9ed14..f76b1de508 100644 --- a/tests/components/xgzp68xx/common.yaml +++ b/tests/components/xgzp68xx/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_xgzp68xx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: xgzp68xx + i2c_id: i2c_bus k_value: 4096 temperature: name: Pressure Temperature diff --git a/tests/components/xgzp68xx/test.esp32-c3-idf.yaml b/tests/components/xgzp68xx/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/xgzp68xx/test.esp32-c3-idf.yaml +++ b/tests/components/xgzp68xx/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp32-idf.yaml b/tests/components/xgzp68xx/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/xgzp68xx/test.esp32-idf.yaml +++ b/tests/components/xgzp68xx/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp8266-ard.yaml b/tests/components/xgzp68xx/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/xgzp68xx/test.esp8266-ard.yaml +++ b/tests/components/xgzp68xx/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.rp2040-ard.yaml b/tests/components/xgzp68xx/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/xgzp68xx/test.rp2040-ard.yaml +++ b/tests/components/xgzp68xx/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml b/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-idf.yaml b/tests/components/xiaomi_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_ble/test.esp32-idf.yaml +++ b/tests/components/xiaomi_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-idf.yaml b/tests/components/xiaomi_cgd1/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgd1/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgd1/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml b/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-idf.yaml b/tests/components/xiaomi_cgg1/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgg1/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgg1/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml b/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml b/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-idf.yaml b/tests/components/xiaomi_gcls002/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_gcls002/test.esp32-idf.yaml +++ b/tests/components/xiaomi_gcls002/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml +++ b/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml +++ b/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml +++ b/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml b/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml b/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml b/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/common.yaml b/tests/components/xiaomi_miscale copy/common.yaml deleted file mode 100644 index 89f32ad199..0000000000 --- a/tests/components/xiaomi_miscale copy/common.yaml +++ /dev/null @@ -1,9 +0,0 @@ -esp32_ble_tracker: - -sensor: - - platform: xiaomi_miscale - mac_address: '5C:CA:D3:70:D4:A2' - weight: - name: "Xiaomi Mi Scale Weight" - impedance: - name: "Xiaomi Mi Scale Impedance" diff --git a/tests/components/xiaomi_miscale copy/test.esp32-ard.yaml b/tests/components/xiaomi_miscale copy/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml b/tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml b/tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/test.esp32-idf.yaml b/tests/components/xiaomi_miscale copy/test.esp32-idf.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-idf.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml b/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-idf.yaml b/tests/components/xiaomi_miscale/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_miscale/test.esp32-idf.yaml +++ b/tests/components/xiaomi_miscale/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml +++ b/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml b/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml b/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml +++ b/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml +++ b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xl9535/common.yaml b/tests/components/xl9535/common.yaml index e01163cf12..81e96131ab 100644 --- a/tests/components/xl9535/common.yaml +++ b/tests/components/xl9535/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_xl9535 - scl: ${scl_pin} - sda: ${sda_pin} - xl9535: - id: xl9535_hub + i2c_id: i2c_bus address: 0x20 binary_sensor: diff --git a/tests/components/xl9535/test.esp32-c3-idf.yaml b/tests/components/xl9535/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/xl9535/test.esp32-c3-idf.yaml +++ b/tests/components/xl9535/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/xl9535/test.esp32-idf.yaml b/tests/components/xl9535/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/xl9535/test.esp32-idf.yaml +++ b/tests/components/xl9535/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/xl9535/test.esp8266-ard.yaml b/tests/components/xl9535/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/xl9535/test.esp8266-ard.yaml +++ b/tests/components/xl9535/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/xl9535/test.rp2040-ard.yaml b/tests/components/xl9535/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/xl9535/test.rp2040-ard.yaml +++ b/tests/components/xl9535/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/xpt2046/common.yaml b/tests/components/xpt2046/common.yaml index 9ef680cff4..3a8e3286a6 100644 --- a/tests/components/xpt2046/common.yaml +++ b/tests/components/xpt2046/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_xpt2046 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: ili9xxx id: xpt_display diff --git a/tests/components/xpt2046/test.esp32-c3-idf.yaml b/tests/components/xpt2046/test.esp32-c3-idf.yaml index 79b84902ac..ff7a32c26c 100644 --- a/tests/components/xpt2046/test.esp32-c3-idf.yaml +++ b/tests/components/xpt2046/test.esp32-c3-idf.yaml @@ -1,11 +1,10 @@ substitutions: - clk_pin: GPIO4 - mosi_pin: GPIO5 - miso_pin: GPIO6 dc_pin: GPIO7 cs_pin: GPIO0 disp_cs_pin: GPIO1 interrupt_pin: GPIO3 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp32-idf.yaml b/tests/components/xpt2046/test.esp32-idf.yaml index b39174947b..608e135d74 100644 --- a/tests/components/xpt2046/test.esp32-idf.yaml +++ b/tests/components/xpt2046/test.esp32-idf.yaml @@ -1,11 +1,11 @@ substitutions: - clk_pin: GPIO17 - mosi_pin: GPIO18 - miso_pin: GPIO19 dc_pin: GPIO13 cs_pin: GPIO14 disp_cs_pin: GPIO4 interrupt_pin: GPIO21 reset_pin: GPIO22 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp8266-ard.yaml b/tests/components/xpt2046/test.esp8266-ard.yaml index 246c5c8953..e2779a03b9 100644 --- a/tests/components/xpt2046/test.esp8266-ard.yaml +++ b/tests/components/xpt2046/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO14 + clk_pin: GPIO0 mosi_pin: GPIO13 miso_pin: GPIO12 dc_pin: GPIO15 @@ -8,4 +8,7 @@ substitutions: interrupt_pin: GPIO5 reset_pin: GPIO2 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/xpt2046/test.rp2040-ard.yaml b/tests/components/xpt2046/test.rp2040-ard.yaml index e693b363d9..c547bdc0c9 100644 --- a/tests/components/xpt2046/test.rp2040-ard.yaml +++ b/tests/components/xpt2046/test.rp2040-ard.yaml @@ -8,4 +8,7 @@ substitutions: interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/common.yaml b/tests/components/zio_ultrasonic/common.yaml index e13853d8f1..34a3144db9 100644 --- a/tests/components/zio_ultrasonic/common.yaml +++ b/tests/components/zio_ultrasonic/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_zio_ultrasonic - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: zio_ultrasonic + i2c_id: i2c_bus name: "Distance" update_interval: 60s diff --git a/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml b/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml +++ b/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp32-idf.yaml b/tests/components/zio_ultrasonic/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/zio_ultrasonic/test.esp32-idf.yaml +++ b/tests/components/zio_ultrasonic/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp8266-ard.yaml b/tests/components/zio_ultrasonic/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/zio_ultrasonic/test.esp8266-ard.yaml +++ b/tests/components/zio_ultrasonic/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.rp2040-ard.yaml b/tests/components/zio_ultrasonic/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/zio_ultrasonic/test.rp2040-ard.yaml +++ b/tests/components/zio_ultrasonic/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/common.yaml b/tests/components/zwave_proxy/common.yaml index 08092ebe55..097e4b43a5 100644 --- a/tests/components/zwave_proxy/common.yaml +++ b/tests/components/zwave_proxy/common.yaml @@ -3,12 +3,6 @@ wifi: password: password1 power_save_mode: none -uart: - - id: uart_zwave_proxy - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - api: zwave_proxy: diff --git a/tests/components/zwave_proxy/test.esp32-c3-idf.yaml b/tests/components/zwave_proxy/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/zwave_proxy/test.esp32-c3-idf.yaml +++ b/tests/components/zwave_proxy/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp32-idf.yaml b/tests/components/zwave_proxy/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/zwave_proxy/test.esp32-idf.yaml +++ b/tests/components/zwave_proxy/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp8266-ard.yaml b/tests/components/zwave_proxy/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/zwave_proxy/test.esp8266-ard.yaml +++ b/tests/components/zwave_proxy/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.rp2040-ard.yaml b/tests/components/zwave_proxy/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/zwave_proxy/test.rp2040-ard.yaml +++ b/tests/components/zwave_proxy/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/zyaura/test.esp32-idf.yaml b/tests/components/zyaura/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/zyaura/test.esp32-idf.yaml +++ b/tests/components/zyaura/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/zyaura/test.esp8266-ard.yaml b/tests/components/zyaura/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/zyaura/test.esp8266-ard.yaml +++ b/tests/components/zyaura/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/test_build_components/build_components_base.bk72xx-ard.yaml b/tests/test_build_components/build_components_base.bk72xx-ard.yaml index 9a4e15d5cf..817acc3c39 100644 --- a/tests/test_build_components/build_components_base.bk72xx-ard.yaml +++ b/tests/test_build_components/build_components_base.bk72xx-ard.yaml @@ -3,7 +3,7 @@ esphome: friendly_name: $component_name bk72xx: - board: generic-bk7231n-qfn32-tuya + board: generic-bk7252 logger: level: VERY_VERBOSE diff --git a/tests/test_build_components/common/README.md b/tests/test_build_components/common/README.md new file mode 100644 index 0000000000..76f14b8664 --- /dev/null +++ b/tests/test_build_components/common/README.md @@ -0,0 +1,248 @@ +# Common Bus Configurations for Component Tests + +This directory contains standardized bus configurations (I2C, SPI, UART, Modbus, BLE) that component tests use, enabling multiple components to be tested together with intelligent grouping. + +## Purpose + +These common configs allow multiple components to **share a single bus**, dramatically reducing CI time by compiling multiple compatible components together. Components with identical bus configurations are automatically grouped and tested together. + +## Structure + +``` +common/ +├── i2c/ # Standard I2C (50kHz) +│ ├── esp32-idf.yaml +│ ├── esp32-ard.yaml +│ ├── esp32-c3-idf.yaml +│ ├── esp32-c3-ard.yaml +│ ├── esp32-s2-idf.yaml +│ ├── esp32-s2-ard.yaml +│ ├── esp32-s3-idf.yaml +│ ├── esp32-s3-ard.yaml +│ ├── esp8266-ard.yaml +│ ├── rp2040-ard.yaml +│ └── bk72xx-ard.yaml +├── i2c_low_freq/ # Low frequency I2C (10kHz) +│ └── (same platform variants) +├── spi/ +│ └── (same platform variants) +├── uart/ +│ ├── esp32-idf.yaml +│ ├── esp32-c3-idf.yaml +│ ├── esp8266-ard.yaml +│ └── rp2040-ard.yaml +├── modbus/ # Modbus (includes uart via packages) +│ ├── esp32-idf.yaml +│ ├── esp32-c3-idf.yaml +│ ├── esp8266-ard.yaml +│ └── rp2040-ard.yaml +└── ble/ + ├── esp32-idf.yaml + ├── esp32-ard.yaml + └── esp32-c3-idf.yaml +``` + +## How It Works + +### Component Test Structure +Each component test includes the common bus config: + +```yaml +# tests/components/bh1750/test.esp32-idf.yaml +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +<<: !include common.yaml +``` + +The common config provides: +- Standardized pin assignments +- A shared bus instance (`i2c_bus`, `spi_bus`, `uart_bus`, `modbus_bus`, etc.) + +The component's `common.yaml` references the shared bus: +```yaml +# tests/components/bh1750/common.yaml +sensor: + - platform: bh1750 + i2c_id: i2c_bus + name: Living Room Brightness + address: 0x23 +``` + +### Intelligent Grouping (Implemented) +Components with identical bus configurations are automatically grouped and tested together: + +```yaml +# Auto-generated merged config (created by test_build_components.py) +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +sensor: + - platform: bme280_i2c + i2c_id: i2c_bus + temperature: + name: BME280 Temperature + - platform: bh1750 + i2c_id: i2c_bus + name: BH1750 Illuminance + - platform: sht3xd + i2c_id: i2c_bus + temperature: + name: SHT3xD Temperature +``` + +**Result**: 3 components compile in one test instead of 3 separate tests! + +### Package Dependencies +Some packages include other packages to avoid duplication: + +```yaml +# tests/test_build_components/common/modbus/esp32-idf.yaml +packages: + uart: !include ../uart/esp32-idf.yaml # Modbus requires UART + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} +``` + +Components using `modbus` packages automatically get `uart` as well. + +## Pin Allocations + +### I2C (Standard - 50kHz) +- **ESP32 IDF**: SCL=GPIO16, SDA=GPIO17 +- **ESP32 Arduino**: SCL=GPIO22, SDA=GPIO21 +- **ESP32-C3**: SCL=GPIO5, SDA=GPIO4 +- **ESP32-S2/S3**: SCL=GPIO9, SDA=GPIO8 +- **ESP8266**: SCL=GPIO5, SDA=GPIO4 +- **RP2040**: SCL=GPIO5, SDA=GPIO4 +- **BK72xx**: SCL=P20, SDA=P21 + +### I2C Low Frequency (10kHz) +Same pin allocations as standard I2C, but with 10kHz frequency for components requiring slower speeds. + +### SPI +- **ESP32**: CLK=GPIO18, MOSI=GPIO23, MISO=GPIO19 +- **ESP32-C3**: CLK=GPIO6, MOSI=GPIO7, MISO=GPIO5 +- **ESP32-S2**: CLK=GPIO36, MOSI=GPIO35, MISO=GPIO37 +- **ESP32-S3**: CLK=GPIO40, MOSI=GPIO6, MISO=GPIO41 +- **ESP8266**: CLK=GPIO14, MOSI=GPIO13, MISO=GPIO12 +- **RP2040**: CLK=GPIO18, MOSI=GPIO19, MISO=GPIO16 +- CS pins are component-specific (each SPI device needs unique CS) + +### UART +- **ESP32 IDF**: TX=GPIO17, RX=GPIO16 (baud: 19200) +- **ESP32-C3 IDF**: TX=GPIO7, RX=GPIO6 (baud: 19200) +- **ESP8266**: TX=GPIO1, RX=GPIO3 (baud: 19200) +- **RP2040**: TX=GPIO0, RX=GPIO1 (baud: 19200) + +### Modbus (includes UART) +Same UART pins as above, plus: +- **flow_control_pin**: GPIO4 (all platforms) + +### BLE +- **ESP32**: Shared `esp32_ble_tracker` infrastructure +- Each component defines unique `ble_client` with different MAC addresses + +## Benefits + +1. **Shared bus = less duplication** + - 200+ I2C components use common bus configs + - 60+ SPI components use common bus configs + - 80+ UART components use common bus configs + - 6 Modbus components use common modbus configs (which include UART) + +2. **Intelligent grouping reduces CI time** + - Components with identical bus configs are automatically grouped + - Typical reduction: 80-90% fewer builds + - Example: 3 I2C components → 1 merged build (saves 2 builds) + - CI runs 5 component batches in parallel (configurable via `max-parallel` in `.github/workflows/ci.yml`) + +3. **Easier maintenance** + - Change bus pins for a platform once, affects all component tests + - Consistent pin assignments across all components + - Centralized bus configuration + +## Component Compatibility + +### Groupable Components +Components are automatically grouped when they have: +- Identical bus package references (e.g., all use `i2c/esp32-idf.yaml`) +- No local file references (`$component_dir`) +- No `!extend` or `!remove` directives +- Proper bus ID references (`i2c_id: i2c_bus`, `spi_id: spi_bus`, etc.) + +### Non-Groupable Components +Components tested individually when they: +- Use different bus frequencies (e.g., `i2c` vs `i2c_low_freq`) +- Reference local files with `$component_dir` +- Are platform components (abstract base classes with `IS_PLATFORM_COMPONENT = True`) +- Define buses directly (not migrated to packages yet) +- Are in `ISOLATED_COMPONENTS` list (known build conflicts) + +### Bus Variants +- **i2c** (50kHz): Standard I2C frequency for most sensors +- **i2c_low_freq** (10kHz): For sensors requiring slower I2C speeds +- **modbus**: Includes UART via package dependencies + +### Making Components Groupable + +**WARNING**: Using `!extend` or `!remove` directives in component test files prevents automatic component grouping in CI, making builds slower. + +When platform-specific parameters are needed, inline the full configuration rather than using `!extend` or `!remove`. This allows the component to be grouped with other compatible components, reducing CI build time. + +**Note**: Some components legitimately require `!extend` or `!remove` for platform-specific features (e.g., `adc` removing ESP32-only `attenuation` parameter on ESP8266). These are correctly identified as non-groupable. + +## Testing Components + +### Testing Individual Components +Test specific components using `test_build_components`: +```bash +# Test a single component +./script/test_build_components -c bme280_i2c -t esp32-idf -e config + +# Test multiple components +./script/test_build_components -c bme280_i2c,bh1750,sht3xd -t esp32-idf -e compile +``` + +### Testing All Components Together +To verify that all components can be tested together without ID conflicts or configuration issues: +```bash +./script/test_component_grouping.py -e config --all +``` + +This tests all components in a single build to catch conflicts that might not appear when testing components individually. This is useful for: +- Detecting ID conflicts between components +- Validating that components can coexist in the same configuration +- Ensuring proper `i2c_id`, `spi_id`, `uart_id` specifications + +Use `-e config` for fast configuration validation, or `-e compile` for full compilation testing. + +### Testing Component Groups +Test specific groups of components by bus signature: +```bash +# Test all I2C components together +./script/test_component_grouping.py -s i2c -e config + +# Test with custom group sizes +./script/test_component_grouping.py --min-size 5 --max-size 20 --max-groups 3 +``` + +## Implementation Details + +### Scripts +- `script/analyze_component_buses.py`: Analyzes components to detect bus usage and grouping compatibility +- `script/merge_component_configs.py`: Merges multiple component configs into a single test file +- `script/test_build_components.py`: Main test runner with intelligent grouping +- `script/test_component_grouping.py`: Test component groups or all components together +- `script/split_components_for_ci.py`: Splits components into batches for parallel CI execution + +### Configuration +- `.github/workflows/ci.yml`: CI workflow with `max-parallel: 5` for component testing +- Package dependencies defined in `PACKAGE_DEPENDENCIES` (e.g., modbus → uart) +- Base bus components excluded from migration warnings: `i2c`, `spi`, `uart`, `modbus`, `canbus` diff --git a/tests/test_build_components/common/ble/esp32-ard.yaml b/tests/test_build_components/common/ble/esp32-ard.yaml new file mode 100644 index 0000000000..e1b5aec694 --- /dev/null +++ b/tests/test_build_components/common/ble/esp32-ard.yaml @@ -0,0 +1,9 @@ +# Common BLE tracker configuration for ESP32 Arduino tests +# BLE client components share this tracker infrastructure +# Each component defines its own ble_client with unique MAC address + +esp32_ble_tracker: + scan_parameters: + interval: 1100ms + window: 1100ms + active: true diff --git a/tests/test_build_components/common/ble/esp32-c3-idf.yaml b/tests/test_build_components/common/ble/esp32-c3-idf.yaml new file mode 100644 index 0000000000..6671722f21 --- /dev/null +++ b/tests/test_build_components/common/ble/esp32-c3-idf.yaml @@ -0,0 +1,9 @@ +# Common BLE tracker configuration for ESP32-C3 IDF tests +# BLE client components share this tracker infrastructure +# Each component defines its own ble_client with unique MAC address + +esp32_ble_tracker: + scan_parameters: + interval: 1100ms + window: 1100ms + active: true diff --git a/tests/test_build_components/common/ble/esp32-idf.yaml b/tests/test_build_components/common/ble/esp32-idf.yaml new file mode 100644 index 0000000000..7cdcea71f0 --- /dev/null +++ b/tests/test_build_components/common/ble/esp32-idf.yaml @@ -0,0 +1,9 @@ +# Common BLE tracker configuration for ESP32 IDF tests +# BLE client components share this tracker infrastructure +# Each component defines its own ble_client with unique MAC address + +esp32_ble_tracker: + scan_parameters: + interval: 1100ms + window: 1100ms + active: true diff --git a/tests/test_build_components/common/camera/esp32-idf.yaml b/tests/test_build_components/common/camera/esp32-idf.yaml new file mode 100644 index 0000000000..64f75c699a --- /dev/null +++ b/tests/test_build_components/common/camera/esp32-idf.yaml @@ -0,0 +1,29 @@ +esp32_camera: + name: ESP32 Camera + data_pins: + - number: 17 + - number: 35 + - number: 34 + - number: 5 + - number: 39 + - number: 18 + - number: 36 + - number: 19 + vsync_pin: 22 + href_pin: 26 + pixel_clock_pin: 21 + external_clock: + pin: 27 + frequency: 20MHz + i2c_pins: + sda: 25 + scl: 23 + reset_pin: 15 + power_down_pin: 1 + resolution: 640x480 + jpeg_quality: 10 + frame_buffer_location: PSRAM + on_image: + then: + - lambda: |- + ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]); diff --git a/tests/test_build_components/common/i2c/bk72xx-ard.yaml b/tests/test_build_components/common/i2c/bk72xx-ard.yaml new file mode 100644 index 0000000000..7d00546721 --- /dev/null +++ b/tests/test_build_components/common/i2c/bk72xx-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for BK72XX Arduino tests + +substitutions: + scl_pin: P26 + sda_pin: P24 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-ard.yaml b/tests/test_build_components/common/i2c/esp32-ard.yaml new file mode 100644 index 0000000000..fff09ab85c --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32 Arduino tests + +substitutions: + scl_pin: GPIO22 + sda_pin: GPIO21 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-c3-ard.yaml b/tests/test_build_components/common/i2c/esp32-c3-ard.yaml new file mode 100644 index 0000000000..0216dccbfa --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-C3 Arduino tests + +substitutions: + scl_pin: GPIO8 + sda_pin: GPIO10 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-c3-idf.yaml b/tests/test_build_components/common/i2c/esp32-c3-idf.yaml new file mode 100644 index 0000000000..fd873b6db8 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-C3 IDF tests + +substitutions: + scl_pin: GPIO8 + sda_pin: GPIO10 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-idf.yaml b/tests/test_build_components/common/i2c/esp32-idf.yaml new file mode 100644 index 0000000000..bb2376e7d6 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common I2C configuration for ESP32 IDF tests +# Provides a shared I2C bus that all components can use +# Components will auto-use this bus if they don't specify i2c_id + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-p4-idf.yaml b/tests/test_build_components/common/i2c/esp32-p4-idf.yaml new file mode 100644 index 0000000000..0c7d7e3414 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-p4-idf.yaml @@ -0,0 +1,13 @@ +# Common I2C configuration for ESP32-P4 IDF tests +# Provides a shared I2C bus that all components can use +# Components will auto-use this bus if they don't specify i2c_id + +substitutions: + scl_pin: GPIO8 + sda_pin: GPIO7 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s2-ard.yaml b/tests/test_build_components/common/i2c/esp32-s2-ard.yaml new file mode 100644 index 0000000000..d8201db042 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s2-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S2 Arduino tests + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s2-idf.yaml b/tests/test_build_components/common/i2c/esp32-s2-idf.yaml new file mode 100644 index 0000000000..f23f7e35cc --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s2-idf.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S2 IDF tests + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s3-ard.yaml b/tests/test_build_components/common/i2c/esp32-s3-ard.yaml new file mode 100644 index 0000000000..3499770cb7 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s3-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S3 Arduino tests + +substitutions: + scl_pin: GPIO9 + sda_pin: GPIO8 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s3-idf.yaml b/tests/test_build_components/common/i2c/esp32-s3-idf.yaml new file mode 100644 index 0000000000..9f5b002eb3 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s3-idf.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S3 IDF tests + +substitutions: + scl_pin: GPIO9 + sda_pin: GPIO8 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp8266-ard.yaml b/tests/test_build_components/common/i2c/esp8266-ard.yaml new file mode 100644 index 0000000000..6aa28524b2 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP8266 Arduino tests + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/rp2040-ard.yaml b/tests/test_build_components/common/i2c/rp2040-ard.yaml new file mode 100644 index 0000000000..cb241aef76 --- /dev/null +++ b/tests/test_build_components/common/i2c/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for RP2040 Arduino tests + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml new file mode 100644 index 0000000000..53d051f174 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP32 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO22 + sda_pin: GPIO21 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml new file mode 100644 index 0000000000..c9856c6b29 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP32-C3 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO6 + sda_pin: GPIO5 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml new file mode 100644 index 0000000000..e9d44b585e --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP32-C3 IDF tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml new file mode 100644 index 0000000000..4afe220315 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common I2C configuration for ESP32 IDF tests - Low Frequency (10kHz) +# For components that require I2C frequency <= 15kHz (ags10, ltr501, ltr_als_ps) + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml b/tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml new file mode 100644 index 0000000000..281177ebbd --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP8266 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml b/tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml new file mode 100644 index 0000000000..67d893e733 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for RP2040 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/modbus/bk72xx-ard.yaml b/tests/test_build_components/common/modbus/bk72xx-ard.yaml new file mode 100644 index 0000000000..c428f0a7be --- /dev/null +++ b/tests/test_build_components/common/modbus/bk72xx-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for BK72XX Arduino tests + +packages: + uart: !include ../uart/bk72xx-ard.yaml + +substitutions: + flow_control_pin: P6 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-ard.yaml b/tests/test_build_components/common/modbus/esp32-ard.yaml new file mode 100644 index 0000000000..f327cf266e --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32 Arduino tests + +packages: + uart: !include ../uart/esp32-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-c3-ard.yaml b/tests/test_build_components/common/modbus/esp32-c3-ard.yaml new file mode 100644 index 0000000000..f12e5518c0 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-C3 Arduino tests + +packages: + uart: !include ../uart/esp32-c3-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-c3-idf.yaml b/tests/test_build_components/common/modbus/esp32-c3-idf.yaml new file mode 100644 index 0000000000..98fc11b0b7 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-C3 IDF tests + +packages: + uart: !include ../uart/esp32-c3-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-idf.yaml b/tests/test_build_components/common/modbus/esp32-idf.yaml new file mode 100644 index 0000000000..c2d777c3d7 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common Modbus configuration for ESP32 IDF tests +# Provides a shared Modbus bus that all components can use + +packages: + uart: !include ../uart/esp32-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s2-ard.yaml b/tests/test_build_components/common/modbus/esp32-s2-ard.yaml new file mode 100644 index 0000000000..a47036f379 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s2-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S2 Arduino tests + +packages: + uart: !include ../uart/esp32-s2-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s2-idf.yaml b/tests/test_build_components/common/modbus/esp32-s2-idf.yaml new file mode 100644 index 0000000000..2cac82aa15 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s2-idf.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S2 IDF tests + +packages: + uart: !include ../uart/esp32-s2-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s3-ard.yaml b/tests/test_build_components/common/modbus/esp32-s3-ard.yaml new file mode 100644 index 0000000000..3031f57159 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s3-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S3 Arduino tests + +packages: + uart: !include ../uart/esp32-s3-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s3-idf.yaml b/tests/test_build_components/common/modbus/esp32-s3-idf.yaml new file mode 100644 index 0000000000..0a0d4dbd07 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s3-idf.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S3 IDF tests + +packages: + uart: !include ../uart/esp32-s3-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp8266-ard.yaml b/tests/test_build_components/common/modbus/esp8266-ard.yaml new file mode 100644 index 0000000000..fce4c6df1d --- /dev/null +++ b/tests/test_build_components/common/modbus/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP8266 Arduino tests + +packages: + uart: !include ../uart/esp8266-ard.yaml + +substitutions: + flow_control_pin: GPIO5 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/rp2040-ard.yaml b/tests/test_build_components/common/modbus/rp2040-ard.yaml new file mode 100644 index 0000000000..264ad8944f --- /dev/null +++ b/tests/test_build_components/common/modbus/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for RP2040 Arduino tests + +packages: + uart: !include ../uart/rp2040-ard.yaml + +substitutions: + flow_control_pin: GPIO2 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/qspi/esp32-s3-idf.yaml b/tests/test_build_components/common/qspi/esp32-s3-idf.yaml new file mode 100644 index 0000000000..22c98ef664 --- /dev/null +++ b/tests/test_build_components/common/qspi/esp32-s3-idf.yaml @@ -0,0 +1,13 @@ +# Common QSPI configuration for ESP32-S3 IDF tests +# For components that need QuadSPI (qspi_dbi displays) + +spi: + - id: quad_spi + type: quad + interface: spi3 + clk_pin: 47 + data_pins: + - 40 + - 41 + - 42 + - 43 diff --git a/tests/test_build_components/common/spi/bk72xx-ard.yaml b/tests/test_build_components/common/spi/bk72xx-ard.yaml new file mode 100644 index 0000000000..471b147bfa --- /dev/null +++ b/tests/test_build_components/common/spi/bk72xx-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for BK72XX Arduino tests + +substitutions: + clk_pin: P10 + mosi_pin: P11 + miso_pin: P6 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-ard.yaml b/tests/test_build_components/common/spi/esp32-ard.yaml new file mode 100644 index 0000000000..816609688c --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32 Arduino tests + +substitutions: + clk_pin: GPIO18 + mosi_pin: GPIO23 + miso_pin: GPIO19 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-c3-ard.yaml b/tests/test_build_components/common/spi/esp32-c3-ard.yaml new file mode 100644 index 0000000000..da3182f259 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-C3 Arduino tests + +substitutions: + clk_pin: GPIO4 + mosi_pin: GPIO6 + miso_pin: GPIO5 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-c3-idf.yaml b/tests/test_build_components/common/spi/esp32-c3-idf.yaml new file mode 100644 index 0000000000..6a8f76c38c --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-c3-idf.yaml @@ -0,0 +1,15 @@ +# Common SPI configuration for ESP32-C3 IDF tests +# Provides a shared SPI bus that all components can use +# Components will auto-use this bus if they don't specify spi_id +# CS pins are component-specific + +substitutions: + clk_pin: GPIO4 + mosi_pin: GPIO6 + miso_pin: GPIO5 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-idf.yaml b/tests/test_build_components/common/spi/esp32-idf.yaml new file mode 100644 index 0000000000..c2c39a2bc0 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-idf.yaml @@ -0,0 +1,15 @@ +# Common SPI configuration for ESP32 IDF tests +# Provides a shared SPI bus that all components can use +# Components will auto-use this bus if they don't specify spi_id +# CS pins are component-specific + +substitutions: + clk_pin: GPIO18 + mosi_pin: GPIO23 + miso_pin: GPIO19 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s2-ard.yaml b/tests/test_build_components/common/spi/esp32-s2-ard.yaml new file mode 100644 index 0000000000..7c8997ae7f --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s2-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S2 Arduino tests + +substitutions: + clk_pin: GPIO36 + mosi_pin: GPIO35 + miso_pin: GPIO37 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s2-idf.yaml b/tests/test_build_components/common/spi/esp32-s2-idf.yaml new file mode 100644 index 0000000000..afcd83e94e --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s2-idf.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S2 IDF tests + +substitutions: + clk_pin: GPIO36 + mosi_pin: GPIO35 + miso_pin: GPIO37 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s3-ard.yaml b/tests/test_build_components/common/spi/esp32-s3-ard.yaml new file mode 100644 index 0000000000..06d5f65771 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s3-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S3 Arduino tests + +substitutions: + clk_pin: GPIO40 + mosi_pin: GPIO6 + miso_pin: GPIO41 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s3-idf.yaml b/tests/test_build_components/common/spi/esp32-s3-idf.yaml new file mode 100644 index 0000000000..ee47396ec7 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s3-idf.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S3 IDF tests + +substitutions: + clk_pin: GPIO40 + mosi_pin: GPIO6 + miso_pin: GPIO41 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp8266-ard.yaml b/tests/test_build_components/common/spi/esp8266-ard.yaml new file mode 100644 index 0000000000..4320afebb9 --- /dev/null +++ b/tests/test_build_components/common/spi/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP8266 Arduino tests + +substitutions: + clk_pin: GPIO14 + mosi_pin: GPIO13 + miso_pin: GPIO12 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/rp2040-ard.yaml b/tests/test_build_components/common/spi/rp2040-ard.yaml new file mode 100644 index 0000000000..916a636318 --- /dev/null +++ b/tests/test_build_components/common/spi/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for RP2040 Arduino tests + +substitutions: + clk_pin: GPIO18 + mosi_pin: GPIO19 + miso_pin: GPIO16 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/uart/bk72xx-ard.yaml b/tests/test_build_components/common/uart/bk72xx-ard.yaml new file mode 100644 index 0000000000..8d1abca70b --- /dev/null +++ b/tests/test_build_components/common/uart/bk72xx-ard.yaml @@ -0,0 +1,13 @@ +# Common UART configuration for BK72XX Arduino tests +# Provides a shared UART bus that components can use +# Components will auto-use this bus if they don't specify uart_id + +substitutions: + tx_pin: TX1 + rx_pin: RX1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-ard.yaml b/tests/test_build_components/common/uart/esp32-ard.yaml new file mode 100644 index 0000000000..805695def6 --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-c3-ard.yaml b/tests/test_build_components/common/uart/esp32-c3-ard.yaml new file mode 100644 index 0000000000..565b109f9a --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-c3-idf.yaml b/tests/test_build_components/common/uart/esp32-c3-idf.yaml new file mode 100644 index 0000000000..944aa013dd --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-c3-idf.yaml @@ -0,0 +1,13 @@ +# Common UART configuration for ESP32-C3 IDF tests +# Provides a shared UART bus that components can use +# Components will auto-use this bus if they don't specify uart_id + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-idf.yaml b/tests/test_build_components/common/uart/esp32-idf.yaml new file mode 100644 index 0000000000..95e5db9fb1 --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common UART configuration for ESP32 IDF tests +# Provides a shared UART bus that components can use +# Components will auto-use this bus if they don't specify uart_id + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp8266-ard.yaml b/tests/test_build_components/common/uart/esp8266-ard.yaml new file mode 100644 index 0000000000..e326f4fc0d --- /dev/null +++ b/tests/test_build_components/common/uart/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests + +substitutions: + tx_pin: GPIO1 + rx_pin: GPIO3 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/rp2040-ard.yaml b/tests/test_build_components/common/uart/rp2040-ard.yaml new file mode 100644 index 0000000000..cd1e54a13b --- /dev/null +++ b/tests/test_build_components/common/uart/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart_115200/esp32-ard.yaml b/tests/test_build_components/common/uart_115200/esp32-ard.yaml new file mode 100644 index 0000000000..9102910f31 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml new file mode 100644 index 0000000000..87a969c6a3 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml new file mode 100644 index 0000000000..f3768592e5 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 115200 baud +# For components that require UART baud rate 115200 (bl0906) + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp32-idf.yaml b/tests/test_build_components/common/uart_115200/esp32-idf.yaml new file mode 100644 index 0000000000..e405f74fe7 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 115200 baud +# For components that require UART baud rate 115200 (bl0906) + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp8266-ard.yaml b/tests/test_build_components/common/uart_115200/esp8266-ard.yaml new file mode 100644 index 0000000000..2dcf1c4a5d --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/rp2040-ard.yaml b/tests/test_build_components/common/uart_115200/rp2040-ard.yaml new file mode 100644 index 0000000000..62a7b5aed2 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_1200/esp32-ard.yaml b/tests/test_build_components/common/uart_1200/esp32-ard.yaml new file mode 100644 index 0000000000..0ff5663d1f --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml new file mode 100644 index 0000000000..81cad70d3c --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml new file mode 100644 index 0000000000..8f1dace337 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 IDF tests - 1200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp32-idf.yaml b/tests/test_build_components/common/uart_1200/esp32-idf.yaml new file mode 100644 index 0000000000..38ad1b1459 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 IDF tests - 1200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp8266-ard.yaml b/tests/test_build_components/common/uart_1200/esp8266-ard.yaml new file mode 100644 index 0000000000..84907a3a42 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/rp2040-ard.yaml b/tests/test_build_components/common/uart_1200/rp2040-ard.yaml new file mode 100644 index 0000000000..3a3b322ea8 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200_even/esp32-ard.yaml b/tests/test_build_components/common/uart_1200_even/esp32-ard.yaml new file mode 100644 index 0000000000..f5f7f0669f --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml new file mode 100644 index 0000000000..0b1e3ba61b --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml new file mode 100644 index 0000000000..1781babefb --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 1200 baud, EVEN parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp32-idf.yaml b/tests/test_build_components/common/uart_1200_even/esp32-idf.yaml new file mode 100644 index 0000000000..3b4b17f892 --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 1200 baud, EVEN parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml b/tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml new file mode 100644 index 0000000000..54f7de1757 --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP8266 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml b/tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml new file mode 100644 index 0000000000..0e8bdeae1f --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for RP2040 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_19200/esp32-ard.yaml b/tests/test_build_components/common/uart_19200/esp32-ard.yaml new file mode 100644 index 0000000000..f4f04669da --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml new file mode 100644 index 0000000000..925acdc34c --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml new file mode 100644 index 0000000000..0d765a88a4 --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 19200 baud +# For components that require UART baud rate 19200 (bl0906) + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp32-idf.yaml b/tests/test_build_components/common/uart_19200/esp32-idf.yaml new file mode 100644 index 0000000000..e7849508c7 --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 19200 baud +# For components that require UART baud rate 19200 (bl0906) + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp8266-ard.yaml b/tests/test_build_components/common/uart_19200/esp8266-ard.yaml new file mode 100644 index 0000000000..f01bc4590c --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO1 + rx_pin: GPIO3 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/rp2040-ard.yaml b/tests/test_build_components/common/uart_19200/rp2040-ard.yaml new file mode 100644 index 0000000000..6ebd02d451 --- /dev/null +++ b/tests/test_build_components/common/uart_19200/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_38400/esp32-ard.yaml b/tests/test_build_components/common/uart_38400/esp32-ard.yaml new file mode 100644 index 0000000000..15da771ccc --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml new file mode 100644 index 0000000000..8838f029dc --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml new file mode 100644 index 0000000000..d7d902af3d --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 IDF tests - 38400 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp32-idf.yaml b/tests/test_build_components/common/uart_38400/esp32-idf.yaml new file mode 100644 index 0000000000..f1c9587e27 --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 IDF tests - 38400 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp8266-ard.yaml b/tests/test_build_components/common/uart_38400/esp8266-ard.yaml new file mode 100644 index 0000000000..b1a046ea5e --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/rp2040-ard.yaml b/tests/test_build_components/common/uart_38400/rp2040-ard.yaml new file mode 100644 index 0000000000..01b5e58ed7 --- /dev/null +++ b/tests/test_build_components/common/uart_38400/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_4800/esp32-ard.yaml b/tests/test_build_components/common/uart_4800/esp32-ard.yaml new file mode 100644 index 0000000000..7f7096e31d --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml new file mode 100644 index 0000000000..3c814b76e4 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml new file mode 100644 index 0000000000..7b18789b19 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 IDF tests - 4800 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp32-idf.yaml b/tests/test_build_components/common/uart_4800/esp32-idf.yaml new file mode 100644 index 0000000000..c2bd5b3edd --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 IDF tests - 4800 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp8266-ard.yaml b/tests/test_build_components/common/uart_4800/esp8266-ard.yaml new file mode 100644 index 0000000000..afdbf4a599 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/rp2040-ard.yaml b/tests/test_build_components/common/uart_4800/rp2040-ard.yaml new file mode 100644 index 0000000000..3bf0d6ba47 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800_even/esp32-ard.yaml b/tests/test_build_components/common/uart_4800_even/esp32-ard.yaml new file mode 100644 index 0000000000..053848615b --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml new file mode 100644 index 0000000000..b1370bc1cb --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml new file mode 100644 index 0000000000..173c768937 --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 4800 baud, EVEN parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp32-idf.yaml b/tests/test_build_components/common/uart_4800_even/esp32-idf.yaml new file mode 100644 index 0000000000..eb850ec2dd --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 4800 baud, EVEN parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml b/tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml new file mode 100644 index 0000000000..0b6bd9eac1 --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP8266 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml b/tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml new file mode 100644 index 0000000000..c99421b791 --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for RP2040 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-ard.yaml b/tests/test_build_components/common/uart_9600_even/esp32-ard.yaml new file mode 100644 index 0000000000..0a04f10705 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml new file mode 100644 index 0000000000..1341a91b4e --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml new file mode 100644 index 0000000000..5a7bce2198 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 9600 baud, EVEN parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-idf.yaml b/tests/test_build_components/common/uart_9600_even/esp32-idf.yaml new file mode 100644 index 0000000000..b60cf71b17 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 9600 baud, EVEN parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml b/tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml new file mode 100644 index 0000000000..300ec842df --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP8266 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml b/tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml new file mode 100644 index 0000000000..c281ae84b5 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for RP2040 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN From 3afa73b449b870be5a60de58d2c0a286bb0c8f2b Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 13:27:18 -1000 Subject: [PATCH 033/201] [ci] Filter out components without tests from CI test jobs (#11134 followup) (#11178) --- .github/workflows/ci.yml | 6 ++- script/determine-jobs.py | 13 ++++- tests/script/test_determine_jobs.py | 75 ++++++++++++++++++++++++++++- 3 files changed, 89 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4451007da0..f692b1f7d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -177,6 +177,7 @@ jobs: clang-tidy: ${{ steps.determine.outputs.clang-tidy }} python-linters: ${{ steps.determine.outputs.python-linters }} changed-components: ${{ steps.determine.outputs.changed-components }} + changed-components-with-tests: ${{ steps.determine.outputs.changed-components-with-tests }} component-test-count: ${{ steps.determine.outputs.component-test-count }} steps: - name: Check out code from GitHub @@ -204,6 +205,7 @@ jobs: echo "clang-tidy=$(echo "$output" | jq -r '.clang_tidy')" >> $GITHUB_OUTPUT echo "python-linters=$(echo "$output" | jq -r '.python_linters')" >> $GITHUB_OUTPUT echo "changed-components=$(echo "$output" | jq -c '.changed_components')" >> $GITHUB_OUTPUT + echo "changed-components-with-tests=$(echo "$output" | jq -c '.changed_components_with_tests')" >> $GITHUB_OUTPUT echo "component-test-count=$(echo "$output" | jq -r '.component_test_count')" >> $GITHUB_OUTPUT integration-tests: @@ -367,7 +369,7 @@ jobs: fail-fast: false max-parallel: 2 matrix: - file: ${{ fromJson(needs.determine-jobs.outputs.changed-components) }} + file: ${{ fromJson(needs.determine-jobs.outputs.changed-components-with-tests) }} steps: - name: Cache apt packages uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 @@ -414,7 +416,7 @@ jobs: . venv/bin/activate # Use intelligent splitter that groups components with same bus configs - components='${{ needs.determine-jobs.outputs.changed-components }}' + components='${{ needs.determine-jobs.outputs.changed-components-with-tests }}' echo "Splitting components intelligently..." output=$(python3 script/split_components_for_ci.py --components "$components" --batch-size 40 --output github) diff --git a/script/determine-jobs.py b/script/determine-jobs.py index e26bc29c2f..a078fd8f9b 100755 --- a/script/determine-jobs.py +++ b/script/determine-jobs.py @@ -237,6 +237,16 @@ def main() -> None: result = subprocess.run(cmd, capture_output=True, text=True, check=True) changed_components = parse_list_components_output(result.stdout) + # Filter to only components that have test files + # Components without tests shouldn't generate CI test jobs + tests_dir = Path(root_path) / "tests" / "components" + changed_components_with_tests = [ + component + for component in changed_components + if (component_test_dir := tests_dir / component).exists() + and any(component_test_dir.glob("test.*.yaml")) + ] + # Build output output: dict[str, Any] = { "integration_tests": run_integration, @@ -244,7 +254,8 @@ def main() -> None: "clang_format": run_clang_format, "python_linters": run_python_linters, "changed_components": changed_components, - "component_test_count": len(changed_components), + "changed_components_with_tests": changed_components_with_tests, + "component_test_count": len(changed_components_with_tests), } # Output as JSON diff --git a/tests/script/test_determine_jobs.py b/tests/script/test_determine_jobs.py index 7200afc2ee..5d8746f434 100644 --- a/tests/script/test_determine_jobs.py +++ b/tests/script/test_determine_jobs.py @@ -4,6 +4,7 @@ from collections.abc import Generator import importlib.util import json import os +from pathlib import Path import subprocess import sys from unittest.mock import Mock, call, patch @@ -90,7 +91,13 @@ def test_main_all_tests_should_run( assert output["clang_format"] is True assert output["python_linters"] is True assert output["changed_components"] == ["wifi", "api", "sensor"] - assert output["component_test_count"] == 3 + # changed_components_with_tests will only include components that actually have test files + assert "changed_components_with_tests" in output + assert isinstance(output["changed_components_with_tests"], list) + # component_test_count matches number of components with tests + assert output["component_test_count"] == len( + output["changed_components_with_tests"] + ) def test_main_no_tests_should_run( @@ -125,6 +132,7 @@ def test_main_no_tests_should_run( assert output["clang_format"] is False assert output["python_linters"] is False assert output["changed_components"] == [] + assert output["changed_components_with_tests"] == [] assert output["component_test_count"] == 0 @@ -197,7 +205,13 @@ def test_main_with_branch_argument( assert output["clang_format"] is False assert output["python_linters"] is True assert output["changed_components"] == ["mqtt"] - assert output["component_test_count"] == 1 + # changed_components_with_tests will only include components that actually have test files + assert "changed_components_with_tests" in output + assert isinstance(output["changed_components_with_tests"], list) + # component_test_count matches number of components with tests + assert output["component_test_count"] == len( + output["changed_components_with_tests"] + ) def test_should_run_integration_tests( @@ -377,3 +391,60 @@ def test_should_run_clang_format_with_branch() -> None: mock_changed.return_value = [] determine_jobs.should_run_clang_format("release") mock_changed.assert_called_once_with("release") + + +def test_main_filters_components_without_tests( + mock_should_run_integration_tests: Mock, + mock_should_run_clang_tidy: Mock, + mock_should_run_clang_format: Mock, + mock_should_run_python_linters: Mock, + mock_subprocess_run: Mock, + capsys: pytest.CaptureFixture[str], + tmp_path: Path, +) -> None: + """Test that components without test files are filtered out.""" + mock_should_run_integration_tests.return_value = False + mock_should_run_clang_tidy.return_value = False + mock_should_run_clang_format.return_value = False + mock_should_run_python_linters.return_value = False + + # Mock list-components.py output with 3 components + # wifi: has tests, sensor: has tests, airthings_ble: no tests + mock_result = Mock() + mock_result.stdout = "wifi\nsensor\nairthings_ble\n" + mock_subprocess_run.return_value = mock_result + + # Create test directory structure + tests_dir = tmp_path / "tests" / "components" + + # wifi has tests + wifi_dir = tests_dir / "wifi" + wifi_dir.mkdir(parents=True) + (wifi_dir / "test.esp32.yaml").write_text("test: config") + + # sensor has tests + sensor_dir = tests_dir / "sensor" + sensor_dir.mkdir(parents=True) + (sensor_dir / "test.esp8266.yaml").write_text("test: config") + + # airthings_ble exists but has no test files + airthings_dir = tests_dir / "airthings_ble" + airthings_dir.mkdir(parents=True) + + # Mock root_path to use tmp_path + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch("sys.argv", ["determine-jobs.py"]), + ): + determine_jobs.main() + + # Check output + captured = capsys.readouterr() + output = json.loads(captured.out) + + # changed_components should have all components + assert set(output["changed_components"]) == {"wifi", "sensor", "airthings_ble"} + # changed_components_with_tests should only have components with test files + assert set(output["changed_components_with_tests"]) == {"wifi", "sensor"} + # component_test_count should be based on components with tests + assert output["component_test_count"] == 2 From 2cc5e24b38b7217630525034ee3b4042cb22deb8 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Sat, 11 Oct 2025 20:44:44 -0400 Subject: [PATCH 034/201] [esp32] Change Arduino dev & latest to 3.3.2 (#11169) --- esphome/components/esp32/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index d9b8d067a4..56ab2eda88 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -325,8 +325,8 @@ def _is_framework_url(source: str) -> str: # - https://github.com/espressif/arduino-esp32/releases ARDUINO_FRAMEWORK_VERSION_LOOKUP = { "recommended": cv.Version(3, 2, 1), - "latest": cv.Version(3, 3, 1), - "dev": cv.Version(3, 3, 1), + "latest": cv.Version(3, 3, 2), + "dev": cv.Version(3, 3, 2), } ARDUINO_PLATFORM_VERSION_LOOKUP = { cv.Version(3, 3, 2): cv.Version(55, 3, 31, "1"), From 51fbc4f7a3296b7177486db6d80443b621dc0b93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Oct 2025 08:12:52 +0000 Subject: [PATCH 035/201] Bump aioesphomeapi from 41.13.0 to 41.14.0 (#11188) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8cc2b4ed45..64946263ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251009.0 -aioesphomeapi==41.13.0 +aioesphomeapi==41.14.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From 660adccda32b4603629cea1d7b0669b7219669f9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 02:58:56 -1000 Subject: [PATCH 036/201] [mipi_rgb] Fix pin conflicts introduced by shared SPI bus in #11134 (#11185) --- tests/components/mipi_rgb/test.esp32-s3-idf.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml index 29f833c235..642292f7c4 100644 --- a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml +++ b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml @@ -40,9 +40,7 @@ display: - number: 17 blue: - number: 47 - allow_other_uses: true - - number: 41 - allow_other_uses: true + - number: 1 - number: 0 ignore_strapping_warning: true - number: 42 @@ -53,7 +51,7 @@ display: number: 45 ignore_strapping_warning: true hsync_pin: - number: 40 + number: 38 vsync_pin: number: 48 data_rate: 1000000.0 From cad747c672da80ab5484199fe7261843066d10e7 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:25:35 -1000 Subject: [PATCH 037/201] [ci] Dynamic runner allocation: 8 for releases, 4 for dev (#11191) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f692b1f7d0..0363b5afdf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -433,7 +433,7 @@ jobs: if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 strategy: fail-fast: false - max-parallel: 5 + max-parallel: ${{ (github.base_ref == 'beta' || github.base_ref == 'release') && 8 || 4 }} matrix: components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} steps: From 9b6e8b4b414ede5043ca0cbd0f766b4ca446f9bf Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:26:28 -1000 Subject: [PATCH 038/201] [wifi] Fix missed string literal in flash on ESP8266 (#11187) --- esphome/components/wifi/wifi_component.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index 2e083d4c68..71ee4271ba 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -576,8 +576,9 @@ __attribute__((noinline)) static void log_scan_result(const WiFiScanResult &res) format_mac_addr_upper(bssid.data(), bssid_s); if (res.get_matches()) { - ESP_LOGI(TAG, "- '%s' %s" LOG_SECRET("(%s) ") "%s", res.get_ssid().c_str(), res.get_is_hidden() ? "(HIDDEN) " : "", - bssid_s, LOG_STR_ARG(get_signal_bars(res.get_rssi()))); + ESP_LOGI(TAG, "- '%s' %s" LOG_SECRET("(%s) ") "%s", res.get_ssid().c_str(), + res.get_is_hidden() ? LOG_STR_LITERAL("(HIDDEN) ") : LOG_STR_LITERAL(""), bssid_s, + LOG_STR_ARG(get_signal_bars(res.get_rssi()))); ESP_LOGD(TAG, " Channel: %u\n" " RSSI: %d dB", From 6bc9ed08107b89e75a3df7efe5166c7c01c8b90c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:27:43 -1000 Subject: [PATCH 039/201] [ota] Increase handshake timeout to 20s now that auth is non-blocking (#11186) --- esphome/components/esphome/ota/ota_esphome.cpp | 2 +- esphome/espota2.py | 2 +- tests/unit_tests/test_espota2.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/esphome/components/esphome/ota/ota_esphome.cpp b/esphome/components/esphome/ota/ota_esphome.cpp index b65bfc5ab8..569268ea15 100644 --- a/esphome/components/esphome/ota/ota_esphome.cpp +++ b/esphome/components/esphome/ota/ota_esphome.cpp @@ -29,7 +29,7 @@ namespace esphome { static const char *const TAG = "esphome.ota"; static constexpr uint16_t OTA_BLOCK_SIZE = 8192; static constexpr size_t OTA_BUFFER_SIZE = 1024; // buffer size for OTA data transfer -static constexpr uint32_t OTA_SOCKET_TIMEOUT_HANDSHAKE = 10000; // milliseconds for initial handshake +static constexpr uint32_t OTA_SOCKET_TIMEOUT_HANDSHAKE = 20000; // milliseconds for initial handshake static constexpr uint32_t OTA_SOCKET_TIMEOUT_DATA = 90000; // milliseconds for data transfer #ifdef USE_OTA_PASSWORD diff --git a/esphome/espota2.py b/esphome/espota2.py index 2712d00127..17a1da8235 100644 --- a/esphome/espota2.py +++ b/esphome/espota2.py @@ -410,7 +410,7 @@ def run_ota_impl_( af, socktype, _, _, sa = r _LOGGER.info("Connecting to %s port %s...", sa[0], sa[1]) sock = socket.socket(af, socktype) - sock.settimeout(10.0) + sock.settimeout(20.0) try: sock.connect(sa) except OSError as err: diff --git a/tests/unit_tests/test_espota2.py b/tests/unit_tests/test_espota2.py index bd1a6bde81..52c72291d6 100644 --- a/tests/unit_tests/test_espota2.py +++ b/tests/unit_tests/test_espota2.py @@ -493,7 +493,7 @@ def test_run_ota_impl_successful( assert result_host == "192.168.1.100" # Verify socket was configured correctly - mock_socket.settimeout.assert_called_with(10.0) + mock_socket.settimeout.assert_called_with(20.0) mock_socket.connect.assert_called_once_with(("192.168.1.100", 3232)) mock_socket.close.assert_called_once() From 9ebfa9aaa82b813784b61c397ac364557fb5d47e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:30:58 -1000 Subject: [PATCH 040/201] [esp32_improv] Fix state not transitioning to PROVISIONED when WiFi configured via captive portal (#11181) --- .../esp32_improv/esp32_improv_component.cpp | 54 +++++++++++-------- .../esp32_improv/esp32_improv_component.h | 1 + 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/esphome/components/esp32_improv/esp32_improv_component.cpp b/esphome/components/esp32_improv/esp32_improv_component.cpp index f773083890..d83caf931b 100644 --- a/esphome/components/esp32_improv/esp32_improv_component.cpp +++ b/esphome/components/esp32_improv/esp32_improv_component.cpp @@ -143,6 +143,7 @@ void ESP32ImprovComponent::loop() { #else this->set_state_(improv::STATE_AUTHORIZED); #endif + this->check_wifi_connection_(); break; } case improv::STATE_AUTHORIZED: { @@ -156,31 +157,12 @@ void ESP32ImprovComponent::loop() { if (!this->check_identify_()) { this->set_status_indicator_state_((now % 1000) < 500); } + this->check_wifi_connection_(); break; } case improv::STATE_PROVISIONING: { this->set_status_indicator_state_((now % 200) < 100); - if (wifi::global_wifi_component->is_connected()) { - wifi::global_wifi_component->save_wifi_sta(this->connecting_sta_.get_ssid(), - this->connecting_sta_.get_password()); - this->connecting_sta_ = {}; - this->cancel_timeout("wifi-connect-timeout"); - this->set_state_(improv::STATE_PROVISIONED); - - std::vector urls = {ESPHOME_MY_LINK}; -#ifdef USE_WEBSERVER - for (auto &ip : wifi::global_wifi_component->wifi_sta_ip_addresses()) { - if (ip.is_ip4()) { - std::string webserver_url = "http://" + ip.str() + ":" + to_string(USE_WEBSERVER_PORT); - urls.push_back(webserver_url); - break; - } - } -#endif - std::vector data = improv::build_rpc_response(improv::WIFI_SETTINGS, urls); - this->send_response_(data); - this->stop(); - } + this->check_wifi_connection_(); break; } case improv::STATE_PROVISIONED: { @@ -392,6 +374,36 @@ void ESP32ImprovComponent::on_wifi_connect_timeout_() { wifi::global_wifi_component->clear_sta(); } +void ESP32ImprovComponent::check_wifi_connection_() { + if (!wifi::global_wifi_component->is_connected()) { + return; + } + + if (this->state_ == improv::STATE_PROVISIONING) { + wifi::global_wifi_component->save_wifi_sta(this->connecting_sta_.get_ssid(), this->connecting_sta_.get_password()); + this->connecting_sta_ = {}; + this->cancel_timeout("wifi-connect-timeout"); + + std::vector urls = {ESPHOME_MY_LINK}; +#ifdef USE_WEBSERVER + for (auto &ip : wifi::global_wifi_component->wifi_sta_ip_addresses()) { + if (ip.is_ip4()) { + std::string webserver_url = "http://" + ip.str() + ":" + to_string(USE_WEBSERVER_PORT); + urls.push_back(webserver_url); + break; + } + } +#endif + std::vector data = improv::build_rpc_response(improv::WIFI_SETTINGS, urls); + this->send_response_(data); + } else if (this->is_active() && this->state_ != improv::STATE_PROVISIONED) { + ESP_LOGD(TAG, "WiFi provisioned externally"); + } + + this->set_state_(improv::STATE_PROVISIONED); + this->stop(); +} + void ESP32ImprovComponent::advertise_service_data_() { uint8_t service_data[IMPROV_SERVICE_DATA_SIZE] = {}; service_data[0] = IMPROV_PROTOCOL_ID_1; // PR diff --git a/esphome/components/esp32_improv/esp32_improv_component.h b/esphome/components/esp32_improv/esp32_improv_component.h index eb07e09dce..6782430ffe 100644 --- a/esphome/components/esp32_improv/esp32_improv_component.h +++ b/esphome/components/esp32_improv/esp32_improv_component.h @@ -111,6 +111,7 @@ class ESP32ImprovComponent : public Component { void send_response_(std::vector &response); void process_incoming_data_(); void on_wifi_connect_timeout_(); + void check_wifi_connection_(); bool check_identify_(); void advertise_service_data_(); #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG From 1f13d44c1b9ebed5abd14aa43200f4ed269418e1 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 09:04:30 -1000 Subject: [PATCH 041/201] [usb_host] Fix transfer slot exhaustion at high data rates and add configurable max_transfer_requests (#11174) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- esphome/components/usb_host/__init__.py | 11 +++- esphome/components/usb_host/usb_host.h | 42 ++++++++------ .../components/usb_host/usb_host_client.cpp | 57 ++++++------------- esphome/core/defines.h | 1 + .../usb_host/test.esp32-s3-idf.yaml | 1 + 5 files changed, 54 insertions(+), 58 deletions(-) diff --git a/esphome/components/usb_host/__init__.py b/esphome/components/usb_host/__init__.py index de734bf425..d452e0e9fa 100644 --- a/esphome/components/usb_host/__init__.py +++ b/esphome/components/usb_host/__init__.py @@ -9,6 +9,7 @@ from esphome.components.esp32 import ( import esphome.config_validation as cv from esphome.const import CONF_DEVICES, CONF_ID from esphome.cpp_types import Component +from esphome.types import ConfigType AUTO_LOAD = ["bytebuffer"] CODEOWNERS = ["@clydebarrow"] @@ -20,6 +21,7 @@ USBClient = usb_host_ns.class_("USBClient", Component) CONF_VID = "vid" CONF_PID = "pid" CONF_ENABLE_HUBS = "enable_hubs" +CONF_MAX_TRANSFER_REQUESTS = "max_transfer_requests" def usb_device_schema(cls=USBClient, vid: int = None, pid: [int] = None) -> cv.Schema: @@ -44,6 +46,9 @@ CONFIG_SCHEMA = cv.All( { cv.GenerateID(): cv.declare_id(USBHost), cv.Optional(CONF_ENABLE_HUBS, default=False): cv.boolean, + cv.Optional(CONF_MAX_TRANSFER_REQUESTS, default=16): cv.int_range( + min=1, max=32 + ), cv.Optional(CONF_DEVICES): cv.ensure_list(usb_device_schema()), } ), @@ -58,10 +63,14 @@ async def register_usb_client(config): return var -async def to_code(config): +async def to_code(config: ConfigType) -> None: add_idf_sdkconfig_option("CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE", 1024) if config.get(CONF_ENABLE_HUBS): add_idf_sdkconfig_option("CONFIG_USB_HOST_HUBS_SUPPORTED", True) + + max_requests = config[CONF_MAX_TRANSFER_REQUESTS] + cg.add_define("USB_HOST_MAX_REQUESTS", max_requests) + var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) for device in config.get(CONF_DEVICES) or (): diff --git a/esphome/components/usb_host/usb_host.h b/esphome/components/usb_host/usb_host.h index 4f8d2ec9a8..43b24a54a5 100644 --- a/esphome/components/usb_host/usb_host.h +++ b/esphome/components/usb_host/usb_host.h @@ -2,6 +2,7 @@ // Should not be needed, but it's required to pass CI clang-tidy checks #if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32P4) +#include "esphome/core/defines.h" #include "esphome/core/component.h" #include #include "usb/usb_host.h" @@ -16,23 +17,25 @@ namespace usb_host { // THREADING MODEL: // This component uses a dedicated USB task for event processing to prevent data loss. -// - USB Task (high priority): Handles USB events, executes transfer callbacks -// - Main Loop Task: Initiates transfers, processes completion events +// - USB Task (high priority): Handles USB events, executes transfer callbacks, releases transfer slots +// - Main Loop Task: Initiates transfers, processes device connect/disconnect events // // Thread-safe communication: // - Lock-free queues for USB task -> main loop events (SPSC pattern) -// - Lock-free TransferRequest pool using atomic bitmask (MCSP pattern) +// - Lock-free TransferRequest pool using atomic bitmask (MCMP pattern - multi-consumer, multi-producer) // // TransferRequest pool access pattern: // - get_trq_() [allocate]: Called from BOTH USB task and main loop threads // * USB task: via USB UART input callbacks that restart transfers immediately // * Main loop: for output transfers and flow-controlled input restarts -// - release_trq() [deallocate]: Called from main loop thread only +// - release_trq() [deallocate]: Called from BOTH USB task and main loop threads +// * USB task: immediately after transfer callback completes (critical for preventing slot exhaustion) +// * Main loop: when transfer submission fails // -// The multi-threaded allocation is intentional for performance: -// - USB task can immediately restart input transfers without context switching +// The multi-threaded allocation/deallocation is intentional for performance: +// - USB task can immediately restart input transfers and release slots without context switching // - Main loop controls backpressure by deciding when to restart after consuming data -// The atomic bitmask ensures thread-safe allocation without mutex blocking. +// The atomic bitmask ensures thread-safe allocation/deallocation without mutex blocking. static const char *const TAG = "usb_host"; @@ -52,8 +55,17 @@ static const uint8_t USB_DIR_IN = 1 << 7; static const uint8_t USB_DIR_OUT = 0; static const size_t SETUP_PACKET_SIZE = 8; -static const size_t MAX_REQUESTS = 16; // maximum number of outstanding requests possible. -static_assert(MAX_REQUESTS <= 16, "MAX_REQUESTS must be <= 16 to fit in uint16_t bitmask"); +static const size_t MAX_REQUESTS = USB_HOST_MAX_REQUESTS; // maximum number of outstanding requests possible. +static_assert(MAX_REQUESTS >= 1 && MAX_REQUESTS <= 32, "MAX_REQUESTS must be between 1 and 32"); + +// Select appropriate bitmask type for tracking allocation of TransferRequest slots. +// The bitmask must have at least as many bits as MAX_REQUESTS, so: +// - Use uint16_t for up to 16 requests (MAX_REQUESTS <= 16) +// - Use uint32_t for 17-32 requests (MAX_REQUESTS > 16) +// This is tied to the static_assert above, which enforces MAX_REQUESTS is between 1 and 32. +// If MAX_REQUESTS is increased above 32, this logic and the static_assert must be updated. +using trq_bitmask_t = std::conditional<(MAX_REQUESTS <= 16), uint16_t, uint32_t>::type; + static constexpr size_t USB_EVENT_QUEUE_SIZE = 32; // Size of event queue between USB task and main loop static constexpr size_t USB_TASK_STACK_SIZE = 4096; // Stack size for USB task (same as ESP-IDF USB examples) static constexpr UBaseType_t USB_TASK_PRIORITY = 5; // Higher priority than main loop (tskIDLE_PRIORITY + 5) @@ -83,8 +95,6 @@ struct TransferRequest { enum EventType : uint8_t { EVENT_DEVICE_NEW, EVENT_DEVICE_GONE, - EVENT_TRANSFER_COMPLETE, - EVENT_CONTROL_COMPLETE, }; struct UsbEvent { @@ -96,9 +106,6 @@ struct UsbEvent { struct { usb_device_handle_t handle; } device_gone; - struct { - TransferRequest *trq; - } transfer; } data; // Required for EventPool - no cleanup needed for POD types @@ -163,10 +170,9 @@ class USBClient : public Component { uint16_t pid_{}; // Lock-free pool management using atomic bitmask (no dynamic allocation) // Bit i = 1: requests_[i] is in use, Bit i = 0: requests_[i] is available - // Supports multiple concurrent consumers (both threads can allocate) - // Single producer for deallocation (main loop only) - // Limited to 16 slots by uint16_t size (enforced by static_assert) - std::atomic trq_in_use_; + // Supports multiple concurrent consumers and producers (both threads can allocate/deallocate) + // Bitmask type automatically selected: uint16_t for <= 16 slots, uint32_t for 17-32 slots + std::atomic trq_in_use_; TransferRequest requests_[MAX_REQUESTS]{}; }; class USBHost : public Component { diff --git a/esphome/components/usb_host/usb_host_client.cpp b/esphome/components/usb_host/usb_host_client.cpp index b26385a8ef..2139ed869a 100644 --- a/esphome/components/usb_host/usb_host_client.cpp +++ b/esphome/components/usb_host/usb_host_client.cpp @@ -228,12 +228,6 @@ void USBClient::loop() { case EVENT_DEVICE_GONE: this->on_removed(event->data.device_gone.handle); break; - case EVENT_TRANSFER_COMPLETE: - case EVENT_CONTROL_COMPLETE: { - auto *trq = event->data.transfer.trq; - this->release_trq(trq); - break; - } } // Return event to pool for reuse this->event_pool.release(event); @@ -313,25 +307,6 @@ void USBClient::on_removed(usb_device_handle_t handle) { } } -// Helper to queue transfer cleanup to main loop -static void queue_transfer_cleanup(TransferRequest *trq, EventType type) { - auto *client = trq->client; - - // Allocate event from pool - UsbEvent *event = client->event_pool.allocate(); - if (event == nullptr) { - // No events available - increment counter for periodic logging - client->event_queue.increment_dropped_count(); - return; - } - - event->type = type; - event->data.transfer.trq = trq; - - // Push to lock-free queue (always succeeds since pool size == queue size) - client->event_queue.push(event); -} - // CALLBACK CONTEXT: USB task (called from usb_host_client_handle_events in USB task) static void control_callback(const usb_transfer_t *xfer) { auto *trq = static_cast(xfer->context); @@ -346,8 +321,9 @@ static void control_callback(const usb_transfer_t *xfer) { trq->callback(trq->status); } - // Queue cleanup to main loop - queue_transfer_cleanup(trq, EVENT_CONTROL_COMPLETE); + // Release transfer slot immediately in USB task + // The release_trq() uses thread-safe atomic operations + trq->client->release_trq(trq); } // THREAD CONTEXT: Called from both USB task and main loop threads (multi-consumer) @@ -358,20 +334,20 @@ static void control_callback(const usb_transfer_t *xfer) { // This multi-threaded access is intentional for performance - USB task can // immediately restart transfers without waiting for main loop scheduling. TransferRequest *USBClient::get_trq_() { - uint16_t mask = this->trq_in_use_.load(std::memory_order_relaxed); + trq_bitmask_t mask = this->trq_in_use_.load(std::memory_order_relaxed); // Find first available slot (bit = 0) and try to claim it atomically // We use a while loop to allow retrying the same slot after CAS failure size_t i = 0; while (i != MAX_REQUESTS) { - if (mask & (1U << i)) { + if (mask & (static_cast(1) << i)) { // Slot is in use, move to next slot i++; continue; } // Slot i appears available, try to claim it atomically - uint16_t desired = mask | (1U << i); // Set bit i to mark as in-use + trq_bitmask_t desired = mask | (static_cast(1) << i); // Set bit i to mark as in-use if (this->trq_in_use_.compare_exchange_weak(mask, desired, std::memory_order_acquire, std::memory_order_relaxed)) { // Successfully claimed slot i - prepare the TransferRequest @@ -386,7 +362,7 @@ TransferRequest *USBClient::get_trq_() { i = 0; } - ESP_LOGE(TAG, "All %d transfer slots in use", MAX_REQUESTS); + ESP_LOGE(TAG, "All %zu transfer slots in use", MAX_REQUESTS); return nullptr; } void USBClient::disconnect() { @@ -452,8 +428,11 @@ static void transfer_callback(usb_transfer_t *xfer) { trq->callback(trq->status); } - // Queue cleanup to main loop - queue_transfer_cleanup(trq, EVENT_TRANSFER_COMPLETE); + // Release transfer slot AFTER callback completes to prevent slot exhaustion + // This is critical for high-throughput transfers (e.g., USB UART at 115200 baud) + // The callback has finished accessing xfer->data_buffer, so it's safe to release + // The release_trq() uses thread-safe atomic operations + trq->client->release_trq(trq); } /** * Performs a transfer input operation. @@ -521,12 +500,12 @@ void USBClient::dump_config() { " Product id %04X", this->vid_, this->pid_); } -// THREAD CONTEXT: Only called from main loop thread (single producer for deallocation) -// - Via event processing when handling EVENT_TRANSFER_COMPLETE/EVENT_CONTROL_COMPLETE -// - Directly when transfer submission fails +// THREAD CONTEXT: Called from both USB task and main loop threads +// - USB task: Immediately after transfer callback completes +// - Main loop: When transfer submission fails // // THREAD SAFETY: Lock-free using atomic AND to clear bit -// Single-producer pattern makes this simpler than allocation +// Thread-safe atomic operation allows multi-threaded deallocation void USBClient::release_trq(TransferRequest *trq) { if (trq == nullptr) return; @@ -540,8 +519,8 @@ void USBClient::release_trq(TransferRequest *trq) { // Atomically clear bit i to mark slot as available // fetch_and with inverted bitmask clears the bit atomically - uint16_t bit = 1U << index; - this->trq_in_use_.fetch_and(static_cast(~bit), std::memory_order_release); + trq_bitmask_t bit = static_cast(1) << index; + this->trq_in_use_.fetch_and(static_cast(~bit), std::memory_order_release); } } // namespace usb_host diff --git a/esphome/core/defines.h b/esphome/core/defines.h index 955d0f987c..ae44e16624 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -193,6 +193,7 @@ #define USE_WEBSERVER_PORT 80 // NOLINT #define USE_WEBSERVER_SORTING #define USE_WIFI_11KV_SUPPORT +#define USB_HOST_MAX_REQUESTS 16 #ifdef USE_ARDUINO #define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 2, 1) diff --git a/tests/components/usb_host/test.esp32-s3-idf.yaml b/tests/components/usb_host/test.esp32-s3-idf.yaml index a2892872e5..5360d1f6ff 100644 --- a/tests/components/usb_host/test.esp32-s3-idf.yaml +++ b/tests/components/usb_host/test.esp32-s3-idf.yaml @@ -1,4 +1,5 @@ usb_host: + max_transfer_requests: 32 # Test uint32_t bitmask path (17-32 requests) devices: - id: device_1 vid: 0x1234 From 60dc055509db8828678cbed7ab5859ec661343bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Oct 2025 09:26:38 -0400 Subject: [PATCH 042/201] Bump esphome-dashboard from 20250904.0 to 20251009.0 (#11123) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7ff4a6eeb2..8cc2b4ed45 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ pyserial==3.5 platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 -esphome-dashboard==20250904.0 +esphome-dashboard==20251009.0 aioesphomeapi==41.13.0 zeroconf==0.148.0 puremagic==1.30 From b93c60e85ab5fa2a8ca71d88c8d41428622e156d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 07:41:49 -1000 Subject: [PATCH 043/201] [canbus][mcp23xxx_base] Mark virtual methods as pure virtual to fix linker errors (#11133) --- esphome/components/canbus/canbus.h | 6 +++--- esphome/components/mcp23xxx_base/mcp23xxx_base.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/esphome/components/canbus/canbus.h b/esphome/components/canbus/canbus.h index 56e2f2719b..51d7c0830a 100644 --- a/esphome/components/canbus/canbus.h +++ b/esphome/components/canbus/canbus.h @@ -105,9 +105,9 @@ class Canbus : public Component { CallbackManager &data)> callback_manager_{}; - virtual bool setup_internal(); - virtual Error send_message(struct CanFrame *frame); - virtual Error read_message(struct CanFrame *frame); + virtual bool setup_internal() = 0; + virtual Error send_message(struct CanFrame *frame) = 0; + virtual Error read_message(struct CanFrame *frame) = 0; }; template class CanbusSendAction : public Action, public Parented { diff --git a/esphome/components/mcp23xxx_base/mcp23xxx_base.h b/esphome/components/mcp23xxx_base/mcp23xxx_base.h index ab7f8ec398..cf0ef5d41c 100644 --- a/esphome/components/mcp23xxx_base/mcp23xxx_base.h +++ b/esphome/components/mcp23xxx_base/mcp23xxx_base.h @@ -21,11 +21,11 @@ template class MCP23XXXBase : public Component, public gpio_expander: protected: // read a given register - virtual bool read_reg(uint8_t reg, uint8_t *value); + virtual bool read_reg(uint8_t reg, uint8_t *value) = 0; // write a value to a given register - virtual bool write_reg(uint8_t reg, uint8_t value); + virtual bool write_reg(uint8_t reg, uint8_t value) = 0; // update registers with given pin value. - virtual void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a); + virtual void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) = 0; bool open_drain_ints_; }; From 34632f78cf69fdf60607c9e6843d7741f332d167 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 08:26:41 -1000 Subject: [PATCH 044/201] [ci][tests] Remove redundant ESP32 Arduino test files (#11136) --- tests/components/a01nyub/test.esp32-ard.yaml | 5 -- .../components/a01nyub/test.esp32-c3-ard.yaml | 5 -- tests/components/a02yyuw/test.esp32-ard.yaml | 5 -- .../components/a02yyuw/test.esp32-c3-ard.yaml | 5 -- tests/components/a4988/test.esp32-ard.yaml | 6 -- tests/components/a4988/test.esp32-c3-ard.yaml | 6 -- .../absolute_humidity/test.esp32-ard.yaml | 1 - .../absolute_humidity/test.esp32-c3-ard.yaml | 1 - tests/components/adc/test.esp32-ard.yaml | 6 -- tests/components/adc/test.esp32-c3-ard.yaml | 6 -- tests/components/adc/test.esp32-s2-ard.yaml | 6 -- tests/components/adc/test.esp32-s3-ard.yaml | 6 -- .../components/adc128s102/test.esp32-ard.yaml | 7 --- .../adc128s102/test.esp32-c3-ard.yaml | 7 --- .../esp32_rmt_led_strip.esp32-ard.yaml | 4 -- .../esp32_rmt_led_strip.esp32-c3-ard.yaml | 4 -- .../fastled_clockless.esp32-ard.yaml | 4 -- tests/components/ade7880/test.esp32-ard.yaml | 8 --- .../components/ade7880/test.esp32-c3-ard.yaml | 8 --- .../ade7953_i2c/test.esp32-ard.yaml | 6 -- .../ade7953_i2c/test.esp32-c3-ard.yaml | 6 -- .../ade7953_spi/test.esp32-ard.yaml | 8 --- .../ade7953_spi/test.esp32-c3-ard.yaml | 8 --- tests/components/ads1115/test.esp32-ard.yaml | 5 -- .../components/ads1115/test.esp32-c3-ard.yaml | 5 -- tests/components/ags10/test.esp32-ard.yaml | 5 -- tests/components/ags10/test.esp32-c3-ard.yaml | 5 -- tests/components/aht10/test.esp32-ard.yaml | 5 -- tests/components/aht10/test.esp32-c3-ard.yaml | 5 -- tests/components/aic3204/test.esp32-ard.yaml | 5 -- .../components/aic3204/test.esp32-c3-ard.yaml | 5 -- .../airthings_wave_mini/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../airthings_wave_plus/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../alarm_control_panel/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - tests/components/alpha3/test.esp32-ard.yaml | 1 - .../components/alpha3/test.esp32-c3-ard.yaml | 1 - tests/components/am2315c/test.esp32-ard.yaml | 5 -- .../components/am2315c/test.esp32-c3-ard.yaml | 5 -- tests/components/am2320/test.esp32-ard.yaml | 5 -- .../components/am2320/test.esp32-c3-ard.yaml | 5 -- tests/components/am43/test.esp32-ard.yaml | 1 - tests/components/am43/test.esp32-c3-ard.yaml | 1 - .../analog_threshold/test.esp32-ard.yaml | 1 - .../analog_threshold/test.esp32-c3-ard.yaml | 1 - .../components/animation/test.esp32-ard.yaml | 17 ------ .../animation/test.esp32-c3-ard.yaml | 17 ------ tests/components/anova/test.esp32-ard.yaml | 1 - tests/components/anova/test.esp32-c3-ard.yaml | 1 - tests/components/apds9306/test.esp32-ard.yaml | 5 -- .../apds9306/test.esp32-c3-ard.yaml | 5 -- tests/components/apds9960/test.esp32-ard.yaml | 5 -- .../apds9960/test.esp32-c3-ard.yaml | 5 -- tests/components/api/test.esp32-ard.yaml | 5 -- tests/components/api/test.esp32-c3-ard.yaml | 5 -- .../components/as3935_i2c/test.esp32-ard.yaml | 11 ---- .../as3935_i2c/test.esp32-c3-ard.yaml | 6 -- .../components/as3935_spi/test.esp32-ard.yaml | 8 --- .../as3935_spi/test.esp32-c3-ard.yaml | 8 --- tests/components/as5600/test.esp32-ard.yaml | 6 -- .../components/as5600/test.esp32-c3-ard.yaml | 6 -- tests/components/as7341/test.esp32-ard.yaml | 5 -- .../components/as7341/test.esp32-c3-ard.yaml | 5 -- tests/components/at581x/test.esp32-ard.yaml | 5 -- .../components/at581x/test.esp32-c3-ard.yaml | 5 -- .../atc_mithermometer/test.esp32-ard.yaml | 1 - .../atc_mithermometer/test.esp32-c3-ard.yaml | 1 - tests/components/atm90e26/test.esp32-ard.yaml | 7 --- .../atm90e26/test.esp32-c3-ard.yaml | 7 --- tests/components/atm90e32/test.esp32-ard.yaml | 7 --- .../atm90e32/test.esp32-c3-ard.yaml | 7 --- tests/components/axs15231/test.esp32-ard.yaml | 1 - .../axs15231/test.esp32-c3-ard.yaml | 1 - .../components/b_parasite/test.esp32-ard.yaml | 1 - .../b_parasite/test.esp32-c3-ard.yaml | 1 - tests/components/ballu/test.esp32-ard.yaml | 4 -- .../components/bang_bang/test.esp32-ard.yaml | 1 - .../bang_bang/test.esp32-c3-ard.yaml | 1 - tests/components/bedjet/test.esp32-ard.yaml | 1 - .../components/bedjet/test.esp32-c3-ard.yaml | 1 - tests/components/bh1750/test.esp32-ard.yaml | 5 -- .../components/bh1750/test.esp32-c3-ard.yaml | 5 -- .../binary_sensor/test.esp32-ard.yaml | 2 - .../binary_sensor/test.esp32-c3-ard.yaml | 2 - .../binary_sensor_map/test.esp32-ard.yaml | 1 - .../binary_sensor_map/test.esp32-c3-ard.yaml | 1 - tests/components/bl0906/test.esp32-ard.yaml | 5 -- .../components/bl0906/test.esp32-c3-ard.yaml | 5 -- tests/components/bl0939/test.esp32-ard.yaml | 5 -- .../components/bl0939/test.esp32-c3-ard.yaml | 5 -- tests/components/bl0940/test.esp32-ard.yaml | 5 -- .../components/bl0940/test.esp32-c3-ard.yaml | 5 -- tests/components/bl0942/test.esp32-ard.yaml | 5 -- .../components/bl0942/test.esp32-c3-ard.yaml | 5 -- .../components/ble_client/test.esp32-ard.yaml | 1 - .../ble_client/test.esp32-c3-ard.yaml | 1 - .../ble_presence/test.esp32-ard.yaml | 1 - .../ble_presence/test.esp32-c3-ard.yaml | 1 - tests/components/ble_rssi/test.esp32-ard.yaml | 1 - .../ble_rssi/test.esp32-c3-ard.yaml | 1 - .../ble_scanner/test.esp32-ard.yaml | 1 - .../ble_scanner/test.esp32-c3-ard.yaml | 1 - .../bluetooth_proxy/test.esp32-s3-ard.yaml | 8 --- .../components/bme280_i2c/test.esp32-ard.yaml | 5 -- .../bme280_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/bme280_spi/test.esp32-ard.yaml | 7 --- .../bme280_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/bme680/test.esp32-ard.yaml | 5 -- .../components/bme680/test.esp32-c3-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-c3-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-s2-ard.yaml | 5 -- .../bme68x_bsec2_i2c/test.esp32-s3-ard.yaml | 5 -- tests/components/bmi160/test.esp32-ard.yaml | 5 -- .../components/bmi160/test.esp32-c3-ard.yaml | 5 -- tests/components/bmp085/test.esp32-ard.yaml | 5 -- .../components/bmp085/test.esp32-c3-ard.yaml | 5 -- .../components/bmp280_i2c/test.esp32-ard.yaml | 5 -- .../bmp280_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/bmp280_spi/test.esp32-ard.yaml | 7 --- .../bmp280_spi/test.esp32-c3-ard.yaml | 7 --- .../components/bmp3xx_i2c/test.esp32-ard.yaml | 5 -- .../bmp3xx_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/bmp3xx_spi/test.esp32-ard.yaml | 7 --- .../bmp3xx_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/bmp581/test.esp32-ard.yaml | 5 -- .../components/bmp581/test.esp32-c3-ard.yaml | 5 -- tests/components/bp1658cj/test.esp32-ard.yaml | 5 -- .../bp1658cj/test.esp32-c3-ard.yaml | 5 -- tests/components/bp5758d/test.esp32-ard.yaml | 5 -- .../components/bp5758d/test.esp32-c3-ard.yaml | 5 -- tests/components/button/test.esp32-ard.yaml | 1 - .../components/button/test.esp32-c3-ard.yaml | 1 - .../components/bytebuffer/test.esp32-ard.yaml | 1 - .../bytebuffer/test.esp32-c3-ard.yaml | 1 - tests/components/camera/test.esp32-ard.yaml | 1 - .../camera_encoder/test.esp32-ard.yaml | 1 - tests/components/canbus/test.esp32-ard.yaml | 1 - .../components/canbus/test.esp32-c3-ard.yaml | 1 - tests/components/cap1188/test.esp32-ard.yaml | 6 -- .../components/cap1188/test.esp32-c3-ard.yaml | 6 -- tests/components/ccs811/test.esp32-ard.yaml | 5 -- .../components/ccs811/test.esp32-c3-ard.yaml | 5 -- .../components/cd74hc4067/test.esp32-ard.yaml | 8 --- .../cd74hc4067/test.esp32-c3-ard.yaml | 8 --- tests/components/ch422g/test.esp32-ard.yaml | 6 -- .../components/ch422g/test.esp32-c3-ard.yaml | 6 -- tests/components/chsc6x/test.esp32-ard.yaml | 25 -------- .../components/chsc6x/test.esp32-c3-ard.yaml | 25 -------- .../climate_ir_lg/test.esp32-ard.yaml | 4 -- .../climate_ir_lg/test.esp32-c3-ard.yaml | 4 -- tests/components/cm1106/test.esp32-ard.yaml | 5 -- .../components/cm1106/test.esp32-c3-ard.yaml | 5 -- tests/components/color/test.esp32-ard.yaml | 1 - tests/components/color/test.esp32-c3-ard.yaml | 1 - .../color_temperature/test.esp32-ard.yaml | 6 -- .../color_temperature/test.esp32-c3-ard.yaml | 6 -- .../combination/test.esp32-ard.yaml | 1 - .../combination/test.esp32-c3-ard.yaml | 1 - tests/components/coolix/test.esp32-ard.yaml | 4 -- .../components/coolix/test.esp32-c3-ard.yaml | 4 -- tests/components/copy/test.esp32-ard.yaml | 5 -- tests/components/copy/test.esp32-c3-ard.yaml | 5 -- tests/components/cs5460a/test.esp32-ard.yaml | 7 --- .../components/cs5460a/test.esp32-c3-ard.yaml | 7 --- tests/components/cse7761/test.esp32-ard.yaml | 5 -- .../components/cse7761/test.esp32-c3-ard.yaml | 5 -- tests/components/cse7766/test.esp32-ard.yaml | 5 -- .../components/cse7766/test.esp32-c3-ard.yaml | 5 -- tests/components/cst226/test.esp32-ard.yaml | 12 ---- .../components/cst226/test.esp32-c3-ard.yaml | 12 ---- tests/components/cst816/test.esp32-ard.yaml | 12 ---- .../components/cst816/test.esp32-c3-ard.yaml | 12 ---- tests/components/ct_clamp/test.esp32-ard.yaml | 4 -- .../ct_clamp/test.esp32-c3-ard.yaml | 4 -- .../current_based/test.esp32-ard.yaml | 6 -- .../current_based/test.esp32-c3-ard.yaml | 6 -- tests/components/cwww/test.esp32-ard.yaml | 6 -- tests/components/cwww/test.esp32-c3-ard.yaml | 6 -- tests/components/dac7678/test.esp32-ard.yaml | 5 -- .../components/dac7678/test.esp32-c3-ard.yaml | 5 -- tests/components/daikin/test.esp32-ard.yaml | 4 -- .../components/daikin_arc/test.esp32-ard.yaml | 5 -- .../components/daikin_brc/test.esp32-ard.yaml | 4 -- .../daikin_brc/test.esp32-c3-ard.yaml | 4 -- .../dallas_temp/test.esp32-ard.yaml | 1 - .../dallas_temp/test.esp32-c3-ard.yaml | 1 - tests/components/daly_bms/test.esp32-ard.yaml | 5 -- .../daly_bms/test.esp32-c3-ard.yaml | 5 -- .../components/deep_sleep/test.esp32-ard.yaml | 5 -- .../deep_sleep/test.esp32-c3-ard.yaml | 5 -- tests/components/delonghi/test.esp32-ard.yaml | 4 -- .../delonghi/test.esp32-c3-ard.yaml | 4 -- tests/components/dfplayer/test.esp32-ard.yaml | 5 -- .../dfplayer/test.esp32-c3-ard.yaml | 5 -- .../dfrobot_sen0395/test.esp32-ard.yaml | 5 -- .../dfrobot_sen0395/test.esp32-c3-ard.yaml | 5 -- tests/components/dht/test.esp32-ard.yaml | 1 - tests/components/dht/test.esp32-c3-ard.yaml | 1 - tests/components/dht12/test.esp32-ard.yaml | 5 -- tests/components/dht12/test.esp32-c3-ard.yaml | 5 -- tests/components/display/test.esp32-ard.yaml | 1 - tests/components/dps310/test.esp32-ard.yaml | 5 -- .../components/dps310/test.esp32-c3-ard.yaml | 5 -- tests/components/ds1307/test.esp32-ard.yaml | 5 -- .../components/ds1307/test.esp32-c3-ard.yaml | 5 -- tests/components/ds2484/test.esp32-ard.yaml | 5 -- .../components/ds2484/test.esp32-c3-ard.yaml | 5 -- .../components/duty_cycle/test.esp32-ard.yaml | 1 - .../duty_cycle/test.esp32-c3-ard.yaml | 1 - .../components/duty_time/test.esp32-ard.yaml | 1 - .../duty_time/test.esp32-c3-ard.yaml | 1 - tests/components/e131/test.esp32-ard.yaml | 5 -- tests/components/e131/test.esp32-c3-ard.yaml | 5 -- tests/components/ee895/test.esp32-ard.yaml | 5 -- tests/components/ee895/test.esp32-c3-ard.yaml | 5 -- tests/components/ektf2232/test.esp32-ard.yaml | 8 --- .../ektf2232/test.esp32-c3-ard.yaml | 8 --- tests/components/emc2101/test.esp32-ard.yaml | 5 -- .../components/emc2101/test.esp32-c3-ard.yaml | 5 -- tests/components/emmeti/test.esp32-ard.yaml | 5 -- tests/components/endstop/test.esp32-ard.yaml | 1 - .../components/endstop/test.esp32-c3-ard.yaml | 1 - .../components/ens160_i2c/test.esp32-ard.yaml | 5 -- .../ens160_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/ens160_spi/test.esp32-ard.yaml | 7 --- .../ens160_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/ens210/test.esp32-ard.yaml | 5 -- .../components/ens210/test.esp32-c3-ard.yaml | 5 -- tests/components/es7210/test.esp32-ard.yaml | 5 -- .../components/es7210/test.esp32-c3-ard.yaml | 5 -- tests/components/es7243e/test.esp32-ard.yaml | 5 -- .../components/es7243e/test.esp32-c3-ard.yaml | 5 -- tests/components/es8156/test.esp32-ard.yaml | 5 -- .../components/es8156/test.esp32-c3-ard.yaml | 5 -- tests/components/es8311/test.esp32-ard.yaml | 5 -- .../components/es8311/test.esp32-c3-ard.yaml | 5 -- tests/components/es8388/test.esp32-ard.yaml | 5 -- .../components/es8388/test.esp32-c3-ard.yaml | 5 -- .../esp32_ble_client/test.esp32-ard.yaml | 1 - .../esp32_ble_client/test.esp32-c3-ard.yaml | 1 - .../esp32_ble_server/test.esp32-ard.yaml | 1 - .../esp32_ble_server/test.esp32-c3-ard.yaml | 1 - .../esp32_camera/test.esp32-ard.yaml | 1 - .../test.esp32-ard.yaml | 1 - .../components/esp32_can/test.esp32-ard.yaml | 5 -- .../esp32_can/test.esp32-c3-ard.yaml | 5 -- .../components/esp32_dac/test.esp32-ard.yaml | 1 - .../esp32_improv/test.esp32-ard.yaml | 1 - .../esp32_improv/test.esp32-c3-ard.yaml | 1 - .../esp32_rmt_led_strip/test.esp32-ard.yaml | 6 -- .../test.esp32-c3-ard.yaml | 6 -- .../esp32_touch/test.esp32-ard.yaml | 4 -- .../esp32_touch/test.esp32-s2-ard.yaml | 4 -- .../esp32_touch/test.esp32-s3-ard.yaml | 4 -- tests/components/esphome/test.esp32-ard.yaml | 1 - .../components/esphome/test.esp32-c3-ard.yaml | 1 - .../ethernet_info/test.esp32-ard.yaml | 1 - tests/components/event/test.esp32-ard.yaml | 1 - tests/components/event/test.esp32-c3-ard.yaml | 1 - .../test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../external_components/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - tests/components/ezo/test.esp32-ard.yaml | 5 -- tests/components/ezo/test.esp32-c3-ard.yaml | 5 -- tests/components/ezo_pmp/test.esp32-ard.yaml | 5 -- .../components/ezo_pmp/test.esp32-c3-ard.yaml | 5 -- .../factory_reset/test.esp32-ard.yaml | 1 - .../factory_reset/test.esp32-c3-ard.yaml | 1 - tests/components/feedback/test.esp32-ard.yaml | 1 - .../feedback/test.esp32-c3-ard.yaml | 1 - .../fingerprint_grow/test.esp32-ard.yaml | 6 -- .../fingerprint_grow/test.esp32-c3-ard.yaml | 6 -- tests/components/font/test.esp32-ard.yaml | 7 --- tests/components/font/test.esp32-c3-ard.yaml | 7 --- tests/components/fs3000/test.esp32-ard.yaml | 5 -- .../components/fs3000/test.esp32-c3-ard.yaml | 5 -- tests/components/ft5x06/test.esp32-ard.yaml | 6 -- .../components/ft5x06/test.esp32-c3-ard.yaml | 6 -- tests/components/ft63x6/test.esp32-ard.yaml | 9 --- .../components/ft63x6/test.esp32-c3-ard.yaml | 9 --- .../fujitsu_general/test.esp32-ard.yaml | 4 -- .../fujitsu_general/test.esp32-c3-ard.yaml | 4 -- tests/components/gcja5/test.esp32-ard.yaml | 5 -- tests/components/gcja5/test.esp32-c3-ard.yaml | 5 -- tests/components/gdk101/test.esp32-ard.yaml | 5 -- .../components/gl_r01_i2c/test.esp32-ard.yaml | 5 -- .../gl_r01_i2c/test.esp32-c3-ard.yaml | 5 -- tests/components/globals/test.esp32-ard.yaml | 1 - .../components/globals/test.esp32-c3-ard.yaml | 1 - .../gp2y1010au0f/test.esp32-ard.yaml | 5 -- .../gp2y1010au0f/test.esp32-c3-ard.yaml | 5 -- tests/components/gp8403/test.esp32-ard.yaml | 5 -- .../components/gp8403/test.esp32-c3-ard.yaml | 5 -- tests/components/gpio/test.esp32-ard.yaml | 6 -- tests/components/gpio/test.esp32-c3-ard.yaml | 6 -- tests/components/gps/test.esp32-ard.yaml | 5 -- tests/components/gps/test.esp32-c3-ard.yaml | 5 -- tests/components/graph/test.esp32-ard.yaml | 6 -- tests/components/graph/test.esp32-c3-ard.yaml | 6 -- .../test.esp32-ard.yaml | 6 -- .../test.esp32-c3-ard.yaml | 6 -- tests/components/gree/test.esp32-ard.yaml | 4 -- tests/components/gree/test.esp32-c3-ard.yaml | 4 -- .../grove_gas_mc_v2/test.esp32-ard.yaml | 5 -- .../grove_gas_mc_v2/test.esp32-c3-ard.yaml | 5 -- .../grove_tb6612fng/test.esp32-ard.yaml | 5 -- .../grove_tb6612fng/test.esp32-c3-ard.yaml | 5 -- .../growatt_solar/test.esp32-ard.yaml | 6 -- .../growatt_solar/test.esp32-c3-ard.yaml | 6 -- tests/components/gt911/test.esp32-ard.yaml | 1 - tests/components/gt911/test.esp32-c3-ard.yaml | 1 - tests/components/haier/test.esp32-ard.yaml | 5 -- tests/components/haier/test.esp32-c3-ard.yaml | 5 -- .../havells_solar/test.esp32-ard.yaml | 6 -- .../havells_solar/test.esp32-c3-ard.yaml | 6 -- tests/components/hbridge/test.esp32-ard.yaml | 17 ------ .../components/hbridge/test.esp32-c3-ard.yaml | 16 ----- tests/components/hdc1080/test.esp32-ard.yaml | 5 -- .../components/hdc1080/test.esp32-c3-ard.yaml | 5 -- tests/components/he60r/test.esp32-ard.yaml | 5 -- tests/components/he60r/test.esp32-c3-ard.yaml | 5 -- .../hitachi_ac344/test.esp32-ard.yaml | 4 -- .../hitachi_ac344/test.esp32-c3-ard.yaml | 4 -- .../hitachi_ac424/test.esp32-ard.yaml | 4 -- .../hitachi_ac424/test.esp32-c3-ard.yaml | 4 -- tests/components/hlw8012/test.esp32-ard.yaml | 6 -- .../components/hlw8012/test.esp32-c3-ard.yaml | 6 -- tests/components/hm3301/test.esp32-ard.yaml | 5 -- .../components/hm3301/test.esp32-c3-ard.yaml | 5 -- tests/components/hmc5883l/test.esp32-ard.yaml | 5 -- .../hmc5883l/test.esp32-c3-ard.yaml | 5 -- .../homeassistant/test.esp32-ard.yaml | 2 - .../homeassistant/test.esp32-c3-ard.yaml | 2 - .../honeywell_hih_i2c/test.esp32-ard.yaml | 5 -- .../honeywell_hih_i2c/test.esp32-c3-ard.yaml | 5 -- .../honeywellabp/test.esp32-ard.yaml | 7 --- .../honeywellabp/test.esp32-c3-ard.yaml | 7 --- .../honeywellabp2_i2c/test.esp32-ard.yaml | 5 -- .../honeywellabp2_i2c/test.esp32-c3-ard.yaml | 5 -- .../hrxl_maxsonar_wr/test.esp32-ard.yaml | 5 -- .../hrxl_maxsonar_wr/test.esp32-c3-ard.yaml | 5 -- tests/components/hte501/test.esp32-ard.yaml | 5 -- .../components/hte501/test.esp32-c3-ard.yaml | 5 -- tests/components/htu21d/test.esp32-ard.yaml | 5 -- .../components/htu21d/test.esp32-c3-ard.yaml | 5 -- tests/components/htu31d/test.esp32-ard.yaml | 5 -- .../components/htu31d/test.esp32-c3-ard.yaml | 5 -- tests/components/hx711/test.esp32-ard.yaml | 5 -- tests/components/hx711/test.esp32-c3-ard.yaml | 5 -- .../hydreon_rgxx/test.esp32-ard.yaml | 5 -- .../hydreon_rgxx/test.esp32-c3-ard.yaml | 5 -- tests/components/hyt271/test.esp32-ard.yaml | 5 -- .../components/hyt271/test.esp32-c3-ard.yaml | 5 -- .../components/i2c_device/test.esp32-ard.yaml | 5 -- .../i2c_device/test.esp32-c3-ard.yaml | 5 -- .../components/i2s_audio/test.esp32-ard.yaml | 6 -- .../i2s_audio/test.esp32-c3-ard.yaml | 6 -- tests/components/iaqcore/test.esp32-ard.yaml | 5 -- .../components/iaqcore/test.esp32-c3-ard.yaml | 5 -- tests/components/ili9xxx/test.esp32-ard.yaml | 11 ---- .../components/ili9xxx/test.esp32-c3-ard.yaml | 12 ---- tests/components/ina219/test.esp32-ard.yaml | 5 -- .../components/ina219/test.esp32-c3-ard.yaml | 5 -- tests/components/ina226/test.esp32-ard.yaml | 5 -- .../components/ina226/test.esp32-c3-ard.yaml | 5 -- tests/components/ina260/test.esp32-ard.yaml | 5 -- .../components/ina260/test.esp32-c3-ard.yaml | 5 -- .../components/ina2xx_i2c/test.esp32-ard.yaml | 5 -- .../ina2xx_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/ina2xx_spi/test.esp32-ard.yaml | 7 --- .../ina2xx_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/ina3221/test.esp32-ard.yaml | 5 -- .../components/ina3221/test.esp32-c3-ard.yaml | 5 -- .../inkbird_ibsth1_mini/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - tests/components/inkplate/test.esp32-ard.yaml | 1 - .../integration/test.esp32-ard.yaml | 4 -- .../integration/test.esp32-c3-ard.yaml | 4 -- .../internal_temperature/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../test.esp32-s2-ard.yaml | 1 - .../test.esp32-s3-ard.yaml | 1 - tests/components/interval/test.esp32-ard.yaml | 1 - .../interval/test.esp32-c3-ard.yaml | 1 - .../components/jsn_sr04t/test.esp32-ard.yaml | 5 -- .../jsn_sr04t/test.esp32-c3-ard.yaml | 5 -- .../kamstrup_kmp/test.esp32-ard.yaml | 5 -- .../key_collector/test.esp32-ard.yaml | 7 --- .../key_collector/test.esp32-c3-ard.yaml | 7 --- .../components/kmeteriso/test.esp32-ard.yaml | 5 -- .../kmeteriso/test.esp32-c3-ard.yaml | 5 -- tests/components/kuntze/test.esp32-ard.yaml | 6 -- .../components/kuntze/test.esp32-c3-ard.yaml | 6 -- .../components/lc709203f/test.esp32-ard.yaml | 5 -- .../lc709203f/test.esp32-c3-ard.yaml | 5 -- tests/components/lcd_gpio/test.esp32-ard.yaml | 9 --- .../lcd_gpio/test.esp32-c3-ard.yaml | 9 --- tests/components/lcd_menu/test.esp32-ard.yaml | 9 --- .../lcd_menu/test.esp32-c3-ard.yaml | 9 --- .../lcd_pcf8574/test.esp32-ard.yaml | 5 -- .../lcd_pcf8574/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2410/test.esp32-ard.yaml | 5 -- .../components/ld2410/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2412/test.esp32-ard.yaml | 5 -- .../components/ld2412/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2420/test.esp32-ard.yaml | 5 -- .../components/ld2420/test.esp32-c3-ard.yaml | 5 -- tests/components/ld2450/test.esp32-ard.yaml | 5 -- .../components/ld2450/test.esp32-c3-ard.yaml | 5 -- tests/components/ledc/test.esp32-ard.yaml | 1 - tests/components/ledc/test.esp32-c3-ard.yaml | 1 - tests/components/light/test.esp32-ard.yaml | 21 ------- tests/components/light/test.esp32-c3-ard.yaml | 21 ------- .../lilygo_t5_47/test.esp32-ard.yaml | 7 --- .../lilygo_t5_47/test.esp32-c3-ard.yaml | 7 --- tests/components/lm75b/test.esp32-ard.yaml | 5 -- tests/components/lm75b/test.esp32-c3-ard.yaml | 5 -- tests/components/lock/test.esp32-ard.yaml | 1 - tests/components/lock/test.esp32-c3-ard.yaml | 1 - tests/components/lps22/test.esp32-ard.yaml | 6 -- tests/components/lps22/test.esp32-c3-ard.yaml | 6 -- tests/components/ltr390/test.esp32-ard.yaml | 5 -- .../components/ltr390/test.esp32-c3-ard.yaml | 5 -- tests/components/ltr501/test.esp32-ard.yaml | 6 -- .../components/ltr501/test.esp32-c3-ard.yaml | 6 -- .../components/ltr_als_ps/test.esp32-ard.yaml | 6 -- .../ltr_als_ps/test.esp32-c3-ard.yaml | 6 -- tests/components/lvgl/test.esp32-ard.yaml | 58 ------------------- .../m5stack_8angle/test.esp32-ard.yaml | 1 - .../m5stack_8angle/test.esp32-c3-ard.yaml | 1 - tests/components/mapping/test.esp32-ard.yaml | 17 ------ .../components/mapping/test.esp32-c3-ard.yaml | 17 ------ .../matrix_keypad/test.esp32-ard.yaml | 15 ----- .../matrix_keypad/test.esp32-c3-ard.yaml | 15 ----- tests/components/max17043/test.esp32-ard.yaml | 5 -- .../max17043/test.esp32-c3-ard.yaml | 5 -- tests/components/max31855/test.esp32-ard.yaml | 7 --- .../max31855/test.esp32-c3-ard.yaml | 7 --- tests/components/max31856/test.esp32-ard.yaml | 7 --- .../max31856/test.esp32-c3-ard.yaml | 7 --- tests/components/max31865/test.esp32-ard.yaml | 7 --- .../max31865/test.esp32-c3-ard.yaml | 7 --- tests/components/max44009/test.esp32-ard.yaml | 5 -- .../max44009/test.esp32-c3-ard.yaml | 5 -- tests/components/max6675/test.esp32-ard.yaml | 7 --- .../components/max6675/test.esp32-c3-ard.yaml | 7 --- tests/components/max6956/test.esp32-ard.yaml | 5 -- .../components/max6956/test.esp32-c3-ard.yaml | 5 -- tests/components/max7219/test.esp32-ard.yaml | 7 --- .../components/max7219/test.esp32-c3-ard.yaml | 7 --- .../max7219digit/test.esp32-ard.yaml | 7 --- .../max7219digit/test.esp32-c3-ard.yaml | 7 --- tests/components/max9611/test.esp32-ard.yaml | 5 -- .../components/max9611/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23008/test.esp32-ard.yaml | 5 -- .../mcp23008/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23016/test.esp32-ard.yaml | 5 -- .../mcp23016/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23017/test.esp32-ard.yaml | 5 -- .../mcp23017/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp23s08/test.esp32-ard.yaml | 7 --- .../mcp23s08/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp23s17/test.esp32-ard.yaml | 7 --- .../mcp23s17/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp2515/test.esp32-ard.yaml | 7 --- .../components/mcp2515/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp3008/test.esp32-ard.yaml | 7 --- .../components/mcp3008/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp3204/test.esp32-ard.yaml | 7 --- .../components/mcp3204/test.esp32-c3-ard.yaml | 7 --- tests/components/mcp4461/test.esp32-ard.yaml | 5 -- .../components/mcp4461/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp4725/test.esp32-ard.yaml | 5 -- .../components/mcp4725/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp4728/test.esp32-ard.yaml | 5 -- .../components/mcp4728/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp47a1/test.esp32-ard.yaml | 5 -- .../components/mcp47a1/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp9600/test.esp32-ard.yaml | 5 -- .../components/mcp9600/test.esp32-c3-ard.yaml | 5 -- tests/components/mcp9808/test.esp32-ard.yaml | 5 -- .../components/mcp9808/test.esp32-c3-ard.yaml | 5 -- .../media_player/test.esp32-ard.yaml | 1 - tests/components/mhz19/test.esp32-ard.yaml | 5 -- tests/components/mhz19/test.esp32-c3-ard.yaml | 5 -- .../components/micronova/test.esp32-ard.yaml | 6 -- .../micronova/test.esp32-c3-ard.yaml | 6 -- .../components/microphone/test.esp32-ard.yaml | 13 ----- .../microphone/test.esp32-c3-ard.yaml | 7 --- .../components/mics_4514/test.esp32-ard.yaml | 5 -- .../mics_4514/test.esp32-c3-ard.yaml | 5 -- tests/components/midea_ir/test.esp32-ard.yaml | 1 - .../midea_ir/test.esp32-c3-ard.yaml | 1 - tests/components/mipi_spi/test.esp32-ard.yaml | 15 ----- .../mipi_spi/test.esp32-c3-ard.yaml | 10 ---- .../components/mitsubishi/test.esp32-ard.yaml | 1 - .../mitsubishi/test.esp32-c3-ard.yaml | 1 - tests/components/mixer/test.esp32-ard.yaml | 7 --- tests/components/mixer/test.esp32-c3-ard.yaml | 7 --- tests/components/mixer/test.esp32-s3-ard.yaml | 7 --- tests/components/mlx90393/test.esp32-ard.yaml | 5 -- .../mlx90393/test.esp32-c3-ard.yaml | 5 -- .../mlx90393/test.esp32-s3-ard.yaml | 5 -- tests/components/mlx90614/test.esp32-ard.yaml | 5 -- .../mlx90614/test.esp32-c3-ard.yaml | 5 -- tests/components/mmc5603/test.esp32-ard.yaml | 5 -- .../components/mmc5603/test.esp32-c3-ard.yaml | 5 -- tests/components/mmc5983/test.esp32-ard.yaml | 5 -- .../components/mmc5983/test.esp32-c3-ard.yaml | 5 -- tests/components/modbus/test.esp32-ard.yaml | 6 -- .../components/modbus/test.esp32-c3-ard.yaml | 6 -- .../modbus_controller/test.esp32-ard.yaml | 8 --- .../modbus_controller/test.esp32-c3-ard.yaml | 8 --- .../monochromatic/test.esp32-ard.yaml | 5 -- .../monochromatic/test.esp32-c3-ard.yaml | 5 -- .../components/mopeka_ble/test.esp32-ard.yaml | 1 - .../mopeka_ble/test.esp32-c3-ard.yaml | 1 - .../mopeka_pro_check/test.esp32-ard.yaml | 1 - .../mopeka_pro_check/test.esp32-c3-ard.yaml | 1 - .../mopeka_std_check/test.esp32-ard.yaml | 1 - .../mopeka_std_check/test.esp32-c3-ard.yaml | 1 - .../components/mpl3115a2/test.esp32-ard.yaml | 5 -- .../mpl3115a2/test.esp32-c3-ard.yaml | 5 -- tests/components/mpr121/test.esp32-ard.yaml | 5 -- .../components/mpr121/test.esp32-c3-ard.yaml | 5 -- tests/components/mpu6050/test.esp32-ard.yaml | 5 -- .../components/mpu6050/test.esp32-c3-ard.yaml | 5 -- tests/components/mpu6886/test.esp32-ard.yaml | 5 -- .../components/mpu6886/test.esp32-c3-ard.yaml | 5 -- tests/components/mqtt/test.esp32-ard.yaml | 6 -- tests/components/mqtt/test.esp32-c3-ard.yaml | 6 -- .../mqtt_subscribe/test.esp32-ard.yaml | 1 - .../mqtt_subscribe/test.esp32-c3-ard.yaml | 1 - tests/components/ms5611/test.esp32-ard.yaml | 5 -- .../components/ms5611/test.esp32-c3-ard.yaml | 5 -- tests/components/msa3xx/test.esp32-ard.yaml | 6 -- .../components/msa3xx/test.esp32-c3-ard.yaml | 6 -- tests/components/my9231/test.esp32-ard.yaml | 1 - .../components/my9231/test.esp32-c3-ard.yaml | 1 - tests/components/nau7802/test.esp32-ard.yaml | 6 -- .../components/nau7802/test.esp32-c3-ard.yaml | 6 -- tests/components/noblex/test.esp32-ard.yaml | 1 - .../components/noblex/test.esp32-c3-ard.yaml | 1 - tests/components/npi19/test.esp32-ard.yaml | 5 -- tests/components/npi19/test.esp32-s3-ard.yaml | 5 -- tests/components/ntc/test.esp32-ard.yaml | 4 -- tests/components/ntc/test.esp32-c3-ard.yaml | 4 -- tests/components/ntc/test.esp32-s2-ard.yaml | 4 -- tests/components/ntc/test.esp32-s3-ard.yaml | 4 -- .../online_image/test.esp32-ard.yaml | 4 -- tests/components/opt3001/test.esp32-ard.yaml | 5 -- .../components/opt3001/test.esp32-c3-ard.yaml | 5 -- tests/components/output/test.esp32-ard.yaml | 5 -- .../components/output/test.esp32-c3-ard.yaml | 5 -- tests/components/packages/test.esp32-ard.yaml | 11 ---- .../packet_transport/test.esp32-ard.yaml | 1 - .../packet_transport/test.esp32-c3-ard.yaml | 1 - .../components/partition/test.esp32-ard.yaml | 5 -- .../partition/test.esp32-c3-ard.yaml | 5 -- tests/components/pca6416a/test.esp32-ard.yaml | 5 -- .../pca6416a/test.esp32-c3-ard.yaml | 5 -- tests/components/pca9554/test.esp32-ard.yaml | 5 -- .../components/pca9554/test.esp32-c3-ard.yaml | 5 -- tests/components/pca9685/test.esp32-ard.yaml | 5 -- .../components/pca9685/test.esp32-c3-ard.yaml | 5 -- tests/components/pcd8544/test.esp32-ard.yaml | 9 --- .../components/pcd8544/test.esp32-c3-ard.yaml | 9 --- tests/components/pcf85063/test.esp32-ard.yaml | 5 -- .../pcf85063/test.esp32-c3-ard.yaml | 5 -- tests/components/pcf8563/test.esp32-ard.yaml | 5 -- .../components/pcf8563/test.esp32-c3-ard.yaml | 5 -- tests/components/pcf8574/test.esp32-ard.yaml | 5 -- .../components/pcf8574/test.esp32-c3-ard.yaml | 5 -- .../pi4ioe5v6408/test.esp32-ard.yaml | 5 -- tests/components/pid/test.esp32-ard.yaml | 1 - tests/components/pid/test.esp32-c3-ard.yaml | 1 - tests/components/pipsolar/test.esp32-ard.yaml | 5 -- .../pipsolar/test.esp32-c3-ard.yaml | 5 -- tests/components/pm1006/test.esp32-ard.yaml | 5 -- .../components/pm1006/test.esp32-c3-ard.yaml | 5 -- tests/components/pm2005/test.esp32-ard.yaml | 5 -- .../components/pm2005/test.esp32-c3-ard.yaml | 5 -- tests/components/pmsa003i/test.esp32-ard.yaml | 5 -- .../pmsa003i/test.esp32-c3-ard.yaml | 5 -- tests/components/pmsx003/test.esp32-ard.yaml | 5 -- .../components/pmsx003/test.esp32-c3-ard.yaml | 5 -- tests/components/pmwcs3/test.esp32-ard.yaml | 5 -- .../components/pmwcs3/test.esp32-c3-ard.yaml | 5 -- .../components/pn532_i2c/test.esp32-ard.yaml | 5 -- .../pn532_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/pn532_spi/test.esp32-ard.yaml | 7 --- .../pn532_spi/test.esp32-c3-ard.yaml | 7 --- .../components/pn7150_i2c/test.esp32-ard.yaml | 7 --- .../pn7150_i2c/test.esp32-c3-ard.yaml | 7 --- .../components/pn7160_i2c/test.esp32-ard.yaml | 7 --- .../pn7160_i2c/test.esp32-c3-ard.yaml | 7 --- .../components/pn7160_spi/test.esp32-ard.yaml | 9 --- .../pn7160_spi/test.esp32-c3-ard.yaml | 9 --- .../power_supply/test.esp32-ard.yaml | 1 - .../power_supply/test.esp32-c3-ard.yaml | 1 - .../components/prometheus/test.esp32-ard.yaml | 38 ------------ .../prometheus/test.esp32-c3-ard.yaml | 5 -- tests/components/psram/test.esp32-ard.yaml | 1 - tests/components/psram/test.esp32-s2-ard.yaml | 1 - tests/components/psram/test.esp32-s3-ard.yaml | 3 - .../pulse_counter/test.esp32-ard.yaml | 1 - .../pulse_counter/test.esp32-c3-ard.yaml | 1 - .../pulse_meter/test.esp32-ard.yaml | 1 - .../pulse_meter/test.esp32-c3-ard.yaml | 1 - .../pulse_width/test.esp32-ard.yaml | 1 - .../pulse_width/test.esp32-c3-ard.yaml | 1 - .../pvvx_mithermometer/test.esp32-ard.yaml | 1 - .../pvvx_mithermometer/test.esp32-c3-ard.yaml | 1 - .../components/pylontech/test.esp32-ard.yaml | 5 -- .../pylontech/test.esp32-c3-ard.yaml | 5 -- tests/components/pzem004t/test.esp32-ard.yaml | 5 -- .../pzem004t/test.esp32-c3-ard.yaml | 5 -- tests/components/pzemac/test.esp32-ard.yaml | 5 -- .../components/pzemac/test.esp32-c3-ard.yaml | 5 -- tests/components/pzemdc/test.esp32-ard.yaml | 5 -- .../components/pzemdc/test.esp32-c3-ard.yaml | 5 -- tests/components/qmc5883l/test.esp32-ard.yaml | 6 -- .../qmc5883l/test.esp32-c3-ard.yaml | 6 -- tests/components/qmp6988/test.esp32-ard.yaml | 5 -- .../components/qmp6988/test.esp32-c3-ard.yaml | 5 -- tests/components/qr_code/test.esp32-ard.yaml | 8 --- .../components/qr_code/test.esp32-c3-ard.yaml | 9 --- .../components/qwiic_pir/test.esp32-ard.yaml | 5 -- .../qwiic_pir/test.esp32-c3-ard.yaml | 5 -- .../radon_eye_ble/test.esp32-ard.yaml | 1 - .../radon_eye_ble/test.esp32-c3-ard.yaml | 1 - .../radon_eye_rd200/test.esp32-ard.yaml | 1 - .../radon_eye_rd200/test.esp32-c3-ard.yaml | 1 - .../components/rc522_i2c/test.esp32-ard.yaml | 5 -- .../rc522_i2c/test.esp32-c3-ard.yaml | 5 -- .../components/rc522_spi/test.esp32-ard.yaml | 7 --- .../rc522_spi/test.esp32-c3-ard.yaml | 7 --- tests/components/rdm6300/test.esp32-ard.yaml | 5 -- .../components/rdm6300/test.esp32-c3-ard.yaml | 5 -- .../remote_receiver/test.esp32-ard.yaml | 9 --- .../remote_receiver/test.esp32-c3-ard.yaml | 9 --- .../remote_transmitter/test.esp32-ard.yaml | 7 --- .../remote_transmitter/test.esp32-c3-ard.yaml | 7 --- .../components/resampler/test.esp32-ard.yaml | 7 --- .../resampler/test.esp32-c3-ard.yaml | 7 --- .../resampler/test.esp32-s3-ard.yaml | 7 --- .../components/resistance/test.esp32-ard.yaml | 4 -- .../resistance/test.esp32-c3-ard.yaml | 4 -- .../resistance/test.esp32-s2-ard.yaml | 4 -- .../resistance/test.esp32-s3-ard.yaml | 4 -- tests/components/restart/test.esp32-ard.yaml | 1 - .../components/restart/test.esp32-c3-ard.yaml | 1 - .../components/rf_bridge/test.esp32-ard.yaml | 5 -- .../rf_bridge/test.esp32-c3-ard.yaml | 5 -- tests/components/rgb/test.esp32-ard.yaml | 7 --- tests/components/rgb/test.esp32-c3-ard.yaml | 7 --- tests/components/rgbct/test.esp32-ard.yaml | 9 --- tests/components/rgbct/test.esp32-c3-ard.yaml | 9 --- tests/components/rgbw/test.esp32-ard.yaml | 8 --- tests/components/rgbw/test.esp32-c3-ard.yaml | 8 --- tests/components/rgbww/test.esp32-ard.yaml | 9 --- tests/components/rgbww/test.esp32-c3-ard.yaml | 9 --- .../rotary_encoder/test.esp32-ard.yaml | 6 -- .../rotary_encoder/test.esp32-c3-ard.yaml | 6 -- tests/components/rtttl/test.esp32-ard.yaml | 5 -- tests/components/rtttl/test.esp32-c3-ard.yaml | 5 -- .../runtime_stats/test.esp32-ard.yaml | 1 - .../components/ruuvi_ble/test.esp32-ard.yaml | 1 - .../ruuvi_ble/test.esp32-c3-ard.yaml | 1 - tests/components/ruuvitag/test.esp32-ard.yaml | 1 - .../ruuvitag/test.esp32-c3-ard.yaml | 1 - .../safe_mode/test-enabled.esp32-ard.yaml | 1 - .../safe_mode/test-enabled.esp32-c3-ard.yaml | 1 - tests/components/scd30/test.esp32-ard.yaml | 5 -- tests/components/scd30/test.esp32-c3-ard.yaml | 5 -- tests/components/scd4x/test.esp32-ard.yaml | 5 -- tests/components/scd4x/test.esp32-c3-ard.yaml | 5 -- tests/components/script/test.esp32-ard.yaml | 1 - .../components/script/test.esp32-c3-ard.yaml | 1 - .../components/sdm_meter/test.esp32-ard.yaml | 5 -- .../sdm_meter/test.esp32-c3-ard.yaml | 5 -- tests/components/sdp3x/test.esp32-ard.yaml | 5 -- tests/components/sdp3x/test.esp32-c3-ard.yaml | 5 -- tests/components/sds011/test.esp32-ard.yaml | 5 -- .../components/sds011/test.esp32-c3-ard.yaml | 5 -- .../seeed_mr24hpc1/test.esp32-c3-ard.yaml | 5 -- .../seeed_mr60bha2/test.esp32-c3-ard.yaml | 5 -- .../seeed_mr60fda2/test.esp32-c3-ard.yaml | 5 -- .../selec_meter/test.esp32-ard.yaml | 5 -- .../selec_meter/test.esp32-c3-ard.yaml | 5 -- tests/components/sen0321/test.esp32-ard.yaml | 5 -- .../components/sen0321/test.esp32-c3-ard.yaml | 5 -- tests/components/sen21231/test.esp32-ard.yaml | 5 -- .../sen21231/test.esp32-c3-ard.yaml | 5 -- tests/components/sen5x/test.esp32-ard.yaml | 5 -- tests/components/sen5x/test.esp32-c3-ard.yaml | 5 -- tests/components/senseair/test.esp32-ard.yaml | 5 -- .../senseair/test.esp32-c3-ard.yaml | 5 -- tests/components/servo/test.esp32-ard.yaml | 5 -- tests/components/servo/test.esp32-c3-ard.yaml | 5 -- tests/components/sfa30/test.esp32-ard.yaml | 5 -- tests/components/sfa30/test.esp32-c3-ard.yaml | 5 -- tests/components/sgp30/test.esp32-ard.yaml | 5 -- tests/components/sgp30/test.esp32-c3-ard.yaml | 5 -- tests/components/sgp4x/test.esp32-ard.yaml | 5 -- tests/components/sgp4x/test.esp32-c3-ard.yaml | 5 -- tests/components/sht3xd/test.esp32-ard.yaml | 5 -- .../components/sht3xd/test.esp32-c3-ard.yaml | 5 -- tests/components/sht4x/test.esp32-ard.yaml | 5 -- tests/components/sht4x/test.esp32-c3-ard.yaml | 5 -- tests/components/shtcx/test.esp32-ard.yaml | 5 -- tests/components/shtcx/test.esp32-c3-ard.yaml | 5 -- tests/components/shutdown/test.esp32-ard.yaml | 1 - .../shutdown/test.esp32-c3-ard.yaml | 1 - .../sigma_delta_output/test.esp32-ard.yaml | 1 - .../sigma_delta_output/test.esp32-c3-ard.yaml | 1 - tests/components/sim800l/test.esp32-ard.yaml | 5 -- .../components/sim800l/test.esp32-c3-ard.yaml | 5 -- tests/components/slow_pwm/test.esp32-ard.yaml | 1 - .../slow_pwm/test.esp32-c3-ard.yaml | 1 - tests/components/sm16716/test.esp32-ard.yaml | 5 -- .../components/sm16716/test.esp32-c3-ard.yaml | 5 -- tests/components/sm2135/test.esp32-ard.yaml | 5 -- .../components/sm2135/test.esp32-c3-ard.yaml | 5 -- tests/components/sm2235/test.esp32-ard.yaml | 5 -- .../components/sm2235/test.esp32-c3-ard.yaml | 5 -- tests/components/sm2335/test.esp32-ard.yaml | 5 -- .../components/sm2335/test.esp32-c3-ard.yaml | 5 -- tests/components/sm300d2/test.esp32-ard.yaml | 5 -- .../components/sm300d2/test.esp32-c3-ard.yaml | 5 -- tests/components/sml/test.esp32-ard.yaml | 5 -- tests/components/sml/test.esp32-c3-ard.yaml | 5 -- tests/components/smt100/test.esp32-ard.yaml | 5 -- .../components/smt100/test.esp32-c3-ard.yaml | 5 -- .../components/sn74hc165/test.esp32-ard.yaml | 7 --- .../sn74hc165/test.esp32-c3-ard.yaml | 7 --- .../components/sn74hc595/test.esp32-ard.yaml | 12 ---- .../sn74hc595/test.esp32-c3-ard.yaml | 12 ---- tests/components/sntp/test.esp32-ard.yaml | 1 - tests/components/sntp/test.esp32-c3-ard.yaml | 1 - .../components/sonoff_d1/test.esp32-ard.yaml | 5 -- .../sonoff_d1/test.esp32-c3-ard.yaml | 5 -- .../sound_level/test.esp32-ard.yaml | 6 -- .../sound_level/test.esp32-c3-ard.yaml | 6 -- .../sound_level/test.esp32-s3-ard.yaml | 6 -- tests/components/speed/test.esp32-ard.yaml | 5 -- tests/components/speed/test.esp32-c3-ard.yaml | 5 -- .../components/spi_device/test.esp32-ard.yaml | 6 -- .../spi_device/test.esp32-c3-ard.yaml | 6 -- .../spi_led_strip/test.esp32-ard.yaml | 5 -- .../spi_led_strip/test.esp32-c3-ard.yaml | 5 -- .../components/sprinkler/test.esp32-ard.yaml | 1 - .../sprinkler/test.esp32-c3-ard.yaml | 1 - tests/components/sps30/test.esp32-ard.yaml | 5 -- tests/components/sps30/test.esp32-c3-ard.yaml | 5 -- .../ssd1306_i2c/test.esp32-ard.yaml | 6 -- .../ssd1306_i2c/test.esp32-c3-ard.yaml | 6 -- .../ssd1306_spi/test.esp32-ard.yaml | 8 --- .../ssd1306_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1322_spi/test.esp32-ard.yaml | 8 --- .../ssd1322_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1325_spi/test.esp32-ard.yaml | 8 --- .../ssd1325_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1327_i2c/test.esp32-ard.yaml | 6 -- .../ssd1327_i2c/test.esp32-c3-ard.yaml | 6 -- .../ssd1327_spi/test.esp32-ard.yaml | 8 --- .../ssd1327_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1331_spi/test.esp32-ard.yaml | 8 --- .../ssd1331_spi/test.esp32-c3-ard.yaml | 9 --- .../ssd1351_spi/test.esp32-ard.yaml | 8 --- .../ssd1351_spi/test.esp32-c3-ard.yaml | 9 --- .../components/st7567_i2c/test.esp32-ard.yaml | 6 -- .../st7567_i2c/test.esp32-c3-ard.yaml | 6 -- .../components/st7567_spi/test.esp32-ard.yaml | 8 --- .../st7567_spi/test.esp32-c3-ard.yaml | 9 --- tests/components/st7735/test.esp32-ard.yaml | 8 --- .../components/st7735/test.esp32-c3-ard.yaml | 9 --- tests/components/st7789v/test.esp32-ard.yaml | 8 --- .../components/st7789v/test.esp32-c3-ard.yaml | 9 --- tests/components/st7920/test.esp32-ard.yaml | 6 -- .../components/st7920/test.esp32-c3-ard.yaml | 7 --- tests/components/statsD/test.esp32-ard.yaml | 2 - .../components/statsD/test.esp32-c3-ard.yaml | 2 - tests/components/status/test.esp32-ard.yaml | 1 - .../components/status/test.esp32-c3-ard.yaml | 1 - .../components/status_led/test.esp32-ard.yaml | 1 - .../status_led/test.esp32-c3-ard.yaml | 1 - tests/components/stepper/test.esp32-ard.yaml | 1 - .../components/stepper/test.esp32-c3-ard.yaml | 1 - tests/components/sts3x/test.esp32-ard.yaml | 5 -- tests/components/sts3x/test.esp32-c3-ard.yaml | 5 -- tests/components/sun/test.esp32-ard.yaml | 1 - tests/components/sun/test.esp32-c3-ard.yaml | 1 - .../components/sun_gtil2/test.esp32-ard.yaml | 4 -- .../sun_gtil2/test.esp32-c3-ard.yaml | 4 -- tests/components/switch/test.esp32-ard.yaml | 2 - .../components/switch/test.esp32-c3-ard.yaml | 2 - tests/components/sx126x/test.esp32-ard.yaml | 10 ---- .../components/sx126x/test.esp32-c3-ard.yaml | 10 ---- tests/components/sx127x/test.esp32-ard.yaml | 9 --- .../components/sx127x/test.esp32-c3-ard.yaml | 9 --- tests/components/sx1509/test.esp32-ard.yaml | 5 -- .../components/sx1509/test.esp32-c3-ard.yaml | 5 -- tests/components/syslog/test.esp32-ard.yaml | 1 - .../components/syslog/test.esp32-c3-ard.yaml | 1 - tests/components/t6615/test.esp32-ard.yaml | 5 -- tests/components/t6615/test.esp32-c3-ard.yaml | 5 -- tests/components/tc74/test.esp32-ard.yaml | 5 -- tests/components/tc74/test.esp32-c3-ard.yaml | 5 -- tests/components/tca9548a/test.esp32-ard.yaml | 5 -- .../tca9548a/test.esp32-c3-ard.yaml | 5 -- tests/components/tca9555/test.esp32-ard.yaml | 5 -- .../components/tca9555/test.esp32-c3-ard.yaml | 5 -- tests/components/tcl112/test.esp32-ard.yaml | 4 -- .../components/tcl112/test.esp32-c3-ard.yaml | 4 -- tests/components/tcs34725/test.esp32-ard.yaml | 5 -- .../tcs34725/test.esp32-c3-ard.yaml | 5 -- tests/components/tee501/test.esp32-ard.yaml | 5 -- .../components/tee501/test.esp32-c3-ard.yaml | 5 -- tests/components/teleinfo/test.esp32-ard.yaml | 5 -- .../teleinfo/test.esp32-c3-ard.yaml | 5 -- tests/components/tem3200/test.esp32-ard.yaml | 5 -- .../components/tem3200/test.esp32-s3-ard.yaml | 5 -- tests/components/template/test.esp32-ard.yaml | 2 - .../template/test.esp32-c3-ard.yaml | 2 - .../components/thermostat/test.esp32-ard.yaml | 1 - .../thermostat/test.esp32-c3-ard.yaml | 1 - .../components/time_based/test.esp32-ard.yaml | 1 - .../time_based/test.esp32-c3-ard.yaml | 1 - .../components/tlc59208f/test.esp32-ard.yaml | 5 -- .../tlc59208f/test.esp32-c3-ard.yaml | 5 -- tests/components/tlc5947/test.esp32-ard.yaml | 7 --- .../components/tlc5947/test.esp32-c3-ard.yaml | 7 --- tests/components/tlc5971/test.esp32-ard.yaml | 7 --- .../components/tlc5971/test.esp32-c3-ard.yaml | 6 -- .../components/tlc5971/test.esp32-s2-ard.yaml | 6 -- tests/components/tm1621/test.esp32-ard.yaml | 7 --- .../components/tm1621/test.esp32-c3-ard.yaml | 7 --- tests/components/tm1637/test.esp32-ard.yaml | 5 -- .../components/tm1637/test.esp32-c3-ard.yaml | 5 -- tests/components/tm1638/test.esp32-ard.yaml | 1 - .../components/tm1638/test.esp32-c3-ard.yaml | 1 - tests/components/tm1651/test.esp32-ard.yaml | 1 - .../components/tm1651/test.esp32-c3-ard.yaml | 1 - tests/components/tmp102/test.esp32-ard.yaml | 5 -- .../components/tmp102/test.esp32-c3-ard.yaml | 5 -- tests/components/tmp1075/test.esp32-ard.yaml | 5 -- .../components/tmp1075/test.esp32-c3-ard.yaml | 5 -- tests/components/tmp117/test.esp32-ard.yaml | 5 -- .../components/tmp117/test.esp32-c3-ard.yaml | 5 -- tests/components/tof10120/test.esp32-ard.yaml | 5 -- .../tof10120/test.esp32-c3-ard.yaml | 5 -- tests/components/tormatic/test.esp32-ard.yaml | 5 -- .../tormatic/test.esp32-c3-ard.yaml | 5 -- tests/components/toshiba/test.esp32-ard.yaml | 4 -- .../components/toshiba/test.esp32-c3-ard.yaml | 4 -- .../total_daily_energy/test.esp32-ard.yaml | 6 -- .../total_daily_energy/test.esp32-c3-ard.yaml | 6 -- tests/components/tsl2561/test.esp32-ard.yaml | 5 -- .../components/tsl2561/test.esp32-c3-ard.yaml | 5 -- tests/components/tsl2591/test.esp32-ard.yaml | 5 -- .../components/tsl2591/test.esp32-c3-ard.yaml | 5 -- tests/components/tt21100/test.esp32-ard.yaml | 8 --- .../components/tt21100/test.esp32-c3-ard.yaml | 8 --- .../components/ttp229_bsf/test.esp32-ard.yaml | 5 -- .../ttp229_bsf/test.esp32-c3-ard.yaml | 5 -- .../components/ttp229_lsf/test.esp32-ard.yaml | 5 -- .../ttp229_lsf/test.esp32-c3-ard.yaml | 5 -- tests/components/tuya/test.esp32-ard.yaml | 6 -- tests/components/tuya/test.esp32-c3-ard.yaml | 6 -- tests/components/tx20/test.esp32-ard.yaml | 1 - tests/components/tx20/test.esp32-c3-ard.yaml | 1 - ...st-uart_max_with_usb_cdc.esp32-c3-ard.yaml | 36 ------------ ...st-uart_max_with_usb_cdc.esp32-s2-ard.yaml | 36 ------------ ...st-uart_max_with_usb_cdc.esp32-s3-ard.yaml | 48 --------------- tests/components/uart/test.esp32-ard.yaml | 18 ------ tests/components/uart/test.esp32-c3-ard.yaml | 18 ------ tests/components/udp/test.esp32-ard.yaml | 1 - tests/components/udp/test.esp32-c3-ard.yaml | 1 - tests/components/ufire_ec/test.esp32-ard.yaml | 5 -- .../ufire_ec/test.esp32-c3-ard.yaml | 5 -- .../components/ufire_ise/test.esp32-ard.yaml | 5 -- .../ufire_ise/test.esp32-c3-ard.yaml | 5 -- tests/components/uln2003/test.esp32-ard.yaml | 7 --- .../components/uln2003/test.esp32-c3-ard.yaml | 7 --- .../components/ultrasonic/test.esp32-ard.yaml | 1 - .../ultrasonic/test.esp32-c3-ard.yaml | 1 - tests/components/update/test.esp32-ard.yaml | 4 -- .../uponor_smatrix/test.esp32-ard.yaml | 5 -- .../uponor_smatrix/test.esp32-c3-ard.yaml | 5 -- tests/components/uptime/test.esp32-ard.yaml | 1 - .../components/uptime/test.esp32-c3-ard.yaml | 1 - tests/components/vbus/test.esp32-ard.yaml | 5 -- tests/components/vbus/test.esp32-c3-ard.yaml | 5 -- tests/components/veml3235/test.esp32-ard.yaml | 5 -- .../veml3235/test.esp32-c3-ard.yaml | 5 -- tests/components/veml7700/test.esp32-ard.yaml | 5 -- .../veml7700/test.esp32-c3-ard.yaml | 5 -- tests/components/version/test.esp32-ard.yaml | 1 - .../components/version/test.esp32-c3-ard.yaml | 1 - tests/components/vl53l0x/test.esp32-ard.yaml | 5 -- .../components/vl53l0x/test.esp32-c3-ard.yaml | 5 -- .../voice_assistant/test.esp32-ard.yaml | 8 --- .../voice_assistant/test.esp32-c3-ard.yaml | 8 --- .../wake_on_lan/test.esp32-ard.yaml | 1 - .../wake_on_lan/test.esp32-c3-ard.yaml | 1 - .../waveshare_epaper/test.esp32-ard.yaml | 9 --- .../waveshare_epaper/test.esp32-c3-ard.yaml | 9 --- .../components/whirlpool/test.esp32-ard.yaml | 4 -- .../whirlpool/test.esp32-c3-ard.yaml | 4 -- tests/components/whynter/test.esp32-ard.yaml | 4 -- .../components/whynter/test.esp32-c3-ard.yaml | 4 -- tests/components/wiegand/test.esp32-ard.yaml | 1 - .../components/wiegand/test.esp32-c3-ard.yaml | 1 - tests/components/wifi/test-eap.esp32-ard.yaml | 1 - tests/components/wifi/test.esp32-ard.yaml | 1 - tests/components/wifi/test.esp32-c3-ard.yaml | 1 - .../components/wifi_info/test.esp32-ard.yaml | 1 - .../wifi_info/test.esp32-c3-ard.yaml | 1 - .../wifi_signal/test.esp32-ard.yaml | 1 - .../wifi_signal/test.esp32-c3-ard.yaml | 1 - .../components/wireguard/test.esp32-ard.yaml | 4 -- .../wireguard/test.esp32-c3-ard.yaml | 1 - .../components/wk2132_i2c/test.esp32-ard.yaml | 5 -- .../wk2132_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2132_spi/test.esp32-ard.yaml | 7 --- .../wk2132_spi/test.esp32-s3-ard.yaml | 7 --- .../components/wk2168_i2c/test.esp32-ard.yaml | 5 -- .../wk2168_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2168_spi/test.esp32-ard.yaml | 7 --- .../wk2168_spi/test.esp32-s3-ard.yaml | 7 --- .../components/wk2204_i2c/test.esp32-ard.yaml | 5 -- .../wk2204_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2204_spi/test.esp32-ard.yaml | 7 --- .../wk2204_spi/test.esp32-s3-ard.yaml | 7 --- .../components/wk2212_i2c/test.esp32-ard.yaml | 5 -- .../wk2212_i2c/test.esp32-s3-ard.yaml | 5 -- .../components/wk2212_spi/test.esp32-ard.yaml | 7 --- .../wk2212_spi/test.esp32-s3-ard.yaml | 7 --- tests/components/wl_134/test.esp32-ard.yaml | 5 -- .../components/wl_134/test.esp32-c3-ard.yaml | 5 -- tests/components/wts01/test.esp32-ard.yaml | 5 -- tests/components/wts01/test.esp32-c3-ard.yaml | 5 -- tests/components/x9c/test.esp32-ard.yaml | 6 -- tests/components/x9c/test.esp32-c3-ard.yaml | 6 -- tests/components/xgzp68xx/test.esp32-ard.yaml | 5 -- .../xgzp68xx/test.esp32-c3-ard.yaml | 5 -- .../components/xiaomi_ble/test.esp32-ard.yaml | 1 - .../xiaomi_ble/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgd1/test.esp32-ard.yaml | 1 - .../xiaomi_cgd1/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgdk2/test.esp32-ard.yaml | 1 - .../xiaomi_cgdk2/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgg1/test.esp32-ard.yaml | 1 - .../xiaomi_cgg1/test.esp32-c3-ard.yaml | 1 - .../xiaomi_cgpr1/test.esp32-ard.yaml | 1 - .../xiaomi_cgpr1/test.esp32-c3-ard.yaml | 1 - .../xiaomi_gcls002/test.esp32-ard.yaml | 1 - .../xiaomi_gcls002/test.esp32-c3-ard.yaml | 1 - .../xiaomi_hhccjcy01/test.esp32-ard.yaml | 1 - .../xiaomi_hhccjcy01/test.esp32-c3-ard.yaml | 1 - .../xiaomi_hhccpot002/test.esp32-ard.yaml | 1 - .../xiaomi_hhccpot002/test.esp32-c3-ard.yaml | 1 - .../xiaomi_jqjcy01ym/test.esp32-ard.yaml | 1 - .../xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsd02/test.esp32-ard.yaml | 1 - .../xiaomi_lywsd02/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsd02mmc/test.esp32-ard.yaml | 1 - .../xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsd03mmc/test.esp32-ard.yaml | 1 - .../xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml | 1 - .../xiaomi_lywsdcgq/test.esp32-ard.yaml | 1 - .../xiaomi_lywsdcgq/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mhoc303/test.esp32-ard.yaml | 1 - .../xiaomi_mhoc303/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mhoc401/test.esp32-ard.yaml | 1 - .../xiaomi_mhoc401/test.esp32-c3-ard.yaml | 1 - .../xiaomi_miscale/test.esp32-ard.yaml | 1 - .../xiaomi_miscale/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mjyd02yla/test.esp32-ard.yaml | 1 - .../xiaomi_mjyd02yla/test.esp32-c3-ard.yaml | 1 - .../xiaomi_mue4094rt/test.esp32-ard.yaml | 1 - .../xiaomi_mue4094rt/test.esp32-c3-ard.yaml | 1 - .../xiaomi_rtcgq02lm/test.esp32-ard.yaml | 1 - .../xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml | 1 - .../xiaomi_wx08zm/test.esp32-ard.yaml | 1 - .../xiaomi_wx08zm/test.esp32-c3-ard.yaml | 1 - .../xiaomi_xmwsdj04mmc/test.esp32-ard.yaml | 1 - .../xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml | 1 - tests/components/xl9535/test.esp32-ard.yaml | 5 -- .../components/xl9535/test.esp32-c3-ard.yaml | 5 -- tests/components/xpt2046/test.esp32-ard.yaml | 11 ---- .../components/xpt2046/test.esp32-c3-ard.yaml | 11 ---- tests/components/yashima/test.esp32-ard.yaml | 4 -- .../components/yashima/test.esp32-c3-ard.yaml | 4 -- tests/components/zhlt01/test.esp32-ard.yaml | 4 -- .../components/zhlt01/test.esp32-c3-ard.yaml | 4 -- .../zio_ultrasonic/test.esp32-ard.yaml | 5 -- .../zio_ultrasonic/test.esp32-c3-ard.yaml | 5 -- .../zwave_proxy/test.esp32-ard.yaml | 5 -- .../zwave_proxy/test.esp32-c3-ard.yaml | 5 -- tests/components/zyaura/test.esp32-ard.yaml | 5 -- .../components/zyaura/test.esp32-c3-ard.yaml | 5 -- 1007 files changed, 4942 deletions(-) delete mode 100644 tests/components/a01nyub/test.esp32-ard.yaml delete mode 100644 tests/components/a01nyub/test.esp32-c3-ard.yaml delete mode 100644 tests/components/a02yyuw/test.esp32-ard.yaml delete mode 100644 tests/components/a02yyuw/test.esp32-c3-ard.yaml delete mode 100644 tests/components/a4988/test.esp32-ard.yaml delete mode 100644 tests/components/a4988/test.esp32-c3-ard.yaml delete mode 100644 tests/components/absolute_humidity/test.esp32-ard.yaml delete mode 100644 tests/components/absolute_humidity/test.esp32-c3-ard.yaml delete mode 100644 tests/components/adc/test.esp32-ard.yaml delete mode 100644 tests/components/adc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/adc/test.esp32-s2-ard.yaml delete mode 100644 tests/components/adc/test.esp32-s3-ard.yaml delete mode 100644 tests/components/adc128s102/test.esp32-ard.yaml delete mode 100644 tests/components/adc128s102/test.esp32-c3-ard.yaml delete mode 100644 tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml delete mode 100644 tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml delete mode 100644 tests/components/addressable_light/fastled_clockless.esp32-ard.yaml delete mode 100644 tests/components/ade7880/test.esp32-ard.yaml delete mode 100644 tests/components/ade7880/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ade7953_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ade7953_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ade7953_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ade7953_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ads1115/test.esp32-ard.yaml delete mode 100644 tests/components/ads1115/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ags10/test.esp32-ard.yaml delete mode 100644 tests/components/ags10/test.esp32-c3-ard.yaml delete mode 100644 tests/components/aht10/test.esp32-ard.yaml delete mode 100644 tests/components/aht10/test.esp32-c3-ard.yaml delete mode 100644 tests/components/aic3204/test.esp32-ard.yaml delete mode 100644 tests/components/aic3204/test.esp32-c3-ard.yaml delete mode 100644 tests/components/airthings_wave_mini/test.esp32-ard.yaml delete mode 100644 tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml delete mode 100644 tests/components/airthings_wave_plus/test.esp32-ard.yaml delete mode 100644 tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/alarm_control_panel/test.esp32-ard.yaml delete mode 100644 tests/components/alarm_control_panel/test.esp32-c3-ard.yaml delete mode 100644 tests/components/alpha3/test.esp32-ard.yaml delete mode 100644 tests/components/alpha3/test.esp32-c3-ard.yaml delete mode 100644 tests/components/am2315c/test.esp32-ard.yaml delete mode 100644 tests/components/am2315c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/am2320/test.esp32-ard.yaml delete mode 100644 tests/components/am2320/test.esp32-c3-ard.yaml delete mode 100644 tests/components/am43/test.esp32-ard.yaml delete mode 100644 tests/components/am43/test.esp32-c3-ard.yaml delete mode 100644 tests/components/analog_threshold/test.esp32-ard.yaml delete mode 100644 tests/components/analog_threshold/test.esp32-c3-ard.yaml delete mode 100644 tests/components/animation/test.esp32-ard.yaml delete mode 100644 tests/components/animation/test.esp32-c3-ard.yaml delete mode 100644 tests/components/anova/test.esp32-ard.yaml delete mode 100644 tests/components/anova/test.esp32-c3-ard.yaml delete mode 100644 tests/components/apds9306/test.esp32-ard.yaml delete mode 100644 tests/components/apds9306/test.esp32-c3-ard.yaml delete mode 100644 tests/components/apds9960/test.esp32-ard.yaml delete mode 100644 tests/components/apds9960/test.esp32-c3-ard.yaml delete mode 100644 tests/components/api/test.esp32-ard.yaml delete mode 100644 tests/components/api/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as3935_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/as3935_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as3935_spi/test.esp32-ard.yaml delete mode 100644 tests/components/as3935_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as5600/test.esp32-ard.yaml delete mode 100644 tests/components/as5600/test.esp32-c3-ard.yaml delete mode 100644 tests/components/as7341/test.esp32-ard.yaml delete mode 100644 tests/components/as7341/test.esp32-c3-ard.yaml delete mode 100644 tests/components/at581x/test.esp32-ard.yaml delete mode 100644 tests/components/at581x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/atc_mithermometer/test.esp32-ard.yaml delete mode 100644 tests/components/atc_mithermometer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/atm90e26/test.esp32-ard.yaml delete mode 100644 tests/components/atm90e26/test.esp32-c3-ard.yaml delete mode 100644 tests/components/atm90e32/test.esp32-ard.yaml delete mode 100644 tests/components/atm90e32/test.esp32-c3-ard.yaml delete mode 100644 tests/components/axs15231/test.esp32-ard.yaml delete mode 100644 tests/components/axs15231/test.esp32-c3-ard.yaml delete mode 100644 tests/components/b_parasite/test.esp32-ard.yaml delete mode 100644 tests/components/b_parasite/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ballu/test.esp32-ard.yaml delete mode 100644 tests/components/bang_bang/test.esp32-ard.yaml delete mode 100644 tests/components/bang_bang/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bedjet/test.esp32-ard.yaml delete mode 100644 tests/components/bedjet/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bh1750/test.esp32-ard.yaml delete mode 100644 tests/components/bh1750/test.esp32-c3-ard.yaml delete mode 100644 tests/components/binary_sensor/test.esp32-ard.yaml delete mode 100644 tests/components/binary_sensor/test.esp32-c3-ard.yaml delete mode 100644 tests/components/binary_sensor_map/test.esp32-ard.yaml delete mode 100644 tests/components/binary_sensor_map/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0906/test.esp32-ard.yaml delete mode 100644 tests/components/bl0906/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0939/test.esp32-ard.yaml delete mode 100644 tests/components/bl0939/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0940/test.esp32-ard.yaml delete mode 100644 tests/components/bl0940/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bl0942/test.esp32-ard.yaml delete mode 100644 tests/components/bl0942/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_client/test.esp32-ard.yaml delete mode 100644 tests/components/ble_client/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_presence/test.esp32-ard.yaml delete mode 100644 tests/components/ble_presence/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_rssi/test.esp32-ard.yaml delete mode 100644 tests/components/ble_rssi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ble_scanner/test.esp32-ard.yaml delete mode 100644 tests/components/ble_scanner/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml delete mode 100644 tests/components/bme280_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bme280_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme280_spi/test.esp32-ard.yaml delete mode 100644 tests/components/bme280_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme680/test.esp32-ard.yaml delete mode 100644 tests/components/bme680/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml delete mode 100644 tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/bmi160/test.esp32-ard.yaml delete mode 100644 tests/components/bmi160/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp085/test.esp32-ard.yaml delete mode 100644 tests/components/bmp085/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp280_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bmp280_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp280_spi/test.esp32-ard.yaml delete mode 100644 tests/components/bmp280_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp3xx_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp3xx_spi/test.esp32-ard.yaml delete mode 100644 tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bmp581/test.esp32-ard.yaml delete mode 100644 tests/components/bmp581/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bp1658cj/test.esp32-ard.yaml delete mode 100644 tests/components/bp1658cj/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bp5758d/test.esp32-ard.yaml delete mode 100644 tests/components/bp5758d/test.esp32-c3-ard.yaml delete mode 100644 tests/components/button/test.esp32-ard.yaml delete mode 100644 tests/components/button/test.esp32-c3-ard.yaml delete mode 100644 tests/components/bytebuffer/test.esp32-ard.yaml delete mode 100644 tests/components/bytebuffer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/camera/test.esp32-ard.yaml delete mode 100644 tests/components/camera_encoder/test.esp32-ard.yaml delete mode 100644 tests/components/canbus/test.esp32-ard.yaml delete mode 100644 tests/components/canbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cap1188/test.esp32-ard.yaml delete mode 100644 tests/components/cap1188/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ccs811/test.esp32-ard.yaml delete mode 100644 tests/components/ccs811/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cd74hc4067/test.esp32-ard.yaml delete mode 100644 tests/components/cd74hc4067/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ch422g/test.esp32-ard.yaml delete mode 100644 tests/components/ch422g/test.esp32-c3-ard.yaml delete mode 100644 tests/components/chsc6x/test.esp32-ard.yaml delete mode 100644 tests/components/chsc6x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/climate_ir_lg/test.esp32-ard.yaml delete mode 100644 tests/components/climate_ir_lg/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cm1106/test.esp32-ard.yaml delete mode 100644 tests/components/cm1106/test.esp32-c3-ard.yaml delete mode 100644 tests/components/color/test.esp32-ard.yaml delete mode 100644 tests/components/color/test.esp32-c3-ard.yaml delete mode 100644 tests/components/color_temperature/test.esp32-ard.yaml delete mode 100644 tests/components/color_temperature/test.esp32-c3-ard.yaml delete mode 100644 tests/components/combination/test.esp32-ard.yaml delete mode 100644 tests/components/combination/test.esp32-c3-ard.yaml delete mode 100644 tests/components/coolix/test.esp32-ard.yaml delete mode 100644 tests/components/coolix/test.esp32-c3-ard.yaml delete mode 100644 tests/components/copy/test.esp32-ard.yaml delete mode 100644 tests/components/copy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cs5460a/test.esp32-ard.yaml delete mode 100644 tests/components/cs5460a/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cse7761/test.esp32-ard.yaml delete mode 100644 tests/components/cse7761/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cse7766/test.esp32-ard.yaml delete mode 100644 tests/components/cse7766/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cst226/test.esp32-ard.yaml delete mode 100644 tests/components/cst226/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cst816/test.esp32-ard.yaml delete mode 100644 tests/components/cst816/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ct_clamp/test.esp32-ard.yaml delete mode 100644 tests/components/ct_clamp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/current_based/test.esp32-ard.yaml delete mode 100644 tests/components/current_based/test.esp32-c3-ard.yaml delete mode 100644 tests/components/cwww/test.esp32-ard.yaml delete mode 100644 tests/components/cwww/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dac7678/test.esp32-ard.yaml delete mode 100644 tests/components/dac7678/test.esp32-c3-ard.yaml delete mode 100644 tests/components/daikin/test.esp32-ard.yaml delete mode 100644 tests/components/daikin_arc/test.esp32-ard.yaml delete mode 100644 tests/components/daikin_brc/test.esp32-ard.yaml delete mode 100644 tests/components/daikin_brc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dallas_temp/test.esp32-ard.yaml delete mode 100644 tests/components/dallas_temp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/daly_bms/test.esp32-ard.yaml delete mode 100644 tests/components/daly_bms/test.esp32-c3-ard.yaml delete mode 100644 tests/components/deep_sleep/test.esp32-ard.yaml delete mode 100644 tests/components/deep_sleep/test.esp32-c3-ard.yaml delete mode 100644 tests/components/delonghi/test.esp32-ard.yaml delete mode 100644 tests/components/delonghi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dfplayer/test.esp32-ard.yaml delete mode 100644 tests/components/dfplayer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dfrobot_sen0395/test.esp32-ard.yaml delete mode 100644 tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dht/test.esp32-ard.yaml delete mode 100644 tests/components/dht/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dht12/test.esp32-ard.yaml delete mode 100644 tests/components/dht12/test.esp32-c3-ard.yaml delete mode 100644 tests/components/display/test.esp32-ard.yaml delete mode 100644 tests/components/dps310/test.esp32-ard.yaml delete mode 100644 tests/components/dps310/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ds1307/test.esp32-ard.yaml delete mode 100644 tests/components/ds1307/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ds2484/test.esp32-ard.yaml delete mode 100644 tests/components/ds2484/test.esp32-c3-ard.yaml delete mode 100644 tests/components/duty_cycle/test.esp32-ard.yaml delete mode 100644 tests/components/duty_cycle/test.esp32-c3-ard.yaml delete mode 100644 tests/components/duty_time/test.esp32-ard.yaml delete mode 100644 tests/components/duty_time/test.esp32-c3-ard.yaml delete mode 100644 tests/components/e131/test.esp32-ard.yaml delete mode 100644 tests/components/e131/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ee895/test.esp32-ard.yaml delete mode 100644 tests/components/ee895/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ektf2232/test.esp32-ard.yaml delete mode 100644 tests/components/ektf2232/test.esp32-c3-ard.yaml delete mode 100644 tests/components/emc2101/test.esp32-ard.yaml delete mode 100644 tests/components/emc2101/test.esp32-c3-ard.yaml delete mode 100644 tests/components/emmeti/test.esp32-ard.yaml delete mode 100644 tests/components/endstop/test.esp32-ard.yaml delete mode 100644 tests/components/endstop/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ens160_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ens160_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ens160_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ens160_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ens210/test.esp32-ard.yaml delete mode 100644 tests/components/ens210/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es7210/test.esp32-ard.yaml delete mode 100644 tests/components/es7210/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es7243e/test.esp32-ard.yaml delete mode 100644 tests/components/es7243e/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es8156/test.esp32-ard.yaml delete mode 100644 tests/components/es8156/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es8311/test.esp32-ard.yaml delete mode 100644 tests/components/es8311/test.esp32-c3-ard.yaml delete mode 100644 tests/components/es8388/test.esp32-ard.yaml delete mode 100644 tests/components/es8388/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble_client/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_client/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble_server/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_server/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_camera/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_camera_web_server/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_can/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_can/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_dac/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_improv/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_improv/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_touch/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_touch/test.esp32-s2-ard.yaml delete mode 100644 tests/components/esp32_touch/test.esp32-s3-ard.yaml delete mode 100644 tests/components/esphome/test.esp32-ard.yaml delete mode 100644 tests/components/esphome/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ethernet_info/test.esp32-ard.yaml delete mode 100644 tests/components/event/test.esp32-ard.yaml delete mode 100644 tests/components/event/test.esp32-c3-ard.yaml delete mode 100644 tests/components/exposure_notifications/test.esp32-ard.yaml delete mode 100644 tests/components/exposure_notifications/test.esp32-c3-ard.yaml delete mode 100644 tests/components/external_components/test.esp32-ard.yaml delete mode 100644 tests/components/external_components/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ezo/test.esp32-ard.yaml delete mode 100644 tests/components/ezo/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ezo_pmp/test.esp32-ard.yaml delete mode 100644 tests/components/ezo_pmp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/factory_reset/test.esp32-ard.yaml delete mode 100644 tests/components/factory_reset/test.esp32-c3-ard.yaml delete mode 100644 tests/components/feedback/test.esp32-ard.yaml delete mode 100644 tests/components/feedback/test.esp32-c3-ard.yaml delete mode 100644 tests/components/fingerprint_grow/test.esp32-ard.yaml delete mode 100644 tests/components/fingerprint_grow/test.esp32-c3-ard.yaml delete mode 100644 tests/components/font/test.esp32-ard.yaml delete mode 100644 tests/components/font/test.esp32-c3-ard.yaml delete mode 100644 tests/components/fs3000/test.esp32-ard.yaml delete mode 100644 tests/components/fs3000/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ft5x06/test.esp32-ard.yaml delete mode 100644 tests/components/ft5x06/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ft63x6/test.esp32-ard.yaml delete mode 100644 tests/components/ft63x6/test.esp32-c3-ard.yaml delete mode 100644 tests/components/fujitsu_general/test.esp32-ard.yaml delete mode 100644 tests/components/fujitsu_general/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gcja5/test.esp32-ard.yaml delete mode 100644 tests/components/gcja5/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gdk101/test.esp32-ard.yaml delete mode 100644 tests/components/gl_r01_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/globals/test.esp32-ard.yaml delete mode 100644 tests/components/globals/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gp2y1010au0f/test.esp32-ard.yaml delete mode 100644 tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gp8403/test.esp32-ard.yaml delete mode 100644 tests/components/gp8403/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gpio/test.esp32-ard.yaml delete mode 100644 tests/components/gpio/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gps/test.esp32-ard.yaml delete mode 100644 tests/components/gps/test.esp32-c3-ard.yaml delete mode 100644 tests/components/graph/test.esp32-ard.yaml delete mode 100644 tests/components/graph/test.esp32-c3-ard.yaml delete mode 100644 tests/components/graphical_display_menu/test.esp32-ard.yaml delete mode 100644 tests/components/graphical_display_menu/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gree/test.esp32-ard.yaml delete mode 100644 tests/components/gree/test.esp32-c3-ard.yaml delete mode 100644 tests/components/grove_gas_mc_v2/test.esp32-ard.yaml delete mode 100644 tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/grove_tb6612fng/test.esp32-ard.yaml delete mode 100644 tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml delete mode 100644 tests/components/growatt_solar/test.esp32-ard.yaml delete mode 100644 tests/components/growatt_solar/test.esp32-c3-ard.yaml delete mode 100644 tests/components/gt911/test.esp32-ard.yaml delete mode 100644 tests/components/gt911/test.esp32-c3-ard.yaml delete mode 100644 tests/components/haier/test.esp32-ard.yaml delete mode 100644 tests/components/haier/test.esp32-c3-ard.yaml delete mode 100644 tests/components/havells_solar/test.esp32-ard.yaml delete mode 100644 tests/components/havells_solar/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hbridge/test.esp32-ard.yaml delete mode 100644 tests/components/hbridge/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hdc1080/test.esp32-ard.yaml delete mode 100644 tests/components/hdc1080/test.esp32-c3-ard.yaml delete mode 100644 tests/components/he60r/test.esp32-ard.yaml delete mode 100644 tests/components/he60r/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hitachi_ac344/test.esp32-ard.yaml delete mode 100644 tests/components/hitachi_ac344/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hitachi_ac424/test.esp32-ard.yaml delete mode 100644 tests/components/hitachi_ac424/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hlw8012/test.esp32-ard.yaml delete mode 100644 tests/components/hlw8012/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hm3301/test.esp32-ard.yaml delete mode 100644 tests/components/hm3301/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hmc5883l/test.esp32-ard.yaml delete mode 100644 tests/components/hmc5883l/test.esp32-c3-ard.yaml delete mode 100644 tests/components/homeassistant/test.esp32-ard.yaml delete mode 100644 tests/components/homeassistant/test.esp32-c3-ard.yaml delete mode 100644 tests/components/honeywell_hih_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/honeywellabp/test.esp32-ard.yaml delete mode 100644 tests/components/honeywellabp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/honeywellabp2_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml delete mode 100644 tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hte501/test.esp32-ard.yaml delete mode 100644 tests/components/hte501/test.esp32-c3-ard.yaml delete mode 100644 tests/components/htu21d/test.esp32-ard.yaml delete mode 100644 tests/components/htu21d/test.esp32-c3-ard.yaml delete mode 100644 tests/components/htu31d/test.esp32-ard.yaml delete mode 100644 tests/components/htu31d/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hx711/test.esp32-ard.yaml delete mode 100644 tests/components/hx711/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hydreon_rgxx/test.esp32-ard.yaml delete mode 100644 tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/hyt271/test.esp32-ard.yaml delete mode 100644 tests/components/hyt271/test.esp32-c3-ard.yaml delete mode 100644 tests/components/i2c_device/test.esp32-ard.yaml delete mode 100644 tests/components/i2c_device/test.esp32-c3-ard.yaml delete mode 100644 tests/components/i2s_audio/test.esp32-ard.yaml delete mode 100644 tests/components/i2s_audio/test.esp32-c3-ard.yaml delete mode 100644 tests/components/iaqcore/test.esp32-ard.yaml delete mode 100644 tests/components/iaqcore/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ili9xxx/test.esp32-ard.yaml delete mode 100644 tests/components/ili9xxx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina219/test.esp32-ard.yaml delete mode 100644 tests/components/ina219/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina226/test.esp32-ard.yaml delete mode 100644 tests/components/ina226/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina260/test.esp32-ard.yaml delete mode 100644 tests/components/ina260/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina2xx_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina2xx_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ina2xx_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ina3221/test.esp32-ard.yaml delete mode 100644 tests/components/ina3221/test.esp32-c3-ard.yaml delete mode 100644 tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml delete mode 100644 tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml delete mode 100644 tests/components/inkplate/test.esp32-ard.yaml delete mode 100644 tests/components/integration/test.esp32-ard.yaml delete mode 100644 tests/components/integration/test.esp32-c3-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-c3-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-s2-ard.yaml delete mode 100644 tests/components/internal_temperature/test.esp32-s3-ard.yaml delete mode 100644 tests/components/interval/test.esp32-ard.yaml delete mode 100644 tests/components/interval/test.esp32-c3-ard.yaml delete mode 100644 tests/components/jsn_sr04t/test.esp32-ard.yaml delete mode 100644 tests/components/jsn_sr04t/test.esp32-c3-ard.yaml delete mode 100644 tests/components/kamstrup_kmp/test.esp32-ard.yaml delete mode 100644 tests/components/key_collector/test.esp32-ard.yaml delete mode 100644 tests/components/key_collector/test.esp32-c3-ard.yaml delete mode 100644 tests/components/kmeteriso/test.esp32-ard.yaml delete mode 100644 tests/components/kmeteriso/test.esp32-c3-ard.yaml delete mode 100644 tests/components/kuntze/test.esp32-ard.yaml delete mode 100644 tests/components/kuntze/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lc709203f/test.esp32-ard.yaml delete mode 100644 tests/components/lc709203f/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lcd_gpio/test.esp32-ard.yaml delete mode 100644 tests/components/lcd_gpio/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lcd_menu/test.esp32-ard.yaml delete mode 100644 tests/components/lcd_menu/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lcd_pcf8574/test.esp32-ard.yaml delete mode 100644 tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2410/test.esp32-ard.yaml delete mode 100644 tests/components/ld2410/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2412/test.esp32-ard.yaml delete mode 100644 tests/components/ld2412/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2420/test.esp32-ard.yaml delete mode 100644 tests/components/ld2420/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ld2450/test.esp32-ard.yaml delete mode 100644 tests/components/ld2450/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ledc/test.esp32-ard.yaml delete mode 100644 tests/components/ledc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/light/test.esp32-ard.yaml delete mode 100644 tests/components/light/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lilygo_t5_47/test.esp32-ard.yaml delete mode 100644 tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lm75b/test.esp32-ard.yaml delete mode 100644 tests/components/lm75b/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lock/test.esp32-ard.yaml delete mode 100644 tests/components/lock/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lps22/test.esp32-ard.yaml delete mode 100644 tests/components/lps22/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ltr390/test.esp32-ard.yaml delete mode 100644 tests/components/ltr390/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ltr501/test.esp32-ard.yaml delete mode 100644 tests/components/ltr501/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ltr_als_ps/test.esp32-ard.yaml delete mode 100644 tests/components/ltr_als_ps/test.esp32-c3-ard.yaml delete mode 100644 tests/components/lvgl/test.esp32-ard.yaml delete mode 100644 tests/components/m5stack_8angle/test.esp32-ard.yaml delete mode 100644 tests/components/m5stack_8angle/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mapping/test.esp32-ard.yaml delete mode 100644 tests/components/mapping/test.esp32-c3-ard.yaml delete mode 100644 tests/components/matrix_keypad/test.esp32-ard.yaml delete mode 100644 tests/components/matrix_keypad/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max17043/test.esp32-ard.yaml delete mode 100644 tests/components/max17043/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max31855/test.esp32-ard.yaml delete mode 100644 tests/components/max31855/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max31856/test.esp32-ard.yaml delete mode 100644 tests/components/max31856/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max31865/test.esp32-ard.yaml delete mode 100644 tests/components/max31865/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max44009/test.esp32-ard.yaml delete mode 100644 tests/components/max44009/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max6675/test.esp32-ard.yaml delete mode 100644 tests/components/max6675/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max6956/test.esp32-ard.yaml delete mode 100644 tests/components/max6956/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max7219/test.esp32-ard.yaml delete mode 100644 tests/components/max7219/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max7219digit/test.esp32-ard.yaml delete mode 100644 tests/components/max7219digit/test.esp32-c3-ard.yaml delete mode 100644 tests/components/max9611/test.esp32-ard.yaml delete mode 100644 tests/components/max9611/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23008/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23008/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23016/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23016/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23017/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23017/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23s08/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23s08/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp23s17/test.esp32-ard.yaml delete mode 100644 tests/components/mcp23s17/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp2515/test.esp32-ard.yaml delete mode 100644 tests/components/mcp2515/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp3008/test.esp32-ard.yaml delete mode 100644 tests/components/mcp3008/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp3204/test.esp32-ard.yaml delete mode 100644 tests/components/mcp3204/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp4461/test.esp32-ard.yaml delete mode 100644 tests/components/mcp4461/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp4725/test.esp32-ard.yaml delete mode 100644 tests/components/mcp4725/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp4728/test.esp32-ard.yaml delete mode 100644 tests/components/mcp4728/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp47a1/test.esp32-ard.yaml delete mode 100644 tests/components/mcp47a1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp9600/test.esp32-ard.yaml delete mode 100644 tests/components/mcp9600/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mcp9808/test.esp32-ard.yaml delete mode 100644 tests/components/mcp9808/test.esp32-c3-ard.yaml delete mode 100644 tests/components/media_player/test.esp32-ard.yaml delete mode 100644 tests/components/mhz19/test.esp32-ard.yaml delete mode 100644 tests/components/mhz19/test.esp32-c3-ard.yaml delete mode 100644 tests/components/micronova/test.esp32-ard.yaml delete mode 100644 tests/components/micronova/test.esp32-c3-ard.yaml delete mode 100644 tests/components/microphone/test.esp32-ard.yaml delete mode 100644 tests/components/microphone/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mics_4514/test.esp32-ard.yaml delete mode 100644 tests/components/mics_4514/test.esp32-c3-ard.yaml delete mode 100644 tests/components/midea_ir/test.esp32-ard.yaml delete mode 100644 tests/components/midea_ir/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mipi_spi/test.esp32-ard.yaml delete mode 100644 tests/components/mipi_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mitsubishi/test.esp32-ard.yaml delete mode 100644 tests/components/mitsubishi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mixer/test.esp32-ard.yaml delete mode 100644 tests/components/mixer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mixer/test.esp32-s3-ard.yaml delete mode 100644 tests/components/mlx90393/test.esp32-ard.yaml delete mode 100644 tests/components/mlx90393/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mlx90393/test.esp32-s3-ard.yaml delete mode 100644 tests/components/mlx90614/test.esp32-ard.yaml delete mode 100644 tests/components/mlx90614/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mmc5603/test.esp32-ard.yaml delete mode 100644 tests/components/mmc5603/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mmc5983/test.esp32-ard.yaml delete mode 100644 tests/components/mmc5983/test.esp32-c3-ard.yaml delete mode 100644 tests/components/modbus/test.esp32-ard.yaml delete mode 100644 tests/components/modbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/modbus_controller/test.esp32-ard.yaml delete mode 100644 tests/components/modbus_controller/test.esp32-c3-ard.yaml delete mode 100644 tests/components/monochromatic/test.esp32-ard.yaml delete mode 100644 tests/components/monochromatic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mopeka_ble/test.esp32-ard.yaml delete mode 100644 tests/components/mopeka_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mopeka_pro_check/test.esp32-ard.yaml delete mode 100644 tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mopeka_std_check/test.esp32-ard.yaml delete mode 100644 tests/components/mopeka_std_check/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpl3115a2/test.esp32-ard.yaml delete mode 100644 tests/components/mpl3115a2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpr121/test.esp32-ard.yaml delete mode 100644 tests/components/mpr121/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpu6050/test.esp32-ard.yaml delete mode 100644 tests/components/mpu6050/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mpu6886/test.esp32-ard.yaml delete mode 100644 tests/components/mpu6886/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mqtt/test.esp32-ard.yaml delete mode 100644 tests/components/mqtt/test.esp32-c3-ard.yaml delete mode 100644 tests/components/mqtt_subscribe/test.esp32-ard.yaml delete mode 100644 tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ms5611/test.esp32-ard.yaml delete mode 100644 tests/components/ms5611/test.esp32-c3-ard.yaml delete mode 100644 tests/components/msa3xx/test.esp32-ard.yaml delete mode 100644 tests/components/msa3xx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/my9231/test.esp32-ard.yaml delete mode 100644 tests/components/my9231/test.esp32-c3-ard.yaml delete mode 100644 tests/components/nau7802/test.esp32-ard.yaml delete mode 100644 tests/components/nau7802/test.esp32-c3-ard.yaml delete mode 100644 tests/components/noblex/test.esp32-ard.yaml delete mode 100644 tests/components/noblex/test.esp32-c3-ard.yaml delete mode 100644 tests/components/npi19/test.esp32-ard.yaml delete mode 100644 tests/components/npi19/test.esp32-s3-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-s2-ard.yaml delete mode 100644 tests/components/ntc/test.esp32-s3-ard.yaml delete mode 100644 tests/components/online_image/test.esp32-ard.yaml delete mode 100644 tests/components/opt3001/test.esp32-ard.yaml delete mode 100644 tests/components/opt3001/test.esp32-c3-ard.yaml delete mode 100644 tests/components/output/test.esp32-ard.yaml delete mode 100644 tests/components/output/test.esp32-c3-ard.yaml delete mode 100644 tests/components/packages/test.esp32-ard.yaml delete mode 100644 tests/components/packet_transport/test.esp32-ard.yaml delete mode 100644 tests/components/packet_transport/test.esp32-c3-ard.yaml delete mode 100644 tests/components/partition/test.esp32-ard.yaml delete mode 100644 tests/components/partition/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pca6416a/test.esp32-ard.yaml delete mode 100644 tests/components/pca6416a/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pca9554/test.esp32-ard.yaml delete mode 100644 tests/components/pca9554/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pca9685/test.esp32-ard.yaml delete mode 100644 tests/components/pca9685/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcd8544/test.esp32-ard.yaml delete mode 100644 tests/components/pcd8544/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcf85063/test.esp32-ard.yaml delete mode 100644 tests/components/pcf85063/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcf8563/test.esp32-ard.yaml delete mode 100644 tests/components/pcf8563/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pcf8574/test.esp32-ard.yaml delete mode 100644 tests/components/pcf8574/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pi4ioe5v6408/test.esp32-ard.yaml delete mode 100644 tests/components/pid/test.esp32-ard.yaml delete mode 100644 tests/components/pid/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pipsolar/test.esp32-ard.yaml delete mode 100644 tests/components/pipsolar/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pm1006/test.esp32-ard.yaml delete mode 100644 tests/components/pm1006/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pm2005/test.esp32-ard.yaml delete mode 100644 tests/components/pm2005/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pmsa003i/test.esp32-ard.yaml delete mode 100644 tests/components/pmsa003i/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pmsx003/test.esp32-ard.yaml delete mode 100644 tests/components/pmsx003/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pmwcs3/test.esp32-ard.yaml delete mode 100644 tests/components/pmwcs3/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn532_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/pn532_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn532_spi/test.esp32-ard.yaml delete mode 100644 tests/components/pn532_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn7150_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/pn7150_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn7160_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/pn7160_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pn7160_spi/test.esp32-ard.yaml delete mode 100644 tests/components/pn7160_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/power_supply/test.esp32-ard.yaml delete mode 100644 tests/components/power_supply/test.esp32-c3-ard.yaml delete mode 100644 tests/components/prometheus/test.esp32-ard.yaml delete mode 100644 tests/components/prometheus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/psram/test.esp32-ard.yaml delete mode 100644 tests/components/psram/test.esp32-s2-ard.yaml delete mode 100644 tests/components/psram/test.esp32-s3-ard.yaml delete mode 100644 tests/components/pulse_counter/test.esp32-ard.yaml delete mode 100644 tests/components/pulse_counter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pulse_meter/test.esp32-ard.yaml delete mode 100644 tests/components/pulse_meter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pulse_width/test.esp32-ard.yaml delete mode 100644 tests/components/pulse_width/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pvvx_mithermometer/test.esp32-ard.yaml delete mode 100644 tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pylontech/test.esp32-ard.yaml delete mode 100644 tests/components/pylontech/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pzem004t/test.esp32-ard.yaml delete mode 100644 tests/components/pzem004t/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pzemac/test.esp32-ard.yaml delete mode 100644 tests/components/pzemac/test.esp32-c3-ard.yaml delete mode 100644 tests/components/pzemdc/test.esp32-ard.yaml delete mode 100644 tests/components/pzemdc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qmc5883l/test.esp32-ard.yaml delete mode 100644 tests/components/qmc5883l/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qmp6988/test.esp32-ard.yaml delete mode 100644 tests/components/qmp6988/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qr_code/test.esp32-ard.yaml delete mode 100644 tests/components/qr_code/test.esp32-c3-ard.yaml delete mode 100644 tests/components/qwiic_pir/test.esp32-ard.yaml delete mode 100644 tests/components/qwiic_pir/test.esp32-c3-ard.yaml delete mode 100644 tests/components/radon_eye_ble/test.esp32-ard.yaml delete mode 100644 tests/components/radon_eye_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/radon_eye_rd200/test.esp32-ard.yaml delete mode 100644 tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rc522_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/rc522_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rc522_spi/test.esp32-ard.yaml delete mode 100644 tests/components/rc522_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rdm6300/test.esp32-ard.yaml delete mode 100644 tests/components/rdm6300/test.esp32-c3-ard.yaml delete mode 100644 tests/components/remote_receiver/test.esp32-ard.yaml delete mode 100644 tests/components/remote_receiver/test.esp32-c3-ard.yaml delete mode 100644 tests/components/remote_transmitter/test.esp32-ard.yaml delete mode 100644 tests/components/remote_transmitter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/resampler/test.esp32-ard.yaml delete mode 100644 tests/components/resampler/test.esp32-c3-ard.yaml delete mode 100644 tests/components/resampler/test.esp32-s3-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-c3-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-s2-ard.yaml delete mode 100644 tests/components/resistance/test.esp32-s3-ard.yaml delete mode 100644 tests/components/restart/test.esp32-ard.yaml delete mode 100644 tests/components/restart/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rf_bridge/test.esp32-ard.yaml delete mode 100644 tests/components/rf_bridge/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgb/test.esp32-ard.yaml delete mode 100644 tests/components/rgb/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgbct/test.esp32-ard.yaml delete mode 100644 tests/components/rgbct/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgbw/test.esp32-ard.yaml delete mode 100644 tests/components/rgbw/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rgbww/test.esp32-ard.yaml delete mode 100644 tests/components/rgbww/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rotary_encoder/test.esp32-ard.yaml delete mode 100644 tests/components/rotary_encoder/test.esp32-c3-ard.yaml delete mode 100644 tests/components/rtttl/test.esp32-ard.yaml delete mode 100644 tests/components/rtttl/test.esp32-c3-ard.yaml delete mode 100644 tests/components/runtime_stats/test.esp32-ard.yaml delete mode 100644 tests/components/ruuvi_ble/test.esp32-ard.yaml delete mode 100644 tests/components/ruuvi_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ruuvitag/test.esp32-ard.yaml delete mode 100644 tests/components/ruuvitag/test.esp32-c3-ard.yaml delete mode 100644 tests/components/safe_mode/test-enabled.esp32-ard.yaml delete mode 100644 tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml delete mode 100644 tests/components/scd30/test.esp32-ard.yaml delete mode 100644 tests/components/scd30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/scd4x/test.esp32-ard.yaml delete mode 100644 tests/components/scd4x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/script/test.esp32-ard.yaml delete mode 100644 tests/components/script/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sdm_meter/test.esp32-ard.yaml delete mode 100644 tests/components/sdm_meter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sdp3x/test.esp32-ard.yaml delete mode 100644 tests/components/sdp3x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sds011/test.esp32-ard.yaml delete mode 100644 tests/components/sds011/test.esp32-c3-ard.yaml delete mode 100644 tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/selec_meter/test.esp32-ard.yaml delete mode 100644 tests/components/selec_meter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sen0321/test.esp32-ard.yaml delete mode 100644 tests/components/sen0321/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sen21231/test.esp32-ard.yaml delete mode 100644 tests/components/sen21231/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sen5x/test.esp32-ard.yaml delete mode 100644 tests/components/sen5x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/senseair/test.esp32-ard.yaml delete mode 100644 tests/components/senseair/test.esp32-c3-ard.yaml delete mode 100644 tests/components/servo/test.esp32-ard.yaml delete mode 100644 tests/components/servo/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sfa30/test.esp32-ard.yaml delete mode 100644 tests/components/sfa30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sgp30/test.esp32-ard.yaml delete mode 100644 tests/components/sgp30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sgp4x/test.esp32-ard.yaml delete mode 100644 tests/components/sgp4x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sht3xd/test.esp32-ard.yaml delete mode 100644 tests/components/sht3xd/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sht4x/test.esp32-ard.yaml delete mode 100644 tests/components/sht4x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/shtcx/test.esp32-ard.yaml delete mode 100644 tests/components/shtcx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/shutdown/test.esp32-ard.yaml delete mode 100644 tests/components/shutdown/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sigma_delta_output/test.esp32-ard.yaml delete mode 100644 tests/components/sigma_delta_output/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sim800l/test.esp32-ard.yaml delete mode 100644 tests/components/sim800l/test.esp32-c3-ard.yaml delete mode 100644 tests/components/slow_pwm/test.esp32-ard.yaml delete mode 100644 tests/components/slow_pwm/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm16716/test.esp32-ard.yaml delete mode 100644 tests/components/sm16716/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm2135/test.esp32-ard.yaml delete mode 100644 tests/components/sm2135/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm2235/test.esp32-ard.yaml delete mode 100644 tests/components/sm2235/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm2335/test.esp32-ard.yaml delete mode 100644 tests/components/sm2335/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sm300d2/test.esp32-ard.yaml delete mode 100644 tests/components/sm300d2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sml/test.esp32-ard.yaml delete mode 100644 tests/components/sml/test.esp32-c3-ard.yaml delete mode 100644 tests/components/smt100/test.esp32-ard.yaml delete mode 100644 tests/components/smt100/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sn74hc165/test.esp32-ard.yaml delete mode 100644 tests/components/sn74hc165/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sn74hc595/test.esp32-ard.yaml delete mode 100644 tests/components/sn74hc595/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sntp/test.esp32-ard.yaml delete mode 100644 tests/components/sntp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sonoff_d1/test.esp32-ard.yaml delete mode 100644 tests/components/sonoff_d1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sound_level/test.esp32-ard.yaml delete mode 100644 tests/components/sound_level/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sound_level/test.esp32-s3-ard.yaml delete mode 100644 tests/components/speed/test.esp32-ard.yaml delete mode 100644 tests/components/speed/test.esp32-c3-ard.yaml delete mode 100644 tests/components/spi_device/test.esp32-ard.yaml delete mode 100644 tests/components/spi_device/test.esp32-c3-ard.yaml delete mode 100644 tests/components/spi_led_strip/test.esp32-ard.yaml delete mode 100644 tests/components/spi_led_strip/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sprinkler/test.esp32-ard.yaml delete mode 100644 tests/components/sprinkler/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sps30/test.esp32-ard.yaml delete mode 100644 tests/components/sps30/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1306_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1306_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1306_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1322_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1322_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1325_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1325_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1327_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1327_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1327_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1331_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1331_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ssd1351_spi/test.esp32-ard.yaml delete mode 100644 tests/components/ssd1351_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7567_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/st7567_i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7567_spi/test.esp32-ard.yaml delete mode 100644 tests/components/st7567_spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7735/test.esp32-ard.yaml delete mode 100644 tests/components/st7735/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7789v/test.esp32-ard.yaml delete mode 100644 tests/components/st7789v/test.esp32-c3-ard.yaml delete mode 100644 tests/components/st7920/test.esp32-ard.yaml delete mode 100644 tests/components/st7920/test.esp32-c3-ard.yaml delete mode 100644 tests/components/statsD/test.esp32-ard.yaml delete mode 100644 tests/components/statsD/test.esp32-c3-ard.yaml delete mode 100644 tests/components/status/test.esp32-ard.yaml delete mode 100644 tests/components/status/test.esp32-c3-ard.yaml delete mode 100644 tests/components/status_led/test.esp32-ard.yaml delete mode 100644 tests/components/status_led/test.esp32-c3-ard.yaml delete mode 100644 tests/components/stepper/test.esp32-ard.yaml delete mode 100644 tests/components/stepper/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sts3x/test.esp32-ard.yaml delete mode 100644 tests/components/sts3x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sun/test.esp32-ard.yaml delete mode 100644 tests/components/sun/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sun_gtil2/test.esp32-ard.yaml delete mode 100644 tests/components/sun_gtil2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/switch/test.esp32-ard.yaml delete mode 100644 tests/components/switch/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sx126x/test.esp32-ard.yaml delete mode 100644 tests/components/sx126x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sx127x/test.esp32-ard.yaml delete mode 100644 tests/components/sx127x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/sx1509/test.esp32-ard.yaml delete mode 100644 tests/components/sx1509/test.esp32-c3-ard.yaml delete mode 100644 tests/components/syslog/test.esp32-ard.yaml delete mode 100644 tests/components/syslog/test.esp32-c3-ard.yaml delete mode 100644 tests/components/t6615/test.esp32-ard.yaml delete mode 100644 tests/components/t6615/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tc74/test.esp32-ard.yaml delete mode 100644 tests/components/tc74/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tca9548a/test.esp32-ard.yaml delete mode 100644 tests/components/tca9548a/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tca9555/test.esp32-ard.yaml delete mode 100644 tests/components/tca9555/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tcl112/test.esp32-ard.yaml delete mode 100644 tests/components/tcl112/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tcs34725/test.esp32-ard.yaml delete mode 100644 tests/components/tcs34725/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tee501/test.esp32-ard.yaml delete mode 100644 tests/components/tee501/test.esp32-c3-ard.yaml delete mode 100644 tests/components/teleinfo/test.esp32-ard.yaml delete mode 100644 tests/components/teleinfo/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tem3200/test.esp32-ard.yaml delete mode 100644 tests/components/tem3200/test.esp32-s3-ard.yaml delete mode 100644 tests/components/template/test.esp32-ard.yaml delete mode 100644 tests/components/template/test.esp32-c3-ard.yaml delete mode 100644 tests/components/thermostat/test.esp32-ard.yaml delete mode 100644 tests/components/thermostat/test.esp32-c3-ard.yaml delete mode 100644 tests/components/time_based/test.esp32-ard.yaml delete mode 100644 tests/components/time_based/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc59208f/test.esp32-ard.yaml delete mode 100644 tests/components/tlc59208f/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc5947/test.esp32-ard.yaml delete mode 100644 tests/components/tlc5947/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc5971/test.esp32-ard.yaml delete mode 100644 tests/components/tlc5971/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tlc5971/test.esp32-s2-ard.yaml delete mode 100644 tests/components/tm1621/test.esp32-ard.yaml delete mode 100644 tests/components/tm1621/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tm1637/test.esp32-ard.yaml delete mode 100644 tests/components/tm1637/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tm1638/test.esp32-ard.yaml delete mode 100644 tests/components/tm1638/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tm1651/test.esp32-ard.yaml delete mode 100644 tests/components/tm1651/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tmp102/test.esp32-ard.yaml delete mode 100644 tests/components/tmp102/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tmp1075/test.esp32-ard.yaml delete mode 100644 tests/components/tmp1075/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tmp117/test.esp32-ard.yaml delete mode 100644 tests/components/tmp117/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tof10120/test.esp32-ard.yaml delete mode 100644 tests/components/tof10120/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tormatic/test.esp32-ard.yaml delete mode 100644 tests/components/tormatic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/toshiba/test.esp32-ard.yaml delete mode 100644 tests/components/toshiba/test.esp32-c3-ard.yaml delete mode 100644 tests/components/total_daily_energy/test.esp32-ard.yaml delete mode 100644 tests/components/total_daily_energy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tsl2561/test.esp32-ard.yaml delete mode 100644 tests/components/tsl2561/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tsl2591/test.esp32-ard.yaml delete mode 100644 tests/components/tsl2591/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tt21100/test.esp32-ard.yaml delete mode 100644 tests/components/tt21100/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ttp229_bsf/test.esp32-ard.yaml delete mode 100644 tests/components/ttp229_bsf/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ttp229_lsf/test.esp32-ard.yaml delete mode 100644 tests/components/ttp229_lsf/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tuya/test.esp32-ard.yaml delete mode 100644 tests/components/tuya/test.esp32-c3-ard.yaml delete mode 100644 tests/components/tx20/test.esp32-ard.yaml delete mode 100644 tests/components/tx20/test.esp32-c3-ard.yaml delete mode 100644 tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml delete mode 100644 tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml delete mode 100644 tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml delete mode 100644 tests/components/uart/test.esp32-ard.yaml delete mode 100644 tests/components/uart/test.esp32-c3-ard.yaml delete mode 100644 tests/components/udp/test.esp32-ard.yaml delete mode 100644 tests/components/udp/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ufire_ec/test.esp32-ard.yaml delete mode 100644 tests/components/ufire_ec/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ufire_ise/test.esp32-ard.yaml delete mode 100644 tests/components/ufire_ise/test.esp32-c3-ard.yaml delete mode 100644 tests/components/uln2003/test.esp32-ard.yaml delete mode 100644 tests/components/uln2003/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ultrasonic/test.esp32-ard.yaml delete mode 100644 tests/components/ultrasonic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/update/test.esp32-ard.yaml delete mode 100644 tests/components/uponor_smatrix/test.esp32-ard.yaml delete mode 100644 tests/components/uponor_smatrix/test.esp32-c3-ard.yaml delete mode 100644 tests/components/uptime/test.esp32-ard.yaml delete mode 100644 tests/components/uptime/test.esp32-c3-ard.yaml delete mode 100644 tests/components/vbus/test.esp32-ard.yaml delete mode 100644 tests/components/vbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/veml3235/test.esp32-ard.yaml delete mode 100644 tests/components/veml3235/test.esp32-c3-ard.yaml delete mode 100644 tests/components/veml7700/test.esp32-ard.yaml delete mode 100644 tests/components/veml7700/test.esp32-c3-ard.yaml delete mode 100644 tests/components/version/test.esp32-ard.yaml delete mode 100644 tests/components/version/test.esp32-c3-ard.yaml delete mode 100644 tests/components/vl53l0x/test.esp32-ard.yaml delete mode 100644 tests/components/vl53l0x/test.esp32-c3-ard.yaml delete mode 100644 tests/components/voice_assistant/test.esp32-ard.yaml delete mode 100644 tests/components/voice_assistant/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wake_on_lan/test.esp32-ard.yaml delete mode 100644 tests/components/wake_on_lan/test.esp32-c3-ard.yaml delete mode 100644 tests/components/waveshare_epaper/test.esp32-ard.yaml delete mode 100644 tests/components/waveshare_epaper/test.esp32-c3-ard.yaml delete mode 100644 tests/components/whirlpool/test.esp32-ard.yaml delete mode 100644 tests/components/whirlpool/test.esp32-c3-ard.yaml delete mode 100644 tests/components/whynter/test.esp32-ard.yaml delete mode 100644 tests/components/whynter/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wiegand/test.esp32-ard.yaml delete mode 100644 tests/components/wiegand/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wifi/test-eap.esp32-ard.yaml delete mode 100644 tests/components/wifi/test.esp32-ard.yaml delete mode 100644 tests/components/wifi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wifi_info/test.esp32-ard.yaml delete mode 100644 tests/components/wifi_info/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wifi_signal/test.esp32-ard.yaml delete mode 100644 tests/components/wifi_signal/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wireguard/test.esp32-ard.yaml delete mode 100644 tests/components/wireguard/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wk2132_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2132_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2132_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2132_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2168_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2168_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2168_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2168_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2204_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2204_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2204_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2204_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2212_i2c/test.esp32-ard.yaml delete mode 100644 tests/components/wk2212_i2c/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wk2212_spi/test.esp32-ard.yaml delete mode 100644 tests/components/wk2212_spi/test.esp32-s3-ard.yaml delete mode 100644 tests/components/wl_134/test.esp32-ard.yaml delete mode 100644 tests/components/wl_134/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wts01/test.esp32-ard.yaml delete mode 100644 tests/components/wts01/test.esp32-c3-ard.yaml delete mode 100644 tests/components/x9c/test.esp32-ard.yaml delete mode 100644 tests/components/x9c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xgzp68xx/test.esp32-ard.yaml delete mode 100644 tests/components/xgzp68xx/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_ble/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgd1/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgdk2/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgg1/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_cgpr1/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_gcls002/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc303/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc401/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_miscale/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_wx08zm/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xl9535/test.esp32-ard.yaml delete mode 100644 tests/components/xl9535/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xpt2046/test.esp32-ard.yaml delete mode 100644 tests/components/xpt2046/test.esp32-c3-ard.yaml delete mode 100644 tests/components/yashima/test.esp32-ard.yaml delete mode 100644 tests/components/yashima/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zhlt01/test.esp32-ard.yaml delete mode 100644 tests/components/zhlt01/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zio_ultrasonic/test.esp32-ard.yaml delete mode 100644 tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zwave_proxy/test.esp32-ard.yaml delete mode 100644 tests/components/zwave_proxy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/zyaura/test.esp32-ard.yaml delete mode 100644 tests/components/zyaura/test.esp32-c3-ard.yaml diff --git a/tests/components/a01nyub/test.esp32-ard.yaml b/tests/components/a01nyub/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/a01nyub/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/a01nyub/test.esp32-c3-ard.yaml b/tests/components/a01nyub/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/a01nyub/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/a02yyuw/test.esp32-ard.yaml b/tests/components/a02yyuw/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/a02yyuw/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/a02yyuw/test.esp32-c3-ard.yaml b/tests/components/a02yyuw/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/a02yyuw/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/a4988/test.esp32-ard.yaml b/tests/components/a4988/test.esp32-ard.yaml deleted file mode 100644 index 1ca8c0c084..0000000000 --- a/tests/components/a4988/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - step_pin: GPIO22 - dir_pin: GPIO23 - sleep_pin: GPIO25 - -<<: !include common.yaml diff --git a/tests/components/a4988/test.esp32-c3-ard.yaml b/tests/components/a4988/test.esp32-c3-ard.yaml deleted file mode 100644 index 25caba75b5..0000000000 --- a/tests/components/a4988/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - step_pin: GPIO2 - dir_pin: GPIO3 - sleep_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/absolute_humidity/test.esp32-ard.yaml b/tests/components/absolute_humidity/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/absolute_humidity/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/absolute_humidity/test.esp32-c3-ard.yaml b/tests/components/absolute_humidity/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/absolute_humidity/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/adc/test.esp32-ard.yaml b/tests/components/adc/test.esp32-ard.yaml deleted file mode 100644 index e6a1fd3bd9..0000000000 --- a/tests/components/adc/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: A0 diff --git a/tests/components/adc/test.esp32-c3-ard.yaml b/tests/components/adc/test.esp32-c3-ard.yaml deleted file mode 100644 index ea3b00a85f..0000000000 --- a/tests/components/adc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: 4 diff --git a/tests/components/adc/test.esp32-s2-ard.yaml b/tests/components/adc/test.esp32-s2-ard.yaml deleted file mode 100644 index bbd91c5e5a..0000000000 --- a/tests/components/adc/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: 1 diff --git a/tests/components/adc/test.esp32-s3-ard.yaml b/tests/components/adc/test.esp32-s3-ard.yaml deleted file mode 100644 index bbd91c5e5a..0000000000 --- a/tests/components/adc/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -packages: - base: !include common.yaml - -sensor: - - id: !extend my_sensor - pin: 1 diff --git a/tests/components/adc128s102/test.esp32-ard.yaml b/tests/components/adc128s102/test.esp32-ard.yaml deleted file mode 100644 index aba72f0614..0000000000 --- a/tests/components/adc128s102/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/adc128s102/test.esp32-c3-ard.yaml b/tests/components/adc128s102/test.esp32-c3-ard.yaml deleted file mode 100644 index 24da4b5452..0000000000 --- a/tests/components/adc128s102/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml b/tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml deleted file mode 100644 index d93c554dae..0000000000 --- a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common-ard-esp32_rmt_led_strip.yaml diff --git a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml b/tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml deleted file mode 100644 index d93c554dae..0000000000 --- a/tests/components/addressable_light/esp32_rmt_led_strip.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common-ard-esp32_rmt_led_strip.yaml diff --git a/tests/components/addressable_light/fastled_clockless.esp32-ard.yaml b/tests/components/addressable_light/fastled_clockless.esp32-ard.yaml deleted file mode 100644 index 78eb5d7fdb..0000000000 --- a/tests/components/addressable_light/fastled_clockless.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common-ard-fastled.yaml diff --git a/tests/components/ade7880/test.esp32-ard.yaml b/tests/components/ade7880/test.esp32-ard.yaml deleted file mode 100644 index 685b49ff32..0000000000 --- a/tests/components/ade7880/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq0_pin: GPIO13 - irq1_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ade7880/test.esp32-c3-ard.yaml b/tests/components/ade7880/test.esp32-c3-ard.yaml deleted file mode 100644 index 87db3e9427..0000000000 --- a/tests/components/ade7880/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq0_pin: GPIO6 - irq1_pin: GPIO7 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp32-ard.yaml b/tests/components/ade7953_i2c/test.esp32-ard.yaml deleted file mode 100644 index 2c57d412f6..0000000000 --- a/tests/components/ade7953_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp32-c3-ard.yaml b/tests/components/ade7953_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 799acabd5a..0000000000 --- a/tests/components/ade7953_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp32-ard.yaml b/tests/components/ade7953_spi/test.esp32-ard.yaml deleted file mode 100644 index e00f522dd4..0000000000 --- a/tests/components/ade7953_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - irq_pin: GPIO13 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp32-c3-ard.yaml b/tests/components/ade7953_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index fcf35f528e..0000000000 --- a/tests/components/ade7953_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - irq_pin: GPIO9 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ads1115/test.esp32-ard.yaml b/tests/components/ads1115/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ads1115/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ads1115/test.esp32-c3-ard.yaml b/tests/components/ads1115/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ads1115/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ags10/test.esp32-ard.yaml b/tests/components/ags10/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ags10/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ags10/test.esp32-c3-ard.yaml b/tests/components/ags10/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ags10/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/aht10/test.esp32-ard.yaml b/tests/components/aht10/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/aht10/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/aht10/test.esp32-c3-ard.yaml b/tests/components/aht10/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/aht10/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/aic3204/test.esp32-ard.yaml b/tests/components/aic3204/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/aic3204/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/aic3204/test.esp32-c3-ard.yaml b/tests/components/aic3204/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/aic3204/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-ard.yaml b/tests/components/airthings_wave_mini/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_mini/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml b/tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_mini/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-ard.yaml b/tests/components/airthings_wave_plus/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_plus/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml b/tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/airthings_wave_plus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alarm_control_panel/test.esp32-ard.yaml b/tests/components/alarm_control_panel/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alarm_control_panel/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alarm_control_panel/test.esp32-c3-ard.yaml b/tests/components/alarm_control_panel/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alarm_control_panel/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-ard.yaml b/tests/components/alpha3/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alpha3/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-c3-ard.yaml b/tests/components/alpha3/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/alpha3/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/am2315c/test.esp32-ard.yaml b/tests/components/am2315c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/am2315c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/am2315c/test.esp32-c3-ard.yaml b/tests/components/am2315c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/am2315c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/am2320/test.esp32-ard.yaml b/tests/components/am2320/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/am2320/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/am2320/test.esp32-c3-ard.yaml b/tests/components/am2320/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/am2320/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/am43/test.esp32-ard.yaml b/tests/components/am43/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/am43/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/am43/test.esp32-c3-ard.yaml b/tests/components/am43/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/am43/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/analog_threshold/test.esp32-ard.yaml b/tests/components/analog_threshold/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/analog_threshold/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/analog_threshold/test.esp32-c3-ard.yaml b/tests/components/analog_threshold/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/analog_threshold/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/animation/test.esp32-ard.yaml b/tests/components/animation/test.esp32-ard.yaml deleted file mode 100644 index 7d9fe45bff..0000000000 --- a/tests/components/animation/test.esp32-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 - -display: - - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 12 - dc_pin: 13 - reset_pin: 21 - invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.esp32-c3-ard.yaml b/tests/components/animation/test.esp32-c3-ard.yaml deleted file mode 100644 index 18aa2a5b06..0000000000 --- a/tests/components/animation/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 - -display: - - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 8 - dc_pin: 9 - reset_pin: 10 - invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/anova/test.esp32-ard.yaml b/tests/components/anova/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/anova/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/anova/test.esp32-c3-ard.yaml b/tests/components/anova/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/anova/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/apds9306/test.esp32-ard.yaml b/tests/components/apds9306/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/apds9306/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/apds9306/test.esp32-c3-ard.yaml b/tests/components/apds9306/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/apds9306/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/apds9960/test.esp32-ard.yaml b/tests/components/apds9960/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/apds9960/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/apds9960/test.esp32-c3-ard.yaml b/tests/components/apds9960/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/apds9960/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/api/test.esp32-ard.yaml b/tests/components/api/test.esp32-ard.yaml deleted file mode 100644 index 46c01d926f..0000000000 --- a/tests/components/api/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -wifi: - ssid: MySSID - password: password1 diff --git a/tests/components/api/test.esp32-c3-ard.yaml b/tests/components/api/test.esp32-c3-ard.yaml deleted file mode 100644 index 46c01d926f..0000000000 --- a/tests/components/api/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -wifi: - ssid: MySSID - password: password1 diff --git a/tests/components/as3935_i2c/test.esp32-ard.yaml b/tests/components/as3935_i2c/test.esp32-ard.yaml deleted file mode 100644 index 52d5a045cb..0000000000 --- a/tests/components/as3935_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO15 - -packages: - as3935: !include common.yaml - -# Trigger issue: https://github.com/esphome/issues/issues/6990 -# Compile with no binary sensor results in error -binary_sensor: !remove diff --git a/tests/components/as3935_i2c/test.esp32-c3-ard.yaml b/tests/components/as3935_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 799acabd5a..0000000000 --- a/tests/components/as3935_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp32-ard.yaml b/tests/components/as3935_spi/test.esp32-ard.yaml deleted file mode 100644 index e00f522dd4..0000000000 --- a/tests/components/as3935_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - irq_pin: GPIO13 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp32-c3-ard.yaml b/tests/components/as3935_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index fcf35f528e..0000000000 --- a/tests/components/as3935_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - irq_pin: GPIO9 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/as5600/test.esp32-ard.yaml b/tests/components/as5600/test.esp32-ard.yaml deleted file mode 100644 index fa08763501..0000000000 --- a/tests/components/as5600/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - dir_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/as5600/test.esp32-c3-ard.yaml b/tests/components/as5600/test.esp32-c3-ard.yaml deleted file mode 100644 index a0623c91e5..0000000000 --- a/tests/components/as5600/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - dir_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/as7341/test.esp32-ard.yaml b/tests/components/as7341/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/as7341/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/as7341/test.esp32-c3-ard.yaml b/tests/components/as7341/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/as7341/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/at581x/test.esp32-ard.yaml b/tests/components/at581x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/at581x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/at581x/test.esp32-c3-ard.yaml b/tests/components/at581x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/at581x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-ard.yaml b/tests/components/atc_mithermometer/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/atc_mithermometer/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-c3-ard.yaml b/tests/components/atc_mithermometer/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/atc_mithermometer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp32-ard.yaml b/tests/components/atm90e26/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/atm90e26/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp32-c3-ard.yaml b/tests/components/atm90e26/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/atm90e26/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp32-ard.yaml b/tests/components/atm90e32/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/atm90e32/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp32-c3-ard.yaml b/tests/components/atm90e32/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/atm90e32/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/axs15231/test.esp32-ard.yaml b/tests/components/axs15231/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/axs15231/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/axs15231/test.esp32-c3-ard.yaml b/tests/components/axs15231/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/axs15231/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-ard.yaml b/tests/components/b_parasite/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/b_parasite/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-c3-ard.yaml b/tests/components/b_parasite/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/b_parasite/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ballu/test.esp32-ard.yaml b/tests/components/ballu/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/ballu/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/bang_bang/test.esp32-ard.yaml b/tests/components/bang_bang/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bang_bang/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bang_bang/test.esp32-c3-ard.yaml b/tests/components/bang_bang/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bang_bang/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-ard.yaml b/tests/components/bedjet/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bedjet/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-c3-ard.yaml b/tests/components/bedjet/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/bedjet/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bh1750/test.esp32-ard.yaml b/tests/components/bh1750/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bh1750/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bh1750/test.esp32-c3-ard.yaml b/tests/components/bh1750/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bh1750/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/binary_sensor/test.esp32-ard.yaml b/tests/components/binary_sensor/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/binary_sensor/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/binary_sensor/test.esp32-c3-ard.yaml b/tests/components/binary_sensor/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/binary_sensor/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/binary_sensor_map/test.esp32-ard.yaml b/tests/components/binary_sensor_map/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/binary_sensor_map/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/binary_sensor_map/test.esp32-c3-ard.yaml b/tests/components/binary_sensor_map/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/binary_sensor_map/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bl0906/test.esp32-ard.yaml b/tests/components/bl0906/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0906/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0906/test.esp32-c3-ard.yaml b/tests/components/bl0906/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0906/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bl0939/test.esp32-ard.yaml b/tests/components/bl0939/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0939/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0939/test.esp32-c3-ard.yaml b/tests/components/bl0939/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0939/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bl0940/test.esp32-ard.yaml b/tests/components/bl0940/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0940/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0940/test.esp32-c3-ard.yaml b/tests/components/bl0940/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0940/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-ard.yaml b/tests/components/bl0942/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/bl0942/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-c3-ard.yaml b/tests/components/bl0942/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/bl0942/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-ard.yaml b/tests/components/ble_client/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_client/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-c3-ard.yaml b/tests/components/ble_client/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_client/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-ard.yaml b/tests/components/ble_presence/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_presence/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-c3-ard.yaml b/tests/components/ble_presence/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_presence/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-ard.yaml b/tests/components/ble_rssi/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_rssi/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-c3-ard.yaml b/tests/components/ble_rssi/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_rssi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-ard.yaml b/tests/components/ble_scanner/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_scanner/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-c3-ard.yaml b/tests/components/ble_scanner/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ble_scanner/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml b/tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml deleted file mode 100644 index bf01b65b6f..0000000000 --- a/tests/components/bluetooth_proxy/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -<<: !include common.yaml - -esp32_ble_tracker: - max_connections: 3 - -bluetooth_proxy: - active: true - connection_slots: 2 diff --git a/tests/components/bme280_i2c/test.esp32-ard.yaml b/tests/components/bme280_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme280_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.esp32-c3-ard.yaml b/tests/components/bme280_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bme280_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp32-ard.yaml b/tests/components/bme280_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/bme280_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp32-c3-ard.yaml b/tests/components/bme280_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/bme280_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bme680/test.esp32-ard.yaml b/tests/components/bme680/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bme680/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bme680/test.esp32-c3-ard.yaml b/tests/components/bme680/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bme680/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 84a9dd4bb4..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO6 - sda_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bmi160/test.esp32-ard.yaml b/tests/components/bmi160/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bmi160/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bmi160/test.esp32-c3-ard.yaml b/tests/components/bmi160/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmi160/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp085/test.esp32-ard.yaml b/tests/components/bmp085/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bmp085/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bmp085/test.esp32-c3-ard.yaml b/tests/components/bmp085/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp085/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp32-ard.yaml b/tests/components/bmp280_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bmp280_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp32-c3-ard.yaml b/tests/components/bmp280_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp280_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp32-ard.yaml b/tests/components/bmp280_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/bmp280_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp32-c3-ard.yaml b/tests/components/bmp280_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/bmp280_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp32-ard.yaml b/tests/components/bmp3xx_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/bmp3xx_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml b/tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp3xx_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp32-ard.yaml b/tests/components/bmp3xx_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/bmp3xx_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml b/tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/bmp3xx_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/bmp581/test.esp32-ard.yaml b/tests/components/bmp581/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/bmp581/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/bmp581/test.esp32-c3-ard.yaml b/tests/components/bmp581/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/bmp581/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp32-ard.yaml b/tests/components/bp1658cj/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/bp1658cj/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp32-c3-ard.yaml b/tests/components/bp1658cj/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/bp1658cj/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp32-ard.yaml b/tests/components/bp5758d/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/bp5758d/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp32-c3-ard.yaml b/tests/components/bp5758d/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/bp5758d/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/button/test.esp32-ard.yaml b/tests/components/button/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/button/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/button/test.esp32-c3-ard.yaml b/tests/components/button/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/button/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/bytebuffer/test.esp32-ard.yaml b/tests/components/bytebuffer/test.esp32-ard.yaml deleted file mode 100644 index 380ca87628..0000000000 --- a/tests/components/bytebuffer/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -!include common.yaml diff --git a/tests/components/bytebuffer/test.esp32-c3-ard.yaml b/tests/components/bytebuffer/test.esp32-c3-ard.yaml deleted file mode 100644 index 380ca87628..0000000000 --- a/tests/components/bytebuffer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -!include common.yaml diff --git a/tests/components/camera/test.esp32-ard.yaml b/tests/components/camera/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/camera/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/camera_encoder/test.esp32-ard.yaml b/tests/components/camera_encoder/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/camera_encoder/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/canbus/test.esp32-ard.yaml b/tests/components/canbus/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/canbus/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/canbus/test.esp32-c3-ard.yaml b/tests/components/canbus/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/canbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/cap1188/test.esp32-ard.yaml b/tests/components/cap1188/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/cap1188/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/cap1188/test.esp32-c3-ard.yaml b/tests/components/cap1188/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/cap1188/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/ccs811/test.esp32-ard.yaml b/tests/components/ccs811/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ccs811/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ccs811/test.esp32-c3-ard.yaml b/tests/components/ccs811/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ccs811/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/cd74hc4067/test.esp32-ard.yaml b/tests/components/cd74hc4067/test.esp32-ard.yaml deleted file mode 100644 index c4dd280943..0000000000 --- a/tests/components/cd74hc4067/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - pin_s0: GPIO12 - pin_s1: GPIO13 - pin_s2: GPIO14 - pin_s3: GPIO15 - pin: GPIO39 - -<<: !include common.yaml diff --git a/tests/components/cd74hc4067/test.esp32-c3-ard.yaml b/tests/components/cd74hc4067/test.esp32-c3-ard.yaml deleted file mode 100644 index 5e8784c1fc..0000000000 --- a/tests/components/cd74hc4067/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - pin_s0: GPIO2 - pin_s1: GPIO3 - pin_s2: GPIO4 - pin_s3: GPIO5 - pin: GPIO0 - -<<: !include common.yaml diff --git a/tests/components/ch422g/test.esp32-ard.yaml b/tests/components/ch422g/test.esp32-ard.yaml deleted file mode 100644 index cd3f1bbeef..0000000000 --- a/tests/components/ch422g/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ch422g - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/ch422g/test.esp32-c3-ard.yaml b/tests/components/ch422g/test.esp32-c3-ard.yaml deleted file mode 100644 index cd822cb308..0000000000 --- a/tests/components/ch422g/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/chsc6x/test.esp32-ard.yaml b/tests/components/chsc6x/test.esp32-ard.yaml deleted file mode 100644 index 9bc58b66f6..0000000000 --- a/tests/components/chsc6x/test.esp32-ard.yaml +++ /dev/null @@ -1,25 +0,0 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 21 - -spi: - clk_pin: 16 - mosi_pin: 17 - -display: - - platform: ili9xxx - id: ili9xxx_display - model: GC9A01A - invert_colors: True - cs_pin: 18 - dc_pin: 19 - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); - -touchscreen: - - platform: chsc6x - display: ili9xxx_display - interrupt_pin: 20 diff --git a/tests/components/chsc6x/test.esp32-c3-ard.yaml b/tests/components/chsc6x/test.esp32-c3-ard.yaml deleted file mode 100644 index b0f55eb2e6..0000000000 --- a/tests/components/chsc6x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,25 +0,0 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 9 - -spi: - clk_pin: 5 - mosi_pin: 4 - -display: - - platform: ili9xxx - id: ili9xxx_display - model: GC9A01A - invert_colors: True - cs_pin: 18 - dc_pin: 19 - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); - -touchscreen: - - platform: chsc6x - display: ili9xxx_display - interrupt_pin: 20 diff --git a/tests/components/climate_ir_lg/test.esp32-ard.yaml b/tests/components/climate_ir_lg/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/climate_ir_lg/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/climate_ir_lg/test.esp32-c3-ard.yaml b/tests/components/climate_ir_lg/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/climate_ir_lg/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/cm1106/test.esp32-ard.yaml b/tests/components/cm1106/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/cm1106/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/cm1106/test.esp32-c3-ard.yaml b/tests/components/cm1106/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/cm1106/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/color/test.esp32-ard.yaml b/tests/components/color/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/color/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/color/test.esp32-c3-ard.yaml b/tests/components/color/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/color/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/color_temperature/test.esp32-ard.yaml b/tests/components/color_temperature/test.esp32-ard.yaml deleted file mode 100644 index 1831adda6e..0000000000 --- a/tests/components/color_temperature/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO16 - pin_o2: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/color_temperature/test.esp32-c3-ard.yaml b/tests/components/color_temperature/test.esp32-c3-ard.yaml deleted file mode 100644 index 016f315d9f..0000000000 --- a/tests/components/color_temperature/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO6 - pin_o2: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/combination/test.esp32-ard.yaml b/tests/components/combination/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/combination/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/combination/test.esp32-c3-ard.yaml b/tests/components/combination/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/combination/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/coolix/test.esp32-ard.yaml b/tests/components/coolix/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/coolix/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/coolix/test.esp32-c3-ard.yaml b/tests/components/coolix/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/coolix/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/copy/test.esp32-ard.yaml b/tests/components/copy/test.esp32-ard.yaml deleted file mode 100644 index e5337726dc..0000000000 --- a/tests/components/copy/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - pwm_platform: ledc - pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/copy/test.esp32-c3-ard.yaml b/tests/components/copy/test.esp32-c3-ard.yaml deleted file mode 100644 index 76272beb77..0000000000 --- a/tests/components/copy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - pwm_platform: ledc - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp32-ard.yaml b/tests/components/cs5460a/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/cs5460a/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp32-c3-ard.yaml b/tests/components/cs5460a/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/cs5460a/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/cse7761/test.esp32-ard.yaml b/tests/components/cse7761/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/cse7761/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/cse7761/test.esp32-c3-ard.yaml b/tests/components/cse7761/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/cse7761/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/cse7766/test.esp32-ard.yaml b/tests/components/cse7766/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/cse7766/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/cse7766/test.esp32-c3-ard.yaml b/tests/components/cse7766/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/cse7766/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/cst226/test.esp32-ard.yaml b/tests/components/cst226/test.esp32-ard.yaml deleted file mode 100644 index 11e2c4fd43..0000000000 --- a/tests/components/cst226/test.esp32-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - cs_pin: GPIO4 - dc_pin: GPIO5 - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/cst226/test.esp32-c3-ard.yaml b/tests/components/cst226/test.esp32-c3-ard.yaml deleted file mode 100644 index 2f9bd72882..0000000000 --- a/tests/components/cst226/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 - dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/cst816/test.esp32-ard.yaml b/tests/components/cst816/test.esp32-ard.yaml deleted file mode 100644 index 11e2c4fd43..0000000000 --- a/tests/components/cst816/test.esp32-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - cs_pin: GPIO4 - dc_pin: GPIO5 - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/cst816/test.esp32-c3-ard.yaml b/tests/components/cst816/test.esp32-c3-ard.yaml deleted file mode 100644 index 2f9bd72882..0000000000 --- a/tests/components/cst816/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 - dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ct_clamp/test.esp32-ard.yaml b/tests/components/ct_clamp/test.esp32-ard.yaml deleted file mode 100644 index 0a70e3f733..0000000000 --- a/tests/components/ct_clamp/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO39 - -<<: !include common.yaml diff --git a/tests/components/ct_clamp/test.esp32-c3-ard.yaml b/tests/components/ct_clamp/test.esp32-c3-ard.yaml deleted file mode 100644 index a8f29c98ae..0000000000 --- a/tests/components/ct_clamp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO0 - -<<: !include common.yaml diff --git a/tests/components/current_based/test.esp32-ard.yaml b/tests/components/current_based/test.esp32-ard.yaml deleted file mode 100644 index 2c57d412f6..0000000000 --- a/tests/components/current_based/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/current_based/test.esp32-c3-ard.yaml b/tests/components/current_based/test.esp32-c3-ard.yaml deleted file mode 100644 index 799acabd5a..0000000000 --- a/tests/components/current_based/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/cwww/test.esp32-ard.yaml b/tests/components/cwww/test.esp32-ard.yaml deleted file mode 100644 index 1831adda6e..0000000000 --- a/tests/components/cwww/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO16 - pin_o2: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/cwww/test.esp32-c3-ard.yaml b/tests/components/cwww/test.esp32-c3-ard.yaml deleted file mode 100644 index 016f315d9f..0000000000 --- a/tests/components/cwww/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - light_platform: ledc - pin_o1: GPIO6 - pin_o2: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/dac7678/test.esp32-ard.yaml b/tests/components/dac7678/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/dac7678/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/dac7678/test.esp32-c3-ard.yaml b/tests/components/dac7678/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/dac7678/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/daikin/test.esp32-ard.yaml b/tests/components/daikin/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/daikin/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/daikin_arc/test.esp32-ard.yaml b/tests/components/daikin_arc/test.esp32-ard.yaml deleted file mode 100644 index cd59eb0832..0000000000 --- a/tests/components/daikin_arc/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO2 - rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/daikin_brc/test.esp32-ard.yaml b/tests/components/daikin_brc/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/daikin_brc/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/daikin_brc/test.esp32-c3-ard.yaml b/tests/components/daikin_brc/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/daikin_brc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp32-ard.yaml b/tests/components/dallas_temp/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dallas_temp/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp32-c3-ard.yaml b/tests/components/dallas_temp/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dallas_temp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp32-ard.yaml b/tests/components/daly_bms/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/daly_bms/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp32-c3-ard.yaml b/tests/components/daly_bms/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/daly_bms/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/deep_sleep/test.esp32-ard.yaml b/tests/components/deep_sleep/test.esp32-ard.yaml deleted file mode 100644 index 10c17af0f5..0000000000 --- a/tests/components/deep_sleep/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - wakeup_pin: GPIO4 - -<<: !include common.yaml -<<: !include common-esp32.yaml diff --git a/tests/components/deep_sleep/test.esp32-c3-ard.yaml b/tests/components/deep_sleep/test.esp32-c3-ard.yaml deleted file mode 100644 index 10c17af0f5..0000000000 --- a/tests/components/deep_sleep/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - wakeup_pin: GPIO4 - -<<: !include common.yaml -<<: !include common-esp32.yaml diff --git a/tests/components/delonghi/test.esp32-ard.yaml b/tests/components/delonghi/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/delonghi/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/delonghi/test.esp32-c3-ard.yaml b/tests/components/delonghi/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/delonghi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp32-ard.yaml b/tests/components/dfplayer/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/dfplayer/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp32-c3-ard.yaml b/tests/components/dfplayer/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/dfplayer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp32-ard.yaml b/tests/components/dfrobot_sen0395/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/dfrobot_sen0395/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml b/tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/dfrobot_sen0395/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/dht/test.esp32-ard.yaml b/tests/components/dht/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dht/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dht/test.esp32-c3-ard.yaml b/tests/components/dht/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/dht/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dht12/test.esp32-ard.yaml b/tests/components/dht12/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/dht12/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/dht12/test.esp32-c3-ard.yaml b/tests/components/dht12/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/dht12/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/display/test.esp32-ard.yaml b/tests/components/display/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/display/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dps310/test.esp32-ard.yaml b/tests/components/dps310/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/dps310/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/dps310/test.esp32-c3-ard.yaml b/tests/components/dps310/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/dps310/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ds1307/test.esp32-ard.yaml b/tests/components/ds1307/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ds1307/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ds1307/test.esp32-c3-ard.yaml b/tests/components/ds1307/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ds1307/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ds2484/test.esp32-ard.yaml b/tests/components/ds2484/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ds2484/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ds2484/test.esp32-c3-ard.yaml b/tests/components/ds2484/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ds2484/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/duty_cycle/test.esp32-ard.yaml b/tests/components/duty_cycle/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_cycle/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/duty_cycle/test.esp32-c3-ard.yaml b/tests/components/duty_cycle/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_cycle/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/duty_time/test.esp32-ard.yaml b/tests/components/duty_time/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_time/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/duty_time/test.esp32-c3-ard.yaml b/tests/components/duty_time/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/duty_time/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/e131/test.esp32-ard.yaml b/tests/components/e131/test.esp32-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/e131/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/e131/test.esp32-c3-ard.yaml b/tests/components/e131/test.esp32-c3-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/e131/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/ee895/test.esp32-ard.yaml b/tests/components/ee895/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ee895/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ee895/test.esp32-c3-ard.yaml b/tests/components/ee895/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ee895/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp32-ard.yaml b/tests/components/ektf2232/test.esp32-ard.yaml deleted file mode 100644 index 7d3f2ca7a2..0000000000 --- a/tests/components/ektf2232/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - display_reset_pin: GPIO13 - interrupt_pin: GPIO14 - touch_reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp32-c3-ard.yaml b/tests/components/ektf2232/test.esp32-c3-ard.yaml deleted file mode 100644 index 4d793a3242..0000000000 --- a/tests/components/ektf2232/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - display_reset_pin: GPIO3 - interrupt_pin: GPIO6 - touch_reset_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/emc2101/test.esp32-ard.yaml b/tests/components/emc2101/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/emc2101/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/emc2101/test.esp32-c3-ard.yaml b/tests/components/emc2101/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/emc2101/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/emmeti/test.esp32-ard.yaml b/tests/components/emmeti/test.esp32-ard.yaml deleted file mode 100644 index 2689ff279e..0000000000 --- a/tests/components/emmeti/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - remote_transmitter_pin: GPIO33 - remote_receiver_pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/endstop/test.esp32-ard.yaml b/tests/components/endstop/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/endstop/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/endstop/test.esp32-c3-ard.yaml b/tests/components/endstop/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/endstop/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp32-ard.yaml b/tests/components/ens160_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ens160_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp32-c3-ard.yaml b/tests/components/ens160_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ens160_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp32-ard.yaml b/tests/components/ens160_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/ens160_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp32-c3-ard.yaml b/tests/components/ens160_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/ens160_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ens210/test.esp32-ard.yaml b/tests/components/ens210/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ens210/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ens210/test.esp32-c3-ard.yaml b/tests/components/ens210/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ens210/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es7210/test.esp32-ard.yaml b/tests/components/es7210/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es7210/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es7210/test.esp32-c3-ard.yaml b/tests/components/es7210/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es7210/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es7243e/test.esp32-ard.yaml b/tests/components/es7243e/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es7243e/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es7243e/test.esp32-c3-ard.yaml b/tests/components/es7243e/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es7243e/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es8156/test.esp32-ard.yaml b/tests/components/es8156/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es8156/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es8156/test.esp32-c3-ard.yaml b/tests/components/es8156/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es8156/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es8311/test.esp32-ard.yaml b/tests/components/es8311/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es8311/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es8311/test.esp32-c3-ard.yaml b/tests/components/es8311/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es8311/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/es8388/test.esp32-ard.yaml b/tests/components/es8388/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/es8388/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/es8388/test.esp32-c3-ard.yaml b/tests/components/es8388/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/es8388/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-ard.yaml b/tests/components/esp32_ble_client/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_client/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_client/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_client/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_server/test.esp32-ard.yaml b/tests/components/esp32_ble_server/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_server/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_server/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_server/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_server/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_camera/test.esp32-ard.yaml b/tests/components/esp32_camera/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_camera/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_camera_web_server/test.esp32-ard.yaml b/tests/components/esp32_camera_web_server/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_camera_web_server/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_can/test.esp32-ard.yaml b/tests/components/esp32_can/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/esp32_can/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/esp32_can/test.esp32-c3-ard.yaml b/tests/components/esp32_can/test.esp32-c3-ard.yaml deleted file mode 100644 index c79d14c740..0000000000 --- a/tests/components/esp32_can/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/esp32_dac/test.esp32-ard.yaml b/tests/components/esp32_dac/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_dac/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_improv/test.esp32-ard.yaml b/tests/components/esp32_improv/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_improv/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_improv/test.esp32-c3-ard.yaml b/tests/components/esp32_improv/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_improv/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml deleted file mode 100644 index 0949b676d5..0000000000 --- a/tests/components/esp32_rmt_led_strip/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin1: GPIO13 - pin2: GPIO14 - -packages: - common: !include common.yaml diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml deleted file mode 100644 index 6cc0667e77..0000000000 --- a/tests/components/esp32_rmt_led_strip/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin1: GPIO3 - pin2: GPIO4 - -packages: - common: !include common.yaml diff --git a/tests/components/esp32_touch/test.esp32-ard.yaml b/tests/components/esp32_touch/test.esp32-ard.yaml deleted file mode 100644 index 25316b8646..0000000000 --- a/tests/components/esp32_touch/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO27 - -<<: !include common.yaml diff --git a/tests/components/esp32_touch/test.esp32-s2-ard.yaml b/tests/components/esp32_touch/test.esp32-s2-ard.yaml deleted file mode 100644 index 575d758fae..0000000000 --- a/tests/components/esp32_touch/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO12 - -<<: !include common-variants.yaml diff --git a/tests/components/esp32_touch/test.esp32-s3-ard.yaml b/tests/components/esp32_touch/test.esp32-s3-ard.yaml deleted file mode 100644 index 575d758fae..0000000000 --- a/tests/components/esp32_touch/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO12 - -<<: !include common-variants.yaml diff --git a/tests/components/esphome/test.esp32-ard.yaml b/tests/components/esphome/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esphome/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esphome/test.esp32-c3-ard.yaml b/tests/components/esphome/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esphome/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ethernet_info/test.esp32-ard.yaml b/tests/components/ethernet_info/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ethernet_info/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/event/test.esp32-ard.yaml b/tests/components/event/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/event/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/event/test.esp32-c3-ard.yaml b/tests/components/event/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/event/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-ard.yaml b/tests/components/exposure_notifications/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/exposure_notifications/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-c3-ard.yaml b/tests/components/exposure_notifications/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/exposure_notifications/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/external_components/test.esp32-ard.yaml b/tests/components/external_components/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/external_components/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/external_components/test.esp32-c3-ard.yaml b/tests/components/external_components/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/external_components/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ezo/test.esp32-ard.yaml b/tests/components/ezo/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ezo/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ezo/test.esp32-c3-ard.yaml b/tests/components/ezo/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ezo/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp32-ard.yaml b/tests/components/ezo_pmp/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ezo_pmp/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp32-c3-ard.yaml b/tests/components/ezo_pmp/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ezo_pmp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/factory_reset/test.esp32-ard.yaml b/tests/components/factory_reset/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/factory_reset/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/factory_reset/test.esp32-c3-ard.yaml b/tests/components/factory_reset/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/factory_reset/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/feedback/test.esp32-ard.yaml b/tests/components/feedback/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/feedback/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/feedback/test.esp32-c3-ard.yaml b/tests/components/feedback/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/feedback/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp32-ard.yaml b/tests/components/fingerprint_grow/test.esp32-ard.yaml deleted file mode 100644 index 4aef3d8be6..0000000000 --- a/tests/components/fingerprint_grow/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - sensing_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp32-c3-ard.yaml b/tests/components/fingerprint_grow/test.esp32-c3-ard.yaml deleted file mode 100644 index faab50e152..0000000000 --- a/tests/components/fingerprint_grow/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - sensing_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/font/test.esp32-ard.yaml b/tests/components/font/test.esp32-ard.yaml deleted file mode 100644 index d98600a51b..0000000000 --- a/tests/components/font/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 - display_reset_pin: GPIO13 - -packages: - common: !include common.yaml diff --git a/tests/components/font/test.esp32-c3-ard.yaml b/tests/components/font/test.esp32-c3-ard.yaml deleted file mode 100644 index ad14a2e9a6..0000000000 --- a/tests/components/font/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 - display_reset_pin: GPIO3 - -packages: - common: !include common.yaml diff --git a/tests/components/fs3000/test.esp32-ard.yaml b/tests/components/fs3000/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/fs3000/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/fs3000/test.esp32-c3-ard.yaml b/tests/components/fs3000/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/fs3000/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp32-ard.yaml b/tests/components/ft5x06/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/ft5x06/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp32-c3-ard.yaml b/tests/components/ft5x06/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/ft5x06/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp32-ard.yaml b/tests/components/ft63x6/test.esp32-ard.yaml deleted file mode 100644 index 47b5796e8b..0000000000 --- a/tests/components/ft63x6/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp32-c3-ard.yaml b/tests/components/ft63x6/test.esp32-c3-ard.yaml deleted file mode 100644 index 397ac1e464..0000000000 --- a/tests/components/ft63x6/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/fujitsu_general/test.esp32-ard.yaml b/tests/components/fujitsu_general/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/fujitsu_general/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/fujitsu_general/test.esp32-c3-ard.yaml b/tests/components/fujitsu_general/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/fujitsu_general/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/gcja5/test.esp32-ard.yaml b/tests/components/gcja5/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/gcja5/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gcja5/test.esp32-c3-ard.yaml b/tests/components/gcja5/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/gcja5/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/gdk101/test.esp32-ard.yaml b/tests/components/gdk101/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/gdk101/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp32-ard.yaml b/tests/components/gl_r01_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/gl_r01_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml b/tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/gl_r01_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/globals/test.esp32-ard.yaml b/tests/components/globals/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/globals/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/globals/test.esp32-c3-ard.yaml b/tests/components/globals/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/globals/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/gp2y1010au0f/test.esp32-ard.yaml b/tests/components/gp2y1010au0f/test.esp32-ard.yaml deleted file mode 100644 index d9494a95b7..0000000000 --- a/tests/components/gp2y1010au0f/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - adc_pin: A0 - output_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml b/tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml deleted file mode 100644 index 0e331c893c..0000000000 --- a/tests/components/gp2y1010au0f/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - adc_pin: GPIO0 - output_pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/gp8403/test.esp32-ard.yaml b/tests/components/gp8403/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/gp8403/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/gp8403/test.esp32-c3-ard.yaml b/tests/components/gp8403/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/gp8403/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/gpio/test.esp32-ard.yaml b/tests/components/gpio/test.esp32-ard.yaml deleted file mode 100644 index 09f41abb79..0000000000 --- a/tests/components/gpio/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - binary_sensor_pin: GPIO12 - output_pin: GPIO13 - switch_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gpio/test.esp32-c3-ard.yaml b/tests/components/gpio/test.esp32-c3-ard.yaml deleted file mode 100644 index fc7c9942d0..0000000000 --- a/tests/components/gpio/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - binary_sensor_pin: GPIO2 - output_pin: GPIO3 - switch_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/gps/test.esp32-ard.yaml b/tests/components/gps/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/gps/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/gps/test.esp32-c3-ard.yaml b/tests/components/gps/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/gps/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/graph/test.esp32-ard.yaml b/tests/components/graph/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/graph/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/graph/test.esp32-c3-ard.yaml b/tests/components/graph/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/graph/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp32-ard.yaml b/tests/components/graphical_display_menu/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/graphical_display_menu/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp32-c3-ard.yaml b/tests/components/graphical_display_menu/test.esp32-c3-ard.yaml deleted file mode 100644 index 1e6670c196..0000000000 --- a/tests/components/graphical_display_menu/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/gree/test.esp32-ard.yaml b/tests/components/gree/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/gree/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/gree/test.esp32-c3-ard.yaml b/tests/components/gree/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/gree/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp32-ard.yaml b/tests/components/grove_gas_mc_v2/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/grove_gas_mc_v2/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml b/tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/grove_gas_mc_v2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp32-ard.yaml b/tests/components/grove_tb6612fng/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/grove_tb6612fng/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml b/tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/grove_tb6612fng/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp32-ard.yaml b/tests/components/growatt_solar/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/growatt_solar/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp32-c3-ard.yaml b/tests/components/growatt_solar/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/growatt_solar/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/gt911/test.esp32-ard.yaml b/tests/components/gt911/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/gt911/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/gt911/test.esp32-c3-ard.yaml b/tests/components/gt911/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/gt911/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/haier/test.esp32-ard.yaml b/tests/components/haier/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/haier/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/haier/test.esp32-c3-ard.yaml b/tests/components/haier/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/haier/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp32-ard.yaml b/tests/components/havells_solar/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/havells_solar/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp32-c3-ard.yaml b/tests/components/havells_solar/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/havells_solar/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/hbridge/test.esp32-ard.yaml b/tests/components/hbridge/test.esp32-ard.yaml deleted file mode 100644 index e50d537749..0000000000 --- a/tests/components/hbridge/test.esp32-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -substitutions: - pwm_platform: ledc - output1_pin: "14" - output2_pin: "15" - output3_pin: "12" - output4_pin: "13" - hbridge_on_pin: "4" - hbridge_off_pin: "5" - -packages: - common: !include common.yaml - -switch: - - id: !extend switch_hbridge - pulse_length: 60ms - wait_time: 10ms - optimistic: false diff --git a/tests/components/hbridge/test.esp32-c3-ard.yaml b/tests/components/hbridge/test.esp32-c3-ard.yaml deleted file mode 100644 index b9e8738442..0000000000 --- a/tests/components/hbridge/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,16 +0,0 @@ -substitutions: - pwm_platform: "ledc" - output1_pin: "4" - output2_pin: "5" - output3_pin: "6" - output4_pin: "7" - hbridge_on_pin: "2" - hbridge_off_pin: "3" - -packages: - common: !include common.yaml - -switch: - - id: !extend switch_hbridge - wait_time: 10ms - optimistic: true diff --git a/tests/components/hdc1080/test.esp32-ard.yaml b/tests/components/hdc1080/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hdc1080/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hdc1080/test.esp32-c3-ard.yaml b/tests/components/hdc1080/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hdc1080/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/he60r/test.esp32-ard.yaml b/tests/components/he60r/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/he60r/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/he60r/test.esp32-c3-ard.yaml b/tests/components/he60r/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/he60r/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp32-ard.yaml b/tests/components/hitachi_ac344/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac344/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp32-c3-ard.yaml b/tests/components/hitachi_ac344/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac344/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp32-ard.yaml b/tests/components/hitachi_ac424/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac424/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp32-c3-ard.yaml b/tests/components/hitachi_ac424/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/hitachi_ac424/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/hlw8012/test.esp32-ard.yaml b/tests/components/hlw8012/test.esp32-ard.yaml deleted file mode 100644 index 8b42b21b54..0000000000 --- a/tests/components/hlw8012/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/hlw8012/test.esp32-c3-ard.yaml b/tests/components/hlw8012/test.esp32-c3-ard.yaml deleted file mode 100644 index 8b0d069ce2..0000000000 --- a/tests/components/hlw8012/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO2 - cf_pin: GPIO3 - cf1_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hm3301/test.esp32-ard.yaml b/tests/components/hm3301/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hm3301/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hm3301/test.esp32-c3-ard.yaml b/tests/components/hm3301/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hm3301/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp32-ard.yaml b/tests/components/hmc5883l/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hmc5883l/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp32-c3-ard.yaml b/tests/components/hmc5883l/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hmc5883l/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/homeassistant/test.esp32-ard.yaml b/tests/components/homeassistant/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/homeassistant/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/homeassistant/test.esp32-c3-ard.yaml b/tests/components/homeassistant/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/homeassistant/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp32-ard.yaml b/tests/components/honeywell_hih_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/honeywell_hih_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml b/tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/honeywell_hih_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp32-ard.yaml b/tests/components/honeywellabp/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/honeywellabp/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp32-c3-ard.yaml b/tests/components/honeywellabp/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/honeywellabp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp32-ard.yaml b/tests/components/honeywellabp2_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/honeywellabp2_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml b/tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/honeywellabp2_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml deleted file mode 100644 index 811f6b72a6..0000000000 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/hte501/test.esp32-ard.yaml b/tests/components/hte501/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hte501/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hte501/test.esp32-c3-ard.yaml b/tests/components/hte501/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hte501/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/htu21d/test.esp32-ard.yaml b/tests/components/htu21d/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/htu21d/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/htu21d/test.esp32-c3-ard.yaml b/tests/components/htu21d/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/htu21d/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/htu31d/test.esp32-ard.yaml b/tests/components/htu31d/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/htu31d/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/htu31d/test.esp32-c3-ard.yaml b/tests/components/htu31d/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/htu31d/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-ard.yaml b/tests/components/hx711/test.esp32-ard.yaml deleted file mode 100644 index 6423867395..0000000000 --- a/tests/components/hx711/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO16 - dout_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-c3-ard.yaml b/tests/components/hx711/test.esp32-c3-ard.yaml deleted file mode 100644 index 08a6e705c0..0000000000 --- a/tests/components/hx711/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp32-ard.yaml b/tests/components/hydreon_rgxx/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/hydreon_rgxx/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml b/tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/hydreon_rgxx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/hyt271/test.esp32-ard.yaml b/tests/components/hyt271/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/hyt271/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/hyt271/test.esp32-c3-ard.yaml b/tests/components/hyt271/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/hyt271/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp32-ard.yaml b/tests/components/i2c_device/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/i2c_device/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp32-c3-ard.yaml b/tests/components/i2c_device/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/i2c_device/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/i2s_audio/test.esp32-ard.yaml b/tests/components/i2s_audio/test.esp32-ard.yaml deleted file mode 100644 index ce751d7d4a..0000000000 --- a/tests/components/i2s_audio/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/i2s_audio/test.esp32-c3-ard.yaml b/tests/components/i2s_audio/test.esp32-c3-ard.yaml deleted file mode 100644 index 5490846ae9..0000000000 --- a/tests/components/i2s_audio/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO5 - i2s_lrclk_pin: GPIO6 - i2s_mclk_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp32-ard.yaml b/tests/components/iaqcore/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/iaqcore/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp32-c3-ard.yaml b/tests/components/iaqcore/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/iaqcore/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp32-ard.yaml b/tests/components/ili9xxx/test.esp32-ard.yaml deleted file mode 100644 index 2e006d2521..0000000000 --- a/tests/components/ili9xxx/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin1: GPIO12 - dc_pin1: GPIO13 - reset_pin1: GPIO14 - cs_pin2: GPIO25 - dc_pin2: GPIO26 - reset_pin2: GPIO27 - -<<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp32-c3-ard.yaml b/tests/components/ili9xxx/test.esp32-c3-ard.yaml deleted file mode 100644 index 3037785e81..0000000000 --- a/tests/components/ili9xxx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin1: GPIO8 - dc_pin1: GPIO9 - reset_pin1: GPIO10 - cs_pin2: GPIO2 - dc_pin2: GPIO3 - reset_pin2: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina219/test.esp32-ard.yaml b/tests/components/ina219/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina219/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina219/test.esp32-c3-ard.yaml b/tests/components/ina219/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina219/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina226/test.esp32-ard.yaml b/tests/components/ina226/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina226/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina226/test.esp32-c3-ard.yaml b/tests/components/ina226/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina226/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina260/test.esp32-ard.yaml b/tests/components/ina260/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina260/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina260/test.esp32-c3-ard.yaml b/tests/components/ina260/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina260/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp32-ard.yaml b/tests/components/ina2xx_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina2xx_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml b/tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina2xx_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp32-ard.yaml b/tests/components/ina2xx_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/ina2xx_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp32-c3-ard.yaml b/tests/components/ina2xx_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/ina2xx_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/ina3221/test.esp32-ard.yaml b/tests/components/ina3221/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ina3221/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ina3221/test.esp32-c3-ard.yaml b/tests/components/ina3221/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ina3221/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/inkplate/test.esp32-ard.yaml b/tests/components/inkplate/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/inkplate/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/integration/test.esp32-ard.yaml b/tests/components/integration/test.esp32-ard.yaml deleted file mode 100644 index f84495e521..0000000000 --- a/tests/components/integration/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: A0 - -<<: !include common-esp32.yaml diff --git a/tests/components/integration/test.esp32-c3-ard.yaml b/tests/components/integration/test.esp32-c3-ard.yaml deleted file mode 100644 index 5105e645f3..0000000000 --- a/tests/components/integration/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO1 - -<<: !include common-esp32.yaml diff --git a/tests/components/internal_temperature/test.esp32-ard.yaml b/tests/components/internal_temperature/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/internal_temperature/test.esp32-c3-ard.yaml b/tests/components/internal_temperature/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/internal_temperature/test.esp32-s2-ard.yaml b/tests/components/internal_temperature/test.esp32-s2-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/internal_temperature/test.esp32-s3-ard.yaml b/tests/components/internal_temperature/test.esp32-s3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/internal_temperature/test.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/interval/test.esp32-ard.yaml b/tests/components/interval/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/interval/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/interval/test.esp32-c3-ard.yaml b/tests/components/interval/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/interval/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp32-ard.yaml b/tests/components/jsn_sr04t/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/jsn_sr04t/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp32-c3-ard.yaml b/tests/components/jsn_sr04t/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/jsn_sr04t/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/kamstrup_kmp/test.esp32-ard.yaml b/tests/components/kamstrup_kmp/test.esp32-ard.yaml deleted file mode 100644 index adc2c4d24a..0000000000 --- a/tests/components/kamstrup_kmp/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO1 - uart_rx_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/key_collector/test.esp32-ard.yaml b/tests/components/key_collector/test.esp32-ard.yaml deleted file mode 100644 index de144aa46b..0000000000 --- a/tests/components/key_collector/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_r0: GPIO12 - pin_r1: GPIO13 - pin_c0: GPIO14 - pin_c1: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/key_collector/test.esp32-c3-ard.yaml b/tests/components/key_collector/test.esp32-c3-ard.yaml deleted file mode 100644 index b580ab7843..0000000000 --- a/tests/components/key_collector/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_r0: GPIO2 - pin_r1: GPIO3 - pin_c0: GPIO4 - pin_c1: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp32-ard.yaml b/tests/components/kmeteriso/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/kmeteriso/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp32-c3-ard.yaml b/tests/components/kmeteriso/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/kmeteriso/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/kuntze/test.esp32-ard.yaml b/tests/components/kuntze/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/kuntze/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/kuntze/test.esp32-c3-ard.yaml b/tests/components/kuntze/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/kuntze/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp32-ard.yaml b/tests/components/lc709203f/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/lc709203f/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp32-c3-ard.yaml b/tests/components/lc709203f/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/lc709203f/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp32-ard.yaml b/tests/components/lcd_gpio/test.esp32-ard.yaml deleted file mode 100644 index 9c2af456b5..0000000000 --- a/tests/components/lcd_gpio/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 - d2_pin: GPIO14 - d3_pin: GPIO15 - enable_pin: GPIO16 - rs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp32-c3-ard.yaml b/tests/components/lcd_gpio/test.esp32-c3-ard.yaml deleted file mode 100644 index b6b05f3ab4..0000000000 --- a/tests/components/lcd_gpio/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO1 - d1_pin: GPIO2 - d2_pin: GPIO3 - d3_pin: GPIO4 - enable_pin: GPIO5 - rs_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/lcd_menu/test.esp32-ard.yaml b/tests/components/lcd_menu/test.esp32-ard.yaml deleted file mode 100644 index 9c2af456b5..0000000000 --- a/tests/components/lcd_menu/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 - d2_pin: GPIO14 - d3_pin: GPIO15 - enable_pin: GPIO16 - rs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/lcd_menu/test.esp32-c3-ard.yaml b/tests/components/lcd_menu/test.esp32-c3-ard.yaml deleted file mode 100644 index b6b05f3ab4..0000000000 --- a/tests/components/lcd_menu/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - d0_pin: GPIO1 - d1_pin: GPIO2 - d2_pin: GPIO3 - d3_pin: GPIO4 - enable_pin: GPIO5 - rs_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp32-ard.yaml b/tests/components/lcd_pcf8574/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/lcd_pcf8574/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml b/tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/lcd_pcf8574/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ld2410/test.esp32-ard.yaml b/tests/components/ld2410/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2410/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2410/test.esp32-c3-ard.yaml b/tests/components/ld2410/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2410/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ld2412/test.esp32-ard.yaml b/tests/components/ld2412/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2412/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2412/test.esp32-c3-ard.yaml b/tests/components/ld2412/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2412/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ld2420/test.esp32-ard.yaml b/tests/components/ld2420/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2420/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2420/test.esp32-c3-ard.yaml b/tests/components/ld2420/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2420/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ld2450/test.esp32-ard.yaml b/tests/components/ld2450/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/ld2450/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/ld2450/test.esp32-c3-ard.yaml b/tests/components/ld2450/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/ld2450/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/ledc/test.esp32-ard.yaml b/tests/components/ledc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ledc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ledc/test.esp32-c3-ard.yaml b/tests/components/ledc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ledc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/light/test.esp32-ard.yaml b/tests/components/light/test.esp32-ard.yaml deleted file mode 100644 index 925197182c..0000000000 --- a/tests/components/light/test.esp32-ard.yaml +++ /dev/null @@ -1,21 +0,0 @@ -output: - - platform: gpio - id: test_binary - pin: 12 - - platform: ledc - id: test_ledc_1 - pin: 13 - - platform: ledc - id: test_ledc_2 - pin: 14 - - platform: ledc - id: test_ledc_3 - pin: 15 - - platform: ledc - id: test_ledc_4 - pin: 16 - - platform: ledc - id: test_ledc_5 - pin: 17 - -<<: !include common.yaml diff --git a/tests/components/light/test.esp32-c3-ard.yaml b/tests/components/light/test.esp32-c3-ard.yaml deleted file mode 100644 index 317d5748a3..0000000000 --- a/tests/components/light/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,21 +0,0 @@ -output: - - platform: gpio - id: test_binary - pin: 0 - - platform: ledc - id: test_ledc_1 - pin: 1 - - platform: ledc - id: test_ledc_2 - pin: 2 - - platform: ledc - id: test_ledc_3 - pin: 3 - - platform: ledc - id: test_ledc_4 - pin: 4 - - platform: ledc - id: test_ledc_5 - pin: 5 - -<<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp32-ard.yaml b/tests/components/lilygo_t5_47/test.esp32-ard.yaml deleted file mode 100644 index 342f0b6d8b..0000000000 --- a/tests/components/lilygo_t5_47/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml b/tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml deleted file mode 100644 index 061a98ce24..0000000000 --- a/tests/components/lilygo_t5_47/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/lm75b/test.esp32-ard.yaml b/tests/components/lm75b/test.esp32-ard.yaml deleted file mode 100644 index 43264df633..0000000000 --- a/tests/components/lm75b/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO15 - sda_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/lm75b/test.esp32-c3-ard.yaml b/tests/components/lm75b/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/lm75b/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/lock/test.esp32-ard.yaml b/tests/components/lock/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/lock/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/lock/test.esp32-c3-ard.yaml b/tests/components/lock/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/lock/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/lps22/test.esp32-ard.yaml b/tests/components/lps22/test.esp32-ard.yaml deleted file mode 100644 index 0da6a9577e..0000000000 --- a/tests/components/lps22/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_lps22 - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/lps22/test.esp32-c3-ard.yaml b/tests/components/lps22/test.esp32-c3-ard.yaml deleted file mode 100644 index 6091393d31..0000000000 --- a/tests/components/lps22/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/ltr390/test.esp32-ard.yaml b/tests/components/ltr390/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ltr390/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ltr390/test.esp32-c3-ard.yaml b/tests/components/ltr390/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ltr390/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ltr501/test.esp32-ard.yaml b/tests/components/ltr501/test.esp32-ard.yaml deleted file mode 100644 index 4c710c74fe..0000000000 --- a/tests/components/ltr501/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ltr501 - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/ltr501/test.esp32-c3-ard.yaml b/tests/components/ltr501/test.esp32-c3-ard.yaml deleted file mode 100644 index 9e7de2768d..0000000000 --- a/tests/components/ltr501/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp32-ard.yaml b/tests/components/ltr_als_ps/test.esp32-ard.yaml deleted file mode 100644 index 2349292a64..0000000000 --- a/tests/components/ltr_als_ps/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_als_ps - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp32-c3-ard.yaml b/tests/components/ltr_als_ps/test.esp32-c3-ard.yaml deleted file mode 100644 index d64d70f018..0000000000 --- a/tests/components/ltr_als_ps/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/lvgl/test.esp32-ard.yaml b/tests/components/lvgl/test.esp32-ard.yaml deleted file mode 100644 index f85bedbde6..0000000000 --- a/tests/components/lvgl/test.esp32-ard.yaml +++ /dev/null @@ -1,58 +0,0 @@ -spi: - clk_pin: 14 - mosi_pin: 13 - -i2c: - sda: GPIO18 - scl: GPIO19 - -display: - - platform: ili9xxx - model: st7789v - id: tft_display - dimensions: - width: 240 - height: 320 - transform: - swap_xy: false - mirror_x: true - mirror_y: true - data_rate: 80MHz - cs_pin: GPIO22 - dc_pin: GPIO21 - auto_clear_enabled: false - invert_colors: false - update_interval: never - -binary_sensor: - - platform: gpio - internal: true - id: up_button - pin: - number: GPIO38 - inverted: true - - platform: gpio - internal: true - id: down_button - pin: - number: GPIO37 - inverted: true - - platform: gpio - internal: true - id: select_button - pin: - number: GPIO39 - inverted: true -lvgl: - draw_rounding: 8 - encoders: - group: switches - initial_focus: button_button - enter_button: select_button - sensor: - left_button: up_button - right_button: down_button - -packages: - lvgl: !include lvgl-package.yaml - xvgl: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp32-ard.yaml b/tests/components/m5stack_8angle/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/m5stack_8angle/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp32-c3-ard.yaml b/tests/components/m5stack_8angle/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/m5stack_8angle/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mapping/test.esp32-ard.yaml b/tests/components/mapping/test.esp32-ard.yaml deleted file mode 100644 index a76bf9349b..0000000000 --- a/tests/components/mapping/test.esp32-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 - -packages: - map: !include common.yaml - -display: - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 12 - dc_pin: 13 - reset_pin: 21 - invert_colors: false diff --git a/tests/components/mapping/test.esp32-c3-ard.yaml b/tests/components/mapping/test.esp32-c3-ard.yaml deleted file mode 100644 index f95dd4f30d..0000000000 --- a/tests/components/mapping/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,17 +0,0 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 - -display: - platform: ili9xxx - id: main_lcd - model: ili9342 - cs_pin: 8 - dc_pin: 9 - reset_pin: 10 - invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/matrix_keypad/test.esp32-ard.yaml b/tests/components/matrix_keypad/test.esp32-ard.yaml deleted file mode 100644 index 70bb70638d..0000000000 --- a/tests/components/matrix_keypad/test.esp32-ard.yaml +++ /dev/null @@ -1,15 +0,0 @@ -packages: - common: !include common.yaml - -matrix_keypad: - id: keypad - rows: - - pin: 12 - - pin: 13 - columns: - - pin: 14 - - pin: 15 - keys: "1234" - has_pulldowns: true - on_key: - - lambda: ESP_LOGI("KEY", "key %d pressed", x); diff --git a/tests/components/matrix_keypad/test.esp32-c3-ard.yaml b/tests/components/matrix_keypad/test.esp32-c3-ard.yaml deleted file mode 100644 index 75d9c0b263..0000000000 --- a/tests/components/matrix_keypad/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,15 +0,0 @@ -packages: - common: !include common.yaml - -matrix_keypad: - id: keypad - rows: - - pin: 1 - - pin: 2 - columns: - - pin: 3 - - pin: 4 - keys: "1234" - has_pulldowns: true - on_key: - - lambda: ESP_LOGI("KEY", "key %d pressed", x); diff --git a/tests/components/max17043/test.esp32-ard.yaml b/tests/components/max17043/test.esp32-ard.yaml deleted file mode 100644 index c6615f51cd..0000000000 --- a/tests/components/max17043/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO21 - scl_pin: GPIO22 - -<<: !include common.yaml diff --git a/tests/components/max17043/test.esp32-c3-ard.yaml b/tests/components/max17043/test.esp32-c3-ard.yaml deleted file mode 100644 index 9a1477d4b9..0000000000 --- a/tests/components/max17043/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO8 - scl_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/max31855/test.esp32-ard.yaml b/tests/components/max31855/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max31855/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max31855/test.esp32-c3-ard.yaml b/tests/components/max31855/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max31855/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max31856/test.esp32-ard.yaml b/tests/components/max31856/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max31856/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max31856/test.esp32-c3-ard.yaml b/tests/components/max31856/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max31856/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max31865/test.esp32-ard.yaml b/tests/components/max31865/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max31865/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max31865/test.esp32-c3-ard.yaml b/tests/components/max31865/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max31865/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max44009/test.esp32-ard.yaml b/tests/components/max44009/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/max44009/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/max44009/test.esp32-c3-ard.yaml b/tests/components/max44009/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/max44009/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/max6675/test.esp32-ard.yaml b/tests/components/max6675/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max6675/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max6675/test.esp32-c3-ard.yaml b/tests/components/max6675/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max6675/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max6956/test.esp32-ard.yaml b/tests/components/max6956/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/max6956/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/max6956/test.esp32-c3-ard.yaml b/tests/components/max6956/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/max6956/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/max7219/test.esp32-ard.yaml b/tests/components/max7219/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max7219/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max7219/test.esp32-c3-ard.yaml b/tests/components/max7219/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max7219/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp32-ard.yaml b/tests/components/max7219digit/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/max7219digit/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp32-c3-ard.yaml b/tests/components/max7219digit/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/max7219digit/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/max9611/test.esp32-ard.yaml b/tests/components/max9611/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/max9611/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/max9611/test.esp32-c3-ard.yaml b/tests/components/max9611/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/max9611/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp32-ard.yaml b/tests/components/mcp23008/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp23008/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp32-c3-ard.yaml b/tests/components/mcp23008/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp23008/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp32-ard.yaml b/tests/components/mcp23016/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp23016/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp32-c3-ard.yaml b/tests/components/mcp23016/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp23016/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp32-ard.yaml b/tests/components/mcp23017/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp23017/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp32-c3-ard.yaml b/tests/components/mcp23017/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp23017/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp32-ard.yaml b/tests/components/mcp23s08/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp23s08/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp32-c3-ard.yaml b/tests/components/mcp23s08/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp23s08/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp32-ard.yaml b/tests/components/mcp23s17/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp23s17/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp32-c3-ard.yaml b/tests/components/mcp23s17/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp23s17/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp32-ard.yaml b/tests/components/mcp2515/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp2515/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp32-c3-ard.yaml b/tests/components/mcp2515/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp2515/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp32-ard.yaml b/tests/components/mcp3008/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp3008/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp32-c3-ard.yaml b/tests/components/mcp3008/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp3008/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp32-ard.yaml b/tests/components/mcp3204/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/mcp3204/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp32-c3-ard.yaml b/tests/components/mcp3204/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/mcp3204/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp32-ard.yaml b/tests/components/mcp4461/test.esp32-ard.yaml deleted file mode 100644 index c5deb7ca0a..0000000000 --- a/tests/components/mcp4461/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO16 - scl_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp32-c3-ard.yaml b/tests/components/mcp4461/test.esp32-c3-ard.yaml deleted file mode 100644 index a87353b78b..0000000000 --- a/tests/components/mcp4461/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp32-ard.yaml b/tests/components/mcp4725/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp4725/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp32-c3-ard.yaml b/tests/components/mcp4725/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp4725/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp32-ard.yaml b/tests/components/mcp4728/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp4728/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp32-c3-ard.yaml b/tests/components/mcp4728/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp4728/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp32-ard.yaml b/tests/components/mcp47a1/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp47a1/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp32-c3-ard.yaml b/tests/components/mcp47a1/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp47a1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp32-ard.yaml b/tests/components/mcp9600/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp9600/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp32-c3-ard.yaml b/tests/components/mcp9600/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp9600/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp32-ard.yaml b/tests/components/mcp9808/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mcp9808/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp32-c3-ard.yaml b/tests/components/mcp9808/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mcp9808/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/media_player/test.esp32-ard.yaml b/tests/components/media_player/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/media_player/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mhz19/test.esp32-ard.yaml b/tests/components/mhz19/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/mhz19/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/mhz19/test.esp32-c3-ard.yaml b/tests/components/mhz19/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/mhz19/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/micronova/test.esp32-ard.yaml b/tests/components/micronova/test.esp32-ard.yaml deleted file mode 100644 index 35d041e047..0000000000 --- a/tests/components/micronova/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - enable_rx_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/micronova/test.esp32-c3-ard.yaml b/tests/components/micronova/test.esp32-c3-ard.yaml deleted file mode 100644 index 993071999f..0000000000 --- a/tests/components/micronova/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - enable_rx_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/microphone/test.esp32-ard.yaml b/tests/components/microphone/test.esp32-ard.yaml deleted file mode 100644 index 392df582cc..0000000000 --- a/tests/components/microphone/test.esp32-ard.yaml +++ /dev/null @@ -1,13 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 - i2s_din_pin: GPIO33 - -<<: !include common.yaml - -microphone: - - platform: i2s_audio - id: mic_id_adc - adc_pin: 32 - adc_type: internal diff --git a/tests/components/microphone/test.esp32-c3-ard.yaml b/tests/components/microphone/test.esp32-c3-ard.yaml deleted file mode 100644 index c28dc553f5..0000000000 --- a/tests/components/microphone/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO6 - i2s_lrclk_pin: GPIO7 - i2s_mclk_pin: GPIO8 - i2s_din_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp32-ard.yaml b/tests/components/mics_4514/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mics_4514/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp32-c3-ard.yaml b/tests/components/mics_4514/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mics_4514/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/midea_ir/test.esp32-ard.yaml b/tests/components/midea_ir/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/midea_ir/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/midea_ir/test.esp32-c3-ard.yaml b/tests/components/midea_ir/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/midea_ir/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mipi_spi/test.esp32-ard.yaml b/tests/components/mipi_spi/test.esp32-ard.yaml deleted file mode 100644 index a5ef77dabc..0000000000 --- a/tests/components/mipi_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,15 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - dc_pin: GPIO14 - cs_pin: GPIO13 - enable_pin: GPIO19 - reset_pin: GPIO20 - -display: - - platform: mipi_spi - model: LANBON-L8 - -packages: - display: !include common.yaml diff --git a/tests/components/mipi_spi/test.esp32-c3-ard.yaml b/tests/components/mipi_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c17748c569..0000000000 --- a/tests/components/mipi_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - dc_pin: GPIO21 - cs_pin: GPIO18 - enable_pin: GPIO19 - reset_pin: GPIO20 - -<<: !include common.yaml diff --git a/tests/components/mitsubishi/test.esp32-ard.yaml b/tests/components/mitsubishi/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mitsubishi/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mitsubishi/test.esp32-c3-ard.yaml b/tests/components/mitsubishi/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mitsubishi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-ard.yaml b/tests/components/mixer/test.esp32-ard.yaml deleted file mode 100644 index 96d2d37458..0000000000 --- a/tests/components/mixer/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 - mclk_pin: GPIO15 - dout_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-c3-ard.yaml b/tests/components/mixer/test.esp32-c3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/mixer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-s3-ard.yaml b/tests/components/mixer/test.esp32-s3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/mixer/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-ard.yaml b/tests/components/mlx90393/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mlx90393/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-c3-ard.yaml b/tests/components/mlx90393/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mlx90393/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-s3-ard.yaml b/tests/components/mlx90393/test.esp32-s3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mlx90393/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp32-ard.yaml b/tests/components/mlx90614/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mlx90614/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp32-c3-ard.yaml b/tests/components/mlx90614/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mlx90614/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp32-ard.yaml b/tests/components/mmc5603/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mmc5603/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp32-c3-ard.yaml b/tests/components/mmc5603/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mmc5603/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp32-ard.yaml b/tests/components/mmc5983/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mmc5983/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp32-c3-ard.yaml b/tests/components/mmc5983/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mmc5983/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/modbus/test.esp32-ard.yaml b/tests/components/modbus/test.esp32-ard.yaml deleted file mode 100644 index bd767a8ece..0000000000 --- a/tests/components/modbus/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/modbus/test.esp32-c3-ard.yaml b/tests/components/modbus/test.esp32-c3-ard.yaml deleted file mode 100644 index 452031a5aa..0000000000 --- a/tests/components/modbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp32-ard.yaml b/tests/components/modbus_controller/test.esp32-ard.yaml deleted file mode 100644 index 548b8c0666..0000000000 --- a/tests/components/modbus_controller/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - client_tx_pin: GPIO12 - client_rx_pin: GPIO14 - server_tx_pin: GPIO16 - server_rx_pin: GPIO17 - flow_control_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp32-c3-ard.yaml b/tests/components/modbus_controller/test.esp32-c3-ard.yaml deleted file mode 100644 index f5b770ff58..0000000000 --- a/tests/components/modbus_controller/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - client_tx_pin: GPIO4 - client_rx_pin: GPIO5 - server_tx_pin: GPIO6 - server_rx_pin: GPIO7 - flow_control_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/monochromatic/test.esp32-ard.yaml b/tests/components/monochromatic/test.esp32-ard.yaml deleted file mode 100644 index feabf013fd..0000000000 --- a/tests/components/monochromatic/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: ledc - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/monochromatic/test.esp32-c3-ard.yaml b/tests/components/monochromatic/test.esp32-c3-ard.yaml deleted file mode 100644 index feabf013fd..0000000000 --- a/tests/components/monochromatic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: ledc - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-ard.yaml b/tests/components/mopeka_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-c3-ard.yaml b/tests/components/mopeka_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-ard.yaml b/tests/components/mopeka_pro_check/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_pro_check/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml b/tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_pro_check/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-ard.yaml b/tests/components/mopeka_std_check/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_std_check/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-c3-ard.yaml b/tests/components/mopeka_std_check/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/mopeka_std_check/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp32-ard.yaml b/tests/components/mpl3115a2/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mpl3115a2/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp32-c3-ard.yaml b/tests/components/mpl3115a2/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mpl3115a2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mpr121/test.esp32-ard.yaml b/tests/components/mpr121/test.esp32-ard.yaml deleted file mode 100644 index 1037d5d35b..0000000000 --- a/tests/components/mpr121/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpr121/test.esp32-c3-ard.yaml b/tests/components/mpr121/test.esp32-c3-ard.yaml deleted file mode 100644 index d7ae0d5161..0000000000 --- a/tests/components/mpr121/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp32-ard.yaml b/tests/components/mpu6050/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mpu6050/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp32-c3-ard.yaml b/tests/components/mpu6050/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mpu6050/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp32-ard.yaml b/tests/components/mpu6886/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/mpu6886/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp32-c3-ard.yaml b/tests/components/mpu6886/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/mpu6886/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/mqtt/test.esp32-ard.yaml b/tests/components/mqtt/test.esp32-ard.yaml deleted file mode 100644 index 4c70fb37d9..0000000000 --- a/tests/components/mqtt/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - verify_ssl: "false" - -packages: - common: !include common.yaml - update: !include common-update.yaml diff --git a/tests/components/mqtt/test.esp32-c3-ard.yaml b/tests/components/mqtt/test.esp32-c3-ard.yaml deleted file mode 100644 index 4c70fb37d9..0000000000 --- a/tests/components/mqtt/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - verify_ssl: "false" - -packages: - common: !include common.yaml - update: !include common-update.yaml diff --git a/tests/components/mqtt_subscribe/test.esp32-ard.yaml b/tests/components/mqtt_subscribe/test.esp32-ard.yaml deleted file mode 100644 index 28589ee06c..0000000000 --- a/tests/components/mqtt_subscribe/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ard.yaml diff --git a/tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml b/tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml deleted file mode 100644 index 28589ee06c..0000000000 --- a/tests/components/mqtt_subscribe/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ard.yaml diff --git a/tests/components/ms5611/test.esp32-ard.yaml b/tests/components/ms5611/test.esp32-ard.yaml deleted file mode 100644 index 1037d5d35b..0000000000 --- a/tests/components/ms5611/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ms5611/test.esp32-c3-ard.yaml b/tests/components/ms5611/test.esp32-c3-ard.yaml deleted file mode 100644 index d7ae0d5161..0000000000 --- a/tests/components/ms5611/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp32-ard.yaml b/tests/components/msa3xx/test.esp32-ard.yaml deleted file mode 100644 index 7202e7b9bf..0000000000 --- a/tests/components/msa3xx/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO16 - sda: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp32-c3-ard.yaml b/tests/components/msa3xx/test.esp32-c3-ard.yaml deleted file mode 100644 index b972ce8cdb..0000000000 --- a/tests/components/msa3xx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/my9231/test.esp32-ard.yaml b/tests/components/my9231/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/my9231/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/my9231/test.esp32-c3-ard.yaml b/tests/components/my9231/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/my9231/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/nau7802/test.esp32-ard.yaml b/tests/components/nau7802/test.esp32-ard.yaml deleted file mode 100644 index 73a4aa4251..0000000000 --- a/tests/components/nau7802/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_nau7802 - scl: 16 - sda: 17 - -<<: !include common.yaml diff --git a/tests/components/nau7802/test.esp32-c3-ard.yaml b/tests/components/nau7802/test.esp32-c3-ard.yaml deleted file mode 100644 index 769468f9ec..0000000000 --- a/tests/components/nau7802/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 - -<<: !include common.yaml diff --git a/tests/components/noblex/test.esp32-ard.yaml b/tests/components/noblex/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/noblex/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/noblex/test.esp32-c3-ard.yaml b/tests/components/noblex/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/noblex/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/npi19/test.esp32-ard.yaml b/tests/components/npi19/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/npi19/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/npi19/test.esp32-s3-ard.yaml b/tests/components/npi19/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/npi19/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-ard.yaml b/tests/components/ntc/test.esp32-ard.yaml deleted file mode 100644 index 06864605a6..0000000000 --- a/tests/components/ntc/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-c3-ard.yaml b/tests/components/ntc/test.esp32-c3-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/ntc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-s2-ard.yaml b/tests/components/ntc/test.esp32-s2-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/ntc/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ntc/test.esp32-s3-ard.yaml b/tests/components/ntc/test.esp32-s3-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/ntc/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/online_image/test.esp32-ard.yaml b/tests/components/online_image/test.esp32-ard.yaml deleted file mode 100644 index 4111cbd0ad..0000000000 --- a/tests/components/online_image/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -<<: !include common-esp32.yaml - -http_request: - verify_ssl: false diff --git a/tests/components/opt3001/test.esp32-ard.yaml b/tests/components/opt3001/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/opt3001/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/opt3001/test.esp32-c3-ard.yaml b/tests/components/opt3001/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/opt3001/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/output/test.esp32-ard.yaml b/tests/components/output/test.esp32-ard.yaml deleted file mode 100644 index 7687f2a7c8..0000000000 --- a/tests/components/output/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/output/test.esp32-c3-ard.yaml b/tests/components/output/test.esp32-c3-ard.yaml deleted file mode 100644 index 2227643703..0000000000 --- a/tests/components/output/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/packages/test.esp32-ard.yaml b/tests/components/packages/test.esp32-ard.yaml deleted file mode 100644 index 9e4ceb09d6..0000000000 --- a/tests/components/packages/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -packages: - - sensor: - - platform: template - id: inline_sensor - - !include package.yaml - - github://esphome/esphome/tests/components/template/common.yaml@dev - - url: https://github.com/esphome/esphome - path: tests/components/absolute_humidity - file: common.yaml - ref: dev - refresh: 1d diff --git a/tests/components/packet_transport/test.esp32-ard.yaml b/tests/components/packet_transport/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/packet_transport/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp32-c3-ard.yaml b/tests/components/packet_transport/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/packet_transport/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/partition/test.esp32-ard.yaml b/tests/components/partition/test.esp32-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/partition/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/partition/test.esp32-c3-ard.yaml b/tests/components/partition/test.esp32-c3-ard.yaml deleted file mode 100644 index 32cf2a64ba..0000000000 --- a/tests/components/partition/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - light_platform: esp32_rmt_led_strip - pin: GPIO2 - -<<: !include common-ard.yaml diff --git a/tests/components/pca6416a/test.esp32-ard.yaml b/tests/components/pca6416a/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pca6416a/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pca6416a/test.esp32-c3-ard.yaml b/tests/components/pca6416a/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pca6416a/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pca9554/test.esp32-ard.yaml b/tests/components/pca9554/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pca9554/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pca9554/test.esp32-c3-ard.yaml b/tests/components/pca9554/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pca9554/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pca9685/test.esp32-ard.yaml b/tests/components/pca9685/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pca9685/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pca9685/test.esp32-c3-ard.yaml b/tests/components/pca9685/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pca9685/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp32-ard.yaml b/tests/components/pcd8544/test.esp32-ard.yaml deleted file mode 100644 index 09e9db5a38..0000000000 --- a/tests/components/pcd8544/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp32-c3-ard.yaml b/tests/components/pcd8544/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/pcd8544/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp32-ard.yaml b/tests/components/pcf85063/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pcf85063/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp32-c3-ard.yaml b/tests/components/pcf85063/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pcf85063/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp32-ard.yaml b/tests/components/pcf8563/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pcf8563/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp32-c3-ard.yaml b/tests/components/pcf8563/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pcf8563/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp32-ard.yaml b/tests/components/pcf8574/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pcf8574/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp32-c3-ard.yaml b/tests/components/pcf8574/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pcf8574/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pi4ioe5v6408/test.esp32-ard.yaml b/tests/components/pi4ioe5v6408/test.esp32-ard.yaml deleted file mode 100644 index 55e6edfbf3..0000000000 --- a/tests/components/pi4ioe5v6408/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - i2c_sda: GPIO21 - i2c_scl: GPIO22 - -<<: !include common.yaml diff --git a/tests/components/pid/test.esp32-ard.yaml b/tests/components/pid/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pid/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pid/test.esp32-c3-ard.yaml b/tests/components/pid/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pid/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-ard.yaml b/tests/components/pipsolar/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pipsolar/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-c3-ard.yaml b/tests/components/pipsolar/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pipsolar/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pm1006/test.esp32-ard.yaml b/tests/components/pm1006/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pm1006/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pm1006/test.esp32-c3-ard.yaml b/tests/components/pm1006/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pm1006/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pm2005/test.esp32-ard.yaml b/tests/components/pm2005/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pm2005/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pm2005/test.esp32-c3-ard.yaml b/tests/components/pm2005/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pm2005/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp32-ard.yaml b/tests/components/pmsa003i/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pmsa003i/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp32-c3-ard.yaml b/tests/components/pmsa003i/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pmsa003i/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp32-ard.yaml b/tests/components/pmsx003/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pmsx003/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp32-c3-ard.yaml b/tests/components/pmsx003/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pmsx003/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp32-ard.yaml b/tests/components/pmwcs3/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pmwcs3/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp32-c3-ard.yaml b/tests/components/pmwcs3/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pmwcs3/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp32-ard.yaml b/tests/components/pn532_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/pn532_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp32-c3-ard.yaml b/tests/components/pn532_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/pn532_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp32-ard.yaml b/tests/components/pn532_spi/test.esp32-ard.yaml deleted file mode 100644 index bce56f398a..0000000000 --- a/tests/components/pn532_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - cs_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp32-c3-ard.yaml b/tests/components/pn532_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/pn532_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp32-ard.yaml b/tests/components/pn7150_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1643bec317..0000000000 --- a/tests/components/pn7150_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO14 - ven_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp32-c3-ard.yaml b/tests/components/pn7150_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 2067143411..0000000000 --- a/tests/components/pn7150_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - ven_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp32-ard.yaml b/tests/components/pn7160_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1643bec317..0000000000 --- a/tests/components/pn7160_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - irq_pin: GPIO14 - ven_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp32-c3-ard.yaml b/tests/components/pn7160_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 2067143411..0000000000 --- a/tests/components/pn7160_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO6 - ven_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp32-ard.yaml b/tests/components/pn7160_spi/test.esp32-ard.yaml deleted file mode 100644 index f6073d0416..0000000000 --- a/tests/components/pn7160_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - cs_pin: GPIO12 - irq_pin: GPIO13 - ven_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp32-c3-ard.yaml b/tests/components/pn7160_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index f8a07fad2f..0000000000 --- a/tests/components/pn7160_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - irq_pin: GPIO9 - ven_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/power_supply/test.esp32-ard.yaml b/tests/components/power_supply/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/power_supply/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/power_supply/test.esp32-c3-ard.yaml b/tests/components/power_supply/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/power_supply/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/prometheus/test.esp32-ard.yaml b/tests/components/prometheus/test.esp32-ard.yaml deleted file mode 100644 index 9eedaabd82..0000000000 --- a/tests/components/prometheus/test.esp32-ard.yaml +++ /dev/null @@ -1,38 +0,0 @@ -substitutions: - verify_ssl: "false" - pin: GPIO5 - -<<: !include common.yaml - -i2s_audio: - i2s_lrclk_pin: 1 - i2s_bclk_pin: 2 - i2s_mclk_pin: 3 - -media_player: - - platform: i2s_audio - name: "Media Player" - dac_type: external - i2s_dout_pin: 18 - mute_pin: 19 - on_state: - - media_player.play: - - media_player.play_media: http://localhost/media.mp3 - - media_player.play_media: !lambda 'return "http://localhost/media.mp3";' - on_idle: - - media_player.pause: - on_play: - - media_player.stop: - on_pause: - - media_player.toggle: - - wait_until: - media_player.is_idle: - - wait_until: - media_player.is_playing: - - wait_until: - media_player.is_announcing: - - wait_until: - media_player.is_paused: - - media_player.volume_up: - - media_player.volume_down: - - media_player.volume_set: 50% diff --git a/tests/components/prometheus/test.esp32-c3-ard.yaml b/tests/components/prometheus/test.esp32-c3-ard.yaml deleted file mode 100644 index f00bca5947..0000000000 --- a/tests/components/prometheus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - verify_ssl: "false" - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/psram/test.esp32-ard.yaml b/tests/components/psram/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/psram/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/psram/test.esp32-s2-ard.yaml b/tests/components/psram/test.esp32-s2-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/psram/test.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/psram/test.esp32-s3-ard.yaml b/tests/components/psram/test.esp32-s3-ard.yaml deleted file mode 100644 index cfd39f77fe..0000000000 --- a/tests/components/psram/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,3 +0,0 @@ -psram: - mode: octal - speed: 80MHz diff --git a/tests/components/pulse_counter/test.esp32-ard.yaml b/tests/components/pulse_counter/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_counter/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_counter/test.esp32-c3-ard.yaml b/tests/components/pulse_counter/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_counter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_meter/test.esp32-ard.yaml b/tests/components/pulse_meter/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_meter/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_meter/test.esp32-c3-ard.yaml b/tests/components/pulse_meter/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_meter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_width/test.esp32-ard.yaml b/tests/components/pulse_width/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_width/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pulse_width/test.esp32-c3-ard.yaml b/tests/components/pulse_width/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pulse_width/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-ard.yaml b/tests/components/pvvx_mithermometer/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pvvx_mithermometer/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml b/tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/pvvx_mithermometer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/pylontech/test.esp32-ard.yaml b/tests/components/pylontech/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pylontech/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pylontech/test.esp32-c3-ard.yaml b/tests/components/pylontech/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pylontech/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp32-ard.yaml b/tests/components/pzem004t/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pzem004t/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp32-c3-ard.yaml b/tests/components/pzem004t/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pzem004t/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pzemac/test.esp32-ard.yaml b/tests/components/pzemac/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pzemac/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pzemac/test.esp32-c3-ard.yaml b/tests/components/pzemac/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pzemac/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp32-ard.yaml b/tests/components/pzemdc/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/pzemdc/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp32-c3-ard.yaml b/tests/components/pzemdc/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/pzemdc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp32-ard.yaml b/tests/components/qmc5883l/test.esp32-ard.yaml deleted file mode 100644 index 2cf2041501..0000000000 --- a/tests/components/qmc5883l/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - drdy_pin: GPIO18 - -<<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp32-c3-ard.yaml b/tests/components/qmc5883l/test.esp32-c3-ard.yaml deleted file mode 100644 index 677501d15a..0000000000 --- a/tests/components/qmc5883l/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - drdy_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp32-ard.yaml b/tests/components/qmp6988/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/qmp6988/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp32-c3-ard.yaml b/tests/components/qmp6988/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/qmp6988/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/qr_code/test.esp32-ard.yaml b/tests/components/qr_code/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/qr_code/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/qr_code/test.esp32-c3-ard.yaml b/tests/components/qr_code/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/qr_code/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp32-ard.yaml b/tests/components/qwiic_pir/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/qwiic_pir/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp32-c3-ard.yaml b/tests/components/qwiic_pir/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/qwiic_pir/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-ard.yaml b/tests/components/radon_eye_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-c3-ard.yaml b/tests/components/radon_eye_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-ard.yaml b/tests/components/radon_eye_rd200/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_rd200/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml b/tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/radon_eye_rd200/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp32-ard.yaml b/tests/components/rc522_i2c/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/rc522_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp32-c3-ard.yaml b/tests/components/rc522_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/rc522_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp32-ard.yaml b/tests/components/rc522_spi/test.esp32-ard.yaml deleted file mode 100644 index 54e027a614..0000000000 --- a/tests/components/rc522_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp32-c3-ard.yaml b/tests/components/rc522_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/rc522_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp32-ard.yaml b/tests/components/rdm6300/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/rdm6300/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp32-c3-ard.yaml b/tests/components/rdm6300/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/rdm6300/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/remote_receiver/test.esp32-ard.yaml b/tests/components/remote_receiver/test.esp32-ard.yaml deleted file mode 100644 index 10dd767598..0000000000 --- a/tests/components/remote_receiver/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - filter_symbols: "2" - receive_symbols: "4" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/remote_receiver/test.esp32-c3-ard.yaml b/tests/components/remote_receiver/test.esp32-c3-ard.yaml deleted file mode 100644 index 10dd767598..0000000000 --- a/tests/components/remote_receiver/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - filter_symbols: "2" - receive_symbols: "4" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/remote_transmitter/test.esp32-ard.yaml b/tests/components/remote_transmitter/test.esp32-ard.yaml deleted file mode 100644 index 0522f4d181..0000000000 --- a/tests/components/remote_transmitter/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/remote_transmitter/test.esp32-c3-ard.yaml b/tests/components/remote_transmitter/test.esp32-c3-ard.yaml deleted file mode 100644 index 0522f4d181..0000000000 --- a/tests/components/remote_transmitter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin: GPIO2 - clock_resolution: "2000000" - rmt_symbols: "64" - -packages: - common: !include esp32-common.yaml diff --git a/tests/components/resampler/test.esp32-ard.yaml b/tests/components/resampler/test.esp32-ard.yaml deleted file mode 100644 index 96d2d37458..0000000000 --- a/tests/components/resampler/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 - mclk_pin: GPIO15 - dout_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/resampler/test.esp32-c3-ard.yaml b/tests/components/resampler/test.esp32-c3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/resampler/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/resampler/test.esp32-s3-ard.yaml b/tests/components/resampler/test.esp32-s3-ard.yaml deleted file mode 100644 index f1721f0862..0000000000 --- a/tests/components/resampler/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - lrclk_pin: GPIO4 - bclk_pin: GPIO5 - mclk_pin: GPIO6 - dout_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-ard.yaml b/tests/components/resistance/test.esp32-ard.yaml deleted file mode 100644 index 06864605a6..0000000000 --- a/tests/components/resistance/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-c3-ard.yaml b/tests/components/resistance/test.esp32-c3-ard.yaml deleted file mode 100644 index 37fb325f4a..0000000000 --- a/tests/components/resistance/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-s2-ard.yaml b/tests/components/resistance/test.esp32-s2-ard.yaml deleted file mode 100644 index 1910f325ae..0000000000 --- a/tests/components/resistance/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/resistance/test.esp32-s3-ard.yaml b/tests/components/resistance/test.esp32-s3-ard.yaml deleted file mode 100644 index 1910f325ae..0000000000 --- a/tests/components/resistance/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO1 - -<<: !include common.yaml diff --git a/tests/components/restart/test.esp32-ard.yaml b/tests/components/restart/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/restart/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/restart/test.esp32-c3-ard.yaml b/tests/components/restart/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/restart/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp32-ard.yaml b/tests/components/rf_bridge/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/rf_bridge/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp32-c3-ard.yaml b/tests/components/rf_bridge/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/rf_bridge/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/rgb/test.esp32-ard.yaml b/tests/components/rgb/test.esp32-ard.yaml deleted file mode 100644 index d78ccec952..0000000000 --- a/tests/components/rgb/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/rgb/test.esp32-c3-ard.yaml b/tests/components/rgb/test.esp32-c3-ard.yaml deleted file mode 100644 index 1fe4a4bb90..0000000000 --- a/tests/components/rgb/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/rgbct/test.esp32-ard.yaml b/tests/components/rgbct/test.esp32-ard.yaml deleted file mode 100644 index 1ecc626e9c..0000000000 --- a/tests/components/rgbct/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - pin4: GPIO15 - pin5: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rgbct/test.esp32-c3-ard.yaml b/tests/components/rgbct/test.esp32-c3-ard.yaml deleted file mode 100644 index 27a1fbca4d..0000000000 --- a/tests/components/rgbct/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - pin4: GPIO5 - pin5: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/rgbw/test.esp32-ard.yaml b/tests/components/rgbw/test.esp32-ard.yaml deleted file mode 100644 index ea8efd1a34..0000000000 --- a/tests/components/rgbw/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - pin4: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/rgbw/test.esp32-c3-ard.yaml b/tests/components/rgbw/test.esp32-c3-ard.yaml deleted file mode 100644 index b44734344e..0000000000 --- a/tests/components/rgbw/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - pin4: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/rgbww/test.esp32-ard.yaml b/tests/components/rgbww/test.esp32-ard.yaml deleted file mode 100644 index 1ecc626e9c..0000000000 --- a/tests/components/rgbww/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO12 - pin2: GPIO13 - pin3: GPIO14 - pin4: GPIO15 - pin5: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/rgbww/test.esp32-c3-ard.yaml b/tests/components/rgbww/test.esp32-c3-ard.yaml deleted file mode 100644 index 27a1fbca4d..0000000000 --- a/tests/components/rgbww/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - light_platform: ledc - pin1: GPIO2 - pin2: GPIO3 - pin3: GPIO4 - pin4: GPIO5 - pin5: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/rotary_encoder/test.esp32-ard.yaml b/tests/components/rotary_encoder/test.esp32-ard.yaml deleted file mode 100644 index 48a624aa37..0000000000 --- a/tests/components/rotary_encoder/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin_a: GPIO12 - pin_b: GPIO13 - pin_reset: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/rotary_encoder/test.esp32-c3-ard.yaml b/tests/components/rotary_encoder/test.esp32-c3-ard.yaml deleted file mode 100644 index b71a454bdd..0000000000 --- a/tests/components/rotary_encoder/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - pin_a: GPIO2 - pin_b: GPIO3 - pin_reset: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/rtttl/test.esp32-ard.yaml b/tests/components/rtttl/test.esp32-ard.yaml deleted file mode 100644 index 26da1ce1d6..0000000000 --- a/tests/components/rtttl/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/rtttl/test.esp32-c3-ard.yaml b/tests/components/rtttl/test.esp32-c3-ard.yaml deleted file mode 100644 index 7476963591..0000000000 --- a/tests/components/rtttl/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/runtime_stats/test.esp32-ard.yaml b/tests/components/runtime_stats/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/runtime_stats/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-ard.yaml b/tests/components/ruuvi_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvi_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-c3-ard.yaml b/tests/components/ruuvi_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvi_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-ard.yaml b/tests/components/ruuvitag/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvitag/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-c3-ard.yaml b/tests/components/ruuvitag/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ruuvitag/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/safe_mode/test-enabled.esp32-ard.yaml b/tests/components/safe_mode/test-enabled.esp32-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/safe_mode/test-enabled.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml diff --git a/tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml b/tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/safe_mode/test-enabled.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml diff --git a/tests/components/scd30/test.esp32-ard.yaml b/tests/components/scd30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/scd30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/scd30/test.esp32-c3-ard.yaml b/tests/components/scd30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/scd30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/scd4x/test.esp32-ard.yaml b/tests/components/scd4x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/scd4x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/scd4x/test.esp32-c3-ard.yaml b/tests/components/scd4x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/scd4x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/script/test.esp32-ard.yaml b/tests/components/script/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/script/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/script/test.esp32-c3-ard.yaml b/tests/components/script/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/script/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp32-ard.yaml b/tests/components/sdm_meter/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sdm_meter/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp32-c3-ard.yaml b/tests/components/sdm_meter/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sdm_meter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp32-ard.yaml b/tests/components/sdp3x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sdp3x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp32-c3-ard.yaml b/tests/components/sdp3x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sdp3x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sds011/test.esp32-ard.yaml b/tests/components/sds011/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sds011/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sds011/test.esp32-c3-ard.yaml b/tests/components/sds011/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sds011/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml b/tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml deleted file mode 100644 index 4fb884abf4..0000000000 --- a/tests/components/seeed_mr24hpc1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml b/tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml deleted file mode 100644 index 4fb884abf4..0000000000 --- a/tests/components/seeed_mr60bha2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml b/tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml deleted file mode 100644 index 4fb884abf4..0000000000 --- a/tests/components/seeed_mr60fda2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/selec_meter/test.esp32-ard.yaml b/tests/components/selec_meter/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/selec_meter/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/selec_meter/test.esp32-c3-ard.yaml b/tests/components/selec_meter/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/selec_meter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sen0321/test.esp32-ard.yaml b/tests/components/sen0321/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sen0321/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sen0321/test.esp32-c3-ard.yaml b/tests/components/sen0321/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sen0321/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sen21231/test.esp32-ard.yaml b/tests/components/sen21231/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sen21231/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sen21231/test.esp32-c3-ard.yaml b/tests/components/sen21231/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sen21231/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sen5x/test.esp32-ard.yaml b/tests/components/sen5x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sen5x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sen5x/test.esp32-c3-ard.yaml b/tests/components/sen5x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sen5x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/senseair/test.esp32-ard.yaml b/tests/components/senseair/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/senseair/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/senseair/test.esp32-c3-ard.yaml b/tests/components/senseair/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/senseair/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/servo/test.esp32-ard.yaml b/tests/components/servo/test.esp32-ard.yaml deleted file mode 100644 index 26da1ce1d6..0000000000 --- a/tests/components/servo/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/servo/test.esp32-c3-ard.yaml b/tests/components/servo/test.esp32-c3-ard.yaml deleted file mode 100644 index 7476963591..0000000000 --- a/tests/components/servo/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sfa30/test.esp32-ard.yaml b/tests/components/sfa30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sfa30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sfa30/test.esp32-c3-ard.yaml b/tests/components/sfa30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sfa30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sgp30/test.esp32-ard.yaml b/tests/components/sgp30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sgp30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sgp30/test.esp32-c3-ard.yaml b/tests/components/sgp30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sgp30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp32-ard.yaml b/tests/components/sgp4x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sgp4x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp32-c3-ard.yaml b/tests/components/sgp4x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sgp4x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp32-ard.yaml b/tests/components/sht3xd/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sht3xd/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp32-c3-ard.yaml b/tests/components/sht3xd/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sht3xd/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sht4x/test.esp32-ard.yaml b/tests/components/sht4x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sht4x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sht4x/test.esp32-c3-ard.yaml b/tests/components/sht4x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sht4x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/shtcx/test.esp32-ard.yaml b/tests/components/shtcx/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/shtcx/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/shtcx/test.esp32-c3-ard.yaml b/tests/components/shtcx/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/shtcx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/shutdown/test.esp32-ard.yaml b/tests/components/shutdown/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/shutdown/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/shutdown/test.esp32-c3-ard.yaml b/tests/components/shutdown/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/shutdown/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sigma_delta_output/test.esp32-ard.yaml b/tests/components/sigma_delta_output/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sigma_delta_output/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sigma_delta_output/test.esp32-c3-ard.yaml b/tests/components/sigma_delta_output/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sigma_delta_output/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sim800l/test.esp32-ard.yaml b/tests/components/sim800l/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sim800l/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sim800l/test.esp32-c3-ard.yaml b/tests/components/sim800l/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sim800l/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/slow_pwm/test.esp32-ard.yaml b/tests/components/slow_pwm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/slow_pwm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/slow_pwm/test.esp32-c3-ard.yaml b/tests/components/slow_pwm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/slow_pwm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sm16716/test.esp32-ard.yaml b/tests/components/sm16716/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm16716/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm16716/test.esp32-c3-ard.yaml b/tests/components/sm16716/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm16716/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm2135/test.esp32-ard.yaml b/tests/components/sm2135/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm2135/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm2135/test.esp32-c3-ard.yaml b/tests/components/sm2135/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm2135/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm2235/test.esp32-ard.yaml b/tests/components/sm2235/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm2235/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm2235/test.esp32-c3-ard.yaml b/tests/components/sm2235/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm2235/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm2335/test.esp32-ard.yaml b/tests/components/sm2335/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/sm2335/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sm2335/test.esp32-c3-ard.yaml b/tests/components/sm2335/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/sm2335/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp32-ard.yaml b/tests/components/sm300d2/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sm300d2/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp32-c3-ard.yaml b/tests/components/sm300d2/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sm300d2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sml/test.esp32-ard.yaml b/tests/components/sml/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sml/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sml/test.esp32-c3-ard.yaml b/tests/components/sml/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sml/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/smt100/test.esp32-ard.yaml b/tests/components/smt100/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/smt100/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/smt100/test.esp32-c3-ard.yaml b/tests/components/smt100/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/smt100/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp32-ard.yaml b/tests/components/sn74hc165/test.esp32-ard.yaml deleted file mode 100644 index 27f963312f..0000000000 --- a/tests/components/sn74hc165/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO13 - data_pin: GPIO14 - load_pin: GPIO15 - clock_inhibit_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp32-c3-ard.yaml b/tests/components/sn74hc165/test.esp32-c3-ard.yaml deleted file mode 100644 index 0a3db917b7..0000000000 --- a/tests/components/sn74hc165/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO3 - data_pin: GPIO4 - load_pin: GPIO5 - clock_inhibit_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/sn74hc595/test.esp32-ard.yaml b/tests/components/sn74hc595/test.esp32-ard.yaml deleted file mode 100644 index a4bab64862..0000000000 --- a/tests/components/sn74hc595/test.esp32-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 - clock_pin: GPIO15 - data_pin: GPIO14 - latch_pin1: GPIO21 - oe_pin1: GPIO22 - latch_pin2: GPIO23 - oe_pin2: GPIO25 - -<<: !include common.yaml diff --git a/tests/components/sn74hc595/test.esp32-c3-ard.yaml b/tests/components/sn74hc595/test.esp32-c3-ard.yaml deleted file mode 100644 index 14c928be88..0000000000 --- a/tests/components/sn74hc595/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,12 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO8 - clock_pin: GPIO5 - data_pin: GPIO4 - latch_pin1: GPIO1 - oe_pin1: GPIO2 - latch_pin2: GPIO3 - oe_pin2: GPIO9 - -<<: !include common.yaml diff --git a/tests/components/sntp/test.esp32-ard.yaml b/tests/components/sntp/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sntp/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sntp/test.esp32-c3-ard.yaml b/tests/components/sntp/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sntp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp32-ard.yaml b/tests/components/sonoff_d1/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/sonoff_d1/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp32-c3-ard.yaml b/tests/components/sonoff_d1/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/sonoff_d1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-ard.yaml b/tests/components/sound_level/test.esp32-ard.yaml deleted file mode 100644 index c6d1bfa330..0000000000 --- a/tests/components/sound_level/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO25 - i2s_lrclk_pin: GPIO26 - i2s_dout_pin: GPIO27 - -<<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-c3-ard.yaml b/tests/components/sound_level/test.esp32-c3-ard.yaml deleted file mode 100644 index aeb7d9f0af..0000000000 --- a/tests/components/sound_level/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO6 - i2s_lrclk_pin: GPIO7 - i2s_dout_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-s3-ard.yaml b/tests/components/sound_level/test.esp32-s3-ard.yaml deleted file mode 100644 index 9c1f32d5bd..0000000000 --- a/tests/components/sound_level/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - i2s_bclk_pin: GPIO4 - i2s_lrclk_pin: GPIO5 - i2s_dout_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/speed/test.esp32-ard.yaml b/tests/components/speed/test.esp32-ard.yaml deleted file mode 100644 index 26da1ce1d6..0000000000 --- a/tests/components/speed/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/speed/test.esp32-c3-ard.yaml b/tests/components/speed/test.esp32-c3-ard.yaml deleted file mode 100644 index 7476963591..0000000000 --- a/tests/components/speed/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - output_platform: ledc - pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/spi_device/test.esp32-ard.yaml b/tests/components/spi_device/test.esp32-ard.yaml deleted file mode 100644 index 448e54fea6..0000000000 --- a/tests/components/spi_device/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/spi_device/test.esp32-c3-ard.yaml b/tests/components/spi_device/test.esp32-c3-ard.yaml deleted file mode 100644 index bfa12b1755..0000000000 --- a/tests/components/spi_device/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp32-ard.yaml b/tests/components/spi_led_strip/test.esp32-ard.yaml deleted file mode 100644 index 8906602ef4..0000000000 --- a/tests/components/spi_led_strip/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp32-c3-ard.yaml b/tests/components/spi_led_strip/test.esp32-c3-ard.yaml deleted file mode 100644 index a85b587070..0000000000 --- a/tests/components/spi_led_strip/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/sprinkler/test.esp32-ard.yaml b/tests/components/sprinkler/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sprinkler/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sprinkler/test.esp32-c3-ard.yaml b/tests/components/sprinkler/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sprinkler/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sps30/test.esp32-ard.yaml b/tests/components/sps30/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sps30/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sps30/test.esp32-c3-ard.yaml b/tests/components/sps30/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sps30/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp32-ard.yaml b/tests/components/ssd1306_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/ssd1306_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml b/tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 4eaff7fa4a..0000000000 --- a/tests/components/ssd1306_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp32-ard.yaml b/tests/components/ssd1306_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1306_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1306_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1306_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp32-ard.yaml b/tests/components/ssd1322_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1322_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1322_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1322_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp32-ard.yaml b/tests/components/ssd1325_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1325_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1325_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1325_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp32-ard.yaml b/tests/components/ssd1327_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/ssd1327_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml b/tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 4eaff7fa4a..0000000000 --- a/tests/components/ssd1327_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp32-ard.yaml b/tests/components/ssd1327_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1327_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1327_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1327_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp32-ard.yaml b/tests/components/ssd1331_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1331_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1331_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1331_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp32-ard.yaml b/tests/components/ssd1351_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/ssd1351_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp32-c3-ard.yaml b/tests/components/ssd1351_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/ssd1351_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp32-ard.yaml b/tests/components/st7567_i2c/test.esp32-ard.yaml deleted file mode 100644 index 1ca773e06c..0000000000 --- a/tests/components/st7567_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - reset_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp32-c3-ard.yaml b/tests/components/st7567_i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index 4eaff7fa4a..0000000000 --- a/tests/components/st7567_i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp32-ard.yaml b/tests/components/st7567_spi/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/st7567_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp32-c3-ard.yaml b/tests/components/st7567_spi/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/st7567_spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7735/test.esp32-ard.yaml b/tests/components/st7735/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/st7735/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/st7735/test.esp32-c3-ard.yaml b/tests/components/st7735/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/st7735/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7789v/test.esp32-ard.yaml b/tests/components/st7789v/test.esp32-ard.yaml deleted file mode 100644 index bad5241f79..0000000000 --- a/tests/components/st7789v/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - dc_pin: GPIO13 - reset_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/st7789v/test.esp32-c3-ard.yaml b/tests/components/st7789v/test.esp32-c3-ard.yaml deleted file mode 100644 index c5c932c92c..0000000000 --- a/tests/components/st7789v/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - dc_pin: GPIO9 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/st7920/test.esp32-ard.yaml b/tests/components/st7920/test.esp32-ard.yaml deleted file mode 100644 index 04d2633d2b..0000000000 --- a/tests/components/st7920/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - cs_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/st7920/test.esp32-c3-ard.yaml b/tests/components/st7920/test.esp32-c3-ard.yaml deleted file mode 100644 index 2415ba5dc6..0000000000 --- a/tests/components/st7920/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - cs_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/statsD/test.esp32-ard.yaml b/tests/components/statsD/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/statsD/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/statsD/test.esp32-c3-ard.yaml b/tests/components/statsD/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/statsD/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/status/test.esp32-ard.yaml b/tests/components/status/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/status/test.esp32-c3-ard.yaml b/tests/components/status/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/status_led/test.esp32-ard.yaml b/tests/components/status_led/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status_led/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/status_led/test.esp32-c3-ard.yaml b/tests/components/status_led/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/status_led/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/stepper/test.esp32-ard.yaml b/tests/components/stepper/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/stepper/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/stepper/test.esp32-c3-ard.yaml b/tests/components/stepper/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/stepper/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sts3x/test.esp32-ard.yaml b/tests/components/sts3x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sts3x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sts3x/test.esp32-c3-ard.yaml b/tests/components/sts3x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sts3x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/sun/test.esp32-ard.yaml b/tests/components/sun/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sun/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sun/test.esp32-c3-ard.yaml b/tests/components/sun/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/sun/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp32-ard.yaml b/tests/components/sun_gtil2/test.esp32-ard.yaml deleted file mode 100644 index ad420099ff..0000000000 --- a/tests/components/sun_gtil2/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp32-c3-ard.yaml b/tests/components/sun_gtil2/test.esp32-c3-ard.yaml deleted file mode 100644 index b8a6b85616..0000000000 --- a/tests/components/sun_gtil2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/switch/test.esp32-ard.yaml b/tests/components/switch/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/switch/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/switch/test.esp32-c3-ard.yaml b/tests/components/switch/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/switch/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/sx126x/test.esp32-ard.yaml b/tests/components/sx126x/test.esp32-ard.yaml deleted file mode 100644 index 9770f52229..0000000000 --- a/tests/components/sx126x/test.esp32-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 - busy_pin: GPIO25 - dio1_pin: GPIO26 - -<<: !include common.yaml diff --git a/tests/components/sx126x/test.esp32-c3-ard.yaml b/tests/components/sx126x/test.esp32-c3-ard.yaml deleted file mode 100644 index 91450e24ce..0000000000 --- a/tests/components/sx126x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 - cs_pin: GPIO1 - rst_pin: GPIO2 - busy_pin: GPIO4 - dio1_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/sx127x/test.esp32-ard.yaml b/tests/components/sx127x/test.esp32-ard.yaml deleted file mode 100644 index 71270462a2..0000000000 --- a/tests/components/sx127x/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 - dio0_pin: GPIO26 - -<<: !include common.yaml diff --git a/tests/components/sx127x/test.esp32-c3-ard.yaml b/tests/components/sx127x/test.esp32-c3-ard.yaml deleted file mode 100644 index 36535a950d..0000000000 --- a/tests/components/sx127x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 - cs_pin: GPIO1 - rst_pin: GPIO2 - dio0_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/sx1509/test.esp32-ard.yaml b/tests/components/sx1509/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/sx1509/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/sx1509/test.esp32-c3-ard.yaml b/tests/components/sx1509/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/sx1509/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/syslog/test.esp32-ard.yaml b/tests/components/syslog/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/syslog/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/syslog/test.esp32-c3-ard.yaml b/tests/components/syslog/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/syslog/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/t6615/test.esp32-ard.yaml b/tests/components/t6615/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/t6615/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/t6615/test.esp32-c3-ard.yaml b/tests/components/t6615/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/t6615/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/tc74/test.esp32-ard.yaml b/tests/components/tc74/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tc74/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tc74/test.esp32-c3-ard.yaml b/tests/components/tc74/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tc74/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp32-ard.yaml b/tests/components/tca9548a/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tca9548a/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp32-c3-ard.yaml b/tests/components/tca9548a/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tca9548a/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tca9555/test.esp32-ard.yaml b/tests/components/tca9555/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tca9555/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tca9555/test.esp32-c3-ard.yaml b/tests/components/tca9555/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tca9555/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tcl112/test.esp32-ard.yaml b/tests/components/tcl112/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/tcl112/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/tcl112/test.esp32-c3-ard.yaml b/tests/components/tcl112/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/tcl112/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp32-ard.yaml b/tests/components/tcs34725/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tcs34725/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp32-c3-ard.yaml b/tests/components/tcs34725/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tcs34725/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tee501/test.esp32-ard.yaml b/tests/components/tee501/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tee501/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tee501/test.esp32-c3-ard.yaml b/tests/components/tee501/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tee501/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp32-ard.yaml b/tests/components/teleinfo/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/teleinfo/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp32-c3-ard.yaml b/tests/components/teleinfo/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/teleinfo/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/tem3200/test.esp32-ard.yaml b/tests/components/tem3200/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/tem3200/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/tem3200/test.esp32-s3-ard.yaml b/tests/components/tem3200/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/tem3200/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/template/test.esp32-ard.yaml b/tests/components/template/test.esp32-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/template/test.esp32-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/template/test.esp32-c3-ard.yaml b/tests/components/template/test.esp32-c3-ard.yaml deleted file mode 100644 index 25cb37a0b4..0000000000 --- a/tests/components/template/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - common: !include common.yaml diff --git a/tests/components/thermostat/test.esp32-ard.yaml b/tests/components/thermostat/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/thermostat/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/thermostat/test.esp32-c3-ard.yaml b/tests/components/thermostat/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/thermostat/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/time_based/test.esp32-ard.yaml b/tests/components/time_based/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time_based/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/time_based/test.esp32-c3-ard.yaml b/tests/components/time_based/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time_based/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp32-ard.yaml b/tests/components/tlc59208f/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tlc59208f/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp32-c3-ard.yaml b/tests/components/tlc59208f/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tlc59208f/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tlc5947/test.esp32-ard.yaml b/tests/components/tlc5947/test.esp32-ard.yaml deleted file mode 100644 index 52411bc1e9..0000000000 --- a/tests/components/tlc5947/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO15 - data_pin: GPIO14 - lat_pin: GPIO13 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5947/test.esp32-c3-ard.yaml b/tests/components/tlc5947/test.esp32-c3-ard.yaml deleted file mode 100644 index 4694c43642..0000000000 --- a/tests/components/tlc5947/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - lat_pin: GPIO3 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp32-ard.yaml b/tests/components/tlc5971/test.esp32-ard.yaml deleted file mode 100644 index 52411bc1e9..0000000000 --- a/tests/components/tlc5971/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clock_pin: GPIO15 - data_pin: GPIO14 - lat_pin: GPIO13 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp32-c3-ard.yaml b/tests/components/tlc5971/test.esp32-c3-ard.yaml deleted file mode 100644 index d898a21d46..0000000000 --- a/tests/components/tlc5971/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -packages: - common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp32-s2-ard.yaml b/tests/components/tlc5971/test.esp32-s2-ard.yaml deleted file mode 100644 index 7bba0b0117..0000000000 --- a/tests/components/tlc5971/test.esp32-s2-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clock_pin: GPIO36 - data_pin: GPIO35 - -packages: - common: !include common.yaml diff --git a/tests/components/tm1621/test.esp32-ard.yaml b/tests/components/tm1621/test.esp32-ard.yaml deleted file mode 100644 index 0441e4bffe..0000000000 --- a/tests/components/tm1621/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - cs_pin: GPIO16 - data_pin: GPIO17 - read_pin: GPIO12 - write_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/tm1621/test.esp32-c3-ard.yaml b/tests/components/tm1621/test.esp32-c3-ard.yaml deleted file mode 100644 index 562ced7485..0000000000 --- a/tests/components/tm1621/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - cs_pin: GPIO6 - data_pin: GPIO7 - read_pin: GPIO2 - write_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/tm1637/test.esp32-ard.yaml b/tests/components/tm1637/test.esp32-ard.yaml deleted file mode 100644 index 2c5786c47c..0000000000 --- a/tests/components/tm1637/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO14 - dio_pin: GPIO13 - -<<: !include common.yaml diff --git a/tests/components/tm1637/test.esp32-c3-ard.yaml b/tests/components/tm1637/test.esp32-c3-ard.yaml deleted file mode 100644 index 96f6708a3b..0000000000 --- a/tests/components/tm1637/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clk_pin: GPIO4 - dio_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/tm1638/test.esp32-ard.yaml b/tests/components/tm1638/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1638/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tm1638/test.esp32-c3-ard.yaml b/tests/components/tm1638/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1638/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tm1651/test.esp32-ard.yaml b/tests/components/tm1651/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1651/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tm1651/test.esp32-c3-ard.yaml b/tests/components/tm1651/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tm1651/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tmp102/test.esp32-ard.yaml b/tests/components/tmp102/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tmp102/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tmp102/test.esp32-c3-ard.yaml b/tests/components/tmp102/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tmp102/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp32-ard.yaml b/tests/components/tmp1075/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tmp1075/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp32-c3-ard.yaml b/tests/components/tmp1075/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tmp1075/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tmp117/test.esp32-ard.yaml b/tests/components/tmp117/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tmp117/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tmp117/test.esp32-c3-ard.yaml b/tests/components/tmp117/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tmp117/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tof10120/test.esp32-ard.yaml b/tests/components/tof10120/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tof10120/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tof10120/test.esp32-c3-ard.yaml b/tests/components/tof10120/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tof10120/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tormatic/test.esp32-ard.yaml b/tests/components/tormatic/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/tormatic/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/tormatic/test.esp32-c3-ard.yaml b/tests/components/tormatic/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/tormatic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/toshiba/test.esp32-ard.yaml b/tests/components/toshiba/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/toshiba/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/toshiba/test.esp32-c3-ard.yaml b/tests/components/toshiba/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/toshiba/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/total_daily_energy/test.esp32-ard.yaml b/tests/components/total_daily_energy/test.esp32-ard.yaml deleted file mode 100644 index 8b42b21b54..0000000000 --- a/tests/components/total_daily_energy/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 - -<<: !include common.yaml diff --git a/tests/components/total_daily_energy/test.esp32-c3-ard.yaml b/tests/components/total_daily_energy/test.esp32-c3-ard.yaml deleted file mode 100644 index 8b0d069ce2..0000000000 --- a/tests/components/total_daily_energy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - sel_pin: GPIO2 - cf_pin: GPIO3 - cf1_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp32-ard.yaml b/tests/components/tsl2561/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tsl2561/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp32-c3-ard.yaml b/tests/components/tsl2561/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tsl2561/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp32-ard.yaml b/tests/components/tsl2591/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/tsl2591/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp32-c3-ard.yaml b/tests/components/tsl2591/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/tsl2591/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tt21100/test.esp32-ard.yaml b/tests/components/tt21100/test.esp32-ard.yaml deleted file mode 100644 index 05598719f9..0000000000 --- a/tests/components/tt21100/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 - interrupt_pin: GPIO15 - reset_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/tt21100/test.esp32-c3-ard.yaml b/tests/components/tt21100/test.esp32-c3-ard.yaml deleted file mode 100644 index 36a8ce2778..0000000000 --- a/tests/components/tt21100/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 - interrupt_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp32-ard.yaml b/tests/components/ttp229_bsf/test.esp32-ard.yaml deleted file mode 100644 index 80ed75293f..0000000000 --- a/tests/components/ttp229_bsf/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sdo_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp32-c3-ard.yaml b/tests/components/ttp229_bsf/test.esp32-c3-ard.yaml deleted file mode 100644 index 135b213edc..0000000000 --- a/tests/components/ttp229_bsf/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp32-ard.yaml b/tests/components/ttp229_lsf/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ttp229_lsf/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp32-c3-ard.yaml b/tests/components/ttp229_lsf/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ttp229_lsf/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/tuya/test.esp32-ard.yaml b/tests/components/tuya/test.esp32-ard.yaml deleted file mode 100644 index 926a46cf73..0000000000 --- a/tests/components/tuya/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - status_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/tuya/test.esp32-c3-ard.yaml b/tests/components/tuya/test.esp32-c3-ard.yaml deleted file mode 100644 index c62a0b10f6..0000000000 --- a/tests/components/tuya/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - status_pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/tx20/test.esp32-ard.yaml b/tests/components/tx20/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tx20/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/tx20/test.esp32-c3-ard.yaml b/tests/components/tx20/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/tx20/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml b/tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml deleted file mode 100644 index 602766869c..0000000000 --- a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-c3-ard.yaml +++ /dev/null @@ -1,36 +0,0 @@ -<<: !include ../logger/common-usb_cdc.yaml - -esphome: - on_boot: - then: - - uart.write: - id: uart_1 - data: 'Hello World' - - uart.write: - id: uart_1 - data: [0x00, 0x20, 0x42] - -uart: - - id: uart_1 - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_2 - tx_pin: 7 - rx_pin: 8 - flow_control_pin: 9 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml b/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml deleted file mode 100644 index 602766869c..0000000000 --- a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s2-ard.yaml +++ /dev/null @@ -1,36 +0,0 @@ -<<: !include ../logger/common-usb_cdc.yaml - -esphome: - on_boot: - then: - - uart.write: - id: uart_1 - data: 'Hello World' - - uart.write: - id: uart_1 - data: [0x00, 0x20, 0x42] - -uart: - - id: uart_1 - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_2 - tx_pin: 7 - rx_pin: 8 - flow_control_pin: 9 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml b/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml deleted file mode 100644 index 4af255e1e4..0000000000 --- a/tests/components/uart/test-uart_max_with_usb_cdc.esp32-s3-ard.yaml +++ /dev/null @@ -1,48 +0,0 @@ -<<: !include ../logger/common-usb_cdc.yaml - -esphome: - on_boot: - then: - - uart.write: - id: uart_1 - data: 'Hello World' - - uart.write: - id: uart_1 - data: [0x00, 0x20, 0x42] - -uart: - - id: uart_1 - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_2 - tx_pin: 7 - rx_pin: 8 - flow_control_pin: 9 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 - - - id: uart_3 - tx_pin: 10 - rx_pin: 11 - flow_control_pin: 12 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test.esp32-ard.yaml b/tests/components/uart/test.esp32-ard.yaml deleted file mode 100644 index a201185309..0000000000 --- a/tests/components/uart/test.esp32-ard.yaml +++ /dev/null @@ -1,18 +0,0 @@ -esphome: - on_boot: - then: - - uart.write: 'Hello World' - - uart.write: [0x00, 0x20, 0x42] - -uart: - - id: uart_uart - tx_pin: 17 - rx_pin: 16 - flow_control_pin: 4 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/uart/test.esp32-c3-ard.yaml b/tests/components/uart/test.esp32-c3-ard.yaml deleted file mode 100644 index b053290a8b..0000000000 --- a/tests/components/uart/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,18 +0,0 @@ -esphome: - on_boot: - then: - - uart.write: 'Hello World' - - uart.write: [0x00, 0x20, 0x42] - -uart: - - id: uart_uart - tx_pin: 4 - rx_pin: 5 - flow_control_pin: 6 - baud_rate: 9600 - data_bits: 8 - rx_buffer_size: 512 - rx_full_threshold: 10 - rx_timeout: 1 - parity: EVEN - stop_bits: 2 diff --git a/tests/components/udp/test.esp32-ard.yaml b/tests/components/udp/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/udp/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/udp/test.esp32-c3-ard.yaml b/tests/components/udp/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/udp/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp32-ard.yaml b/tests/components/ufire_ec/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ufire_ec/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp32-c3-ard.yaml b/tests/components/ufire_ec/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ufire_ec/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp32-ard.yaml b/tests/components/ufire_ise/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/ufire_ise/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp32-c3-ard.yaml b/tests/components/ufire_ise/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/ufire_ise/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/uln2003/test.esp32-ard.yaml b/tests/components/uln2003/test.esp32-ard.yaml deleted file mode 100644 index ee4cff0923..0000000000 --- a/tests/components/uln2003/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_a: GPIO12 - pin_b: GPIO13 - pin_c: GPIO14 - pin_d: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/uln2003/test.esp32-c3-ard.yaml b/tests/components/uln2003/test.esp32-c3-ard.yaml deleted file mode 100644 index 11d16a4d5d..0000000000 --- a/tests/components/uln2003/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - pin_a: GPIO0 - pin_b: GPIO1 - pin_c: GPIO2 - pin_d: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/ultrasonic/test.esp32-ard.yaml b/tests/components/ultrasonic/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ultrasonic/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/ultrasonic/test.esp32-c3-ard.yaml b/tests/components/ultrasonic/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ultrasonic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/update/test.esp32-ard.yaml b/tests/components/update/test.esp32-ard.yaml deleted file mode 100644 index c1937b5a10..0000000000 --- a/tests/components/update/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - verify_ssl: "false" - -<<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp32-ard.yaml b/tests/components/uponor_smatrix/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/uponor_smatrix/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp32-c3-ard.yaml b/tests/components/uponor_smatrix/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/uponor_smatrix/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/uptime/test.esp32-ard.yaml b/tests/components/uptime/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/uptime/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/uptime/test.esp32-c3-ard.yaml b/tests/components/uptime/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/uptime/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/vbus/test.esp32-ard.yaml b/tests/components/vbus/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/vbus/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/vbus/test.esp32-c3-ard.yaml b/tests/components/vbus/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/vbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/veml3235/test.esp32-ard.yaml b/tests/components/veml3235/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/veml3235/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/veml3235/test.esp32-c3-ard.yaml b/tests/components/veml3235/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/veml3235/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/veml7700/test.esp32-ard.yaml b/tests/components/veml7700/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/veml7700/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/veml7700/test.esp32-c3-ard.yaml b/tests/components/veml7700/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/veml7700/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/version/test.esp32-ard.yaml b/tests/components/version/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/version/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/version/test.esp32-c3-ard.yaml b/tests/components/version/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/version/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp32-ard.yaml b/tests/components/vl53l0x/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/vl53l0x/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp32-c3-ard.yaml b/tests/components/vl53l0x/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/vl53l0x/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/voice_assistant/test.esp32-ard.yaml b/tests/components/voice_assistant/test.esp32-ard.yaml deleted file mode 100644 index f6e553f9dc..0000000000 --- a/tests/components/voice_assistant/test.esp32-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - i2s_lrclk_pin: GPIO16 - i2s_bclk_pin: GPIO17 - i2s_mclk_pin: GPIO15 - i2s_din_pin: GPIO13 - i2s_dout_pin: GPIO12 - -<<: !include common.yaml diff --git a/tests/components/voice_assistant/test.esp32-c3-ard.yaml b/tests/components/voice_assistant/test.esp32-c3-ard.yaml deleted file mode 100644 index f596d927cb..0000000000 --- a/tests/components/voice_assistant/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,8 +0,0 @@ -substitutions: - i2s_lrclk_pin: GPIO6 - i2s_bclk_pin: GPIO7 - i2s_mclk_pin: GPIO5 - i2s_din_pin: GPIO3 - i2s_dout_pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp32-ard.yaml b/tests/components/wake_on_lan/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wake_on_lan/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp32-c3-ard.yaml b/tests/components/wake_on_lan/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wake_on_lan/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp32-ard.yaml b/tests/components/waveshare_epaper/test.esp32-ard.yaml deleted file mode 100644 index c36345b984..0000000000 --- a/tests/components/waveshare_epaper/test.esp32-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO18 - mosi_pin: GPIO23 - cs_pin: GPIO25 - dc_pin: GPIO26 - busy_pin: GPIO27 - reset_pin: GPIO32 - -<<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp32-c3-ard.yaml b/tests/components/waveshare_epaper/test.esp32-c3-ard.yaml deleted file mode 100644 index 4cb230f6f2..0000000000 --- a/tests/components/waveshare_epaper/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO4 - dc_pin: GPIO1 - busy_pin: GPIO2 - reset_pin: GPIO3 - -<<: !include common.yaml diff --git a/tests/components/whirlpool/test.esp32-ard.yaml b/tests/components/whirlpool/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whirlpool/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/whirlpool/test.esp32-c3-ard.yaml b/tests/components/whirlpool/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whirlpool/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/whynter/test.esp32-ard.yaml b/tests/components/whynter/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whynter/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/whynter/test.esp32-c3-ard.yaml b/tests/components/whynter/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/whynter/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/wiegand/test.esp32-ard.yaml b/tests/components/wiegand/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wiegand/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wiegand/test.esp32-c3-ard.yaml b/tests/components/wiegand/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wiegand/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi/test-eap.esp32-ard.yaml b/tests/components/wifi/test-eap.esp32-ard.yaml deleted file mode 100644 index 9177e5de10..0000000000 --- a/tests/components/wifi/test-eap.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-eap.yaml diff --git a/tests/components/wifi/test.esp32-ard.yaml b/tests/components/wifi/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi/test.esp32-c3-ard.yaml b/tests/components/wifi/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp32-ard.yaml b/tests/components/wifi_info/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_info/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp32-c3-ard.yaml b/tests/components/wifi_info/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_info/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_signal/test.esp32-ard.yaml b/tests/components/wifi_signal/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_signal/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wifi_signal/test.esp32-c3-ard.yaml b/tests/components/wifi_signal/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wifi_signal/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wireguard/test.esp32-ard.yaml b/tests/components/wireguard/test.esp32-ard.yaml deleted file mode 100644 index 2798f8e566..0000000000 --- a/tests/components/wireguard/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -<<: !include common.yaml - -network: - enable_ipv6: true diff --git a/tests/components/wireguard/test.esp32-c3-ard.yaml b/tests/components/wireguard/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/wireguard/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-ard.yaml b/tests/components/wk2132_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2132_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2132_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2132_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-ard.yaml b/tests/components/wk2132_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2132_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-s3-ard.yaml b/tests/components/wk2132_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2132_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-ard.yaml b/tests/components/wk2168_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2168_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2168_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2168_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-ard.yaml b/tests/components/wk2168_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2168_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-s3-ard.yaml b/tests/components/wk2168_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2168_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-ard.yaml b/tests/components/wk2204_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2204_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2204_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2204_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-ard.yaml b/tests/components/wk2204_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2204_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-s3-ard.yaml b/tests/components/wk2204_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2204_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-ard.yaml b/tests/components/wk2212_i2c/test.esp32-ard.yaml deleted file mode 100644 index 3b761d3fc1..0000000000 --- a/tests/components/wk2212_i2c/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 - -<<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-s3-ard.yaml b/tests/components/wk2212_i2c/test.esp32-s3-ard.yaml deleted file mode 100644 index 4942e3c2b3..0000000000 --- a/tests/components/wk2212_i2c/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 - -<<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-ard.yaml b/tests/components/wk2212_spi/test.esp32-ard.yaml deleted file mode 100644 index 76e7138ab0..0000000000 --- a/tests/components/wk2212_spi/test.esp32-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 - cs_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-s3-ard.yaml b/tests/components/wk2212_spi/test.esp32-s3-ard.yaml deleted file mode 100644 index b0aadf620a..0000000000 --- a/tests/components/wk2212_spi/test.esp32-s3-ard.yaml +++ /dev/null @@ -1,7 +0,0 @@ -substitutions: - clk_pin: GPIO40 - miso_pin: GPIO41 - mosi_pin: GPIO6 - cs_pin: GPIO19 - -<<: !include common.yaml diff --git a/tests/components/wl_134/test.esp32-ard.yaml b/tests/components/wl_134/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/wl_134/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/wl_134/test.esp32-c3-ard.yaml b/tests/components/wl_134/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/wl_134/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wts01/test.esp32-ard.yaml b/tests/components/wts01/test.esp32-ard.yaml deleted file mode 100644 index 4904e1f54f..0000000000 --- a/tests/components/wts01/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO16 - rx_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/wts01/test.esp32-c3-ard.yaml b/tests/components/wts01/test.esp32-c3-ard.yaml deleted file mode 100644 index 00cec5b3b8..0000000000 --- a/tests/components/wts01/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO6 - rx_pin: GPIO7 - -<<: !include common.yaml diff --git a/tests/components/x9c/test.esp32-ard.yaml b/tests/components/x9c/test.esp32-ard.yaml deleted file mode 100644 index 6dfe3a67eb..0000000000 --- a/tests/components/x9c/test.esp32-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - cs_pin: GPIO13 - inc_pin: GPIO14 - ud_pin: GPIO15 - -<<: !include common.yaml diff --git a/tests/components/x9c/test.esp32-c3-ard.yaml b/tests/components/x9c/test.esp32-c3-ard.yaml deleted file mode 100644 index b06e15a98c..0000000000 --- a/tests/components/x9c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - cs_pin: GPIO3 - inc_pin: GPIO4 - ud_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp32-ard.yaml b/tests/components/xgzp68xx/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/xgzp68xx/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp32-c3-ard.yaml b/tests/components/xgzp68xx/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/xgzp68xx/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-ard.yaml b/tests/components/xiaomi_ble/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_ble/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-c3-ard.yaml b/tests/components/xiaomi_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-ard.yaml b/tests/components/xiaomi_cgd1/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgd1/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgd1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-ard.yaml b/tests/components/xiaomi_cgdk2/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgdk2/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgdk2/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-ard.yaml b/tests/components/xiaomi_cgg1/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgg1/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgg1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-ard.yaml b/tests/components/xiaomi_cgpr1/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgpr1/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml b/tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_cgpr1/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-ard.yaml b/tests/components/xiaomi_gcls002/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_gcls002/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml b/tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_gcls002/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccpot002/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_hhccpot002/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-ard.yaml b/tests/components/xiaomi_lywsd02/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-ard.yaml b/tests/components/xiaomi_mhoc303/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc303/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc303/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-ard.yaml b/tests/components/xiaomi_mhoc401/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc401/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mhoc401/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-ard.yaml b/tests/components/xiaomi_miscale/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml b/tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mue4094rt/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_mue4094rt/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-ard.yaml b/tests/components/xiaomi_wx08zm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_wx08zm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml b/tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_wx08zm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xl9535/test.esp32-ard.yaml b/tests/components/xl9535/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/xl9535/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/xl9535/test.esp32-c3-ard.yaml b/tests/components/xl9535/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/xl9535/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp32-ard.yaml b/tests/components/xpt2046/test.esp32-ard.yaml deleted file mode 100644 index b39174947b..0000000000 --- a/tests/components/xpt2046/test.esp32-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - clk_pin: GPIO17 - mosi_pin: GPIO18 - miso_pin: GPIO19 - dc_pin: GPIO13 - cs_pin: GPIO14 - disp_cs_pin: GPIO4 - interrupt_pin: GPIO21 - reset_pin: GPIO22 - -<<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp32-c3-ard.yaml b/tests/components/xpt2046/test.esp32-c3-ard.yaml deleted file mode 100644 index 79b84902ac..0000000000 --- a/tests/components/xpt2046/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,11 +0,0 @@ -substitutions: - clk_pin: GPIO4 - mosi_pin: GPIO5 - miso_pin: GPIO6 - dc_pin: GPIO7 - cs_pin: GPIO0 - disp_cs_pin: GPIO1 - interrupt_pin: GPIO3 - reset_pin: GPIO10 - -<<: !include common.yaml diff --git a/tests/components/yashima/test.esp32-ard.yaml b/tests/components/yashima/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/yashima/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/yashima/test.esp32-c3-ard.yaml b/tests/components/yashima/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/yashima/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/zhlt01/test.esp32-ard.yaml b/tests/components/zhlt01/test.esp32-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/zhlt01/test.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/zhlt01/test.esp32-c3-ard.yaml b/tests/components/zhlt01/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/zhlt01/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp32-ard.yaml b/tests/components/zio_ultrasonic/test.esp32-ard.yaml deleted file mode 100644 index 63c3bd6afd..0000000000 --- a/tests/components/zio_ultrasonic/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml b/tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/zio_ultrasonic/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp32-ard.yaml b/tests/components/zwave_proxy/test.esp32-ard.yaml deleted file mode 100644 index f486544afa..0000000000 --- a/tests/components/zwave_proxy/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - -<<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp32-c3-ard.yaml b/tests/components/zwave_proxy/test.esp32-c3-ard.yaml deleted file mode 100644 index b516342f3b..0000000000 --- a/tests/components/zwave_proxy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/zyaura/test.esp32-ard.yaml b/tests/components/zyaura/test.esp32-ard.yaml deleted file mode 100644 index d295973e3f..0000000000 --- a/tests/components/zyaura/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 - -<<: !include common.yaml diff --git a/tests/components/zyaura/test.esp32-c3-ard.yaml b/tests/components/zyaura/test.esp32-c3-ard.yaml deleted file mode 100644 index 7808481215..0000000000 --- a/tests/components/zyaura/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - -<<: !include common.yaml From 1fac1935355424fe9b651b0299fa0ae8bb94c105 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 08:45:45 -1000 Subject: [PATCH 045/201] [ci][ethernet][tests] Remove redundant Arduino tests for ethernet PHYs (#11137) --- tests/components/ethernet/test-dm9051.esp32-ard.yaml | 1 - tests/components/ethernet/test-dp83848.esp32-ard.yaml | 1 - tests/components/ethernet/test-ip101.esp32-ard.yaml | 1 - tests/components/ethernet/test-ksz8081.esp32-ard.yaml | 1 - tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml | 1 - tests/components/ethernet/test-lan8670.esp32-ard.yaml | 1 - tests/components/ethernet/test-lan8720.esp32-ard.yaml | 1 - tests/components/ethernet/test-rtl8201.esp32-ard.yaml | 1 - tests/components/ethernet/test-w5500.esp32-ard.yaml | 1 - 9 files changed, 9 deletions(-) delete mode 100644 tests/components/ethernet/test-dm9051.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-dp83848.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-ip101.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-ksz8081.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-lan8670.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-lan8720.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-rtl8201.esp32-ard.yaml delete mode 100644 tests/components/ethernet/test-w5500.esp32-ard.yaml diff --git a/tests/components/ethernet/test-dm9051.esp32-ard.yaml b/tests/components/ethernet/test-dm9051.esp32-ard.yaml deleted file mode 100644 index 23e3b97740..0000000000 --- a/tests/components/ethernet/test-dm9051.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-dm9051.yaml diff --git a/tests/components/ethernet/test-dp83848.esp32-ard.yaml b/tests/components/ethernet/test-dp83848.esp32-ard.yaml deleted file mode 100644 index 906bfba17c..0000000000 --- a/tests/components/ethernet/test-dp83848.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-dp83848.yaml diff --git a/tests/components/ethernet/test-ip101.esp32-ard.yaml b/tests/components/ethernet/test-ip101.esp32-ard.yaml deleted file mode 100644 index e52329d7ea..0000000000 --- a/tests/components/ethernet/test-ip101.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ip101.yaml diff --git a/tests/components/ethernet/test-ksz8081.esp32-ard.yaml b/tests/components/ethernet/test-ksz8081.esp32-ard.yaml deleted file mode 100644 index 8f3c750c77..0000000000 --- a/tests/components/ethernet/test-ksz8081.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ksz8081.yaml diff --git a/tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml b/tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml deleted file mode 100644 index a48e591996..0000000000 --- a/tests/components/ethernet/test-ksz8081rna.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-ksz8081rna.yaml diff --git a/tests/components/ethernet/test-lan8670.esp32-ard.yaml b/tests/components/ethernet/test-lan8670.esp32-ard.yaml deleted file mode 100644 index 914a06ae88..0000000000 --- a/tests/components/ethernet/test-lan8670.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-lan8670.yaml diff --git a/tests/components/ethernet/test-lan8720.esp32-ard.yaml b/tests/components/ethernet/test-lan8720.esp32-ard.yaml deleted file mode 100644 index 3df9ac874a..0000000000 --- a/tests/components/ethernet/test-lan8720.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-lan8720.yaml diff --git a/tests/components/ethernet/test-rtl8201.esp32-ard.yaml b/tests/components/ethernet/test-rtl8201.esp32-ard.yaml deleted file mode 100644 index e69f88dc94..0000000000 --- a/tests/components/ethernet/test-rtl8201.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-rtl8201.yaml diff --git a/tests/components/ethernet/test-w5500.esp32-ard.yaml b/tests/components/ethernet/test-w5500.esp32-ard.yaml deleted file mode 100644 index 36f1b5365f..0000000000 --- a/tests/components/ethernet/test-w5500.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-w5500.yaml From a2cb415dfa72292f0da8509262081b1e5452609a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 09:17:04 -1000 Subject: [PATCH 046/201] [ci][improv_serial][tests] Remove redundant ESP32 Arduino test files (#11138) --- tests/components/improv_serial/test-uart0.esp32-ard.yaml | 1 - tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml | 1 - tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml | 1 - tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml | 1 - tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml | 1 - tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml | 1 - tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml | 1 - 7 files changed, 7 deletions(-) delete mode 100644 tests/components/improv_serial/test-uart0.esp32-ard.yaml delete mode 100644 tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml delete mode 100644 tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml delete mode 100644 tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml delete mode 100644 tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml delete mode 100644 tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml delete mode 100644 tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml b/tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml deleted file mode 100644 index ef8c799241..0000000000 --- a/tests/components/improv_serial/test-uart0.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-uart0.yaml diff --git a/tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml b/tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/improv_serial/test-usb_cdc.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml diff --git a/tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml b/tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/improv_serial/test-usb_cdc.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml diff --git a/tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml b/tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/improv_serial/test-usb_cdc.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml From 842cb9033aa28c1ecaa11ceb49e5ff378040a7f3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 10:01:58 -1000 Subject: [PATCH 047/201] [mdns] Store TXT record values in flash to reduce heap usage (#11114) --- .../dashboard_import/dashboard_import.cpp | 2 +- .../dashboard_import/dashboard_import.h | 2 +- esphome/components/mdns/__init__.py | 56 ++++++--- esphome/components/mdns/mdns_component.cpp | 107 +++++++++--------- esphome/components/mdns/mdns_component.h | 13 ++- esphome/components/mdns/mdns_esp32.cpp | 12 +- esphome/components/mdns/mdns_esp8266.cpp | 2 +- esphome/components/mdns/mdns_libretiny.cpp | 3 +- esphome/components/mdns/mdns_rp2040.cpp | 3 +- esphome/components/openthread/openthread.cpp | 8 +- esphome/core/defines.h | 1 + .../mdns/test-comprehensive.esp8266-ard.yaml | 3 + 12 files changed, 119 insertions(+), 93 deletions(-) diff --git a/esphome/components/dashboard_import/dashboard_import.cpp b/esphome/components/dashboard_import/dashboard_import.cpp index 6875fd61a5..c04696fd53 100644 --- a/esphome/components/dashboard_import/dashboard_import.cpp +++ b/esphome/components/dashboard_import/dashboard_import.cpp @@ -5,7 +5,7 @@ namespace dashboard_import { static std::string g_package_import_url; // NOLINT -std::string get_package_import_url() { return g_package_import_url; } +const std::string &get_package_import_url() { return g_package_import_url; } void set_package_import_url(std::string url) { g_package_import_url = std::move(url); } } // namespace dashboard_import diff --git a/esphome/components/dashboard_import/dashboard_import.h b/esphome/components/dashboard_import/dashboard_import.h index 0ca2994aab..edcda6b803 100644 --- a/esphome/components/dashboard_import/dashboard_import.h +++ b/esphome/components/dashboard_import/dashboard_import.h @@ -5,7 +5,7 @@ namespace esphome { namespace dashboard_import { -std::string get_package_import_url(); +const std::string &get_package_import_url(); void set_package_import_url(std::string url); } // namespace dashboard_import diff --git a/esphome/components/mdns/__init__.py b/esphome/components/mdns/__init__.py index 3fa4d2ebef..6e148092fe 100644 --- a/esphome/components/mdns/__init__.py +++ b/esphome/components/mdns/__init__.py @@ -58,14 +58,6 @@ CONFIG_SCHEMA = cv.All( ) -def mdns_txt_record(key: str, value: str): - return cg.StructInitializer( - MDNSTXTRecord, - ("key", cg.RawExpression(f"MDNS_STR({cg.safe_exp(key)})")), - ("value", value), - ) - - def mdns_service( service: str, proto: str, port: int, txt_records: list[dict[str, str]] ): @@ -107,23 +99,53 @@ async def to_code(config): # Ensure at least 1 service (fallback service) cg.add_define("MDNS_SERVICE_COUNT", max(1, service_count)) + # Calculate compile-time dynamic TXT value count + # Dynamic values are those that cannot be stored in flash at compile time + dynamic_txt_count = 0 + if "api" in CORE.config: + # Always: get_mac_address() + dynamic_txt_count += 1 + # User-provided templatable TXT values (only lambdas, not static strings) + dynamic_txt_count += sum( + 1 + for service in config[CONF_SERVICES] + for txt_value in service[CONF_TXT].values() + if cg.is_template(txt_value) + ) + + # Ensure at least 1 to avoid zero-size array + cg.add_define("MDNS_DYNAMIC_TXT_COUNT", max(1, dynamic_txt_count)) + var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) for service in config[CONF_SERVICES]: - txt = [ - cg.StructInitializer( - MDNSTXTRecord, - ("key", cg.RawExpression(f"MDNS_STR({cg.safe_exp(txt_key)})")), - ("value", await cg.templatable(txt_value, [], cg.std_string)), - ) - for txt_key, txt_value in service[CONF_TXT].items() - ] + # Build the txt records list for the service + txt_records = [] + for txt_key, txt_value in service[CONF_TXT].items(): + if cg.is_template(txt_value): + # It's a lambda - evaluate and store using helper + templated_value = await cg.templatable(txt_value, [], cg.std_string) + safe_key = cg.safe_exp(txt_key) + dynamic_call = f"{var}->add_dynamic_txt_value(({templated_value})())" + txt_records.append( + cg.RawExpression( + f"{{MDNS_STR({safe_key}), MDNS_STR({dynamic_call})}}" + ) + ) + else: + # It's a static string - use directly in flash, no need to store in vector + txt_records.append( + cg.RawExpression( + f"{{MDNS_STR({cg.safe_exp(txt_key)}), MDNS_STR({cg.safe_exp(txt_value)})}}" + ) + ) + exp = mdns_service( service[CONF_SERVICE], service[CONF_PROTOCOL], await cg.templatable(service[CONF_PORT], [], cg.uint16), - txt, + txt_records, ) cg.add(var.add_extra_service(exp)) diff --git a/esphome/components/mdns/mdns_component.cpp b/esphome/components/mdns/mdns_component.cpp index 8945053b7d..9cb664c3c3 100644 --- a/esphome/components/mdns/mdns_component.cpp +++ b/esphome/components/mdns/mdns_component.cpp @@ -9,21 +9,9 @@ #include // Macro to define strings in PROGMEM on ESP8266, regular memory on other platforms #define MDNS_STATIC_CONST_CHAR(name, value) static const char name[] PROGMEM = value -// Helper to convert PROGMEM string to std::string for TemplatableValue -// Only define this function if we have services that will use it -#if defined(USE_API) || defined(USE_PROMETHEUS) || defined(USE_WEBSERVER) || defined(USE_MDNS_EXTRA_SERVICES) -static std::string mdns_str_value(PGM_P str) { - char buf[64]; - strncpy_P(buf, str, sizeof(buf) - 1); - buf[sizeof(buf) - 1] = '\0'; - return std::string(buf); -} -#define MDNS_STR_VALUE(name) mdns_str_value(name) -#endif #else // On non-ESP8266 platforms, use regular const char* #define MDNS_STATIC_CONST_CHAR(name, value) static constexpr const char name[] = value -#define MDNS_STR_VALUE(name) std::string(name) #endif #ifdef USE_API @@ -43,30 +31,10 @@ static const char *const TAG = "mdns"; #endif // Define all constant strings using the macro -MDNS_STATIC_CONST_CHAR(SERVICE_ESPHOMELIB, "_esphomelib"); MDNS_STATIC_CONST_CHAR(SERVICE_TCP, "_tcp"); -MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http"); -MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); -MDNS_STATIC_CONST_CHAR(TXT_FRIENDLY_NAME, "friendly_name"); -MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version"); -MDNS_STATIC_CONST_CHAR(TXT_MAC, "mac"); -MDNS_STATIC_CONST_CHAR(TXT_PLATFORM, "platform"); -MDNS_STATIC_CONST_CHAR(TXT_BOARD, "board"); -MDNS_STATIC_CONST_CHAR(TXT_NETWORK, "network"); -MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION, "api_encryption"); -MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION_SUPPORTED, "api_encryption_supported"); -MDNS_STATIC_CONST_CHAR(TXT_PROJECT_NAME, "project_name"); -MDNS_STATIC_CONST_CHAR(TXT_PROJECT_VERSION, "project_version"); -MDNS_STATIC_CONST_CHAR(TXT_PACKAGE_IMPORT_URL, "package_import_url"); - -MDNS_STATIC_CONST_CHAR(PLATFORM_ESP8266, "ESP8266"); -MDNS_STATIC_CONST_CHAR(PLATFORM_ESP32, "ESP32"); -MDNS_STATIC_CONST_CHAR(PLATFORM_RP2040, "RP2040"); - -MDNS_STATIC_CONST_CHAR(NETWORK_WIFI, "wifi"); -MDNS_STATIC_CONST_CHAR(NETWORK_ETHERNET, "ethernet"); -MDNS_STATIC_CONST_CHAR(NETWORK_THREAD, "thread"); +// Wrap build-time defines into flash storage +MDNS_STATIC_CONST_CHAR(VALUE_VERSION, ESPHOME_VERSION); void MDNSComponent::compile_records_() { this->hostname_ = App.get_name(); @@ -75,6 +43,15 @@ void MDNSComponent::compile_records_() { // in mdns/__init__.py. If you add a new service here, update both locations. #ifdef USE_API + MDNS_STATIC_CONST_CHAR(SERVICE_ESPHOMELIB, "_esphomelib"); + MDNS_STATIC_CONST_CHAR(TXT_FRIENDLY_NAME, "friendly_name"); + MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version"); + MDNS_STATIC_CONST_CHAR(TXT_MAC, "mac"); + MDNS_STATIC_CONST_CHAR(TXT_PLATFORM, "platform"); + MDNS_STATIC_CONST_CHAR(TXT_BOARD, "board"); + MDNS_STATIC_CONST_CHAR(TXT_NETWORK, "network"); + MDNS_STATIC_CONST_CHAR(VALUE_BOARD, ESPHOME_BOARD); + if (api::global_api_server != nullptr) { auto &service = this->services_.emplace_next(); service.service_type = MDNS_STR(SERVICE_ESPHOMELIB); @@ -109,52 +86,66 @@ void MDNSComponent::compile_records_() { txt_records.reserve(txt_count); if (!friendly_name_empty) { - txt_records.push_back({MDNS_STR(TXT_FRIENDLY_NAME), friendly_name}); + txt_records.push_back({MDNS_STR(TXT_FRIENDLY_NAME), MDNS_STR(friendly_name.c_str())}); } - txt_records.push_back({MDNS_STR(TXT_VERSION), ESPHOME_VERSION}); - txt_records.push_back({MDNS_STR(TXT_MAC), get_mac_address()}); + txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}); + txt_records.push_back({MDNS_STR(TXT_MAC), MDNS_STR(this->add_dynamic_txt_value(get_mac_address()))}); #ifdef USE_ESP8266 - txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR_VALUE(PLATFORM_ESP8266)}); + MDNS_STATIC_CONST_CHAR(PLATFORM_ESP8266, "ESP8266"); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP8266)}); #elif defined(USE_ESP32) - txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR_VALUE(PLATFORM_ESP32)}); + MDNS_STATIC_CONST_CHAR(PLATFORM_ESP32, "ESP32"); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_ESP32)}); #elif defined(USE_RP2040) - txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR_VALUE(PLATFORM_RP2040)}); + MDNS_STATIC_CONST_CHAR(PLATFORM_RP2040, "RP2040"); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(PLATFORM_RP2040)}); #elif defined(USE_LIBRETINY) - txt_records.push_back({MDNS_STR(TXT_PLATFORM), lt_cpu_get_model_name()}); + txt_records.push_back({MDNS_STR(TXT_PLATFORM), MDNS_STR(lt_cpu_get_model_name())}); #endif - txt_records.push_back({MDNS_STR(TXT_BOARD), ESPHOME_BOARD}); + txt_records.push_back({MDNS_STR(TXT_BOARD), MDNS_STR(VALUE_BOARD)}); #if defined(USE_WIFI) - txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR_VALUE(NETWORK_WIFI)}); + MDNS_STATIC_CONST_CHAR(NETWORK_WIFI, "wifi"); + txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_WIFI)}); #elif defined(USE_ETHERNET) - txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR_VALUE(NETWORK_ETHERNET)}); + MDNS_STATIC_CONST_CHAR(NETWORK_ETHERNET, "ethernet"); + txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_ETHERNET)}); #elif defined(USE_OPENTHREAD) - txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR_VALUE(NETWORK_THREAD)}); + MDNS_STATIC_CONST_CHAR(NETWORK_THREAD, "thread"); + txt_records.push_back({MDNS_STR(TXT_NETWORK), MDNS_STR(NETWORK_THREAD)}); #endif #ifdef USE_API_NOISE + MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION, "api_encryption"); + MDNS_STATIC_CONST_CHAR(TXT_API_ENCRYPTION_SUPPORTED, "api_encryption_supported"); MDNS_STATIC_CONST_CHAR(NOISE_ENCRYPTION, "Noise_NNpsk0_25519_ChaChaPoly_SHA256"); - if (api::global_api_server->get_noise_ctx()->has_psk()) { - txt_records.push_back({MDNS_STR(TXT_API_ENCRYPTION), MDNS_STR_VALUE(NOISE_ENCRYPTION)}); - } else { - txt_records.push_back({MDNS_STR(TXT_API_ENCRYPTION_SUPPORTED), MDNS_STR_VALUE(NOISE_ENCRYPTION)}); - } + bool has_psk = api::global_api_server->get_noise_ctx()->has_psk(); + const char *encryption_key = has_psk ? TXT_API_ENCRYPTION : TXT_API_ENCRYPTION_SUPPORTED; + txt_records.push_back({MDNS_STR(encryption_key), MDNS_STR(NOISE_ENCRYPTION)}); #endif #ifdef ESPHOME_PROJECT_NAME - txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), ESPHOME_PROJECT_NAME}); - txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), ESPHOME_PROJECT_VERSION}); + MDNS_STATIC_CONST_CHAR(TXT_PROJECT_NAME, "project_name"); + MDNS_STATIC_CONST_CHAR(TXT_PROJECT_VERSION, "project_version"); + MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_NAME, ESPHOME_PROJECT_NAME); + MDNS_STATIC_CONST_CHAR(VALUE_PROJECT_VERSION, ESPHOME_PROJECT_VERSION); + txt_records.push_back({MDNS_STR(TXT_PROJECT_NAME), MDNS_STR(VALUE_PROJECT_NAME)}); + txt_records.push_back({MDNS_STR(TXT_PROJECT_VERSION), MDNS_STR(VALUE_PROJECT_VERSION)}); #endif // ESPHOME_PROJECT_NAME #ifdef USE_DASHBOARD_IMPORT - txt_records.push_back({MDNS_STR(TXT_PACKAGE_IMPORT_URL), dashboard_import::get_package_import_url()}); + MDNS_STATIC_CONST_CHAR(TXT_PACKAGE_IMPORT_URL, "package_import_url"); + txt_records.push_back( + {MDNS_STR(TXT_PACKAGE_IMPORT_URL), MDNS_STR(dashboard_import::get_package_import_url().c_str())}); #endif } #endif // USE_API #ifdef USE_PROMETHEUS + MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http"); + auto &prom_service = this->services_.emplace_next(); prom_service.service_type = MDNS_STR(SERVICE_PROMETHEUS); prom_service.proto = MDNS_STR(SERVICE_TCP); @@ -162,6 +153,8 @@ void MDNSComponent::compile_records_() { #endif #ifdef USE_WEBSERVER + MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); + auto &web_service = this->services_.emplace_next(); web_service.service_type = MDNS_STR(SERVICE_HTTP); web_service.proto = MDNS_STR(SERVICE_TCP); @@ -169,13 +162,16 @@ void MDNSComponent::compile_records_() { #endif #if !defined(USE_API) && !defined(USE_PROMETHEUS) && !defined(USE_WEBSERVER) && !defined(USE_MDNS_EXTRA_SERVICES) + MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); + MDNS_STATIC_CONST_CHAR(TXT_VERSION, "version"); + // Publish "http" service if not using native API or any other services // This is just to have *some* mDNS service so that .local resolution works auto &fallback_service = this->services_.emplace_next(); fallback_service.service_type = MDNS_STR(SERVICE_HTTP); fallback_service.proto = MDNS_STR(SERVICE_TCP); fallback_service.port = USE_WEBSERVER_PORT; - fallback_service.txt_records.push_back({MDNS_STR(TXT_VERSION), ESPHOME_VERSION}); + fallback_service.txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}); #endif } @@ -190,8 +186,7 @@ void MDNSComponent::dump_config() { ESP_LOGV(TAG, " - %s, %s, %d", MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), const_cast &>(service.port).value()); for (const auto &record : service.txt_records) { - ESP_LOGV(TAG, " TXT: %s = %s", MDNS_STR_ARG(record.key), - const_cast &>(record.value).value().c_str()); + ESP_LOGV(TAG, " TXT: %s = %s", MDNS_STR_ARG(record.key), MDNS_STR_ARG(record.value)); } } #endif diff --git a/esphome/components/mdns/mdns_component.h b/esphome/components/mdns/mdns_component.h index b1f73fbb32..141e42d976 100644 --- a/esphome/components/mdns/mdns_component.h +++ b/esphome/components/mdns/mdns_component.h @@ -27,7 +27,7 @@ struct MDNSString; struct MDNSTXTRecord { const MDNSString *key; - TemplatableValue value; + const MDNSString *value; }; struct MDNSService { @@ -59,6 +59,17 @@ class MDNSComponent : public Component { void on_shutdown() override; + /// Add a dynamic TXT value and return pointer to it for use in MDNSTXTRecord + const char *add_dynamic_txt_value(const std::string &value) { + this->dynamic_txt_values_.push_back(value); + return this->dynamic_txt_values_[this->dynamic_txt_values_.size() - 1].c_str(); + } + + /// Storage for runtime-generated TXT values (MAC address, user lambdas) + /// Pre-sized at compile time via MDNS_DYNAMIC_TXT_COUNT to avoid heap allocations. + /// Static/compile-time values (version, board, etc.) are stored directly in flash and don't use this. + StaticVector dynamic_txt_values_; + protected: StaticVector services_{}; std::string hostname_; diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index 40d305a1e6..e77c0b9b05 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -2,7 +2,6 @@ #if defined(USE_ESP32) && defined(USE_MDNS) #include -#include #include "esphome/core/hal.h" #include "esphome/core/log.h" #include "mdns_component.h" @@ -29,21 +28,16 @@ void MDNSComponent::setup() { std::vector txt_records; for (const auto &record : service.txt_records) { mdns_txt_item_t it{}; - // key is a compile-time string literal in flash, no need to strdup + // key and value are either compile-time string literals in flash or pointers to dynamic_txt_values_ + // Both remain valid for the lifetime of this function, and ESP-IDF makes internal copies it.key = MDNS_STR_ARG(record.key); - // value is a temporary from TemplatableValue, must strdup to keep it alive - it.value = strdup(const_cast &>(record.value).value().c_str()); + it.value = MDNS_STR_ARG(record.value); txt_records.push_back(it); } uint16_t port = const_cast &>(service.port).value(); err = mdns_service_add(nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port, txt_records.data(), txt_records.size()); - // free records - for (const auto &it : txt_records) { - free((void *) it.value); // NOLINT(cppcoreguidelines-no-malloc) - } - if (err != ESP_OK) { ESP_LOGW(TAG, "Failed to register service %s: %s", MDNS_STR_ARG(service.service_type), esp_err_to_name(err)); } diff --git a/esphome/components/mdns/mdns_esp8266.cpp b/esphome/components/mdns/mdns_esp8266.cpp index f1c8909807..f3779042ed 100644 --- a/esphome/components/mdns/mdns_esp8266.cpp +++ b/esphome/components/mdns/mdns_esp8266.cpp @@ -33,7 +33,7 @@ void MDNSComponent::setup() { MDNS.addService(FPSTR(service_type), FPSTR(proto), port); for (const auto &record : service.txt_records) { MDNS.addServiceTxt(FPSTR(service_type), FPSTR(proto), FPSTR(MDNS_STR_ARG(record.key)), - const_cast &>(record.value).value().c_str()); + FPSTR(MDNS_STR_ARG(record.value))); } } } diff --git a/esphome/components/mdns/mdns_libretiny.cpp b/esphome/components/mdns/mdns_libretiny.cpp index 9010ca2bc6..5540bf361a 100644 --- a/esphome/components/mdns/mdns_libretiny.cpp +++ b/esphome/components/mdns/mdns_libretiny.cpp @@ -32,8 +32,7 @@ void MDNSComponent::setup() { uint16_t port_ = const_cast &>(service.port).value(); MDNS.addService(service_type, proto, port_); for (const auto &record : service.txt_records) { - MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), - const_cast &>(record.value).value().c_str()); + MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), MDNS_STR_ARG(record.value)); } } } diff --git a/esphome/components/mdns/mdns_rp2040.cpp b/esphome/components/mdns/mdns_rp2040.cpp index 039453f501..5ad006f5d4 100644 --- a/esphome/components/mdns/mdns_rp2040.cpp +++ b/esphome/components/mdns/mdns_rp2040.cpp @@ -32,8 +32,7 @@ void MDNSComponent::setup() { uint16_t port = const_cast &>(service.port).value(); MDNS.addService(service_type, proto, port); for (const auto &record : service.txt_records) { - MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), - const_cast &>(record.value).value().c_str()); + MDNS.addServiceTxt(service_type, proto, MDNS_STR_ARG(record.key), MDNS_STR_ARG(record.value)); } } } diff --git a/esphome/components/openthread/openthread.cpp b/esphome/components/openthread/openthread.cpp index bc5dcadef6..b2c2519c08 100644 --- a/esphome/components/openthread/openthread.cpp +++ b/esphome/components/openthread/openthread.cpp @@ -180,10 +180,12 @@ void OpenThreadSrpComponent::setup() { entry->mService.mNumTxtEntries = service.txt_records.size(); for (size_t i = 0; i < service.txt_records.size(); i++) { const auto &txt = service.txt_records[i]; - auto value = const_cast &>(txt.value).value(); + // Value is either a compile-time string literal in flash or a pointer to dynamic_txt_values_ + // OpenThread SRP client expects the data to persist, so we strdup it + const char *value_str = MDNS_STR_ARG(txt.value); txt_entries[i].mKey = MDNS_STR_ARG(txt.key); - txt_entries[i].mValue = reinterpret_cast(strdup(value.c_str())); - txt_entries[i].mValueLength = value.size(); + txt_entries[i].mValue = reinterpret_cast(strdup(value_str)); + txt_entries[i].mValueLength = strlen(value_str); } entry->mService.mTxtEntries = txt_entries; entry->mService.mNumTxtEntries = service.txt_records.size(); diff --git a/esphome/core/defines.h b/esphome/core/defines.h index 2317c0ed32..0f1d1bcf28 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -84,6 +84,7 @@ #define USE_LVGL_TOUCHSCREEN #define USE_MDNS #define MDNS_SERVICE_COUNT 3 +#define MDNS_DYNAMIC_TXT_COUNT 3 #define USE_MEDIA_PLAYER #define USE_NEXTION_TFT_UPLOAD #define USE_NUMBER diff --git a/tests/components/mdns/test-comprehensive.esp8266-ard.yaml b/tests/components/mdns/test-comprehensive.esp8266-ard.yaml index 02767833a3..3129ca3143 100644 --- a/tests/components/mdns/test-comprehensive.esp8266-ard.yaml +++ b/tests/components/mdns/test-comprehensive.esp8266-ard.yaml @@ -25,6 +25,9 @@ mdns: - service: _http protocol: _tcp port: 80 + txt: + version: "1.0" + path: "/" # OTA should run at priority 54 (after mdns) ota: From e6c21df30b086883122d79bbc948880438034767 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 9 Oct 2025 17:27:36 -0400 Subject: [PATCH 048/201] [esp32] Update IDF 5.5 and Arduino 3.3 to use 55.03.31-1 (#11120) --- esphome/components/esp32/__init__.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 860f2450e6..a93af9c514 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -318,7 +318,8 @@ ARDUINO_FRAMEWORK_VERSION_LOOKUP = { "dev": cv.Version(3, 3, 1), } ARDUINO_PLATFORM_VERSION_LOOKUP = { - cv.Version(3, 3, 1): cv.Version(55, 3, 31), + cv.Version(3, 3, 2): cv.Version(55, 3, 31, "1"), + cv.Version(3, 3, 1): cv.Version(55, 3, 31, "1"), cv.Version(3, 3, 0): cv.Version(55, 3, 30, "2"), cv.Version(3, 2, 1): cv.Version(54, 3, 21, "2"), cv.Version(3, 2, 0): cv.Version(54, 3, 20), @@ -336,8 +337,8 @@ ESP_IDF_FRAMEWORK_VERSION_LOOKUP = { "dev": cv.Version(5, 5, 1), } ESP_IDF_PLATFORM_VERSION_LOOKUP = { - cv.Version(5, 5, 1): cv.Version(55, 3, 31), - cv.Version(5, 5, 0): cv.Version(55, 3, 31), + cv.Version(5, 5, 1): cv.Version(55, 3, 31, "1"), + cv.Version(5, 5, 0): cv.Version(55, 3, 31, "1"), cv.Version(5, 4, 2): cv.Version(54, 3, 21, "2"), cv.Version(5, 4, 1): cv.Version(54, 3, 21, "2"), cv.Version(5, 4, 0): cv.Version(54, 3, 21, "2"), @@ -352,8 +353,8 @@ ESP_IDF_PLATFORM_VERSION_LOOKUP = { # - https://github.com/pioarduino/platform-espressif32/releases PLATFORM_VERSION_LOOKUP = { "recommended": cv.Version(54, 3, 21, "2"), - "latest": cv.Version(55, 3, 31), - "dev": "https://github.com/pioarduino/platform-espressif32.git#develop", + "latest": cv.Version(55, 3, 31, "1"), + "dev": cv.Version(55, 3, 31, "1"), } From 8f04a5b9445b9b390ad4046427aa695ece5102ce Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:36:31 -1000 Subject: [PATCH 049/201] [esp32] Update migration warning for Arduino-as-IDF-component transition (#11142) --- esphome/components/esp32/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index a93af9c514..8247dac0b9 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -646,6 +646,7 @@ def _show_framework_migration_message(name: str, variant: str) -> None: + "Why change? ESP-IDF offers:\n" + color(AnsiFore.GREEN, " ✨ Up to 40% smaller binaries\n") + color(AnsiFore.GREEN, " 🚀 Better performance and optimization\n") + + color(AnsiFore.GREEN, " ⚡ 2-3x faster compile times\n") + color(AnsiFore.GREEN, " 📦 Custom-built firmware for your exact needs\n") + color( AnsiFore.GREEN, @@ -653,7 +654,6 @@ def _show_framework_migration_message(name: str, variant: str) -> None: ) + "\n" + "Trade-offs:\n" - + color(AnsiFore.YELLOW, " ⏱️ Compile times are ~25% longer\n") + color(AnsiFore.YELLOW, " 🔄 Some components need migration\n") + "\n" + "What should I do?\n" From b0c66c1c09e2a89664d7619a762a9e8787128ce8 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:40:47 -1000 Subject: [PATCH 050/201] [ci][mdns][tests] Remove redundant ESP32 Arduino test files (#11143) --- tests/components/mdns/test-enabled.esp32-ard.yaml | 1 - tests/components/mdns/test-enabled.esp32-c3-ard.yaml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 tests/components/mdns/test-enabled.esp32-ard.yaml delete mode 100644 tests/components/mdns/test-enabled.esp32-c3-ard.yaml diff --git a/tests/components/mdns/test-enabled.esp32-ard.yaml b/tests/components/mdns/test-enabled.esp32-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/mdns/test-enabled.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml diff --git a/tests/components/mdns/test-enabled.esp32-c3-ard.yaml b/tests/components/mdns/test-enabled.esp32-c3-ard.yaml deleted file mode 100644 index 97fd63d70e..0000000000 --- a/tests/components/mdns/test-enabled.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-enabled.yaml From dceed992d8ceee8f2933f17428a4bbcf4207d39b Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:42:25 -1000 Subject: [PATCH 051/201] [esp32_ble_beacon, esp32_ble_tracker] Remove unused Arduino includes and redundant tests (#11140) --- esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp | 4 ---- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp | 4 ---- tests/components/esp32_ble_beacon/test.esp32-ard.yaml | 1 - tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml | 1 - tests/components/esp32_ble_tracker/test.esp32-ard.yaml | 5 ----- tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml | 5 ----- 6 files changed, 20 deletions(-) delete mode 100644 tests/components/esp32_ble_beacon/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble_tracker/test.esp32-ard.yaml delete mode 100644 tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml diff --git a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp index 259628e00f..af28804013 100644 --- a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp +++ b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp @@ -14,10 +14,6 @@ #include "esphome/core/hal.h" #include "esphome/core/helpers.h" -#ifdef USE_ARDUINO -#include -#endif - namespace esphome { namespace esp32_ble_beacon { diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index a7d73a9709..83f59d492e 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -25,10 +25,6 @@ #include #endif -#ifdef USE_ARDUINO -#include -#endif - #define MBEDTLS_AES_ALT #include diff --git a/tests/components/esp32_ble_beacon/test.esp32-ard.yaml b/tests/components/esp32_ble_beacon/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_beacon/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble_beacon/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/esp32_ble_tracker/test.esp32-ard.yaml b/tests/components/esp32_ble_tracker/test.esp32-ard.yaml deleted file mode 100644 index 3bfdb8773f..0000000000 --- a/tests/components/esp32_ble_tracker/test.esp32-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -esp32_ble_tracker: - software_coexistence: true - max_connections: 3 diff --git a/tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml b/tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml deleted file mode 100644 index 2e3c48117a..0000000000 --- a/tests/components/esp32_ble_tracker/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -<<: !include common.yaml - -esp32_ble_tracker: - max_connections: 3 - software_coexistence: false From ac96a59d58cf9a3c70681873f1128dc1c38f2d40 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:56:53 -1000 Subject: [PATCH 052/201] [network][ci][tests] Remove redundant ESP32 Arduino test files (#11148) --- tests/components/network/test-ipv6.esp32-ard.yaml | 4 ---- tests/components/network/test-ipv6.esp32-c3-ard.yaml | 4 ---- tests/components/network/test.esp32-ard.yaml | 1 - tests/components/network/test.esp32-c3-ard.yaml | 1 - 4 files changed, 10 deletions(-) delete mode 100644 tests/components/network/test-ipv6.esp32-ard.yaml delete mode 100644 tests/components/network/test-ipv6.esp32-c3-ard.yaml delete mode 100644 tests/components/network/test.esp32-ard.yaml delete mode 100644 tests/components/network/test.esp32-c3-ard.yaml diff --git a/tests/components/network/test-ipv6.esp32-ard.yaml b/tests/components/network/test-ipv6.esp32-ard.yaml deleted file mode 100644 index da1324b17e..0000000000 --- a/tests/components/network/test-ipv6.esp32-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - network_enable_ipv6: "true" - -<<: !include common.yaml diff --git a/tests/components/network/test-ipv6.esp32-c3-ard.yaml b/tests/components/network/test-ipv6.esp32-c3-ard.yaml deleted file mode 100644 index da1324b17e..0000000000 --- a/tests/components/network/test-ipv6.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - network_enable_ipv6: "true" - -<<: !include common.yaml diff --git a/tests/components/network/test.esp32-ard.yaml b/tests/components/network/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/network/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/network/test.esp32-c3-ard.yaml b/tests/components/network/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/network/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From fd8ecc9608c263197881ac2b287e76c55b8cfab9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:57:11 -1000 Subject: [PATCH 053/201] [ci][time][tests] Remove redundant ESP32 Arduino test files (#11147) --- tests/components/time/test.esp32-ard.yaml | 1 - tests/components/time/test.esp32-c3-ard.yaml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 tests/components/time/test.esp32-ard.yaml delete mode 100644 tests/components/time/test.esp32-c3-ard.yaml diff --git a/tests/components/time/test.esp32-ard.yaml b/tests/components/time/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/time/test.esp32-c3-ard.yaml b/tests/components/time/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/time/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From 22c0f55cef0dffd8d487eaa0a61acb0e60c841e4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 11:57:40 -1000 Subject: [PATCH 054/201] [ci][debug][tests] Remove redundant ESP32 variant Arduino test files (#11146) --- tests/components/debug/test.esp32-c3-ard.yaml | 4 ---- tests/components/debug/test.esp32-s2-ard.yaml | 1 - tests/components/debug/test.esp32-s3-ard.yaml | 1 - 3 files changed, 6 deletions(-) delete mode 100644 tests/components/debug/test.esp32-c3-ard.yaml delete mode 100644 tests/components/debug/test.esp32-s2-ard.yaml delete mode 100644 tests/components/debug/test.esp32-s3-ard.yaml diff --git a/tests/components/debug/test.esp32-c3-ard.yaml b/tests/components/debug/test.esp32-c3-ard.yaml deleted file mode 100644 index 7d43491862..0000000000 --- a/tests/components/debug/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -<<: !include common.yaml - -esp32: - cpu_frequency: 80MHz diff --git a/tests/components/debug/test.esp32-s2-ard.yaml b/tests/components/debug/test.esp32-s2-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/debug/test.esp32-s2-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/debug/test.esp32-s3-ard.yaml b/tests/components/debug/test.esp32-s3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/debug/test.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From 3eca72e0b85244228e474f02ae952f8709753b40 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:30:05 -1000 Subject: [PATCH 055/201] [ci][logger][tests] Remove redundant ESP32 Arduino test files (#11144) --- ...-usb_cdc.esp32-c3-ard.yaml => test-usb_cdc.esp32-c3-idf.yaml} | 0 tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml | 1 - ...-usb_cdc.esp32-s2-ard.yaml => test-usb_cdc.esp32-s3-idf.yaml} | 0 tests/components/logger/test.esp32-ard.yaml | 1 - tests/components/logger/test.esp32-c3-ard.yaml | 1 - 5 files changed, 3 deletions(-) rename tests/components/logger/{test-usb_cdc.esp32-c3-ard.yaml => test-usb_cdc.esp32-c3-idf.yaml} (100%) delete mode 100644 tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml rename tests/components/logger/{test-usb_cdc.esp32-s2-ard.yaml => test-usb_cdc.esp32-s3-idf.yaml} (100%) delete mode 100644 tests/components/logger/test.esp32-ard.yaml delete mode 100644 tests/components/logger/test.esp32-c3-ard.yaml diff --git a/tests/components/logger/test-usb_cdc.esp32-c3-ard.yaml b/tests/components/logger/test-usb_cdc.esp32-c3-idf.yaml similarity index 100% rename from tests/components/logger/test-usb_cdc.esp32-c3-ard.yaml rename to tests/components/logger/test-usb_cdc.esp32-c3-idf.yaml diff --git a/tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml b/tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml deleted file mode 100644 index cfdaec9771..0000000000 --- a/tests/components/logger/test-usb_cdc.esp32-s3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-usb_cdc.yaml diff --git a/tests/components/logger/test-usb_cdc.esp32-s2-ard.yaml b/tests/components/logger/test-usb_cdc.esp32-s3-idf.yaml similarity index 100% rename from tests/components/logger/test-usb_cdc.esp32-s2-ard.yaml rename to tests/components/logger/test-usb_cdc.esp32-s3-idf.yaml diff --git a/tests/components/logger/test.esp32-ard.yaml b/tests/components/logger/test.esp32-ard.yaml deleted file mode 100644 index 3fe04e18a3..0000000000 --- a/tests/components/logger/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-default_uart.yaml diff --git a/tests/components/logger/test.esp32-c3-ard.yaml b/tests/components/logger/test.esp32-c3-ard.yaml deleted file mode 100644 index 3fe04e18a3..0000000000 --- a/tests/components/logger/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common-default_uart.yaml From 79f4ca20b86d2f22bba47c89a865f17c7d3b3edb Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:38:34 -1000 Subject: [PATCH 056/201] [opentherm][ci][tests] Remove redundant ESP32 Arduino tests and simplify conditionals (#11149) --- esphome/components/opentherm/opentherm.cpp | 10 +++++----- esphome/components/opentherm/opentherm.h | 6 +++--- tests/components/opentherm/test.esp32-ard.yaml | 1 - tests/components/opentherm/test.esp32-c3-ard.yaml | 1 - 4 files changed, 8 insertions(+), 10 deletions(-) delete mode 100644 tests/components/opentherm/test.esp32-ard.yaml delete mode 100644 tests/components/opentherm/test.esp32-c3-ard.yaml diff --git a/esphome/components/opentherm/opentherm.cpp b/esphome/components/opentherm/opentherm.cpp index b2751470b2..d59b9584d1 100644 --- a/esphome/components/opentherm/opentherm.cpp +++ b/esphome/components/opentherm/opentherm.cpp @@ -7,7 +7,7 @@ #include "opentherm.h" #include "esphome/core/helpers.h" -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 #include "driver/timer.h" #include "esp_err.h" #endif @@ -31,7 +31,7 @@ OpenTherm *OpenTherm::instance = nullptr; OpenTherm::OpenTherm(InternalGPIOPin *in_pin, InternalGPIOPin *out_pin, int32_t device_timeout) : in_pin_(in_pin), out_pin_(out_pin), -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 timer_group_(TIMER_GROUP_0), timer_idx_(TIMER_0), #endif @@ -57,7 +57,7 @@ bool OpenTherm::initialize() { this->out_pin_->setup(); this->out_pin_->digital_write(true); -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 return this->init_esp32_timer_(); #else return true; @@ -238,7 +238,7 @@ void IRAM_ATTR OpenTherm::write_bit_(uint8_t high, uint8_t clock) { } } -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 bool OpenTherm::init_esp32_timer_() { // Search for a free timer. Maybe unstable, we'll see. @@ -365,7 +365,7 @@ void IRAM_ATTR OpenTherm::stop_timer_() { } } -#endif // END ESP32 +#endif // USE_ESP32 #ifdef ESP8266 // 5 kHz timer_ diff --git a/esphome/components/opentherm/opentherm.h b/esphome/components/opentherm/opentherm.h index a5822cdfe1..3996481760 100644 --- a/esphome/components/opentherm/opentherm.h +++ b/esphome/components/opentherm/opentherm.h @@ -12,7 +12,7 @@ #include "esphome/core/helpers.h" #include "esphome/core/log.h" -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 #include "driver/timer.h" #endif @@ -356,7 +356,7 @@ class OpenTherm { ISRInternalGPIOPin isr_in_pin_; ISRInternalGPIOPin isr_out_pin_; -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 timer_group_t timer_group_; timer_idx_t timer_idx_; #endif @@ -370,7 +370,7 @@ class OpenTherm { int32_t timeout_counter_; // <0 no timeout int32_t device_timeout_; -#if defined(ESP32) || defined(USE_ESP_IDF) +#ifdef USE_ESP32 esp_err_t timer_error_ = ESP_OK; TimerErrorType timer_error_type_ = TimerErrorType::NO_TIMER_ERROR; diff --git a/tests/components/opentherm/test.esp32-ard.yaml b/tests/components/opentherm/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/opentherm/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/opentherm/test.esp32-c3-ard.yaml b/tests/components/opentherm/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/opentherm/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml From 728726e29e1f25db754c48063ac0b1912ffed3ad Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:41:50 -1000 Subject: [PATCH 057/201] [ci][tests] Remove redundant ESP32-C3 Arduino tests for non-variant-specific components (#11152) --- tests/components/http_request/test.esp32-c3-ard.yaml | 4 ---- tests/components/nextion/test.esp32-c3-ard.yaml | 10 ---------- tests/components/ota/test.esp32-c3-ard.yaml | 1 - tests/components/web_server/test.esp32-c3-ard.yaml | 1 - 4 files changed, 16 deletions(-) delete mode 100644 tests/components/http_request/test.esp32-c3-ard.yaml delete mode 100644 tests/components/nextion/test.esp32-c3-ard.yaml delete mode 100644 tests/components/ota/test.esp32-c3-ard.yaml delete mode 100644 tests/components/web_server/test.esp32-c3-ard.yaml diff --git a/tests/components/http_request/test.esp32-c3-ard.yaml b/tests/components/http_request/test.esp32-c3-ard.yaml deleted file mode 100644 index c1937b5a10..0000000000 --- a/tests/components/http_request/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - verify_ssl: "false" - -<<: !include common.yaml diff --git a/tests/components/nextion/test.esp32-c3-ard.yaml b/tests/components/nextion/test.esp32-c3-ard.yaml deleted file mode 100644 index 5135c7e4f4..0000000000 --- a/tests/components/nextion/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,10 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - -packages: - base: !include common.yaml - -display: - - id: !extend main_lcd - tft_url: http://esphome.io/default35.tft diff --git a/tests/components/ota/test.esp32-c3-ard.yaml b/tests/components/ota/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/ota/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/web_server/test.esp32-c3-ard.yaml b/tests/components/web_server/test.esp32-c3-ard.yaml deleted file mode 100644 index 7e6658e20e..0000000000 --- a/tests/components/web_server/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common_v2.yaml From dca29ed89be25c2c37f3014ff34487ac1fb0364d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:45:59 -1000 Subject: [PATCH 058/201] [datetime][ci][tests] Replace test.all.yaml with minimal platform cover (#11151) --- .../components/datetime/{test.all.yaml => test.bk72xx-ard.yaml} | 0 tests/components/datetime/test.esp32-idf.yaml | 1 + tests/components/datetime/test.esp8266-ard.yaml | 1 + tests/components/datetime/test.ln882x-ard.yaml | 1 + tests/components/datetime/test.rp2040-ard.yaml | 1 + 5 files changed, 4 insertions(+) rename tests/components/datetime/{test.all.yaml => test.bk72xx-ard.yaml} (100%) create mode 100644 tests/components/datetime/test.esp32-idf.yaml create mode 100644 tests/components/datetime/test.esp8266-ard.yaml create mode 100644 tests/components/datetime/test.ln882x-ard.yaml create mode 100644 tests/components/datetime/test.rp2040-ard.yaml diff --git a/tests/components/datetime/test.all.yaml b/tests/components/datetime/test.bk72xx-ard.yaml similarity index 100% rename from tests/components/datetime/test.all.yaml rename to tests/components/datetime/test.bk72xx-ard.yaml diff --git a/tests/components/datetime/test.esp32-idf.yaml b/tests/components/datetime/test.esp32-idf.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.esp32-idf.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/components/datetime/test.esp8266-ard.yaml b/tests/components/datetime/test.esp8266-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.esp8266-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/components/datetime/test.ln882x-ard.yaml b/tests/components/datetime/test.ln882x-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.ln882x-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/components/datetime/test.rp2040-ard.yaml b/tests/components/datetime/test.rp2040-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/datetime/test.rp2040-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml From 8b0ec0afe33adbbf639666b709aac77b6f901962 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 17:02:18 -1000 Subject: [PATCH 059/201] [ci][tests] Remove all redundant ESP32-C3 Arduino tests (#11154) --- .../ac_dimmer/test.esp32-c3-ard.yaml | 5 ----- .../captive_portal/test.esp32-c3-ard.yaml | 1 - tests/components/dsmr/test.esp32-c3-ard.yaml | 6 ------ .../esp32_ble/test.esp32-c3-ard.yaml | 1 - .../heatpumpir/test.esp32-c3-ard.yaml | 4 ---- tests/components/i2c/test.esp32-c3-ard.yaml | 5 ----- tests/components/midea/test.esp32-c3-ard.yaml | 6 ------ .../neopixelbus/test.esp32-c3-ard.yaml | 19 ------------------- .../speaker/audio_dac.esp32-c3-ard.yaml | 9 --------- .../components/speaker/test.esp32-c3-ard.yaml | 9 --------- tests/components/spi/test.esp32-c3-ard.yaml | 6 ------ tests/components/wled/test.esp32-c3-ard.yaml | 16 ---------------- 12 files changed, 87 deletions(-) delete mode 100644 tests/components/ac_dimmer/test.esp32-c3-ard.yaml delete mode 100644 tests/components/captive_portal/test.esp32-c3-ard.yaml delete mode 100644 tests/components/dsmr/test.esp32-c3-ard.yaml delete mode 100644 tests/components/esp32_ble/test.esp32-c3-ard.yaml delete mode 100644 tests/components/heatpumpir/test.esp32-c3-ard.yaml delete mode 100644 tests/components/i2c/test.esp32-c3-ard.yaml delete mode 100644 tests/components/midea/test.esp32-c3-ard.yaml delete mode 100644 tests/components/neopixelbus/test.esp32-c3-ard.yaml delete mode 100644 tests/components/speaker/audio_dac.esp32-c3-ard.yaml delete mode 100644 tests/components/speaker/test.esp32-c3-ard.yaml delete mode 100644 tests/components/spi/test.esp32-c3-ard.yaml delete mode 100644 tests/components/wled/test.esp32-c3-ard.yaml diff --git a/tests/components/ac_dimmer/test.esp32-c3-ard.yaml b/tests/components/ac_dimmer/test.esp32-c3-ard.yaml deleted file mode 100644 index 5d2d42b713..0000000000 --- a/tests/components/ac_dimmer/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - gate_pin: GPIO5 - zero_cross_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/captive_portal/test.esp32-c3-ard.yaml b/tests/components/captive_portal/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/captive_portal/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/dsmr/test.esp32-c3-ard.yaml b/tests/components/dsmr/test.esp32-c3-ard.yaml deleted file mode 100644 index 72998506ac..0000000000 --- a/tests/components/dsmr/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - request_pin: GPIO6 - -<<: !include common.yaml diff --git a/tests/components/esp32_ble/test.esp32-c3-ard.yaml b/tests/components/esp32_ble/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/esp32_ble/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/heatpumpir/test.esp32-c3-ard.yaml b/tests/components/heatpumpir/test.esp32-c3-ard.yaml deleted file mode 100644 index 7b012aa64c..0000000000 --- a/tests/components/heatpumpir/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,4 +0,0 @@ -substitutions: - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/i2c/test.esp32-c3-ard.yaml b/tests/components/i2c/test.esp32-c3-ard.yaml deleted file mode 100644 index ee2c29ca4e..0000000000 --- a/tests/components/i2c/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,5 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - -<<: !include common.yaml diff --git a/tests/components/midea/test.esp32-c3-ard.yaml b/tests/components/midea/test.esp32-c3-ard.yaml deleted file mode 100644 index a879df3ca4..0000000000 --- a/tests/components/midea/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - pin: GPIO2 - -<<: !include common.yaml diff --git a/tests/components/neopixelbus/test.esp32-c3-ard.yaml b/tests/components/neopixelbus/test.esp32-c3-ard.yaml deleted file mode 100644 index f2b53ab1e9..0000000000 --- a/tests/components/neopixelbus/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,19 +0,0 @@ -light: - - platform: neopixelbus - id: addr3 - name: Neopixelbus Light - gamma_correct: 2.8 - color_correct: [0.0, 0.0, 0.0, 0.0] - default_transition_length: 10s - effects: - - addressable_flicker: - name: Flicker Effect With Custom Values - update_interval: 16ms - intensity: 5% - type: GRBW - variant: SK6812 - method: - type: esp32_rmt - channel: 0 - num_leds: 5 - pin: 4 diff --git a/tests/components/speaker/audio_dac.esp32-c3-ard.yaml b/tests/components/speaker/audio_dac.esp32-c3-ard.yaml deleted file mode 100644 index 1004d2143e..0000000000 --- a/tests/components/speaker/audio_dac.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - i2s_bclk_pin: GPIO7 - i2s_lrclk_pin: GPIO6 - i2s_mclk_pin: GPIO9 - i2s_dout_pin: GPIO8 - -<<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/test.esp32-c3-ard.yaml b/tests/components/speaker/test.esp32-c3-ard.yaml deleted file mode 100644 index ddcf051fab..0000000000 --- a/tests/components/speaker/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,9 +0,0 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - i2s_bclk_pin: GPIO7 - i2s_lrclk_pin: GPIO6 - i2s_mclk_pin: GPIO9 - i2s_dout_pin: GPIO8 - -<<: !include common.yaml diff --git a/tests/components/spi/test.esp32-c3-ard.yaml b/tests/components/spi/test.esp32-c3-ard.yaml deleted file mode 100644 index bfa12b1755..0000000000 --- a/tests/components/spi/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,6 +0,0 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - -<<: !include common.yaml diff --git a/tests/components/wled/test.esp32-c3-ard.yaml b/tests/components/wled/test.esp32-c3-ard.yaml deleted file mode 100644 index 156b31181e..0000000000 --- a/tests/components/wled/test.esp32-c3-ard.yaml +++ /dev/null @@ -1,16 +0,0 @@ -wifi: - ssid: MySSID - password: password1 - -wled: - -light: - - platform: esp32_rmt_led_strip - id: led_matrix_32x8 - default_transition_length: 500ms - chipset: ws2812 - rgb_order: GRB - num_leds: 256 - pin: 2 - effects: - - wled: From ccedcfb600f3811d6efd18c5285461b4cd07995c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 10 Oct 2025 11:18:57 -1000 Subject: [PATCH 060/201] [json] Fix PSRAM allocator dangling pointer crash (#11165) --- esphome/components/json/json_util.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/esphome/components/json/json_util.cpp b/esphome/components/json/json_util.cpp index dbdf6e3486..869d29f92e 100644 --- a/esphome/components/json/json_util.cpp +++ b/esphome/components/json/json_util.cpp @@ -8,6 +8,13 @@ namespace json { static const char *const TAG = "json"; +#ifdef USE_PSRAM +// Global allocator that outlives all JsonDocuments returned by parse_json() +// This prevents dangling pointer issues when JsonDocuments are returned from functions +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) - Must be mutable for ArduinoJson::Allocator +static SpiRamAllocator global_json_allocator; +#endif + std::string build_json(const json_build_t &f) { // NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson JsonBuilder builder; @@ -33,8 +40,7 @@ JsonDocument parse_json(const uint8_t *data, size_t len) { return JsonObject(); // return unbound object } #ifdef USE_PSRAM - auto doc_allocator = SpiRamAllocator(); - JsonDocument json_document(&doc_allocator); + JsonDocument json_document(&global_json_allocator); #else JsonDocument json_document; #endif From 8fa44e471d3789ff40abc6d6af81237d9e9917b3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 05:47:23 -1000 Subject: [PATCH 061/201] [esp32_ble] Partial revert of #10862 - Fix GATT client notifications (#11171) --- esphome/components/esp32_ble/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index 15afb22ab8..05ef936baf 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -332,12 +332,16 @@ def final_validation(config): # Check if BLE Server is needed has_ble_server = "esp32_ble_server" in full_config - add_idf_sdkconfig_option("CONFIG_BT_GATTS_ENABLE", has_ble_server) # Check if BLE Client is needed (via esp32_ble_tracker or esp32_ble_client) has_ble_client = ( "esp32_ble_tracker" in full_config or "esp32_ble_client" in full_config ) + + # ESP-IDF BLE stack requires GATT Server to be enabled when GATT Client is enabled + # This is an internal dependency in the Bluedroid stack (tested ESP-IDF 5.4.2-5.5.1) + # See: https://github.com/espressif/esp-idf/issues/17724 + add_idf_sdkconfig_option("CONFIG_BT_GATTS_ENABLE", has_ble_server or has_ble_client) add_idf_sdkconfig_option("CONFIG_BT_GATTC_ENABLE", has_ble_client) # Handle max_connections: check for deprecated location in esp32_ble_tracker From 132e94992791bb9d04f09cf0994975e1e55e2dc4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 08:21:37 -1000 Subject: [PATCH 062/201] [mdns] Restore mdns_txt_record() public API for external components (#11158) --- esphome/components/mdns/__init__.py | 85 +++++++++++++++++++++-------- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/esphome/components/mdns/__init__.py b/esphome/components/mdns/__init__.py index 6e148092fe..14e0420ef5 100644 --- a/esphome/components/mdns/__init__.py +++ b/esphome/components/mdns/__init__.py @@ -11,7 +11,7 @@ from esphome.const import ( CONF_SERVICES, PlatformFramework, ) -from esphome.core import CORE, coroutine_with_priority +from esphome.core import CORE, Lambda, coroutine_with_priority from esphome.coroutine import CoroPriority CODEOWNERS = ["@esphome/core"] @@ -58,9 +58,64 @@ CONFIG_SCHEMA = cv.All( ) +def mdns_txt_record(key: str, value: str) -> cg.RawExpression: + """Create a mDNS TXT record. + + Public API for external components. Do not remove. + + Args: + key: The TXT record key + value: The TXT record value (static string only) + + Returns: + A RawExpression representing a MDNSTXTRecord struct + """ + return cg.RawExpression( + f"{{MDNS_STR({cg.safe_exp(key)}), MDNS_STR({cg.safe_exp(value)})}}" + ) + + +async def _mdns_txt_record_templated( + mdns_comp: cg.Pvariable, key: str, value: Lambda | str +) -> cg.RawExpression: + """Create a mDNS TXT record with support for templated values. + + Internal helper function. + + Args: + mdns_comp: The MDNSComponent instance (from cg.get_variable()) + key: The TXT record key + value: The TXT record value (can be a static string or a lambda template) + + Returns: + A RawExpression representing a MDNSTXTRecord struct + """ + if not cg.is_template(value): + # It's a static string - use directly in flash, no need to store in vector + return mdns_txt_record(key, value) + # It's a lambda - evaluate and store using helper + templated_value = await cg.templatable(value, [], cg.std_string) + safe_key = cg.safe_exp(key) + dynamic_call = f"{mdns_comp}->add_dynamic_txt_value(({templated_value})())" + return cg.RawExpression(f"{{MDNS_STR({safe_key}), MDNS_STR({dynamic_call})}}") + + def mdns_service( - service: str, proto: str, port: int, txt_records: list[dict[str, str]] -): + service: str, proto: str, port: int, txt_records: list[cg.RawExpression] +) -> cg.StructInitializer: + """Create a mDNS service. + + Public API for external components. Do not remove. + + Args: + service: Service name (e.g., "_http") + proto: Protocol (e.g., "_tcp" or "_udp") + port: Port number + txt_records: List of MDNSTXTRecord expressions + + Returns: + A StructInitializer representing a MDNSService struct + """ return cg.StructInitializer( MDNSService, ("service_type", cg.RawExpression(f"MDNS_STR({cg.safe_exp(service)})")), @@ -120,26 +175,10 @@ async def to_code(config): await cg.register_component(var, config) for service in config[CONF_SERVICES]: - # Build the txt records list for the service - txt_records = [] - for txt_key, txt_value in service[CONF_TXT].items(): - if cg.is_template(txt_value): - # It's a lambda - evaluate and store using helper - templated_value = await cg.templatable(txt_value, [], cg.std_string) - safe_key = cg.safe_exp(txt_key) - dynamic_call = f"{var}->add_dynamic_txt_value(({templated_value})())" - txt_records.append( - cg.RawExpression( - f"{{MDNS_STR({safe_key}), MDNS_STR({dynamic_call})}}" - ) - ) - else: - # It's a static string - use directly in flash, no need to store in vector - txt_records.append( - cg.RawExpression( - f"{{MDNS_STR({cg.safe_exp(txt_key)}), MDNS_STR({cg.safe_exp(txt_value)})}}" - ) - ) + txt_records = [ + await _mdns_txt_record_templated(var, txt_key, txt_value) + for txt_key, txt_value in service[CONF_TXT].items() + ] exp = mdns_service( service[CONF_SERVICE], From 2864bf1674e13df0b8b9a6be8c53093d0650c787 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 08:21:45 -1000 Subject: [PATCH 063/201] Group component tests to reduce CI time (#11134) --- .ai/instructions.md | 5 + .github/workflows/ci.yml | 96 +- esphome/__main__.py | 7 + esphome/components/esp32_ble/__init__.py | 4 + esphome/components/uart/__init__.py | 2 +- esphome/core/__init__.py | 2 + esphome/core/entity_helpers.py | 15 +- esphome/pins.py | 4 +- esphome/platformio_api.py | 31 + script/analyze_component_buses.py | 523 ++++++++++ script/merge_component_configs.py | 379 +++++++ script/split_components_for_ci.py | 268 +++++ script/test_build_components | 107 +- script/test_build_components.py | 931 ++++++++++++++++++ script/test_component_grouping.py | 227 +++++ tests/components/a01nyub/common.yaml | 7 - .../components/a01nyub/test.esp32-c3-idf.yaml | 3 + tests/components/a01nyub/test.esp32-idf.yaml | 7 +- .../components/a01nyub/test.esp8266-ard.yaml | 5 +- tests/components/a01nyub/test.rp2040-ard.yaml | 5 +- tests/components/a02yyuw/common.yaml | 7 - .../components/a02yyuw/test.esp32-c3-idf.yaml | 3 + tests/components/a02yyuw/test.esp32-idf.yaml | 7 +- .../components/a02yyuw/test.esp8266-ard.yaml | 5 +- tests/components/a02yyuw/test.rp2040-ard.yaml | 5 +- tests/components/a4988/test.esp32-idf.yaml | 2 +- tests/components/a4988/test.esp8266-ard.yaml | 2 +- .../components/ac_dimmer/test.esp32-ard.yaml | 4 +- .../ac_dimmer/test.esp8266-ard.yaml | 4 +- tests/components/adc/common.yaml | 11 - tests/components/adc/test.bk72xx-ard.yaml | 14 +- tests/components/adc/test.esp32-c3-idf.yaml | 16 +- tests/components/adc/test.esp32-idf.yaml | 14 +- tests/components/adc/test.esp32-p4-idf.yaml | 16 +- tests/components/adc/test.esp32-s2-idf.yaml | 16 +- tests/components/adc/test.esp32-s3-idf.yaml | 16 +- tests/components/adc/test.esp8266-ard.yaml | 14 +- tests/components/adc/test.ln882x-ard.yaml | 16 +- tests/components/adc/test.rp2040-ard.yaml | 14 +- tests/components/adc128s102/common.yaml | 6 - .../adc128s102/test.esp32-c3-idf.yaml | 6 +- .../components/adc128s102/test.esp32-idf.yaml | 6 +- .../adc128s102/test.esp8266-ard.yaml | 9 +- .../adc128s102/test.rp2040-ard.yaml | 3 + tests/components/ade7880/common.yaml | 7 +- .../components/ade7880/test.esp32-c3-idf.yaml | 7 +- tests/components/ade7880/test.esp32-idf.yaml | 7 +- .../components/ade7880/test.esp8266-ard.yaml | 5 +- tests/components/ade7880/test.rp2040-ard.yaml | 5 +- tests/components/ade7953_i2c/common.yaml | 9 +- .../ade7953_i2c/test.esp32-c3-idf.yaml | 5 +- .../ade7953_i2c/test.esp32-idf.yaml | 5 +- .../ade7953_i2c/test.esp8266-ard.yaml | 5 +- .../ade7953_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ade7953_spi/common.yaml | 6 - .../ade7953_spi/test.esp32-c3-idf.yaml | 5 +- .../ade7953_spi/test.esp32-idf.yaml | 6 +- .../ade7953_spi/test.esp8266-ard.yaml | 9 +- .../ade7953_spi/test.rp2040-ard.yaml | 3 + tests/components/ads1115/common.yaml | 6 +- .../components/ads1115/test.esp32-c3-idf.yaml | 5 +- tests/components/ads1115/test.esp32-idf.yaml | 5 +- .../components/ads1115/test.esp8266-ard.yaml | 5 +- tests/components/ads1115/test.rp2040-ard.yaml | 5 +- tests/components/ags10/common.yaml | 6 - tests/components/ags10/test.esp32-c3-idf.yaml | 5 +- tests/components/ags10/test.esp32-idf.yaml | 5 +- tests/components/ags10/test.esp8266-ard.yaml | 5 +- tests/components/aht10/common.yaml | 6 +- tests/components/aht10/test.esp32-c3-idf.yaml | 5 +- tests/components/aht10/test.esp32-idf.yaml | 5 +- tests/components/aht10/test.esp8266-ard.yaml | 5 +- tests/components/aht10/test.rp2040-ard.yaml | 5 +- tests/components/aic3204/common.yaml | 6 +- .../components/aic3204/test.esp32-c3-idf.yaml | 5 +- tests/components/aic3204/test.esp32-idf.yaml | 5 +- .../components/aic3204/test.esp8266-ard.yaml | 5 +- .../test.esp32-c3-idf.yaml | 3 + .../airthings_wave_mini/test.esp32-idf.yaml | 3 + .../test.esp32-c3-idf.yaml | 3 + .../airthings_wave_plus/test.esp32-idf.yaml | 3 + .../components/alpha3/test.esp32-c3-idf.yaml | 3 + tests/components/alpha3/test.esp32-idf.yaml | 3 + tests/components/am2315c/common.yaml | 6 +- .../components/am2315c/test.esp32-c3-idf.yaml | 5 +- tests/components/am2315c/test.esp32-idf.yaml | 5 +- .../components/am2315c/test.esp8266-ard.yaml | 5 +- tests/components/am2315c/test.rp2040-ard.yaml | 5 +- tests/components/am2320/common.yaml | 6 +- .../components/am2320/test.esp32-c3-idf.yaml | 5 +- tests/components/am2320/test.esp32-idf.yaml | 5 +- tests/components/am2320/test.esp8266-ard.yaml | 5 +- tests/components/am2320/test.rp2040-ard.yaml | 5 +- tests/components/am43/test.esp32-c3-idf.yaml | 3 + tests/components/am43/test.esp32-idf.yaml | 3 + .../animation/test.esp32-c3-idf.yaml | 12 +- .../components/animation/test.esp32-idf.yaml | 12 +- .../animation/test.esp8266-ard.yaml | 12 +- .../components/animation/test.rp2040-ard.yaml | 12 +- tests/components/anova/test.esp32-c3-idf.yaml | 3 + tests/components/anova/test.esp32-idf.yaml | 3 + tests/components/apds9306/common.yaml | 6 +- .../apds9306/test.esp32-c3-idf.yaml | 5 +- tests/components/apds9306/test.esp32-idf.yaml | 5 +- .../components/apds9306/test.esp8266-ard.yaml | 5 +- .../components/apds9306/test.rp2040-ard.yaml | 5 +- tests/components/apds9960/common.yaml | 6 +- .../apds9960/test.esp32-c3-idf.yaml | 5 +- tests/components/apds9960/test.esp32-idf.yaml | 5 +- .../components/apds9960/test.esp8266-ard.yaml | 5 +- .../components/apds9960/test.rp2040-ard.yaml | 5 +- tests/components/api/common-base.yaml | 89 ++ tests/components/api/common.yaml | 88 +- .../test-dynamic-encryption.esp32-idf.yaml | 7 +- tests/components/as3935_i2c/common.yaml | 6 +- .../as3935_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/as3935_i2c/test.esp32-idf.yaml | 5 +- .../as3935_i2c/test.esp8266-ard.yaml | 5 +- .../as3935_i2c/test.rp2040-ard.yaml | 5 +- tests/components/as3935_spi/common.yaml | 6 - .../as3935_spi/test.esp32-c3-idf.yaml | 5 +- .../components/as3935_spi/test.esp32-idf.yaml | 6 +- .../as3935_spi/test.esp8266-ard.yaml | 9 +- .../as3935_spi/test.rp2040-ard.yaml | 3 + tests/components/as5600/common.yaml | 6 +- .../components/as5600/test.esp32-c3-idf.yaml | 5 +- tests/components/as5600/test.esp32-idf.yaml | 5 +- tests/components/as5600/test.esp8266-ard.yaml | 5 +- tests/components/as5600/test.rp2040-ard.yaml | 5 +- tests/components/as7341/common.yaml | 6 +- .../components/as7341/test.esp32-c3-idf.yaml | 5 +- tests/components/as7341/test.esp32-idf.yaml | 5 +- tests/components/as7341/test.esp8266-ard.yaml | 5 +- tests/components/as7341/test.rp2040-ard.yaml | 5 +- tests/components/at581x/common.yaml | 6 +- .../components/at581x/test.esp32-c3-idf.yaml | 5 +- tests/components/at581x/test.esp32-idf.yaml | 5 +- tests/components/at581x/test.esp8266-ard.yaml | 5 +- tests/components/at581x/test.rp2040-ard.yaml | 5 +- .../atc_mithermometer/test.esp32-c3-idf.yaml | 3 + .../atc_mithermometer/test.esp32-idf.yaml | 3 + tests/components/atm90e26/common.yaml | 6 - .../atm90e26/test.esp32-c3-idf.yaml | 5 +- tests/components/atm90e26/test.esp32-idf.yaml | 6 +- .../components/atm90e26/test.esp8266-ard.yaml | 9 +- .../components/atm90e26/test.rp2040-ard.yaml | 3 + tests/components/atm90e32/common.yaml | 6 - .../atm90e32/test.esp32-c3-idf.yaml | 5 +- tests/components/atm90e32/test.esp32-idf.yaml | 6 +- .../components/atm90e32/test.esp8266-ard.yaml | 9 +- .../components/atm90e32/test.rp2040-ard.yaml | 3 + tests/components/axs15231/common.yaml | 10 +- .../axs15231/test.esp32-c3-idf.yaml | 3 + tests/components/axs15231/test.esp32-idf.yaml | 3 + .../components/axs15231/test.esp8266-ard.yaml | 8 +- .../components/axs15231/test.rp2040-ard.yaml | 3 + .../b_parasite/test.esp32-c3-idf.yaml | 3 + .../components/b_parasite/test.esp32-idf.yaml | 3 + .../components/bedjet/test.esp32-c3-idf.yaml | 3 + tests/components/bedjet/test.esp32-idf.yaml | 3 + tests/components/bh1750/common.yaml | 6 +- .../components/bh1750/test.esp32-c3-idf.yaml | 5 +- tests/components/bh1750/test.esp32-idf.yaml | 5 +- tests/components/bh1750/test.esp8266-ard.yaml | 5 +- tests/components/bh1750/test.rp2040-ard.yaml | 5 +- tests/components/bl0906/common.yaml | 6 - .../components/bl0906/test.esp32-c3-idf.yaml | 5 +- tests/components/bl0906/test.esp32-idf.yaml | 5 +- tests/components/bl0906/test.esp8266-ard.yaml | 3 + tests/components/bl0906/test.rp2040-ard.yaml | 3 + tests/components/bl0939/common.yaml | 6 - .../components/bl0939/test.esp32-c3-idf.yaml | 4 +- tests/components/bl0939/test.esp32-idf.yaml | 3 + tests/components/bl0939/test.esp8266-ard.yaml | 3 + tests/components/bl0939/test.rp2040-ard.yaml | 3 + tests/components/bl0940/common.yaml | 6 - .../components/bl0940/test.esp32-c3-idf.yaml | 4 +- tests/components/bl0940/test.esp32-idf.yaml | 3 + tests/components/bl0940/test.esp8266-ard.yaml | 3 + tests/components/bl0940/test.rp2040-ard.yaml | 3 + tests/components/bl0942/common.yaml | 6 - tests/components/bl0942/test.bk72xx-ard.yaml | 5 +- .../components/bl0942/test.esp32-c3-idf.yaml | 4 +- tests/components/bl0942/test.esp32-idf.yaml | 3 + tests/components/bl0942/test.esp8266-ard.yaml | 3 + tests/components/bl0942/test.rp2040-ard.yaml | 3 + .../ble_client/test.esp32-c3-idf.yaml | 3 + .../components/ble_client/test.esp32-idf.yaml | 3 + .../ble_presence/test.esp32-c3-idf.yaml | 3 + .../ble_presence/test.esp32-idf.yaml | 3 + .../ble_rssi/test.esp32-c3-idf.yaml | 3 + tests/components/ble_rssi/test.esp32-idf.yaml | 3 + .../ble_scanner/test.esp32-c3-idf.yaml | 3 + .../ble_scanner/test.esp32-idf.yaml | 3 + tests/components/bme280_i2c/common.yaml | 7 +- .../bme280_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/bme280_i2c/test.esp32-idf.yaml | 5 +- .../bme280_i2c/test.esp8266-ard.yaml | 5 +- .../bme280_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bme280_spi/common.yaml | 7 - .../bme280_spi/test.esp32-c3-idf.yaml | 5 +- .../components/bme280_spi/test.esp32-idf.yaml | 6 +- .../bme280_spi/test.esp8266-ard.yaml | 9 +- .../bme280_spi/test.rp2040-ard.yaml | 3 + tests/components/bme680/common.yaml | 6 +- .../components/bme680/test.esp32-c3-idf.yaml | 5 +- tests/components/bme680/test.esp32-idf.yaml | 5 +- tests/components/bme680/test.esp8266-ard.yaml | 5 +- tests/components/bme680/test.rp2040-ard.yaml | 5 +- tests/components/bme680_bsec/common.yaml | 6 +- .../bme680_bsec/test.esp32-ard.yaml | 5 +- .../bme680_bsec/test.esp8266-ard.yaml | 5 +- tests/components/bme68x_bsec2_i2c/common.yaml | 6 +- .../bme68x_bsec2_i2c/test.esp32-c3-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp32-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp32-s2-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp32-s3-idf.yaml | 5 +- .../bme68x_bsec2_i2c/test.esp8266-ard.yaml | 5 +- .../bme68x_bsec2_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bmi160/common.yaml | 6 +- .../components/bmi160/test.esp32-c3-idf.yaml | 5 +- tests/components/bmi160/test.esp32-idf.yaml | 5 +- tests/components/bmi160/test.esp8266-ard.yaml | 5 +- tests/components/bmi160/test.rp2040-ard.yaml | 5 +- tests/components/bmp085/common.yaml | 6 +- .../components/bmp085/test.esp32-c3-idf.yaml | 5 +- tests/components/bmp085/test.esp32-idf.yaml | 5 +- tests/components/bmp085/test.esp8266-ard.yaml | 5 +- tests/components/bmp085/test.rp2040-ard.yaml | 5 +- tests/components/bmp280_i2c/common.yaml | 7 +- .../bmp280_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/bmp280_i2c/test.esp32-idf.yaml | 5 +- .../bmp280_i2c/test.esp8266-ard.yaml | 5 +- .../bmp280_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bmp280_spi/common.yaml | 7 - .../bmp280_spi/test.esp32-c3-idf.yaml | 5 +- .../components/bmp280_spi/test.esp32-idf.yaml | 6 +- .../bmp280_spi/test.esp8266-ard.yaml | 9 +- .../bmp280_spi/test.rp2040-ard.yaml | 3 + tests/components/bmp3xx_i2c/common.yaml | 7 +- .../bmp3xx_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/bmp3xx_i2c/test.esp32-idf.yaml | 5 +- .../bmp3xx_i2c/test.esp8266-ard.yaml | 5 +- .../bmp3xx_i2c/test.rp2040-ard.yaml | 5 +- tests/components/bmp3xx_spi/common.yaml | 7 - .../bmp3xx_spi/test.esp32-c3-idf.yaml | 5 +- .../components/bmp3xx_spi/test.esp32-idf.yaml | 6 +- .../bmp3xx_spi/test.esp8266-ard.yaml | 9 +- .../bmp3xx_spi/test.rp2040-ard.yaml | 3 + tests/components/bmp581/common.yaml | 6 +- .../components/bmp581/test.esp32-c3-idf.yaml | 5 +- tests/components/bmp581/test.esp32-idf.yaml | 5 +- tests/components/bmp581/test.esp8266-ard.yaml | 5 +- tests/components/bmp581/test.rp2040-ard.yaml | 5 +- tests/components/bp1658cj/test.esp32-idf.yaml | 4 +- .../components/bp1658cj/test.esp8266-ard.yaml | 4 +- tests/components/bp5758d/test.esp32-idf.yaml | 4 +- .../components/bp5758d/test.esp8266-ard.yaml | 4 +- tests/components/camera/common.yaml | 20 +- tests/components/camera/test.esp32-idf.yaml | 3 + .../camera_encoder/test.esp32-idf.yaml | 3 + tests/components/canbus/test.esp32-idf.yaml | 3 + tests/components/cap1188/common.yaml | 6 +- .../components/cap1188/test.esp32-c3-idf.yaml | 5 +- tests/components/cap1188/test.esp32-idf.yaml | 5 +- .../components/cap1188/test.esp8266-ard.yaml | 5 +- tests/components/cap1188/test.rp2040-ard.yaml | 5 +- tests/components/ccs811/common.yaml | 6 +- .../components/ccs811/test.esp32-c3-idf.yaml | 5 +- tests/components/ccs811/test.esp32-idf.yaml | 5 +- tests/components/ccs811/test.esp8266-ard.yaml | 5 +- tests/components/ccs811/test.rp2040-ard.yaml | 5 +- tests/components/ch422g/common.yaml | 1 + .../components/ch422g/test.esp32-c3-idf.yaml | 6 +- tests/components/ch422g/test.esp32-idf.yaml | 6 +- tests/components/ch422g/test.esp8266-ard.yaml | 6 +- tests/components/ch422g/test.rp2040-ard.yaml | 6 +- .../components/chsc6x/test.esp32-c3-idf.yaml | 15 +- tests/components/chsc6x/test.esp32-idf.yaml | 15 +- tests/components/chsc6x/test.rp2040-ard.yaml | 17 +- tests/components/cm1106/common.yaml | 6 - .../components/cm1106/test.esp32-c3-idf.yaml | 4 +- tests/components/cm1106/test.esp32-idf.yaml | 7 +- tests/components/cm1106/test.esp8266-ard.yaml | 7 +- tests/components/cm1106/test.rp2040-ard.yaml | 3 + tests/components/const/common.yaml | 6 - tests/components/const/test.esp32-s3-idf.yaml | 3 + tests/components/cs5460a/common.yaml | 6 - .../components/cs5460a/test.esp32-c3-idf.yaml | 5 +- tests/components/cs5460a/test.esp32-idf.yaml | 6 +- .../components/cs5460a/test.esp8266-ard.yaml | 9 +- tests/components/cs5460a/test.rp2040-ard.yaml | 3 + tests/components/cse7761/common.yaml | 6 - .../components/cse7761/test.esp32-c3-idf.yaml | 4 +- tests/components/cse7761/test.esp32-idf.yaml | 3 + .../components/cse7761/test.esp8266-ard.yaml | 3 + tests/components/cse7761/test.rp2040-ard.yaml | 3 + tests/components/cse7766/common.yaml | 7 - .../components/cse7766/test.esp32-c3-idf.yaml | 4 +- tests/components/cse7766/test.esp32-idf.yaml | 5 +- .../components/cse7766/test.esp8266-ard.yaml | 3 + tests/components/cse7766/test.rp2040-ard.yaml | 3 + tests/components/cst226/common.yaml | 14 +- .../components/cst226/test.esp32-c3-idf.yaml | 11 +- tests/components/cst226/test.esp32-idf.yaml | 10 +- tests/components/cst816/common.yaml | 15 +- .../components/cst816/test.esp32-c3-idf.yaml | 11 +- tests/components/cst816/test.esp32-idf.yaml | 10 +- tests/components/current_based/common.yaml | 6 +- .../current_based/test.esp32-c3-idf.yaml | 5 +- .../current_based/test.esp32-idf.yaml | 5 +- .../current_based/test.esp8266-ard.yaml | 5 +- .../current_based/test.rp2040-ard.yaml | 5 +- tests/components/cwww/common.yaml | 8 - tests/components/cwww/test.esp32-c3-idf.yaml | 13 +- tests/components/cwww/test.esp32-idf.yaml | 13 +- tests/components/cwww/test.esp8266-ard.yaml | 8 + tests/components/cwww/test.rp2040-ard.yaml | 8 + tests/components/dac7678/common.yaml | 6 +- .../components/dac7678/test.esp32-c3-idf.yaml | 5 +- tests/components/dac7678/test.esp32-idf.yaml | 5 +- .../components/dac7678/test.esp8266-ard.yaml | 5 +- tests/components/dac7678/test.rp2040-ard.yaml | 5 +- .../daikin_arc/test.esp8266-ard.yaml | 4 +- tests/components/dallas_temp/common.yaml | 2 +- .../dallas_temp/test.esp32-c3-idf.yaml | 6 + .../dallas_temp/test.esp32-idf.yaml | 6 + .../dallas_temp/test.esp8266-ard.yaml | 6 + .../dallas_temp/test.rp2040-ard.yaml | 6 + tests/components/daly_bms/common.yaml | 6 - .../daly_bms/test.esp32-c3-idf.yaml | 4 +- tests/components/daly_bms/test.esp32-idf.yaml | 3 + .../components/daly_bms/test.esp8266-ard.yaml | 3 + .../components/daly_bms/test.rp2040-ard.yaml | 3 + tests/components/dfplayer/common.yaml | 6 - .../dfplayer/test.esp32-c3-idf.yaml | 4 +- tests/components/dfplayer/test.esp32-idf.yaml | 3 + .../components/dfplayer/test.esp8266-ard.yaml | 3 + .../components/dfplayer/test.rp2040-ard.yaml | 3 + tests/components/dfrobot_sen0395/common.yaml | 6 - .../dfrobot_sen0395/test.esp32-c3-idf.yaml | 4 +- .../dfrobot_sen0395/test.esp32-idf.yaml | 3 + .../dfrobot_sen0395/test.esp8266-ard.yaml | 3 + .../dfrobot_sen0395/test.rp2040-ard.yaml | 3 + tests/components/dht12/common.yaml | 6 +- tests/components/dht12/test.esp32-c3-idf.yaml | 5 +- tests/components/dht12/test.esp32-idf.yaml | 5 +- tests/components/dht12/test.esp8266-ard.yaml | 5 +- tests/components/dht12/test.rp2040-ard.yaml | 5 +- tests/components/display/common.yaml | 6 - tests/components/dps310/common.yaml | 6 +- .../components/dps310/test.esp32-c3-idf.yaml | 5 +- tests/components/dps310/test.esp32-idf.yaml | 5 +- tests/components/dps310/test.esp8266-ard.yaml | 5 +- tests/components/dps310/test.rp2040-ard.yaml | 5 +- tests/components/ds1307/common.yaml | 6 +- .../components/ds1307/test.esp32-c3-idf.yaml | 5 +- tests/components/ds1307/test.esp32-idf.yaml | 5 +- tests/components/ds1307/test.esp8266-ard.yaml | 5 +- tests/components/ds1307/test.rp2040-ard.yaml | 5 +- tests/components/ds2484/common.yaml | 7 +- .../components/ds2484/test.esp32-c3-idf.yaml | 5 +- tests/components/ds2484/test.esp32-idf.yaml | 5 +- tests/components/ds2484/test.esp8266-ard.yaml | 5 +- tests/components/ds2484/test.rp2040-ard.yaml | 5 +- tests/components/dsmr/common.yaml | 6 - tests/components/dsmr/test.esp32-ard.yaml | 5 +- tests/components/dsmr/test.esp8266-ard.yaml | 5 +- tests/components/dsmr/test.rp2040-ard.yaml | 5 +- tests/components/ee895/common.yaml | 6 +- tests/components/ee895/test.esp32-c3-idf.yaml | 5 +- tests/components/ee895/test.esp32-idf.yaml | 5 +- tests/components/ee895/test.esp8266-ard.yaml | 5 +- tests/components/ee895/test.rp2040-ard.yaml | 5 +- tests/components/ektf2232/common.yaml | 10 +- .../ektf2232/test.esp32-c3-idf.yaml | 5 +- tests/components/ektf2232/test.esp32-idf.yaml | 5 +- .../components/ektf2232/test.esp8266-ard.yaml | 9 +- .../components/ektf2232/test.rp2040-ard.yaml | 5 +- tests/components/emc2101/common.yaml | 6 +- .../components/emc2101/test.esp32-c3-idf.yaml | 5 +- tests/components/emc2101/test.esp32-idf.yaml | 5 +- .../components/emc2101/test.esp8266-ard.yaml | 5 +- tests/components/emc2101/test.rp2040-ard.yaml | 5 +- tests/components/emmeti/test.esp8266-ard.yaml | 4 +- tests/components/ens160_i2c/common.yaml | 7 +- .../ens160_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/ens160_i2c/test.esp32-idf.yaml | 5 +- .../ens160_i2c/test.esp8266-ard.yaml | 5 +- .../ens160_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ens160_spi/common.yaml | 7 - .../ens160_spi/test.esp32-c3-idf.yaml | 5 +- .../components/ens160_spi/test.esp32-idf.yaml | 6 +- .../ens160_spi/test.esp8266-ard.yaml | 9 +- .../ens160_spi/test.rp2040-ard.yaml | 3 + tests/components/ens210/common.yaml | 6 +- .../components/ens210/test.esp32-c3-idf.yaml | 5 +- tests/components/ens210/test.esp32-idf.yaml | 5 +- tests/components/ens210/test.esp8266-ard.yaml | 5 +- tests/components/ens210/test.rp2040-ard.yaml | 5 +- .../epaper_spi/test.esp32-s3-idf.yaml | 6 +- tests/components/es7210/common.yaml | 6 +- .../components/es7210/test.esp32-c3-idf.yaml | 5 +- tests/components/es7210/test.esp32-idf.yaml | 5 +- tests/components/es7243e/common.yaml | 6 +- .../components/es7243e/test.esp32-c3-idf.yaml | 5 +- tests/components/es7243e/test.esp32-idf.yaml | 5 +- tests/components/es8156/common.yaml | 6 +- .../components/es8156/test.esp32-c3-idf.yaml | 5 +- tests/components/es8156/test.esp32-idf.yaml | 5 +- tests/components/es8156/test.esp8266-ard.yaml | 5 +- tests/components/es8311/common.yaml | 6 +- .../components/es8311/test.esp32-c3-idf.yaml | 5 +- tests/components/es8311/test.esp32-idf.yaml | 5 +- tests/components/es8311/test.esp8266-ard.yaml | 5 +- tests/components/es8388/common.yaml | 6 +- .../components/es8388/test.esp32-c3-idf.yaml | 5 +- tests/components/es8388/test.esp32-idf.yaml | 5 +- tests/components/es8388/test.esp8266-ard.yaml | 5 +- .../esp32_ble_client/test.esp32-c3-idf.yaml | 3 + .../esp32_ble_client/test.esp32-idf.yaml | 3 + .../esp32_ble_tracker/test.esp32-c3-idf.yaml | 3 + .../esp32_ble_tracker/test.esp32-idf.yaml | 3 + tests/components/esp32_camera/common.yaml | 30 +- .../esp32_camera/test.esp32-idf.yaml | 3 + .../esp32_camera_web_server/common.yaml | 29 - .../test.esp32-idf.yaml | 3 + .../esp32_can/test.esp32-c3-idf.yaml | 2 +- .../test.esp32-s3-idf.yaml | 21 +- tests/components/espnow/test.esp32-idf.yaml | 3 + .../ethernet_info/test.esp32-idf.yaml | 3 + .../test.esp32-c3-idf.yaml | 3 + .../test.esp32-idf.yaml | 3 + tests/components/ezo/common.yaml | 6 +- tests/components/ezo/test.esp32-c3-idf.yaml | 5 +- tests/components/ezo/test.esp32-idf.yaml | 5 +- tests/components/ezo/test.esp8266-ard.yaml | 5 +- tests/components/ezo/test.rp2040-ard.yaml | 5 +- tests/components/ezo_pmp/common.yaml | 6 +- .../components/ezo_pmp/test.esp32-c3-idf.yaml | 5 +- tests/components/ezo_pmp/test.esp32-idf.yaml | 5 +- .../components/ezo_pmp/test.esp8266-ard.yaml | 5 +- tests/components/ezo_pmp/test.rp2040-ard.yaml | 5 +- tests/components/fingerprint_grow/common.yaml | 6 - .../fingerprint_grow/test.esp32-c3-idf.yaml | 4 +- .../fingerprint_grow/test.esp32-idf.yaml | 3 + .../fingerprint_grow/test.esp8266-ard.yaml | 7 +- .../fingerprint_grow/test.rp2040-ard.yaml | 3 + tests/components/font/common.yaml | 4 - tests/components/font/test.esp32-c3-idf.yaml | 6 +- tests/components/font/test.esp32-idf.yaml | 6 +- tests/components/font/test.esp8266-ard.yaml | 6 +- tests/components/font/test.rp2040-ard.yaml | 6 +- tests/components/fs3000/common.yaml | 6 +- .../components/fs3000/test.esp32-c3-idf.yaml | 5 +- tests/components/fs3000/test.esp32-idf.yaml | 5 +- tests/components/fs3000/test.esp8266-ard.yaml | 5 +- tests/components/fs3000/test.rp2040-ard.yaml | 5 +- tests/components/ft5x06/common.yaml | 13 +- .../components/ft5x06/test.esp32-c3-idf.yaml | 5 +- tests/components/ft5x06/test.esp32-idf.yaml | 5 +- tests/components/ft5x06/test.esp8266-ard.yaml | 5 +- tests/components/ft5x06/test.rp2040-ard.yaml | 5 +- tests/components/ft63x6/common.yaml | 19 +- .../components/ft63x6/test.esp32-c3-idf.yaml | 7 +- tests/components/ft63x6/test.esp32-idf.yaml | 9 +- tests/components/ft63x6/test.esp8266-ard.yaml | 7 +- tests/components/ft63x6/test.rp2040-ard.yaml | 7 +- tests/components/gcja5/common.yaml | 8 +- tests/components/gcja5/test.esp32-c3-idf.yaml | 5 +- tests/components/gcja5/test.esp32-idf.yaml | 5 +- tests/components/gcja5/test.esp8266-ard.yaml | 5 +- tests/components/gcja5/test.rp2040-ard.yaml | 5 +- tests/components/gdk101/common.yaml | 6 +- tests/components/gdk101/test.esp32-idf.yaml | 5 +- tests/components/gdk101/test.esp8266-ard.yaml | 5 +- tests/components/gdk101/test.rp2040-ard.yaml | 5 +- tests/components/gl_r01_i2c/common.yaml | 7 +- .../gl_r01_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/gl_r01_i2c/test.esp32-idf.yaml | 5 +- .../gl_r01_i2c/test.esp8266-ard.yaml | 5 +- .../gl_r01_i2c/test.rp2040-ard.yaml | 5 +- .../gp2y1010au0f/test.esp8266-ard.yaml | 2 +- tests/components/gp8403/common.yaml | 7 +- .../components/gp8403/test.esp32-c3-idf.yaml | 5 +- tests/components/gp8403/test.esp32-idf.yaml | 5 +- tests/components/gp8403/test.esp8266-ard.yaml | 5 +- tests/components/gp8403/test.rp2040-ard.yaml | 5 +- tests/components/gpio/test.esp8266-ard.yaml | 6 +- tests/components/gps/common.yaml | 7 - tests/components/gps/test.esp32-c3-idf.yaml | 4 +- tests/components/gps/test.esp32-idf.yaml | 3 + tests/components/gps/test.esp8266-ard.yaml | 7 +- tests/components/gps/test.rp2040-ard.yaml | 3 + tests/components/graph/common.yaml | 7 +- tests/components/graph/test.esp32-c3-idf.yaml | 5 +- tests/components/graph/test.esp32-idf.yaml | 5 +- tests/components/graph/test.esp8266-ard.yaml | 5 +- tests/components/graph/test.rp2040-ard.yaml | 5 +- .../graphical_display_menu/common.yaml | 7 +- .../test.esp32-c3-idf.yaml | 5 +- .../test.esp32-idf.yaml | 5 +- .../test.esp8266-ard.yaml | 5 +- .../test.rp2040-ard.yaml | 5 +- tests/components/grove_gas_mc_v2/common.yaml | 6 +- .../grove_gas_mc_v2/test.esp32-c3-idf.yaml | 5 +- .../grove_gas_mc_v2/test.esp32-idf.yaml | 5 +- .../grove_gas_mc_v2/test.esp8266-ard.yaml | 5 +- .../grove_gas_mc_v2/test.rp2040-ard.yaml | 5 +- tests/components/grove_tb6612fng/common.yaml | 6 +- .../grove_tb6612fng/test.esp32-c3-idf.yaml | 5 +- .../grove_tb6612fng/test.esp32-idf.yaml | 5 +- .../grove_tb6612fng/test.esp8266-ard.yaml | 5 +- .../grove_tb6612fng/test.rp2040-ard.yaml | 5 +- tests/components/growatt_solar/common.yaml | 10 +- .../growatt_solar/test.esp32-c3-idf.yaml | 4 +- .../growatt_solar/test.esp32-idf.yaml | 3 + .../growatt_solar/test.esp8266-ard.yaml | 9 +- .../growatt_solar/test.rp2040-ard.yaml | 3 + tests/components/gt911/common.yaml | 16 +- tests/components/gt911/test.esp32-c3-idf.yaml | 8 + tests/components/gt911/test.esp32-idf.yaml | 8 + tests/components/gt911/test.esp8266-ard.yaml | 29 +- tests/components/gt911/test.rp2040-ard.yaml | 8 + tests/components/haier/common.yaml | 7 - tests/components/haier/test.esp32-c3-idf.yaml | 4 +- tests/components/haier/test.esp32-idf.yaml | 7 +- tests/components/haier/test.esp8266-ard.yaml | 7 +- tests/components/haier/test.rp2040-ard.yaml | 3 + tests/components/havells_solar/common.yaml | 10 +- .../havells_solar/test.esp32-c3-idf.yaml | 4 +- .../havells_solar/test.esp32-idf.yaml | 3 + .../havells_solar/test.esp8266-ard.yaml | 9 +- .../havells_solar/test.rp2040-ard.yaml | 3 + tests/components/hbridge/common.yaml | 6 - .../components/hbridge/test.esp32-c3-idf.yaml | 8 +- tests/components/hbridge/test.esp32-idf.yaml | 8 +- .../components/hbridge/test.esp8266-ard.yaml | 8 +- tests/components/hbridge/test.rp2040-ard.yaml | 8 +- tests/components/hdc1080/common.yaml | 6 +- .../components/hdc1080/test.esp32-c3-idf.yaml | 5 +- tests/components/hdc1080/test.esp32-idf.yaml | 5 +- .../components/hdc1080/test.esp8266-ard.yaml | 5 +- tests/components/hdc1080/test.rp2040-ard.yaml | 5 +- tests/components/he60r/common.yaml | 7 - tests/components/he60r/test.esp32-c3-idf.yaml | 5 +- tests/components/he60r/test.esp32-idf.yaml | 5 +- tests/components/he60r/test.esp8266-ard.yaml | 5 +- tests/components/he60r/test.rp2040-ard.yaml | 5 +- .../components/hlw8012/test.esp8266-ard.yaml | 6 +- tests/components/hm3301/common.yaml | 6 +- .../components/hm3301/test.esp32-c3-idf.yaml | 5 +- tests/components/hm3301/test.esp32-idf.yaml | 5 +- tests/components/hm3301/test.esp8266-ard.yaml | 5 +- tests/components/hm3301/test.rp2040-ard.yaml | 5 +- tests/components/hmc5883l/common.yaml | 6 +- .../hmc5883l/test.esp32-c3-idf.yaml | 5 +- tests/components/hmc5883l/test.esp32-idf.yaml | 5 +- .../components/hmc5883l/test.esp8266-ard.yaml | 5 +- .../components/hmc5883l/test.rp2040-ard.yaml | 5 +- .../components/honeywell_hih_i2c/common.yaml | 6 +- .../honeywell_hih_i2c/test.esp32-c3-idf.yaml | 5 +- .../honeywell_hih_i2c/test.esp32-idf.yaml | 5 +- .../honeywell_hih_i2c/test.esp8266-ard.yaml | 5 +- .../honeywell_hih_i2c/test.rp2040-ard.yaml | 5 +- tests/components/honeywellabp/common.yaml | 6 - .../honeywellabp/test.esp32-c3-idf.yaml | 5 +- .../honeywellabp/test.esp32-idf.yaml | 6 +- .../honeywellabp/test.esp8266-ard.yaml | 9 +- .../honeywellabp/test.rp2040-ard.yaml | 3 + .../components/honeywellabp2_i2c/common.yaml | 6 +- .../honeywellabp2_i2c/test.esp32-c3-idf.yaml | 5 +- .../honeywellabp2_i2c/test.esp32-idf.yaml | 5 +- .../honeywellabp2_i2c/test.esp8266-ard.yaml | 5 +- .../honeywellabp2_i2c/test.rp2040-ard.yaml | 5 +- tests/components/hrxl_maxsonar_wr/common.yaml | 6 - .../hrxl_maxsonar_wr/test.esp32-c3-idf.yaml | 4 +- .../hrxl_maxsonar_wr/test.esp32-idf.yaml | 3 + .../hrxl_maxsonar_wr/test.esp8266-ard.yaml | 7 +- .../hrxl_maxsonar_wr/test.rp2040-ard.yaml | 3 + tests/components/hte501/common.yaml | 6 +- .../components/hte501/test.esp32-c3-idf.yaml | 5 +- tests/components/hte501/test.esp32-idf.yaml | 5 +- tests/components/hte501/test.esp8266-ard.yaml | 5 +- tests/components/hte501/test.rp2040-ard.yaml | 5 +- tests/components/http_request/common.yaml | 4 + tests/components/htu21d/common.yaml | 6 +- .../components/htu21d/test.esp32-c3-idf.yaml | 5 +- tests/components/htu21d/test.esp32-idf.yaml | 5 +- tests/components/htu21d/test.esp8266-ard.yaml | 5 +- tests/components/htu21d/test.rp2040-ard.yaml | 5 +- tests/components/htu31d/common.yaml | 6 +- .../components/htu31d/test.esp32-c3-idf.yaml | 5 +- tests/components/htu31d/test.esp32-idf.yaml | 5 +- tests/components/htu31d/test.esp8266-ard.yaml | 5 +- tests/components/htu31d/test.rp2040-ard.yaml | 5 +- tests/components/hx711/test.esp32-c3-idf.yaml | 4 +- tests/components/hx711/test.esp32-idf.yaml | 4 +- tests/components/hx711/test.esp8266-ard.yaml | 4 +- tests/components/hx711/test.rp2040-ard.yaml | 4 +- tests/components/hydreon_rgxx/common.yaml | 6 - .../hydreon_rgxx/test.esp32-c3-idf.yaml | 4 +- .../hydreon_rgxx/test.esp32-idf.yaml | 7 +- .../hydreon_rgxx/test.esp8266-ard.yaml | 7 +- .../hydreon_rgxx/test.rp2040-ard.yaml | 3 + tests/components/hyt271/common.yaml | 6 +- .../components/hyt271/test.esp32-c3-idf.yaml | 5 +- tests/components/hyt271/test.esp32-idf.yaml | 5 +- tests/components/hyt271/test.esp8266-ard.yaml | 5 +- tests/components/hyt271/test.rp2040-ard.yaml | 5 +- tests/components/i2c/common.yaml | 4 - tests/components/i2c/test.esp32-ard.yaml | 5 +- tests/components/i2c/test.esp32-c3-idf.yaml | 5 +- tests/components/i2c/test.esp32-idf.yaml | 5 +- tests/components/i2c/test.esp8266-ard.yaml | 5 +- tests/components/i2c/test.rp2040-ard.yaml | 5 +- tests/components/i2c_device/common.yaml | 6 +- .../i2c_device/test.esp32-c3-idf.yaml | 5 +- .../components/i2c_device/test.esp32-idf.yaml | 5 +- .../i2c_device/test.esp8266-ard.yaml | 5 +- .../i2c_device/test.rp2040-ard.yaml | 5 +- .../components/i2s_audio/test.esp32-idf.yaml | 7 +- tests/components/iaqcore/common.yaml | 6 +- .../components/iaqcore/test.esp32-c3-idf.yaml | 5 +- tests/components/iaqcore/test.esp32-idf.yaml | 5 +- .../components/iaqcore/test.esp8266-ard.yaml | 5 +- tests/components/iaqcore/test.rp2040-ard.yaml | 5 +- tests/components/ili9xxx/common.yaml | 5 - .../components/ili9xxx/test.esp32-c3-idf.yaml | 7 +- tests/components/ili9xxx/test.esp32-idf.yaml | 5 +- .../components/ili9xxx/test.esp8266-ard.yaml | 3 + tests/components/ili9xxx/test.rp2040-ard.yaml | 3 + tests/components/image/test.esp32-idf.yaml | 10 +- tests/components/image/test.esp8266-ard.yaml | 8 +- tests/components/image/test.rp2040-ard.yaml | 8 +- tests/components/ina219/common.yaml | 6 +- .../components/ina219/test.esp32-c3-idf.yaml | 5 +- tests/components/ina219/test.esp32-idf.yaml | 5 +- tests/components/ina219/test.esp8266-ard.yaml | 5 +- tests/components/ina219/test.rp2040-ard.yaml | 5 +- tests/components/ina226/common.yaml | 6 +- .../components/ina226/test.esp32-c3-idf.yaml | 5 +- tests/components/ina226/test.esp32-idf.yaml | 5 +- tests/components/ina226/test.esp8266-ard.yaml | 5 +- tests/components/ina226/test.rp2040-ard.yaml | 5 +- tests/components/ina260/common.yaml | 6 +- .../components/ina260/test.esp32-c3-idf.yaml | 5 +- tests/components/ina260/test.esp32-idf.yaml | 5 +- tests/components/ina260/test.esp8266-ard.yaml | 5 +- tests/components/ina260/test.rp2040-ard.yaml | 5 +- tests/components/ina2xx_i2c/common.yaml | 7 +- .../ina2xx_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/ina2xx_i2c/test.esp32-idf.yaml | 5 +- .../ina2xx_i2c/test.esp8266-ard.yaml | 5 +- .../ina2xx_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ina2xx_spi/common.yaml | 7 - .../ina2xx_spi/test.esp32-c3-idf.yaml | 5 +- .../components/ina2xx_spi/test.esp32-idf.yaml | 6 +- .../ina2xx_spi/test.esp8266-ard.yaml | 9 +- .../ina2xx_spi/test.rp2040-ard.yaml | 3 + tests/components/ina3221/common.yaml | 6 +- .../components/ina3221/test.esp32-c3-idf.yaml | 5 +- tests/components/ina3221/test.esp32-idf.yaml | 5 +- .../components/ina3221/test.esp8266-ard.yaml | 5 +- tests/components/ina3221/test.rp2040-ard.yaml | 5 +- .../test.esp32-c3-idf.yaml | 3 + .../inkbird_ibsth1_mini/test.esp32-idf.yaml | 3 + tests/components/inkplate/common.yaml | 6 +- tests/components/inkplate/test.esp32-idf.yaml | 3 + tests/components/jsn_sr04t/common.yaml | 6 - .../jsn_sr04t/test.esp32-c3-idf.yaml | 4 +- .../components/jsn_sr04t/test.esp32-idf.yaml | 7 +- .../jsn_sr04t/test.esp8266-ard.yaml | 7 +- .../components/jsn_sr04t/test.rp2040-ard.yaml | 3 + tests/components/kamstrup_kmp/common.yaml | 6 - .../kamstrup_kmp/test.esp32-idf.yaml | 5 +- .../kamstrup_kmp/test.esp8266-ard.yaml | 3 + tests/components/kmeteriso/common.yaml | 6 +- .../kmeteriso/test.esp32-c3-idf.yaml | 5 +- .../components/kmeteriso/test.esp32-idf.yaml | 5 +- .../kmeteriso/test.esp8266-ard.yaml | 5 +- .../components/kmeteriso/test.rp2040-ard.yaml | 5 +- tests/components/kuntze/common.yaml | 10 +- .../components/kuntze/test.esp32-c3-idf.yaml | 4 +- tests/components/kuntze/test.esp32-idf.yaml | 3 + tests/components/kuntze/test.esp8266-ard.yaml | 9 +- tests/components/kuntze/test.rp2040-ard.yaml | 3 + tests/components/lc709203f/common.yaml | 6 +- .../lc709203f/test.esp32-c3-idf.yaml | 5 +- .../components/lc709203f/test.esp32-idf.yaml | 5 +- .../lc709203f/test.esp8266-ard.yaml | 5 +- .../components/lc709203f/test.rp2040-ard.yaml | 5 +- tests/components/lcd_gpio/test.esp32-idf.yaml | 2 +- .../components/lcd_gpio/test.esp8266-ard.yaml | 4 +- tests/components/lcd_menu/test.esp32-idf.yaml | 2 +- .../components/lcd_menu/test.esp8266-ard.yaml | 4 +- tests/components/lcd_pcf8574/common.yaml | 6 +- .../lcd_pcf8574/test.esp32-c3-idf.yaml | 5 +- .../lcd_pcf8574/test.esp32-idf.yaml | 5 +- .../lcd_pcf8574/test.esp8266-ard.yaml | 5 +- .../lcd_pcf8574/test.rp2040-ard.yaml | 5 +- tests/components/ld2410/common.yaml | 6 - .../components/ld2410/test.esp32-c3-idf.yaml | 3 + tests/components/ld2410/test.esp32-idf.yaml | 7 +- tests/components/ld2410/test.esp8266-ard.yaml | 7 +- tests/components/ld2410/test.rp2040-ard.yaml | 3 + tests/components/ld2412/common.yaml | 16 +- .../components/ld2412/test.esp32-c3-idf.yaml | 3 + tests/components/ld2412/test.esp32-idf.yaml | 5 +- tests/components/ld2412/test.esp8266-ard.yaml | 7 +- tests/components/ld2412/test.rp2040-ard.yaml | 3 + tests/components/ld2420/common.yaml | 6 - .../components/ld2420/test.esp32-c3-idf.yaml | 4 +- tests/components/ld2420/test.esp32-idf.yaml | 7 +- tests/components/ld2420/test.esp8266-ard.yaml | 7 +- tests/components/ld2420/test.rp2040-ard.yaml | 3 + tests/components/ld2450/common.yaml | 9 - .../components/ld2450/test.esp32-c3-idf.yaml | 3 + tests/components/ld2450/test.esp32-idf.yaml | 7 +- tests/components/ld2450/test.esp8266-ard.yaml | 7 +- tests/components/ld2450/test.rp2040-ard.yaml | 3 + tests/components/lilygo_t5_47/common.yaml | 9 +- .../lilygo_t5_47/test.esp32-c3-idf.yaml | 5 +- .../lilygo_t5_47/test.esp32-idf.yaml | 7 +- .../lilygo_t5_47/test.esp8266-ard.yaml | 7 +- .../lilygo_t5_47/test.rp2040-ard.yaml | 5 +- tests/components/lm75b/common.yaml | 6 +- tests/components/lm75b/test.esp32-c3-idf.yaml | 5 +- tests/components/lm75b/test.esp32-idf.yaml | 5 +- tests/components/lm75b/test.esp8266-ard.yaml | 5 +- tests/components/lm75b/test.rp2040-ard.yaml | 5 +- tests/components/lock/common.yaml | 4 +- tests/components/lps22/common.yaml | 1 + tests/components/lps22/test.esp32-c3-idf.yaml | 6 +- tests/components/lps22/test.esp32-idf.yaml | 6 +- tests/components/lps22/test.esp8266-ard.yaml | 6 +- tests/components/lps22/test.rp2040-ard.yaml | 6 +- tests/components/ltr390/common.yaml | 7 +- .../components/ltr390/test.esp32-c3-idf.yaml | 5 +- tests/components/ltr390/test.esp32-idf.yaml | 5 +- tests/components/ltr390/test.esp8266-ard.yaml | 5 +- tests/components/ltr390/test.rp2040-ard.yaml | 5 +- tests/components/ltr501/common.yaml | 1 - .../components/ltr501/test.esp32-c3-idf.yaml | 6 +- tests/components/ltr501/test.esp32-idf.yaml | 6 +- tests/components/ltr501/test.esp8266-ard.yaml | 6 +- tests/components/ltr501/test.rp2040-ard.yaml | 6 +- tests/components/ltr_als_ps/common.yaml | 1 - .../ltr_als_ps/test.esp32-c3-idf.yaml | 6 +- .../components/ltr_als_ps/test.esp32-idf.yaml | 6 +- .../ltr_als_ps/test.esp8266-ard.yaml | 6 +- .../ltr_als_ps/test.rp2040-ard.yaml | 6 +- tests/components/lvgl/common.yaml | 1 + tests/components/lvgl/test.esp32-idf.yaml | 16 +- tests/components/m5stack_8angle/common.yaml | 7 +- .../m5stack_8angle/test.esp32-c3-idf.yaml | 3 + .../m5stack_8angle/test.esp32-idf.yaml | 3 + .../m5stack_8angle/test.esp8266-ard.yaml | 3 + .../m5stack_8angle/test.rp2040-ard.yaml | 3 + .../components/mapping/test.esp32-c3-idf.yaml | 12 +- tests/components/mapping/test.esp32-idf.yaml | 12 +- .../components/mapping/test.esp8266-ard.yaml | 12 +- tests/components/mapping/test.rp2040-ard.yaml | 12 +- tests/components/max17043/common.yaml | 7 +- .../max17043/test.esp32-c3-idf.yaml | 5 +- tests/components/max17043/test.esp32-idf.yaml | 5 +- .../components/max17043/test.esp8266-ard.yaml | 5 +- .../components/max17043/test.rp2040-ard.yaml | 5 +- tests/components/max31855/common.yaml | 6 - .../max31855/test.esp32-c3-idf.yaml | 5 +- tests/components/max31855/test.esp32-idf.yaml | 6 +- .../components/max31855/test.esp8266-ard.yaml | 9 +- .../components/max31855/test.rp2040-ard.yaml | 3 + tests/components/max31856/common.yaml | 6 - .../max31856/test.esp32-c3-idf.yaml | 5 +- tests/components/max31856/test.esp32-idf.yaml | 6 +- .../components/max31856/test.esp8266-ard.yaml | 9 +- .../components/max31856/test.rp2040-ard.yaml | 3 + tests/components/max31865/common.yaml | 6 - .../max31865/test.esp32-c3-idf.yaml | 5 +- tests/components/max31865/test.esp32-idf.yaml | 6 +- .../components/max31865/test.esp8266-ard.yaml | 9 +- .../components/max31865/test.rp2040-ard.yaml | 3 + tests/components/max44009/common.yaml | 6 +- .../max44009/test.esp32-c3-idf.yaml | 5 +- tests/components/max44009/test.esp32-idf.yaml | 5 +- .../components/max44009/test.esp8266-ard.yaml | 5 +- .../components/max44009/test.rp2040-ard.yaml | 5 +- tests/components/max6675/common.yaml | 6 - .../components/max6675/test.esp32-c3-idf.yaml | 5 +- tests/components/max6675/test.esp32-idf.yaml | 6 +- .../components/max6675/test.esp8266-ard.yaml | 9 +- tests/components/max6675/test.rp2040-ard.yaml | 3 + tests/components/max6956/common.yaml | 6 +- .../components/max6956/test.esp32-c3-idf.yaml | 5 +- tests/components/max6956/test.esp32-idf.yaml | 5 +- .../components/max6956/test.esp8266-ard.yaml | 5 +- tests/components/max6956/test.rp2040-ard.yaml | 5 +- tests/components/max7219/common.yaml | 6 - .../components/max7219/test.esp32-c3-idf.yaml | 5 +- tests/components/max7219/test.esp32-idf.yaml | 6 +- .../components/max7219/test.esp8266-ard.yaml | 9 +- tests/components/max7219/test.rp2040-ard.yaml | 3 + tests/components/max7219digit/common.yaml | 6 - .../max7219digit/test.esp32-c3-idf.yaml | 5 +- .../max7219digit/test.esp32-idf.yaml | 6 +- .../max7219digit/test.esp8266-ard.yaml | 9 +- .../max7219digit/test.rp2040-ard.yaml | 3 + tests/components/max9611/common.yaml | 6 +- .../components/max9611/test.esp32-c3-idf.yaml | 5 +- tests/components/max9611/test.esp32-idf.yaml | 5 +- .../components/max9611/test.esp8266-ard.yaml | 5 +- tests/components/max9611/test.rp2040-ard.yaml | 5 +- tests/components/mcp23008/common.yaml | 6 +- .../mcp23008/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp23008/test.esp32-idf.yaml | 5 +- .../components/mcp23008/test.esp8266-ard.yaml | 5 +- .../components/mcp23008/test.rp2040-ard.yaml | 5 +- tests/components/mcp23016/common.yaml | 6 +- .../mcp23016/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp23016/test.esp32-idf.yaml | 5 +- .../components/mcp23016/test.esp8266-ard.yaml | 5 +- .../components/mcp23016/test.rp2040-ard.yaml | 5 +- tests/components/mcp23017/common.yaml | 6 +- .../mcp23017/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp23017/test.esp32-idf.yaml | 5 +- .../components/mcp23017/test.esp8266-ard.yaml | 5 +- .../components/mcp23017/test.rp2040-ard.yaml | 5 +- tests/components/mcp23s08/common.yaml | 6 - .../mcp23s08/test.esp32-c3-idf.yaml | 6 +- tests/components/mcp23s08/test.esp32-idf.yaml | 6 +- .../components/mcp23s08/test.esp8266-ard.yaml | 6 +- .../components/mcp23s08/test.rp2040-ard.yaml | 6 +- tests/components/mcp23s17/common.yaml | 6 - .../mcp23s17/test.esp32-c3-idf.yaml | 6 +- tests/components/mcp23s17/test.esp32-idf.yaml | 6 +- .../components/mcp23s17/test.esp8266-ard.yaml | 6 +- .../components/mcp23s17/test.rp2040-ard.yaml | 6 +- tests/components/mcp2515/common.yaml | 6 - .../components/mcp2515/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp2515/test.esp32-idf.yaml | 6 +- .../components/mcp2515/test.esp8266-ard.yaml | 9 +- tests/components/mcp2515/test.rp2040-ard.yaml | 3 + tests/components/mcp3008/common.yaml | 6 - .../components/mcp3008/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp3008/test.esp32-idf.yaml | 6 +- .../components/mcp3008/test.esp8266-ard.yaml | 9 +- tests/components/mcp3008/test.rp2040-ard.yaml | 3 + tests/components/mcp3204/common.yaml | 6 - .../components/mcp3204/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp3204/test.esp32-idf.yaml | 6 +- .../components/mcp3204/test.esp8266-ard.yaml | 9 +- tests/components/mcp3204/test.rp2040-ard.yaml | 3 + tests/components/mcp4461/common.yaml | 6 +- .../components/mcp4461/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp4461/test.esp32-idf.yaml | 5 +- .../components/mcp4461/test.esp8266-ard.yaml | 5 +- tests/components/mcp4725/common.yaml | 5 - .../components/mcp4725/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp4725/test.esp32-idf.yaml | 5 +- .../components/mcp4725/test.esp8266-ard.yaml | 5 +- tests/components/mcp4725/test.rp2040-ard.yaml | 5 +- tests/components/mcp4728/common.yaml | 6 +- .../components/mcp4728/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp4728/test.esp32-idf.yaml | 5 +- .../components/mcp4728/test.esp8266-ard.yaml | 5 +- tests/components/mcp4728/test.rp2040-ard.yaml | 5 +- tests/components/mcp47a1/common.yaml | 5 - .../components/mcp47a1/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp47a1/test.esp32-idf.yaml | 5 +- .../components/mcp47a1/test.esp8266-ard.yaml | 5 +- tests/components/mcp47a1/test.rp2040-ard.yaml | 5 +- tests/components/mcp9600/common.yaml | 6 +- .../components/mcp9600/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp9600/test.esp32-idf.yaml | 5 +- .../components/mcp9600/test.esp8266-ard.yaml | 5 +- tests/components/mcp9600/test.rp2040-ard.yaml | 5 +- tests/components/mcp9808/common.yaml | 6 +- .../components/mcp9808/test.esp32-c3-idf.yaml | 5 +- tests/components/mcp9808/test.esp32-idf.yaml | 5 +- .../components/mcp9808/test.esp8266-ard.yaml | 5 +- tests/components/mcp9808/test.rp2040-ard.yaml | 5 +- tests/components/mhz19/common.yaml | 6 - tests/components/mhz19/test.esp32-c3-idf.yaml | 4 +- tests/components/mhz19/test.esp32-idf.yaml | 7 +- tests/components/mhz19/test.esp8266-ard.yaml | 7 +- tests/components/mhz19/test.rp2040-ard.yaml | 3 + tests/components/micronova/common.yaml | 6 - .../micronova/test.esp32-c3-idf.yaml | 5 +- .../components/micronova/test.esp32-idf.yaml | 5 +- .../micronova/test.esp8266-ard.yaml | 7 +- .../components/micronova/test.rp2040-ard.yaml | 5 +- .../components/microphone/test.esp32-idf.yaml | 4 +- tests/components/mics_4514/common.yaml | 6 +- .../mics_4514/test.esp32-c3-idf.yaml | 5 +- .../components/mics_4514/test.esp32-idf.yaml | 5 +- .../mics_4514/test.esp8266-ard.yaml | 5 +- .../components/mics_4514/test.rp2040-ard.yaml | 5 +- tests/components/midea/common.yaml | 6 - tests/components/midea/test.esp32-ard.yaml | 5 +- tests/components/midea/test.esp8266-ard.yaml | 5 +- .../mipi_dsi/test.esp32-p4-idf.yaml | 9 +- .../mipi_rgb/test.esp32-s3-idf.yaml | 12 +- tests/components/mipi_spi/common.yaml | 13 +- .../mipi_spi/test-lvgl.esp32-s3-idf.yaml | 13 +- .../mipi_spi/test.esp32-c3-idf.yaml | 12 +- tests/components/mipi_spi/test.esp32-idf.yaml | 15 +- .../components/mipi_spi/test.rp2040-ard.yaml | 8 +- tests/components/mixer/test.esp32-idf.yaml | 7 +- tests/components/mlx90393/common.yaml | 6 +- .../mlx90393/test.esp32-c3-idf.yaml | 5 +- tests/components/mlx90393/test.esp32-idf.yaml | 5 +- .../mlx90393/test.esp32-s3-idf.yaml | 5 +- .../components/mlx90393/test.esp8266-ard.yaml | 5 +- .../components/mlx90393/test.rp2040-ard.yaml | 5 +- tests/components/mlx90614/common.yaml | 6 +- .../mlx90614/test.esp32-c3-idf.yaml | 5 +- tests/components/mlx90614/test.esp32-idf.yaml | 5 +- .../components/mlx90614/test.esp8266-ard.yaml | 5 +- .../components/mlx90614/test.rp2040-ard.yaml | 5 +- tests/components/mmc5603/common.yaml | 6 +- .../components/mmc5603/test.esp32-c3-idf.yaml | 5 +- tests/components/mmc5603/test.esp32-idf.yaml | 5 +- .../components/mmc5603/test.esp8266-ard.yaml | 5 +- tests/components/mmc5603/test.rp2040-ard.yaml | 5 +- tests/components/mmc5983/common.yaml | 6 +- .../components/mmc5983/test.esp32-c3-idf.yaml | 5 +- tests/components/mmc5983/test.esp32-idf.yaml | 5 +- .../components/mmc5983/test.esp8266-ard.yaml | 5 +- tests/components/mmc5983/test.rp2040-ard.yaml | 5 +- tests/components/modbus/common.yaml | 6 - .../components/modbus/test.esp32-c3-idf.yaml | 4 +- tests/components/modbus/test.esp32-idf.yaml | 3 + tests/components/modbus/test.esp8266-ard.yaml | 9 +- tests/components/modbus/test.rp2040-ard.yaml | 3 + .../components/modbus_controller/common.yaml | 17 +- .../modbus_controller/test.esp32-c3-idf.yaml | 8 +- .../modbus_controller/test.esp32-idf.yaml | 8 +- .../modbus_controller/test.esp8266-ard.yaml | 8 +- .../modbus_controller/test.rp2040-ard.yaml | 8 +- .../mopeka_ble/test.esp32-c3-idf.yaml | 3 + .../components/mopeka_ble/test.esp32-idf.yaml | 3 + .../mopeka_pro_check/test.esp32-c3-idf.yaml | 3 + .../mopeka_pro_check/test.esp32-idf.yaml | 3 + .../mopeka_std_check/test.esp32-c3-idf.yaml | 3 + .../mopeka_std_check/test.esp32-idf.yaml | 3 + tests/components/mpl3115a2/common.yaml | 6 +- .../mpl3115a2/test.esp32-c3-idf.yaml | 5 +- .../components/mpl3115a2/test.esp32-idf.yaml | 5 +- .../mpl3115a2/test.esp8266-ard.yaml | 5 +- .../components/mpl3115a2/test.rp2040-ard.yaml | 5 +- tests/components/mpr121/common.yaml | 6 +- .../components/mpr121/test.esp32-c3-idf.yaml | 3 + tests/components/mpr121/test.esp32-idf.yaml | 3 + tests/components/mpr121/test.esp8266-ard.yaml | 3 + tests/components/mpr121/test.rp2040-ard.yaml | 3 + tests/components/mpu6050/common.yaml | 6 +- .../components/mpu6050/test.esp32-c3-idf.yaml | 5 +- tests/components/mpu6050/test.esp32-idf.yaml | 5 +- .../components/mpu6050/test.esp8266-ard.yaml | 5 +- tests/components/mpu6050/test.rp2040-ard.yaml | 5 +- tests/components/mpu6886/common.yaml | 6 +- .../components/mpu6886/test.esp32-c3-idf.yaml | 5 +- tests/components/mpu6886/test.esp32-idf.yaml | 5 +- .../components/mpu6886/test.esp8266-ard.yaml | 5 +- tests/components/mpu6886/test.rp2040-ard.yaml | 5 +- tests/components/mqtt/common-update.yaml | 2 + tests/components/ms5611/common.yaml | 6 +- .../components/ms5611/test.esp32-c3-idf.yaml | 3 + tests/components/ms5611/test.esp32-idf.yaml | 3 + tests/components/ms5611/test.esp8266-ard.yaml | 3 + tests/components/ms5611/test.rp2040-ard.yaml | 3 + tests/components/msa3xx/common.yaml | 2 +- .../components/msa3xx/test.esp32-c3-idf.yaml | 6 +- tests/components/msa3xx/test.esp32-idf.yaml | 6 +- tests/components/msa3xx/test.esp8266-ard.yaml | 6 +- tests/components/msa3xx/test.rp2040-ard.yaml | 6 +- tests/components/nau7802/common.yaml | 2 +- .../components/nau7802/test.esp32-c3-idf.yaml | 6 +- tests/components/nau7802/test.esp32-idf.yaml | 6 +- .../components/nau7802/test.esp8266-ard.yaml | 6 +- tests/components/nau7802/test.rp2040-ard.yaml | 6 +- tests/components/nextion/common.yaml | 6 - tests/components/nextion/test.esp32-ard.yaml | 5 +- .../components/nextion/test.esp32-c3-idf.yaml | 5 +- tests/components/nextion/test.esp32-idf.yaml | 5 +- .../components/nextion/test.esp8266-ard.yaml | 5 +- tests/components/nextion/test.rp2040-ard.yaml | 5 +- tests/components/npi19/common.yaml | 8 +- tests/components/npi19/test.esp32-idf.yaml | 5 +- tests/components/npi19/test.esp32-s3-idf.yaml | 5 +- tests/components/npi19/test.esp8266-ard.yaml | 5 +- .../components/online_image/common-esp32.yaml | 10 +- .../online_image/common-esp8266.yaml | 10 +- .../online_image/common-rp2040.yaml | 10 +- tests/components/opt3001/common.yaml | 6 +- .../components/opt3001/test.esp32-c3-idf.yaml | 5 +- tests/components/opt3001/test.esp32-idf.yaml | 5 +- .../components/opt3001/test.esp8266-ard.yaml | 5 +- tests/components/opt3001/test.rp2040-ard.yaml | 5 +- .../packet_transport/test.esp32-c3-idf.yaml | 3 + .../packet_transport/test.esp32-idf.yaml | 3 + .../packet_transport/test.esp8266-ard.yaml | 3 + .../packet_transport/test.host.yaml | 42 +- .../packet_transport/test.rp2040-ard.yaml | 3 + tests/components/pca6416a/common.yaml | 6 +- .../pca6416a/test.esp32-c3-idf.yaml | 5 +- tests/components/pca6416a/test.esp32-idf.yaml | 5 +- .../components/pca6416a/test.esp8266-ard.yaml | 5 +- .../components/pca6416a/test.rp2040-ard.yaml | 5 +- tests/components/pca9554/common.yaml | 6 +- .../components/pca9554/test.esp32-c3-idf.yaml | 5 +- tests/components/pca9554/test.esp32-idf.yaml | 5 +- .../components/pca9554/test.esp8266-ard.yaml | 5 +- tests/components/pca9554/test.rp2040-ard.yaml | 5 +- tests/components/pca9685/common.yaml | 6 +- .../components/pca9685/test.esp32-c3-idf.yaml | 5 +- tests/components/pca9685/test.esp32-idf.yaml | 5 +- .../components/pca9685/test.esp8266-ard.yaml | 5 +- tests/components/pca9685/test.rp2040-ard.yaml | 5 +- tests/components/pcd8544/common.yaml | 6 - .../components/pcd8544/test.esp32-c3-idf.yaml | 5 +- tests/components/pcd8544/test.esp32-idf.yaml | 6 +- .../components/pcd8544/test.esp8266-ard.yaml | 7 +- tests/components/pcd8544/test.rp2040-ard.yaml | 3 + tests/components/pcf85063/common.yaml | 6 +- .../pcf85063/test.esp32-c3-idf.yaml | 5 +- tests/components/pcf85063/test.esp32-idf.yaml | 5 +- .../components/pcf85063/test.esp8266-ard.yaml | 5 +- .../components/pcf85063/test.rp2040-ard.yaml | 5 +- tests/components/pcf8563/common.yaml | 6 +- .../components/pcf8563/test.esp32-c3-idf.yaml | 5 +- tests/components/pcf8563/test.esp32-idf.yaml | 5 +- .../components/pcf8563/test.esp8266-ard.yaml | 5 +- tests/components/pcf8563/test.rp2040-ard.yaml | 5 +- tests/components/pcf8574/common.yaml | 6 +- .../components/pcf8574/test.esp32-c3-idf.yaml | 5 +- tests/components/pcf8574/test.esp32-idf.yaml | 5 +- .../components/pcf8574/test.esp8266-ard.yaml | 5 +- tests/components/pcf8574/test.rp2040-ard.yaml | 5 +- tests/components/pi4ioe5v6408/common.yaml | 6 +- .../pi4ioe5v6408/test.esp32-idf.yaml | 3 + .../pi4ioe5v6408/test.rp2040-ard.yaml | 3 + tests/components/pipsolar/common.yaml | 6 - .../pipsolar/test.esp32-c3-idf.yaml | 4 +- tests/components/pipsolar/test.esp32-idf.yaml | 7 +- .../pipsolar/test.esp32-s2-idf.yaml | 5 +- .../components/pipsolar/test.esp8266-ard.yaml | 7 +- .../components/pipsolar/test.rp2040-ard.yaml | 3 + tests/components/pm1006/common.yaml | 6 - .../components/pm1006/test.esp32-c3-idf.yaml | 4 +- tests/components/pm1006/test.esp32-idf.yaml | 7 +- tests/components/pm1006/test.esp8266-ard.yaml | 7 +- tests/components/pm1006/test.rp2040-ard.yaml | 3 + tests/components/pm2005/common.yaml | 6 +- .../components/pm2005/test.esp32-c3-idf.yaml | 5 +- tests/components/pm2005/test.esp32-idf.yaml | 5 +- tests/components/pm2005/test.esp8266-ard.yaml | 5 +- tests/components/pm2005/test.rp2040-ard.yaml | 5 +- tests/components/pmsa003i/common.yaml | 6 +- .../pmsa003i/test.esp32-c3-idf.yaml | 5 +- tests/components/pmsa003i/test.esp32-idf.yaml | 5 +- .../components/pmsa003i/test.esp8266-ard.yaml | 5 +- .../components/pmsa003i/test.rp2040-ard.yaml | 5 +- tests/components/pmsx003/common.yaml | 6 - .../components/pmsx003/test.esp32-c3-idf.yaml | 4 +- tests/components/pmsx003/test.esp32-idf.yaml | 7 +- .../components/pmsx003/test.esp8266-ard.yaml | 7 +- tests/components/pmsx003/test.rp2040-ard.yaml | 3 + tests/components/pmwcs3/common.yaml | 6 +- .../components/pmwcs3/test.esp32-c3-idf.yaml | 5 +- tests/components/pmwcs3/test.esp32-idf.yaml | 5 +- tests/components/pmwcs3/test.esp8266-ard.yaml | 5 +- tests/components/pmwcs3/test.rp2040-ard.yaml | 5 +- tests/components/pn532_i2c/common.yaml | 6 +- .../pn532_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/pn532_i2c/test.esp32-idf.yaml | 5 +- .../pn532_i2c/test.esp8266-ard.yaml | 5 +- .../components/pn532_i2c/test.rp2040-ard.yaml | 5 +- tests/components/pn532_spi/common.yaml | 6 - .../pn532_spi/test.esp32-c3-idf.yaml | 5 +- .../components/pn532_spi/test.esp32-idf.yaml | 6 +- .../pn532_spi/test.esp8266-ard.yaml | 11 +- .../components/pn532_spi/test.rp2040-ard.yaml | 3 + tests/components/pn7150_i2c/common.yaml | 6 +- .../pn7150_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/pn7150_i2c/test.esp32-idf.yaml | 5 +- .../pn7150_i2c/test.esp8266-ard.yaml | 9 +- .../pn7150_i2c/test.rp2040-ard.yaml | 5 +- tests/components/pn7160_i2c/common.yaml | 6 +- .../pn7160_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/pn7160_i2c/test.esp32-idf.yaml | 5 +- .../pn7160_i2c/test.esp8266-ard.yaml | 9 +- .../pn7160_i2c/test.rp2040-ard.yaml | 5 +- tests/components/pn7160_spi/common.yaml | 6 - .../pn7160_spi/test.esp32-c3-idf.yaml | 5 +- .../components/pn7160_spi/test.esp32-idf.yaml | 6 +- .../pn7160_spi/test.esp8266-ard.yaml | 7 +- .../pn7160_spi/test.rp2040-ard.yaml | 3 + tests/components/prometheus/common.yaml | 2 + .../components/prometheus/test.esp32-idf.yaml | 3 + .../pvvx_mithermometer/test.esp32-c3-idf.yaml | 3 + .../pvvx_mithermometer/test.esp32-idf.yaml | 3 + tests/components/pylontech/common.yaml | 6 - .../pylontech/test.esp32-c3-idf.yaml | 4 +- .../components/pylontech/test.esp32-idf.yaml | 7 +- .../pylontech/test.esp8266-ard.yaml | 7 +- .../components/pylontech/test.rp2040-ard.yaml | 3 + tests/components/pzem004t/common.yaml | 6 - .../pzem004t/test.esp32-c3-idf.yaml | 4 +- tests/components/pzem004t/test.esp32-idf.yaml | 7 +- .../components/pzem004t/test.esp8266-ard.yaml | 7 +- .../components/pzem004t/test.rp2040-ard.yaml | 3 + tests/components/pzemac/common.yaml | 9 +- .../components/pzemac/test.esp32-c3-idf.yaml | 4 +- tests/components/pzemac/test.esp32-idf.yaml | 7 +- tests/components/pzemac/test.esp8266-ard.yaml | 7 +- tests/components/pzemac/test.rp2040-ard.yaml | 3 + tests/components/pzemdc/common.yaml | 8 +- .../components/pzemdc/test.esp32-c3-idf.yaml | 4 +- tests/components/pzemdc/test.esp32-idf.yaml | 7 +- tests/components/pzemdc/test.esp8266-ard.yaml | 7 +- tests/components/pzemdc/test.rp2040-ard.yaml | 3 + tests/components/qmc5883l/common.yaml | 6 +- .../qmc5883l/test.esp32-c3-idf.yaml | 5 +- tests/components/qmc5883l/test.esp32-idf.yaml | 7 +- .../components/qmc5883l/test.esp8266-ard.yaml | 5 +- .../components/qmc5883l/test.rp2040-ard.yaml | 5 +- tests/components/qmp6988/common.yaml | 6 +- .../components/qmp6988/test.esp32-c3-idf.yaml | 5 +- tests/components/qmp6988/test.esp32-idf.yaml | 5 +- .../components/qmp6988/test.esp8266-ard.yaml | 5 +- tests/components/qmp6988/test.rp2040-ard.yaml | 5 +- tests/components/qr_code/common.yaml | 13 +- .../components/qr_code/test.esp32-c3-idf.yaml | 5 +- tests/components/qr_code/test.esp32-idf.yaml | 5 +- .../components/qr_code/test.esp8266-ard.yaml | 7 +- tests/components/qr_code/test.rp2040-ard.yaml | 3 + tests/components/qspi_dbi/common.yaml | 6 - .../qspi_dbi/test.esp32-s3-idf.yaml | 3 + tests/components/qwiic_pir/common.yaml | 6 +- .../qwiic_pir/test.esp32-c3-idf.yaml | 5 +- .../components/qwiic_pir/test.esp32-idf.yaml | 5 +- .../qwiic_pir/test.esp8266-ard.yaml | 5 +- .../components/qwiic_pir/test.rp2040-ard.yaml | 5 +- .../radon_eye_ble/test.esp32-c3-idf.yaml | 3 + .../radon_eye_ble/test.esp32-idf.yaml | 3 + .../radon_eye_rd200/test.esp32-c3-idf.yaml | 3 + .../radon_eye_rd200/test.esp32-idf.yaml | 3 + tests/components/rc522_i2c/common.yaml | 6 +- .../rc522_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/rc522_i2c/test.esp32-idf.yaml | 5 +- .../rc522_i2c/test.esp8266-ard.yaml | 5 +- .../components/rc522_i2c/test.rp2040-ard.yaml | 5 +- tests/components/rc522_spi/common.yaml | 6 - .../rc522_spi/test.esp32-c3-idf.yaml | 5 +- .../components/rc522_spi/test.esp32-idf.yaml | 6 +- .../rc522_spi/test.esp8266-ard.yaml | 9 +- .../components/rc522_spi/test.rp2040-ard.yaml | 3 + tests/components/rdm6300/common.yaml | 6 - .../components/rdm6300/test.esp32-c3-idf.yaml | 4 +- tests/components/rdm6300/test.esp32-idf.yaml | 7 +- .../components/rdm6300/test.esp8266-ard.yaml | 7 +- tests/components/rdm6300/test.rp2040-ard.yaml | 3 + .../remote_receiver/test.esp32-s3-idf.yaml | 21 +- .../remote_transmitter/test.esp32-s3-idf.yaml | 13 +- .../components/resampler/test.esp32-idf.yaml | 7 +- tests/components/rf_bridge/common.yaml | 6 - .../rf_bridge/test.esp32-c3-idf.yaml | 5 +- .../components/rf_bridge/test.esp32-idf.yaml | 5 +- .../rf_bridge/test.esp8266-ard.yaml | 5 +- .../components/rf_bridge/test.rp2040-ard.yaml | 5 +- .../ruuvi_ble/test.esp32-c3-idf.yaml | 3 + .../components/ruuvi_ble/test.esp32-idf.yaml | 3 + .../ruuvitag/test.esp32-c3-idf.yaml | 3 + tests/components/ruuvitag/test.esp32-idf.yaml | 3 + tests/components/scd30/common.yaml | 6 +- tests/components/scd30/test.esp32-c3-idf.yaml | 5 +- tests/components/scd30/test.esp32-idf.yaml | 5 +- tests/components/scd30/test.esp8266-ard.yaml | 5 +- tests/components/scd30/test.rp2040-ard.yaml | 5 +- tests/components/scd4x/common.yaml | 6 +- tests/components/scd4x/test.esp32-c3-idf.yaml | 5 +- tests/components/scd4x/test.esp32-idf.yaml | 5 +- tests/components/scd4x/test.esp8266-ard.yaml | 5 +- tests/components/scd4x/test.rp2040-ard.yaml | 5 +- tests/components/sdm_meter/common.yaml | 7 +- .../sdm_meter/test.esp32-c3-idf.yaml | 4 +- .../components/sdm_meter/test.esp32-idf.yaml | 7 +- .../sdm_meter/test.esp8266-ard.yaml | 7 +- .../components/sdm_meter/test.rp2040-ard.yaml | 3 + tests/components/sdp3x/common.yaml | 6 +- tests/components/sdp3x/test.esp32-c3-idf.yaml | 5 +- tests/components/sdp3x/test.esp32-idf.yaml | 5 +- tests/components/sdp3x/test.esp8266-ard.yaml | 5 +- tests/components/sdp3x/test.rp2040-ard.yaml | 5 +- tests/components/sds011/common.yaml | 6 - .../components/sds011/test.esp32-c3-idf.yaml | 4 +- tests/components/sds011/test.esp32-idf.yaml | 7 +- tests/components/sds011/test.esp8266-ard.yaml | 7 +- tests/components/sds011/test.rp2040-ard.yaml | 3 + tests/components/seeed_mr24hpc1/common.yaml | 9 - .../seeed_mr24hpc1/test.esp32-c3-idf.yaml | 5 +- tests/components/seeed_mr60bha2/common.yaml | 8 - .../seeed_mr60bha2/test.esp32-c3-idf.yaml | 5 +- tests/components/seeed_mr60fda2/common.yaml | 9 - .../seeed_mr60fda2/test.esp32-c3-idf.yaml | 5 +- tests/components/selec_meter/common.yaml | 7 +- .../selec_meter/test.esp32-c3-idf.yaml | 6 +- .../selec_meter/test.esp32-idf.yaml | 8 +- .../selec_meter/test.esp8266-ard.yaml | 8 +- .../selec_meter/test.rp2040-ard.yaml | 4 + tests/components/sen0321/common.yaml | 6 +- .../components/sen0321/test.esp32-c3-idf.yaml | 5 +- tests/components/sen0321/test.esp32-idf.yaml | 5 +- .../components/sen0321/test.esp8266-ard.yaml | 5 +- tests/components/sen0321/test.rp2040-ard.yaml | 5 +- tests/components/sen21231/common.yaml | 6 +- .../sen21231/test.esp32-c3-idf.yaml | 5 +- tests/components/sen21231/test.esp32-idf.yaml | 5 +- .../components/sen21231/test.esp8266-ard.yaml | 5 +- .../components/sen21231/test.rp2040-ard.yaml | 5 +- tests/components/sen5x/common.yaml | 6 +- tests/components/sen5x/test.esp32-c3-idf.yaml | 5 +- tests/components/sen5x/test.esp32-idf.yaml | 5 +- tests/components/sen5x/test.esp8266-ard.yaml | 5 +- tests/components/sen5x/test.rp2040-ard.yaml | 5 +- tests/components/senseair/common.yaml | 6 - .../senseair/test.esp32-c3-idf.yaml | 4 +- tests/components/senseair/test.esp32-idf.yaml | 7 +- .../components/senseair/test.esp8266-ard.yaml | 7 +- .../components/senseair/test.rp2040-ard.yaml | 3 + tests/components/sfa30/common.yaml | 6 +- tests/components/sfa30/test.esp32-c3-idf.yaml | 5 +- tests/components/sfa30/test.esp32-idf.yaml | 5 +- tests/components/sfa30/test.esp8266-ard.yaml | 5 +- tests/components/sfa30/test.rp2040-ard.yaml | 5 +- tests/components/sgp30/common.yaml | 6 +- tests/components/sgp30/test.esp32-c3-idf.yaml | 5 +- tests/components/sgp30/test.esp32-idf.yaml | 5 +- tests/components/sgp30/test.esp8266-ard.yaml | 5 +- tests/components/sgp30/test.rp2040-ard.yaml | 5 +- tests/components/sgp4x/common.yaml | 6 +- tests/components/sgp4x/test.esp32-c3-idf.yaml | 5 +- tests/components/sgp4x/test.esp32-idf.yaml | 5 +- tests/components/sgp4x/test.esp8266-ard.yaml | 5 +- tests/components/sgp4x/test.rp2040-ard.yaml | 5 +- tests/components/shelly_dimmer/common.yaml | 6 - .../shelly_dimmer/test.esp8266-ard.yaml | 3 + tests/components/sht3xd/common.yaml | 6 +- .../components/sht3xd/test.esp32-c3-idf.yaml | 5 +- tests/components/sht3xd/test.esp32-idf.yaml | 5 +- tests/components/sht3xd/test.esp8266-ard.yaml | 5 +- tests/components/sht3xd/test.rp2040-ard.yaml | 5 +- tests/components/sht4x/common.yaml | 6 +- tests/components/sht4x/test.esp32-c3-idf.yaml | 5 +- tests/components/sht4x/test.esp32-idf.yaml | 5 +- tests/components/sht4x/test.esp8266-ard.yaml | 5 +- tests/components/sht4x/test.rp2040-ard.yaml | 5 +- tests/components/shtcx/common.yaml | 6 +- tests/components/shtcx/test.esp32-c3-idf.yaml | 5 +- tests/components/shtcx/test.esp32-idf.yaml | 5 +- tests/components/shtcx/test.esp8266-ard.yaml | 5 +- tests/components/shtcx/test.rp2040-ard.yaml | 5 +- tests/components/sim800l/common.yaml | 6 - .../components/sim800l/test.esp32-c3-idf.yaml | 4 +- tests/components/sim800l/test.esp32-idf.yaml | 7 +- .../components/sim800l/test.esp8266-ard.yaml | 7 +- tests/components/sim800l/test.rp2040-ard.yaml | 3 + tests/components/sm16716/test.esp32-idf.yaml | 4 +- .../components/sm16716/test.esp8266-ard.yaml | 4 +- tests/components/sm2135/test.esp32-idf.yaml | 4 +- tests/components/sm2135/test.esp8266-ard.yaml | 4 +- tests/components/sm2235/test.esp32-idf.yaml | 4 +- tests/components/sm2235/test.esp8266-ard.yaml | 4 +- tests/components/sm2335/test.esp32-idf.yaml | 4 +- tests/components/sm2335/test.esp8266-ard.yaml | 4 +- tests/components/sm300d2/common.yaml | 6 - .../components/sm300d2/test.esp32-c3-idf.yaml | 4 +- tests/components/sm300d2/test.esp32-idf.yaml | 7 +- .../components/sm300d2/test.esp8266-ard.yaml | 7 +- tests/components/sm300d2/test.rp2040-ard.yaml | 3 + tests/components/sml/common.yaml | 6 - tests/components/sml/test.esp32-c3-idf.yaml | 4 +- tests/components/sml/test.esp32-idf.yaml | 7 +- tests/components/sml/test.esp8266-ard.yaml | 7 +- tests/components/sml/test.rp2040-ard.yaml | 3 + tests/components/smt100/common.yaml | 6 - .../components/smt100/test.esp32-c3-idf.yaml | 4 +- tests/components/smt100/test.esp32-idf.yaml | 7 +- tests/components/smt100/test.esp8266-ard.yaml | 7 +- tests/components/smt100/test.rp2040-ard.yaml | 3 + .../components/sn74hc165/test.esp32-idf.yaml | 2 +- .../sn74hc165/test.esp8266-ard.yaml | 4 +- tests/components/sn74hc595/common.yaml | 6 - .../sn74hc595/test.esp32-c3-idf.yaml | 10 +- .../components/sn74hc595/test.esp32-idf.yaml | 10 +- .../sn74hc595/test.esp8266-ard.yaml | 6 +- .../components/sn74hc595/test.rp2040-ard.yaml | 12 +- tests/components/sonoff_d1/common.yaml | 6 - .../sonoff_d1/test.esp32-c3-idf.yaml | 5 +- .../components/sonoff_d1/test.esp32-idf.yaml | 5 +- .../sonoff_d1/test.esp8266-ard.yaml | 5 +- .../components/sonoff_d1/test.rp2040-ard.yaml | 5 +- .../sound_level/test.esp32-idf.yaml | 3 + .../speaker/audio_dac.esp32-ard.yaml | 5 +- .../speaker/audio_dac.esp32-c3-idf.yaml | 5 +- .../speaker/audio_dac.esp32-idf.yaml | 5 +- .../components/speaker/common-audio_dac.yaml | 6 +- tests/components/speaker/test.esp32-ard.yaml | 7 +- .../components/speaker/test.esp32-c3-idf.yaml | 3 + tests/components/speaker/test.esp32-idf.yaml | 7 +- tests/components/spi/common.yaml | 5 - tests/components/spi/test.esp32-c3-idf.yaml | 5 +- tests/components/spi/test.esp32-idf.yaml | 6 +- tests/components/spi/test.esp8266-ard.yaml | 6 +- tests/components/spi_device/common.yaml | 6 - .../spi_device/test.esp32-c3-idf.yaml | 6 +- .../components/spi_device/test.esp32-idf.yaml | 6 +- .../spi_device/test.esp8266-ard.yaml | 6 +- .../spi_device/test.rp2040-ard.yaml | 6 +- tests/components/spi_led_strip/common.yaml | 5 - .../spi_led_strip/test.esp32-c3-idf.yaml | 5 +- .../spi_led_strip/test.esp32-idf.yaml | 5 +- .../spi_led_strip/test.esp8266-ard.yaml | 5 +- .../spi_led_strip/test.rp2040-ard.yaml | 5 +- tests/components/sps30/common.yaml | 6 +- tests/components/sps30/test.esp32-c3-idf.yaml | 5 +- tests/components/sps30/test.esp32-idf.yaml | 5 +- tests/components/sps30/test.esp8266-ard.yaml | 5 +- tests/components/sps30/test.rp2040-ard.yaml | 5 +- tests/components/ssd1306_i2c/common.yaml | 14 +- .../ssd1306_i2c/test.esp32-c3-idf.yaml | 5 +- .../ssd1306_i2c/test.esp32-idf.yaml | 5 +- .../ssd1306_i2c/test.esp8266-ard.yaml | 5 +- .../ssd1306_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ssd1306_spi/common.yaml | 13 +- .../ssd1306_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1306_spi/test.esp32-idf.yaml | 5 +- .../ssd1306_spi/test.esp8266-ard.yaml | 7 +- .../ssd1306_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1322_spi/common.yaml | 13 +- .../ssd1322_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1322_spi/test.esp32-idf.yaml | 5 +- .../ssd1322_spi/test.esp8266-ard.yaml | 7 +- .../ssd1322_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1325_spi/common.yaml | 13 +- .../ssd1325_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1325_spi/test.esp32-idf.yaml | 5 +- .../ssd1325_spi/test.esp8266-ard.yaml | 7 +- .../ssd1325_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1327_i2c/common.yaml | 14 +- .../ssd1327_i2c/test.esp32-c3-idf.yaml | 5 +- .../ssd1327_i2c/test.esp32-idf.yaml | 5 +- .../ssd1327_i2c/test.esp8266-ard.yaml | 5 +- .../ssd1327_i2c/test.rp2040-ard.yaml | 5 +- tests/components/ssd1327_spi/common.yaml | 13 +- .../ssd1327_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1327_spi/test.esp32-idf.yaml | 5 +- .../ssd1327_spi/test.esp8266-ard.yaml | 7 +- .../ssd1327_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1331_spi/common.yaml | 13 +- .../ssd1331_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1331_spi/test.esp32-idf.yaml | 5 +- .../ssd1331_spi/test.esp8266-ard.yaml | 7 +- .../ssd1331_spi/test.rp2040-ard.yaml | 3 + tests/components/ssd1351_spi/common.yaml | 13 +- .../ssd1351_spi/test.esp32-c3-idf.yaml | 5 +- .../ssd1351_spi/test.esp32-idf.yaml | 5 +- .../ssd1351_spi/test.esp8266-ard.yaml | 7 +- .../ssd1351_spi/test.rp2040-ard.yaml | 3 + tests/components/st7567_i2c/common.yaml | 14 +- .../st7567_i2c/test.esp32-c3-idf.yaml | 5 +- .../components/st7567_i2c/test.esp32-idf.yaml | 5 +- .../st7567_i2c/test.esp8266-ard.yaml | 5 +- .../st7567_i2c/test.rp2040-ard.yaml | 5 +- tests/components/st7567_spi/common.yaml | 13 +- .../st7567_spi/test.esp32-c3-idf.yaml | 5 +- .../components/st7567_spi/test.esp32-idf.yaml | 5 +- .../st7567_spi/test.esp8266-ard.yaml | 7 +- .../st7567_spi/test.rp2040-ard.yaml | 3 + tests/components/st7701s/common.yaml | 5 - .../components/st7701s/test.esp32-s3-idf.yaml | 4 +- tests/components/st7735/common.yaml | 13 +- .../components/st7735/test.esp32-c3-idf.yaml | 5 +- tests/components/st7735/test.esp32-idf.yaml | 5 +- tests/components/st7735/test.esp8266-ard.yaml | 7 +- tests/components/st7735/test.rp2040-ard.yaml | 3 + tests/components/st7789v/common.yaml | 14 +- .../components/st7789v/test.esp32-c3-idf.yaml | 7 +- tests/components/st7789v/test.esp32-idf.yaml | 6 +- .../components/st7789v/test.esp8266-ard.yaml | 8 +- tests/components/st7789v/test.rp2040-ard.yaml | 4 + tests/components/st7920/common.yaml | 13 +- .../components/st7920/test.esp32-c3-idf.yaml | 5 +- tests/components/st7920/test.esp32-idf.yaml | 5 +- tests/components/st7920/test.esp8266-ard.yaml | 11 +- tests/components/st7920/test.rp2040-ard.yaml | 3 + tests/components/sts3x/common.yaml | 6 +- tests/components/sts3x/test.esp32-c3-idf.yaml | 5 +- tests/components/sts3x/test.esp32-idf.yaml | 5 +- tests/components/sts3x/test.esp8266-ard.yaml | 5 +- tests/components/sts3x/test.rp2040-ard.yaml | 5 +- tests/components/sun_gtil2/common.yaml | 5 - .../sun_gtil2/test.esp32-c3-idf.yaml | 3 +- .../components/sun_gtil2/test.esp32-idf.yaml | 5 +- .../sun_gtil2/test.esp8266-ard.yaml | 5 +- .../components/sun_gtil2/test.rp2040-ard.yaml | 3 + tests/components/sx126x/common.yaml | 5 - .../components/sx126x/test.esp32-c3-idf.yaml | 8 +- tests/components/sx126x/test.esp32-idf.yaml | 10 +- tests/components/sx126x/test.esp8266-ard.yaml | 9 +- tests/components/sx126x/test.rp2040-ard.yaml | 3 + tests/components/sx127x/common.yaml | 5 - .../components/sx127x/test.esp32-c3-idf.yaml | 5 +- tests/components/sx127x/test.esp32-idf.yaml | 10 +- tests/components/sx127x/test.esp8266-ard.yaml | 9 +- tests/components/sx127x/test.rp2040-ard.yaml | 3 + tests/components/sx1509/common.yaml | 6 +- .../components/sx1509/test.esp32-c3-idf.yaml | 5 +- tests/components/sx1509/test.esp32-idf.yaml | 5 +- tests/components/sx1509/test.esp8266-ard.yaml | 5 +- tests/components/sx1509/test.rp2040-ard.yaml | 5 +- tests/components/syslog/test.host.yaml | 13 +- tests/components/t6615/common.yaml | 6 - tests/components/t6615/test.esp32-c3-idf.yaml | 5 +- tests/components/t6615/test.esp32-idf.yaml | 7 +- tests/components/t6615/test.esp8266-ard.yaml | 7 +- tests/components/t6615/test.rp2040-ard.yaml | 3 + tests/components/tc74/common.yaml | 6 +- tests/components/tc74/test.esp32-c3-idf.yaml | 5 +- tests/components/tc74/test.esp32-idf.yaml | 5 +- tests/components/tc74/test.esp8266-ard.yaml | 5 +- tests/components/tc74/test.rp2040-ard.yaml | 5 +- tests/components/tca9548a/common.yaml | 9 +- .../tca9548a/test.esp32-c3-idf.yaml | 5 +- tests/components/tca9548a/test.esp32-idf.yaml | 5 +- .../components/tca9548a/test.esp8266-ard.yaml | 5 +- .../components/tca9548a/test.rp2040-ard.yaml | 5 +- tests/components/tca9555/common.yaml | 6 +- .../components/tca9555/test.esp32-c3-idf.yaml | 5 +- tests/components/tca9555/test.esp32-idf.yaml | 5 +- .../components/tca9555/test.esp8266-ard.yaml | 5 +- tests/components/tca9555/test.rp2040-ard.yaml | 5 +- tests/components/tcs34725/common.yaml | 6 +- .../tcs34725/test.esp32-c3-idf.yaml | 5 +- tests/components/tcs34725/test.esp32-idf.yaml | 5 +- .../components/tcs34725/test.esp8266-ard.yaml | 5 +- .../components/tcs34725/test.rp2040-ard.yaml | 5 +- tests/components/tee501/common.yaml | 6 +- .../components/tee501/test.esp32-c3-idf.yaml | 5 +- tests/components/tee501/test.esp32-idf.yaml | 5 +- tests/components/tee501/test.esp8266-ard.yaml | 5 +- tests/components/tee501/test.rp2040-ard.yaml | 5 +- tests/components/teleinfo/common.yaml | 7 - .../teleinfo/test.esp32-c3-idf.yaml | 4 +- tests/components/teleinfo/test.esp32-idf.yaml | 7 +- .../components/teleinfo/test.esp8266-ard.yaml | 7 +- .../components/teleinfo/test.rp2040-ard.yaml | 3 + tests/components/tem3200/common.yaml | 8 +- tests/components/tem3200/test.esp32-idf.yaml | 5 +- .../components/tem3200/test.esp32-s3-idf.yaml | 3 + .../components/tem3200/test.esp8266-ard.yaml | 5 +- tests/components/template/common-base.yaml | 342 +++++++ tests/components/template/common.yaml | 341 +------ .../template/test.nrf52-adafruit.yaml | 7 +- .../template/test.nrf52-mcumgr.yaml | 7 +- tests/components/tlc59208f/common.yaml | 8 +- .../tlc59208f/test.esp32-c3-idf.yaml | 5 +- .../components/tlc59208f/test.esp32-idf.yaml | 5 +- .../tlc59208f/test.esp8266-ard.yaml | 5 +- .../components/tlc59208f/test.rp2040-ard.yaml | 5 +- .../components/tlc5947/test.esp8266-ard.yaml | 6 +- .../components/tlc5971/test.esp8266-ard.yaml | 4 +- tests/components/tm1621/test.esp32-idf.yaml | 7 +- tests/components/tm1621/test.esp8266-ard.yaml | 9 +- tests/components/tm1621/test.rp2040-ard.yaml | 7 +- .../components/tm1637/test.esp32-c3-idf.yaml | 2 +- tests/components/tm1637/test.esp8266-ard.yaml | 4 +- tests/components/tmp102/common.yaml | 6 +- .../components/tmp102/test.esp32-c3-idf.yaml | 5 +- tests/components/tmp102/test.esp32-idf.yaml | 5 +- tests/components/tmp102/test.esp8266-ard.yaml | 5 +- tests/components/tmp102/test.rp2040-ard.yaml | 5 +- tests/components/tmp1075/common.yaml | 6 +- .../components/tmp1075/test.esp32-c3-idf.yaml | 5 +- tests/components/tmp1075/test.esp32-idf.yaml | 5 +- .../components/tmp1075/test.esp8266-ard.yaml | 5 +- tests/components/tmp1075/test.rp2040-ard.yaml | 5 +- tests/components/tmp117/common.yaml | 6 +- .../components/tmp117/test.esp32-c3-idf.yaml | 5 +- tests/components/tmp117/test.esp32-idf.yaml | 5 +- tests/components/tmp117/test.esp8266-ard.yaml | 5 +- tests/components/tmp117/test.rp2040-ard.yaml | 5 +- tests/components/tof10120/common.yaml | 6 +- .../tof10120/test.esp32-c3-idf.yaml | 5 +- tests/components/tof10120/test.esp32-idf.yaml | 5 +- .../components/tof10120/test.esp8266-ard.yaml | 5 +- .../components/tof10120/test.rp2040-ard.yaml | 5 +- tests/components/tormatic/common.yaml | 7 - .../tormatic/test.esp32-c3-idf.yaml | 4 +- tests/components/tormatic/test.esp32-idf.yaml | 7 +- .../components/tormatic/test.esp8266-ard.yaml | 7 +- .../components/tormatic/test.rp2040-ard.yaml | 3 + .../total_daily_energy/test.esp8266-ard.yaml | 6 +- tests/components/tsl2561/common.yaml | 6 +- .../components/tsl2561/test.esp32-c3-idf.yaml | 5 +- tests/components/tsl2561/test.esp32-idf.yaml | 5 +- .../components/tsl2561/test.esp8266-ard.yaml | 5 +- tests/components/tsl2561/test.rp2040-ard.yaml | 5 +- tests/components/tsl2591/common.yaml | 6 +- .../components/tsl2591/test.esp32-c3-idf.yaml | 5 +- tests/components/tsl2591/test.esp32-idf.yaml | 5 +- .../components/tsl2591/test.esp8266-ard.yaml | 5 +- tests/components/tsl2591/test.rp2040-ard.yaml | 5 +- tests/components/tt21100/common.yaml | 11 +- .../components/tt21100/test.esp32-c3-idf.yaml | 7 +- tests/components/tt21100/test.esp32-idf.yaml | 7 +- .../components/tt21100/test.esp8266-ard.yaml | 7 +- tests/components/tt21100/test.rp2040-ard.yaml | 5 +- tests/components/ttp229_bsf/common.yaml | 4 +- .../ttp229_bsf/test.esp32-c3-idf.yaml | 7 +- .../components/ttp229_bsf/test.esp32-idf.yaml | 7 +- .../ttp229_bsf/test.esp8266-ard.yaml | 7 +- .../ttp229_bsf/test.rp2040-ard.yaml | 7 +- tests/components/ttp229_lsf/common.yaml | 6 +- .../ttp229_lsf/test.esp32-c3-idf.yaml | 5 +- .../components/ttp229_lsf/test.esp32-idf.yaml | 5 +- .../ttp229_lsf/test.esp8266-ard.yaml | 5 +- .../ttp229_lsf/test.rp2040-ard.yaml | 5 +- tests/components/tuya/common.yaml | 6 - tests/components/tuya/test.esp32-c3-idf.yaml | 4 +- tests/components/tuya/test.esp32-idf.yaml | 7 +- tests/components/tuya/test.esp8266-ard.yaml | 9 +- tests/components/tuya/test.rp2040-ard.yaml | 3 + tests/components/udp/test.esp32-c3-idf.yaml | 3 + tests/components/udp/test.esp32-idf.yaml | 3 + tests/components/udp/test.esp8266-ard.yaml | 3 + tests/components/udp/test.host.yaml | 19 +- tests/components/udp/test.rp2040-ard.yaml | 3 + tests/components/ufire_ec/common.yaml | 6 +- .../ufire_ec/test.esp32-c3-idf.yaml | 5 +- tests/components/ufire_ec/test.esp32-idf.yaml | 5 +- .../components/ufire_ec/test.esp8266-ard.yaml | 5 +- .../components/ufire_ec/test.rp2040-ard.yaml | 5 +- tests/components/ufire_ise/common.yaml | 6 +- .../ufire_ise/test.esp32-c3-idf.yaml | 5 +- .../components/ufire_ise/test.esp32-idf.yaml | 5 +- .../ufire_ise/test.esp8266-ard.yaml | 5 +- .../components/ufire_ise/test.rp2040-ard.yaml | 5 +- tests/components/update/common.yaml | 2 + tests/components/uponor_smatrix/common.yaml | 7 - .../uponor_smatrix/test.esp32-c3-idf.yaml | 6 +- .../uponor_smatrix/test.esp32-idf.yaml | 5 +- .../uponor_smatrix/test.esp8266-ard.yaml | 6 +- .../uponor_smatrix/test.rp2040-ard.yaml | 6 +- tests/components/vbus/common.yaml | 6 - tests/components/vbus/test.esp32-c3-idf.yaml | 5 +- tests/components/vbus/test.esp32-idf.yaml | 5 +- tests/components/vbus/test.esp8266-ard.yaml | 5 +- tests/components/vbus/test.rp2040-ard.yaml | 5 +- tests/components/veml3235/common.yaml | 6 +- .../veml3235/test.esp32-c3-idf.yaml | 5 +- tests/components/veml3235/test.esp32-idf.yaml | 5 +- .../components/veml3235/test.esp8266-ard.yaml | 5 +- .../components/veml3235/test.rp2040-ard.yaml | 5 +- tests/components/veml7700/common.yaml | 7 +- .../veml7700/test.esp32-c3-idf.yaml | 5 +- tests/components/veml7700/test.esp32-idf.yaml | 5 +- .../components/veml7700/test.esp8266-ard.yaml | 5 +- .../components/veml7700/test.rp2040-ard.yaml | 5 +- tests/components/vl53l0x/common.yaml | 6 +- .../components/vl53l0x/test.esp32-c3-idf.yaml | 5 +- tests/components/vl53l0x/test.esp32-idf.yaml | 5 +- .../components/vl53l0x/test.esp8266-ard.yaml | 5 +- tests/components/vl53l0x/test.rp2040-ard.yaml | 5 +- .../voice_assistant/common-idf.yaml | 1 + .../voice_assistant/test.esp32-idf.yaml | 4 +- .../wake_on_lan/test.esp32-c3-idf.yaml | 3 + .../wake_on_lan/test.esp32-idf.yaml | 3 + .../wake_on_lan/test.esp8266-ard.yaml | 3 + .../wake_on_lan/test.rp2040-ard.yaml | 3 + tests/components/waveshare_epaper/common.yaml | 50 - .../waveshare_epaper/test.esp32-c3-idf.yaml | 6 +- .../waveshare_epaper/test.esp32-idf.yaml | 9 +- .../waveshare_epaper/test.esp8266-ard.yaml | 7 +- .../waveshare_epaper/test.rp2040-ard.yaml | 3 + .../web_server/test_ota.esp32-idf.yaml | 2 + .../wifi_info/test.esp32-c3-idf.yaml | 3 + .../components/wifi_info/test.esp32-idf.yaml | 3 + .../wifi_info/test.esp8266-ard.yaml | 3 + .../components/wifi_info/test.rp2040-ard.yaml | 3 + .../wireguard/test.esp32-c3-idf.yaml | 3 + .../components/wireguard/test.esp32-idf.yaml | 3 + .../wireguard/test.esp8266-ard.yaml | 3 + tests/components/wk2132_i2c/common.yaml | 9 +- .../components/wk2132_i2c/test.esp32-idf.yaml | 5 +- .../wk2132_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2132_spi/common.yaml | 7 - .../components/wk2132_spi/test.esp32-idf.yaml | 6 +- .../wk2132_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wk2168_i2c/common.yaml | 27 +- .../components/wk2168_i2c/test.esp32-idf.yaml | 5 +- .../wk2168_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2168_spi/common.yaml | 27 +- .../components/wk2168_spi/test.esp32-idf.yaml | 6 +- .../wk2168_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wk2204_i2c/common.yaml | 7 - .../components/wk2204_i2c/test.esp32-idf.yaml | 5 +- .../wk2204_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2204_spi/common.yaml | 7 - .../components/wk2204_spi/test.esp32-idf.yaml | 6 +- .../wk2204_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wk2212_i2c/common.yaml | 17 +- .../components/wk2212_i2c/test.esp32-idf.yaml | 5 +- .../wk2212_i2c/test.esp32-s3-idf.yaml | 3 + tests/components/wk2212_spi/common.yaml | 23 +- .../components/wk2212_spi/test.esp32-idf.yaml | 6 +- .../wk2212_spi/test.esp32-s3-idf.yaml | 3 + tests/components/wl_134/common.yaml | 6 - .../components/wl_134/test.esp32-c3-idf.yaml | 4 +- tests/components/wl_134/test.esp32-idf.yaml | 7 +- tests/components/wl_134/test.esp8266-ard.yaml | 7 +- tests/components/wl_134/test.rp2040-ard.yaml | 3 + tests/components/wts01/common.yaml | 4 - tests/components/wts01/test.esp32-c3-idf.yaml | 4 +- tests/components/wts01/test.esp32-idf.yaml | 7 +- tests/components/wts01/test.esp8266-ard.yaml | 3 + tests/components/wts01/test.rp2040-ard.yaml | 3 + tests/components/x9c/test.esp32-idf.yaml | 3 + tests/components/x9c/test.esp8266-ard.yaml | 7 +- tests/components/x9c/test.rp2040-ard.yaml | 9 +- tests/components/xgzp68xx/common.yaml | 6 +- .../xgzp68xx/test.esp32-c3-idf.yaml | 5 +- tests/components/xgzp68xx/test.esp32-idf.yaml | 5 +- .../components/xgzp68xx/test.esp8266-ard.yaml | 5 +- .../components/xgzp68xx/test.rp2040-ard.yaml | 5 +- .../xiaomi_ble/test.esp32-c3-idf.yaml | 3 + .../components/xiaomi_ble/test.esp32-idf.yaml | 3 + .../xiaomi_cgd1/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgd1/test.esp32-idf.yaml | 3 + .../xiaomi_cgdk2/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgdk2/test.esp32-idf.yaml | 3 + .../xiaomi_cgg1/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgg1/test.esp32-idf.yaml | 3 + .../xiaomi_cgpr1/test.esp32-c3-idf.yaml | 3 + .../xiaomi_cgpr1/test.esp32-idf.yaml | 3 + .../xiaomi_gcls002/test.esp32-c3-idf.yaml | 3 + .../xiaomi_gcls002/test.esp32-idf.yaml | 3 + .../xiaomi_hhccjcy01/test.esp32-c3-idf.yaml | 3 + .../xiaomi_hhccjcy01/test.esp32-idf.yaml | 3 + .../xiaomi_hhccpot002/test.esp32-c3-idf.yaml | 3 + .../xiaomi_hhccpot002/test.esp32-idf.yaml | 3 + .../xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml | 3 + .../xiaomi_jqjcy01ym/test.esp32-idf.yaml | 3 + .../xiaomi_lywsd02/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsd02/test.esp32-idf.yaml | 3 + .../xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsd02mmc/test.esp32-idf.yaml | 3 + .../xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsd03mmc/test.esp32-idf.yaml | 3 + .../xiaomi_lywsdcgq/test.esp32-c3-idf.yaml | 3 + .../xiaomi_lywsdcgq/test.esp32-idf.yaml | 3 + .../xiaomi_mhoc303/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mhoc303/test.esp32-idf.yaml | 3 + .../xiaomi_mhoc401/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mhoc401/test.esp32-idf.yaml | 3 + .../xiaomi_miscale copy/common.yaml | 9 - .../xiaomi_miscale copy/test.esp32-ard.yaml | 1 - .../test.esp32-c3-ard.yaml | 1 - .../test.esp32-c3-idf.yaml | 1 - .../xiaomi_miscale copy/test.esp32-idf.yaml | 1 - .../xiaomi_miscale/test.esp32-c3-idf.yaml | 3 + .../xiaomi_miscale/test.esp32-idf.yaml | 3 + .../xiaomi_mjyd02yla/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mjyd02yla/test.esp32-idf.yaml | 3 + .../xiaomi_mue4094rt/test.esp32-c3-idf.yaml | 3 + .../xiaomi_mue4094rt/test.esp32-idf.yaml | 3 + .../xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml | 3 + .../xiaomi_rtcgq02lm/test.esp32-idf.yaml | 3 + .../xiaomi_wx08zm/test.esp32-c3-idf.yaml | 3 + .../xiaomi_wx08zm/test.esp32-idf.yaml | 3 + .../xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml | 3 + .../xiaomi_xmwsdj04mmc/test.esp32-idf.yaml | 3 + tests/components/xl9535/common.yaml | 6 +- .../components/xl9535/test.esp32-c3-idf.yaml | 5 +- tests/components/xl9535/test.esp32-idf.yaml | 5 +- tests/components/xl9535/test.esp8266-ard.yaml | 5 +- tests/components/xl9535/test.rp2040-ard.yaml | 5 +- tests/components/xpt2046/common.yaml | 6 - .../components/xpt2046/test.esp32-c3-idf.yaml | 5 +- tests/components/xpt2046/test.esp32-idf.yaml | 6 +- .../components/xpt2046/test.esp8266-ard.yaml | 5 +- tests/components/xpt2046/test.rp2040-ard.yaml | 3 + tests/components/zio_ultrasonic/common.yaml | 6 +- .../zio_ultrasonic/test.esp32-c3-idf.yaml | 5 +- .../zio_ultrasonic/test.esp32-idf.yaml | 5 +- .../zio_ultrasonic/test.esp8266-ard.yaml | 5 +- .../zio_ultrasonic/test.rp2040-ard.yaml | 5 +- tests/components/zwave_proxy/common.yaml | 6 - .../zwave_proxy/test.esp32-c3-idf.yaml | 4 +- .../zwave_proxy/test.esp32-idf.yaml | 7 +- .../zwave_proxy/test.esp8266-ard.yaml | 7 +- .../zwave_proxy/test.rp2040-ard.yaml | 3 + tests/components/zyaura/test.esp32-idf.yaml | 4 +- tests/components/zyaura/test.esp8266-ard.yaml | 4 +- .../build_components_base.bk72xx-ard.yaml | 2 +- tests/test_build_components/common/README.md | 248 +++++ .../common/ble/esp32-ard.yaml | 9 + .../common/ble/esp32-c3-idf.yaml | 9 + .../common/ble/esp32-idf.yaml | 9 + .../common/camera/esp32-idf.yaml | 29 + .../common/i2c/bk72xx-ard.yaml | 11 + .../common/i2c/esp32-ard.yaml | 11 + .../common/i2c/esp32-c3-ard.yaml | 11 + .../common/i2c/esp32-c3-idf.yaml | 11 + .../common/i2c/esp32-idf.yaml | 13 + .../common/i2c/esp32-p4-idf.yaml | 13 + .../common/i2c/esp32-s2-ard.yaml | 11 + .../common/i2c/esp32-s2-idf.yaml | 11 + .../common/i2c/esp32-s3-ard.yaml | 11 + .../common/i2c/esp32-s3-idf.yaml | 11 + .../common/i2c/esp8266-ard.yaml | 11 + .../common/i2c/rp2040-ard.yaml | 11 + .../common/i2c_low_freq/esp32-ard.yaml | 12 + .../common/i2c_low_freq/esp32-c3-ard.yaml | 12 + .../common/i2c_low_freq/esp32-c3-idf.yaml | 12 + .../common/i2c_low_freq/esp32-idf.yaml | 13 + .../common/i2c_low_freq/esp8266-ard.yaml | 12 + .../common/i2c_low_freq/rp2040-ard.yaml | 12 + .../common/modbus/bk72xx-ard.yaml | 12 + .../common/modbus/esp32-ard.yaml | 12 + .../common/modbus/esp32-c3-ard.yaml | 12 + .../common/modbus/esp32-c3-idf.yaml | 12 + .../common/modbus/esp32-idf.yaml | 13 + .../common/modbus/esp32-s2-ard.yaml | 12 + .../common/modbus/esp32-s2-idf.yaml | 12 + .../common/modbus/esp32-s3-ard.yaml | 12 + .../common/modbus/esp32-s3-idf.yaml | 12 + .../common/modbus/esp8266-ard.yaml | 12 + .../common/modbus/rp2040-ard.yaml | 12 + .../common/qspi/esp32-s3-idf.yaml | 13 + .../common/spi/bk72xx-ard.yaml | 12 + .../common/spi/esp32-ard.yaml | 12 + .../common/spi/esp32-c3-ard.yaml | 12 + .../common/spi/esp32-c3-idf.yaml | 15 + .../common/spi/esp32-idf.yaml | 15 + .../common/spi/esp32-s2-ard.yaml | 12 + .../common/spi/esp32-s2-idf.yaml | 12 + .../common/spi/esp32-s3-ard.yaml | 12 + .../common/spi/esp32-s3-idf.yaml | 12 + .../common/spi/esp8266-ard.yaml | 12 + .../common/spi/rp2040-ard.yaml | 12 + .../common/uart/bk72xx-ard.yaml | 13 + .../common/uart/esp32-ard.yaml | 11 + .../common/uart/esp32-c3-ard.yaml | 11 + .../common/uart/esp32-c3-idf.yaml | 13 + .../common/uart/esp32-idf.yaml | 13 + .../common/uart/esp8266-ard.yaml | 11 + .../common/uart/rp2040-ard.yaml | 11 + .../common/uart_115200/esp32-ard.yaml | 11 + .../common/uart_115200/esp32-c3-ard.yaml | 11 + .../common/uart_115200/esp32-c3-idf.yaml | 12 + .../common/uart_115200/esp32-idf.yaml | 12 + .../common/uart_115200/esp8266-ard.yaml | 11 + .../common/uart_115200/rp2040-ard.yaml | 11 + .../common/uart_1200/esp32-ard.yaml | 11 + .../common/uart_1200/esp32-c3-ard.yaml | 11 + .../common/uart_1200/esp32-c3-idf.yaml | 11 + .../common/uart_1200/esp32-idf.yaml | 11 + .../common/uart_1200/esp8266-ard.yaml | 11 + .../common/uart_1200/rp2040-ard.yaml | 11 + .../common/uart_1200_even/esp32-ard.yaml | 12 + .../common/uart_1200_even/esp32-c3-ard.yaml | 12 + .../common/uart_1200_even/esp32-c3-idf.yaml | 12 + .../common/uart_1200_even/esp32-idf.yaml | 12 + .../common/uart_1200_even/esp8266-ard.yaml | 12 + .../common/uart_1200_even/rp2040-ard.yaml | 12 + .../common/uart_19200/esp32-ard.yaml | 11 + .../common/uart_19200/esp32-c3-ard.yaml | 11 + .../common/uart_19200/esp32-c3-idf.yaml | 12 + .../common/uart_19200/esp32-idf.yaml | 12 + .../common/uart_19200/esp8266-ard.yaml | 11 + .../common/uart_19200/rp2040-ard.yaml | 11 + .../common/uart_38400/esp32-ard.yaml | 11 + .../common/uart_38400/esp32-c3-ard.yaml | 11 + .../common/uart_38400/esp32-c3-idf.yaml | 11 + .../common/uart_38400/esp32-idf.yaml | 11 + .../common/uart_38400/esp8266-ard.yaml | 11 + .../common/uart_38400/rp2040-ard.yaml | 11 + .../common/uart_4800/esp32-ard.yaml | 11 + .../common/uart_4800/esp32-c3-ard.yaml | 11 + .../common/uart_4800/esp32-c3-idf.yaml | 11 + .../common/uart_4800/esp32-idf.yaml | 11 + .../common/uart_4800/esp8266-ard.yaml | 11 + .../common/uart_4800/rp2040-ard.yaml | 11 + .../common/uart_4800_even/esp32-ard.yaml | 12 + .../common/uart_4800_even/esp32-c3-ard.yaml | 12 + .../common/uart_4800_even/esp32-c3-idf.yaml | 12 + .../common/uart_4800_even/esp32-idf.yaml | 12 + .../common/uart_4800_even/esp8266-ard.yaml | 12 + .../common/uart_4800_even/rp2040-ard.yaml | 12 + .../common/uart_9600_even/esp32-ard.yaml | 12 + .../common/uart_9600_even/esp32-c3-ard.yaml | 12 + .../common/uart_9600_even/esp32-c3-idf.yaml | 12 + .../common/uart_9600_even/esp32-idf.yaml | 12 + .../common/uart_9600_even/esp8266-ard.yaml | 12 + .../common/uart_9600_even/rp2040-ard.yaml | 12 + 1808 files changed, 8564 insertions(+), 5758 deletions(-) create mode 100755 script/analyze_component_buses.py create mode 100755 script/merge_component_configs.py create mode 100755 script/split_components_for_ci.py mode change 100755 => 120000 script/test_build_components create mode 100755 script/test_build_components.py create mode 100755 script/test_component_grouping.py delete mode 100644 tests/components/adc/common.yaml create mode 100644 tests/components/api/common-base.yaml create mode 100644 tests/components/template/common-base.yaml delete mode 100644 tests/components/xiaomi_miscale copy/common.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-ard.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml delete mode 100644 tests/components/xiaomi_miscale copy/test.esp32-idf.yaml create mode 100644 tests/test_build_components/common/README.md create mode 100644 tests/test_build_components/common/ble/esp32-ard.yaml create mode 100644 tests/test_build_components/common/ble/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/ble/esp32-idf.yaml create mode 100644 tests/test_build_components/common/camera/esp32-idf.yaml create mode 100644 tests/test_build_components/common/i2c/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-p4-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s2-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s2-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s3-ard.yaml create mode 100644 tests/test_build_components/common/i2c/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/i2c/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/i2c/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/modbus/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s2-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s2-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s3-ard.yaml create mode 100644 tests/test_build_components/common/modbus/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/modbus/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/modbus/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/qspi/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/spi/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp32-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s2-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s2-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s3-ard.yaml create mode 100644 tests/test_build_components/common/spi/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/spi/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/spi/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/uart/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_115200/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_115200/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_19200/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_19200/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_38400/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_38400/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml diff --git a/.ai/instructions.md b/.ai/instructions.md index 1cd77b9136..d2e173472a 100644 --- a/.ai/instructions.md +++ b/.ai/instructions.md @@ -186,6 +186,11 @@ This document provides essential context for AI models interacting with this pro └── components/[component]/ # Component-specific tests ``` Run them using `script/test_build_components`. Use `-c ` to test specific components and `-t ` for specific platforms. + * **Testing All Components Together:** To verify that all components can be tested together without ID conflicts or configuration issues, use: + ```bash + ./script/test_component_grouping.py -e config --all + ``` + This tests all components in a single build to catch conflicts that might not appear when testing components individually. Use `-e config` for fast configuration validation, or `-e compile` for full compilation testing. * **Debugging and Troubleshooting:** * **Debug Tools:** - `esphome config .yaml` to validate configuration. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d7043c888..4451007da0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -369,10 +369,11 @@ jobs: matrix: file: ${{ fromJson(needs.determine-jobs.outputs.changed-components) }} steps: - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install libsdl2-dev + - name: Cache apt packages + uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 + with: + packages: libsdl2-dev + version: 1.0 - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -381,17 +382,17 @@ jobs: with: python-version: ${{ env.DEFAULT_PYTHON }} cache-key: ${{ needs.common.outputs.cache-key }} - - name: test_build_components -e config -c ${{ matrix.file }} + - name: Validate config for ${{ matrix.file }} run: | . venv/bin/activate - ./script/test_build_components -e config -c ${{ matrix.file }} - - name: test_build_components -e compile -c ${{ matrix.file }} + python3 script/test_build_components.py -e config -c ${{ matrix.file }} + - name: Compile config for ${{ matrix.file }} run: | . venv/bin/activate - ./script/test_build_components -e compile -c ${{ matrix.file }} + python3 script/test_build_components.py -e compile -c ${{ matrix.file }} test-build-components-splitter: - name: Split components for testing into 10 components per group + name: Split components for intelligent grouping (40 weighted per batch) runs-on: ubuntu-24.04 needs: - common @@ -402,14 +403,26 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Split components into groups of 10 + - name: Restore Python + uses: ./.github/actions/restore-python + with: + python-version: ${{ env.DEFAULT_PYTHON }} + cache-key: ${{ needs.common.outputs.cache-key }} + - name: Split components intelligently based on bus configurations id: split run: | - components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(10) | join(" ")]') - echo "components=$components" >> $GITHUB_OUTPUT + . venv/bin/activate + + # Use intelligent splitter that groups components with same bus configs + components='${{ needs.determine-jobs.outputs.changed-components }}' + + echo "Splitting components intelligently..." + output=$(python3 script/split_components_for_ci.py --components "$components" --batch-size 40 --output github) + + echo "$output" >> $GITHUB_OUTPUT test-build-components-split: - name: Test split components + name: Test components batch (${{ matrix.components }}) runs-on: ubuntu-24.04 needs: - common @@ -418,17 +431,23 @@ jobs: if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 strategy: fail-fast: false - max-parallel: 4 + max-parallel: 5 matrix: components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} steps: + - name: Show disk space + run: | + echo "Available disk space:" + df -h + - name: List components run: echo ${{ matrix.components }} - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install libsdl2-dev + - name: Cache apt packages + uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 + with: + packages: libsdl2-dev + version: 1.0 - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -437,20 +456,37 @@ jobs: with: python-version: ${{ env.DEFAULT_PYTHON }} cache-key: ${{ needs.common.outputs.cache-key }} - - name: Validate config + - name: Validate and compile components with intelligent grouping run: | . venv/bin/activate - for component in ${{ matrix.components }}; do - ./script/test_build_components -e config -c $component - done - - name: Compile config - run: | - . venv/bin/activate - mkdir build_cache - export PLATFORMIO_BUILD_CACHE_DIR=$PWD/build_cache - for component in ${{ matrix.components }}; do - ./script/test_build_components -e compile -c $component - done + # Use /mnt for build files (70GB available vs ~29GB on /) + # Bind mount PlatformIO directory to /mnt (tools, packages, build cache all go there) + sudo mkdir -p /mnt/platformio + sudo chown $USER:$USER /mnt/platformio + mkdir -p ~/.platformio + sudo mount --bind /mnt/platformio ~/.platformio + + # Bind mount test build directory to /mnt + sudo mkdir -p /mnt/test_build_components_build + sudo chown $USER:$USER /mnt/test_build_components_build + mkdir -p tests/test_build_components/build + sudo mount --bind /mnt/test_build_components_build tests/test_build_components/build + + # Convert space-separated components to comma-separated for Python script + components_csv=$(echo "${{ matrix.components }}" | tr ' ' ',') + + echo "Testing components: $components_csv" + echo "" + + # Run config validation with grouping + python3 script/test_build_components.py -e config -c "$components_csv" -f + + echo "" + echo "Config validation passed! Starting compilation..." + echo "" + + # Run compilation with grouping + python3 script/test_build_components.py -e compile -c "$components_csv" -f pre-commit-ci-lite: name: pre-commit.ci lite diff --git a/esphome/__main__.py b/esphome/__main__.py index b0f541f521..be4551f6b5 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -1002,6 +1002,12 @@ def parse_args(argv): action="append", default=[], ) + options_parser.add_argument( + "--testing-mode", + help="Enable testing mode (disables validation checks for grouped component testing)", + action="store_true", + default=False, + ) parser = argparse.ArgumentParser( description=f"ESPHome {const.__version__}", parents=[options_parser] @@ -1260,6 +1266,7 @@ def run_esphome(argv): args = parse_args(argv) CORE.dashboard = args.dashboard + CORE.testing_mode = args.testing_mode # Create address cache from command-line arguments CORE.address_cache = AddressCache.from_cli_args( diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index 05ef936baf..1c142ca7bd 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -285,6 +285,10 @@ def consume_connection_slots( def validate_connection_slots(max_connections: int) -> None: """Validate that BLE connection slots don't exceed the configured maximum.""" + # Skip validation in testing mode to allow component grouping + if CORE.testing_mode: + return + ble_data = CORE.data.get(KEY_ESP32_BLE, {}) used_slots = ble_data.get(KEY_USED_CONNECTION_SLOTS, []) num_used = len(used_slots) diff --git a/esphome/components/uart/__init__.py b/esphome/components/uart/__init__.py index 764576744f..f8f927d469 100644 --- a/esphome/components/uart/__init__.py +++ b/esphome/components/uart/__init__.py @@ -347,7 +347,7 @@ def final_validate_device_schema( def validate_pin(opt, device): def validator(value): - if opt in device: + if opt in device and not CORE.testing_mode: raise cv.Invalid( f"The uart {opt} is used both by {name} and {device[opt]}, " f"but can only be used by one. Please create a new uart bus for {name}." diff --git a/esphome/core/__init__.py b/esphome/core/__init__.py index 7ab8a3ba71..43febd28a2 100644 --- a/esphome/core/__init__.py +++ b/esphome/core/__init__.py @@ -529,6 +529,8 @@ class EsphomeCore: self.dashboard = False # True if command is run from vscode api self.vscode = False + # True if running in testing mode (disables validation checks for grouped testing) + self.testing_mode = False # The name of the node self.name: str | None = None # The friendly name of the node diff --git a/esphome/core/entity_helpers.py b/esphome/core/entity_helpers.py index e1b2a8264b..f0a04b4860 100644 --- a/esphome/core/entity_helpers.py +++ b/esphome/core/entity_helpers.py @@ -246,12 +246,15 @@ def entity_duplicate_validator(platform: str) -> Callable[[ConfigType], ConfigTy "\n to distinguish them" ) - raise cv.Invalid( - f"Duplicate {platform} entity with name '{entity_name}' found{device_prefix}. " - f"{conflict_msg}. " - "Each entity on a device must have a unique name within its platform." - f"{sanitized_msg}" - ) + # Skip duplicate entity name validation when testing_mode is enabled + # This flag is used for grouped component testing + if not CORE.testing_mode: + raise cv.Invalid( + f"Duplicate {platform} entity with name '{entity_name}' found{device_prefix}. " + f"{conflict_msg}. " + "Each entity on a device must have a unique name within its platform." + f"{sanitized_msg}" + ) # Store metadata about this entity entity_metadata: EntityMetadata = { diff --git a/esphome/pins.py b/esphome/pins.py index 4f9b4859a1..601c05880a 100644 --- a/esphome/pins.py +++ b/esphome/pins.py @@ -118,11 +118,11 @@ class PinRegistry(dict): parent_config = fconf.get_config_for_path(parent_path) final_val_fun(pin_config, parent_config) allow_others = pin_config.get(CONF_ALLOW_OTHER_USES, False) - if count != 1 and not allow_others: + if count != 1 and not allow_others and not CORE.testing_mode: raise cv.Invalid( f"Pin {pin_config[CONF_NUMBER]} is used in multiple places" ) - if count == 1 and allow_others: + if count == 1 and allow_others and not CORE.testing_mode: raise cv.Invalid( f"Pin {pin_config[CONF_NUMBER]} incorrectly sets {CONF_ALLOW_OTHER_USES}: true" ) diff --git a/esphome/platformio_api.py b/esphome/platformio_api.py index 8b7b790829..9418c1c7d3 100644 --- a/esphome/platformio_api.py +++ b/esphome/platformio_api.py @@ -5,6 +5,7 @@ import os from pathlib import Path import re import subprocess +from typing import Any from esphome.const import CONF_COMPILE_PROCESS_LIMIT, CONF_ESPHOME, KEY_CORE from esphome.core import CORE, EsphomeError @@ -42,6 +43,35 @@ def patch_structhash(): cli.clean_build_dir = patched_clean_build_dir +def patch_file_downloader(): + """Patch PlatformIO's FileDownloader to retry on PackageException errors.""" + from platformio.package.download import FileDownloader + from platformio.package.exception import PackageException + + original_init = FileDownloader.__init__ + + def patched_init(self, *args: Any, **kwargs: Any) -> None: + max_retries = 3 + + for attempt in range(max_retries): + try: + return original_init(self, *args, **kwargs) + except PackageException as e: + if attempt < max_retries - 1: + _LOGGER.warning( + "Package download failed: %s. Retrying... (attempt %d/%d)", + str(e), + attempt + 1, + max_retries, + ) + else: + # Final attempt - re-raise + raise + return None + + FileDownloader.__init__ = patched_init + + IGNORE_LIB_WARNINGS = f"(?:{'|'.join(['Hash', 'Update'])})" FILTER_PLATFORMIO_LINES = [ r"Verbose mode can be enabled via `-v, --verbose` option.*", @@ -99,6 +129,7 @@ def run_platformio_cli(*args, **kwargs) -> str | int: import platformio.__main__ patch_structhash() + patch_file_downloader() return run_external_command(platformio.__main__.main, *cmd, **kwargs) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py new file mode 100755 index 0000000000..39e1e66c75 --- /dev/null +++ b/script/analyze_component_buses.py @@ -0,0 +1,523 @@ +#!/usr/bin/env python3 +"""Analyze component test files to detect which common bus configs they use. + +This script scans component test files and extracts which common bus configurations +(i2c, spi, uart, etc.) are included via the packages mechanism. This information +is used to group components that can be tested together. + +Components can only be grouped together if they use the EXACT SAME set of common +bus configurations, ensuring that merged configs are compatible. + +Example output: +{ + "component1": { + "esp32-ard": ["i2c", "uart_19200"], + "esp32-idf": ["i2c", "uart_19200"] + }, + "component2": { + "esp32-ard": ["spi"], + "esp32-idf": ["spi"] + } +} +""" + +from __future__ import annotations + +import argparse +from functools import lru_cache +import json +from pathlib import Path +import re +import sys +from typing import Any + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from esphome import yaml_util +from esphome.config_helpers import Extend, Remove + +# Path to common bus configs +COMMON_BUS_PATH = Path("tests/test_build_components/common") + +# Package dependencies - maps packages to the packages they include +# When a component uses a package on the left, it automatically gets +# the packages on the right as well +PACKAGE_DEPENDENCIES = { + "modbus": ["uart"], # modbus packages include uart packages + # Add more package dependencies here as needed +} + +# Bus types that can be defined directly in config files +# Components defining these directly cannot be grouped (they create unique bus IDs) +DIRECT_BUS_TYPES = ("i2c", "spi", "uart", "modbus") + +# Signature for components with no bus requirements +# These components can be merged with any other group +NO_BUSES_SIGNATURE = "no_buses" + +# Base bus components - these ARE the bus implementations and should not +# be flagged as needing migration since they are the platform/base components +BASE_BUS_COMPONENTS = { + "i2c", + "spi", + "uart", + "modbus", + "canbus", +} + +# Components that must be tested in isolation (not grouped or batched with others) +# These have known build issues that prevent grouping +# NOTE: This should be kept in sync with both test_build_components and split_components_for_ci.py +ISOLATED_COMPONENTS = { + "animation": "Has display lambda in common.yaml that requires existing display platform - breaks when merged without display", + "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", + "ethernet_info": "Related to ethernet component which conflicts with wifi", + "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", + "mcp47a1": "no YAML config to specify i2c bus id", + "modbus_controller": "Defines multiple modbus buses for testing client/server functionality - conflicts with package modbus bus", + "neopixelbus": "RMT type conflict with ESP32 Arduino/ESP-IDF headers (enum vs struct rmt_channel_t)", + "packages": "cannot merge packages", +} + + +@lru_cache(maxsize=1) +def get_common_bus_packages() -> frozenset[str]: + """Get the list of common bus package names. + + Reads from tests/test_build_components/common/ directory + and caches the result. All bus types support component grouping + for config validation since --testing-mode bypasses runtime conflicts. + + Returns: + Frozenset of common bus package names (i2c, spi, uart, etc.) + """ + if not COMMON_BUS_PATH.exists(): + return frozenset() + + # List all directories in common/ - these are the bus package names + return frozenset(d.name for d in COMMON_BUS_PATH.iterdir() if d.is_dir()) + + +def uses_local_file_references(component_dir: Path) -> bool: + """Check if a component uses local file references via $component_dir. + + Components that reference local files cannot be grouped because each needs + a unique component_dir path pointing to their specific directory. + + Args: + component_dir: Path to the component's test directory + + Returns: + True if the component uses $component_dir for local file references + """ + common_yaml = component_dir / "common.yaml" + if not common_yaml.exists(): + return False + + try: + content = common_yaml.read_text() + except Exception: # pylint: disable=broad-exception-caught + return False + + # Pattern to match $component_dir or ${component_dir} references + # These indicate local file usage that prevents grouping + return bool(re.search(r"\$\{?component_dir\}?", content)) + + +def is_platform_component(component_dir: Path) -> bool: + """Check if a component is a platform component (abstract base class). + + Platform components have IS_PLATFORM_COMPONENT = True and cannot be + instantiated without a platform-specific implementation. These components + define abstract methods and cause linker errors if compiled standalone. + + Examples: canbus, mcp23x08_base, mcp23x17_base + + Args: + component_dir: Path to the component's test directory + + Returns: + True if this is a platform component + """ + # Check in the actual component source, not tests + # tests/components/X -> tests/components -> tests -> repo root + repo_root = component_dir.parent.parent.parent + comp_init = ( + repo_root / "esphome" / "components" / component_dir.name / "__init__.py" + ) + + if not comp_init.exists(): + return False + + try: + content = comp_init.read_text() + return "IS_PLATFORM_COMPONENT = True" in content + except Exception: # pylint: disable=broad-exception-caught + return False + + +def _contains_extend_or_remove(data: Any) -> bool: + """Recursively check if data contains Extend or Remove objects. + + Args: + data: Parsed YAML data structure + + Returns: + True if any Extend or Remove objects are found + """ + if isinstance(data, (Extend, Remove)): + return True + + if isinstance(data, dict): + for value in data.values(): + if _contains_extend_or_remove(value): + return True + + if isinstance(data, list): + for item in data: + if _contains_extend_or_remove(item): + return True + + return False + + +def analyze_yaml_file(yaml_file: Path) -> dict[str, Any]: + """Load a YAML file once and extract all needed information. + + This loads the YAML file a single time and extracts all information needed + for component analysis, avoiding multiple file reads. + + Args: + yaml_file: Path to the YAML file to analyze + + Returns: + Dictionary with keys: + - buses: set of common bus package names + - has_extend_remove: bool indicating if Extend/Remove objects are present + - has_direct_bus_config: bool indicating if buses are defined directly (not via packages) + - loaded: bool indicating if file was successfully loaded + """ + result = { + "buses": set(), + "has_extend_remove": False, + "has_direct_bus_config": False, + "loaded": False, + } + + if not yaml_file.exists(): + return result + + try: + data = yaml_util.load_yaml(yaml_file) + result["loaded"] = True + except Exception: # pylint: disable=broad-exception-caught + return result + + # Check for Extend/Remove objects + result["has_extend_remove"] = _contains_extend_or_remove(data) + + # Check if buses are defined directly (not via packages) + # Components that define i2c, spi, uart, or modbus directly in test files + # cannot be grouped because they create unique bus IDs + if isinstance(data, dict): + for bus_type in DIRECT_BUS_TYPES: + if bus_type in data: + result["has_direct_bus_config"] = True + break + + # Extract common bus packages + if not isinstance(data, dict) or "packages" not in data: + return result + + packages = data["packages"] + if not isinstance(packages, dict): + return result + + valid_buses = get_common_bus_packages() + for pkg_name in packages: + if pkg_name not in valid_buses: + continue + result["buses"].add(pkg_name) + # Add any package dependencies (e.g., modbus includes uart) + if pkg_name not in PACKAGE_DEPENDENCIES: + continue + for dep in PACKAGE_DEPENDENCIES[pkg_name]: + if dep not in valid_buses: + continue + result["buses"].add(dep) + + return result + + +def analyze_component(component_dir: Path) -> tuple[dict[str, list[str]], bool, bool]: + """Analyze a component directory to find which buses each platform uses. + + Args: + component_dir: Path to the component's test directory + + Returns: + Tuple of: + - Dictionary mapping platform to list of bus configs + Example: {"esp32-ard": ["i2c", "spi"], "esp32-idf": ["i2c"]} + - Boolean indicating if component uses !extend or !remove + - Boolean indicating if component defines buses directly (not via packages) + """ + if not component_dir.is_dir(): + return {}, False, False + + platform_buses = {} + has_extend_remove = False + has_direct_bus_config = False + + # Analyze all YAML files in the component directory + for yaml_file in component_dir.glob("*.yaml"): + analysis = analyze_yaml_file(yaml_file) + + # Track if any file uses extend/remove + if analysis["has_extend_remove"]: + has_extend_remove = True + + # Track if any file defines buses directly + if analysis["has_direct_bus_config"]: + has_direct_bus_config = True + + # For test.*.yaml files, extract platform and buses + if yaml_file.name.startswith("test.") and yaml_file.suffix == ".yaml": + # Extract platform name (e.g., test.esp32-ard.yaml -> esp32-ard) + platform = yaml_file.stem.replace("test.", "") + # Always add platform, even if it has no buses (empty list) + # This allows grouping components that don't use any shared buses + platform_buses[platform] = ( + sorted(analysis["buses"]) if analysis["buses"] else [] + ) + + return platform_buses, has_extend_remove, has_direct_bus_config + + +def analyze_all_components( + tests_dir: Path = None, +) -> tuple[dict[str, dict[str, list[str]]], set[str], set[str]]: + """Analyze all component test directories. + + Args: + tests_dir: Path to tests/components directory (defaults to auto-detect) + + Returns: + Tuple of: + - Dictionary mapping component name to platform->buses mapping + - Set of component names that cannot be grouped + - Set of component names that define buses directly (need migration warning) + """ + if tests_dir is None: + tests_dir = Path("tests/components") + + if not tests_dir.exists(): + print(f"Error: {tests_dir} does not exist", file=sys.stderr) + return {}, set(), set() + + components = {} + non_groupable = set() + direct_bus_components = set() + + for component_dir in sorted(tests_dir.iterdir()): + if not component_dir.is_dir(): + continue + + component_name = component_dir.name + platform_buses, has_extend_remove, has_direct_bus_config = analyze_component( + component_dir + ) + + if platform_buses: + components[component_name] = platform_buses + + # 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 the bus platform implementations and define buses directly for testing + # They cannot be grouped with components that use bus packages (causes ID conflicts) + if component_name in BASE_BUS_COMPONENTS: + non_groupable.add(component_name) + + # Check if component uses !extend or !remove directives + # These rely on specific config structure and cannot be merged with other components + # The directives work within a component's own package hierarchy but break when + # merging independent components together + if has_extend_remove: + non_groupable.add(component_name) + + # Check if component defines buses directly in test files + # These create unique bus IDs and cause conflicts when merged + # Exclude base bus components (i2c, spi, uart, etc.) since they ARE the platform + if has_direct_bus_config and component_name not in BASE_BUS_COMPONENTS: + non_groupable.add(component_name) + direct_bus_components.add(component_name) + + return components, non_groupable, direct_bus_components + + +def create_grouping_signature( + platform_buses: dict[str, list[str]], platform: str +) -> str: + """Create a signature string for grouping components. + + Components with the same signature can be grouped together for testing. + All valid bus types can be grouped since --testing-mode bypasses runtime + conflicts during config validation. + + Args: + platform_buses: Mapping of platform to list of buses + platform: The specific platform to create signature for + + Returns: + Signature string (e.g., "i2c" or "uart") or empty if no valid buses + """ + buses = platform_buses.get(platform, []) + if not buses: + return "" + + # Only include valid bus types in signature + common_buses = get_common_bus_packages() + valid_buses = [b for b in buses if b in common_buses] + if not valid_buses: + return "" + + return "+".join(sorted(valid_buses)) + + +def group_components_by_signature( + components: dict[str, dict[str, list[str]]], platform: str +) -> dict[str, list[str]]: + """Group components by their bus signature for a specific platform. + + Args: + components: Component analysis results from analyze_all_components() + platform: Platform to group for (e.g., "esp32-ard") + + Returns: + Dictionary mapping signature to list of component names + Example: {"i2c+uart_19200": ["comp1", "comp2"], "spi": ["comp3"]} + """ + signature_groups: dict[str, list[str]] = {} + + for component_name, platform_buses in components.items(): + if platform not in platform_buses: + continue + + signature = create_grouping_signature(platform_buses, platform) + if not signature: + continue + + if signature not in signature_groups: + signature_groups[signature] = [] + signature_groups[signature].append(component_name) + + return signature_groups + + +def main() -> None: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Analyze component test files to detect common bus usage" + ) + parser.add_argument( + "--components", + "-c", + nargs="+", + help="Specific components to analyze (default: all)", + ) + parser.add_argument( + "--platform", + "-p", + help="Show grouping for a specific platform", + ) + parser.add_argument( + "--json", + action="store_true", + help="Output as JSON", + ) + parser.add_argument( + "--group", + action="store_true", + help="Show component groupings by bus signature", + ) + + args = parser.parse_args() + + # Analyze components + tests_dir = Path("tests/components") + + if args.components: + # Analyze only specified components + components = {} + non_groupable = set() + direct_bus_components = set() + for comp in args.components: + comp_dir = tests_dir / comp + platform_buses, has_extend_remove, has_direct_bus_config = ( + analyze_component(comp_dir) + ) + if platform_buses: + components[comp] = platform_buses + # Note: Components using $component_dir are now groupable + if comp in ISOLATED_COMPONENTS: + non_groupable.add(comp) + if comp in BASE_BUS_COMPONENTS: + non_groupable.add(comp) + if has_direct_bus_config and comp not in BASE_BUS_COMPONENTS: + non_groupable.add(comp) + direct_bus_components.add(comp) + else: + # Analyze all components + components, non_groupable, direct_bus_components = analyze_all_components( + tests_dir + ) + + # Output results + if args.group and args.platform: + # Show groupings for a specific platform + groups = group_components_by_signature(components, args.platform) + + if args.json: + print(json.dumps(groups, indent=2)) + else: + print(f"Component groupings for {args.platform}:") + print() + for signature, comp_list in sorted(groups.items()): + print(f" {signature}:") + for comp in sorted(comp_list): + print(f" - {comp}") + print() + elif args.json: + # JSON output + print(json.dumps(components, indent=2)) + else: + # Human-readable output + for component, platform_buses in sorted(components.items()): + non_groupable_marker = ( + " [NON-GROUPABLE]" if component in non_groupable else "" + ) + print(f"{component}{non_groupable_marker}:") + for platform, buses in sorted(platform_buses.items()): + bus_str = ", ".join(buses) + print(f" {platform}: {bus_str}") + print() + print(f"Total components analyzed: {len(components)}") + if non_groupable: + print(f"Non-groupable components (use local files): {len(non_groupable)}") + for comp in sorted(non_groupable): + print(f" - {comp}") + + +if __name__ == "__main__": + main() diff --git a/script/merge_component_configs.py b/script/merge_component_configs.py new file mode 100755 index 0000000000..a19b65038c --- /dev/null +++ b/script/merge_component_configs.py @@ -0,0 +1,379 @@ +#!/usr/bin/env python3 +"""Merge multiple component test configurations into a single test file. + +This script combines multiple component test files that use the same common bus +configurations into a single merged test file. This allows testing multiple +compatible components together, reducing CI build time. + +The merger handles: +- Component-specific substitutions (prefixing to avoid conflicts) +- Multiple instances of component configurations +- Shared common bus packages (included only once) +- Platform-specific configurations +- Uses ESPHome's built-in merge_config for proper YAML merging +""" + +from __future__ import annotations + +import argparse +from pathlib import Path +import re +import sys +from typing import Any + +# Add esphome to path so we can import from it +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from esphome import yaml_util +from esphome.config_helpers import merge_config +from script.analyze_component_buses import PACKAGE_DEPENDENCIES, get_common_bus_packages + + +def load_yaml_file(yaml_file: Path) -> dict: + """Load YAML file using ESPHome's YAML loader. + + Args: + yaml_file: Path to the YAML file + + Returns: + Parsed YAML as dictionary + """ + if not yaml_file.exists(): + raise FileNotFoundError(f"YAML file not found: {yaml_file}") + + return yaml_util.load_yaml(yaml_file) + + +def extract_packages_from_yaml(data: dict) -> dict[str, str]: + """Extract COMMON BUS package includes from parsed YAML. + + Only extracts packages that are from test_build_components/common/, + ignoring component-specific packages. + + Args: + data: Parsed YAML dictionary + + Returns: + Dictionary mapping package name to include path (as string representation) + Only includes common bus packages (i2c, spi, uart, etc.) + """ + if "packages" not in data: + return {} + + packages_value = data["packages"] + if not isinstance(packages_value, dict): + # List format doesn't include common bus packages (those use dict format) + return {} + + # Get common bus package names (cached) + common_bus_packages = get_common_bus_packages() + packages = {} + + # Dictionary format: packages: {name: value} + for name, value in packages_value.items(): + # Only include common bus packages, ignore component-specific ones + if name not in common_bus_packages: + continue + packages[name] = str(value) + # Also track package dependencies (e.g., modbus includes uart) + if name not in PACKAGE_DEPENDENCIES: + continue + for dep in PACKAGE_DEPENDENCIES[name]: + if dep not in common_bus_packages: + continue + # Mark as included via dependency + packages[f"_dep_{dep}"] = f"(included via {name})" + + return packages + + +def prefix_substitutions_in_dict( + data: Any, prefix: str, exclude: set[str] | None = None +) -> Any: + """Recursively prefix all substitution references in a data structure. + + Args: + data: YAML data structure (dict, list, or scalar) + prefix: Prefix to add to substitution names + exclude: Set of substitution names to exclude from prefixing + + Returns: + Data structure with prefixed substitution references + """ + if exclude is None: + exclude = set() + + def replace_sub(text: str) -> str: + """Replace substitution references in a string.""" + + def replace_match(match): + sub_name = match.group(1) + if sub_name in exclude: + return match.group(0) + # Always use braced format in output for consistency + return f"${{{prefix}_{sub_name}}}" + + # Match both ${substitution} and $substitution formats + return re.sub(r"\$\{?(\w+)\}?", replace_match, text) + + if isinstance(data, dict): + result = {} + for key, value in data.items(): + result[key] = prefix_substitutions_in_dict(value, prefix, exclude) + return result + if isinstance(data, list): + return [prefix_substitutions_in_dict(item, prefix, exclude) for item in data] + if isinstance(data, str): + return replace_sub(data) + return data + + +def deduplicate_by_id(data: dict) -> dict: + """Deduplicate list items with the same ID. + + Keeps only the first occurrence of each ID. If items with the same ID + are identical, this silently deduplicates. If they differ, the first + one is kept (ESPHome's validation will catch if this causes issues). + + Args: + data: Parsed config dictionary + + Returns: + Config with deduplicated lists + """ + if not isinstance(data, dict): + return data + + result = {} + for key, value in data.items(): + if isinstance(value, list): + # Check for items with 'id' field + seen_ids = set() + deduped_list = [] + + for item in value: + if isinstance(item, dict) and "id" in item: + item_id = item["id"] + if item_id not in seen_ids: + seen_ids.add(item_id) + deduped_list.append(item) + # else: skip duplicate ID (keep first occurrence) + else: + # No ID, just add it + deduped_list.append(item) + + result[key] = deduped_list + elif isinstance(value, dict): + # Recursively deduplicate nested dicts + result[key] = deduplicate_by_id(value) + else: + result[key] = value + + return result + + +def merge_component_configs( + component_names: list[str], + platform: str, + tests_dir: Path, + output_file: Path, +) -> None: + """Merge multiple component test configs into a single file. + + Args: + component_names: List of component names to merge + platform: Platform to merge for (e.g., "esp32-ard") + tests_dir: Path to tests/components directory + output_file: Path to output merged config file + """ + if not component_names: + raise ValueError("No components specified") + + # Track packages to ensure they're identical + all_packages = None + + # Start with empty config + merged_config_data = {} + + # Process each component + for comp_name in component_names: + comp_dir = tests_dir / comp_name + test_file = comp_dir / f"test.{platform}.yaml" + + if not test_file.exists(): + raise FileNotFoundError(f"Test file not found: {test_file}") + + # Load the component's test file + comp_data = load_yaml_file(test_file) + + # Validate packages are compatible + # Components with no packages (no_buses) can merge with any group + comp_packages = extract_packages_from_yaml(comp_data) + + if all_packages is None: + # First component - set the baseline + all_packages = comp_packages + elif not comp_packages: + # This component has no packages (no_buses) - it can merge with any group + pass + elif not all_packages: + # Previous components had no packages, but this one does - adopt these packages + all_packages = comp_packages + elif comp_packages != all_packages: + # Both have packages but they differ - this is an error + raise ValueError( + f"Component {comp_name} has different packages than previous components. " + f"Expected: {all_packages}, Got: {comp_packages}. " + f"All components must use the same common bus configs to be merged." + ) + + # Handle $component_dir by replacing with absolute path + # This allows components that use local file references to be grouped + comp_abs_dir = str(comp_dir.absolute()) + + # Save top-level substitutions BEFORE expanding packages + # In ESPHome, top-level substitutions override package substitutions + top_level_subs = ( + comp_data["substitutions"].copy() + if "substitutions" in comp_data and comp_data["substitutions"] is not None + else {} + ) + + # Expand packages - but we'll restore substitution priority after + if "packages" in comp_data: + packages_value = comp_data["packages"] + + if isinstance(packages_value, dict): + # Dict format - check each package + common_bus_packages = get_common_bus_packages() + for pkg_name, pkg_value in list(packages_value.items()): + if pkg_name in common_bus_packages: + continue + if not isinstance(pkg_value, dict): + continue + # Component-specific package - expand its content into top level + comp_data = merge_config(comp_data, pkg_value) + elif isinstance(packages_value, list): + # List format - expand all package includes + for pkg_value in packages_value: + if not isinstance(pkg_value, dict): + continue + comp_data = merge_config(comp_data, pkg_value) + + # Remove all packages (common will be re-added at the end) + del comp_data["packages"] + + # Restore top-level substitution priority + # Top-level substitutions override any from packages + if "substitutions" not in comp_data or comp_data["substitutions"] is None: + comp_data["substitutions"] = {} + + # Merge: package subs as base, top-level subs override + comp_data["substitutions"].update(top_level_subs) + + # Now prefix the final merged substitutions + comp_data["substitutions"] = { + f"{comp_name}_{sub_name}": sub_value + for sub_name, sub_value in comp_data["substitutions"].items() + } + + # Add component_dir substitution with absolute path for this component + comp_data["substitutions"][f"{comp_name}_component_dir"] = comp_abs_dir + + # Prefix substitution references throughout the config + comp_data = prefix_substitutions_in_dict(comp_data, comp_name) + + # Use ESPHome's merge_config to merge this component into the result + # merge_config handles list merging with ID-based deduplication automatically + merged_config_data = merge_config(merged_config_data, comp_data) + + # Add packages back (only once, since they're identical) + # IMPORTANT: Only re-add common bus packages (spi, i2c, uart, etc.) + # Do NOT re-add component-specific packages as they contain unprefixed $component_dir refs + if all_packages: + first_comp_data = load_yaml_file( + tests_dir / component_names[0] / f"test.{platform}.yaml" + ) + if "packages" in first_comp_data and isinstance( + first_comp_data["packages"], dict + ): + # Filter to only include common bus packages + # Only dict format can contain common bus packages + common_bus_packages = get_common_bus_packages() + filtered_packages = { + name: value + for name, value in first_comp_data["packages"].items() + if name in common_bus_packages + } + if filtered_packages: + merged_config_data["packages"] = filtered_packages + + # Deduplicate items with same ID (keeps first occurrence) + merged_config_data = deduplicate_by_id(merged_config_data) + + # Remove esphome section since it will be provided by the wrapper file + # The wrapper file includes this merged config via packages and provides + # the proper esphome: section with name, platform, etc. + if "esphome" in merged_config_data: + del merged_config_data["esphome"] + + # Write merged config + output_file.parent.mkdir(parents=True, exist_ok=True) + yaml_content = yaml_util.dump(merged_config_data) + output_file.write_text(yaml_content) + + print(f"Successfully merged {len(component_names)} components into {output_file}") + + +def main() -> None: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Merge multiple component test configs into a single file" + ) + parser.add_argument( + "--components", + "-c", + required=True, + help="Comma-separated list of component names to merge", + ) + parser.add_argument( + "--platform", + "-p", + required=True, + help="Platform to merge for (e.g., esp32-ard)", + ) + parser.add_argument( + "--output", + "-o", + required=True, + type=Path, + help="Output file path for merged config", + ) + parser.add_argument( + "--tests-dir", + type=Path, + default=Path("tests/components"), + help="Path to tests/components directory", + ) + + args = parser.parse_args() + + component_names = [c.strip() for c in args.components.split(",")] + + try: + merge_component_configs( + component_names=component_names, + platform=args.platform, + tests_dir=args.tests_dir, + output_file=args.output, + ) + except Exception as e: + print(f"Error merging configs: {e}", file=sys.stderr) + import traceback + + traceback.print_exc() + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/script/split_components_for_ci.py b/script/split_components_for_ci.py new file mode 100755 index 0000000000..ad2261499c --- /dev/null +++ b/script/split_components_for_ci.py @@ -0,0 +1,268 @@ +#!/usr/bin/env python3 +"""Split components into batches with intelligent grouping. + +This script analyzes components to identify which ones share common bus configurations +and intelligently groups them into batches to maximize the efficiency of the +component grouping system in CI. + +Components with the same bus signature are placed in the same batch whenever possible, +allowing the test_build_components.py script to merge them into single builds. +""" + +from __future__ import annotations + +import argparse +from collections import defaultdict +import json +from pathlib import Path +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from script.analyze_component_buses import ( + ISOLATED_COMPONENTS, + NO_BUSES_SIGNATURE, + analyze_all_components, + create_grouping_signature, +) + +# Weighting for batch creation +# Isolated components can't be grouped/merged, so they count as 10x +# Groupable components can be merged into single builds, so they count as 1x +ISOLATED_WEIGHT = 10 +GROUPABLE_WEIGHT = 1 + + +def has_test_files(component_name: str, tests_dir: Path) -> bool: + """Check if a component has test files. + + Args: + component_name: Name of the component + tests_dir: Path to tests/components directory + + Returns: + True if the component has test.*.yaml files + """ + component_dir = tests_dir / component_name + if not component_dir.exists() or not component_dir.is_dir(): + return False + + # Check for test.*.yaml files + return any(component_dir.glob("test.*.yaml")) + + +def create_intelligent_batches( + components: list[str], + tests_dir: Path, + batch_size: int = 40, +) -> list[list[str]]: + """Create batches optimized for component grouping. + + Args: + components: List of component names to batch + tests_dir: Path to tests/components directory + batch_size: Target size for each batch + + Returns: + List of component batches (lists of component names) + """ + # Filter out components without test files + # Platform components like 'climate' and 'climate_ir' don't have test files + components_with_tests = [ + comp for comp in components if has_test_files(comp, tests_dir) + ] + + # Log filtered components to stderr for debugging + if len(components_with_tests) < len(components): + filtered_out = set(components) - set(components_with_tests) + print( + f"Note: Filtered {len(filtered_out)} components without test files: " + f"{', '.join(sorted(filtered_out))}", + file=sys.stderr, + ) + + # Analyze all components to get their bus signatures + component_buses, non_groupable, _direct_bus_components = analyze_all_components( + tests_dir + ) + + # Group components by their bus signature ONLY (ignore platform) + # All platforms will be tested by test_build_components.py for each batch + # Key: signature, Value: list of components + signature_groups: dict[str, list[str]] = defaultdict(list) + + for component in components_with_tests: + # Components that can't be grouped get unique signatures + # This includes both manually curated ISOLATED_COMPONENTS and + # automatically detected non_groupable components + # These can share a batch/runner but won't be grouped/merged + if component in ISOLATED_COMPONENTS or component in non_groupable: + signature_groups[f"isolated_{component}"].append(component) + continue + + # Get signature from any platform (they should all have the same buses) + # Components not in component_buses were filtered out by has_test_files check + comp_platforms = component_buses[component] + for platform, buses in comp_platforms.items(): + if buses: + signature = create_grouping_signature({platform: buses}, platform) + # Group by signature only - platform doesn't matter for batching + signature_groups[signature].append(component) + break # Only use first platform for grouping + else: + # No buses found for any platform - can be grouped together + signature_groups[NO_BUSES_SIGNATURE].append(component) + + # Create batches by keeping signature groups together + # Components with the same signature stay in the same batches + batches = [] + + # Sort signature groups to prioritize groupable components + # 1. Put "isolated_*" signatures last (can't be grouped with others) + # 2. Sort groupable signatures by size (largest first) + # 3. "no_buses" components CAN be grouped together + def sort_key(item): + signature, components = item + is_isolated = signature.startswith("isolated_") + # Put "isolated_*" last (1), groupable first (0) + # Within each category, sort by size (largest first) + return (is_isolated, -len(components)) + + sorted_groups = sorted(signature_groups.items(), key=sort_key) + + # Strategy: Create batches using weighted sizes + # - Isolated components count as 10x (since they can't be grouped/merged) + # - Groupable components count as 1x (can be merged into single builds) + # - This distributes isolated components across more runners + # - Ensures each runner has a good mix of groupable vs isolated components + + current_batch = [] + current_weight = 0 + + for signature, group_components in sorted_groups: + is_isolated = signature.startswith("isolated_") + weight_per_component = ISOLATED_WEIGHT if is_isolated else GROUPABLE_WEIGHT + + for component in group_components: + # Check if adding this component would exceed the batch size + if current_weight + weight_per_component > batch_size and current_batch: + # Start a new batch + batches.append(current_batch) + current_batch = [] + current_weight = 0 + + # Add component to current batch + current_batch.append(component) + current_weight += weight_per_component + + # Don't forget the last batch + if current_batch: + batches.append(current_batch) + + return batches + + +def main() -> int: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Split components into intelligent batches for CI testing" + ) + parser.add_argument( + "--components", + "-c", + required=True, + help="JSON array of component names", + ) + parser.add_argument( + "--batch-size", + "-b", + type=int, + default=40, + help="Target batch size (default: 40, weighted)", + ) + parser.add_argument( + "--tests-dir", + type=Path, + default=Path("tests/components"), + help="Path to tests/components directory", + ) + parser.add_argument( + "--output", + "-o", + choices=["json", "github"], + default="github", + help="Output format (json or github for GitHub Actions)", + ) + + args = parser.parse_args() + + # Parse component list from JSON + try: + components = json.loads(args.components) + except json.JSONDecodeError as e: + print(f"Error parsing components JSON: {e}", file=sys.stderr) + return 1 + + if not isinstance(components, list): + print("Components must be a JSON array", file=sys.stderr) + return 1 + + # Create intelligent batches + batches = create_intelligent_batches( + components=components, + tests_dir=args.tests_dir, + batch_size=args.batch_size, + ) + + # Convert batches to space-separated strings for CI + batch_strings = [" ".join(batch) for batch in batches] + + if args.output == "json": + # Output as JSON array + print(json.dumps(batch_strings)) + else: + # Output for GitHub Actions (set output) + output_json = json.dumps(batch_strings) + print(f"components={output_json}") + + # Print summary to stderr so it shows in CI logs + # Count actual components being batched + actual_components = sum(len(batch.split()) for batch in batch_strings) + + # Re-analyze to get isolated component counts for summary + _, non_groupable, _ = analyze_all_components(args.tests_dir) + + # Count isolated vs groupable components + all_batched_components = [comp for batch in batches for comp in batch] + isolated_count = sum( + 1 + for comp in all_batched_components + if comp in ISOLATED_COMPONENTS or comp in non_groupable + ) + groupable_count = actual_components - isolated_count + + print("\n=== Intelligent Batch Summary ===", file=sys.stderr) + print(f"Total components requested: {len(components)}", file=sys.stderr) + print(f"Components with test files: {actual_components}", file=sys.stderr) + print(f" - Groupable (weight=1): {groupable_count}", file=sys.stderr) + print(f" - Isolated (weight=10): {isolated_count}", file=sys.stderr) + if actual_components < len(components): + print( + f"Components skipped (no test files): {len(components) - actual_components}", + file=sys.stderr, + ) + print(f"Number of batches: {len(batches)}", file=sys.stderr) + print(f"Batch size target (weighted): {args.batch_size}", file=sys.stderr) + if len(batches) > 0: + print( + f"Average components per batch: {actual_components / len(batches):.1f}", + file=sys.stderr, + ) + print(file=sys.stderr) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/script/test_build_components b/script/test_build_components deleted file mode 100755 index 3796280176..0000000000 --- a/script/test_build_components +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env bash - -set -e - -help() { - echo "Usage: $0 [-e ] [-c ] [-t ]" 1>&2 - echo 1>&2 - echo " - e - Parameter for esphome command. Default compile. Common alternative is config." 1>&2 - echo " - c - Component folder name to test. Default *. E.g. '-c logger'." 1>&2 - echo " - t - Target name to test. Put '-t list' to display all possibilities. E.g. '-t esp32-s2-idf-51'." 1>&2 - exit 1 -} - -# Parse parameter: -# - `e` - Parameter for `esphome` command. Default `compile`. Common alternative is `config`. -# - `c` - Component folder name to test. Default `*`. -esphome_command="compile" -target_component="*" -while getopts e:c:t: flag -do - case $flag in - e) esphome_command=${OPTARG};; - c) target_component=${OPTARG};; - t) requested_target_platform=${OPTARG};; - \?) help;; - esac -done - -cd "$(dirname "$0")/.." - -if ! [ -d "./tests/test_build_components/build" ]; then - mkdir ./tests/test_build_components/build -fi - -start_esphome() { - if [ -n "$requested_target_platform" ] && [ "$requested_target_platform" != "$target_platform_with_version" ]; then - echo "Skipping $target_platform_with_version" - return - fi - # create dynamic yaml file in `build` folder. - # `./tests/test_build_components/build/[target_component].[test_name].[target_platform_with_version].yaml` - component_test_file="./tests/test_build_components/build/$target_component.$test_name.$target_platform_with_version.yaml" - - cp $target_platform_file $component_test_file - if [[ "$OSTYPE" == "darwin"* ]]; then - # macOS sed is...different - sed -i '' "s!\$component_test_file!../../.$f!g" $component_test_file - else - sed -i "s!\$component_test_file!../../.$f!g" $component_test_file - fi - - # Start esphome process - echo "> [$target_component] [$test_name] [$target_platform_with_version]" - set -x - # TODO: Validate escape of Command line substitution value - python3 -m esphome -s component_name $target_component -s component_dir ../../components/$target_component -s test_name $test_name -s target_platform $target_platform $esphome_command $component_test_file - { set +x; } 2>/dev/null -} - -# Find all test yaml files. -# - `./tests/components/[target_component]/[test_name].[target_platform].yaml` -# - `./tests/components/[target_component]/[test_name].all.yaml` -for f in ./tests/components/$target_component/*.*.yaml; do - [ -f "$f" ] || continue - IFS='/' read -r -a folder_name <<< "$f" - target_component="${folder_name[3]}" - - IFS='.' read -r -a file_name <<< "${folder_name[4]}" - test_name="${file_name[0]}" - target_platform="${file_name[1]}" - file_name_parts=${#file_name[@]} - - if [ "$target_platform" = "all" ] || [ $file_name_parts = 2 ]; then - # Test has *not* defined a specific target platform. Need to run tests for all possible target platforms. - - for target_platform_file in ./tests/test_build_components/build_components_base.*.yaml; do - IFS='/' read -r -a folder_name <<< "$target_platform_file" - IFS='.' read -r -a file_name <<< "${folder_name[3]}" - target_platform="${file_name[1]}" - - start_esphome - done - - else - # Test has defined a specific target platform. - - # Validate we have a base test yaml for selected platform. - # The target_platform is sourced from the following location. - # 1. `./tests/test_build_components/build_components_base.[target_platform].yaml` - # 2. `./tests/test_build_components/build_components_base.[target_platform]-ard.yaml` - target_platform_file="./tests/test_build_components/build_components_base.$target_platform.yaml" - if ! [ -f "$target_platform_file" ]; then - echo "No base test file [./tests/test_build_components/build_components_base.$target_platform.yaml] for component test [$f] found." - exit 1 - fi - - for target_platform_file in ./tests/test_build_components/build_components_base.$target_platform*.yaml; do - # trim off "./tests/test_build_components/build_components_base." prefix - target_platform_with_version=${target_platform_file:52} - # ...now remove suffix starting with "." leaving just the test target hardware and software platform (possibly with version) - # For example: "esp32-s3-idf-50" - target_platform_with_version=${target_platform_with_version%.*} - start_esphome - done - fi -done diff --git a/script/test_build_components b/script/test_build_components new file mode 120000 index 0000000000..832a4a72c6 --- /dev/null +++ b/script/test_build_components @@ -0,0 +1 @@ +test_build_components.py \ No newline at end of file diff --git a/script/test_build_components.py b/script/test_build_components.py new file mode 100755 index 0000000000..e27bd695c1 --- /dev/null +++ b/script/test_build_components.py @@ -0,0 +1,931 @@ +#!/usr/bin/env python3 +"""Test ESPHome component builds with intelligent grouping. + +This script replaces the bash test_build_components script with Python, +adding support for intelligent component grouping based on shared bus +configurations to reduce CI build time. + +Features: +- Analyzes components for shared common bus configs +- Groups compatible components together +- Merges configs for grouped components +- Uses --testing-mode for grouped tests +- Maintains backward compatibility with single component testing +""" + +from __future__ import annotations + +import argparse +from collections import defaultdict +import hashlib +import os +from pathlib import Path +import subprocess +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +# pylint: disable=wrong-import-position +from script.analyze_component_buses import ( + BASE_BUS_COMPONENTS, + ISOLATED_COMPONENTS, + NO_BUSES_SIGNATURE, + analyze_all_components, + create_grouping_signature, + is_platform_component, + uses_local_file_references, +) +from script.merge_component_configs import merge_component_configs + +# Platform-specific maximum group sizes +# ESP8266 has limited IRAM and can't handle large component groups +PLATFORM_MAX_GROUP_SIZE = { + "esp8266-ard": 10, # ESP8266 Arduino has limited IRAM + "esp8266-idf": 10, # ESP8266 IDF also has limited IRAM + # BK72xx now uses BK7252 board (1.62MB flash vs 1.03MB) - no limit needed + # Other platforms can handle larger groups +} + + +def show_disk_space_if_ci(esphome_command: str) -> None: + """Show disk space usage if running in CI during compile. + + Args: + esphome_command: The esphome command being run (config/compile/clean) + """ + if os.environ.get("GITHUB_ACTIONS") and esphome_command == "compile": + print("\n" + "=" * 80) + print("Disk Space After Build:") + print("=" * 80) + subprocess.run(["df", "-h"], check=False) + print("=" * 80 + "\n") + + +def find_component_tests( + components_dir: Path, component_pattern: str = "*" +) -> dict[str, list[Path]]: + """Find all component test files. + + Args: + components_dir: Path to tests/components directory + component_pattern: Glob pattern for component names + + Returns: + Dictionary mapping component name to list of test files + """ + component_tests = defaultdict(list) + + for comp_dir in components_dir.glob(component_pattern): + if not comp_dir.is_dir(): + continue + + for test_file in comp_dir.glob("test.*.yaml"): + component_tests[comp_dir.name].append(test_file) + + return dict(component_tests) + + +def parse_test_filename(test_file: Path) -> tuple[str, str]: + """Parse test filename to extract test name and platform. + + Args: + test_file: Path to test file + + Returns: + Tuple of (test_name, platform) + """ + parts = test_file.stem.split(".") + if len(parts) == 2: + return parts[0], parts[1] # test, platform + return parts[0], "all" + + +def get_platform_base_files(base_dir: Path) -> dict[str, list[Path]]: + """Get all platform base files. + + Args: + base_dir: Path to test_build_components directory + + Returns: + Dictionary mapping platform to list of base files (for version variants) + """ + platform_files = defaultdict(list) + + for base_file in base_dir.glob("build_components_base.*.yaml"): + # Extract platform from filename + # e.g., build_components_base.esp32-idf.yaml -> esp32-idf + # or build_components_base.esp32-idf-50.yaml -> esp32-idf + filename = base_file.stem + parts = filename.replace("build_components_base.", "").split("-") + + # Platform is everything before version number (if present) + # Check if last part is a number (version) + platform = "-".join(parts[:-1]) if parts[-1].isdigit() else "-".join(parts) + + platform_files[platform].append(base_file) + + return dict(platform_files) + + +def extract_platform_with_version(base_file: Path) -> str: + """Extract platform with version from base filename. + + Args: + base_file: Path to base file + + Returns: + Platform with version (e.g., "esp32-idf-50" or "esp32-idf") + """ + # Remove "build_components_base." prefix and ".yaml" suffix + return base_file.stem.replace("build_components_base.", "") + + +def run_esphome_test( + component: str, + test_file: Path, + platform: str, + platform_with_version: str, + base_file: Path, + build_dir: Path, + esphome_command: str, + continue_on_fail: bool, + use_testing_mode: bool = False, +) -> tuple[bool, str]: + """Run esphome test for a single component. + + Args: + component: Component name + test_file: Path to component test file + platform: Platform name (e.g., "esp32-idf") + platform_with_version: Platform with version (e.g., "esp32-idf-50") + base_file: Path to platform base file + build_dir: Path to build directory + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + use_testing_mode: Whether to use --testing-mode flag + + Returns: + Tuple of (success status, command string) + """ + test_name = test_file.stem.split(".")[0] + + # Create dynamic test file in build directory + output_file = build_dir / f"{component}.{test_name}.{platform_with_version}.yaml" + + # Copy base file and substitute component test file reference + base_content = base_file.read_text() + # Get relative path from build dir to test file + repo_root = Path(__file__).parent.parent + component_test_ref = f"../../{test_file.relative_to(repo_root / 'tests')}" + output_content = base_content.replace("$component_test_file", component_test_ref) + output_file.write_text(output_content) + + # Build esphome command + cmd = [ + sys.executable, + "-m", + "esphome", + ] + + # Add --testing-mode if needed (must be before subcommand) + if use_testing_mode: + cmd.append("--testing-mode") + + # Add substitutions + cmd.extend( + [ + "-s", + "component_name", + component, + "-s", + "component_dir", + f"../../components/{component}", + "-s", + "test_name", + test_name, + "-s", + "target_platform", + platform, + ] + ) + + # Add command and config file + cmd.extend([esphome_command, str(output_file)]) + + # Build command string for display/logging + cmd_str = " ".join(cmd) + + # Run command + print(f"> [{component}] [{test_name}] [{platform_with_version}]") + if use_testing_mode: + print(" (using --testing-mode)") + + try: + result = subprocess.run(cmd, check=False) + success = result.returncode == 0 + + # Show disk space after build in CI during compile + show_disk_space_if_ci(esphome_command) + + if not success and not continue_on_fail: + # Print command immediately for failed tests + print(f"\n{'=' * 80}") + print("FAILED - Command to reproduce:") + print(f"{'=' * 80}") + print(cmd_str) + print() + raise subprocess.CalledProcessError(result.returncode, cmd) + return success, cmd_str + except subprocess.CalledProcessError: + # Re-raise if we're not continuing on fail + if not continue_on_fail: + raise + return False, cmd_str + + +def run_grouped_test( + components: list[str], + platform: str, + platform_with_version: str, + base_file: Path, + build_dir: Path, + tests_dir: Path, + esphome_command: str, + continue_on_fail: bool, +) -> tuple[bool, str]: + """Run esphome test for a group of components with shared bus configs. + + Args: + components: List of component names to test together + platform: Platform name (e.g., "esp32-idf") + platform_with_version: Platform with version (e.g., "esp32-idf-50") + base_file: Path to platform base file + build_dir: Path to build directory + tests_dir: Path to tests/components directory + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + + Returns: + Tuple of (success status, command string) + """ + # Create merged config + group_name = "_".join(components[:3]) # Use first 3 components for name + if len(components) > 3: + group_name += f"_plus_{len(components) - 3}" + + # Create unique device name by hashing sorted component list + platform + # This prevents conflicts when different component groups are tested + sorted_components = sorted(components) + hash_input = "_".join(sorted_components) + "_" + platform + group_hash = hashlib.md5(hash_input.encode()).hexdigest()[:8] + device_name = f"comptest{platform.replace('-', '')}{group_hash}" + + merged_config_file = build_dir / f"merged_{group_name}.{platform_with_version}.yaml" + + try: + merge_component_configs( + component_names=components, + platform=platform_with_version, + tests_dir=tests_dir, + output_file=merged_config_file, + ) + except Exception as e: # pylint: disable=broad-exception-caught + print(f"Error merging configs for {components}: {e}") + if not continue_on_fail: + raise + # Return empty command string since we failed before building the command + return False, f"# Failed during config merge: {e}" + + # Create test file that includes merged config + output_file = build_dir / f"test_{group_name}.{platform_with_version}.yaml" + base_content = base_file.read_text() + merged_ref = merged_config_file.name + output_content = base_content.replace("$component_test_file", merged_ref) + output_file.write_text(output_content) + + # Build esphome command with --testing-mode + cmd = [ + sys.executable, + "-m", + "esphome", + "--testing-mode", # Required for grouped tests + "-s", + "component_name", + device_name, # Use unique hash-based device name + "-s", + "component_dir", + "../../components", + "-s", + "test_name", + "merged", + "-s", + "target_platform", + platform, + esphome_command, + str(output_file), + ] + + # Build command string for display/logging + cmd_str = " ".join(cmd) + + # Run command + components_str = ", ".join(components) + print(f"> [GROUPED: {components_str}] [{platform_with_version}]") + print(" (using --testing-mode)") + + try: + result = subprocess.run(cmd, check=False) + success = result.returncode == 0 + + # Show disk space after build in CI during compile + show_disk_space_if_ci(esphome_command) + + if not success and not continue_on_fail: + # Print command immediately for failed tests + print(f"\n{'=' * 80}") + print("FAILED - Command to reproduce:") + print(f"{'=' * 80}") + print(cmd_str) + print() + raise subprocess.CalledProcessError(result.returncode, cmd) + return success, cmd_str + except subprocess.CalledProcessError: + # Re-raise if we're not continuing on fail + if not continue_on_fail: + raise + return False, cmd_str + + +def run_grouped_component_tests( + all_tests: dict[str, list[Path]], + platform_filter: str | None, + platform_bases: dict[str, list[Path]], + tests_dir: Path, + build_dir: Path, + esphome_command: str, + continue_on_fail: bool, +) -> tuple[set[tuple[str, str]], list[str], list[str], dict[str, str]]: + """Run grouped component tests. + + Args: + all_tests: Dictionary mapping component names to test files + platform_filter: Optional platform to filter by + platform_bases: Platform base files mapping + tests_dir: Path to tests/components directory + build_dir: Path to build directory + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + + Returns: + Tuple of (tested_components, passed_tests, failed_tests, failed_commands) + """ + tested_components = set() + passed_tests = [] + failed_tests = [] + failed_commands = {} # Map test_id to command string + + # Group components by platform and bus signature + grouped_components: dict[tuple[str, str], list[str]] = defaultdict(list) + print("\n" + "=" * 80) + print("Analyzing components for intelligent grouping...") + print("=" * 80) + component_buses, non_groupable, direct_bus_components = analyze_all_components( + tests_dir + ) + + # Track why components can't be grouped (for detailed output) + non_groupable_reasons = {} + + # Group by (platform, bus_signature) + for component, platforms in component_buses.items(): + if component not in all_tests: + continue + + # Skip components that must be tested in isolation + # These are shown separately and should not be in non_groupable_reasons + if component in ISOLATED_COMPONENTS: + continue + + # Skip base bus components (these test the bus platforms themselves) + if component in BASE_BUS_COMPONENTS: + continue + + # Skip components that use local file references or direct bus configs + if component in non_groupable: + # Track the reason (using pre-calculated results to avoid expensive re-analysis) + if component not in non_groupable_reasons: + if component in direct_bus_components: + non_groupable_reasons[component] = ( + "Defines buses directly (not via packages) - NEEDS MIGRATION" + ) + elif uses_local_file_references(tests_dir / component): + non_groupable_reasons[component] = ( + "Uses local file references ($component_dir)" + ) + elif is_platform_component(tests_dir / component): + non_groupable_reasons[component] = ( + "Platform component (abstract base class)" + ) + else: + non_groupable_reasons[component] = ( + "Uses !extend or !remove directives" + ) + continue + + for platform, buses in platforms.items(): + # Skip if platform doesn't match filter + if platform_filter and not platform.startswith(platform_filter): + continue + + # Create signature for this component's bus configuration + # Components with no buses get NO_BUSES_SIGNATURE so they can be grouped together + if buses: + signature = create_grouping_signature({platform: buses}, platform) + else: + signature = NO_BUSES_SIGNATURE + + # Add to grouped components (including those with no buses) + if signature: + grouped_components[(platform, signature)].append(component) + + # Print detailed grouping plan + print("\nGrouping Plan:") + print("-" * 80) + + # Show isolated components (must test individually due to known issues) + isolated_in_tests = [c for c in ISOLATED_COMPONENTS if c in all_tests] + if isolated_in_tests: + print( + f"\n⚠ {len(isolated_in_tests)} components must be tested in isolation (known build issues):" + ) + for comp in sorted(isolated_in_tests): + reason = ISOLATED_COMPONENTS[comp] + print(f" - {comp}: {reason}") + + # Show base bus components (test the bus platform implementations) + base_bus_in_tests = [c for c in BASE_BUS_COMPONENTS if c in all_tests] + if base_bus_in_tests: + print( + f"\n○ {len(base_bus_in_tests)} base bus platform components (tested individually):" + ) + for comp in sorted(base_bus_in_tests): + print(f" - {comp}") + + # Show excluded components with detailed reasons + if non_groupable_reasons: + excluded_in_tests = [c for c in non_groupable_reasons if c in all_tests] + if excluded_in_tests: + print( + f"\n⚠ {len(excluded_in_tests)} components excluded from grouping (each needs individual build):" + ) + # Group by reason to show summary + direct_bus = [ + c + for c in excluded_in_tests + if "NEEDS MIGRATION" in non_groupable_reasons.get(c, "") + ] + if direct_bus: + print( + f"\n ⚠⚠⚠ {len(direct_bus)} DEFINE BUSES DIRECTLY - NEED MIGRATION TO PACKAGES:" + ) + for comp in sorted(direct_bus): + print(f" - {comp}") + + other_reasons = [ + c + for c in excluded_in_tests + if "NEEDS MIGRATION" not in non_groupable_reasons.get(c, "") + ] + if other_reasons and len(other_reasons) <= 10: + print("\n Other non-groupable components:") + for comp in sorted(other_reasons): + reason = non_groupable_reasons[comp] + print(f" - {comp}: {reason}") + elif other_reasons: + print( + f"\n Other non-groupable components: {len(other_reasons)} components" + ) + + # Distribute no_buses components into other groups to maximize efficiency + # Components with no buses can merge with any bus group since they have no conflicting requirements + no_buses_by_platform: dict[str, list[str]] = {} + for (platform, signature), components in list(grouped_components.items()): + if signature == NO_BUSES_SIGNATURE: + no_buses_by_platform[platform] = components + # Remove from grouped_components - we'll distribute them + del grouped_components[(platform, signature)] + + # Distribute no_buses components into existing groups for each platform + for platform, no_buses_comps in no_buses_by_platform.items(): + # Find all non-empty groups for this platform (excluding no_buses) + platform_groups = [ + (sig, comps) + for (plat, sig), comps in grouped_components.items() + if plat == platform and sig != NO_BUSES_SIGNATURE + ] + + if platform_groups: + # Distribute no_buses components round-robin across existing groups + for i, comp in enumerate(no_buses_comps): + sig, _ = platform_groups[i % len(platform_groups)] + grouped_components[(platform, sig)].append(comp) + else: + # No other groups for this platform - keep no_buses components together + grouped_components[(platform, NO_BUSES_SIGNATURE)] = no_buses_comps + + # Split groups that exceed platform-specific maximum sizes + # ESP8266 has limited IRAM and can't handle large component groups + split_groups = {} + for (platform, signature), components in list(grouped_components.items()): + max_size = PLATFORM_MAX_GROUP_SIZE.get(platform) + if max_size and len(components) > max_size: + # Split this group into smaller groups + print( + f"\n ℹ️ Splitting {platform} group (signature: {signature}) " + f"from {len(components)} to max {max_size} components per group" + ) + # Remove original group + del grouped_components[(platform, signature)] + # Create split groups + for i in range(0, len(components), max_size): + split_components = components[i : i + max_size] + # Create unique signature for each split group + split_signature = f"{signature}_split{i // max_size + 1}" + split_groups[(platform, split_signature)] = split_components + # Add split groups back + grouped_components.update(split_groups) + + groups_to_test = [] + individual_tests = set() # Use set to avoid duplicates + + for (platform, signature), components in sorted(grouped_components.items()): + if len(components) > 1: + groups_to_test.append((platform, signature, components)) + # Note: Don't add single-component groups to individual_tests here + # They'll be added below when we check for ungrouped components + + # Add components that weren't grouped on any platform + for component in all_tests: + if component not in [c for _, _, comps in groups_to_test for c in comps]: + individual_tests.add(component) + + if groups_to_test: + print(f"\n✓ {len(groups_to_test)} groups will be tested together:") + for platform, signature, components in groups_to_test: + component_list = ", ".join(sorted(components)) + print(f" [{platform}] [{signature}]: {component_list}") + print( + f" → {len(components)} components in 1 build (saves {len(components) - 1} builds)" + ) + + if individual_tests: + print(f"\n○ {len(individual_tests)} components will be tested individually:") + sorted_individual = sorted(individual_tests) + for comp in sorted_individual[:10]: + print(f" - {comp}") + if len(individual_tests) > 10: + print(f" ... and {len(individual_tests) - 10} more") + + # Calculate actual build counts based on test files, not component counts + # Without grouping: every test file would be built separately + total_test_files = sum(len(test_files) for test_files in all_tests.values()) + + # With grouping: + # - 1 build per group (regardless of how many components) + # - Individual components still need all their platform builds + individual_test_file_count = sum( + len(all_tests[comp]) for comp in individual_tests if comp in all_tests + ) + + total_grouped_components = sum(len(comps) for _, _, comps in groups_to_test) + total_builds_with_grouping = len(groups_to_test) + individual_test_file_count + builds_saved = total_test_files - total_builds_with_grouping + + print(f"\n{'=' * 80}") + print( + f"Summary: {total_builds_with_grouping} builds total (vs {total_test_files} without grouping)" + ) + print( + f" • {len(groups_to_test)} grouped builds ({total_grouped_components} components)" + ) + print( + f" • {individual_test_file_count} individual builds ({len(individual_tests)} components)" + ) + if total_test_files > 0: + reduction_pct = (builds_saved / total_test_files) * 100 + print(f" • Saves {builds_saved} builds ({reduction_pct:.1f}% reduction)") + print("=" * 80 + "\n") + + # Execute grouped tests + for (platform, signature), components in grouped_components.items(): + # Only group if we have multiple components with same signature + if len(components) <= 1: + continue + + # Filter out components not in our test list + components_to_group = [c for c in components if c in all_tests] + if len(components_to_group) <= 1: + continue + + # Get platform base files + if platform not in platform_bases: + continue + + for base_file in platform_bases[platform]: + platform_with_version = extract_platform_with_version(base_file) + + # Skip if platform filter doesn't match + if platform_filter and platform != platform_filter: + continue + if ( + platform_filter + and platform_with_version != platform_filter + and not platform_with_version.startswith(f"{platform_filter}-") + ): + continue + + # Run grouped test + success, cmd_str = run_grouped_test( + components=components_to_group, + platform=platform, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + tests_dir=tests_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + ) + + # Mark all components as tested + for comp in components_to_group: + tested_components.add((comp, platform_with_version)) + + # Record result for each component - show all components in grouped tests + test_id = ( + f"GROUPED[{','.join(components_to_group)}].{platform_with_version}" + ) + if success: + passed_tests.append(test_id) + else: + failed_tests.append(test_id) + failed_commands[test_id] = cmd_str + + return tested_components, passed_tests, failed_tests, failed_commands + + +def run_individual_component_test( + component: str, + test_file: Path, + platform: str, + platform_with_version: str, + base_file: Path, + build_dir: Path, + esphome_command: str, + continue_on_fail: bool, + tested_components: set[tuple[str, str]], + passed_tests: list[str], + failed_tests: list[str], + failed_commands: dict[str, str], +) -> None: + """Run an individual component test if not already tested in a group. + + Args: + component: Component name + test_file: Test file path + platform: Platform name + platform_with_version: Platform with version + base_file: Base file for platform + build_dir: Build directory + esphome_command: ESPHome command + continue_on_fail: Whether to continue on failure + tested_components: Set of already tested components + passed_tests: List to append passed test IDs + failed_tests: List to append failed test IDs + failed_commands: Dict to store failed test commands + """ + # Skip if already tested in a group + if (component, platform_with_version) in tested_components: + return + + test_name = test_file.stem.split(".")[0] + success, cmd_str = run_esphome_test( + component=component, + test_file=test_file, + platform=platform, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + ) + test_id = f"{component}.{test_name}.{platform_with_version}" + if success: + passed_tests.append(test_id) + else: + failed_tests.append(test_id) + failed_commands[test_id] = cmd_str + + +def test_components( + component_patterns: list[str], + platform_filter: str | None, + esphome_command: str, + continue_on_fail: bool, + enable_grouping: bool = True, +) -> int: + """Test components with optional intelligent grouping. + + Args: + component_patterns: List of component name patterns + platform_filter: Optional platform to filter by + esphome_command: ESPHome command (config/compile) + continue_on_fail: Whether to continue on failure + enable_grouping: Whether to enable component grouping + + Returns: + Exit code (0 for success, 1 for failure) + """ + # Setup paths + repo_root = Path(__file__).parent.parent + tests_dir = repo_root / "tests" / "components" + build_components_dir = repo_root / "tests" / "test_build_components" + build_dir = build_components_dir / "build" + build_dir.mkdir(parents=True, exist_ok=True) + + # Get platform base files + platform_bases = get_platform_base_files(build_components_dir) + + # Find all component tests + all_tests = {} + for pattern in component_patterns: + all_tests.update(find_component_tests(tests_dir, pattern)) + + if not all_tests: + print(f"No components found matching: {component_patterns}") + return 1 + + print(f"Found {len(all_tests)} components to test") + + # Run tests + failed_tests = [] + passed_tests = [] + tested_components = set() # Track which components were tested in groups + failed_commands = {} # Track commands for failed tests + + # First, run grouped tests if grouping is enabled + if enable_grouping: + ( + tested_components, + passed_tests, + failed_tests, + failed_commands, + ) = run_grouped_component_tests( + all_tests=all_tests, + platform_filter=platform_filter, + platform_bases=platform_bases, + tests_dir=tests_dir, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + ) + + # Then run individual tests for components not in groups + for component, test_files in sorted(all_tests.items()): + for test_file in test_files: + test_name, platform = parse_test_filename(test_file) + + # Handle "all" platform tests + if platform == "all": + # Run for all platforms + for plat, base_files in platform_bases.items(): + if platform_filter and plat != platform_filter: + continue + + for base_file in base_files: + platform_with_version = extract_platform_with_version(base_file) + run_individual_component_test( + component=component, + test_file=test_file, + platform=plat, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + tested_components=tested_components, + passed_tests=passed_tests, + failed_tests=failed_tests, + failed_commands=failed_commands, + ) + else: + # Platform-specific test + if platform_filter and platform != platform_filter: + continue + + if platform not in platform_bases: + print(f"No base file for platform: {platform}") + continue + + for base_file in platform_bases[platform]: + platform_with_version = extract_platform_with_version(base_file) + + # Skip if requested platform doesn't match + if ( + platform_filter + and platform_with_version != platform_filter + and not platform_with_version.startswith(f"{platform_filter}-") + ): + continue + + run_individual_component_test( + component=component, + test_file=test_file, + platform=platform, + platform_with_version=platform_with_version, + base_file=base_file, + build_dir=build_dir, + esphome_command=esphome_command, + continue_on_fail=continue_on_fail, + tested_components=tested_components, + passed_tests=passed_tests, + failed_tests=failed_tests, + failed_commands=failed_commands, + ) + + # Print summary + print("\n" + "=" * 80) + print(f"Test Summary: {len(passed_tests)} passed, {len(failed_tests)} failed") + print("=" * 80) + + if failed_tests: + print("\nFailed tests:") + for test in failed_tests: + print(f" - {test}") + + # Print failed commands at the end for easy copy-paste from CI logs + print("\n" + "=" * 80) + print("Failed test commands (copy-paste to reproduce locally):") + print("=" * 80) + for test in failed_tests: + if test in failed_commands: + print(f"\n# {test}") + print(failed_commands[test]) + print() + + return 1 + + return 0 + + +def main() -> int: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Test ESPHome component builds with intelligent grouping" + ) + parser.add_argument( + "-e", + "--esphome-command", + default="compile", + choices=["config", "compile", "clean"], + help="ESPHome command to run (default: compile)", + ) + parser.add_argument( + "-c", + "--components", + default="*", + help="Component pattern(s) to test (default: *). Comma-separated.", + ) + parser.add_argument( + "-t", + "--target", + help="Target platform to test (e.g., esp32-idf)", + ) + parser.add_argument( + "-f", + "--continue-on-fail", + action="store_true", + help="Continue testing even if a test fails", + ) + parser.add_argument( + "--no-grouping", + action="store_true", + help="Disable component grouping (test each component individually)", + ) + + args = parser.parse_args() + + # Parse component patterns + component_patterns = [p.strip() for p in args.components.split(",")] + + return test_components( + component_patterns=component_patterns, + platform_filter=args.target, + esphome_command=args.esphome_command, + continue_on_fail=args.continue_on_fail, + enable_grouping=not args.no_grouping, + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/script/test_component_grouping.py b/script/test_component_grouping.py new file mode 100755 index 0000000000..a2cee6e888 --- /dev/null +++ b/script/test_component_grouping.py @@ -0,0 +1,227 @@ +#!/usr/bin/env python3 +"""Test component grouping by finding and testing groups of components. + +This script analyzes components, finds groups that can be tested together, +and runs test builds for those groups. +""" + +from __future__ import annotations + +import argparse +from pathlib import Path +import subprocess +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +from script.analyze_component_buses import ( + analyze_all_components, + group_components_by_signature, +) + + +def test_component_group( + components: list[str], + platform: str, + esphome_command: str = "compile", + dry_run: bool = False, +) -> bool: + """Test a group of components together. + + Args: + components: List of component names to test together + platform: Platform to test on (e.g., "esp32-idf") + esphome_command: ESPHome command to run (config/compile/clean) + dry_run: If True, only print the command without running it + + Returns: + True if test passed, False otherwise + """ + components_str = ",".join(components) + cmd = [ + "./script/test_build_components", + "-c", + components_str, + "-t", + platform, + "-e", + esphome_command, + ] + + print(f"\n{'=' * 80}") + print(f"Testing {len(components)} components on {platform}:") + for comp in components: + print(f" - {comp}") + print(f"{'=' * 80}") + print(f"Command: {' '.join(cmd)}\n") + + if dry_run: + print("[DRY RUN] Skipping actual test") + return True + + try: + result = subprocess.run(cmd, check=False) + return result.returncode == 0 + except Exception as e: + print(f"Error running test: {e}") + return False + + +def main() -> None: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Test component grouping by finding and testing groups" + ) + parser.add_argument( + "--platform", + "-p", + default="esp32-idf", + help="Platform to test (default: esp32-idf)", + ) + parser.add_argument( + "-e", + "--esphome-command", + default="compile", + choices=["config", "compile", "clean"], + help="ESPHome command to run (default: compile)", + ) + parser.add_argument( + "--all", + action="store_true", + help="Test all components (sets --min-size=1, --max-size=10000, --max-groups=10000)", + ) + parser.add_argument( + "--min-size", + type=int, + default=3, + help="Minimum group size to test (default: 3)", + ) + parser.add_argument( + "--max-size", + type=int, + default=10, + help="Maximum group size to test (default: 10)", + ) + parser.add_argument( + "--max-groups", + type=int, + default=5, + help="Maximum number of groups to test (default: 5)", + ) + parser.add_argument( + "--signature", + "-s", + help="Only test groups with this bus signature (e.g., 'spi', 'i2c', 'uart')", + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="Print commands without running them", + ) + + args = parser.parse_args() + + # If --all is specified, test all components without grouping + if args.all: + # Get all components from tests/components directory + components_dir = Path("tests/components") + all_components = sorted( + [d.name for d in components_dir.iterdir() if d.is_dir()] + ) + + if not all_components: + print(f"\nNo components found in {components_dir}") + return + + print(f"\nTesting all {len(all_components)} components together") + + success = test_component_group( + all_components, args.platform, args.esphome_command, args.dry_run + ) + + # Print summary + print(f"\n{'=' * 80}") + print("TEST SUMMARY") + print(f"{'=' * 80}") + status = "✅ PASS" if success else "❌ FAIL" + print(f"{status} All components: {len(all_components)} components") + + if not args.dry_run and not success: + sys.exit(1) + return + + print("Analyzing all components...") + components, non_groupable, _ = analyze_all_components(Path("tests/components")) + + print(f"Found {len(components)} components, {len(non_groupable)} non-groupable") + + # Group components by signature for the platform + groups = group_components_by_signature(components, args.platform) + + # Filter and sort groups + filtered_groups = [] + for signature, comp_list in groups.items(): + # Filter by signature if specified + if args.signature and signature != args.signature: + continue + + # Remove non-groupable components + comp_list = [c for c in comp_list if c not in non_groupable] + + # Filter by minimum size + if len(comp_list) < args.min_size: + continue + + # If group is larger than max_size, we'll take a subset later + filtered_groups.append((signature, comp_list)) + + # Sort by group size (largest first) + filtered_groups.sort(key=lambda x: len(x[1]), reverse=True) + + # Limit number of groups + filtered_groups = filtered_groups[: args.max_groups] + + if not filtered_groups: + print("\nNo groups found matching criteria:") + print(f" - Platform: {args.platform}") + print(f" - Size: {args.min_size}-{args.max_size}") + if args.signature: + print(f" - Signature: {args.signature}") + return + + print(f"\nFound {len(filtered_groups)} groups to test:") + for signature, comp_list in filtered_groups: + print(f" [{signature}]: {len(comp_list)} components") + + # Test each group + results = [] + for signature, comp_list in filtered_groups: + # Limit to max_size if group is larger + if len(comp_list) > args.max_size: + comp_list = comp_list[: args.max_size] + + success = test_component_group( + comp_list, args.platform, args.esphome_command, args.dry_run + ) + results.append((signature, comp_list, success)) + + if not args.dry_run and not success: + print(f"\n❌ FAILED: {signature} group") + break + + # Print summary + print(f"\n{'=' * 80}") + print("TEST SUMMARY") + print(f"{'=' * 80}") + for signature, comp_list, success in results: + status = "✅ PASS" if success else "❌ FAIL" + print(f"{status} [{signature}]: {len(comp_list)} components") + + # Exit with error if any tests failed + if not args.dry_run and any(not success for _, _, success in results): + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/tests/components/a01nyub/common.yaml b/tests/components/a01nyub/common.yaml index 0717acfff7..fc0b2d3bfb 100644 --- a/tests/components/a01nyub/common.yaml +++ b/tests/components/a01nyub/common.yaml @@ -1,11 +1,4 @@ -uart: - - id: uart_a01nyub - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: a01nyub id: a01nyub_sensor name: a01nyub Distance - uart_id: uart_a01nyub diff --git a/tests/components/a01nyub/test.esp32-c3-idf.yaml b/tests/components/a01nyub/test.esp32-c3-idf.yaml index b516342f3b..2cda8deaf9 100644 --- a/tests/components/a01nyub/test.esp32-c3-idf.yaml +++ b/tests/components/a01nyub/test.esp32-c3-idf.yaml @@ -1,3 +1,6 @@ +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + substitutions: tx_pin: GPIO4 rx_pin: GPIO5 diff --git a/tests/components/a01nyub/test.esp32-idf.yaml b/tests/components/a01nyub/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/a01nyub/test.esp32-idf.yaml +++ b/tests/components/a01nyub/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/a01nyub/test.esp8266-ard.yaml b/tests/components/a01nyub/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/a01nyub/test.esp8266-ard.yaml +++ b/tests/components/a01nyub/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/a01nyub/test.rp2040-ard.yaml b/tests/components/a01nyub/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/a01nyub/test.rp2040-ard.yaml +++ b/tests/components/a01nyub/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/a02yyuw/common.yaml b/tests/components/a02yyuw/common.yaml index b2e5927ff4..4de8a6eb67 100644 --- a/tests/components/a02yyuw/common.yaml +++ b/tests/components/a02yyuw/common.yaml @@ -1,11 +1,4 @@ -uart: - - id: uart_a02yyuw - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: a02yyuw id: a02yyuw_sensor name: a02yyuw Distance - uart_id: uart_a02yyuw diff --git a/tests/components/a02yyuw/test.esp32-c3-idf.yaml b/tests/components/a02yyuw/test.esp32-c3-idf.yaml index b516342f3b..2cda8deaf9 100644 --- a/tests/components/a02yyuw/test.esp32-c3-idf.yaml +++ b/tests/components/a02yyuw/test.esp32-c3-idf.yaml @@ -1,3 +1,6 @@ +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + substitutions: tx_pin: GPIO4 rx_pin: GPIO5 diff --git a/tests/components/a02yyuw/test.esp32-idf.yaml b/tests/components/a02yyuw/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/a02yyuw/test.esp32-idf.yaml +++ b/tests/components/a02yyuw/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/a02yyuw/test.esp8266-ard.yaml b/tests/components/a02yyuw/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/a02yyuw/test.esp8266-ard.yaml +++ b/tests/components/a02yyuw/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/a02yyuw/test.rp2040-ard.yaml b/tests/components/a02yyuw/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/a02yyuw/test.rp2040-ard.yaml +++ b/tests/components/a02yyuw/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/a4988/test.esp32-idf.yaml b/tests/components/a4988/test.esp32-idf.yaml index 1ca8c0c084..7d46b048e1 100644 --- a/tests/components/a4988/test.esp32-idf.yaml +++ b/tests/components/a4988/test.esp32-idf.yaml @@ -1,6 +1,6 @@ substitutions: step_pin: GPIO22 - dir_pin: GPIO23 + dir_pin: GPIO4 sleep_pin: GPIO25 <<: !include common.yaml diff --git a/tests/components/a4988/test.esp8266-ard.yaml b/tests/components/a4988/test.esp8266-ard.yaml index 22b5677d27..5b1b1293be 100644 --- a/tests/components/a4988/test.esp8266-ard.yaml +++ b/tests/components/a4988/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: step_pin: GPIO1 dir_pin: GPIO2 - sleep_pin: GPIO5 + sleep_pin: GPIO0 <<: !include common.yaml diff --git a/tests/components/ac_dimmer/test.esp32-ard.yaml b/tests/components/ac_dimmer/test.esp32-ard.yaml index 3ec069f430..eaa4901f03 100644 --- a/tests/components/ac_dimmer/test.esp32-ard.yaml +++ b/tests/components/ac_dimmer/test.esp32-ard.yaml @@ -1,5 +1,5 @@ substitutions: - gate_pin: GPIO18 - zero_cross_pin: GPIO19 + gate_pin: GPIO4 + zero_cross_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/ac_dimmer/test.esp8266-ard.yaml b/tests/components/ac_dimmer/test.esp8266-ard.yaml index 5d2d42b713..2f50b04956 100644 --- a/tests/components/ac_dimmer/test.esp8266-ard.yaml +++ b/tests/components/ac_dimmer/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - gate_pin: GPIO5 - zero_cross_pin: GPIO4 + gate_pin: GPIO0 + zero_cross_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/adc/common.yaml b/tests/components/adc/common.yaml deleted file mode 100644 index ebdd1aece5..0000000000 --- a/tests/components/adc/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ -sensor: - - id: my_sensor - platform: adc - name: ADC Test sensor - update_interval: "1:01" - attenuation: 2.5db - unit_of_measurement: "°C" - icon: "mdi:water-percent" - accuracy_decimals: 5 - setup_priority: -100 - force_update: true diff --git a/tests/components/adc/test.bk72xx-ard.yaml b/tests/components/adc/test.bk72xx-ard.yaml index 0a3d5d1fdc..0645333a81 100644 --- a/tests/components/adc/test.bk72xx-ard.yaml +++ b/tests/components/adc/test.bk72xx-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: P23 - attenuation: !remove + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-c3-idf.yaml b/tests/components/adc/test.esp32-c3-idf.yaml index ea3b00a85f..e764f0fe21 100644 --- a/tests/components/adc/test.esp32-c3-idf.yaml +++ b/tests/components/adc/test.esp32-c3-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: 4 + - id: my_sensor + platform: adc + pin: GPIO1 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-idf.yaml b/tests/components/adc/test.esp32-idf.yaml index e6a1fd3bd9..ff1e3bb919 100644 --- a/tests/components/adc/test.esp32-idf.yaml +++ b/tests/components/adc/test.esp32-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: A0 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-p4-idf.yaml b/tests/components/adc/test.esp32-p4-idf.yaml index 97844cf398..b77dc299c2 100644 --- a/tests/components/adc/test.esp32-p4-idf.yaml +++ b/tests/components/adc/test.esp32-p4-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: GPIO50 + - id: my_sensor + platform: adc + pin: GPIO16 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-s2-idf.yaml b/tests/components/adc/test.esp32-s2-idf.yaml index bbd91c5e5a..e764f0fe21 100644 --- a/tests/components/adc/test.esp32-s2-idf.yaml +++ b/tests/components/adc/test.esp32-s2-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: 1 + - id: my_sensor + platform: adc + pin: GPIO1 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp32-s3-idf.yaml b/tests/components/adc/test.esp32-s3-idf.yaml index bbd91c5e5a..e764f0fe21 100644 --- a/tests/components/adc/test.esp32-s3-idf.yaml +++ b/tests/components/adc/test.esp32-s3-idf.yaml @@ -1,6 +1,12 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: 1 + - id: my_sensor + platform: adc + pin: GPIO1 + name: ADC Test sensor + update_interval: "1:01" + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.esp8266-ard.yaml b/tests/components/adc/test.esp8266-ard.yaml index bcb3620cfc..4cc865bb5d 100644 --- a/tests/components/adc/test.esp8266-ard.yaml +++ b/tests/components/adc/test.esp8266-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: VCC - attenuation: !remove + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.ln882x-ard.yaml b/tests/components/adc/test.ln882x-ard.yaml index 0622cd7b27..face38b647 100644 --- a/tests/components/adc/test.ln882x-ard.yaml +++ b/tests/components/adc/test.ln882x-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor - pin: PA0 - attenuation: !remove + - id: my_sensor + platform: adc + pin: A5 + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc/test.rp2040-ard.yaml b/tests/components/adc/test.rp2040-ard.yaml index bcb3620cfc..4cc865bb5d 100644 --- a/tests/components/adc/test.rp2040-ard.yaml +++ b/tests/components/adc/test.rp2040-ard.yaml @@ -1,7 +1,11 @@ -packages: - base: !include common.yaml - sensor: - - id: !extend my_sensor + - id: my_sensor + platform: adc pin: VCC - attenuation: !remove + name: ADC Test sensor + update_interval: "1:01" + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + setup_priority: -100 + force_update: true diff --git a/tests/components/adc128s102/common.yaml b/tests/components/adc128s102/common.yaml index 5f1638a7e2..b909310bdf 100644 --- a/tests/components/adc128s102/common.yaml +++ b/tests/components/adc128s102/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_adc128s102 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - adc128s102: cs_pin: ${cs_pin} id: adc128s102_adc diff --git a/tests/components/adc128s102/test.esp32-c3-idf.yaml b/tests/components/adc128s102/test.esp32-c3-idf.yaml index 24da4b5452..a60568a736 100644 --- a/tests/components/adc128s102/test.esp32-c3-idf.yaml +++ b/tests/components/adc128s102/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO2 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/adc128s102/test.esp32-idf.yaml b/tests/components/adc128s102/test.esp32-idf.yaml index aba72f0614..9bb524aa65 100644 --- a/tests/components/adc128s102/test.esp32-idf.yaml +++ b/tests/components/adc128s102/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/adc128s102/test.esp8266-ard.yaml b/tests/components/adc128s102/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/adc128s102/test.esp8266-ard.yaml +++ b/tests/components/adc128s102/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/adc128s102/test.rp2040-ard.yaml b/tests/components/adc128s102/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/adc128s102/test.rp2040-ard.yaml +++ b/tests/components/adc128s102/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7880/common.yaml b/tests/components/ade7880/common.yaml index 0aa388a325..0b0b560282 100644 --- a/tests/components/ade7880/common.yaml +++ b/tests/components/ade7880/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ade7880 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ade7880 - i2c_id: i2c_ade7880 + i2c_id: i2c_bus irq0_pin: ${irq0_pin} irq1_pin: ${irq1_pin} reset_pin: ${reset_pin} diff --git a/tests/components/ade7880/test.esp32-c3-idf.yaml b/tests/components/ade7880/test.esp32-c3-idf.yaml index 87db3e9427..7d5b41fc5a 100644 --- a/tests/components/ade7880/test.esp32-c3-idf.yaml +++ b/tests/components/ade7880/test.esp32-c3-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO6 irq1_pin: GPIO7 - reset_pin: GPIO10 + reset_pin: GPIO9 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ade7880/test.esp32-idf.yaml b/tests/components/ade7880/test.esp32-idf.yaml index 685b49ff32..9db2e50049 100644 --- a/tests/components/ade7880/test.esp32-idf.yaml +++ b/tests/components/ade7880/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO13 irq1_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO12 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ade7880/test.esp8266-ard.yaml b/tests/components/ade7880/test.esp8266-ard.yaml index 685b49ff32..81a04d0724 100644 --- a/tests/components/ade7880/test.esp8266-ard.yaml +++ b/tests/components/ade7880/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO13 irq1_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7880/test.rp2040-ard.yaml b/tests/components/ade7880/test.rp2040-ard.yaml index 685b49ff32..f531f852ae 100644 --- a/tests/components/ade7880/test.rp2040-ard.yaml +++ b/tests/components/ade7880/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq0_pin: GPIO13 irq1_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/common.yaml b/tests/components/ade7953_i2c/common.yaml index a2d163567d..8b2a9588fe 100644 --- a/tests/components/ade7953_i2c/common.yaml +++ b/tests/components/ade7953_i2c/common.yaml @@ -1,20 +1,13 @@ -i2c: - - id: i2c_ade7953 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ade7953_i2c + i2c_id: i2c_bus irq_pin: ${irq_pin} voltage: name: ADE7953 Voltage - id: ade7953_voltage current_a: name: ADE7953 Current A - id: ade7953_current_a current_b: name: ADE7953 Current B - id: ade7953_current_b power_factor_a: name: ADE7953 Power Factor A power_factor_b: diff --git a/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml b/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml index 799acabd5a..59296a1e6e 100644 --- a/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ade7953_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp32-idf.yaml b/tests/components/ade7953_i2c/test.esp32-idf.yaml index 2c57d412f6..49629536e7 100644 --- a/tests/components/ade7953_i2c/test.esp32-idf.yaml +++ b/tests/components/ade7953_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.esp8266-ard.yaml b/tests/components/ade7953_i2c/test.esp8266-ard.yaml index c8e6a43f44..dc7609ab37 100644 --- a/tests/components/ade7953_i2c/test.esp8266-ard.yaml +++ b/tests/components/ade7953_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_i2c/test.rp2040-ard.yaml b/tests/components/ade7953_i2c/test.rp2040-ard.yaml index 799acabd5a..b80562ad22 100644 --- a/tests/components/ade7953_i2c/test.rp2040-ard.yaml +++ b/tests/components/ade7953_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_spi/common.yaml b/tests/components/ade7953_spi/common.yaml index 706f31f22c..30b5258a2a 100644 --- a/tests/components/ade7953_spi/common.yaml +++ b/tests/components/ade7953_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_ade7953 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: ade7953_spi cs_pin: ${cs_pin} diff --git a/tests/components/ade7953_spi/test.esp32-c3-idf.yaml b/tests/components/ade7953_spi/test.esp32-c3-idf.yaml index fcf35f528e..5e7e2dc82c 100644 --- a/tests/components/ade7953_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ade7953_spi/test.esp32-c3-idf.yaml @@ -1,8 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 irq_pin: GPIO9 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp32-idf.yaml b/tests/components/ade7953_spi/test.esp32-idf.yaml index e00f522dd4..19791e24b7 100644 --- a/tests/components/ade7953_spi/test.esp32-idf.yaml +++ b/tests/components/ade7953_spi/test.esp32-idf.yaml @@ -1,8 +1,8 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 irq_pin: GPIO13 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.esp8266-ard.yaml b/tests/components/ade7953_spi/test.esp8266-ard.yaml index b90e661ec0..8475dc4c50 100644 --- a/tests/components/ade7953_spi/test.esp8266-ard.yaml +++ b/tests/components/ade7953_spi/test.esp8266-ard.yaml @@ -1,8 +1,11 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 irq_pin: GPIO5 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ade7953_spi/test.rp2040-ard.yaml b/tests/components/ade7953_spi/test.rp2040-ard.yaml index 8f5941e1b2..7c4a74a236 100644 --- a/tests/components/ade7953_spi/test.rp2040-ard.yaml +++ b/tests/components/ade7953_spi/test.rp2040-ard.yaml @@ -5,4 +5,7 @@ substitutions: irq_pin: GPIO5 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ads1115/common.yaml b/tests/components/ads1115/common.yaml index 297877d2d8..4724dc5a14 100644 --- a/tests/components/ads1115/common.yaml +++ b/tests/components/ads1115/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ads1115 - scl: ${scl_pin} - sda: ${sda_pin} - ads1115: + i2c_id: i2c_bus address: 0x48 sensor: diff --git a/tests/components/ads1115/test.esp32-c3-idf.yaml b/tests/components/ads1115/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ads1115/test.esp32-c3-idf.yaml +++ b/tests/components/ads1115/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ads1115/test.esp32-idf.yaml b/tests/components/ads1115/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ads1115/test.esp32-idf.yaml +++ b/tests/components/ads1115/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ads1115/test.esp8266-ard.yaml b/tests/components/ads1115/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ads1115/test.esp8266-ard.yaml +++ b/tests/components/ads1115/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ads1115/test.rp2040-ard.yaml b/tests/components/ads1115/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ads1115/test.rp2040-ard.yaml +++ b/tests/components/ads1115/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ags10/common.yaml b/tests/components/ags10/common.yaml index 0c4c3513cf..0551871e59 100644 --- a/tests/components/ags10/common.yaml +++ b/tests/components/ags10/common.yaml @@ -1,9 +1,3 @@ -i2c: - - id: i2c_ags10 - scl: ${scl_pin} - sda: ${sda_pin} - frequency: 10kHz - sensor: - platform: ags10 id: ags10_1 diff --git a/tests/components/ags10/test.esp32-c3-idf.yaml b/tests/components/ags10/test.esp32-c3-idf.yaml index ee2c29ca4e..72703301a1 100644 --- a/tests/components/ags10/test.esp32-c3-idf.yaml +++ b/tests/components/ags10/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ags10/test.esp32-idf.yaml b/tests/components/ags10/test.esp32-idf.yaml index 63c3bd6afd..7a5d01898a 100644 --- a/tests/components/ags10/test.esp32-idf.yaml +++ b/tests/components/ags10/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ags10/test.esp8266-ard.yaml b/tests/components/ags10/test.esp8266-ard.yaml index ee2c29ca4e..9e23bb3778 100644 --- a/tests/components/ags10/test.esp8266-ard.yaml +++ b/tests/components/ags10/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/aht10/common.yaml b/tests/components/aht10/common.yaml index 721af09bb4..d7c3f9364f 100644 --- a/tests/components/aht10/common.yaml +++ b/tests/components/aht10/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_aht10 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: aht10 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/aht10/test.esp32-c3-idf.yaml b/tests/components/aht10/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/aht10/test.esp32-c3-idf.yaml +++ b/tests/components/aht10/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/aht10/test.esp32-idf.yaml b/tests/components/aht10/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/aht10/test.esp32-idf.yaml +++ b/tests/components/aht10/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/aht10/test.esp8266-ard.yaml b/tests/components/aht10/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/aht10/test.esp8266-ard.yaml +++ b/tests/components/aht10/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/aht10/test.rp2040-ard.yaml b/tests/components/aht10/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/aht10/test.rp2040-ard.yaml +++ b/tests/components/aht10/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/aic3204/common.yaml b/tests/components/aic3204/common.yaml index 6e939bd260..5f175faee3 100644 --- a/tests/components/aic3204/common.yaml +++ b/tests/components/aic3204/common.yaml @@ -6,10 +6,6 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_aic3204 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: aic3204 + i2c_id: i2c_bus diff --git a/tests/components/aic3204/test.esp32-c3-idf.yaml b/tests/components/aic3204/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/aic3204/test.esp32-c3-idf.yaml +++ b/tests/components/aic3204/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/aic3204/test.esp32-idf.yaml b/tests/components/aic3204/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/aic3204/test.esp32-idf.yaml +++ b/tests/components/aic3204/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/aic3204/test.esp8266-ard.yaml b/tests/components/aic3204/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/aic3204/test.esp8266-ard.yaml +++ b/tests/components/aic3204/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml b/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml +++ b/tests/components/airthings_wave_mini/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/airthings_wave_mini/test.esp32-idf.yaml b/tests/components/airthings_wave_mini/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/airthings_wave_mini/test.esp32-idf.yaml +++ b/tests/components/airthings_wave_mini/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml b/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml +++ b/tests/components/airthings_wave_plus/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/airthings_wave_plus/test.esp32-idf.yaml b/tests/components/airthings_wave_plus/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/airthings_wave_plus/test.esp32-idf.yaml +++ b/tests/components/airthings_wave_plus/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-c3-idf.yaml b/tests/components/alpha3/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/alpha3/test.esp32-c3-idf.yaml +++ b/tests/components/alpha3/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/alpha3/test.esp32-idf.yaml b/tests/components/alpha3/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/alpha3/test.esp32-idf.yaml +++ b/tests/components/alpha3/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/am2315c/common.yaml b/tests/components/am2315c/common.yaml index ab4656c17d..362fe19e4d 100644 --- a/tests/components/am2315c/common.yaml +++ b/tests/components/am2315c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_am2315c - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: am2315c + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/am2315c/test.esp32-c3-idf.yaml b/tests/components/am2315c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/am2315c/test.esp32-c3-idf.yaml +++ b/tests/components/am2315c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2315c/test.esp32-idf.yaml b/tests/components/am2315c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/am2315c/test.esp32-idf.yaml +++ b/tests/components/am2315c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2315c/test.esp8266-ard.yaml b/tests/components/am2315c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/am2315c/test.esp8266-ard.yaml +++ b/tests/components/am2315c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/am2315c/test.rp2040-ard.yaml b/tests/components/am2315c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/am2315c/test.rp2040-ard.yaml +++ b/tests/components/am2315c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/am2320/common.yaml b/tests/components/am2320/common.yaml index c0982b8818..d67ca3e564 100644 --- a/tests/components/am2320/common.yaml +++ b/tests/components/am2320/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_am2320 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: am2320 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/am2320/test.esp32-c3-idf.yaml b/tests/components/am2320/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/am2320/test.esp32-c3-idf.yaml +++ b/tests/components/am2320/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2320/test.esp32-idf.yaml b/tests/components/am2320/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/am2320/test.esp32-idf.yaml +++ b/tests/components/am2320/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/am2320/test.esp8266-ard.yaml b/tests/components/am2320/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/am2320/test.esp8266-ard.yaml +++ b/tests/components/am2320/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/am2320/test.rp2040-ard.yaml b/tests/components/am2320/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/am2320/test.rp2040-ard.yaml +++ b/tests/components/am2320/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/am43/test.esp32-c3-idf.yaml b/tests/components/am43/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/am43/test.esp32-c3-idf.yaml +++ b/tests/components/am43/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/am43/test.esp32-idf.yaml b/tests/components/am43/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/am43/test.esp32-idf.yaml +++ b/tests/components/am43/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/animation/test.esp32-c3-idf.yaml b/tests/components/animation/test.esp32-c3-idf.yaml index 18aa2a5b06..a08a683333 100644 --- a/tests/components/animation/test.esp32-c3-idf.yaml +++ b/tests/components/animation/test.esp32-c3-idf.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 8 dc_pin: 9 reset_pin: 10 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.esp32-idf.yaml b/tests/components/animation/test.esp32-idf.yaml index 7d9fe45bff..c28e9584dd 100644 --- a/tests/components/animation/test.esp32-idf.yaml +++ b/tests/components/animation/test.esp32-idf.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 12 dc_pin: 13 reset_pin: 21 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.esp8266-ard.yaml b/tests/components/animation/test.esp8266-ard.yaml index 9548c7fbeb..11a7117d91 100644 --- a/tests/components/animation/test.esp8266-ard.yaml +++ b/tests/components/animation/test.esp8266-ard.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 5 dc_pin: 15 reset_pin: 16 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/animation/test.rp2040-ard.yaml b/tests/components/animation/test.rp2040-ard.yaml index efb3f2907c..32fb4efb04 100644 --- a/tests/components/animation/test.rp2040-ard.yaml +++ b/tests/components/animation/test.rp2040-ard.yaml @@ -1,17 +1,13 @@ -spi: - - id: spi_main_lcd - clk_pin: 2 - mosi_pin: 3 - miso_pin: 4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + animation: !include common.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 20 dc_pin: 21 reset_pin: 22 invert_colors: false - -packages: - animation: !include common.yaml diff --git a/tests/components/anova/test.esp32-c3-idf.yaml b/tests/components/anova/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/anova/test.esp32-c3-idf.yaml +++ b/tests/components/anova/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/anova/test.esp32-idf.yaml b/tests/components/anova/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/anova/test.esp32-idf.yaml +++ b/tests/components/anova/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/apds9306/common.yaml b/tests/components/apds9306/common.yaml index b3828e62ff..dc34f47645 100644 --- a/tests/components/apds9306/common.yaml +++ b/tests/components/apds9306/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_apds9306 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: apds9306 + i2c_id: i2c_bus name: "APDS9306 Light Level" gain: 3 bit_width: 16 diff --git a/tests/components/apds9306/test.esp32-c3-idf.yaml b/tests/components/apds9306/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/apds9306/test.esp32-c3-idf.yaml +++ b/tests/components/apds9306/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9306/test.esp32-idf.yaml b/tests/components/apds9306/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/apds9306/test.esp32-idf.yaml +++ b/tests/components/apds9306/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9306/test.esp8266-ard.yaml b/tests/components/apds9306/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/apds9306/test.esp8266-ard.yaml +++ b/tests/components/apds9306/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/apds9306/test.rp2040-ard.yaml b/tests/components/apds9306/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/apds9306/test.rp2040-ard.yaml +++ b/tests/components/apds9306/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/common.yaml b/tests/components/apds9960/common.yaml index de7706648a..c14212d263 100644 --- a/tests/components/apds9960/common.yaml +++ b/tests/components/apds9960/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_apds9960 - scl: ${scl_pin} - sda: ${sda_pin} - apds9960: + i2c_id: i2c_bus address: 0x20 update_interval: 60s diff --git a/tests/components/apds9960/test.esp32-c3-idf.yaml b/tests/components/apds9960/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/apds9960/test.esp32-c3-idf.yaml +++ b/tests/components/apds9960/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/test.esp32-idf.yaml b/tests/components/apds9960/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/apds9960/test.esp32-idf.yaml +++ b/tests/components/apds9960/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/test.esp8266-ard.yaml b/tests/components/apds9960/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/apds9960/test.esp8266-ard.yaml +++ b/tests/components/apds9960/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/apds9960/test.rp2040-ard.yaml b/tests/components/apds9960/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/apds9960/test.rp2040-ard.yaml +++ b/tests/components/apds9960/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/api/common-base.yaml b/tests/components/api/common-base.yaml new file mode 100644 index 0000000000..6483d5a997 --- /dev/null +++ b/tests/components/api/common-base.yaml @@ -0,0 +1,89 @@ +esphome: + on_boot: + then: + - homeassistant.event: + event: esphome.button_pressed + data: + message: Button was pressed + - homeassistant.action: + action: notify.html5 + data: + message: Button was pressed + - homeassistant.tag_scanned: pulse + - homeassistant.action: + action: weather.get_forecasts + data: + entity_id: weather.forecast_home + type: hourly + capture_response: true + on_success: + - lambda: |- + JsonObjectConst next_hour = response["response"]["weather.forecast_home"]["forecast"][0]; + float next_temperature = next_hour["temperature"].as(); + ESP_LOGD("main", "Next hour temperature: %f", next_temperature); + on_error: + - lambda: |- + ESP_LOGE("main", "Action failed with error: %s", error.c_str()); + - homeassistant.action: + action: weather.get_forecasts + data: + entity_id: weather.forecast_home + type: hourly + capture_response: true + response_template: "{{ response['weather.forecast_home']['forecast'][0]['temperature'] }}" + on_success: + - lambda: |- + float temperature = response["response"].as(); + ESP_LOGD("main", "Next hour temperature: %f", temperature); + - homeassistant.action: + action: light.toggle + data: + entity_id: light.demo_light + on_success: + - logger.log: "Toggled demo light" + on_error: + - logger.log: "Failed to toggle demo light" + +api: + port: 8000 + reboot_timeout: 0min + actions: + - action: hello_world + variables: + name: string + then: + - logger.log: + format: Hello World %s! + args: + - name.c_str() + - action: empty_action + then: + - logger.log: Action Called + - action: all_types + variables: + bool_: bool + int_: int + float_: float + string_: string + then: + - logger.log: Something happened + - action: array_types + variables: + bool_arr: bool[] + int_arr: int[] + float_arr: float[] + string_arr: string[] + then: + - logger.log: + # yamllint disable rule:line-length + format: "Bool: %s (%u), Int: %ld (%u), Float: %f (%u), String: %s (%u)" + # yamllint enable rule:line-length + args: + - YESNO(bool_arr[0]) + - bool_arr.size() + - (long) int_arr[0] + - int_arr.size() + - float_arr[0] + - float_arr.size() + - string_arr[0].c_str() + - string_arr.size() diff --git a/tests/components/api/common.yaml b/tests/components/api/common.yaml index d87ae56ec2..6115838b6d 100644 --- a/tests/components/api/common.yaml +++ b/tests/components/api/common.yaml @@ -1,91 +1,5 @@ -esphome: - on_boot: - then: - - homeassistant.event: - event: esphome.button_pressed - data: - message: Button was pressed - - homeassistant.action: - action: notify.html5 - data: - message: Button was pressed - - homeassistant.tag_scanned: pulse - - homeassistant.action: - action: weather.get_forecasts - data: - entity_id: weather.forecast_home - type: hourly - capture_response: true - on_success: - - lambda: |- - JsonObjectConst next_hour = response["response"]["weather.forecast_home"]["forecast"][0]; - float next_temperature = next_hour["temperature"].as(); - ESP_LOGD("main", "Next hour temperature: %f", next_temperature); - on_error: - - lambda: |- - ESP_LOGE("main", "Action failed with error: %s", error.c_str()); - - homeassistant.action: - action: weather.get_forecasts - data: - entity_id: weather.forecast_home - type: hourly - capture_response: true - response_template: "{{ response['weather.forecast_home']['forecast'][0]['temperature'] }}" - on_success: - - lambda: |- - float temperature = response["response"].as(); - ESP_LOGD("main", "Next hour temperature: %f", temperature); - - homeassistant.action: - action: light.toggle - data: - entity_id: light.demo_light - on_success: - - logger.log: "Toggled demo light" - on_error: - - logger.log: "Failed to toggle demo light" +<<: !include common-base.yaml api: - port: 8000 - reboot_timeout: 0min encryption: key: bOFFzzvfpg5DB94DuBGLXD/hMnhpDKgP9UQyBulwWVU= - actions: - - action: hello_world - variables: - name: string - then: - - logger.log: - format: Hello World %s! - args: - - name.c_str() - - action: empty_action - then: - - logger.log: Action Called - - action: all_types - variables: - bool_: bool - int_: int - float_: float - string_: string - then: - - logger.log: Something happened - - action: array_types - variables: - bool_arr: bool[] - int_arr: int[] - float_arr: float[] - string_arr: string[] - then: - - logger.log: - # yamllint disable rule:line-length - format: "Bool: %s (%u), Int: %ld (%u), Float: %f (%u), String: %s (%u)" - # yamllint enable rule:line-length - args: - - YESNO(bool_arr[0]) - - bool_arr.size() - - (long) int_arr[0] - - int_arr.size() - - float_arr[0] - - float_arr.size() - - string_arr[0].c_str() - - string_arr.size() diff --git a/tests/components/api/test-dynamic-encryption.esp32-idf.yaml b/tests/components/api/test-dynamic-encryption.esp32-idf.yaml index d8f8c247f4..504871716b 100644 --- a/tests/components/api/test-dynamic-encryption.esp32-idf.yaml +++ b/tests/components/api/test-dynamic-encryption.esp32-idf.yaml @@ -1,10 +1,5 @@ -packages: - common: !include common.yaml +<<: !include common-base.yaml wifi: ssid: MySSID password: password1 - -api: - encryption: - key: !remove diff --git a/tests/components/as3935_i2c/common.yaml b/tests/components/as3935_i2c/common.yaml index d76cc37fc1..a758bb7f56 100644 --- a/tests/components/as3935_i2c/common.yaml +++ b/tests/components/as3935_i2c/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_as3935 - scl: ${scl_pin} - sda: ${sda_pin} - as3935_i2c: + i2c_id: i2c_bus irq_pin: ${irq_pin} binary_sensor: diff --git a/tests/components/as3935_i2c/test.esp32-c3-idf.yaml b/tests/components/as3935_i2c/test.esp32-c3-idf.yaml index 799acabd5a..59296a1e6e 100644 --- a/tests/components/as3935_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/as3935_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_i2c/test.esp32-idf.yaml b/tests/components/as3935_i2c/test.esp32-idf.yaml index 2c57d412f6..49629536e7 100644 --- a/tests/components/as3935_i2c/test.esp32-idf.yaml +++ b/tests/components/as3935_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_i2c/test.esp8266-ard.yaml b/tests/components/as3935_i2c/test.esp8266-ard.yaml index c8e6a43f44..dc7609ab37 100644 --- a/tests/components/as3935_i2c/test.esp8266-ard.yaml +++ b/tests/components/as3935_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_i2c/test.rp2040-ard.yaml b/tests/components/as3935_i2c/test.rp2040-ard.yaml index 799acabd5a..b80562ad22 100644 --- a/tests/components/as3935_i2c/test.rp2040-ard.yaml +++ b/tests/components/as3935_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_spi/common.yaml b/tests/components/as3935_spi/common.yaml index c3fb93dff1..5898d5d365 100644 --- a/tests/components/as3935_spi/common.yaml +++ b/tests/components/as3935_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_as3935 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - as3935_spi: cs_pin: ${cs_pin} irq_pin: ${irq_pin} diff --git a/tests/components/as3935_spi/test.esp32-c3-idf.yaml b/tests/components/as3935_spi/test.esp32-c3-idf.yaml index fcf35f528e..5e7e2dc82c 100644 --- a/tests/components/as3935_spi/test.esp32-c3-idf.yaml +++ b/tests/components/as3935_spi/test.esp32-c3-idf.yaml @@ -1,8 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 irq_pin: GPIO9 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp32-idf.yaml b/tests/components/as3935_spi/test.esp32-idf.yaml index e00f522dd4..19791e24b7 100644 --- a/tests/components/as3935_spi/test.esp32-idf.yaml +++ b/tests/components/as3935_spi/test.esp32-idf.yaml @@ -1,8 +1,8 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 irq_pin: GPIO13 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_spi/test.esp8266-ard.yaml b/tests/components/as3935_spi/test.esp8266-ard.yaml index b90e661ec0..8475dc4c50 100644 --- a/tests/components/as3935_spi/test.esp8266-ard.yaml +++ b/tests/components/as3935_spi/test.esp8266-ard.yaml @@ -1,8 +1,11 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 irq_pin: GPIO5 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as3935_spi/test.rp2040-ard.yaml b/tests/components/as3935_spi/test.rp2040-ard.yaml index 8f5941e1b2..7c4a74a236 100644 --- a/tests/components/as3935_spi/test.rp2040-ard.yaml +++ b/tests/components/as3935_spi/test.rp2040-ard.yaml @@ -5,4 +5,7 @@ substitutions: irq_pin: GPIO5 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/common.yaml b/tests/components/as5600/common.yaml index 860f5bf803..d867c66a21 100644 --- a/tests/components/as5600/common.yaml +++ b/tests/components/as5600/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_as5600 - scl: ${scl_pin} - sda: ${sda_pin} - as5600: + i2c_id: i2c_bus dir_pin: ${dir_pin} direction: clockwise start_position: 90deg diff --git a/tests/components/as5600/test.esp32-c3-idf.yaml b/tests/components/as5600/test.esp32-c3-idf.yaml index a0623c91e5..03a87ed6c4 100644 --- a/tests/components/as5600/test.esp32-c3-idf.yaml +++ b/tests/components/as5600/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 dir_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/test.esp32-idf.yaml b/tests/components/as5600/test.esp32-idf.yaml index fa08763501..9d25a7f09a 100644 --- a/tests/components/as5600/test.esp32-idf.yaml +++ b/tests/components/as5600/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 dir_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/test.esp8266-ard.yaml b/tests/components/as5600/test.esp8266-ard.yaml index 5e27f8c134..8d18740b95 100644 --- a/tests/components/as5600/test.esp8266-ard.yaml +++ b/tests/components/as5600/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 dir_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as5600/test.rp2040-ard.yaml b/tests/components/as5600/test.rp2040-ard.yaml index a0623c91e5..4bcbb99c81 100644 --- a/tests/components/as5600/test.rp2040-ard.yaml +++ b/tests/components/as5600/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 dir_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/as7341/common.yaml b/tests/components/as7341/common.yaml index 0351b344c6..3f94656c74 100644 --- a/tests/components/as7341/common.yaml +++ b/tests/components/as7341/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_as7341 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: as7341 + i2c_id: i2c_bus update_interval: 15s gain: X8 atime: 120 diff --git a/tests/components/as7341/test.esp32-c3-idf.yaml b/tests/components/as7341/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/as7341/test.esp32-c3-idf.yaml +++ b/tests/components/as7341/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/as7341/test.esp32-idf.yaml b/tests/components/as7341/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/as7341/test.esp32-idf.yaml +++ b/tests/components/as7341/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/as7341/test.esp8266-ard.yaml b/tests/components/as7341/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/as7341/test.esp8266-ard.yaml +++ b/tests/components/as7341/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/as7341/test.rp2040-ard.yaml b/tests/components/as7341/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/as7341/test.rp2040-ard.yaml +++ b/tests/components/as7341/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/at581x/common.yaml b/tests/components/at581x/common.yaml index 018a0fded1..425be47c42 100644 --- a/tests/components/at581x/common.yaml +++ b/tests/components/at581x/common.yaml @@ -16,13 +16,9 @@ esphome: id: waveradar at581x: + i2c_id: i2c_bus id: waveradar -i2c: - - id: i2c_at581x - scl: ${scl_pin} - sda: ${sda_pin} - switch: - platform: at581x name: Enable Radar diff --git a/tests/components/at581x/test.esp32-c3-idf.yaml b/tests/components/at581x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/at581x/test.esp32-c3-idf.yaml +++ b/tests/components/at581x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/at581x/test.esp32-idf.yaml b/tests/components/at581x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/at581x/test.esp32-idf.yaml +++ b/tests/components/at581x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/at581x/test.esp8266-ard.yaml b/tests/components/at581x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/at581x/test.esp8266-ard.yaml +++ b/tests/components/at581x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/at581x/test.rp2040-ard.yaml b/tests/components/at581x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/at581x/test.rp2040-ard.yaml +++ b/tests/components/at581x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml b/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml +++ b/tests/components/atc_mithermometer/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atc_mithermometer/test.esp32-idf.yaml b/tests/components/atc_mithermometer/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/atc_mithermometer/test.esp32-idf.yaml +++ b/tests/components/atc_mithermometer/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e26/common.yaml b/tests/components/atm90e26/common.yaml index 49c3a73ec8..478be7b8b3 100644 --- a/tests/components/atm90e26/common.yaml +++ b/tests/components/atm90e26/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_atm90e26 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: atm90e26 cs_pin: ${cs_pin} diff --git a/tests/components/atm90e26/test.esp32-c3-idf.yaml b/tests/components/atm90e26/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/atm90e26/test.esp32-c3-idf.yaml +++ b/tests/components/atm90e26/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp32-idf.yaml b/tests/components/atm90e26/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/atm90e26/test.esp32-idf.yaml +++ b/tests/components/atm90e26/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e26/test.esp8266-ard.yaml b/tests/components/atm90e26/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/atm90e26/test.esp8266-ard.yaml +++ b/tests/components/atm90e26/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e26/test.rp2040-ard.yaml b/tests/components/atm90e26/test.rp2040-ard.yaml index c8bfab0023..5d0c35c2d2 100644 --- a/tests/components/atm90e26/test.rp2040-ard.yaml +++ b/tests/components/atm90e26/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e32/common.yaml b/tests/components/atm90e32/common.yaml index 3eeed8395f..b8b480ab62 100644 --- a/tests/components/atm90e32/common.yaml +++ b/tests/components/atm90e32/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_atm90e32 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: atm90e32 cs_pin: ${cs_pin} diff --git a/tests/components/atm90e32/test.esp32-c3-idf.yaml b/tests/components/atm90e32/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/atm90e32/test.esp32-c3-idf.yaml +++ b/tests/components/atm90e32/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp32-idf.yaml b/tests/components/atm90e32/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/atm90e32/test.esp32-idf.yaml +++ b/tests/components/atm90e32/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e32/test.esp8266-ard.yaml b/tests/components/atm90e32/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/atm90e32/test.esp8266-ard.yaml +++ b/tests/components/atm90e32/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/atm90e32/test.rp2040-ard.yaml b/tests/components/atm90e32/test.rp2040-ard.yaml index c8bfab0023..5d0c35c2d2 100644 --- a/tests/components/atm90e32/test.rp2040-ard.yaml +++ b/tests/components/atm90e32/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO6 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/axs15231/common.yaml b/tests/components/axs15231/common.yaml index 1c0c79975f..3f07af80ea 100644 --- a/tests/components/axs15231/common.yaml +++ b/tests/components/axs15231/common.yaml @@ -1,20 +1,18 @@ -i2c: - - id: i2c_axs15231 - scl: 3 - sda: 21 - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: 19 pages: - - id: page1 + - id: axs15231_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: axs15231 + i2c_id: i2c_bus + id: axs15231_touchscreen display: ssd1306_display interrupt_pin: 20 reset_pin: 18 diff --git a/tests/components/axs15231/test.esp32-c3-idf.yaml b/tests/components/axs15231/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/axs15231/test.esp32-c3-idf.yaml +++ b/tests/components/axs15231/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/axs15231/test.esp32-idf.yaml b/tests/components/axs15231/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/axs15231/test.esp32-idf.yaml +++ b/tests/components/axs15231/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/axs15231/test.esp8266-ard.yaml b/tests/components/axs15231/test.esp8266-ard.yaml index c09d139574..eb599da773 100644 --- a/tests/components/axs15231/test.esp8266-ard.yaml +++ b/tests/components/axs15231/test.esp8266-ard.yaml @@ -1,10 +1,9 @@ -i2c: - - id: i2c_axs15231 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: 13 @@ -15,5 +14,6 @@ display: touchscreen: - platform: axs15231 + i2c_id: i2c_bus display: ssd1306_display interrupt_pin: 12 diff --git a/tests/components/axs15231/test.rp2040-ard.yaml b/tests/components/axs15231/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/axs15231/test.rp2040-ard.yaml +++ b/tests/components/axs15231/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-c3-idf.yaml b/tests/components/b_parasite/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/b_parasite/test.esp32-c3-idf.yaml +++ b/tests/components/b_parasite/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/b_parasite/test.esp32-idf.yaml b/tests/components/b_parasite/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/b_parasite/test.esp32-idf.yaml +++ b/tests/components/b_parasite/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-c3-idf.yaml b/tests/components/bedjet/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/bedjet/test.esp32-c3-idf.yaml +++ b/tests/components/bedjet/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bedjet/test.esp32-idf.yaml b/tests/components/bedjet/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/bedjet/test.esp32-idf.yaml +++ b/tests/components/bedjet/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bh1750/common.yaml b/tests/components/bh1750/common.yaml index c0e0bc1c59..46ea99b7e3 100644 --- a/tests/components/bh1750/common.yaml +++ b/tests/components/bh1750/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bh1750 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bh1750 + i2c_id: i2c_bus name: Living Room Brightness address: 0x23 update_interval: 30s diff --git a/tests/components/bh1750/test.esp32-c3-idf.yaml b/tests/components/bh1750/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bh1750/test.esp32-c3-idf.yaml +++ b/tests/components/bh1750/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bh1750/test.esp32-idf.yaml b/tests/components/bh1750/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bh1750/test.esp32-idf.yaml +++ b/tests/components/bh1750/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bh1750/test.esp8266-ard.yaml b/tests/components/bh1750/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bh1750/test.esp8266-ard.yaml +++ b/tests/components/bh1750/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bh1750/test.rp2040-ard.yaml b/tests/components/bh1750/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bh1750/test.rp2040-ard.yaml +++ b/tests/components/bh1750/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bl0906/common.yaml b/tests/components/bl0906/common.yaml index 29b82a5958..006aa682f1 100644 --- a/tests/components/bl0906/common.yaml +++ b/tests/components/bl0906/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0906 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 19200 - sensor: - platform: bl0906 id: bl diff --git a/tests/components/bl0906/test.esp32-c3-idf.yaml b/tests/components/bl0906/test.esp32-c3-idf.yaml index c79d14c740..147d967dd4 100644 --- a/tests/components/bl0906/test.esp32-c3-idf.yaml +++ b/tests/components/bl0906/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0906/test.esp32-idf.yaml b/tests/components/bl0906/test.esp32-idf.yaml index 811f6b72a6..76222997a8 100644 --- a/tests/components/bl0906/test.esp32-idf.yaml +++ b/tests/components/bl0906/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0906/test.esp8266-ard.yaml b/tests/components/bl0906/test.esp8266-ard.yaml index 3b44f9c9c3..ac781ea834 100644 --- a/tests/components/bl0906/test.esp8266-ard.yaml +++ b/tests/components/bl0906/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0906/test.rp2040-ard.yaml b/tests/components/bl0906/test.rp2040-ard.yaml index b516342f3b..f4dada6605 100644 --- a/tests/components/bl0906/test.rp2040-ard.yaml +++ b/tests/components/bl0906/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0939/common.yaml b/tests/components/bl0939/common.yaml index 7a6b635b70..a47aa05606 100644 --- a/tests/components/bl0939/common.yaml +++ b/tests/components/bl0939/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0939 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: bl0939 voltage: diff --git a/tests/components/bl0939/test.esp32-c3-idf.yaml b/tests/components/bl0939/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/bl0939/test.esp32-c3-idf.yaml +++ b/tests/components/bl0939/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0939/test.esp32-idf.yaml b/tests/components/bl0939/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/bl0939/test.esp32-idf.yaml +++ b/tests/components/bl0939/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bl0939/test.esp8266-ard.yaml b/tests/components/bl0939/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/bl0939/test.esp8266-ard.yaml +++ b/tests/components/bl0939/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0939/test.rp2040-ard.yaml b/tests/components/bl0939/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/bl0939/test.rp2040-ard.yaml +++ b/tests/components/bl0939/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0940/common.yaml b/tests/components/bl0940/common.yaml index 443f3b0ff0..0b73fd6d55 100644 --- a/tests/components/bl0940/common.yaml +++ b/tests/components/bl0940/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0939 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - button: - platform: bl0940 bl0940_id: test_id diff --git a/tests/components/bl0940/test.esp32-c3-idf.yaml b/tests/components/bl0940/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/bl0940/test.esp32-c3-idf.yaml +++ b/tests/components/bl0940/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0940/test.esp32-idf.yaml b/tests/components/bl0940/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/bl0940/test.esp32-idf.yaml +++ b/tests/components/bl0940/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bl0940/test.esp8266-ard.yaml b/tests/components/bl0940/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/bl0940/test.esp8266-ard.yaml +++ b/tests/components/bl0940/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0940/test.rp2040-ard.yaml b/tests/components/bl0940/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/bl0940/test.rp2040-ard.yaml +++ b/tests/components/bl0940/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0942/common.yaml b/tests/components/bl0942/common.yaml index 32da24885f..1aaab8bb86 100644 --- a/tests/components/bl0942/common.yaml +++ b/tests/components/bl0942/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_bl0939 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: bl0942 reset: true diff --git a/tests/components/bl0942/test.bk72xx-ard.yaml b/tests/components/bl0942/test.bk72xx-ard.yaml index 96e13c83a9..0caf71ba1f 100644 --- a/tests/components/bl0942/test.bk72xx-ard.yaml +++ b/tests/components/bl0942/test.bk72xx-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: TX1 - rx_pin: RX1 +packages: + uart: !include ../../test_build_components/common/uart/bk72xx-ard.yaml <<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-c3-idf.yaml b/tests/components/bl0942/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/bl0942/test.esp32-c3-idf.yaml +++ b/tests/components/bl0942/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bl0942/test.esp32-idf.yaml b/tests/components/bl0942/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/bl0942/test.esp32-idf.yaml +++ b/tests/components/bl0942/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bl0942/test.esp8266-ard.yaml b/tests/components/bl0942/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/bl0942/test.esp8266-ard.yaml +++ b/tests/components/bl0942/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bl0942/test.rp2040-ard.yaml b/tests/components/bl0942/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/bl0942/test.rp2040-ard.yaml +++ b/tests/components/bl0942/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-c3-idf.yaml b/tests/components/ble_client/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_client/test.esp32-c3-idf.yaml +++ b/tests/components/ble_client/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_client/test.esp32-idf.yaml b/tests/components/ble_client/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_client/test.esp32-idf.yaml +++ b/tests/components/ble_client/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-c3-idf.yaml b/tests/components/ble_presence/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_presence/test.esp32-c3-idf.yaml +++ b/tests/components/ble_presence/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_presence/test.esp32-idf.yaml b/tests/components/ble_presence/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_presence/test.esp32-idf.yaml +++ b/tests/components/ble_presence/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-c3-idf.yaml b/tests/components/ble_rssi/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_rssi/test.esp32-c3-idf.yaml +++ b/tests/components/ble_rssi/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_rssi/test.esp32-idf.yaml b/tests/components/ble_rssi/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_rssi/test.esp32-idf.yaml +++ b/tests/components/ble_rssi/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-c3-idf.yaml b/tests/components/ble_scanner/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ble_scanner/test.esp32-c3-idf.yaml +++ b/tests/components/ble_scanner/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ble_scanner/test.esp32-idf.yaml b/tests/components/ble_scanner/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ble_scanner/test.esp32-idf.yaml +++ b/tests/components/ble_scanner/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bme280_i2c/common.yaml b/tests/components/bme280_i2c/common.yaml index e74ce9bf6d..e6d41d209c 100644 --- a/tests/components/bme280_i2c/common.yaml +++ b/tests/components/bme280_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_bme280 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bme280_i2c - i2c_id: i2c_bme280 + i2c_id: i2c_bus address: 0x76 temperature: id: bme280_temperature diff --git a/tests/components/bme280_i2c/test.esp32-c3-idf.yaml b/tests/components/bme280_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bme280_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bme280_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.esp32-idf.yaml b/tests/components/bme280_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bme280_i2c/test.esp32-idf.yaml +++ b/tests/components/bme280_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.esp8266-ard.yaml b/tests/components/bme280_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme280_i2c/test.esp8266-ard.yaml +++ b/tests/components/bme280_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme280_i2c/test.rp2040-ard.yaml b/tests/components/bme280_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bme280_i2c/test.rp2040-ard.yaml +++ b/tests/components/bme280_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme280_spi/common.yaml b/tests/components/bme280_spi/common.yaml index 303ecf9f73..9a50b410fb 100644 --- a/tests/components/bme280_spi/common.yaml +++ b/tests/components/bme280_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_bme280 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: bme280_spi - spi_id: spi_bme280 cs_pin: ${cs_pin} temperature: id: bme280_temperature diff --git a/tests/components/bme280_spi/test.esp32-c3-idf.yaml b/tests/components/bme280_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/bme280_spi/test.esp32-c3-idf.yaml +++ b/tests/components/bme280_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp32-idf.yaml b/tests/components/bme280_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/bme280_spi/test.esp32-idf.yaml +++ b/tests/components/bme280_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bme280_spi/test.esp8266-ard.yaml b/tests/components/bme280_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/bme280_spi/test.esp8266-ard.yaml +++ b/tests/components/bme280_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bme280_spi/test.rp2040-ard.yaml b/tests/components/bme280_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/bme280_spi/test.rp2040-ard.yaml +++ b/tests/components/bme280_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bme680/common.yaml b/tests/components/bme680/common.yaml index 13a42488f2..d5a7267060 100644 --- a/tests/components/bme680/common.yaml +++ b/tests/components/bme680/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bme680 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bme680 + i2c_id: i2c_bus temperature: name: BME680 Temperature oversampling: 16x diff --git a/tests/components/bme680/test.esp32-c3-idf.yaml b/tests/components/bme680/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bme680/test.esp32-c3-idf.yaml +++ b/tests/components/bme680/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme680/test.esp32-idf.yaml b/tests/components/bme680/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bme680/test.esp32-idf.yaml +++ b/tests/components/bme680/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme680/test.esp8266-ard.yaml b/tests/components/bme680/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme680/test.esp8266-ard.yaml +++ b/tests/components/bme680/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme680/test.rp2040-ard.yaml b/tests/components/bme680/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bme680/test.rp2040-ard.yaml +++ b/tests/components/bme680/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme680_bsec/common.yaml b/tests/components/bme680_bsec/common.yaml index 7d2e9e210b..1a78ab2ae0 100644 --- a/tests/components/bme680_bsec/common.yaml +++ b/tests/components/bme680_bsec/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_bme680 - scl: ${scl_pin} - sda: ${sda_pin} - bme680_bsec: + i2c_id: i2c_bus address: 0x77 sensor: diff --git a/tests/components/bme680_bsec/test.esp32-ard.yaml b/tests/components/bme680_bsec/test.esp32-ard.yaml index 3b761d3fc1..7c503b0ccb 100644 --- a/tests/components/bme680_bsec/test.esp32-ard.yaml +++ b/tests/components/bme680_bsec/test.esp32-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme680_bsec/test.esp8266-ard.yaml b/tests/components/bme680_bsec/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme680_bsec/test.esp8266-ard.yaml +++ b/tests/components/bme680_bsec/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/common.yaml b/tests/components/bme68x_bsec2_i2c/common.yaml index b8a16ee7bb..bee964f433 100644 --- a/tests/components/bme68x_bsec2_i2c/common.yaml +++ b/tests/components/bme68x_bsec2_i2c/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_bme68x - scl: ${scl_pin} - sda: ${sda_pin} - bme68x_bsec2_i2c: + i2c_id: i2c_bus address: 0x76 model: bme688 algorithm_output: classification diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml index 84a9dd4bb4..9990d96d29 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO6 - sda_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml index 63c3bd6afd..54f59a59fc 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-s2-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s2-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml b/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml index 63c3bd6afd..0fd8684a2c 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp32-s3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml b/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml +++ b/tests/components/bme68x_bsec2_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/common.yaml b/tests/components/bmi160/common.yaml index 6aa9aa6ed0..7375732db2 100644 --- a/tests/components/bmi160/common.yaml +++ b/tests/components/bmi160/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bmi160 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmi160 + i2c_id: i2c_bus address: 0x68 acceleration_x: name: BMI160 Accel X diff --git a/tests/components/bmi160/test.esp32-c3-idf.yaml b/tests/components/bmi160/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmi160/test.esp32-c3-idf.yaml +++ b/tests/components/bmi160/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/test.esp32-idf.yaml b/tests/components/bmi160/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bmi160/test.esp32-idf.yaml +++ b/tests/components/bmi160/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/test.esp8266-ard.yaml b/tests/components/bmi160/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmi160/test.esp8266-ard.yaml +++ b/tests/components/bmi160/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmi160/test.rp2040-ard.yaml b/tests/components/bmi160/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmi160/test.rp2040-ard.yaml +++ b/tests/components/bmi160/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/common.yaml b/tests/components/bmp085/common.yaml index 219bc51fbb..ad358f4409 100644 --- a/tests/components/bmp085/common.yaml +++ b/tests/components/bmp085/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bmp085 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp085 + i2c_id: i2c_bus temperature: name: Outside Temperature pressure: diff --git a/tests/components/bmp085/test.esp32-c3-idf.yaml b/tests/components/bmp085/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp085/test.esp32-c3-idf.yaml +++ b/tests/components/bmp085/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/test.esp32-idf.yaml b/tests/components/bmp085/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bmp085/test.esp32-idf.yaml +++ b/tests/components/bmp085/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/test.esp8266-ard.yaml b/tests/components/bmp085/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp085/test.esp8266-ard.yaml +++ b/tests/components/bmp085/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp085/test.rp2040-ard.yaml b/tests/components/bmp085/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp085/test.rp2040-ard.yaml +++ b/tests/components/bmp085/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/common.yaml b/tests/components/bmp280_i2c/common.yaml index edf52b2cd4..785343de7d 100644 --- a/tests/components/bmp280_i2c/common.yaml +++ b/tests/components/bmp280_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_bmp280 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp280_i2c - i2c_id: i2c_bmp280 + i2c_id: i2c_bus address: 0x77 temperature: id: bmp280_temperature diff --git a/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml b/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bmp280_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp32-idf.yaml b/tests/components/bmp280_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bmp280_i2c/test.esp32-idf.yaml +++ b/tests/components/bmp280_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.esp8266-ard.yaml b/tests/components/bmp280_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp280_i2c/test.esp8266-ard.yaml +++ b/tests/components/bmp280_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_i2c/test.rp2040-ard.yaml b/tests/components/bmp280_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp280_i2c/test.rp2040-ard.yaml +++ b/tests/components/bmp280_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_spi/common.yaml b/tests/components/bmp280_spi/common.yaml index 798804de5b..fa88967ca4 100644 --- a/tests/components/bmp280_spi/common.yaml +++ b/tests/components/bmp280_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_bmp280 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: bmp280_spi - spi_id: spi_bmp280 cs_pin: ${cs_pin} temperature: id: bmp280_temperature diff --git a/tests/components/bmp280_spi/test.esp32-c3-idf.yaml b/tests/components/bmp280_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/bmp280_spi/test.esp32-c3-idf.yaml +++ b/tests/components/bmp280_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp32-idf.yaml b/tests/components/bmp280_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/bmp280_spi/test.esp32-idf.yaml +++ b/tests/components/bmp280_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.esp8266-ard.yaml b/tests/components/bmp280_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/bmp280_spi/test.esp8266-ard.yaml +++ b/tests/components/bmp280_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp280_spi/test.rp2040-ard.yaml b/tests/components/bmp280_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/bmp280_spi/test.rp2040-ard.yaml +++ b/tests/components/bmp280_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/common.yaml b/tests/components/bmp3xx_i2c/common.yaml index 6641b7a1b8..ebc4921b84 100644 --- a/tests/components/bmp3xx_i2c/common.yaml +++ b/tests/components/bmp3xx_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_bmp3xx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp3xx_i2c - i2c_id: i2c_bmp3xx + i2c_id: i2c_bus address: 0x77 temperature: name: BMP Temperature diff --git a/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml b/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/bmp3xx_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp32-idf.yaml b/tests/components/bmp3xx_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/bmp3xx_i2c/test.esp32-idf.yaml +++ b/tests/components/bmp3xx_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml b/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml +++ b/tests/components/bmp3xx_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml b/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml +++ b/tests/components/bmp3xx_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/common.yaml b/tests/components/bmp3xx_spi/common.yaml index 8d5f897661..d6acef1833 100644 --- a/tests/components/bmp3xx_spi/common.yaml +++ b/tests/components/bmp3xx_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_bmp3xx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: bmp3xx_spi - spi_id: spi_bmp3xx cs_pin: ${cs_pin} temperature: name: BMP Temperature diff --git a/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml b/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml +++ b/tests/components/bmp3xx_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp32-idf.yaml b/tests/components/bmp3xx_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/bmp3xx_spi/test.esp32-idf.yaml +++ b/tests/components/bmp3xx_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.esp8266-ard.yaml b/tests/components/bmp3xx_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/bmp3xx_spi/test.esp8266-ard.yaml +++ b/tests/components/bmp3xx_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp3xx_spi/test.rp2040-ard.yaml b/tests/components/bmp3xx_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/bmp3xx_spi/test.rp2040-ard.yaml +++ b/tests/components/bmp3xx_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/bmp581/common.yaml b/tests/components/bmp581/common.yaml index 71ad4bfb1a..250b1f5857 100644 --- a/tests/components/bmp581/common.yaml +++ b/tests/components/bmp581/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_bmp581 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: bmp581 + i2c_id: i2c_bus temperature: name: BMP581 Temperature iir_filter: 2x diff --git a/tests/components/bmp581/test.esp32-c3-idf.yaml b/tests/components/bmp581/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/bmp581/test.esp32-c3-idf.yaml +++ b/tests/components/bmp581/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp581/test.esp32-idf.yaml b/tests/components/bmp581/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/bmp581/test.esp32-idf.yaml +++ b/tests/components/bmp581/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/bmp581/test.esp8266-ard.yaml b/tests/components/bmp581/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/bmp581/test.esp8266-ard.yaml +++ b/tests/components/bmp581/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/bmp581/test.rp2040-ard.yaml b/tests/components/bmp581/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/bmp581/test.rp2040-ard.yaml +++ b/tests/components/bmp581/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp32-idf.yaml b/tests/components/bp1658cj/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/bp1658cj/test.esp32-idf.yaml +++ b/tests/components/bp1658cj/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/bp1658cj/test.esp8266-ard.yaml b/tests/components/bp1658cj/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/bp1658cj/test.esp8266-ard.yaml +++ b/tests/components/bp1658cj/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp32-idf.yaml b/tests/components/bp5758d/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/bp5758d/test.esp32-idf.yaml +++ b/tests/components/bp5758d/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/bp5758d/test.esp8266-ard.yaml b/tests/components/bp5758d/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/bp5758d/test.esp8266-ard.yaml +++ b/tests/components/bp5758d/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/camera/common.yaml b/tests/components/camera/common.yaml index 3daf1e8565..76cca4cf94 100644 --- a/tests/components/camera/common.yaml +++ b/tests/components/camera/common.yaml @@ -1,18 +1,2 @@ -esphome: - includes: - - ../../../esphome/components/camera/ - -script: - - id: interface_compile_check - then: - - lambda: |- - using namespace esphome::camera; - class MockCamera : public Camera { - public: - void add_image_callback(std::function)> &&callback) override {} - CameraImageReader *create_image_reader() override { return 0; } - void request_image(CameraRequester requester) override {} - void start_stream(CameraRequester requester) override {} - void stop_stream(CameraRequester requester) override {} - }; - MockCamera* camera = new MockCamera(); +# Camera is a base component auto-loaded by esp32_camera +# The hardware configuration comes from the camera package diff --git a/tests/components/camera/test.esp32-idf.yaml b/tests/components/camera/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/camera/test.esp32-idf.yaml +++ b/tests/components/camera/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/camera_encoder/test.esp32-idf.yaml b/tests/components/camera_encoder/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/camera_encoder/test.esp32-idf.yaml +++ b/tests/components/camera_encoder/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/canbus/test.esp32-idf.yaml b/tests/components/canbus/test.esp32-idf.yaml index dade44d145..2d29656c94 100644 --- a/tests/components/canbus/test.esp32-idf.yaml +++ b/tests/components/canbus/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/common.yaml b/tests/components/cap1188/common.yaml index e83bf5d5d2..3e4ed972ff 100644 --- a/tests/components/cap1188/common.yaml +++ b/tests/components/cap1188/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_cap1188 - scl: ${scl_pin} - sda: ${sda_pin} - cap1188: id: cap1188_component + i2c_id: i2c_bus address: 0x29 reset_pin: ${reset_pin} touch_threshold: 0x20 diff --git a/tests/components/cap1188/test.esp32-c3-idf.yaml b/tests/components/cap1188/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/cap1188/test.esp32-c3-idf.yaml +++ b/tests/components/cap1188/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/test.esp32-idf.yaml b/tests/components/cap1188/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/cap1188/test.esp32-idf.yaml +++ b/tests/components/cap1188/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/test.esp8266-ard.yaml b/tests/components/cap1188/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/cap1188/test.esp8266-ard.yaml +++ b/tests/components/cap1188/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cap1188/test.rp2040-ard.yaml b/tests/components/cap1188/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/cap1188/test.rp2040-ard.yaml +++ b/tests/components/cap1188/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ccs811/common.yaml b/tests/components/ccs811/common.yaml index a781996c66..0d912fd3ac 100644 --- a/tests/components/ccs811/common.yaml +++ b/tests/components/ccs811/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ccs811 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ccs811 + i2c_id: i2c_bus eco2: name: CCS811 eCO2 tvoc: diff --git a/tests/components/ccs811/test.esp32-c3-idf.yaml b/tests/components/ccs811/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ccs811/test.esp32-c3-idf.yaml +++ b/tests/components/ccs811/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ccs811/test.esp32-idf.yaml b/tests/components/ccs811/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ccs811/test.esp32-idf.yaml +++ b/tests/components/ccs811/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ccs811/test.esp8266-ard.yaml b/tests/components/ccs811/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ccs811/test.esp8266-ard.yaml +++ b/tests/components/ccs811/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ccs811/test.rp2040-ard.yaml b/tests/components/ccs811/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ccs811/test.rp2040-ard.yaml +++ b/tests/components/ccs811/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/common.yaml b/tests/components/ch422g/common.yaml index d65956ecac..ad3707eee0 100644 --- a/tests/components/ch422g/common.yaml +++ b/tests/components/ch422g/common.yaml @@ -1,5 +1,6 @@ ch422g: - id: ch422g_hub + i2c_id: i2c_bus binary_sensor: - platform: gpio diff --git a/tests/components/ch422g/test.esp32-c3-idf.yaml b/tests/components/ch422g/test.esp32-c3-idf.yaml index cd822cb308..9990d96d29 100644 --- a/tests/components/ch422g/test.esp32-c3-idf.yaml +++ b/tests/components/ch422g/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/test.esp32-idf.yaml b/tests/components/ch422g/test.esp32-idf.yaml index cd3f1bbeef..b47e39c389 100644 --- a/tests/components/ch422g/test.esp32-idf.yaml +++ b/tests/components/ch422g/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 16 - sda: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/test.esp8266-ard.yaml b/tests/components/ch422g/test.esp8266-ard.yaml index cd822cb308..4a98b9388a 100644 --- a/tests/components/ch422g/test.esp8266-ard.yaml +++ b/tests/components/ch422g/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ch422g/test.rp2040-ard.yaml b/tests/components/ch422g/test.rp2040-ard.yaml index cd822cb308..319a7c71a6 100644 --- a/tests/components/ch422g/test.rp2040-ard.yaml +++ b/tests/components/ch422g/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ch422g - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/chsc6x/test.esp32-c3-idf.yaml b/tests/components/chsc6x/test.esp32-c3-idf.yaml index b0f55eb2e6..f32f147a44 100644 --- a/tests/components/chsc6x/test.esp32-c3-idf.yaml +++ b/tests/components/chsc6x/test.esp32-c3-idf.yaml @@ -1,19 +1,14 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 9 - -spi: - clk_pin: 5 - mosi_pin: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml display: - platform: ili9xxx id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 18 - dc_pin: 19 + cs_pin: 10 + dc_pin: 6 pages: - id: page1 lambda: |- diff --git a/tests/components/chsc6x/test.esp32-idf.yaml b/tests/components/chsc6x/test.esp32-idf.yaml index 9bc58b66f6..ea3686d8bd 100644 --- a/tests/components/chsc6x/test.esp32-idf.yaml +++ b/tests/components/chsc6x/test.esp32-idf.yaml @@ -1,19 +1,14 @@ -i2c: - - id: i2c_chsc6x - scl: 3 - sda: 21 - -spi: - clk_pin: 16 - mosi_pin: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml display: - platform: ili9xxx id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 18 - dc_pin: 19 + cs_pin: 22 + dc_pin: 21 pages: - id: page1 lambda: |- diff --git a/tests/components/chsc6x/test.rp2040-ard.yaml b/tests/components/chsc6x/test.rp2040-ard.yaml index dbd0d59fc4..89cc1b7477 100644 --- a/tests/components/chsc6x/test.rp2040-ard.yaml +++ b/tests/components/chsc6x/test.rp2040-ard.yaml @@ -1,19 +1,14 @@ -i2c: - - id: i2c_chsc6x - scl: 1 - sda: 0 - -spi: - clk_pin: 2 - mosi_pin: 3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml display: - platform: ili9xxx id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 18 - dc_pin: 19 + cs_pin: 20 + dc_pin: 21 pages: - id: page1 lambda: |- @@ -22,4 +17,4 @@ display: touchscreen: - platform: chsc6x display: ili9xxx_display - interrupt_pin: 20 + interrupt_pin: 22 diff --git a/tests/components/cm1106/common.yaml b/tests/components/cm1106/common.yaml index a01e78024e..ed2fd67007 100644 --- a/tests/components/cm1106/common.yaml +++ b/tests/components/cm1106/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_cm1106 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: cm1106 co2: diff --git a/tests/components/cm1106/test.esp32-c3-idf.yaml b/tests/components/cm1106/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/cm1106/test.esp32-c3-idf.yaml +++ b/tests/components/cm1106/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cm1106/test.esp32-idf.yaml b/tests/components/cm1106/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/cm1106/test.esp32-idf.yaml +++ b/tests/components/cm1106/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/cm1106/test.esp8266-ard.yaml b/tests/components/cm1106/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/cm1106/test.esp8266-ard.yaml +++ b/tests/components/cm1106/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/cm1106/test.rp2040-ard.yaml b/tests/components/cm1106/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/cm1106/test.rp2040-ard.yaml +++ b/tests/components/cm1106/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/const/common.yaml b/tests/components/const/common.yaml index f4b15f2b90..109db65b63 100644 --- a/tests/components/const/common.yaml +++ b/tests/components/const/common.yaml @@ -1,9 +1,3 @@ -spi: - id: quad_spi - clk_pin: 15 - type: quad - data_pins: [14, 10, 16, 12] - display: - platform: qspi_dbi model: RM690B0 diff --git a/tests/components/const/test.esp32-s3-idf.yaml b/tests/components/const/test.esp32-s3-idf.yaml index dade44d145..c335dee1f3 100644 --- a/tests/components/const/test.esp32-s3-idf.yaml +++ b/tests/components/const/test.esp32-s3-idf.yaml @@ -1 +1,4 @@ +packages: + qspi: !include ../../test_build_components/common/qspi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cs5460a/common.yaml b/tests/components/cs5460a/common.yaml index d97b01716b..9ecd934eda 100644 --- a/tests/components/cs5460a/common.yaml +++ b/tests/components/cs5460a/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_cs5460a - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: cs5460a id: cs5460a1 diff --git a/tests/components/cs5460a/test.esp32-c3-idf.yaml b/tests/components/cs5460a/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/cs5460a/test.esp32-c3-idf.yaml +++ b/tests/components/cs5460a/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp32-idf.yaml b/tests/components/cs5460a/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/cs5460a/test.esp32-idf.yaml +++ b/tests/components/cs5460a/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cs5460a/test.esp8266-ard.yaml b/tests/components/cs5460a/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/cs5460a/test.esp8266-ard.yaml +++ b/tests/components/cs5460a/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cs5460a/test.rp2040-ard.yaml b/tests/components/cs5460a/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/cs5460a/test.rp2040-ard.yaml +++ b/tests/components/cs5460a/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7761/common.yaml b/tests/components/cse7761/common.yaml index 60cce3864a..77b19957b4 100644 --- a/tests/components/cse7761/common.yaml +++ b/tests/components/cse7761/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_cse7761 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 38400 - sensor: - platform: cse7761 voltage: diff --git a/tests/components/cse7761/test.esp32-c3-idf.yaml b/tests/components/cse7761/test.esp32-c3-idf.yaml index c79d14c740..4e11c6e7cb 100644 --- a/tests/components/cse7761/test.esp32-c3-idf.yaml +++ b/tests/components/cse7761/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cse7761/test.esp32-idf.yaml b/tests/components/cse7761/test.esp32-idf.yaml index 811f6b72a6..a6a8fee7e9 100644 --- a/tests/components/cse7761/test.esp32-idf.yaml +++ b/tests/components/cse7761/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/cse7761/test.esp8266-ard.yaml b/tests/components/cse7761/test.esp8266-ard.yaml index 3b44f9c9c3..134274ffb8 100644 --- a/tests/components/cse7761/test.esp8266-ard.yaml +++ b/tests/components/cse7761/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7761/test.rp2040-ard.yaml b/tests/components/cse7761/test.rp2040-ard.yaml index b516342f3b..b813e0f7f1 100644 --- a/tests/components/cse7761/test.rp2040-ard.yaml +++ b/tests/components/cse7761/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_38400: !include ../../test_build_components/common/uart_38400/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7766/common.yaml b/tests/components/cse7766/common.yaml index f12b135a77..6db19691f1 100644 --- a/tests/components/cse7766/common.yaml +++ b/tests/components/cse7766/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_cse7766 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 4800 - parity: EVEN - sensor: - platform: cse7766 voltage: diff --git a/tests/components/cse7766/test.esp32-c3-idf.yaml b/tests/components/cse7766/test.esp32-c3-idf.yaml index c79d14c740..dc95c985c7 100644 --- a/tests/components/cse7766/test.esp32-c3-idf.yaml +++ b/tests/components/cse7766/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cse7766/test.esp32-idf.yaml b/tests/components/cse7766/test.esp32-idf.yaml index 811f6b72a6..911b867708 100644 --- a/tests/components/cse7766/test.esp32-idf.yaml +++ b/tests/components/cse7766/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/cse7766/test.esp8266-ard.yaml b/tests/components/cse7766/test.esp8266-ard.yaml index 3b44f9c9c3..77e529ca48 100644 --- a/tests/components/cse7766/test.esp8266-ard.yaml +++ b/tests/components/cse7766/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cse7766/test.rp2040-ard.yaml b/tests/components/cse7766/test.rp2040-ard.yaml index b516342f3b..b7056670ef 100644 --- a/tests/components/cse7766/test.rp2040-ard.yaml +++ b/tests/components/cse7766/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_4800_even: !include ../../test_build_components/common/uart_4800_even/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cst226/common.yaml b/tests/components/cst226/common.yaml index d0b8ea3a86..79d7e7fd53 100644 --- a/tests/components/cst226/common.yaml +++ b/tests/components/cst226/common.yaml @@ -1,15 +1,5 @@ -i2c: - - id: i2c_cst226 - scl: ${scl_pin} - sda: ${sda_pin} - -spi: - - id: spi_ili9xxx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - - id: my_display + - id: cst226_display platform: ili9xxx model: ili9342 cs_pin: ${cs_pin} @@ -19,7 +9,9 @@ display: touchscreen: - id: ts_cst226 + i2c_id: i2c_bus platform: cst226 + display: cst226_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} diff --git a/tests/components/cst226/test.esp32-c3-idf.yaml b/tests/components/cst226/test.esp32-c3-idf.yaml index 2f9bd72882..ffc12867d0 100644 --- a/tests/components/cst226/test.esp32-c3-idf.yaml +++ b/tests/components/cst226/test.esp32-c3-idf.yaml @@ -1,12 +1,11 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 + cs_pin: GPIO7 dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 + disp_reset_pin: GPIO18 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cst226/test.esp32-idf.yaml b/tests/components/cst226/test.esp32-idf.yaml index 11e2c4fd43..984f08db47 100644 --- a/tests/components/cst226/test.esp32-idf.yaml +++ b/tests/components/cst226/test.esp32-idf.yaml @@ -1,12 +1,12 @@ substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 cs_pin: GPIO4 dc_pin: GPIO5 disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO25 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/cst816/common.yaml b/tests/components/cst816/common.yaml index 9400e4eef0..889a477dd2 100644 --- a/tests/components/cst816/common.yaml +++ b/tests/components/cst816/common.yaml @@ -1,15 +1,5 @@ -i2c: - - id: i2c_cst816 - scl: ${scl_pin} - sda: ${sda_pin} - -spi: - - id: spi_ili9xxx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - - id: my_display + - id: cst816_display platform: ili9xxx dimensions: 480x320 model: ST7796 @@ -25,7 +15,9 @@ display: touchscreen: - id: ts_cst816 + i2c_id: i2c_bus platform: cst816 + display: cst816_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} skip_probe: false @@ -36,6 +28,7 @@ touchscreen: binary_sensor: - platform: touchscreen + touchscreen_id: ts_cst816 name: Home Button use_raw: true x_min: 0 diff --git a/tests/components/cst816/test.esp32-c3-idf.yaml b/tests/components/cst816/test.esp32-c3-idf.yaml index 2f9bd72882..ffc12867d0 100644 --- a/tests/components/cst816/test.esp32-c3-idf.yaml +++ b/tests/components/cst816/test.esp32-c3-idf.yaml @@ -1,12 +1,11 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO8 + cs_pin: GPIO7 dc_pin: GPIO9 - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 + disp_reset_pin: GPIO18 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/cst816/test.esp32-idf.yaml b/tests/components/cst816/test.esp32-idf.yaml index 11e2c4fd43..984f08db47 100644 --- a/tests/components/cst816/test.esp32-idf.yaml +++ b/tests/components/cst816/test.esp32-idf.yaml @@ -1,12 +1,12 @@ substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 cs_pin: GPIO4 dc_pin: GPIO5 disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO25 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/current_based/common.yaml b/tests/components/current_based/common.yaml index 25dc9671b7..503c4596e9 100644 --- a/tests/components/current_based/common.yaml +++ b/tests/components/current_based/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ade7953 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ade7953_i2c + i2c_id: i2c_bus irq_pin: ${irq_pin} voltage: name: ADE7953 Voltage diff --git a/tests/components/current_based/test.esp32-c3-idf.yaml b/tests/components/current_based/test.esp32-c3-idf.yaml index 799acabd5a..59296a1e6e 100644 --- a/tests/components/current_based/test.esp32-c3-idf.yaml +++ b/tests/components/current_based/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/current_based/test.esp32-idf.yaml b/tests/components/current_based/test.esp32-idf.yaml index 2c57d412f6..49629536e7 100644 --- a/tests/components/current_based/test.esp32-idf.yaml +++ b/tests/components/current_based/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/current_based/test.esp8266-ard.yaml b/tests/components/current_based/test.esp8266-ard.yaml index c8e6a43f44..dc7609ab37 100644 --- a/tests/components/current_based/test.esp8266-ard.yaml +++ b/tests/components/current_based/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/current_based/test.rp2040-ard.yaml b/tests/components/current_based/test.rp2040-ard.yaml index 799acabd5a..b80562ad22 100644 --- a/tests/components/current_based/test.rp2040-ard.yaml +++ b/tests/components/current_based/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/cwww/common.yaml b/tests/components/cwww/common.yaml index 0ad5beeaae..7fa5ab668c 100644 --- a/tests/components/cwww/common.yaml +++ b/tests/components/cwww/common.yaml @@ -1,11 +1,3 @@ -output: - - platform: ${light_platform} - id: light_output_1 - pin: ${pin_o1} - - platform: ${light_platform} - id: light_output_2 - pin: ${pin_o2} - light: - platform: cwww name: CWWW Light diff --git a/tests/components/cwww/test.esp32-c3-idf.yaml b/tests/components/cwww/test.esp32-c3-idf.yaml index 982394ded6..51571b34cf 100644 --- a/tests/components/cwww/test.esp32-c3-idf.yaml +++ b/tests/components/cwww/test.esp32-c3-idf.yaml @@ -3,12 +3,15 @@ substitutions: pin_o1: GPIO6 pin_o2: GPIO7 -packages: - device_base: !include common.yaml - output: - - id: !extend light_output_1 + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} channel: 0 - - id: !extend light_output_2 + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} channel: 1 phase_angle: 180° + +<<: !include common.yaml diff --git a/tests/components/cwww/test.esp32-idf.yaml b/tests/components/cwww/test.esp32-idf.yaml index d2a998e6b3..01edf0b0b5 100644 --- a/tests/components/cwww/test.esp32-idf.yaml +++ b/tests/components/cwww/test.esp32-idf.yaml @@ -3,12 +3,15 @@ substitutions: pin_o1: GPIO16 pin_o2: GPIO17 -packages: - device_base: !include common.yaml - output: - - id: !extend light_output_1 + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} channel: 0 - - id: !extend light_output_2 + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} channel: 1 phase_angle: 180° + +<<: !include common.yaml diff --git a/tests/components/cwww/test.esp8266-ard.yaml b/tests/components/cwww/test.esp8266-ard.yaml index 75a5b9d64d..49d73b7d3d 100644 --- a/tests/components/cwww/test.esp8266-ard.yaml +++ b/tests/components/cwww/test.esp8266-ard.yaml @@ -3,4 +3,12 @@ substitutions: pin_o1: GPIO12 pin_o2: GPIO13 +output: + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} + <<: !include common.yaml diff --git a/tests/components/cwww/test.rp2040-ard.yaml b/tests/components/cwww/test.rp2040-ard.yaml index 537177aca1..ba8e0ad071 100644 --- a/tests/components/cwww/test.rp2040-ard.yaml +++ b/tests/components/cwww/test.rp2040-ard.yaml @@ -3,4 +3,12 @@ substitutions: pin_o1: GPIO12 pin_o2: GPIO13 +output: + - platform: ${light_platform} + id: light_output_1 + pin: ${pin_o1} + - platform: ${light_platform} + id: light_output_2 + pin: ${pin_o2} + <<: !include common.yaml diff --git a/tests/components/dac7678/common.yaml b/tests/components/dac7678/common.yaml index efad81a5ff..6c9c032686 100644 --- a/tests/components/dac7678/common.yaml +++ b/tests/components/dac7678/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_dac7678 - scl: ${scl_pin} - sda: ${sda_pin} - dac7678: + i2c_id: i2c_bus address: 0x4A id: dac7678_hub internal_reference: true diff --git a/tests/components/dac7678/test.esp32-c3-idf.yaml b/tests/components/dac7678/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/dac7678/test.esp32-c3-idf.yaml +++ b/tests/components/dac7678/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dac7678/test.esp32-idf.yaml b/tests/components/dac7678/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/dac7678/test.esp32-idf.yaml +++ b/tests/components/dac7678/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/dac7678/test.esp8266-ard.yaml b/tests/components/dac7678/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/dac7678/test.esp8266-ard.yaml +++ b/tests/components/dac7678/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/dac7678/test.rp2040-ard.yaml b/tests/components/dac7678/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/dac7678/test.rp2040-ard.yaml +++ b/tests/components/dac7678/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/daikin_arc/test.esp8266-ard.yaml b/tests/components/daikin_arc/test.esp8266-ard.yaml index 8e08490d0c..5698a7ef5f 100644 --- a/tests/components/daikin_arc/test.esp8266-ard.yaml +++ b/tests/components/daikin_arc/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO5 - rx_pin: GPIO4 + tx_pin: GPIO0 + rx_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/dallas_temp/common.yaml b/tests/components/dallas_temp/common.yaml index fb51f4818e..6d865d8e93 100644 --- a/tests/components/dallas_temp/common.yaml +++ b/tests/components/dallas_temp/common.yaml @@ -1,6 +1,6 @@ one_wire: - platform: gpio - pin: 4 + pin: ${one_wire_pin} sensor: - platform: dallas_temp diff --git a/tests/components/dallas_temp/test.esp32-c3-idf.yaml b/tests/components/dallas_temp/test.esp32-c3-idf.yaml index dade44d145..49bf988eb4 100644 --- a/tests/components/dallas_temp/test.esp32-c3-idf.yaml +++ b/tests/components/dallas_temp/test.esp32-c3-idf.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "4" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp32-idf.yaml b/tests/components/dallas_temp/test.esp32-idf.yaml index dade44d145..7f9a7d4c2c 100644 --- a/tests/components/dallas_temp/test.esp32-idf.yaml +++ b/tests/components/dallas_temp/test.esp32-idf.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "4" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dallas_temp/test.esp8266-ard.yaml b/tests/components/dallas_temp/test.esp8266-ard.yaml index dade44d145..f58b3e0ff3 100644 --- a/tests/components/dallas_temp/test.esp8266-ard.yaml +++ b/tests/components/dallas_temp/test.esp8266-ard.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "13" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dallas_temp/test.rp2040-ard.yaml b/tests/components/dallas_temp/test.rp2040-ard.yaml index dade44d145..d86645aa64 100644 --- a/tests/components/dallas_temp/test.rp2040-ard.yaml +++ b/tests/components/dallas_temp/test.rp2040-ard.yaml @@ -1 +1,7 @@ +substitutions: + one_wire_pin: "10" + +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/daly_bms/common.yaml b/tests/components/daly_bms/common.yaml index a4cb849f9f..222999e25e 100644 --- a/tests/components/daly_bms/common.yaml +++ b/tests/components/daly_bms/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_daly_bms - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 4800 - daly_bms: update_interval: 20s diff --git a/tests/components/daly_bms/test.esp32-c3-idf.yaml b/tests/components/daly_bms/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/daly_bms/test.esp32-c3-idf.yaml +++ b/tests/components/daly_bms/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp32-idf.yaml b/tests/components/daly_bms/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/daly_bms/test.esp32-idf.yaml +++ b/tests/components/daly_bms/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/daly_bms/test.esp8266-ard.yaml b/tests/components/daly_bms/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/daly_bms/test.esp8266-ard.yaml +++ b/tests/components/daly_bms/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/daly_bms/test.rp2040-ard.yaml b/tests/components/daly_bms/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/daly_bms/test.rp2040-ard.yaml +++ b/tests/components/daly_bms/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfplayer/common.yaml b/tests/components/dfplayer/common.yaml index d7446141c3..5d2540c275 100644 --- a/tests/components/dfplayer/common.yaml +++ b/tests/components/dfplayer/common.yaml @@ -26,12 +26,6 @@ esphome: - dfplayer.volume_down - dfplayer.sleep -uart: - - id: uart_dfplayer - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - dfplayer: on_finished_playback: then: diff --git a/tests/components/dfplayer/test.esp32-c3-idf.yaml b/tests/components/dfplayer/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/dfplayer/test.esp32-c3-idf.yaml +++ b/tests/components/dfplayer/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp32-idf.yaml b/tests/components/dfplayer/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/dfplayer/test.esp32-idf.yaml +++ b/tests/components/dfplayer/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dfplayer/test.esp8266-ard.yaml b/tests/components/dfplayer/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/dfplayer/test.esp8266-ard.yaml +++ b/tests/components/dfplayer/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfplayer/test.rp2040-ard.yaml b/tests/components/dfplayer/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/dfplayer/test.rp2040-ard.yaml +++ b/tests/components/dfplayer/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/common.yaml b/tests/components/dfrobot_sen0395/common.yaml index 8c349911d3..7f980574ed 100644 --- a/tests/components/dfrobot_sen0395/common.yaml +++ b/tests/components/dfrobot_sen0395/common.yaml @@ -14,12 +14,6 @@ esphome: sensitivity: 6 - dfrobot_sen0395.reset -uart: - - id: uart_dfrobot_sen0395 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - dfrobot_sen0395: - id: mmwave diff --git a/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml b/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml index c79d14c740..4b7c8351a7 100644 --- a/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml +++ b/tests/components/dfrobot_sen0395/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO7 - rx_pin: GPIO8 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp32-idf.yaml b/tests/components/dfrobot_sen0395/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/dfrobot_sen0395/test.esp32-idf.yaml +++ b/tests/components/dfrobot_sen0395/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml b/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml +++ b/tests/components/dfrobot_sen0395/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml b/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml +++ b/tests/components/dfrobot_sen0395/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dht12/common.yaml b/tests/components/dht12/common.yaml index 91346e0e27..2602ae13cf 100644 --- a/tests/components/dht12/common.yaml +++ b/tests/components/dht12/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_dht12 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: dht12 + i2c_id: i2c_bus temperature: name: DHT12 Temperature humidity: diff --git a/tests/components/dht12/test.esp32-c3-idf.yaml b/tests/components/dht12/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/dht12/test.esp32-c3-idf.yaml +++ b/tests/components/dht12/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dht12/test.esp32-idf.yaml b/tests/components/dht12/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/dht12/test.esp32-idf.yaml +++ b/tests/components/dht12/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/dht12/test.esp8266-ard.yaml b/tests/components/dht12/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/dht12/test.esp8266-ard.yaml +++ b/tests/components/dht12/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/dht12/test.rp2040-ard.yaml b/tests/components/dht12/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/dht12/test.rp2040-ard.yaml +++ b/tests/components/dht12/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/display/common.yaml b/tests/components/display/common.yaml index 4fc4fafa25..27abb23e03 100644 --- a/tests/components/display/common.yaml +++ b/tests/components/display/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 - display: - platform: ili9xxx id: main_lcd diff --git a/tests/components/dps310/common.yaml b/tests/components/dps310/common.yaml index e6c0c9fab8..847a79f2e6 100644 --- a/tests/components/dps310/common.yaml +++ b/tests/components/dps310/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_dps310 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: dps310 + i2c_id: i2c_bus temperature: name: DPS310 Temperature pressure: diff --git a/tests/components/dps310/test.esp32-c3-idf.yaml b/tests/components/dps310/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/dps310/test.esp32-c3-idf.yaml +++ b/tests/components/dps310/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/dps310/test.esp32-idf.yaml b/tests/components/dps310/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/dps310/test.esp32-idf.yaml +++ b/tests/components/dps310/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/dps310/test.esp8266-ard.yaml b/tests/components/dps310/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/dps310/test.esp8266-ard.yaml +++ b/tests/components/dps310/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/dps310/test.rp2040-ard.yaml b/tests/components/dps310/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/dps310/test.rp2040-ard.yaml +++ b/tests/components/dps310/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/common.yaml b/tests/components/ds1307/common.yaml index 3466a9eec8..cdd2b9cf56 100644 --- a/tests/components/ds1307/common.yaml +++ b/tests/components/ds1307/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ds1307 - scl: ${scl_pin} - sda: ${sda_pin} - time: - platform: ds1307 + i2c_id: i2c_bus id: ds1307_time update_interval: never diff --git a/tests/components/ds1307/test.esp32-c3-idf.yaml b/tests/components/ds1307/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ds1307/test.esp32-c3-idf.yaml +++ b/tests/components/ds1307/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/test.esp32-idf.yaml b/tests/components/ds1307/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ds1307/test.esp32-idf.yaml +++ b/tests/components/ds1307/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/test.esp8266-ard.yaml b/tests/components/ds1307/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ds1307/test.esp8266-ard.yaml +++ b/tests/components/ds1307/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds1307/test.rp2040-ard.yaml b/tests/components/ds1307/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ds1307/test.rp2040-ard.yaml +++ b/tests/components/ds1307/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/common.yaml b/tests/components/ds2484/common.yaml index 9d2882a3c0..1e5dcd7dba 100644 --- a/tests/components/ds2484/common.yaml +++ b/tests/components/ds2484/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ds2484 - scl: ${scl_pin} - sda: ${sda_pin} - one_wire: platform: ds2484 - i2c_id: i2c_ds2484 + i2c_id: i2c_bus address: 0x18 active_pullup: true strong_pullup: false diff --git a/tests/components/ds2484/test.esp32-c3-idf.yaml b/tests/components/ds2484/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ds2484/test.esp32-c3-idf.yaml +++ b/tests/components/ds2484/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/test.esp32-idf.yaml b/tests/components/ds2484/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ds2484/test.esp32-idf.yaml +++ b/tests/components/ds2484/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/test.esp8266-ard.yaml b/tests/components/ds2484/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ds2484/test.esp8266-ard.yaml +++ b/tests/components/ds2484/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ds2484/test.rp2040-ard.yaml b/tests/components/ds2484/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ds2484/test.rp2040-ard.yaml +++ b/tests/components/ds2484/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/dsmr/common.yaml b/tests/components/dsmr/common.yaml index 2901b811fe..038bf2806b 100644 --- a/tests/components/dsmr/common.yaml +++ b/tests/components/dsmr/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_dsmr - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - dsmr: decryption_key: 00112233445566778899aabbccddeeff max_telegram_length: 1000 diff --git a/tests/components/dsmr/test.esp32-ard.yaml b/tests/components/dsmr/test.esp32-ard.yaml index 7a65a48ec0..f218b297aa 100644 --- a/tests/components/dsmr/test.esp32-ard.yaml +++ b/tests/components/dsmr/test.esp32-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 request_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp32-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dsmr/test.esp8266-ard.yaml b/tests/components/dsmr/test.esp8266-ard.yaml index a47bd58806..08bcf16fc9 100644 --- a/tests/components/dsmr/test.esp8266-ard.yaml +++ b/tests/components/dsmr/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 request_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/dsmr/test.rp2040-ard.yaml b/tests/components/dsmr/test.rp2040-ard.yaml index 72998506ac..8684cb76aa 100644 --- a/tests/components/dsmr/test.rp2040-ard.yaml +++ b/tests/components/dsmr/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 request_pin: GPIO6 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ee895/common.yaml b/tests/components/ee895/common.yaml index 63d77abcaf..f1b17ca9d9 100644 --- a/tests/components/ee895/common.yaml +++ b/tests/components/ee895/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ee895 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ee895 + i2c_id: i2c_bus address: 0x5F co2: name: EE895 CO2 diff --git a/tests/components/ee895/test.esp32-c3-idf.yaml b/tests/components/ee895/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ee895/test.esp32-c3-idf.yaml +++ b/tests/components/ee895/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ee895/test.esp32-idf.yaml b/tests/components/ee895/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ee895/test.esp32-idf.yaml +++ b/tests/components/ee895/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ee895/test.esp8266-ard.yaml b/tests/components/ee895/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ee895/test.esp8266-ard.yaml +++ b/tests/components/ee895/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ee895/test.rp2040-ard.yaml b/tests/components/ee895/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ee895/test.rp2040-ard.yaml +++ b/tests/components/ee895/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ektf2232/common.yaml b/tests/components/ektf2232/common.yaml index 91f09b4710..8ab57be46f 100644 --- a/tests/components/ektf2232/common.yaml +++ b/tests/components/ektf2232/common.yaml @@ -1,20 +1,18 @@ -i2c: - - id: i2c_ektf2232 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${display_reset_pin} pages: - - id: page1 + - id: ektf2232_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: ektf2232 + i2c_id: i2c_bus + id: ektf2232_touchscreen interrupt_pin: ${interrupt_pin} reset_pin: ${touch_reset_pin} display: ssd1306_display diff --git a/tests/components/ektf2232/test.esp32-c3-idf.yaml b/tests/components/ektf2232/test.esp32-c3-idf.yaml index 4d793a3242..708d352a59 100644 --- a/tests/components/ektf2232/test.esp32-c3-idf.yaml +++ b/tests/components/ektf2232/test.esp32-c3-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 display_reset_pin: GPIO3 interrupt_pin: GPIO6 touch_reset_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp32-idf.yaml b/tests/components/ektf2232/test.esp32-idf.yaml index 7d3f2ca7a2..3fab081bed 100644 --- a/tests/components/ektf2232/test.esp32-idf.yaml +++ b/tests/components/ektf2232/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 display_reset_pin: GPIO13 interrupt_pin: GPIO14 touch_reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ektf2232/test.esp8266-ard.yaml b/tests/components/ektf2232/test.esp8266-ard.yaml index a87e9dfd45..38a3894deb 100644 --- a/tests/components/ektf2232/test.esp8266-ard.yaml +++ b/tests/components/ektf2232/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 display_reset_pin: GPIO3 - interrupt_pin: GPIO12 - touch_reset_pin: GPIO13 + interrupt_pin: GPIO15 + touch_reset_pin: GPIO16 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ektf2232/test.rp2040-ard.yaml b/tests/components/ektf2232/test.rp2040-ard.yaml index 4d793a3242..cda1b67715 100644 --- a/tests/components/ektf2232/test.rp2040-ard.yaml +++ b/tests/components/ektf2232/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 display_reset_pin: GPIO3 interrupt_pin: GPIO6 touch_reset_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/emc2101/common.yaml b/tests/components/emc2101/common.yaml index 795b02c6d3..d9e6fe2b96 100644 --- a/tests/components/emc2101/common.yaml +++ b/tests/components/emc2101/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_emc2101 - scl: ${scl_pin} - sda: ${sda_pin} - emc2101: + i2c_id: i2c_bus pwm: resolution: 8 diff --git a/tests/components/emc2101/test.esp32-c3-idf.yaml b/tests/components/emc2101/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/emc2101/test.esp32-c3-idf.yaml +++ b/tests/components/emc2101/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/emc2101/test.esp32-idf.yaml b/tests/components/emc2101/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/emc2101/test.esp32-idf.yaml +++ b/tests/components/emc2101/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/emc2101/test.esp8266-ard.yaml b/tests/components/emc2101/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/emc2101/test.esp8266-ard.yaml +++ b/tests/components/emc2101/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/emc2101/test.rp2040-ard.yaml b/tests/components/emc2101/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/emc2101/test.rp2040-ard.yaml +++ b/tests/components/emc2101/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/emmeti/test.esp8266-ard.yaml b/tests/components/emmeti/test.esp8266-ard.yaml index 2fb00aea61..1c9baa4ea3 100644 --- a/tests/components/emmeti/test.esp8266-ard.yaml +++ b/tests/components/emmeti/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - remote_transmitter_pin: GPIO4 - remote_receiver_pin: GPIO5 + remote_transmitter_pin: GPIO0 + remote_receiver_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/ens160_i2c/common.yaml b/tests/components/ens160_i2c/common.yaml index 39a5b35067..685c8d3fee 100644 --- a/tests/components/ens160_i2c/common.yaml +++ b/tests/components/ens160_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ens160 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ens160_i2c - i2c_id: i2c_ens160 + i2c_id: i2c_bus address: 0x53 eco2: name: "ENS160 eCO2" diff --git a/tests/components/ens160_i2c/test.esp32-c3-idf.yaml b/tests/components/ens160_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ens160_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ens160_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp32-idf.yaml b/tests/components/ens160_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ens160_i2c/test.esp32-idf.yaml +++ b/tests/components/ens160_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.esp8266-ard.yaml b/tests/components/ens160_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ens160_i2c/test.esp8266-ard.yaml +++ b/tests/components/ens160_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ens160_i2c/test.rp2040-ard.yaml b/tests/components/ens160_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ens160_i2c/test.rp2040-ard.yaml +++ b/tests/components/ens160_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ens160_spi/common.yaml b/tests/components/ens160_spi/common.yaml index c8b663272f..53000a5e96 100644 --- a/tests/components/ens160_spi/common.yaml +++ b/tests/components/ens160_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_ens160 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: ens160_spi - spi_id: spi_ens160 cs_pin: ${cs_pin} eco2: name: "ENS160 eCO2" diff --git a/tests/components/ens160_spi/test.esp32-c3-idf.yaml b/tests/components/ens160_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/ens160_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ens160_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp32-idf.yaml b/tests/components/ens160_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/ens160_spi/test.esp32-idf.yaml +++ b/tests/components/ens160_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ens160_spi/test.esp8266-ard.yaml b/tests/components/ens160_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/ens160_spi/test.esp8266-ard.yaml +++ b/tests/components/ens160_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ens160_spi/test.rp2040-ard.yaml b/tests/components/ens160_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/ens160_spi/test.rp2040-ard.yaml +++ b/tests/components/ens160_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ens210/common.yaml b/tests/components/ens210/common.yaml index b276154449..6bc8f824cc 100644 --- a/tests/components/ens210/common.yaml +++ b/tests/components/ens210/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ens210 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ens210 + i2c_id: i2c_bus temperature: name: ENS210 Temperature humidity: diff --git a/tests/components/ens210/test.esp32-c3-idf.yaml b/tests/components/ens210/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ens210/test.esp32-c3-idf.yaml +++ b/tests/components/ens210/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens210/test.esp32-idf.yaml b/tests/components/ens210/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ens210/test.esp32-idf.yaml +++ b/tests/components/ens210/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ens210/test.esp8266-ard.yaml b/tests/components/ens210/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ens210/test.esp8266-ard.yaml +++ b/tests/components/ens210/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ens210/test.rp2040-ard.yaml b/tests/components/ens210/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ens210/test.rp2040-ard.yaml +++ b/tests/components/ens210/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/epaper_spi/test.esp32-s3-idf.yaml b/tests/components/epaper_spi/test.esp32-s3-idf.yaml index 3d8d62a7ca..34aefb82b4 100644 --- a/tests/components/epaper_spi/test.esp32-s3-idf.yaml +++ b/tests/components/epaper_spi/test.esp32-s3-idf.yaml @@ -1,9 +1,9 @@ -spi: - clk_pin: GPIO7 - mosi_pin: GPIO9 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml display: - platform: epaper_spi + spi_id: spi_bus model: 7.3in-spectra-e6 cs_pin: GPIO5 dc_pin: GPIO17 diff --git a/tests/components/es7210/common.yaml b/tests/components/es7210/common.yaml index 3fab177cb3..b9f0b0c3e9 100644 --- a/tests/components/es7210/common.yaml +++ b/tests/components/es7210/common.yaml @@ -4,13 +4,9 @@ esphome: - audio_adc.set_mic_gain: 0db - audio_adc.set_mic_gain: !lambda 'return 4;' -i2c: - - id: i2c_aic3204 - scl: ${scl_pin} - sda: ${sda_pin} - audio_adc: - platform: es7210 + i2c_id: i2c_bus id: es7210_adc bits_per_sample: 16bit sample_rate: 16000 diff --git a/tests/components/es7210/test.esp32-c3-idf.yaml b/tests/components/es7210/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es7210/test.esp32-c3-idf.yaml +++ b/tests/components/es7210/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es7210/test.esp32-idf.yaml b/tests/components/es7210/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es7210/test.esp32-idf.yaml +++ b/tests/components/es7210/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es7243e/common.yaml b/tests/components/es7243e/common.yaml index 3de76909e9..0fcfb97273 100644 --- a/tests/components/es7243e/common.yaml +++ b/tests/components/es7243e/common.yaml @@ -4,11 +4,7 @@ esphome: - audio_adc.set_mic_gain: 0db - audio_adc.set_mic_gain: !lambda 'return 4;' -i2c: - - id: i2c_es7243e - scl: ${scl_pin} - sda: ${sda_pin} - audio_adc: - platform: es7243e + i2c_id: i2c_bus id: es7243e_adc diff --git a/tests/components/es7243e/test.esp32-c3-idf.yaml b/tests/components/es7243e/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es7243e/test.esp32-c3-idf.yaml +++ b/tests/components/es7243e/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es7243e/test.esp32-idf.yaml b/tests/components/es7243e/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es7243e/test.esp32-idf.yaml +++ b/tests/components/es7243e/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8156/common.yaml b/tests/components/es8156/common.yaml index addaa0b70a..c41a332bd7 100644 --- a/tests/components/es8156/common.yaml +++ b/tests/components/es8156/common.yaml @@ -6,10 +6,6 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_es8156 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: es8156 + i2c_id: i2c_bus diff --git a/tests/components/es8156/test.esp32-c3-idf.yaml b/tests/components/es8156/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es8156/test.esp32-c3-idf.yaml +++ b/tests/components/es8156/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8156/test.esp32-idf.yaml b/tests/components/es8156/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es8156/test.esp32-idf.yaml +++ b/tests/components/es8156/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8156/test.esp8266-ard.yaml b/tests/components/es8156/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/es8156/test.esp8266-ard.yaml +++ b/tests/components/es8156/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/es8311/common.yaml b/tests/components/es8311/common.yaml index d833d1c043..e855761ef4 100644 --- a/tests/components/es8311/common.yaml +++ b/tests/components/es8311/common.yaml @@ -6,10 +6,6 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_aic3204 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: es8311 + i2c_id: i2c_bus diff --git a/tests/components/es8311/test.esp32-c3-idf.yaml b/tests/components/es8311/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es8311/test.esp32-c3-idf.yaml +++ b/tests/components/es8311/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8311/test.esp32-idf.yaml b/tests/components/es8311/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es8311/test.esp32-idf.yaml +++ b/tests/components/es8311/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8311/test.esp8266-ard.yaml b/tests/components/es8311/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/es8311/test.esp8266-ard.yaml +++ b/tests/components/es8311/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/es8388/common.yaml b/tests/components/es8388/common.yaml index 6a63de5aa1..cc7465ab93 100644 --- a/tests/components/es8388/common.yaml +++ b/tests/components/es8388/common.yaml @@ -7,13 +7,9 @@ esphome: - audio_dac.set_volume: volume: 50% -i2c: - - id: i2c_es8388 - scl: ${scl_pin} - sda: ${sda_pin} - audio_dac: - platform: es8388 + i2c_id: i2c_bus id: es8388_parent select: diff --git a/tests/components/es8388/test.esp32-c3-idf.yaml b/tests/components/es8388/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/es8388/test.esp32-c3-idf.yaml +++ b/tests/components/es8388/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8388/test.esp32-idf.yaml b/tests/components/es8388/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/es8388/test.esp32-idf.yaml +++ b/tests/components/es8388/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/es8388/test.esp8266-ard.yaml b/tests/components/es8388/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/es8388/test.esp8266-ard.yaml +++ b/tests/components/es8388/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml b/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml +++ b/tests/components/esp32_ble_client/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_ble_client/test.esp32-idf.yaml b/tests/components/esp32_ble_client/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/esp32_ble_client/test.esp32-idf.yaml +++ b/tests/components/esp32_ble_client/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml b/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml index b71896bad5..ea6f0d4022 100644 --- a/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml +++ b/tests/components/esp32_ble_tracker/test.esp32-c3-idf.yaml @@ -1,3 +1,6 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml esp32_ble_tracker: diff --git a/tests/components/esp32_ble_tracker/test.esp32-idf.yaml b/tests/components/esp32_ble_tracker/test.esp32-idf.yaml index 1ffcfb9988..8f6e3c5731 100644 --- a/tests/components/esp32_ble_tracker/test.esp32-idf.yaml +++ b/tests/components/esp32_ble_tracker/test.esp32-idf.yaml @@ -1,3 +1,6 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml esp32_ble_tracker: diff --git a/tests/components/esp32_camera/common.yaml b/tests/components/esp32_camera/common.yaml index 64f75c699a..eac5109bc8 100644 --- a/tests/components/esp32_camera/common.yaml +++ b/tests/components/esp32_camera/common.yaml @@ -1,29 +1 @@ -esp32_camera: - name: ESP32 Camera - data_pins: - - number: 17 - - number: 35 - - number: 34 - - number: 5 - - number: 39 - - number: 18 - - number: 36 - - number: 19 - vsync_pin: 22 - href_pin: 26 - pixel_clock_pin: 21 - external_clock: - pin: 27 - frequency: 20MHz - i2c_pins: - sda: 25 - scl: 23 - reset_pin: 15 - power_down_pin: 1 - resolution: 640x480 - jpeg_quality: 10 - frame_buffer_location: PSRAM - on_image: - then: - - lambda: |- - ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]); +# ESP32 camera hardware configuration comes from the camera package diff --git a/tests/components/esp32_camera/test.esp32-idf.yaml b/tests/components/esp32_camera/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/esp32_camera/test.esp32-idf.yaml +++ b/tests/components/esp32_camera/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_camera_web_server/common.yaml b/tests/components/esp32_camera_web_server/common.yaml index fe2a6a2739..2a1858f681 100644 --- a/tests/components/esp32_camera_web_server/common.yaml +++ b/tests/components/esp32_camera_web_server/common.yaml @@ -1,32 +1,3 @@ -esp32_camera: - name: ESP32 Camera - data_pins: - - number: 17 - - number: 35 - - number: 34 - - number: 5 - - number: 39 - - number: 18 - - number: 36 - - number: 19 - vsync_pin: 22 - href_pin: 26 - pixel_clock_pin: 21 - external_clock: - pin: 27 - frequency: 20MHz - i2c_pins: - sda: 25 - scl: 23 - reset_pin: 15 - power_down_pin: 1 - resolution: 640x480 - jpeg_quality: 10 - on_image: - then: - - lambda: |- - ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]); - esp32_camera_web_server: - port: 8080 mode: stream diff --git a/tests/components/esp32_camera_web_server/test.esp32-idf.yaml b/tests/components/esp32_camera_web_server/test.esp32-idf.yaml index dade44d145..3d93dd6418 100644 --- a/tests/components/esp32_camera_web_server/test.esp32-idf.yaml +++ b/tests/components/esp32_camera_web_server/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/esp32_can/test.esp32-c3-idf.yaml b/tests/components/esp32_can/test.esp32-c3-idf.yaml index c79d14c740..22effb1bd0 100644 --- a/tests/components/esp32_can/test.esp32-c3-idf.yaml +++ b/tests/components/esp32_can/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: tx_pin: GPIO7 - rx_pin: GPIO8 + rx_pin: GPIO9 <<: !include common.yaml diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml index ad273903b2..6bf0639a52 100644 --- a/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml +++ b/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml @@ -2,11 +2,22 @@ substitutions: pin1: GPIO3 pin2: GPIO4 -packages: - common: !include common.yaml - +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. light: - - id: !extend led_strip1 + - platform: esp32_rmt_led_strip + id: led_strip1 + pin: ${pin1} + num_leds: 60 + rgb_order: GRB + chipset: ws2812 use_dma: "true" - - id: !extend led_strip2 + - platform: esp32_rmt_led_strip + id: led_strip2 + pin: ${pin2} + num_leds: 60 + rgb_order: RGB + bit0_high: 100us + bit0_low: 100us + bit1_high: 100us + bit1_low: 100us use_dma: "false" diff --git a/tests/components/espnow/test.esp32-idf.yaml b/tests/components/espnow/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/espnow/test.esp32-idf.yaml +++ b/tests/components/espnow/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ethernet_info/test.esp32-idf.yaml b/tests/components/ethernet_info/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/ethernet_info/test.esp32-idf.yaml +++ b/tests/components/ethernet_info/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-c3-idf.yaml b/tests/components/exposure_notifications/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/exposure_notifications/test.esp32-c3-idf.yaml +++ b/tests/components/exposure_notifications/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/exposure_notifications/test.esp32-idf.yaml b/tests/components/exposure_notifications/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/exposure_notifications/test.esp32-idf.yaml +++ b/tests/components/exposure_notifications/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ezo/common.yaml b/tests/components/ezo/common.yaml index edeebd1a12..79afbb8aa6 100644 --- a/tests/components/ezo/common.yaml +++ b/tests/components/ezo/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ezo - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ezo + i2c_id: i2c_bus id: ph_ezo address: 99 unit_of_measurement: pH diff --git a/tests/components/ezo/test.esp32-c3-idf.yaml b/tests/components/ezo/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ezo/test.esp32-c3-idf.yaml +++ b/tests/components/ezo/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo/test.esp32-idf.yaml b/tests/components/ezo/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ezo/test.esp32-idf.yaml +++ b/tests/components/ezo/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo/test.esp8266-ard.yaml b/tests/components/ezo/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ezo/test.esp8266-ard.yaml +++ b/tests/components/ezo/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ezo/test.rp2040-ard.yaml b/tests/components/ezo/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ezo/test.rp2040-ard.yaml +++ b/tests/components/ezo/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/common.yaml b/tests/components/ezo_pmp/common.yaml index 00919797be..bd2fd9193c 100644 --- a/tests/components/ezo_pmp/common.yaml +++ b/tests/components/ezo_pmp/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ezo_pmp - scl: ${scl_pin} - sda: ${sda_pin} - ezo_pmp: + i2c_id: i2c_bus id: hcl_pump update_interval: 1s diff --git a/tests/components/ezo_pmp/test.esp32-c3-idf.yaml b/tests/components/ezo_pmp/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ezo_pmp/test.esp32-c3-idf.yaml +++ b/tests/components/ezo_pmp/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp32-idf.yaml b/tests/components/ezo_pmp/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ezo_pmp/test.esp32-idf.yaml +++ b/tests/components/ezo_pmp/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.esp8266-ard.yaml b/tests/components/ezo_pmp/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ezo_pmp/test.esp8266-ard.yaml +++ b/tests/components/ezo_pmp/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ezo_pmp/test.rp2040-ard.yaml b/tests/components/ezo_pmp/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ezo_pmp/test.rp2040-ard.yaml +++ b/tests/components/ezo_pmp/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/common.yaml b/tests/components/fingerprint_grow/common.yaml index e759ea5a02..2d2fc61437 100644 --- a/tests/components/fingerprint_grow/common.yaml +++ b/tests/components/fingerprint_grow/common.yaml @@ -9,12 +9,6 @@ esphome: finger_id: 2 - fingerprint_grow.delete_all: -uart: - - id: uart_fingerprint_grow - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 57600 - fingerprint_grow: sensing_pin: ${sensing_pin} password: 0x12FE37DC diff --git a/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml b/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml index faab50e152..dff4f7fd92 100644 --- a/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml +++ b/tests/components/fingerprint_grow/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 sensing_pin: GPIO6 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp32-idf.yaml b/tests/components/fingerprint_grow/test.esp32-idf.yaml index 4aef3d8be6..7149f07d16 100644 --- a/tests/components/fingerprint_grow/test.esp32-idf.yaml +++ b/tests/components/fingerprint_grow/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 sensing_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.esp8266-ard.yaml b/tests/components/fingerprint_grow/test.esp8266-ard.yaml index f2a864596a..204fdf0302 100644 --- a/tests/components/fingerprint_grow/test.esp8266-ard.yaml +++ b/tests/components/fingerprint_grow/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 sensing_pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/fingerprint_grow/test.rp2040-ard.yaml b/tests/components/fingerprint_grow/test.rp2040-ard.yaml index faab50e152..80ea1d22ca 100644 --- a/tests/components/fingerprint_grow/test.rp2040-ard.yaml +++ b/tests/components/fingerprint_grow/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 sensing_pin: GPIO6 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/font/common.yaml b/tests/components/font/common.yaml index fb50fc3336..2d2e970536 100644 --- a/tests/components/font/common.yaml +++ b/tests/components/font/common.yaml @@ -47,10 +47,6 @@ font: id: bdf_font size: 7 -i2c: - scl: ${i2c_scl} - sda: ${i2c_sda} - display: - platform: ssd1306_i2c id: ssd1306_display diff --git a/tests/components/font/test.esp32-c3-idf.yaml b/tests/components/font/test.esp32-c3-idf.yaml index ad14a2e9a6..2090db7e6d 100644 --- a/tests/components/font/test.esp32-c3-idf.yaml +++ b/tests/components/font/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 display_reset_pin: GPIO3 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/font/test.esp32-idf.yaml b/tests/components/font/test.esp32-idf.yaml index d98600a51b..a6a94a39da 100644 --- a/tests/components/font/test.esp32-idf.yaml +++ b/tests/components/font/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO16 - i2c_sda: GPIO17 display_reset_pin: GPIO13 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/font/test.esp8266-ard.yaml b/tests/components/font/test.esp8266-ard.yaml index ad14a2e9a6..173f7dfaa5 100644 --- a/tests/components/font/test.esp8266-ard.yaml +++ b/tests/components/font/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 display_reset_pin: GPIO3 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + +<<: !include common.yaml diff --git a/tests/components/font/test.rp2040-ard.yaml b/tests/components/font/test.rp2040-ard.yaml index ad14a2e9a6..aeecf352b4 100644 --- a/tests/components/font/test.rp2040-ard.yaml +++ b/tests/components/font/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: - i2c_scl: GPIO5 - i2c_sda: GPIO4 display_reset_pin: GPIO3 packages: - common: !include common.yaml + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + +<<: !include common.yaml diff --git a/tests/components/fs3000/common.yaml b/tests/components/fs3000/common.yaml index e87ac28aa9..e8ec4d0773 100644 --- a/tests/components/fs3000/common.yaml +++ b/tests/components/fs3000/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_fs3000 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: fs3000 + i2c_id: i2c_bus name: Air Velocity model: 1005 update_interval: 60s diff --git a/tests/components/fs3000/test.esp32-c3-idf.yaml b/tests/components/fs3000/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/fs3000/test.esp32-c3-idf.yaml +++ b/tests/components/fs3000/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/fs3000/test.esp32-idf.yaml b/tests/components/fs3000/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/fs3000/test.esp32-idf.yaml +++ b/tests/components/fs3000/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/fs3000/test.esp8266-ard.yaml b/tests/components/fs3000/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/fs3000/test.esp8266-ard.yaml +++ b/tests/components/fs3000/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/fs3000/test.rp2040-ard.yaml b/tests/components/fs3000/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/fs3000/test.rp2040-ard.yaml +++ b/tests/components/fs3000/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ft5x06/common.yaml b/tests/components/ft5x06/common.yaml index 322ee88b6d..b1f7ca4cc9 100644 --- a/tests/components/ft5x06/common.yaml +++ b/tests/components/ft5x06/common.yaml @@ -1,20 +1,19 @@ -i2c: - - id: i2c_ft5x06 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c - id: ssd1306_display + i2c_id: i2c_bus + id: ft5x06_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: ft5x06_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: ft5x06 + i2c_id: i2c_bus + display: ft5x06_display + id: ft5x06_touchscreen on_touch: - logger.log: format: Touch at (%d, %d) diff --git a/tests/components/ft5x06/test.esp32-c3-idf.yaml b/tests/components/ft5x06/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/ft5x06/test.esp32-c3-idf.yaml +++ b/tests/components/ft5x06/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp32-idf.yaml b/tests/components/ft5x06/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/ft5x06/test.esp32-idf.yaml +++ b/tests/components/ft5x06/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ft5x06/test.esp8266-ard.yaml b/tests/components/ft5x06/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/ft5x06/test.esp8266-ard.yaml +++ b/tests/components/ft5x06/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ft5x06/test.rp2040-ard.yaml b/tests/components/ft5x06/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/ft5x06/test.rp2040-ard.yaml +++ b/tests/components/ft5x06/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ft63x6/common.yaml b/tests/components/ft63x6/common.yaml index 1fae6da5f4..ea5a60a2f6 100644 --- a/tests/components/ft63x6/common.yaml +++ b/tests/components/ft63x6/common.yaml @@ -1,25 +1,19 @@ -spi: - - id: spi_ft63x6 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - -i2c: - - id: i2c_ft63x6 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c - id: ssd1306_display + i2c_id: i2c_bus + id: ft63x6_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: ft63x6_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: ft63x6 + i2c_id: i2c_bus + display: ft63x6_display + id: ft63x6_touchscreen interrupt_pin: ${interrupt_pin} transform: swap_xy: true @@ -42,6 +36,7 @@ touchscreen: binary_sensor: - platform: touchscreen + touchscreen_id: ft63x6_touchscreen name: Bottom Left Touch use_raw: true x_min: 0 diff --git a/tests/components/ft63x6/test.esp32-c3-idf.yaml b/tests/components/ft63x6/test.esp32-c3-idf.yaml index 397ac1e464..febf38d8e1 100644 --- a/tests/components/ft63x6/test.esp32-c3-idf.yaml +++ b/tests/components/ft63x6/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp32-idf.yaml b/tests/components/ft63x6/test.esp32-idf.yaml index 47b5796e8b..590f6a919c 100644 --- a/tests/components/ft63x6/test.esp32-idf.yaml +++ b/tests/components/ft63x6/test.esp32-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO0 - mosi_pin: GPIO2 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ft63x6/test.esp8266-ard.yaml b/tests/components/ft63x6/test.esp8266-ard.yaml index a4223733af..d6b6903029 100644 --- a/tests/components/ft63x6/test.esp8266-ard.yaml +++ b/tests/components/ft63x6/test.esp8266-ard.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - scl_pin: GPIO5 - sda_pin: GPIO4 interrupt_pin: GPIO12 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ft63x6/test.rp2040-ard.yaml b/tests/components/ft63x6/test.rp2040-ard.yaml index 397ac1e464..2dd70ff33a 100644 --- a/tests/components/ft63x6/test.rp2040-ard.yaml +++ b/tests/components/ft63x6/test.rp2040-ard.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/gcja5/common.yaml b/tests/components/gcja5/common.yaml index 8f6250045d..64374c0e50 100644 --- a/tests/components/gcja5/common.yaml +++ b/tests/components/gcja5/common.yaml @@ -1,12 +1,6 @@ -uart: - - id: uart_gcja5 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - parity: EVEN - sensor: - platform: gcja5 + uart_id: uart_bus pm_1_0: name: "Particulate Matter <1.0µm Concentration" pm_2_5: diff --git a/tests/components/gcja5/test.esp32-c3-idf.yaml b/tests/components/gcja5/test.esp32-c3-idf.yaml index b516342f3b..236529042f 100644 --- a/tests/components/gcja5/test.esp32-c3-idf.yaml +++ b/tests/components/gcja5/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gcja5/test.esp32-idf.yaml b/tests/components/gcja5/test.esp32-idf.yaml index 811f6b72a6..5ce1861902 100644 --- a/tests/components/gcja5/test.esp32-idf.yaml +++ b/tests/components/gcja5/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gcja5/test.esp8266-ard.yaml b/tests/components/gcja5/test.esp8266-ard.yaml index b516342f3b..a3f8cf43d4 100644 --- a/tests/components/gcja5/test.esp8266-ard.yaml +++ b/tests/components/gcja5/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gcja5/test.rp2040-ard.yaml b/tests/components/gcja5/test.rp2040-ard.yaml index b516342f3b..7c1f4f41e2 100644 --- a/tests/components/gcja5/test.rp2040-ard.yaml +++ b/tests/components/gcja5/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_9600_even: !include ../../test_build_components/common/uart_9600_even/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gdk101/common.yaml b/tests/components/gdk101/common.yaml index 7805ad43f0..4eb5586ade 100644 --- a/tests/components/gdk101/common.yaml +++ b/tests/components/gdk101/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_gdk101 - scl: ${scl_pin} - sda: ${sda_pin} - gdk101: + i2c_id: i2c_bus id: my_gdk101 sensor: diff --git a/tests/components/gdk101/test.esp32-idf.yaml b/tests/components/gdk101/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/gdk101/test.esp32-idf.yaml +++ b/tests/components/gdk101/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gdk101/test.esp8266-ard.yaml b/tests/components/gdk101/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/gdk101/test.esp8266-ard.yaml +++ b/tests/components/gdk101/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gdk101/test.rp2040-ard.yaml b/tests/components/gdk101/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/gdk101/test.rp2040-ard.yaml +++ b/tests/components/gdk101/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/common.yaml b/tests/components/gl_r01_i2c/common.yaml index fe0705bdc6..272a94d349 100644 --- a/tests/components/gl_r01_i2c/common.yaml +++ b/tests/components/gl_r01_i2c/common.yaml @@ -1,12 +1,7 @@ -i2c: - - id: i2c_gl_r01_i2c - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: gl_r01_i2c + i2c_id: i2c_bus id: tof name: "ToF sensor" - i2c_id: i2c_gl_r01_i2c address: 0x74 update_interval: 15s diff --git a/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml b/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/gl_r01_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp32-idf.yaml b/tests/components/gl_r01_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/gl_r01_i2c/test.esp32-idf.yaml +++ b/tests/components/gl_r01_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.esp8266-ard.yaml b/tests/components/gl_r01_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/gl_r01_i2c/test.esp8266-ard.yaml +++ b/tests/components/gl_r01_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gl_r01_i2c/test.rp2040-ard.yaml b/tests/components/gl_r01_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/gl_r01_i2c/test.rp2040-ard.yaml +++ b/tests/components/gl_r01_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gp2y1010au0f/test.esp8266-ard.yaml b/tests/components/gp2y1010au0f/test.esp8266-ard.yaml index a61053426a..c6a7c7bf13 100644 --- a/tests/components/gp2y1010au0f/test.esp8266-ard.yaml +++ b/tests/components/gp2y1010au0f/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: adc_pin: A0 - output_pin: GPIO5 + output_pin: GPIO0 <<: !include common.yaml diff --git a/tests/components/gp8403/common.yaml b/tests/components/gp8403/common.yaml index 7074185273..b04fbc4fbc 100644 --- a/tests/components/gp8403/common.yaml +++ b/tests/components/gp8403/common.yaml @@ -1,12 +1,9 @@ -i2c: - - id: i2c_gp8403 - scl: ${scl_pin} - sda: ${sda_pin} - gp8403: - id: gp8403_5v + i2c_id: i2c_bus voltage: 5V - id: gp8403_10v + i2c_id: i2c_bus voltage: 10V output: diff --git a/tests/components/gp8403/test.esp32-c3-idf.yaml b/tests/components/gp8403/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/gp8403/test.esp32-c3-idf.yaml +++ b/tests/components/gp8403/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gp8403/test.esp32-idf.yaml b/tests/components/gp8403/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/gp8403/test.esp32-idf.yaml +++ b/tests/components/gp8403/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gp8403/test.esp8266-ard.yaml b/tests/components/gp8403/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/gp8403/test.esp8266-ard.yaml +++ b/tests/components/gp8403/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gp8403/test.rp2040-ard.yaml b/tests/components/gp8403/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/gp8403/test.rp2040-ard.yaml +++ b/tests/components/gp8403/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/gpio/test.esp8266-ard.yaml b/tests/components/gpio/test.esp8266-ard.yaml index 09f41abb79..e1660ec47c 100644 --- a/tests/components/gpio/test.esp8266-ard.yaml +++ b/tests/components/gpio/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - binary_sensor_pin: GPIO12 - output_pin: GPIO13 - switch_pin: GPIO14 + binary_sensor_pin: GPIO0 + output_pin: GPIO2 + switch_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/gps/common.yaml b/tests/components/gps/common.yaml index 53dc67e457..a99e3ef7e0 100644 --- a/tests/components/gps/common.yaml +++ b/tests/components/gps/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_gps - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - parity: EVEN - gps: latitude: name: "Latitude" diff --git a/tests/components/gps/test.esp32-c3-idf.yaml b/tests/components/gps/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/gps/test.esp32-c3-idf.yaml +++ b/tests/components/gps/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gps/test.esp32-idf.yaml b/tests/components/gps/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/gps/test.esp32-idf.yaml +++ b/tests/components/gps/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/gps/test.esp8266-ard.yaml b/tests/components/gps/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/gps/test.esp8266-ard.yaml +++ b/tests/components/gps/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gps/test.rp2040-ard.yaml b/tests/components/gps/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/gps/test.rp2040-ard.yaml +++ b/tests/components/gps/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graph/common.yaml b/tests/components/graph/common.yaml index d2a6a9422d..578de5a60c 100644 --- a/tests/components/graph/common.yaml +++ b/tests/components/graph/common.yaml @@ -1,8 +1,3 @@ -i2c: - - id: i2c_graph - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: template id: some_sensor @@ -20,6 +15,6 @@ display: model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: graph_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); diff --git a/tests/components/graph/test.esp32-c3-idf.yaml b/tests/components/graph/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/graph/test.esp32-c3-idf.yaml +++ b/tests/components/graph/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graph/test.esp32-idf.yaml b/tests/components/graph/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/graph/test.esp32-idf.yaml +++ b/tests/components/graph/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graph/test.esp8266-ard.yaml b/tests/components/graph/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/graph/test.esp8266-ard.yaml +++ b/tests/components/graph/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graph/test.rp2040-ard.yaml b/tests/components/graph/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/graph/test.rp2040-ard.yaml +++ b/tests/components/graph/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/common.yaml b/tests/components/graphical_display_menu/common.yaml index d979a6a30e..0b8f20d64b 100644 --- a/tests/components/graphical_display_menu/common.yaml +++ b/tests/components/graphical_display_menu/common.yaml @@ -1,15 +1,10 @@ -i2c: - - id: i2c_graphical_display_menu - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c id: ssd1306_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: graphical_display_menu_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); diff --git a/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml b/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml index 1e6670c196..c97f30d52c 100644 --- a/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml +++ b/tests/components/graphical_display_menu/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp32-idf.yaml b/tests/components/graphical_display_menu/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/graphical_display_menu/test.esp32-idf.yaml +++ b/tests/components/graphical_display_menu/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.esp8266-ard.yaml b/tests/components/graphical_display_menu/test.esp8266-ard.yaml index dfdc12a3d1..b8bb94edde 100644 --- a/tests/components/graphical_display_menu/test.esp8266-ard.yaml +++ b/tests/components/graphical_display_menu/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/graphical_display_menu/test.rp2040-ard.yaml b/tests/components/graphical_display_menu/test.rp2040-ard.yaml index 1e6670c196..1bf10642c5 100644 --- a/tests/components/graphical_display_menu/test.rp2040-ard.yaml +++ b/tests/components/graphical_display_menu/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/common.yaml b/tests/components/grove_gas_mc_v2/common.yaml index dbdb950033..0729e6b9c7 100644 --- a/tests/components/grove_gas_mc_v2/common.yaml +++ b/tests/components/grove_gas_mc_v2/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_grove_gas_mc_v2 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: grove_gas_mc_v2 + i2c_id: i2c_bus nitrogen_dioxide: name: "Nitrogen Dioxide" ethanol: diff --git a/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml b/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml +++ b/tests/components/grove_gas_mc_v2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml b/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml +++ b/tests/components/grove_gas_mc_v2/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml b/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml +++ b/tests/components/grove_gas_mc_v2/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml b/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml +++ b/tests/components/grove_gas_mc_v2/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/common.yaml b/tests/components/grove_tb6612fng/common.yaml index 0db6c00bf7..52d5ead96e 100644 --- a/tests/components/grove_tb6612fng/common.yaml +++ b/tests/components/grove_tb6612fng/common.yaml @@ -13,11 +13,7 @@ esphome: channel: 1 id: test_motor -i2c: - - id: i2c_grove_tb6612fng - scl: ${scl_pin} - sda: ${sda_pin} - grove_tb6612fng: id: test_motor + i2c_id: i2c_bus address: 0x14 diff --git a/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml b/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml +++ b/tests/components/grove_tb6612fng/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp32-idf.yaml b/tests/components/grove_tb6612fng/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/grove_tb6612fng/test.esp32-idf.yaml +++ b/tests/components/grove_tb6612fng/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.esp8266-ard.yaml b/tests/components/grove_tb6612fng/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/grove_tb6612fng/test.esp8266-ard.yaml +++ b/tests/components/grove_tb6612fng/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/grove_tb6612fng/test.rp2040-ard.yaml b/tests/components/grove_tb6612fng/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/grove_tb6612fng/test.rp2040-ard.yaml +++ b/tests/components/grove_tb6612fng/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/growatt_solar/common.yaml b/tests/components/growatt_solar/common.yaml index 7cc6b2a139..f304e84fcf 100644 --- a/tests/components/growatt_solar/common.yaml +++ b/tests/components/growatt_solar/common.yaml @@ -1,14 +1,6 @@ -uart: - - id: uart_growatt_solar - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - flow_control_pin: ${flow_control_pin} - sensor: - platform: growatt_solar + modbus_id: modbus_bus update_interval: 10s protocol_version: RTU inverter_status: diff --git a/tests/components/growatt_solar/test.esp32-c3-idf.yaml b/tests/components/growatt_solar/test.esp32-c3-idf.yaml index 452031a5aa..17940aafcf 100644 --- a/tests/components/growatt_solar/test.esp32-c3-idf.yaml +++ b/tests/components/growatt_solar/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp32-idf.yaml b/tests/components/growatt_solar/test.esp32-idf.yaml index bd767a8ece..a755bfa66a 100644 --- a/tests/components/growatt_solar/test.esp32-idf.yaml +++ b/tests/components/growatt_solar/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/growatt_solar/test.esp8266-ard.yaml b/tests/components/growatt_solar/test.esp8266-ard.yaml index 29c98d0957..6daa08c22b 100644 --- a/tests/components/growatt_solar/test.esp8266-ard.yaml +++ b/tests/components/growatt_solar/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/growatt_solar/test.rp2040-ard.yaml b/tests/components/growatt_solar/test.rp2040-ard.yaml index 452031a5aa..a00283a9e0 100644 --- a/tests/components/growatt_solar/test.rp2040-ard.yaml +++ b/tests/components/growatt_solar/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/gt911/common.yaml b/tests/components/gt911/common.yaml index 7bb88108da..5f9748afb6 100644 --- a/tests/components/gt911/common.yaml +++ b/tests/components/gt911/common.yaml @@ -1,23 +1,21 @@ -i2c: - - id: i2c_gt911 - scl: 5 - sda: 4 - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 - reset_pin: 10 + reset_pin: ${display_reset_pin} pages: - - id: page1 + - id: gt911_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: gt911 + i2c_id: i2c_bus + id: gt911_touchscreen display: ssd1306_display - interrupt_pin: 20 - reset_pin: 21 + interrupt_pin: ${interrupt_pin} + reset_pin: ${reset_pin} binary_sensor: - platform: gt911 diff --git a/tests/components/gt911/test.esp32-c3-idf.yaml b/tests/components/gt911/test.esp32-c3-idf.yaml index dade44d145..5e15963b7e 100644 --- a/tests/components/gt911/test.esp32-c3-idf.yaml +++ b/tests/components/gt911/test.esp32-c3-idf.yaml @@ -1 +1,9 @@ +substitutions: + display_reset_pin: "18" + interrupt_pin: "20" + reset_pin: "21" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/gt911/test.esp32-idf.yaml b/tests/components/gt911/test.esp32-idf.yaml index dade44d145..3bce86d9a3 100644 --- a/tests/components/gt911/test.esp32-idf.yaml +++ b/tests/components/gt911/test.esp32-idf.yaml @@ -1 +1,9 @@ +substitutions: + display_reset_pin: "10" + interrupt_pin: "20" + reset_pin: "21" + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/gt911/test.esp8266-ard.yaml b/tests/components/gt911/test.esp8266-ard.yaml index 8b76eff29e..c3bc159b5b 100644 --- a/tests/components/gt911/test.esp8266-ard.yaml +++ b/tests/components/gt911/test.esp8266-ard.yaml @@ -1,24 +1,9 @@ -i2c: - - id: i2c_gt911 - scl: 5 - sda: 4 +substitutions: + display_reset_pin: "10" + interrupt_pin: "12" + reset_pin: "13" -display: - - platform: ssd1306_i2c - id: ssd1306_display - model: SSD1306_128X64 - reset_pin: 13 - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml -touchscreen: - - platform: gt911 - display: ssd1306_display - interrupt_pin: 12 - -binary_sensor: - - platform: gt911 - id: touch_key_911 - index: 0 +<<: !include common.yaml diff --git a/tests/components/gt911/test.rp2040-ard.yaml b/tests/components/gt911/test.rp2040-ard.yaml index dade44d145..0c7f0bc504 100644 --- a/tests/components/gt911/test.rp2040-ard.yaml +++ b/tests/components/gt911/test.rp2040-ard.yaml @@ -1 +1,9 @@ +substitutions: + display_reset_pin: "10" + interrupt_pin: "20" + reset_pin: "21" + +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/haier/common.yaml b/tests/components/haier/common.yaml index 368b88b69c..926a1d1b7a 100644 --- a/tests/components/haier/common.yaml +++ b/tests/components/haier/common.yaml @@ -2,16 +2,9 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uart_haier - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - climate: - platform: haier id: haier_ac - uart_id: uart_haier protocol: hOn name: Haier AC wifi_signal: true diff --git a/tests/components/haier/test.esp32-c3-idf.yaml b/tests/components/haier/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/haier/test.esp32-c3-idf.yaml +++ b/tests/components/haier/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/haier/test.esp32-idf.yaml b/tests/components/haier/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/haier/test.esp32-idf.yaml +++ b/tests/components/haier/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/haier/test.esp8266-ard.yaml b/tests/components/haier/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/haier/test.esp8266-ard.yaml +++ b/tests/components/haier/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/haier/test.rp2040-ard.yaml b/tests/components/haier/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/haier/test.rp2040-ard.yaml +++ b/tests/components/haier/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/havells_solar/common.yaml b/tests/components/havells_solar/common.yaml index 370b0d357d..2f00f61f14 100644 --- a/tests/components/havells_solar/common.yaml +++ b/tests/components/havells_solar/common.yaml @@ -1,14 +1,6 @@ -uart: - - id: uart_havells_solar - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - flow_control_pin: ${flow_control_pin} - sensor: - platform: havells_solar + modbus_id: modbus_bus update_interval: 60s phase_a: voltage: diff --git a/tests/components/havells_solar/test.esp32-c3-idf.yaml b/tests/components/havells_solar/test.esp32-c3-idf.yaml index 452031a5aa..17940aafcf 100644 --- a/tests/components/havells_solar/test.esp32-c3-idf.yaml +++ b/tests/components/havells_solar/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp32-idf.yaml b/tests/components/havells_solar/test.esp32-idf.yaml index bd767a8ece..a755bfa66a 100644 --- a/tests/components/havells_solar/test.esp32-idf.yaml +++ b/tests/components/havells_solar/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/havells_solar/test.esp8266-ard.yaml b/tests/components/havells_solar/test.esp8266-ard.yaml index 29c98d0957..6daa08c22b 100644 --- a/tests/components/havells_solar/test.esp8266-ard.yaml +++ b/tests/components/havells_solar/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/havells_solar/test.rp2040-ard.yaml b/tests/components/havells_solar/test.rp2040-ard.yaml index 452031a5aa..a00283a9e0 100644 --- a/tests/components/havells_solar/test.rp2040-ard.yaml +++ b/tests/components/havells_solar/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/hbridge/common.yaml b/tests/components/hbridge/common.yaml index 0504cdea03..ca619d6851 100644 --- a/tests/components/hbridge/common.yaml +++ b/tests/components/hbridge/common.yaml @@ -31,9 +31,3 @@ fan: on_preset_set: then: - logger.log: Preset mode was changed! - -switch: - - platform: hbridge - id: switch_hbridge - on_pin: ${hbridge_on_pin} - off_pin: ${hbridge_off_pin} diff --git a/tests/components/hbridge/test.esp32-c3-idf.yaml b/tests/components/hbridge/test.esp32-c3-idf.yaml index c73f08b6de..93a6cb5818 100644 --- a/tests/components/hbridge/test.esp32-c3-idf.yaml +++ b/tests/components/hbridge/test.esp32-c3-idf.yaml @@ -7,9 +7,11 @@ substitutions: hbridge_on_pin: "2" hbridge_off_pin: "3" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} pulse_length: 60ms diff --git a/tests/components/hbridge/test.esp32-idf.yaml b/tests/components/hbridge/test.esp32-idf.yaml index dbbfa738c7..7f3d9b928a 100644 --- a/tests/components/hbridge/test.esp32-idf.yaml +++ b/tests/components/hbridge/test.esp32-idf.yaml @@ -7,10 +7,12 @@ substitutions: hbridge_on_pin: "4" hbridge_off_pin: "5" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} pulse_length: 60ms wait_time: 10ms diff --git a/tests/components/hbridge/test.esp8266-ard.yaml b/tests/components/hbridge/test.esp8266-ard.yaml index f560da5d38..0346c8801d 100644 --- a/tests/components/hbridge/test.esp8266-ard.yaml +++ b/tests/components/hbridge/test.esp8266-ard.yaml @@ -7,10 +7,12 @@ substitutions: hbridge_on_pin: "14" hbridge_off_pin: "15" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} pulse_length: 60ms wait_time: 10ms diff --git a/tests/components/hbridge/test.rp2040-ard.yaml b/tests/components/hbridge/test.rp2040-ard.yaml index aa6e290cab..f9cb2b5618 100644 --- a/tests/components/hbridge/test.rp2040-ard.yaml +++ b/tests/components/hbridge/test.rp2040-ard.yaml @@ -7,10 +7,12 @@ substitutions: hbridge_on_pin: "2" hbridge_off_pin: "3" -packages: - common: !include common.yaml +<<: !include common.yaml switch: - - id: !extend switch_hbridge + - platform: hbridge + id: switch_hbridge + on_pin: ${hbridge_on_pin} + off_pin: ${hbridge_off_pin} wait_time: 10ms optimistic: true diff --git a/tests/components/hdc1080/common.yaml b/tests/components/hdc1080/common.yaml index d260d4737c..a559392cb1 100644 --- a/tests/components/hdc1080/common.yaml +++ b/tests/components/hdc1080/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hdc1080 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hdc1080 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/hdc1080/test.esp32-c3-idf.yaml b/tests/components/hdc1080/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hdc1080/test.esp32-c3-idf.yaml +++ b/tests/components/hdc1080/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hdc1080/test.esp32-idf.yaml b/tests/components/hdc1080/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hdc1080/test.esp32-idf.yaml +++ b/tests/components/hdc1080/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hdc1080/test.esp8266-ard.yaml b/tests/components/hdc1080/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hdc1080/test.esp8266-ard.yaml +++ b/tests/components/hdc1080/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hdc1080/test.rp2040-ard.yaml b/tests/components/hdc1080/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hdc1080/test.rp2040-ard.yaml +++ b/tests/components/hdc1080/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/he60r/common.yaml b/tests/components/he60r/common.yaml index e10e745f57..ab5ec67f0e 100644 --- a/tests/components/he60r/common.yaml +++ b/tests/components/he60r/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_he60r - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 1200 - parity: EVEN - cover: - platform: he60r id: garage_door diff --git a/tests/components/he60r/test.esp32-c3-idf.yaml b/tests/components/he60r/test.esp32-c3-idf.yaml index b516342f3b..b0c8c5de3d 100644 --- a/tests/components/he60r/test.esp32-c3-idf.yaml +++ b/tests/components/he60r/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/he60r/test.esp32-idf.yaml b/tests/components/he60r/test.esp32-idf.yaml index f486544afa..f52c2a75f8 100644 --- a/tests/components/he60r/test.esp32-idf.yaml +++ b/tests/components/he60r/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/he60r/test.esp8266-ard.yaml b/tests/components/he60r/test.esp8266-ard.yaml index b516342f3b..e28024fa4d 100644 --- a/tests/components/he60r/test.esp8266-ard.yaml +++ b/tests/components/he60r/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/he60r/test.rp2040-ard.yaml b/tests/components/he60r/test.rp2040-ard.yaml index b516342f3b..a576b03d63 100644 --- a/tests/components/he60r/test.rp2040-ard.yaml +++ b/tests/components/he60r/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_1200_even: !include ../../test_build_components/common/uart_1200_even/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hlw8012/test.esp8266-ard.yaml b/tests/components/hlw8012/test.esp8266-ard.yaml index 8b42b21b54..ec9c0e43dc 100644 --- a/tests/components/hlw8012/test.esp8266-ard.yaml +++ b/tests/components/hlw8012/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 + sel_pin: GPIO0 + cf_pin: GPIO2 + cf1_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/hm3301/common.yaml b/tests/components/hm3301/common.yaml index b533130569..a56ac7bc65 100644 --- a/tests/components/hm3301/common.yaml +++ b/tests/components/hm3301/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hm3301 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hm3301 + i2c_id: i2c_bus pm_1_0: name: PM1.0 pm_2_5: diff --git a/tests/components/hm3301/test.esp32-c3-idf.yaml b/tests/components/hm3301/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hm3301/test.esp32-c3-idf.yaml +++ b/tests/components/hm3301/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hm3301/test.esp32-idf.yaml b/tests/components/hm3301/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hm3301/test.esp32-idf.yaml +++ b/tests/components/hm3301/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hm3301/test.esp8266-ard.yaml b/tests/components/hm3301/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hm3301/test.esp8266-ard.yaml +++ b/tests/components/hm3301/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hm3301/test.rp2040-ard.yaml b/tests/components/hm3301/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hm3301/test.rp2040-ard.yaml +++ b/tests/components/hm3301/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/common.yaml b/tests/components/hmc5883l/common.yaml index 1c90f5f1c6..19e4ba4c45 100644 --- a/tests/components/hmc5883l/common.yaml +++ b/tests/components/hmc5883l/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hmc5883l - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hmc5883l + i2c_id: i2c_bus address: 0x68 field_strength_x: name: HMC5883L Field Strength X diff --git a/tests/components/hmc5883l/test.esp32-c3-idf.yaml b/tests/components/hmc5883l/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hmc5883l/test.esp32-c3-idf.yaml +++ b/tests/components/hmc5883l/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp32-idf.yaml b/tests/components/hmc5883l/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hmc5883l/test.esp32-idf.yaml +++ b/tests/components/hmc5883l/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/test.esp8266-ard.yaml b/tests/components/hmc5883l/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hmc5883l/test.esp8266-ard.yaml +++ b/tests/components/hmc5883l/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hmc5883l/test.rp2040-ard.yaml b/tests/components/hmc5883l/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hmc5883l/test.rp2040-ard.yaml +++ b/tests/components/hmc5883l/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/common.yaml b/tests/components/honeywell_hih_i2c/common.yaml index a5f3eef187..de588a30bd 100644 --- a/tests/components/honeywell_hih_i2c/common.yaml +++ b/tests/components/honeywell_hih_i2c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_honeywell_hih - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: honeywell_hih_i2c + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml b/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/honeywell_hih_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml b/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml +++ b/tests/components/honeywell_hih_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml b/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml +++ b/tests/components/honeywell_hih_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml b/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml +++ b/tests/components/honeywell_hih_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp/common.yaml b/tests/components/honeywellabp/common.yaml index 21a3ef6ee3..f82d289ace 100644 --- a/tests/components/honeywellabp/common.yaml +++ b/tests/components/honeywellabp/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_bme280 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: honeywellabp cs_pin: ${cs_pin} diff --git a/tests/components/honeywellabp/test.esp32-c3-idf.yaml b/tests/components/honeywellabp/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/honeywellabp/test.esp32-c3-idf.yaml +++ b/tests/components/honeywellabp/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp32-idf.yaml b/tests/components/honeywellabp/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/honeywellabp/test.esp32-idf.yaml +++ b/tests/components/honeywellabp/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/honeywellabp/test.esp8266-ard.yaml b/tests/components/honeywellabp/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/honeywellabp/test.esp8266-ard.yaml +++ b/tests/components/honeywellabp/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/honeywellabp/test.rp2040-ard.yaml b/tests/components/honeywellabp/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/honeywellabp/test.rp2040-ard.yaml +++ b/tests/components/honeywellabp/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/common.yaml b/tests/components/honeywellabp2_i2c/common.yaml index 6752a69866..e1b060edcf 100644 --- a/tests/components/honeywellabp2_i2c/common.yaml +++ b/tests/components/honeywellabp2_i2c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_honeywellabp2 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: honeywellabp2_i2c + i2c_id: i2c_bus address: 0x28 pressure: name: Honeywell2 pressure diff --git a/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml b/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/honeywellabp2_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml b/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml +++ b/tests/components/honeywellabp2_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml b/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml +++ b/tests/components/honeywellabp2_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml b/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml +++ b/tests/components/honeywellabp2_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/common.yaml b/tests/components/hrxl_maxsonar_wr/common.yaml index d74ada716d..84376aa5ba 100644 --- a/tests/components/hrxl_maxsonar_wr/common.yaml +++ b/tests/components/hrxl_maxsonar_wr/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_hrxl_maxsonar_wr - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - sensor: - platform: hrxl_maxsonar_wr id: hrxl_maxsonar_wr_sensor diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml b/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml index 811f6b72a6..64baa4ec9d 100644 --- a/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO12 rx_pin: GPIO14 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml b/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml +++ b/tests/components/hrxl_maxsonar_wr/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/hte501/common.yaml b/tests/components/hte501/common.yaml index 7c57b5bc6a..e0641de193 100644 --- a/tests/components/hte501/common.yaml +++ b/tests/components/hte501/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hte501 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hte501 + i2c_id: i2c_bus address: 0x40 temperature: name: Temperature diff --git a/tests/components/hte501/test.esp32-c3-idf.yaml b/tests/components/hte501/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hte501/test.esp32-c3-idf.yaml +++ b/tests/components/hte501/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hte501/test.esp32-idf.yaml b/tests/components/hte501/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hte501/test.esp32-idf.yaml +++ b/tests/components/hte501/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hte501/test.esp8266-ard.yaml b/tests/components/hte501/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hte501/test.esp8266-ard.yaml +++ b/tests/components/hte501/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hte501/test.rp2040-ard.yaml b/tests/components/hte501/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hte501/test.rp2040-ard.yaml +++ b/tests/components/hte501/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/http_request/common.yaml b/tests/components/http_request/common.yaml index 97961007e2..9ff9f9fb67 100644 --- a/tests/components/http_request/common.yaml +++ b/tests/components/http_request/common.yaml @@ -51,6 +51,7 @@ script: ota: - platform: http_request + id: http_request_ota on_begin: then: - logger.log: "OTA start" @@ -77,10 +78,12 @@ button: on_press: then: - ota.http_request.flash: + id: http_request_ota md5_url: http://my.ha.net:8123/local/esphome/firmware.md5 url: http://my.ha.net:8123/local/esphome/firmware.bin - ota.http_request.flash: + id: http_request_ota md5: 0123456789abcdef0123456789abcdef url: http://my.ha.net:8123/local/esphome/firmware.bin @@ -90,6 +93,7 @@ update: - platform: http_request name: OTA Update id: ota_update + ota_id: http_request_ota source: http://my.ha.net:8123/local/esphome/manifest.json on_update_available: - logger.log: "A new update is available" diff --git a/tests/components/htu21d/common.yaml b/tests/components/htu21d/common.yaml index f12c1ca46e..ad4b23d460 100644 --- a/tests/components/htu21d/common.yaml +++ b/tests/components/htu21d/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_htu21d - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: htu21d + i2c_id: i2c_bus model: htu21d temperature: name: Temperature diff --git a/tests/components/htu21d/test.esp32-c3-idf.yaml b/tests/components/htu21d/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/htu21d/test.esp32-c3-idf.yaml +++ b/tests/components/htu21d/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu21d/test.esp32-idf.yaml b/tests/components/htu21d/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/htu21d/test.esp32-idf.yaml +++ b/tests/components/htu21d/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu21d/test.esp8266-ard.yaml b/tests/components/htu21d/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/htu21d/test.esp8266-ard.yaml +++ b/tests/components/htu21d/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/htu21d/test.rp2040-ard.yaml b/tests/components/htu21d/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/htu21d/test.rp2040-ard.yaml +++ b/tests/components/htu21d/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/common.yaml b/tests/components/htu31d/common.yaml index 735cdc7cbf..41d718ea69 100644 --- a/tests/components/htu31d/common.yaml +++ b/tests/components/htu31d/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_htu31d - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: htu31d + i2c_id: i2c_bus temperature: name: Living Room Temperature humidity: diff --git a/tests/components/htu31d/test.esp32-c3-idf.yaml b/tests/components/htu31d/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/htu31d/test.esp32-c3-idf.yaml +++ b/tests/components/htu31d/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/test.esp32-idf.yaml b/tests/components/htu31d/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/htu31d/test.esp32-idf.yaml +++ b/tests/components/htu31d/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/test.esp8266-ard.yaml b/tests/components/htu31d/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/htu31d/test.esp8266-ard.yaml +++ b/tests/components/htu31d/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/htu31d/test.rp2040-ard.yaml b/tests/components/htu31d/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/htu31d/test.rp2040-ard.yaml +++ b/tests/components/htu31d/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-c3-idf.yaml b/tests/components/hx711/test.esp32-c3-idf.yaml index 08a6e705c0..defef165e3 100644 --- a/tests/components/hx711/test.esp32-c3-idf.yaml +++ b/tests/components/hx711/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hx711/test.esp32-idf.yaml b/tests/components/hx711/test.esp32-idf.yaml index 6423867395..defef165e3 100644 --- a/tests/components/hx711/test.esp32-idf.yaml +++ b/tests/components/hx711/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO16 - dout_pin: GPIO17 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hx711/test.esp8266-ard.yaml b/tests/components/hx711/test.esp8266-ard.yaml index 08a6e705c0..defef165e3 100644 --- a/tests/components/hx711/test.esp8266-ard.yaml +++ b/tests/components/hx711/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hx711/test.rp2040-ard.yaml b/tests/components/hx711/test.rp2040-ard.yaml index 08a6e705c0..defef165e3 100644 --- a/tests/components/hx711/test.rp2040-ard.yaml +++ b/tests/components/hx711/test.rp2040-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO5 - dout_pin: GPIO4 + clk_pin: GPIO4 + dout_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/common.yaml b/tests/components/hydreon_rgxx/common.yaml index e11c6c91c9..e96879fdec 100644 --- a/tests/components/hydreon_rgxx/common.yaml +++ b/tests/components/hydreon_rgxx/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_hydreon_rgxx - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - binary_sensor: - platform: hydreon_rgxx hydreon_rgxx_id: hydreon_rg9 diff --git a/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml b/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml +++ b/tests/components/hydreon_rgxx/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp32-idf.yaml b/tests/components/hydreon_rgxx/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/hydreon_rgxx/test.esp32-idf.yaml +++ b/tests/components/hydreon_rgxx/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.esp8266-ard.yaml b/tests/components/hydreon_rgxx/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/hydreon_rgxx/test.esp8266-ard.yaml +++ b/tests/components/hydreon_rgxx/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hydreon_rgxx/test.rp2040-ard.yaml b/tests/components/hydreon_rgxx/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/hydreon_rgxx/test.rp2040-ard.yaml +++ b/tests/components/hydreon_rgxx/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/hyt271/common.yaml b/tests/components/hyt271/common.yaml index 7a4371173f..5771d882da 100644 --- a/tests/components/hyt271/common.yaml +++ b/tests/components/hyt271/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_hyt271 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: hyt271 + i2c_id: i2c_bus temperature: name: Temperature humidity: diff --git a/tests/components/hyt271/test.esp32-c3-idf.yaml b/tests/components/hyt271/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/hyt271/test.esp32-c3-idf.yaml +++ b/tests/components/hyt271/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hyt271/test.esp32-idf.yaml b/tests/components/hyt271/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/hyt271/test.esp32-idf.yaml +++ b/tests/components/hyt271/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hyt271/test.esp8266-ard.yaml b/tests/components/hyt271/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/hyt271/test.esp8266-ard.yaml +++ b/tests/components/hyt271/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hyt271/test.rp2040-ard.yaml b/tests/components/hyt271/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/hyt271/test.rp2040-ard.yaml +++ b/tests/components/hyt271/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c/common.yaml b/tests/components/i2c/common.yaml index d70cd595ad..e69de29bb2 100644 --- a/tests/components/i2c/common.yaml +++ b/tests/components/i2c/common.yaml @@ -1,4 +0,0 @@ -i2c: - - id: i2c_i2c - scl: ${scl_pin} - sda: ${sda_pin} diff --git a/tests/components/i2c/test.esp32-ard.yaml b/tests/components/i2c/test.esp32-ard.yaml index 63c3bd6afd..7c503b0ccb 100644 --- a/tests/components/i2c/test.esp32-ard.yaml +++ b/tests/components/i2c/test.esp32-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.esp32-c3-idf.yaml b/tests/components/i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/i2c/test.esp32-c3-idf.yaml +++ b/tests/components/i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.esp32-idf.yaml b/tests/components/i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/i2c/test.esp32-idf.yaml +++ b/tests/components/i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.esp8266-ard.yaml b/tests/components/i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/i2c/test.esp8266-ard.yaml +++ b/tests/components/i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c/test.rp2040-ard.yaml b/tests/components/i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/i2c/test.rp2040-ard.yaml +++ b/tests/components/i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/common.yaml b/tests/components/i2c_device/common.yaml index 35a6f8f7f0..fed399eb8c 100644 --- a/tests/components/i2c_device/common.yaml +++ b/tests/components/i2c_device/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_i2c_device - scl: ${scl_pin} - sda: ${sda_pin} - i2c_device: id: i2cdev + i2c_id: i2c_bus address: 0x2C diff --git a/tests/components/i2c_device/test.esp32-c3-idf.yaml b/tests/components/i2c_device/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/i2c_device/test.esp32-c3-idf.yaml +++ b/tests/components/i2c_device/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp32-idf.yaml b/tests/components/i2c_device/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/i2c_device/test.esp32-idf.yaml +++ b/tests/components/i2c_device/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/test.esp8266-ard.yaml b/tests/components/i2c_device/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/i2c_device/test.esp8266-ard.yaml +++ b/tests/components/i2c_device/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2c_device/test.rp2040-ard.yaml b/tests/components/i2c_device/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/i2c_device/test.rp2040-ard.yaml +++ b/tests/components/i2c_device/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/i2s_audio/test.esp32-idf.yaml b/tests/components/i2s_audio/test.esp32-idf.yaml index ce751d7d4a..ead1eaa1e9 100644 --- a/tests/components/i2s_audio/test.esp32-idf.yaml +++ b/tests/components/i2s_audio/test.esp32-idf.yaml @@ -1,6 +1,9 @@ substitutions: i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 + i2s_lrclk_pin: GPIO4 + i2s_mclk_pin: GPIO5 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/common.yaml b/tests/components/iaqcore/common.yaml index 927b836c52..e0f9d09a00 100644 --- a/tests/components/iaqcore/common.yaml +++ b/tests/components/iaqcore/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_iaqcore - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: iaqcore + i2c_id: i2c_bus co2: name: iAQ Core CO2 Sensor tvoc: diff --git a/tests/components/iaqcore/test.esp32-c3-idf.yaml b/tests/components/iaqcore/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/iaqcore/test.esp32-c3-idf.yaml +++ b/tests/components/iaqcore/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp32-idf.yaml b/tests/components/iaqcore/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/iaqcore/test.esp32-idf.yaml +++ b/tests/components/iaqcore/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/test.esp8266-ard.yaml b/tests/components/iaqcore/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/iaqcore/test.esp8266-ard.yaml +++ b/tests/components/iaqcore/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/iaqcore/test.rp2040-ard.yaml b/tests/components/iaqcore/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/iaqcore/test.rp2040-ard.yaml +++ b/tests/components/iaqcore/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ili9xxx/common.yaml b/tests/components/ili9xxx/common.yaml index b182d110cd..47384b1398 100644 --- a/tests/components/ili9xxx/common.yaml +++ b/tests/components/ili9xxx/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_main_lcd - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ili9xxx invert_colors: true diff --git a/tests/components/ili9xxx/test.esp32-c3-idf.yaml b/tests/components/ili9xxx/test.esp32-c3-idf.yaml index 3037785e81..1eea1e85f7 100644 --- a/tests/components/ili9xxx/test.esp32-c3-idf.yaml +++ b/tests/components/ili9xxx/test.esp32-c3-idf.yaml @@ -1,12 +1,11 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin1: GPIO8 dc_pin1: GPIO9 reset_pin1: GPIO10 cs_pin2: GPIO2 dc_pin2: GPIO3 - reset_pin2: GPIO4 + reset_pin2: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp32-idf.yaml b/tests/components/ili9xxx/test.esp32-idf.yaml index 2e006d2521..866e57573b 100644 --- a/tests/components/ili9xxx/test.esp32-idf.yaml +++ b/tests/components/ili9xxx/test.esp32-idf.yaml @@ -1,6 +1,4 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin1: GPIO12 dc_pin1: GPIO13 reset_pin1: GPIO14 @@ -8,4 +6,7 @@ substitutions: dc_pin2: GPIO26 reset_pin2: GPIO27 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ili9xxx/test.esp8266-ard.yaml b/tests/components/ili9xxx/test.esp8266-ard.yaml index 5dee055fd4..feb7773794 100644 --- a/tests/components/ili9xxx/test.esp8266-ard.yaml +++ b/tests/components/ili9xxx/test.esp8266-ard.yaml @@ -9,4 +9,7 @@ substitutions: dc_pin2: GPIO4 reset_pin2: GPIO0 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ili9xxx/test.rp2040-ard.yaml b/tests/components/ili9xxx/test.rp2040-ard.yaml index 74c9b906e9..2acde3e629 100644 --- a/tests/components/ili9xxx/test.rp2040-ard.yaml +++ b/tests/components/ili9xxx/test.rp2040-ard.yaml @@ -9,4 +9,7 @@ substitutions: dc_pin2: GPIO21 reset_pin2: GPIO22 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/image/test.esp32-idf.yaml b/tests/components/image/test.esp32-idf.yaml index 814f16c36c..aea2b4bbb0 100644 --- a/tests/components/image/test.esp32-idf.yaml +++ b/tests/components/image/test.esp32-idf.yaml @@ -1,14 +1,12 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 18 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 - cs_pin: 19 + cs_pin: 15 dc_pin: 13 reset_pin: 21 invert_colors: true diff --git a/tests/components/image/test.esp8266-ard.yaml b/tests/components/image/test.esp8266-ard.yaml index 626076d44e..2e7bfc5ae5 100644 --- a/tests/components/image/test.esp8266-ard.yaml +++ b/tests/components/image/test.esp8266-ard.yaml @@ -1,12 +1,10 @@ -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 5 dc_pin: 15 diff --git a/tests/components/image/test.rp2040-ard.yaml b/tests/components/image/test.rp2040-ard.yaml index 5167c99a7d..40f17d57fe 100644 --- a/tests/components/image/test.rp2040-ard.yaml +++ b/tests/components/image/test.rp2040-ard.yaml @@ -1,12 +1,10 @@ -spi: - - id: spi_main_lcd - clk_pin: 2 - mosi_pin: 3 - miso_pin: 4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml display: - platform: ili9xxx id: main_lcd + spi_id: spi_bus model: ili9342 cs_pin: 20 dc_pin: 21 diff --git a/tests/components/ina219/common.yaml b/tests/components/ina219/common.yaml index 4ca4c9ed8f..71291a082d 100644 --- a/tests/components/ina219/common.yaml +++ b/tests/components/ina219/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina219 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina219 + i2c_id: i2c_bus address: 0x40 shunt_resistance: 0.1 ohm current: diff --git a/tests/components/ina219/test.esp32-c3-idf.yaml b/tests/components/ina219/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina219/test.esp32-c3-idf.yaml +++ b/tests/components/ina219/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina219/test.esp32-idf.yaml b/tests/components/ina219/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina219/test.esp32-idf.yaml +++ b/tests/components/ina219/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina219/test.esp8266-ard.yaml b/tests/components/ina219/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina219/test.esp8266-ard.yaml +++ b/tests/components/ina219/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina219/test.rp2040-ard.yaml b/tests/components/ina219/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina219/test.rp2040-ard.yaml +++ b/tests/components/ina219/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina226/common.yaml b/tests/components/ina226/common.yaml index 8bcd038e50..7cbaf8cb2f 100644 --- a/tests/components/ina226/common.yaml +++ b/tests/components/ina226/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina226 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina226 + i2c_id: i2c_bus address: 0x40 shunt_resistance: 0.1 ohm current: diff --git a/tests/components/ina226/test.esp32-c3-idf.yaml b/tests/components/ina226/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina226/test.esp32-c3-idf.yaml +++ b/tests/components/ina226/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina226/test.esp32-idf.yaml b/tests/components/ina226/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina226/test.esp32-idf.yaml +++ b/tests/components/ina226/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina226/test.esp8266-ard.yaml b/tests/components/ina226/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina226/test.esp8266-ard.yaml +++ b/tests/components/ina226/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina226/test.rp2040-ard.yaml b/tests/components/ina226/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina226/test.rp2040-ard.yaml +++ b/tests/components/ina226/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina260/common.yaml b/tests/components/ina260/common.yaml index ab94b2e509..f630d0bb47 100644 --- a/tests/components/ina260/common.yaml +++ b/tests/components/ina260/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina260 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina260 + i2c_id: i2c_bus address: 0x40 current: name: INA260 Current diff --git a/tests/components/ina260/test.esp32-c3-idf.yaml b/tests/components/ina260/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina260/test.esp32-c3-idf.yaml +++ b/tests/components/ina260/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina260/test.esp32-idf.yaml b/tests/components/ina260/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina260/test.esp32-idf.yaml +++ b/tests/components/ina260/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina260/test.esp8266-ard.yaml b/tests/components/ina260/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina260/test.esp8266-ard.yaml +++ b/tests/components/ina260/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina260/test.rp2040-ard.yaml b/tests/components/ina260/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina260/test.rp2040-ard.yaml +++ b/tests/components/ina260/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/common.yaml b/tests/components/ina2xx_i2c/common.yaml index 320b680b6b..7d586f136e 100644 --- a/tests/components/ina2xx_i2c/common.yaml +++ b/tests/components/ina2xx_i2c/common.yaml @@ -1,11 +1,6 @@ -i2c: - - id: i2c_ina2xx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina2xx_i2c - i2c_id: i2c_ina2xx + i2c_id: i2c_bus address: 0x40 model: INA228 shunt_resistance: 0.001130 ohm diff --git a/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml b/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ina2xx_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp32-idf.yaml b/tests/components/ina2xx_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina2xx_i2c/test.esp32-idf.yaml +++ b/tests/components/ina2xx_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.esp8266-ard.yaml b/tests/components/ina2xx_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina2xx_i2c/test.esp8266-ard.yaml +++ b/tests/components/ina2xx_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/test.rp2040-ard.yaml b/tests/components/ina2xx_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina2xx_i2c/test.rp2040-ard.yaml +++ b/tests/components/ina2xx_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/common.yaml b/tests/components/ina2xx_spi/common.yaml index 3eab7e6f0a..d9b2300e26 100644 --- a/tests/components/ina2xx_spi/common.yaml +++ b/tests/components/ina2xx_spi/common.yaml @@ -1,12 +1,5 @@ -spi: - - id: spi_ina2xx - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: ina2xx_spi - spi_id: spi_ina2xx cs_pin: ${cs_pin} model: INA229 shunt_resistance: 0.001130 ohm diff --git a/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml b/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ina2xx_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp32-idf.yaml b/tests/components/ina2xx_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/ina2xx_spi/test.esp32-idf.yaml +++ b/tests/components/ina2xx_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.esp8266-ard.yaml b/tests/components/ina2xx_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/ina2xx_spi/test.esp8266-ard.yaml +++ b/tests/components/ina2xx_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ina2xx_spi/test.rp2040-ard.yaml b/tests/components/ina2xx_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/ina2xx_spi/test.rp2040-ard.yaml +++ b/tests/components/ina2xx_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ina3221/common.yaml b/tests/components/ina3221/common.yaml index ba1abdfe3a..570d1b0a12 100644 --- a/tests/components/ina3221/common.yaml +++ b/tests/components/ina3221/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ina3221 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ina3221 + i2c_id: i2c_bus address: 0x40 channel_1: shunt_resistance: 0.1 ohm diff --git a/tests/components/ina3221/test.esp32-c3-idf.yaml b/tests/components/ina3221/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ina3221/test.esp32-c3-idf.yaml +++ b/tests/components/ina3221/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina3221/test.esp32-idf.yaml b/tests/components/ina3221/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ina3221/test.esp32-idf.yaml +++ b/tests/components/ina3221/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ina3221/test.esp8266-ard.yaml b/tests/components/ina3221/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ina3221/test.esp8266-ard.yaml +++ b/tests/components/ina3221/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ina3221/test.rp2040-ard.yaml b/tests/components/ina3221/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ina3221/test.rp2040-ard.yaml +++ b/tests/components/ina3221/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml +++ b/tests/components/inkbird_ibsth1_mini/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml b/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml +++ b/tests/components/inkbird_ibsth1_mini/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/inkplate/common.yaml b/tests/components/inkplate/common.yaml index 7050b1739f..bb18ff4f7e 100644 --- a/tests/components/inkplate/common.yaml +++ b/tests/components/inkplate/common.yaml @@ -1,13 +1,9 @@ -i2c: - - id: i2c_inkplate - scl: 16 - sda: 17 - esp32: cpu_frequency: 240MHz display: - platform: inkplate + i2c_id: i2c_bus id: inkplate_display greyscale: false partial_updating: false diff --git a/tests/components/inkplate/test.esp32-idf.yaml b/tests/components/inkplate/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/inkplate/test.esp32-idf.yaml +++ b/tests/components/inkplate/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/common.yaml b/tests/components/jsn_sr04t/common.yaml index d6871d5e91..bc2c301c2e 100644 --- a/tests/components/jsn_sr04t/common.yaml +++ b/tests/components/jsn_sr04t/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_jsn_sr04t - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: jsn_sr04t id: jsn_sr04t_sensor diff --git a/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml b/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml +++ b/tests/components/jsn_sr04t/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp32-idf.yaml b/tests/components/jsn_sr04t/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/jsn_sr04t/test.esp32-idf.yaml +++ b/tests/components/jsn_sr04t/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.esp8266-ard.yaml b/tests/components/jsn_sr04t/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/jsn_sr04t/test.esp8266-ard.yaml +++ b/tests/components/jsn_sr04t/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/jsn_sr04t/test.rp2040-ard.yaml b/tests/components/jsn_sr04t/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/jsn_sr04t/test.rp2040-ard.yaml +++ b/tests/components/jsn_sr04t/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/kamstrup_kmp/common.yaml b/tests/components/kamstrup_kmp/common.yaml index b348d03c72..b3ebea523c 100644 --- a/tests/components/kamstrup_kmp/common.yaml +++ b/tests/components/kamstrup_kmp/common.yaml @@ -1,9 +1,3 @@ -uart: - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 1200 - stop_bits: 2 - sensor: - platform: kamstrup_kmp heat_energy: diff --git a/tests/components/kamstrup_kmp/test.esp32-idf.yaml b/tests/components/kamstrup_kmp/test.esp32-idf.yaml index adc2c4d24a..1016905720 100644 --- a/tests/components/kamstrup_kmp/test.esp32-idf.yaml +++ b/tests/components/kamstrup_kmp/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO1 - uart_rx_pin: GPIO3 +packages: + uart_1200: !include ../../test_build_components/common/uart_1200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/kamstrup_kmp/test.esp8266-ard.yaml b/tests/components/kamstrup_kmp/test.esp8266-ard.yaml index adc2c4d24a..f55c18eb76 100644 --- a/tests/components/kamstrup_kmp/test.esp8266-ard.yaml +++ b/tests/components/kamstrup_kmp/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: uart_tx_pin: GPIO1 uart_rx_pin: GPIO3 +packages: + uart_1200: !include ../../test_build_components/common/uart_1200/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/kmeteriso/common.yaml b/tests/components/kmeteriso/common.yaml index 6b68175904..8542bb6a06 100644 --- a/tests/components/kmeteriso/common.yaml +++ b/tests/components/kmeteriso/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_kmeteriso - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: kmeteriso + i2c_id: i2c_bus temperature: name: Outside Temperature internal_temperature: diff --git a/tests/components/kmeteriso/test.esp32-c3-idf.yaml b/tests/components/kmeteriso/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/kmeteriso/test.esp32-c3-idf.yaml +++ b/tests/components/kmeteriso/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp32-idf.yaml b/tests/components/kmeteriso/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/kmeteriso/test.esp32-idf.yaml +++ b/tests/components/kmeteriso/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/kmeteriso/test.esp8266-ard.yaml b/tests/components/kmeteriso/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/kmeteriso/test.esp8266-ard.yaml +++ b/tests/components/kmeteriso/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/kmeteriso/test.rp2040-ard.yaml b/tests/components/kmeteriso/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/kmeteriso/test.rp2040-ard.yaml +++ b/tests/components/kmeteriso/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/kuntze/common.yaml b/tests/components/kuntze/common.yaml index 4daecea242..32c6fa3809 100644 --- a/tests/components/kuntze/common.yaml +++ b/tests/components/kuntze/common.yaml @@ -1,14 +1,6 @@ -uart: - - id: uart_kuntze - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - flow_control_pin: ${flow_control_pin} - sensor: - platform: kuntze + modbus_id: modbus_bus ph: name: Kuntze pH temperature: diff --git a/tests/components/kuntze/test.esp32-c3-idf.yaml b/tests/components/kuntze/test.esp32-c3-idf.yaml index 452031a5aa..17940aafcf 100644 --- a/tests/components/kuntze/test.esp32-c3-idf.yaml +++ b/tests/components/kuntze/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/kuntze/test.esp32-idf.yaml b/tests/components/kuntze/test.esp32-idf.yaml index bd767a8ece..a755bfa66a 100644 --- a/tests/components/kuntze/test.esp32-idf.yaml +++ b/tests/components/kuntze/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/kuntze/test.esp8266-ard.yaml b/tests/components/kuntze/test.esp8266-ard.yaml index 29c98d0957..6daa08c22b 100644 --- a/tests/components/kuntze/test.esp8266-ard.yaml +++ b/tests/components/kuntze/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/kuntze/test.rp2040-ard.yaml b/tests/components/kuntze/test.rp2040-ard.yaml index 452031a5aa..a00283a9e0 100644 --- a/tests/components/kuntze/test.rp2040-ard.yaml +++ b/tests/components/kuntze/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lc709203f/common.yaml b/tests/components/lc709203f/common.yaml index 53177c0d4a..3711e5372c 100644 --- a/tests/components/lc709203f/common.yaml +++ b/tests/components/lc709203f/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_lc709203f - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: lc709203f + i2c_id: i2c_bus size: 2000 voltage: 3.7 battery_voltage: diff --git a/tests/components/lc709203f/test.esp32-c3-idf.yaml b/tests/components/lc709203f/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/lc709203f/test.esp32-c3-idf.yaml +++ b/tests/components/lc709203f/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp32-idf.yaml b/tests/components/lc709203f/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/lc709203f/test.esp32-idf.yaml +++ b/tests/components/lc709203f/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lc709203f/test.esp8266-ard.yaml b/tests/components/lc709203f/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/lc709203f/test.esp8266-ard.yaml +++ b/tests/components/lc709203f/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lc709203f/test.rp2040-ard.yaml b/tests/components/lc709203f/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/lc709203f/test.rp2040-ard.yaml +++ b/tests/components/lc709203f/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp32-idf.yaml b/tests/components/lcd_gpio/test.esp32-idf.yaml index 9c2af456b5..93abad5e38 100644 --- a/tests/components/lcd_gpio/test.esp32-idf.yaml +++ b/tests/components/lcd_gpio/test.esp32-idf.yaml @@ -3,7 +3,7 @@ substitutions: d1_pin: GPIO13 d2_pin: GPIO14 d3_pin: GPIO15 - enable_pin: GPIO16 + enable_pin: GPIO4 rs_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/lcd_gpio/test.esp8266-ard.yaml b/tests/components/lcd_gpio/test.esp8266-ard.yaml index 9c2af456b5..50471a16f4 100644 --- a/tests/components/lcd_gpio/test.esp8266-ard.yaml +++ b/tests/components/lcd_gpio/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 + d0_pin: GPIO0 + d1_pin: GPIO2 d2_pin: GPIO14 d3_pin: GPIO15 enable_pin: GPIO16 diff --git a/tests/components/lcd_menu/test.esp32-idf.yaml b/tests/components/lcd_menu/test.esp32-idf.yaml index 9c2af456b5..93abad5e38 100644 --- a/tests/components/lcd_menu/test.esp32-idf.yaml +++ b/tests/components/lcd_menu/test.esp32-idf.yaml @@ -3,7 +3,7 @@ substitutions: d1_pin: GPIO13 d2_pin: GPIO14 d3_pin: GPIO15 - enable_pin: GPIO16 + enable_pin: GPIO4 rs_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/lcd_menu/test.esp8266-ard.yaml b/tests/components/lcd_menu/test.esp8266-ard.yaml index 9c2af456b5..50471a16f4 100644 --- a/tests/components/lcd_menu/test.esp8266-ard.yaml +++ b/tests/components/lcd_menu/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - d0_pin: GPIO12 - d1_pin: GPIO13 + d0_pin: GPIO0 + d1_pin: GPIO2 d2_pin: GPIO14 d3_pin: GPIO15 enable_pin: GPIO16 diff --git a/tests/components/lcd_pcf8574/common.yaml b/tests/components/lcd_pcf8574/common.yaml index 8b03cf5497..1ec4400332 100644 --- a/tests/components/lcd_pcf8574/common.yaml +++ b/tests/components/lcd_pcf8574/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_lcd_pcf8574 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: lcd_pcf8574 + i2c_id: i2c_bus dimensions: 18x4 address: 0x3F user_characters: diff --git a/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml b/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml +++ b/tests/components/lcd_pcf8574/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp32-idf.yaml b/tests/components/lcd_pcf8574/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/lcd_pcf8574/test.esp32-idf.yaml +++ b/tests/components/lcd_pcf8574/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.esp8266-ard.yaml b/tests/components/lcd_pcf8574/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/lcd_pcf8574/test.esp8266-ard.yaml +++ b/tests/components/lcd_pcf8574/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lcd_pcf8574/test.rp2040-ard.yaml b/tests/components/lcd_pcf8574/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/lcd_pcf8574/test.rp2040-ard.yaml +++ b/tests/components/lcd_pcf8574/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2410/common.yaml b/tests/components/ld2410/common.yaml index e975fcf757..7d168bf7ec 100644 --- a/tests/components/ld2410/common.yaml +++ b/tests/components/ld2410/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_ld2410 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - ld2410: id: my_ld2410 diff --git a/tests/components/ld2410/test.esp32-c3-idf.yaml b/tests/components/ld2410/test.esp32-c3-idf.yaml index b516342f3b..7a8f790ed8 100644 --- a/tests/components/ld2410/test.esp32-c3-idf.yaml +++ b/tests/components/ld2410/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ld2410/test.esp32-idf.yaml b/tests/components/ld2410/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/ld2410/test.esp32-idf.yaml +++ b/tests/components/ld2410/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2410/test.esp8266-ard.yaml b/tests/components/ld2410/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2410/test.esp8266-ard.yaml +++ b/tests/components/ld2410/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2410/test.rp2040-ard.yaml b/tests/components/ld2410/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2410/test.rp2040-ard.yaml +++ b/tests/components/ld2410/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ld2412/common.yaml b/tests/components/ld2412/common.yaml index 9176c61fd5..18c4612ffe 100644 --- a/tests/components/ld2412/common.yaml +++ b/tests/components/ld2412/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_ld2412 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - ld2412: id: my_ld2412 @@ -123,13 +117,13 @@ select: on_value: - delay: 3s - lambda: |- - id(uart_ld2412).flush(); + id(uart_bus).flush(); uint32_t new_baud_rate = stoi(x); - ESP_LOGD("change_baud_rate", "Changing baud rate from %i to %i",id(uart_ld2412).get_baud_rate(), new_baud_rate); - if (id(uart_ld2412).get_baud_rate() != new_baud_rate) { - id(uart_ld2412).set_baud_rate(new_baud_rate); + ESP_LOGD("change_baud_rate", "Changing baud rate from %i to %i",id(uart_bus).get_baud_rate(), new_baud_rate); + if (id(uart_bus).get_baud_rate() != new_baud_rate) { + id(uart_bus).set_baud_rate(new_baud_rate); #if defined(USE_ESP8266) || defined(USE_ESP32) - id(uart_ld2412).load_settings(); + id(uart_bus).load_settings(); #endif } diff --git a/tests/components/ld2412/test.esp32-c3-idf.yaml b/tests/components/ld2412/test.esp32-c3-idf.yaml index b516342f3b..7a8f790ed8 100644 --- a/tests/components/ld2412/test.esp32-c3-idf.yaml +++ b/tests/components/ld2412/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ld2412/test.esp32-idf.yaml b/tests/components/ld2412/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/ld2412/test.esp32-idf.yaml +++ b/tests/components/ld2412/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2412/test.esp8266-ard.yaml b/tests/components/ld2412/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2412/test.esp8266-ard.yaml +++ b/tests/components/ld2412/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2412/test.rp2040-ard.yaml b/tests/components/ld2412/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2412/test.rp2040-ard.yaml +++ b/tests/components/ld2412/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ld2420/common.yaml b/tests/components/ld2420/common.yaml index 76748aa8f0..1539df4d1b 100644 --- a/tests/components/ld2420/common.yaml +++ b/tests/components/ld2420/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_ld2420 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - ld2420: id: my_ld2420 diff --git a/tests/components/ld2420/test.esp32-c3-idf.yaml b/tests/components/ld2420/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/ld2420/test.esp32-c3-idf.yaml +++ b/tests/components/ld2420/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2420/test.esp32-idf.yaml b/tests/components/ld2420/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/ld2420/test.esp32-idf.yaml +++ b/tests/components/ld2420/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2420/test.esp8266-ard.yaml b/tests/components/ld2420/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2420/test.esp8266-ard.yaml +++ b/tests/components/ld2420/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2420/test.rp2040-ard.yaml b/tests/components/ld2420/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2420/test.rp2040-ard.yaml +++ b/tests/components/ld2420/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ld2450/common.yaml b/tests/components/ld2450/common.yaml index c18bed46b0..9dcefffd09 100644 --- a/tests/components/ld2450/common.yaml +++ b/tests/components/ld2450/common.yaml @@ -1,14 +1,5 @@ -uart: - - id: ld2450_uart - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 256000 - parity: NONE - stop_bits: 1 - ld2450: - id: ld2450_radar - uart_id: ld2450_uart button: - platform: ld2450 diff --git a/tests/components/ld2450/test.esp32-c3-idf.yaml b/tests/components/ld2450/test.esp32-c3-idf.yaml index b516342f3b..7a8f790ed8 100644 --- a/tests/components/ld2450/test.esp32-c3-idf.yaml +++ b/tests/components/ld2450/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ld2450/test.esp32-idf.yaml b/tests/components/ld2450/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/ld2450/test.esp32-idf.yaml +++ b/tests/components/ld2450/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ld2450/test.esp8266-ard.yaml b/tests/components/ld2450/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/ld2450/test.esp8266-ard.yaml +++ b/tests/components/ld2450/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ld2450/test.rp2040-ard.yaml b/tests/components/ld2450/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/ld2450/test.rp2040-ard.yaml +++ b/tests/components/ld2450/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/common.yaml b/tests/components/lilygo_t5_47/common.yaml index f539c58d74..7079139ec7 100644 --- a/tests/components/lilygo_t5_47/common.yaml +++ b/tests/components/lilygo_t5_47/common.yaml @@ -1,20 +1,17 @@ -i2c: - - id: i2c_lilygo_t5_47 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: - - id: page1 + - id: lilygo_t5_47_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: lilygo_t5_47 + i2c_id: i2c_bus id: lilygo_touchscreen interrupt_pin: ${interrupt_pin} display: ssd1306_display diff --git a/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml b/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml index 061a98ce24..febf38d8e1 100644 --- a/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml +++ b/tests/components/lilygo_t5_47/test.esp32-c3-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp32-idf.yaml b/tests/components/lilygo_t5_47/test.esp32-idf.yaml index 342f0b6d8b..590f6a919c 100644 --- a/tests/components/lilygo_t5_47/test.esp32-idf.yaml +++ b/tests/components/lilygo_t5_47/test.esp32-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.esp8266-ard.yaml b/tests/components/lilygo_t5_47/test.esp8266-ard.yaml index b446a75f13..3684d5e77b 100644 --- a/tests/components/lilygo_t5_47/test.esp8266-ard.yaml +++ b/tests/components/lilygo_t5_47/test.esp8266-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - interrupt_pin: GPIO12 + interrupt_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lilygo_t5_47/test.rp2040-ard.yaml b/tests/components/lilygo_t5_47/test.rp2040-ard.yaml index 061a98ce24..2dd70ff33a 100644 --- a/tests/components/lilygo_t5_47/test.rp2040-ard.yaml +++ b/tests/components/lilygo_t5_47/test.rp2040-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/lm75b/common.yaml b/tests/components/lm75b/common.yaml index e451c2f679..39c39ed8dc 100644 --- a/tests/components/lm75b/common.yaml +++ b/tests/components/lm75b/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_lm75b - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: lm75b + i2c_id: i2c_bus name: LM75B Temperature update_interval: 30s diff --git a/tests/components/lm75b/test.esp32-c3-idf.yaml b/tests/components/lm75b/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/lm75b/test.esp32-c3-idf.yaml +++ b/tests/components/lm75b/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lm75b/test.esp32-idf.yaml b/tests/components/lm75b/test.esp32-idf.yaml index 43264df633..b47e39c389 100644 --- a/tests/components/lm75b/test.esp32-idf.yaml +++ b/tests/components/lm75b/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO15 - sda_pin: GPIO13 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lm75b/test.esp8266-ard.yaml b/tests/components/lm75b/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/lm75b/test.esp8266-ard.yaml +++ b/tests/components/lm75b/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lm75b/test.rp2040-ard.yaml b/tests/components/lm75b/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/lm75b/test.rp2040-ard.yaml +++ b/tests/components/lm75b/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/lock/common.yaml b/tests/components/lock/common.yaml index 67da46653c..1ee88a239a 100644 --- a/tests/components/lock/common.yaml +++ b/tests/components/lock/common.yaml @@ -27,7 +27,9 @@ lock: id: test_lock1 state: !lambda "return LOCK_STATE_UNLOCKED;" on_lock: - - lock.template.publish: LOCKED + - lock.template.publish: + id: test_lock1 + state: LOCKED - platform: output name: Generic Output Lock id: test_lock2 diff --git a/tests/components/lps22/common.yaml b/tests/components/lps22/common.yaml index e6de4752ba..026b3620cd 100644 --- a/tests/components/lps22/common.yaml +++ b/tests/components/lps22/common.yaml @@ -1,5 +1,6 @@ sensor: - platform: lps22 + i2c_id: i2c_bus address: 0x5d update_interval: 10s temperature: diff --git a/tests/components/lps22/test.esp32-c3-idf.yaml b/tests/components/lps22/test.esp32-c3-idf.yaml index 6091393d31..9990d96d29 100644 --- a/tests/components/lps22/test.esp32-c3-idf.yaml +++ b/tests/components/lps22/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/lps22/test.esp32-idf.yaml b/tests/components/lps22/test.esp32-idf.yaml index 0da6a9577e..b47e39c389 100644 --- a/tests/components/lps22/test.esp32-idf.yaml +++ b/tests/components/lps22/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 16 - sda: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/lps22/test.esp8266-ard.yaml b/tests/components/lps22/test.esp8266-ard.yaml index 6091393d31..4a98b9388a 100644 --- a/tests/components/lps22/test.esp8266-ard.yaml +++ b/tests/components/lps22/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/lps22/test.rp2040-ard.yaml b/tests/components/lps22/test.rp2040-ard.yaml index 6091393d31..319a7c71a6 100644 --- a/tests/components/lps22/test.rp2040-ard.yaml +++ b/tests/components/lps22/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_lps22 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/common.yaml b/tests/components/ltr390/common.yaml index e5e331e7ba..c168da557b 100644 --- a/tests/components/ltr390/common.yaml +++ b/tests/components/ltr390/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ltr390 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: ltr390 + i2c_id: i2c_bus uv: name: LTR390 UV 1 uv_index: @@ -19,6 +15,7 @@ sensor: address: 0x53 update_interval: 60s - platform: ltr390 + i2c_id: i2c_bus uv: name: LTR390 UV 2 uv_index: diff --git a/tests/components/ltr390/test.esp32-c3-idf.yaml b/tests/components/ltr390/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ltr390/test.esp32-c3-idf.yaml +++ b/tests/components/ltr390/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/test.esp32-idf.yaml b/tests/components/ltr390/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ltr390/test.esp32-idf.yaml +++ b/tests/components/ltr390/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/test.esp8266-ard.yaml b/tests/components/ltr390/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ltr390/test.esp8266-ard.yaml +++ b/tests/components/ltr390/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr390/test.rp2040-ard.yaml b/tests/components/ltr390/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ltr390/test.rp2040-ard.yaml +++ b/tests/components/ltr390/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/common.yaml b/tests/components/ltr501/common.yaml index b7074f52f2..77c6f13739 100644 --- a/tests/components/ltr501/common.yaml +++ b/tests/components/ltr501/common.yaml @@ -1,7 +1,6 @@ sensor: - platform: ltr501 address: 0x23 - i2c_id: i2c_ltr501 type: ALS_PS gain: 1X integration_time: 100ms diff --git a/tests/components/ltr501/test.esp32-c3-idf.yaml b/tests/components/ltr501/test.esp32-c3-idf.yaml index 9e7de2768d..72703301a1 100644 --- a/tests/components/ltr501/test.esp32-c3-idf.yaml +++ b/tests/components/ltr501/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/test.esp32-idf.yaml b/tests/components/ltr501/test.esp32-idf.yaml index 4c710c74fe..7a5d01898a 100644 --- a/tests/components/ltr501/test.esp32-idf.yaml +++ b/tests/components/ltr501/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 16 - sda: 17 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/test.esp8266-ard.yaml b/tests/components/ltr501/test.esp8266-ard.yaml index 9e7de2768d..9e23bb3778 100644 --- a/tests/components/ltr501/test.esp8266-ard.yaml +++ b/tests/components/ltr501/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr501/test.rp2040-ard.yaml b/tests/components/ltr501/test.rp2040-ard.yaml index 9e7de2768d..a7eb30036f 100644 --- a/tests/components/ltr501/test.rp2040-ard.yaml +++ b/tests/components/ltr501/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_ltr501 - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/common.yaml b/tests/components/ltr_als_ps/common.yaml index aa5c8abed7..edad4b2e4f 100644 --- a/tests/components/ltr_als_ps/common.yaml +++ b/tests/components/ltr_als_ps/common.yaml @@ -1,7 +1,6 @@ sensor: - platform: ltr_als_ps address: 0x23 - i2c_id: i2c_als_ps gain: 1x integration_time: 100ms ps_cooldown: 5 s diff --git a/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml b/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml index d64d70f018..72703301a1 100644 --- a/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml +++ b/tests/components/ltr_als_ps/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp32-idf.yaml b/tests/components/ltr_als_ps/test.esp32-idf.yaml index 2349292a64..7a5d01898a 100644 --- a/tests/components/ltr_als_ps/test.esp32-idf.yaml +++ b/tests/components/ltr_als_ps/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 16 - sda: 17 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.esp8266-ard.yaml b/tests/components/ltr_als_ps/test.esp8266-ard.yaml index d64d70f018..9e23bb3778 100644 --- a/tests/components/ltr_als_ps/test.esp8266-ard.yaml +++ b/tests/components/ltr_als_ps/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ltr_als_ps/test.rp2040-ard.yaml b/tests/components/ltr_als_ps/test.rp2040-ard.yaml index d64d70f018..a7eb30036f 100644 --- a/tests/components/ltr_als_ps/test.rp2040-ard.yaml +++ b/tests/components/ltr_als_ps/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_als_ps - scl: 5 - sda: 4 +packages: + i2c_low_freq: !include ../../test_build_components/common/i2c_low_freq/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/lvgl/common.yaml b/tests/components/lvgl/common.yaml index a035900386..d9b7013a1e 100644 --- a/tests/components/lvgl/common.yaml +++ b/tests/components/lvgl/common.yaml @@ -1,5 +1,6 @@ touchscreen: - platform: ft63x6 + i2c_id: i2c_bus id: tft_touch display: tft_display update_interval: 50ms diff --git a/tests/components/lvgl/test.esp32-idf.yaml b/tests/components/lvgl/test.esp32-idf.yaml index eacace1d4b..6170b0f4fb 100644 --- a/tests/components/lvgl/test.esp32-idf.yaml +++ b/tests/components/lvgl/test.esp32-idf.yaml @@ -1,10 +1,7 @@ -spi: - clk_pin: 14 - mosi_pin: 13 - -i2c: - sda: GPIO18 - scl: GPIO19 +packages: + lvgl: !include lvgl-package.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml sensor: - platform: rotary_encoder @@ -25,6 +22,7 @@ binary_sensor: display: - platform: ili9xxx + spi_id: spi_bus model: st7789v id: second_display dimensions: @@ -44,6 +42,7 @@ display: update_interval: never - platform: ili9xxx + spi_id: spi_bus model: st7789v id: tft_display dimensions: @@ -60,9 +59,6 @@ display: invert_colors: false update_interval: never -packages: - lvgl: !include lvgl-package.yaml - lvgl: displays: - tft_display diff --git a/tests/components/m5stack_8angle/common.yaml b/tests/components/m5stack_8angle/common.yaml index d7f988ed3a..d0af24116c 100644 --- a/tests/components/m5stack_8angle/common.yaml +++ b/tests/components/m5stack_8angle/common.yaml @@ -1,10 +1,5 @@ -i2c: - sda: 0 - scl: 1 - id: bus_external - m5stack_8angle: - i2c_id: bus_external + i2c_id: i2c_bus id: m5stack_8angle_base light: diff --git a/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml b/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml +++ b/tests/components/m5stack_8angle/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp32-idf.yaml b/tests/components/m5stack_8angle/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/m5stack_8angle/test.esp32-idf.yaml +++ b/tests/components/m5stack_8angle/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.esp8266-ard.yaml b/tests/components/m5stack_8angle/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/m5stack_8angle/test.esp8266-ard.yaml +++ b/tests/components/m5stack_8angle/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/m5stack_8angle/test.rp2040-ard.yaml b/tests/components/m5stack_8angle/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/m5stack_8angle/test.rp2040-ard.yaml +++ b/tests/components/m5stack_8angle/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mapping/test.esp32-c3-idf.yaml b/tests/components/mapping/test.esp32-c3-idf.yaml index f95dd4f30d..7911eb7edc 100644 --- a/tests/components/mapping/test.esp32-c3-idf.yaml +++ b/tests/components/mapping/test.esp32-c3-idf.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 6 - mosi_pin: 7 - miso_pin: 5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 9 reset_pin: 10 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/mapping/test.esp32-idf.yaml b/tests/components/mapping/test.esp32-idf.yaml index 231fdae797..a35b6940c7 100644 --- a/tests/components/mapping/test.esp32-idf.yaml +++ b/tests/components/mapping/test.esp32-idf.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 13 reset_pin: 21 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/mapping/test.esp8266-ard.yaml b/tests/components/mapping/test.esp8266-ard.yaml index a5b45d391a..c59821a211 100644 --- a/tests/components/mapping/test.esp8266-ard.yaml +++ b/tests/components/mapping/test.esp8266-ard.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 15 reset_pin: 16 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/mapping/test.rp2040-ard.yaml b/tests/components/mapping/test.rp2040-ard.yaml index f092686553..acc305a701 100644 --- a/tests/components/mapping/test.rp2040-ard.yaml +++ b/tests/components/mapping/test.rp2040-ard.yaml @@ -1,10 +1,9 @@ -spi: - - id: spi_main_lcd - clk_pin: 2 - mosi_pin: 3 - miso_pin: 4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + map: !include common.yaml display: + spi_id: spi_bus platform: ili9xxx id: main_lcd model: ili9342 @@ -12,6 +11,3 @@ display: dc_pin: 21 reset_pin: 22 invert_colors: false - -packages: - map: !include common.yaml diff --git a/tests/components/max17043/common.yaml b/tests/components/max17043/common.yaml index c2f324212e..f58006c460 100644 --- a/tests/components/max17043/common.yaml +++ b/tests/components/max17043/common.yaml @@ -3,15 +3,10 @@ esphome: then: - max17043.sleep_mode: max17043_id -i2c: - - id: i2c_id - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: max17043 + i2c_id: i2c_bus id: max17043_id - i2c_id: i2c_id battery_voltage: name: "Battery Voltage" battery_level: diff --git a/tests/components/max17043/test.esp32-c3-idf.yaml b/tests/components/max17043/test.esp32-c3-idf.yaml index 9a1477d4b9..9990d96d29 100644 --- a/tests/components/max17043/test.esp32-c3-idf.yaml +++ b/tests/components/max17043/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO8 - scl_pin: GPIO10 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max17043/test.esp32-idf.yaml b/tests/components/max17043/test.esp32-idf.yaml index c6615f51cd..b47e39c389 100644 --- a/tests/components/max17043/test.esp32-idf.yaml +++ b/tests/components/max17043/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO21 - scl_pin: GPIO22 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max17043/test.esp8266-ard.yaml b/tests/components/max17043/test.esp8266-ard.yaml index a87353b78b..4a98b9388a 100644 --- a/tests/components/max17043/test.esp8266-ard.yaml +++ b/tests/components/max17043/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max17043/test.rp2040-ard.yaml b/tests/components/max17043/test.rp2040-ard.yaml index c6615f51cd..319a7c71a6 100644 --- a/tests/components/max17043/test.rp2040-ard.yaml +++ b/tests/components/max17043/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO21 - scl_pin: GPIO22 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/max31855/common.yaml b/tests/components/max31855/common.yaml index 7136c597d5..905b111d71 100644 --- a/tests/components/max31855/common.yaml +++ b/tests/components/max31855/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max31855 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max31855 name: MAX31855 Temperature diff --git a/tests/components/max31855/test.esp32-c3-idf.yaml b/tests/components/max31855/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max31855/test.esp32-c3-idf.yaml +++ b/tests/components/max31855/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max31855/test.esp32-idf.yaml b/tests/components/max31855/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max31855/test.esp32-idf.yaml +++ b/tests/components/max31855/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max31855/test.esp8266-ard.yaml b/tests/components/max31855/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max31855/test.esp8266-ard.yaml +++ b/tests/components/max31855/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31855/test.rp2040-ard.yaml b/tests/components/max31855/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max31855/test.rp2040-ard.yaml +++ b/tests/components/max31855/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31856/common.yaml b/tests/components/max31856/common.yaml index 4f7c3ad408..9d420662d7 100644 --- a/tests/components/max31856/common.yaml +++ b/tests/components/max31856/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max31856 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max31856 name: MAX31856 Temperature diff --git a/tests/components/max31856/test.esp32-c3-idf.yaml b/tests/components/max31856/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max31856/test.esp32-c3-idf.yaml +++ b/tests/components/max31856/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max31856/test.esp32-idf.yaml b/tests/components/max31856/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max31856/test.esp32-idf.yaml +++ b/tests/components/max31856/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max31856/test.esp8266-ard.yaml b/tests/components/max31856/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max31856/test.esp8266-ard.yaml +++ b/tests/components/max31856/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31856/test.rp2040-ard.yaml b/tests/components/max31856/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max31856/test.rp2040-ard.yaml +++ b/tests/components/max31856/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31865/common.yaml b/tests/components/max31865/common.yaml index 5bb7bda5aa..6e71f17efc 100644 --- a/tests/components/max31865/common.yaml +++ b/tests/components/max31865/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max31865 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max31865 name: MAX31865 Temperature diff --git a/tests/components/max31865/test.esp32-c3-idf.yaml b/tests/components/max31865/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max31865/test.esp32-c3-idf.yaml +++ b/tests/components/max31865/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max31865/test.esp32-idf.yaml b/tests/components/max31865/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max31865/test.esp32-idf.yaml +++ b/tests/components/max31865/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max31865/test.esp8266-ard.yaml b/tests/components/max31865/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max31865/test.esp8266-ard.yaml +++ b/tests/components/max31865/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max31865/test.rp2040-ard.yaml b/tests/components/max31865/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max31865/test.rp2040-ard.yaml +++ b/tests/components/max31865/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max44009/common.yaml b/tests/components/max44009/common.yaml index ef51740895..523387e1cc 100644 --- a/tests/components/max44009/common.yaml +++ b/tests/components/max44009/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_max44009 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: max44009 + i2c_id: i2c_bus name: MAX44009 Brightness internal: true mode: low_power diff --git a/tests/components/max44009/test.esp32-c3-idf.yaml b/tests/components/max44009/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/max44009/test.esp32-c3-idf.yaml +++ b/tests/components/max44009/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max44009/test.esp32-idf.yaml b/tests/components/max44009/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/max44009/test.esp32-idf.yaml +++ b/tests/components/max44009/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max44009/test.esp8266-ard.yaml b/tests/components/max44009/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/max44009/test.esp8266-ard.yaml +++ b/tests/components/max44009/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max44009/test.rp2040-ard.yaml b/tests/components/max44009/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/max44009/test.rp2040-ard.yaml +++ b/tests/components/max44009/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/max6675/common.yaml b/tests/components/max6675/common.yaml index 5b4e04b317..31a4e7035a 100644 --- a/tests/components/max6675/common.yaml +++ b/tests/components/max6675/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max6675 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sensor: - platform: max6675 name: Temperature diff --git a/tests/components/max6675/test.esp32-c3-idf.yaml b/tests/components/max6675/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max6675/test.esp32-c3-idf.yaml +++ b/tests/components/max6675/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max6675/test.esp32-idf.yaml b/tests/components/max6675/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max6675/test.esp32-idf.yaml +++ b/tests/components/max6675/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max6675/test.esp8266-ard.yaml b/tests/components/max6675/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max6675/test.esp8266-ard.yaml +++ b/tests/components/max6675/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max6675/test.rp2040-ard.yaml b/tests/components/max6675/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max6675/test.rp2040-ard.yaml +++ b/tests/components/max6675/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max6956/common.yaml b/tests/components/max6956/common.yaml index e44e3464f8..665a606027 100644 --- a/tests/components/max6956/common.yaml +++ b/tests/components/max6956/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_max6956 - scl: ${scl_pin} - sda: ${sda_pin} - max6956: - id: max6956_1 + i2c_id: i2c_bus address: 0x40 binary_sensor: diff --git a/tests/components/max6956/test.esp32-c3-idf.yaml b/tests/components/max6956/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/max6956/test.esp32-c3-idf.yaml +++ b/tests/components/max6956/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max6956/test.esp32-idf.yaml b/tests/components/max6956/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/max6956/test.esp32-idf.yaml +++ b/tests/components/max6956/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max6956/test.esp8266-ard.yaml b/tests/components/max6956/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/max6956/test.esp8266-ard.yaml +++ b/tests/components/max6956/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max6956/test.rp2040-ard.yaml b/tests/components/max6956/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/max6956/test.rp2040-ard.yaml +++ b/tests/components/max6956/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/max7219/common.yaml b/tests/components/max7219/common.yaml index 0060db191e..5d7f54af17 100644 --- a/tests/components/max7219/common.yaml +++ b/tests/components/max7219/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max6675 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: max7219 cs_pin: ${cs_pin} diff --git a/tests/components/max7219/test.esp32-c3-idf.yaml b/tests/components/max7219/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max7219/test.esp32-c3-idf.yaml +++ b/tests/components/max7219/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max7219/test.esp32-idf.yaml b/tests/components/max7219/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max7219/test.esp32-idf.yaml +++ b/tests/components/max7219/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max7219/test.esp8266-ard.yaml b/tests/components/max7219/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max7219/test.esp8266-ard.yaml +++ b/tests/components/max7219/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max7219/test.rp2040-ard.yaml b/tests/components/max7219/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max7219/test.rp2040-ard.yaml +++ b/tests/components/max7219/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max7219digit/common.yaml b/tests/components/max7219digit/common.yaml index 84edc7eb3d..525b7b8d3e 100644 --- a/tests/components/max7219digit/common.yaml +++ b/tests/components/max7219digit/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_max7219digit - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: max7219digit cs_pin: ${cs_pin} diff --git a/tests/components/max7219digit/test.esp32-c3-idf.yaml b/tests/components/max7219digit/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/max7219digit/test.esp32-c3-idf.yaml +++ b/tests/components/max7219digit/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp32-idf.yaml b/tests/components/max7219digit/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/max7219digit/test.esp32-idf.yaml +++ b/tests/components/max7219digit/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/max7219digit/test.esp8266-ard.yaml b/tests/components/max7219digit/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/max7219digit/test.esp8266-ard.yaml +++ b/tests/components/max7219digit/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max7219digit/test.rp2040-ard.yaml b/tests/components/max7219digit/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/max7219digit/test.rp2040-ard.yaml +++ b/tests/components/max7219digit/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/max9611/common.yaml b/tests/components/max9611/common.yaml index c3c00fdf85..ca9ee59038 100644 --- a/tests/components/max9611/common.yaml +++ b/tests/components/max9611/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_max9611 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: max9611 + i2c_id: i2c_bus shunt_resistance: 0.2 ohm gain: 1X voltage: diff --git a/tests/components/max9611/test.esp32-c3-idf.yaml b/tests/components/max9611/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/max9611/test.esp32-c3-idf.yaml +++ b/tests/components/max9611/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/max9611/test.esp32-idf.yaml b/tests/components/max9611/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/max9611/test.esp32-idf.yaml +++ b/tests/components/max9611/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/max9611/test.esp8266-ard.yaml b/tests/components/max9611/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/max9611/test.esp8266-ard.yaml +++ b/tests/components/max9611/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/max9611/test.rp2040-ard.yaml b/tests/components/max9611/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/max9611/test.rp2040-ard.yaml +++ b/tests/components/max9611/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/common.yaml b/tests/components/mcp23008/common.yaml index 1954766d25..4a407adfd8 100644 --- a/tests/components/mcp23008/common.yaml +++ b/tests/components/mcp23008/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mcp23008 - scl: ${scl_pin} - sda: ${sda_pin} - mcp23008: + i2c_id: i2c_bus id: mcp23008_hub binary_sensor: diff --git a/tests/components/mcp23008/test.esp32-c3-idf.yaml b/tests/components/mcp23008/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp23008/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23008/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp32-idf.yaml b/tests/components/mcp23008/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp23008/test.esp32-idf.yaml +++ b/tests/components/mcp23008/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/test.esp8266-ard.yaml b/tests/components/mcp23008/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp23008/test.esp8266-ard.yaml +++ b/tests/components/mcp23008/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23008/test.rp2040-ard.yaml b/tests/components/mcp23008/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp23008/test.rp2040-ard.yaml +++ b/tests/components/mcp23008/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/common.yaml b/tests/components/mcp23016/common.yaml index 109cb34b21..e8e3ad9d08 100644 --- a/tests/components/mcp23016/common.yaml +++ b/tests/components/mcp23016/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mcp23016 - scl: ${scl_pin} - sda: ${sda_pin} - mcp23016: + i2c_id: i2c_bus id: mcp23016_hub binary_sensor: diff --git a/tests/components/mcp23016/test.esp32-c3-idf.yaml b/tests/components/mcp23016/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp23016/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23016/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp32-idf.yaml b/tests/components/mcp23016/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp23016/test.esp32-idf.yaml +++ b/tests/components/mcp23016/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/test.esp8266-ard.yaml b/tests/components/mcp23016/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp23016/test.esp8266-ard.yaml +++ b/tests/components/mcp23016/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23016/test.rp2040-ard.yaml b/tests/components/mcp23016/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp23016/test.rp2040-ard.yaml +++ b/tests/components/mcp23016/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/common.yaml b/tests/components/mcp23017/common.yaml index 74949bba76..54a97e911f 100644 --- a/tests/components/mcp23017/common.yaml +++ b/tests/components/mcp23017/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mcp23017 - scl: ${scl_pin} - sda: ${sda_pin} - mcp23017: + i2c_id: i2c_bus id: mcp23017_hub binary_sensor: diff --git a/tests/components/mcp23017/test.esp32-c3-idf.yaml b/tests/components/mcp23017/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp23017/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23017/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp32-idf.yaml b/tests/components/mcp23017/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp23017/test.esp32-idf.yaml +++ b/tests/components/mcp23017/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/test.esp8266-ard.yaml b/tests/components/mcp23017/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp23017/test.esp8266-ard.yaml +++ b/tests/components/mcp23017/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23017/test.rp2040-ard.yaml b/tests/components/mcp23017/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp23017/test.rp2040-ard.yaml +++ b/tests/components/mcp23017/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp23s08/common.yaml b/tests/components/mcp23s08/common.yaml index b89088fe15..2170ae0459 100644 --- a/tests/components/mcp23s08/common.yaml +++ b/tests/components/mcp23s08/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp23s08 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp23s08: - id: mcp23s08_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp23s08/test.esp32-c3-idf.yaml b/tests/components/mcp23s08/test.esp32-c3-idf.yaml index 2415ba5dc6..b11ec9cdc6 100644 --- a/tests/components/mcp23s08/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23s08/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp32-idf.yaml b/tests/components/mcp23s08/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp23s08/test.esp32-idf.yaml +++ b/tests/components/mcp23s08/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s08/test.esp8266-ard.yaml b/tests/components/mcp23s08/test.esp8266-ard.yaml index dbd158d030..595f31046a 100644 --- a/tests/components/mcp23s08/test.esp8266-ard.yaml +++ b/tests/components/mcp23s08/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s08/test.rp2040-ard.yaml b/tests/components/mcp23s08/test.rp2040-ard.yaml index f6c3f1eeca..79ea6ce90b 100644 --- a/tests/components/mcp23s08/test.rp2040-ard.yaml +++ b/tests/components/mcp23s08/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/common.yaml b/tests/components/mcp23s17/common.yaml index 3fb27ef625..a89beeb16b 100644 --- a/tests/components/mcp23s17/common.yaml +++ b/tests/components/mcp23s17/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp23s17 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp23s17: - id: mcp23s17_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp23s17/test.esp32-c3-idf.yaml b/tests/components/mcp23s17/test.esp32-c3-idf.yaml index 2415ba5dc6..b11ec9cdc6 100644 --- a/tests/components/mcp23s17/test.esp32-c3-idf.yaml +++ b/tests/components/mcp23s17/test.esp32-c3-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp32-idf.yaml b/tests/components/mcp23s17/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp23s17/test.esp32-idf.yaml +++ b/tests/components/mcp23s17/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/test.esp8266-ard.yaml b/tests/components/mcp23s17/test.esp8266-ard.yaml index dbd158d030..595f31046a 100644 --- a/tests/components/mcp23s17/test.esp8266-ard.yaml +++ b/tests/components/mcp23s17/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp23s17/test.rp2040-ard.yaml b/tests/components/mcp23s17/test.rp2040-ard.yaml index f6c3f1eeca..79ea6ce90b 100644 --- a/tests/components/mcp23s17/test.rp2040-ard.yaml +++ b/tests/components/mcp23s17/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp2515/common.yaml b/tests/components/mcp2515/common.yaml index 96a72a3ec3..15639df5fe 100644 --- a/tests/components/mcp2515/common.yaml +++ b/tests/components/mcp2515/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp2515 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - canbus: - platform: mcp2515 id: mcp2515_can diff --git a/tests/components/mcp2515/test.esp32-c3-idf.yaml b/tests/components/mcp2515/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/mcp2515/test.esp32-c3-idf.yaml +++ b/tests/components/mcp2515/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp32-idf.yaml b/tests/components/mcp2515/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp2515/test.esp32-idf.yaml +++ b/tests/components/mcp2515/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp2515/test.esp8266-ard.yaml b/tests/components/mcp2515/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/mcp2515/test.esp8266-ard.yaml +++ b/tests/components/mcp2515/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp2515/test.rp2040-ard.yaml b/tests/components/mcp2515/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/mcp2515/test.rp2040-ard.yaml +++ b/tests/components/mcp2515/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3008/common.yaml b/tests/components/mcp3008/common.yaml index 646d3a20e9..57d0155f73 100644 --- a/tests/components/mcp3008/common.yaml +++ b/tests/components/mcp3008/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp3008 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp3008: - id: mcp3008_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp3008/test.esp32-c3-idf.yaml b/tests/components/mcp3008/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/mcp3008/test.esp32-c3-idf.yaml +++ b/tests/components/mcp3008/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp32-idf.yaml b/tests/components/mcp3008/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp3008/test.esp32-idf.yaml +++ b/tests/components/mcp3008/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3008/test.esp8266-ard.yaml b/tests/components/mcp3008/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/mcp3008/test.esp8266-ard.yaml +++ b/tests/components/mcp3008/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3008/test.rp2040-ard.yaml b/tests/components/mcp3008/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/mcp3008/test.rp2040-ard.yaml +++ b/tests/components/mcp3008/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3204/common.yaml b/tests/components/mcp3204/common.yaml index f102500c81..eca6ec44f4 100644 --- a/tests/components/mcp3204/common.yaml +++ b/tests/components/mcp3204/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_mcp3204 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - mcp3204: - id: mcp3204_hub cs_pin: ${cs_pin} diff --git a/tests/components/mcp3204/test.esp32-c3-idf.yaml b/tests/components/mcp3204/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/mcp3204/test.esp32-c3-idf.yaml +++ b/tests/components/mcp3204/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp32-idf.yaml b/tests/components/mcp3204/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/mcp3204/test.esp32-idf.yaml +++ b/tests/components/mcp3204/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3204/test.esp8266-ard.yaml b/tests/components/mcp3204/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/mcp3204/test.esp8266-ard.yaml +++ b/tests/components/mcp3204/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp3204/test.rp2040-ard.yaml b/tests/components/mcp3204/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/mcp3204/test.rp2040-ard.yaml +++ b/tests/components/mcp3204/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mcp4461/common.yaml b/tests/components/mcp4461/common.yaml index ce1866fdb8..92fd789dcb 100644 --- a/tests/components/mcp4461/common.yaml +++ b/tests/components/mcp4461/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mcp4461 - sda: ${sda_pin} - scl: ${scl_pin} - mcp4461: - id: mcp4461_digipot_01 + i2c_id: i2c_bus output: - platform: mcp4461 diff --git a/tests/components/mcp4461/test.esp32-c3-idf.yaml b/tests/components/mcp4461/test.esp32-c3-idf.yaml index a87353b78b..9990d96d29 100644 --- a/tests/components/mcp4461/test.esp32-c3-idf.yaml +++ b/tests/components/mcp4461/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp32-idf.yaml b/tests/components/mcp4461/test.esp32-idf.yaml index c5deb7ca0a..b47e39c389 100644 --- a/tests/components/mcp4461/test.esp32-idf.yaml +++ b/tests/components/mcp4461/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO16 - scl_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4461/test.esp8266-ard.yaml b/tests/components/mcp4461/test.esp8266-ard.yaml index a87353b78b..4a98b9388a 100644 --- a/tests/components/mcp4461/test.esp8266-ard.yaml +++ b/tests/components/mcp4461/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - sda_pin: GPIO4 - scl_pin: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/common.yaml b/tests/components/mcp4725/common.yaml index 0ccc649f2e..871c2805a3 100644 --- a/tests/components/mcp4725/common.yaml +++ b/tests/components/mcp4725/common.yaml @@ -1,8 +1,3 @@ -i2c: - - id: i2c_mcp4725 - scl: ${scl_pin} - sda: ${sda_pin} - output: - platform: mcp4725 id: mcp4725_dac_output diff --git a/tests/components/mcp4725/test.esp32-c3-idf.yaml b/tests/components/mcp4725/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp4725/test.esp32-c3-idf.yaml +++ b/tests/components/mcp4725/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp32-idf.yaml b/tests/components/mcp4725/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp4725/test.esp32-idf.yaml +++ b/tests/components/mcp4725/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/test.esp8266-ard.yaml b/tests/components/mcp4725/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp4725/test.esp8266-ard.yaml +++ b/tests/components/mcp4725/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4725/test.rp2040-ard.yaml b/tests/components/mcp4725/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp4725/test.rp2040-ard.yaml +++ b/tests/components/mcp4725/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/common.yaml b/tests/components/mcp4728/common.yaml index b42818e4e6..e60f4795e1 100644 --- a/tests/components/mcp4728/common.yaml +++ b/tests/components/mcp4728/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mcp4728 - scl: ${scl_pin} - sda: ${sda_pin} - mcp4728: - id: mcp4728_dac + i2c_id: i2c_bus output: - platform: mcp4728 diff --git a/tests/components/mcp4728/test.esp32-c3-idf.yaml b/tests/components/mcp4728/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp4728/test.esp32-c3-idf.yaml +++ b/tests/components/mcp4728/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp32-idf.yaml b/tests/components/mcp4728/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp4728/test.esp32-idf.yaml +++ b/tests/components/mcp4728/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/test.esp8266-ard.yaml b/tests/components/mcp4728/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp4728/test.esp8266-ard.yaml +++ b/tests/components/mcp4728/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp4728/test.rp2040-ard.yaml b/tests/components/mcp4728/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp4728/test.rp2040-ard.yaml +++ b/tests/components/mcp4728/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/common.yaml b/tests/components/mcp47a1/common.yaml index 59e28d37b3..3448fcfb31 100644 --- a/tests/components/mcp47a1/common.yaml +++ b/tests/components/mcp47a1/common.yaml @@ -1,8 +1,3 @@ -i2c: - - id: i2c_mcp47a1 - scl: ${scl_pin} - sda: ${sda_pin} - output: - platform: mcp47a1 id: output_mcp47a1 diff --git a/tests/components/mcp47a1/test.esp32-c3-idf.yaml b/tests/components/mcp47a1/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp47a1/test.esp32-c3-idf.yaml +++ b/tests/components/mcp47a1/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp32-idf.yaml b/tests/components/mcp47a1/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp47a1/test.esp32-idf.yaml +++ b/tests/components/mcp47a1/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/test.esp8266-ard.yaml b/tests/components/mcp47a1/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp47a1/test.esp8266-ard.yaml +++ b/tests/components/mcp47a1/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp47a1/test.rp2040-ard.yaml b/tests/components/mcp47a1/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp47a1/test.rp2040-ard.yaml +++ b/tests/components/mcp47a1/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/common.yaml b/tests/components/mcp9600/common.yaml index e3c9df79e4..33e33d183e 100644 --- a/tests/components/mcp9600/common.yaml +++ b/tests/components/mcp9600/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mcp9600 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mcp9600 + i2c_id: i2c_bus thermocouple_type: K hot_junction: name: Thermocouple Temperature diff --git a/tests/components/mcp9600/test.esp32-c3-idf.yaml b/tests/components/mcp9600/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp9600/test.esp32-c3-idf.yaml +++ b/tests/components/mcp9600/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp32-idf.yaml b/tests/components/mcp9600/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp9600/test.esp32-idf.yaml +++ b/tests/components/mcp9600/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/test.esp8266-ard.yaml b/tests/components/mcp9600/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp9600/test.esp8266-ard.yaml +++ b/tests/components/mcp9600/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9600/test.rp2040-ard.yaml b/tests/components/mcp9600/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp9600/test.rp2040-ard.yaml +++ b/tests/components/mcp9600/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/common.yaml b/tests/components/mcp9808/common.yaml index ccfd5d13ce..86d0661552 100644 --- a/tests/components/mcp9808/common.yaml +++ b/tests/components/mcp9808/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_mcp9808 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mcp9808 + i2c_id: i2c_bus name: MCP9808 Temperature diff --git a/tests/components/mcp9808/test.esp32-c3-idf.yaml b/tests/components/mcp9808/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mcp9808/test.esp32-c3-idf.yaml +++ b/tests/components/mcp9808/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp32-idf.yaml b/tests/components/mcp9808/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mcp9808/test.esp32-idf.yaml +++ b/tests/components/mcp9808/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/test.esp8266-ard.yaml b/tests/components/mcp9808/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mcp9808/test.esp8266-ard.yaml +++ b/tests/components/mcp9808/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mcp9808/test.rp2040-ard.yaml b/tests/components/mcp9808/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mcp9808/test.rp2040-ard.yaml +++ b/tests/components/mcp9808/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/common.yaml b/tests/components/mhz19/common.yaml index 8b7e732068..94989fecbe 100644 --- a/tests/components/mhz19/common.yaml +++ b/tests/components/mhz19/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_mhz19 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: mhz19 co2: diff --git a/tests/components/mhz19/test.esp32-c3-idf.yaml b/tests/components/mhz19/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/mhz19/test.esp32-c3-idf.yaml +++ b/tests/components/mhz19/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/test.esp32-idf.yaml b/tests/components/mhz19/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/mhz19/test.esp32-idf.yaml +++ b/tests/components/mhz19/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/test.esp8266-ard.yaml b/tests/components/mhz19/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/mhz19/test.esp8266-ard.yaml +++ b/tests/components/mhz19/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mhz19/test.rp2040-ard.yaml b/tests/components/mhz19/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/mhz19/test.rp2040-ard.yaml +++ b/tests/components/mhz19/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/micronova/common.yaml b/tests/components/micronova/common.yaml index 661c9330c6..3cf8e36fb6 100644 --- a/tests/components/micronova/common.yaml +++ b/tests/components/micronova/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_micronova - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - micronova: enable_rx_pin: ${enable_rx_pin} diff --git a/tests/components/micronova/test.esp32-c3-idf.yaml b/tests/components/micronova/test.esp32-c3-idf.yaml index 993071999f..eed876ae74 100644 --- a/tests/components/micronova/test.esp32-c3-idf.yaml +++ b/tests/components/micronova/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 enable_rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/micronova/test.esp32-idf.yaml b/tests/components/micronova/test.esp32-idf.yaml index 35d041e047..5cc3a234ca 100644 --- a/tests/components/micronova/test.esp32-idf.yaml +++ b/tests/components/micronova/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 enable_rx_pin: GPIO13 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/micronova/test.esp8266-ard.yaml b/tests/components/micronova/test.esp8266-ard.yaml index 048fb82d72..ffe1e0a063 100644 --- a/tests/components/micronova/test.esp8266-ard.yaml +++ b/tests/components/micronova/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - enable_rx_pin: GPIO13 + enable_rx_pin: GPIO15 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/micronova/test.rp2040-ard.yaml b/tests/components/micronova/test.rp2040-ard.yaml index 993071999f..6dc030e6b6 100644 --- a/tests/components/micronova/test.rp2040-ard.yaml +++ b/tests/components/micronova/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 enable_rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/microphone/test.esp32-idf.yaml b/tests/components/microphone/test.esp32-idf.yaml index fe9feb9888..830f0156d7 100644 --- a/tests/components/microphone/test.esp32-idf.yaml +++ b/tests/components/microphone/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: i2s_bclk_pin: GPIO15 - i2s_lrclk_pin: GPIO16 - i2s_mclk_pin: GPIO17 + i2s_lrclk_pin: GPIO4 + i2s_mclk_pin: GPIO5 i2s_din_pin: GPIO33 i2s_audio: diff --git a/tests/components/mics_4514/common.yaml b/tests/components/mics_4514/common.yaml index 0bc3f3e654..3c1d264680 100644 --- a/tests/components/mics_4514/common.yaml +++ b/tests/components/mics_4514/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mics_4514 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mics_4514 + i2c_id: i2c_bus update_interval: 60s nitrogen_dioxide: name: MICS-4514 NO2 diff --git a/tests/components/mics_4514/test.esp32-c3-idf.yaml b/tests/components/mics_4514/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mics_4514/test.esp32-c3-idf.yaml +++ b/tests/components/mics_4514/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp32-idf.yaml b/tests/components/mics_4514/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mics_4514/test.esp32-idf.yaml +++ b/tests/components/mics_4514/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mics_4514/test.esp8266-ard.yaml b/tests/components/mics_4514/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mics_4514/test.esp8266-ard.yaml +++ b/tests/components/mics_4514/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mics_4514/test.rp2040-ard.yaml b/tests/components/mics_4514/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mics_4514/test.rp2040-ard.yaml +++ b/tests/components/mics_4514/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/midea/common.yaml b/tests/components/midea/common.yaml index 07385e29a1..a0909401ff 100644 --- a/tests/components/midea/common.yaml +++ b/tests/components/midea/common.yaml @@ -6,12 +6,6 @@ remote_transmitter: pin: ${pin} carrier_duty_percent: 50% -uart: - - id: uart_midea - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - climate: - platform: midea id: midea_unit diff --git a/tests/components/midea/test.esp32-ard.yaml b/tests/components/midea/test.esp32-ard.yaml index 7f55d6a52d..b78163199a 100644 --- a/tests/components/midea/test.esp32-ard.yaml +++ b/tests/components/midea/test.esp32-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO12 - rx_pin: GPIO14 pin: GPIO2 +packages: + uart: !include ../../test_build_components/common/uart/esp32-ard.yaml + <<: !include common.yaml diff --git a/tests/components/midea/test.esp8266-ard.yaml b/tests/components/midea/test.esp8266-ard.yaml index 4f50bd7e5e..dc276e274c 100644 --- a/tests/components/midea/test.esp8266-ard.yaml +++ b/tests/components/midea/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 pin: GPIO15 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mipi_dsi/test.esp32-p4-idf.yaml b/tests/components/mipi_dsi/test.esp32-p4-idf.yaml index 9c4eb07d9b..770b11d089 100644 --- a/tests/components/mipi_dsi/test.esp32-p4-idf.yaml +++ b/tests/components/mipi_dsi/test.esp32-p4-idf.yaml @@ -1,3 +1,6 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-p4-idf.yaml + esp_ldo: - id: ldo_id channel: 3 @@ -13,9 +16,3 @@ display: #id: backlight_id psram: - -i2c: - sda: GPIO7 - scl: GPIO8 - scan: true - frequency: 400kHz diff --git a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml index 8d0e20d6f5..29f833c235 100644 --- a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml +++ b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml @@ -1,16 +1,12 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + psram: mode: octal -spi: - - clk_pin: - number: 47 - allow_other_uses: true - mosi_pin: - number: 41 - allow_other_uses: true - display: - platform: mipi_rgb + spi_id: spi_bus model: ZX2D10GE01R-V4848 update_interval: 1s color_order: BGR diff --git a/tests/components/mipi_spi/common.yaml b/tests/components/mipi_spi/common.yaml index 2c84489ec7..03f807f53c 100644 --- a/tests/components/mipi_spi/common.yaml +++ b/tests/components/mipi_spi/common.yaml @@ -1,11 +1,3 @@ -spi: - - id: spi_single - clk_pin: - number: ${clk_pin} - allow_other_uses: true - mosi_pin: - number: ${mosi_pin} - display: - platform: mipi_spi spi_16: true @@ -30,8 +22,5 @@ display: dimensions: width: 100 height: 200 - enable_pin: - - number: ${clk_pin} - allow_other_uses: true - - number: ${enable_pin} + enable_pin: ${enable_pin} bus_mode: single diff --git a/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml b/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml index e0f65a3a6a..48f34f3449 100644 --- a/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml +++ b/tests/components/mipi_spi/test-lvgl.esp32-s3-idf.yaml @@ -1,16 +1,9 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - -spi: - - id: spi_single - clk_pin: - number: ${clk_pin} - mosi_pin: - number: ${mosi_pin} +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml display: - platform: mipi_spi + spi_id: spi_bus model: t-display-s3-pro lvgl: diff --git a/tests/components/mipi_spi/test.esp32-c3-idf.yaml b/tests/components/mipi_spi/test.esp32-c3-idf.yaml index c17748c569..55e25d8318 100644 --- a/tests/components/mipi_spi/test.esp32-c3-idf.yaml +++ b/tests/components/mipi_spi/test.esp32-c3-idf.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 - dc_pin: GPIO21 - cs_pin: GPIO18 - enable_pin: GPIO19 + dc_pin: GPIO7 + cs_pin: GPIO8 + enable_pin: GPIO9 reset_pin: GPIO20 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mipi_spi/test.esp32-idf.yaml b/tests/components/mipi_spi/test.esp32-idf.yaml index 653ccb4910..b173b8de87 100644 --- a/tests/components/mipi_spi/test.esp32-idf.yaml +++ b/tests/components/mipi_spi/test.esp32-idf.yaml @@ -1,15 +1,10 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 - dc_pin: GPIO21 - cs_pin: GPIO18 - enable_pin: GPIO19 + dc_pin: GPIO14 + cs_pin: GPIO13 + enable_pin: GPIO4 reset_pin: GPIO20 packages: - display: !include common.yaml + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml -display: - - platform: mipi_spi - model: m5core +<<: !include common.yaml diff --git a/tests/components/mipi_spi/test.rp2040-ard.yaml b/tests/components/mipi_spi/test.rp2040-ard.yaml index 5d7333853b..380cebcde3 100644 --- a/tests/components/mipi_spi/test.rp2040-ard.yaml +++ b/tests/components/mipi_spi/test.rp2040-ard.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 dc_pin: GPIO14 cs_pin: GPIO13 - enable_pin: GPIO19 + enable_pin: GPIO16 reset_pin: GPIO20 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mixer/test.esp32-idf.yaml b/tests/components/mixer/test.esp32-idf.yaml index 96d2d37458..6712f1e468 100644 --- a/tests/components/mixer/test.esp32-idf.yaml +++ b/tests/components/mixer/test.esp32-idf.yaml @@ -1,7 +1,10 @@ substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 + lrclk_pin: GPIO4 + bclk_pin: GPIO5 mclk_pin: GPIO15 dout_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mlx90393/common.yaml b/tests/components/mlx90393/common.yaml index 58f3b6ecf5..9e85e06c89 100644 --- a/tests/components/mlx90393/common.yaml +++ b/tests/components/mlx90393/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mlx90393 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mlx90393 + i2c_id: i2c_bus oversampling: 3 gain: 1X temperature_compensation: true diff --git a/tests/components/mlx90393/test.esp32-c3-idf.yaml b/tests/components/mlx90393/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mlx90393/test.esp32-c3-idf.yaml +++ b/tests/components/mlx90393/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-idf.yaml b/tests/components/mlx90393/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mlx90393/test.esp32-idf.yaml +++ b/tests/components/mlx90393/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp32-s3-idf.yaml b/tests/components/mlx90393/test.esp32-s3-idf.yaml index ee2c29ca4e..0fd8684a2c 100644 --- a/tests/components/mlx90393/test.esp32-s3-idf.yaml +++ b/tests/components/mlx90393/test.esp32-s3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.esp8266-ard.yaml b/tests/components/mlx90393/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mlx90393/test.esp8266-ard.yaml +++ b/tests/components/mlx90393/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mlx90393/test.rp2040-ard.yaml b/tests/components/mlx90393/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mlx90393/test.rp2040-ard.yaml +++ b/tests/components/mlx90393/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/common.yaml b/tests/components/mlx90614/common.yaml index 03279e6e14..8d408fb016 100644 --- a/tests/components/mlx90614/common.yaml +++ b/tests/components/mlx90614/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mlx90614 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mlx90614 + i2c_id: i2c_bus ambient: name: Ambient object: diff --git a/tests/components/mlx90614/test.esp32-c3-idf.yaml b/tests/components/mlx90614/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mlx90614/test.esp32-c3-idf.yaml +++ b/tests/components/mlx90614/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp32-idf.yaml b/tests/components/mlx90614/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mlx90614/test.esp32-idf.yaml +++ b/tests/components/mlx90614/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/test.esp8266-ard.yaml b/tests/components/mlx90614/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mlx90614/test.esp8266-ard.yaml +++ b/tests/components/mlx90614/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mlx90614/test.rp2040-ard.yaml b/tests/components/mlx90614/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mlx90614/test.rp2040-ard.yaml +++ b/tests/components/mlx90614/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/common.yaml b/tests/components/mmc5603/common.yaml index 83235f596e..6f6e35e9af 100644 --- a/tests/components/mmc5603/common.yaml +++ b/tests/components/mmc5603/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mmc5603 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mmc5603 + i2c_id: i2c_bus address: 0x30 field_strength_x: name: HMC5883L Field Strength X diff --git a/tests/components/mmc5603/test.esp32-c3-idf.yaml b/tests/components/mmc5603/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mmc5603/test.esp32-c3-idf.yaml +++ b/tests/components/mmc5603/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp32-idf.yaml b/tests/components/mmc5603/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mmc5603/test.esp32-idf.yaml +++ b/tests/components/mmc5603/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/test.esp8266-ard.yaml b/tests/components/mmc5603/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mmc5603/test.esp8266-ard.yaml +++ b/tests/components/mmc5603/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5603/test.rp2040-ard.yaml b/tests/components/mmc5603/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mmc5603/test.rp2040-ard.yaml +++ b/tests/components/mmc5603/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/common.yaml b/tests/components/mmc5983/common.yaml index 949ff527e7..963a2527c1 100644 --- a/tests/components/mmc5983/common.yaml +++ b/tests/components/mmc5983/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mmc5983 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mmc5983 + i2c_id: i2c_bus field_strength_x: name: "Magnet X" id: magnet_x diff --git a/tests/components/mmc5983/test.esp32-c3-idf.yaml b/tests/components/mmc5983/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mmc5983/test.esp32-c3-idf.yaml +++ b/tests/components/mmc5983/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp32-idf.yaml b/tests/components/mmc5983/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mmc5983/test.esp32-idf.yaml +++ b/tests/components/mmc5983/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/test.esp8266-ard.yaml b/tests/components/mmc5983/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mmc5983/test.esp8266-ard.yaml +++ b/tests/components/mmc5983/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mmc5983/test.rp2040-ard.yaml b/tests/components/mmc5983/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mmc5983/test.rp2040-ard.yaml +++ b/tests/components/mmc5983/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/modbus/common.yaml b/tests/components/modbus/common.yaml index 3ec9518585..d636143ec9 100644 --- a/tests/components/modbus/common.yaml +++ b/tests/components/modbus/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_modbus - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - modbus: id: mod_bus1 flow_control_pin: ${flow_control_pin} diff --git a/tests/components/modbus/test.esp32-c3-idf.yaml b/tests/components/modbus/test.esp32-c3-idf.yaml index 452031a5aa..430c6818cb 100644 --- a/tests/components/modbus/test.esp32-c3-idf.yaml +++ b/tests/components/modbus/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/modbus/test.esp32-idf.yaml b/tests/components/modbus/test.esp32-idf.yaml index bd767a8ece..8a08f8a821 100644 --- a/tests/components/modbus/test.esp32-idf.yaml +++ b/tests/components/modbus/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO14 flow_control_pin: GPIO13 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/modbus/test.esp8266-ard.yaml b/tests/components/modbus/test.esp8266-ard.yaml index 29c98d0957..dfea36d957 100644 --- a/tests/components/modbus/test.esp8266-ard.yaml +++ b/tests/components/modbus/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - flow_control_pin: GPIO13 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO15 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/modbus/test.rp2040-ard.yaml b/tests/components/modbus/test.rp2040-ard.yaml index 452031a5aa..43f12ea28d 100644 --- a/tests/components/modbus/test.rp2040-ard.yaml +++ b/tests/components/modbus/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 flow_control_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/modbus_controller/common.yaml b/tests/components/modbus_controller/common.yaml index c2b5ab737f..ae5520e57d 100644 --- a/tests/components/modbus_controller/common.yaml +++ b/tests/components/modbus_controller/common.yaml @@ -1,25 +1,12 @@ -uart: - - id: uart_modbus_client - tx_pin: ${client_tx_pin} - rx_pin: ${client_rx_pin} - baud_rate: 9600 - - id: uart_modbus_server - tx_pin: ${server_tx_pin} - rx_pin: ${server_rx_pin} - baud_rate: 9600 - modbus: - - id: mod_bus1 - uart_id: uart_modbus_client - flow_control_pin: ${flow_control_pin} - id: mod_bus2 - uart_id: uart_modbus_server + uart_id: uart_bus role: server modbus_controller: - id: modbus_controller1 address: 0x2 - modbus_id: mod_bus1 + modbus_id: modbus_bus allow_duplicate_commands: false on_online: then: diff --git a/tests/components/modbus_controller/test.esp32-c3-idf.yaml b/tests/components/modbus_controller/test.esp32-c3-idf.yaml index f5b770ff58..db826676ee 100644 --- a/tests/components/modbus_controller/test.esp32-c3-idf.yaml +++ b/tests/components/modbus_controller/test.esp32-c3-idf.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO4 - client_rx_pin: GPIO5 - server_tx_pin: GPIO6 - server_rx_pin: GPIO7 - flow_control_pin: GPIO3 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp32-idf.yaml b/tests/components/modbus_controller/test.esp32-idf.yaml index 548b8c0666..ace2d95a0b 100644 --- a/tests/components/modbus_controller/test.esp32-idf.yaml +++ b/tests/components/modbus_controller/test.esp32-idf.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO12 - client_rx_pin: GPIO14 - server_tx_pin: GPIO16 - server_rx_pin: GPIO17 - flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/modbus_controller/test.esp8266-ard.yaml b/tests/components/modbus_controller/test.esp8266-ard.yaml index c68a57cbde..560629b0cd 100644 --- a/tests/components/modbus_controller/test.esp8266-ard.yaml +++ b/tests/components/modbus_controller/test.esp8266-ard.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO1 - client_rx_pin: GPIO3 - server_tx_pin: GPIO4 - server_rx_pin: GPIO5 - flow_control_pin: GPIO13 +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/modbus_controller/test.rp2040-ard.yaml b/tests/components/modbus_controller/test.rp2040-ard.yaml index 80528bc12b..eeebbd2a8a 100644 --- a/tests/components/modbus_controller/test.rp2040-ard.yaml +++ b/tests/components/modbus_controller/test.rp2040-ard.yaml @@ -1,8 +1,4 @@ -substitutions: - client_tx_pin: GPIO2 - client_rx_pin: GPIO3 - server_tx_pin: GPIO4 - server_rx_pin: GPIO5 - flow_control_pin: GPIO6 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-c3-idf.yaml b/tests/components/mopeka_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/mopeka_ble/test.esp32-c3-idf.yaml +++ b/tests/components/mopeka_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_ble/test.esp32-idf.yaml b/tests/components/mopeka_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/mopeka_ble/test.esp32-idf.yaml +++ b/tests/components/mopeka_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml b/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml +++ b/tests/components/mopeka_pro_check/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_pro_check/test.esp32-idf.yaml b/tests/components/mopeka_pro_check/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/mopeka_pro_check/test.esp32-idf.yaml +++ b/tests/components/mopeka_pro_check/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml b/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml +++ b/tests/components/mopeka_std_check/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mopeka_std_check/test.esp32-idf.yaml b/tests/components/mopeka_std_check/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/mopeka_std_check/test.esp32-idf.yaml +++ b/tests/components/mopeka_std_check/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mpl3115a2/common.yaml b/tests/components/mpl3115a2/common.yaml index f2f65885b3..aa6c2b77fc 100644 --- a/tests/components/mpl3115a2/common.yaml +++ b/tests/components/mpl3115a2/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mpl3115a2 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mpl3115a2 + i2c_id: i2c_bus temperature: name: MPL3115A2 Temperature pressure: diff --git a/tests/components/mpl3115a2/test.esp32-c3-idf.yaml b/tests/components/mpl3115a2/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mpl3115a2/test.esp32-c3-idf.yaml +++ b/tests/components/mpl3115a2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp32-idf.yaml b/tests/components/mpl3115a2/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mpl3115a2/test.esp32-idf.yaml +++ b/tests/components/mpl3115a2/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.esp8266-ard.yaml b/tests/components/mpl3115a2/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mpl3115a2/test.esp8266-ard.yaml +++ b/tests/components/mpl3115a2/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpl3115a2/test.rp2040-ard.yaml b/tests/components/mpl3115a2/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mpl3115a2/test.rp2040-ard.yaml +++ b/tests/components/mpl3115a2/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpr121/common.yaml b/tests/components/mpr121/common.yaml index fcf61b57f3..67a06cf9c1 100644 --- a/tests/components/mpr121/common.yaml +++ b/tests/components/mpr121/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_mpr121 - scl: ${i2c_scl} - sda: ${i2c_sda} - mpr121: + i2c_id: i2c_bus id: mpr121_first address: 0x5A diff --git a/tests/components/mpr121/test.esp32-c3-idf.yaml b/tests/components/mpr121/test.esp32-c3-idf.yaml index d7ae0d5161..d1abb03369 100644 --- a/tests/components/mpr121/test.esp32-c3-idf.yaml +++ b/tests/components/mpr121/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mpr121/test.esp32-idf.yaml b/tests/components/mpr121/test.esp32-idf.yaml index 1037d5d35b..4598505c3a 100644 --- a/tests/components/mpr121/test.esp32-idf.yaml +++ b/tests/components/mpr121/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO16 i2c_sda: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mpr121/test.esp8266-ard.yaml b/tests/components/mpr121/test.esp8266-ard.yaml index d7ae0d5161..5565bb8c35 100644 --- a/tests/components/mpr121/test.esp8266-ard.yaml +++ b/tests/components/mpr121/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mpr121/test.rp2040-ard.yaml b/tests/components/mpr121/test.rp2040-ard.yaml index d7ae0d5161..888762a742 100644 --- a/tests/components/mpr121/test.rp2040-ard.yaml +++ b/tests/components/mpr121/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mpu6050/common.yaml b/tests/components/mpu6050/common.yaml index e9d4995534..7ac123f8c7 100644 --- a/tests/components/mpu6050/common.yaml +++ b/tests/components/mpu6050/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mpu6050 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mpu6050 + i2c_id: i2c_bus address: 0x68 accel_x: name: MPU6050 Accel X diff --git a/tests/components/mpu6050/test.esp32-c3-idf.yaml b/tests/components/mpu6050/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mpu6050/test.esp32-c3-idf.yaml +++ b/tests/components/mpu6050/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp32-idf.yaml b/tests/components/mpu6050/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mpu6050/test.esp32-idf.yaml +++ b/tests/components/mpu6050/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6050/test.esp8266-ard.yaml b/tests/components/mpu6050/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mpu6050/test.esp8266-ard.yaml +++ b/tests/components/mpu6050/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpu6050/test.rp2040-ard.yaml b/tests/components/mpu6050/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mpu6050/test.rp2040-ard.yaml +++ b/tests/components/mpu6050/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/common.yaml b/tests/components/mpu6886/common.yaml index 9c3e283cc3..9f7324f384 100644 --- a/tests/components/mpu6886/common.yaml +++ b/tests/components/mpu6886/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_mpu6886 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: mpu6886 + i2c_id: i2c_bus address: 0x68 accel_x: name: MPU6886 Accel X diff --git a/tests/components/mpu6886/test.esp32-c3-idf.yaml b/tests/components/mpu6886/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/mpu6886/test.esp32-c3-idf.yaml +++ b/tests/components/mpu6886/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp32-idf.yaml b/tests/components/mpu6886/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/mpu6886/test.esp32-idf.yaml +++ b/tests/components/mpu6886/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/test.esp8266-ard.yaml b/tests/components/mpu6886/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/mpu6886/test.esp8266-ard.yaml +++ b/tests/components/mpu6886/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/mpu6886/test.rp2040-ard.yaml b/tests/components/mpu6886/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/mpu6886/test.rp2040-ard.yaml +++ b/tests/components/mpu6886/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/mqtt/common-update.yaml b/tests/components/mqtt/common-update.yaml index 25f57cfef2..2e21e9687a 100644 --- a/tests/components/mqtt/common-update.yaml +++ b/tests/components/mqtt/common-update.yaml @@ -6,8 +6,10 @@ http_request: ota: - platform: http_request + id: mqtt_http_request_ota update: - platform: http_request name: "OTA Update" + ota_id: mqtt_http_request_ota source: https://example.com/ota.json diff --git a/tests/components/ms5611/common.yaml b/tests/components/ms5611/common.yaml index d0417faa86..12644fa330 100644 --- a/tests/components/ms5611/common.yaml +++ b/tests/components/ms5611/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_ms5611 - scl: ${i2c_scl} - sda: ${i2c_sda} - sensor: - platform: ms5611 + i2c_id: i2c_bus temperature: name: Outside Temperature pressure: diff --git a/tests/components/ms5611/test.esp32-c3-idf.yaml b/tests/components/ms5611/test.esp32-c3-idf.yaml index d7ae0d5161..d1abb03369 100644 --- a/tests/components/ms5611/test.esp32-c3-idf.yaml +++ b/tests/components/ms5611/test.esp32-c3-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ms5611/test.esp32-idf.yaml b/tests/components/ms5611/test.esp32-idf.yaml index 1037d5d35b..4598505c3a 100644 --- a/tests/components/ms5611/test.esp32-idf.yaml +++ b/tests/components/ms5611/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO16 i2c_sda: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ms5611/test.esp8266-ard.yaml b/tests/components/ms5611/test.esp8266-ard.yaml index d7ae0d5161..5565bb8c35 100644 --- a/tests/components/ms5611/test.esp8266-ard.yaml +++ b/tests/components/ms5611/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ms5611/test.rp2040-ard.yaml b/tests/components/ms5611/test.rp2040-ard.yaml index d7ae0d5161..888762a742 100644 --- a/tests/components/ms5611/test.rp2040-ard.yaml +++ b/tests/components/ms5611/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_scl: GPIO5 i2c_sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/msa3xx/common.yaml b/tests/components/msa3xx/common.yaml index 8de6a8a89a..297ed8a741 100644 --- a/tests/components/msa3xx/common.yaml +++ b/tests/components/msa3xx/common.yaml @@ -1,5 +1,5 @@ msa3xx: - i2c_id: i2c_msa3xx + i2c_id: i2c_bus type: msa301 range: 4G resolution: 14 diff --git a/tests/components/msa3xx/test.esp32-c3-idf.yaml b/tests/components/msa3xx/test.esp32-c3-idf.yaml index b972ce8cdb..9990d96d29 100644 --- a/tests/components/msa3xx/test.esp32-c3-idf.yaml +++ b/tests/components/msa3xx/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp32-idf.yaml b/tests/components/msa3xx/test.esp32-idf.yaml index 7202e7b9bf..b47e39c389 100644 --- a/tests/components/msa3xx/test.esp32-idf.yaml +++ b/tests/components/msa3xx/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO16 - sda: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/msa3xx/test.esp8266-ard.yaml b/tests/components/msa3xx/test.esp8266-ard.yaml index b972ce8cdb..4a98b9388a 100644 --- a/tests/components/msa3xx/test.esp8266-ard.yaml +++ b/tests/components/msa3xx/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/msa3xx/test.rp2040-ard.yaml b/tests/components/msa3xx/test.rp2040-ard.yaml index b972ce8cdb..319a7c71a6 100644 --- a/tests/components/msa3xx/test.rp2040-ard.yaml +++ b/tests/components/msa3xx/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_msa3xx - scl: GPIO5 - sda: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/common.yaml b/tests/components/nau7802/common.yaml index 2501911a3f..5c52c33dad 100644 --- a/tests/components/nau7802/common.yaml +++ b/tests/components/nau7802/common.yaml @@ -1,8 +1,8 @@ sensor: - platform: nau7802 + i2c_id: i2c_bus id: test_id name: weight - i2c_id: i2c_nau7802 gain: 32 ldo_voltage: "3.0v" samples_per_second: 10 diff --git a/tests/components/nau7802/test.esp32-c3-idf.yaml b/tests/components/nau7802/test.esp32-c3-idf.yaml index 769468f9ec..9990d96d29 100644 --- a/tests/components/nau7802/test.esp32-c3-idf.yaml +++ b/tests/components/nau7802/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/test.esp32-idf.yaml b/tests/components/nau7802/test.esp32-idf.yaml index 73a4aa4251..b47e39c389 100644 --- a/tests/components/nau7802/test.esp32-idf.yaml +++ b/tests/components/nau7802/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 16 - sda: 17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/test.esp8266-ard.yaml b/tests/components/nau7802/test.esp8266-ard.yaml index 769468f9ec..4a98b9388a 100644 --- a/tests/components/nau7802/test.esp8266-ard.yaml +++ b/tests/components/nau7802/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/nau7802/test.rp2040-ard.yaml b/tests/components/nau7802/test.rp2040-ard.yaml index 769468f9ec..319a7c71a6 100644 --- a/tests/components/nau7802/test.rp2040-ard.yaml +++ b/tests/components/nau7802/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -i2c: - - id: i2c_nau7802 - scl: 5 - sda: 4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/nextion/common.yaml b/tests/components/nextion/common.yaml index 767c868d0b..f5ee12a51c 100644 --- a/tests/components/nextion/common.yaml +++ b/tests/components/nextion/common.yaml @@ -236,12 +236,6 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uart_nextion - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - binary_sensor: - platform: nextion page_id: 0 diff --git a/tests/components/nextion/test.esp32-ard.yaml b/tests/components/nextion/test.esp32-ard.yaml index d5e02b8b85..7e94a9b4a5 100644 --- a/tests/components/nextion/test.esp32-ard.yaml +++ b/tests/components/nextion/test.esp32-ard.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - packages: + uart: !include ../../test_build_components/common/uart/esp32-ard.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.esp32-c3-idf.yaml b/tests/components/nextion/test.esp32-c3-idf.yaml index 5135c7e4f4..888693f909 100644 --- a/tests/components/nextion/test.esp32-c3-idf.yaml +++ b/tests/components/nextion/test.esp32-c3-idf.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.esp32-idf.yaml b/tests/components/nextion/test.esp32-idf.yaml index d5e02b8b85..99820f0f8d 100644 --- a/tests/components/nextion/test.esp32-idf.yaml +++ b/tests/components/nextion/test.esp32-idf.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 - packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.esp8266-ard.yaml b/tests/components/nextion/test.esp8266-ard.yaml index 5135c7e4f4..49f79b2f4c 100644 --- a/tests/components/nextion/test.esp8266-ard.yaml +++ b/tests/components/nextion/test.esp8266-ard.yaml @@ -1,8 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml base: !include common.yaml display: diff --git a/tests/components/nextion/test.rp2040-ard.yaml b/tests/components/nextion/test.rp2040-ard.yaml index 44534b97a8..23cc71ee7c 100644 --- a/tests/components/nextion/test.rp2040-ard.yaml +++ b/tests/components/nextion/test.rp2040-ard.yaml @@ -1,6 +1,3 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml base: !include common.yaml diff --git a/tests/components/npi19/common.yaml b/tests/components/npi19/common.yaml index 012e05695e..03550c269f 100644 --- a/tests/components/npi19/common.yaml +++ b/tests/components/npi19/common.yaml @@ -1,13 +1,7 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - frequency: 200kHz - sensor: - platform: npi19 - update_interval: 1s i2c_id: i2c_bus + update_interval: 1s temperature: name: water temperature diff --git a/tests/components/npi19/test.esp32-idf.yaml b/tests/components/npi19/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/npi19/test.esp32-idf.yaml +++ b/tests/components/npi19/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/npi19/test.esp32-s3-idf.yaml b/tests/components/npi19/test.esp32-s3-idf.yaml index 4942e3c2b3..0fd8684a2c 100644 --- a/tests/components/npi19/test.esp32-s3-idf.yaml +++ b/tests/components/npi19/test.esp32-s3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO40 - sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/npi19/test.esp8266-ard.yaml b/tests/components/npi19/test.esp8266-ard.yaml index 3be5e53dcb..4a98b9388a 100644 --- a/tests/components/npi19/test.esp8266-ard.yaml +++ b/tests/components/npi19/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO05 - sda_pin: GPIO04 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/online_image/common-esp32.yaml b/tests/components/online_image/common-esp32.yaml index 787a1ad368..32c909d351 100644 --- a/tests/components/online_image/common-esp32.yaml +++ b/tests/components/online_image/common-esp32.yaml @@ -1,13 +1,11 @@ -<<: !include common.yaml +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml -spi: - - id: spi_main_lcd - clk_pin: 16 - mosi_pin: 17 - miso_pin: 18 +<<: !include common.yaml display: - platform: ili9xxx + spi_id: spi_bus id: main_lcd model: ili9342 cs_pin: 20 diff --git a/tests/components/online_image/common-esp8266.yaml b/tests/components/online_image/common-esp8266.yaml index ba15b5025c..d7722d171a 100644 --- a/tests/components/online_image/common-esp8266.yaml +++ b/tests/components/online_image/common-esp8266.yaml @@ -1,13 +1,11 @@ -<<: !include common.yaml +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml -spi: - - id: spi_main_lcd - clk_pin: 14 - mosi_pin: 13 - miso_pin: 12 +<<: !include common.yaml display: - platform: ili9xxx + spi_id: spi_bus id: main_lcd model: ili9342 cs_pin: 15 diff --git a/tests/components/online_image/common-rp2040.yaml b/tests/components/online_image/common-rp2040.yaml index 16bb2b2c44..25891b94bc 100644 --- a/tests/components/online_image/common-rp2040.yaml +++ b/tests/components/online_image/common-rp2040.yaml @@ -1,13 +1,11 @@ -<<: !include common.yaml +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml -spi: - - id: spi_main_lcd - clk_pin: 18 - mosi_pin: 19 - miso_pin: 16 +<<: !include common.yaml display: - platform: ili9xxx + spi_id: spi_bus id: main_lcd model: ili9342 cs_pin: 20 diff --git a/tests/components/opt3001/common.yaml b/tests/components/opt3001/common.yaml index dab4f824f8..7b2cb339af 100644 --- a/tests/components/opt3001/common.yaml +++ b/tests/components/opt3001/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_opt3001 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: opt3001 + i2c_id: i2c_bus name: Living Room Brightness address: 0x44 update_interval: 30s diff --git a/tests/components/opt3001/test.esp32-c3-idf.yaml b/tests/components/opt3001/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/opt3001/test.esp32-c3-idf.yaml +++ b/tests/components/opt3001/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/opt3001/test.esp32-idf.yaml b/tests/components/opt3001/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/opt3001/test.esp32-idf.yaml +++ b/tests/components/opt3001/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/opt3001/test.esp8266-ard.yaml b/tests/components/opt3001/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/opt3001/test.esp8266-ard.yaml +++ b/tests/components/opt3001/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/opt3001/test.rp2040-ard.yaml b/tests/components/opt3001/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/opt3001/test.rp2040-ard.yaml +++ b/tests/components/opt3001/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp32-c3-idf.yaml b/tests/components/packet_transport/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/packet_transport/test.esp32-c3-idf.yaml +++ b/tests/components/packet_transport/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp32-idf.yaml b/tests/components/packet_transport/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/packet_transport/test.esp32-idf.yaml +++ b/tests/components/packet_transport/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/packet_transport/test.esp8266-ard.yaml b/tests/components/packet_transport/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/packet_transport/test.esp8266-ard.yaml +++ b/tests/components/packet_transport/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/packet_transport/test.host.yaml b/tests/components/packet_transport/test.host.yaml index e735c37e4d..49fdbbc9b2 100644 --- a/tests/components/packet_transport/test.host.yaml +++ b/tests/components/packet_transport/test.host.yaml @@ -1,4 +1,40 @@ -packages: - common: !include common.yaml +udp: + listen_address: 239.0.60.53 + addresses: ["239.0.60.53"] -wifi: !remove +packet_transport: + platform: udp + update_interval: 5s + encryption: "our key goes here" + rolling_code_enable: true + ping_pong_enable: true + binary_sensors: + - binary_sensor_id1 + - id: binary_sensor_id1 + broadcast_id: other_id + sensors: + - sensor_id1 + - id: sensor_id1 + broadcast_id: other_id + providers: + - name: some-device-name + encryption: "their key goes here" + +sensor: + - platform: template + id: sensor_id1 + - platform: packet_transport + provider: some-device-name + id: our_id + remote_id: some_sensor_id + +binary_sensor: + - platform: packet_transport + provider: unencrypted-device + id: other_binary_sensor_id + - platform: packet_transport + provider: some-device-name + type: status + name: Some-Device Status + - platform: template + id: binary_sensor_id1 diff --git a/tests/components/packet_transport/test.rp2040-ard.yaml b/tests/components/packet_transport/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/packet_transport/test.rp2040-ard.yaml +++ b/tests/components/packet_transport/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pca6416a/common.yaml b/tests/components/pca6416a/common.yaml index ea538387e4..9ad6e2fb15 100644 --- a/tests/components/pca6416a/common.yaml +++ b/tests/components/pca6416a/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pca6416a - scl: ${scl_pin} - sda: ${sda_pin} - pca6416a: - id: pca6416a_hub + i2c_id: i2c_bus address: 0x21 binary_sensor: diff --git a/tests/components/pca6416a/test.esp32-c3-idf.yaml b/tests/components/pca6416a/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pca6416a/test.esp32-c3-idf.yaml +++ b/tests/components/pca6416a/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca6416a/test.esp32-idf.yaml b/tests/components/pca6416a/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pca6416a/test.esp32-idf.yaml +++ b/tests/components/pca6416a/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca6416a/test.esp8266-ard.yaml b/tests/components/pca6416a/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pca6416a/test.esp8266-ard.yaml +++ b/tests/components/pca6416a/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca6416a/test.rp2040-ard.yaml b/tests/components/pca6416a/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pca6416a/test.rp2040-ard.yaml +++ b/tests/components/pca6416a/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/common.yaml b/tests/components/pca9554/common.yaml index db2ec2b826..9e5e7f3342 100644 --- a/tests/components/pca9554/common.yaml +++ b/tests/components/pca9554/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pca9554 - scl: ${scl_pin} - sda: ${sda_pin} - pca9554: - id: pca9554_hub + i2c_id: i2c_bus pin_count: 8 address: 0x3F diff --git a/tests/components/pca9554/test.esp32-c3-idf.yaml b/tests/components/pca9554/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pca9554/test.esp32-c3-idf.yaml +++ b/tests/components/pca9554/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/test.esp32-idf.yaml b/tests/components/pca9554/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pca9554/test.esp32-idf.yaml +++ b/tests/components/pca9554/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/test.esp8266-ard.yaml b/tests/components/pca9554/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pca9554/test.esp8266-ard.yaml +++ b/tests/components/pca9554/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9554/test.rp2040-ard.yaml b/tests/components/pca9554/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pca9554/test.rp2040-ard.yaml +++ b/tests/components/pca9554/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/common.yaml b/tests/components/pca9685/common.yaml index 57cdc5de9b..2e238b481c 100644 --- a/tests/components/pca9685/common.yaml +++ b/tests/components/pca9685/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_pca9685 - scl: ${scl_pin} - sda: ${sda_pin} - pca9685: + i2c_id: i2c_bus frequency: 500 address: 0x0 diff --git a/tests/components/pca9685/test.esp32-c3-idf.yaml b/tests/components/pca9685/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pca9685/test.esp32-c3-idf.yaml +++ b/tests/components/pca9685/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/test.esp32-idf.yaml b/tests/components/pca9685/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pca9685/test.esp32-idf.yaml +++ b/tests/components/pca9685/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/test.esp8266-ard.yaml b/tests/components/pca9685/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pca9685/test.esp8266-ard.yaml +++ b/tests/components/pca9685/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pca9685/test.rp2040-ard.yaml b/tests/components/pca9685/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pca9685/test.rp2040-ard.yaml +++ b/tests/components/pca9685/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcd8544/common.yaml b/tests/components/pcd8544/common.yaml index 0fb969eeb8..418cd97253 100644 --- a/tests/components/pcd8544/common.yaml +++ b/tests/components/pcd8544/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_pcd8544 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: pcd8544 cs_pin: ${cs_pin} diff --git a/tests/components/pcd8544/test.esp32-c3-idf.yaml b/tests/components/pcd8544/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/pcd8544/test.esp32-c3-idf.yaml +++ b/tests/components/pcd8544/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp32-idf.yaml b/tests/components/pcd8544/test.esp32-idf.yaml index 09e9db5a38..ff174a4656 100644 --- a/tests/components/pcd8544/test.esp32-idf.yaml +++ b/tests/components/pcd8544/test.esp32-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pcd8544/test.esp8266-ard.yaml b/tests/components/pcd8544/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/pcd8544/test.esp8266-ard.yaml +++ b/tests/components/pcd8544/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pcd8544/test.rp2040-ard.yaml b/tests/components/pcd8544/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/pcd8544/test.rp2040-ard.yaml +++ b/tests/components/pcd8544/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pcf85063/common.yaml b/tests/components/pcf85063/common.yaml index f3b68412c5..170029ad85 100644 --- a/tests/components/pcf85063/common.yaml +++ b/tests/components/pcf85063/common.yaml @@ -3,10 +3,6 @@ esphome: - pcf85063.read_time - pcf85063.write_time -i2c: - - id: i2c_pcf85063 - scl: ${scl_pin} - sda: ${sda_pin} - time: - platform: pcf85063 + i2c_id: i2c_bus diff --git a/tests/components/pcf85063/test.esp32-c3-idf.yaml b/tests/components/pcf85063/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pcf85063/test.esp32-c3-idf.yaml +++ b/tests/components/pcf85063/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp32-idf.yaml b/tests/components/pcf85063/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pcf85063/test.esp32-idf.yaml +++ b/tests/components/pcf85063/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf85063/test.esp8266-ard.yaml b/tests/components/pcf85063/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pcf85063/test.esp8266-ard.yaml +++ b/tests/components/pcf85063/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf85063/test.rp2040-ard.yaml b/tests/components/pcf85063/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pcf85063/test.rp2040-ard.yaml +++ b/tests/components/pcf85063/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/common.yaml b/tests/components/pcf8563/common.yaml index 30be6b893c..ac5f3afed1 100644 --- a/tests/components/pcf8563/common.yaml +++ b/tests/components/pcf8563/common.yaml @@ -3,10 +3,6 @@ esphome: - pcf8563.read_time - pcf8563.write_time -i2c: - - id: i2c_pcf8563 - scl: ${scl_pin} - sda: ${sda_pin} - time: - platform: pcf8563 + i2c_id: i2c_bus diff --git a/tests/components/pcf8563/test.esp32-c3-idf.yaml b/tests/components/pcf8563/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pcf8563/test.esp32-c3-idf.yaml +++ b/tests/components/pcf8563/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp32-idf.yaml b/tests/components/pcf8563/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pcf8563/test.esp32-idf.yaml +++ b/tests/components/pcf8563/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/test.esp8266-ard.yaml b/tests/components/pcf8563/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pcf8563/test.esp8266-ard.yaml +++ b/tests/components/pcf8563/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8563/test.rp2040-ard.yaml b/tests/components/pcf8563/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pcf8563/test.rp2040-ard.yaml +++ b/tests/components/pcf8563/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/common.yaml b/tests/components/pcf8574/common.yaml index f5fcfad64a..09fa33164e 100644 --- a/tests/components/pcf8574/common.yaml +++ b/tests/components/pcf8574/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pcf8574 - scl: ${scl_pin} - sda: ${sda_pin} - pcf8574: - id: pcf8574_hub + i2c_id: i2c_bus address: 0x21 pcf8575: false diff --git a/tests/components/pcf8574/test.esp32-c3-idf.yaml b/tests/components/pcf8574/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pcf8574/test.esp32-c3-idf.yaml +++ b/tests/components/pcf8574/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp32-idf.yaml b/tests/components/pcf8574/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pcf8574/test.esp32-idf.yaml +++ b/tests/components/pcf8574/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/test.esp8266-ard.yaml b/tests/components/pcf8574/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pcf8574/test.esp8266-ard.yaml +++ b/tests/components/pcf8574/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pcf8574/test.rp2040-ard.yaml b/tests/components/pcf8574/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pcf8574/test.rp2040-ard.yaml +++ b/tests/components/pcf8574/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pi4ioe5v6408/common.yaml b/tests/components/pi4ioe5v6408/common.yaml index 4130dc2652..2344622081 100644 --- a/tests/components/pi4ioe5v6408/common.yaml +++ b/tests/components/pi4ioe5v6408/common.yaml @@ -1,9 +1,5 @@ -i2c: - id: i2c_pi4ioe5v6408 - sda: ${i2c_sda} - scl: ${i2c_scl} - pi4ioe5v6408: + i2c_id: i2c_bus id: pi4ioe1 address: 0x44 diff --git a/tests/components/pi4ioe5v6408/test.esp32-idf.yaml b/tests/components/pi4ioe5v6408/test.esp32-idf.yaml index 55e6edfbf3..9a4779d822 100644 --- a/tests/components/pi4ioe5v6408/test.esp32-idf.yaml +++ b/tests/components/pi4ioe5v6408/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: i2c_sda: GPIO21 i2c_scl: GPIO22 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml b/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml index b7b6b13bfe..3429a2952a 100644 --- a/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml +++ b/tests/components/pi4ioe5v6408/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: i2c_sda: GPIO4 i2c_scl: GPIO5 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pipsolar/common.yaml b/tests/components/pipsolar/common.yaml index 64e2c0476d..819764a7ea 100644 --- a/tests/components/pipsolar/common.yaml +++ b/tests/components/pipsolar/common.yaml @@ -5,12 +5,6 @@ esphome: id: inverter0_battery_recharge_voltage_out value: 48.0 -uart: - - id: uart_pipsolar - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - pipsolar: id: inverter0 diff --git a/tests/components/pipsolar/test.esp32-c3-idf.yaml b/tests/components/pipsolar/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pipsolar/test.esp32-c3-idf.yaml +++ b/tests/components/pipsolar/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-idf.yaml b/tests/components/pipsolar/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pipsolar/test.esp32-idf.yaml +++ b/tests/components/pipsolar/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp32-s2-idf.yaml b/tests/components/pipsolar/test.esp32-s2-idf.yaml index b516342f3b..2d29656c94 100644 --- a/tests/components/pipsolar/test.esp32-s2-idf.yaml +++ b/tests/components/pipsolar/test.esp32-s2-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.esp8266-ard.yaml b/tests/components/pipsolar/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pipsolar/test.esp8266-ard.yaml +++ b/tests/components/pipsolar/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pipsolar/test.rp2040-ard.yaml b/tests/components/pipsolar/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pipsolar/test.rp2040-ard.yaml +++ b/tests/components/pipsolar/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pm1006/common.yaml b/tests/components/pm1006/common.yaml index 4e3e880f4e..43955bb099 100644 --- a/tests/components/pm1006/common.yaml +++ b/tests/components/pm1006/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pm1006 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: pm1006 pm_2_5: diff --git a/tests/components/pm1006/test.esp32-c3-idf.yaml b/tests/components/pm1006/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pm1006/test.esp32-c3-idf.yaml +++ b/tests/components/pm1006/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm1006/test.esp32-idf.yaml b/tests/components/pm1006/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pm1006/test.esp32-idf.yaml +++ b/tests/components/pm1006/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm1006/test.esp8266-ard.yaml b/tests/components/pm1006/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pm1006/test.esp8266-ard.yaml +++ b/tests/components/pm1006/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pm1006/test.rp2040-ard.yaml b/tests/components/pm1006/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pm1006/test.rp2040-ard.yaml +++ b/tests/components/pm1006/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pm2005/common.yaml b/tests/components/pm2005/common.yaml index b8f6683b22..034752d0b9 100644 --- a/tests/components/pm2005/common.yaml +++ b/tests/components/pm2005/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pm2005 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: pm2005 + i2c_id: i2c_bus pm_1_0: name: PM1.0 pm_2_5: diff --git a/tests/components/pm2005/test.esp32-c3-idf.yaml b/tests/components/pm2005/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pm2005/test.esp32-c3-idf.yaml +++ b/tests/components/pm2005/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm2005/test.esp32-idf.yaml b/tests/components/pm2005/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pm2005/test.esp32-idf.yaml +++ b/tests/components/pm2005/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pm2005/test.esp8266-ard.yaml b/tests/components/pm2005/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pm2005/test.esp8266-ard.yaml +++ b/tests/components/pm2005/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pm2005/test.rp2040-ard.yaml b/tests/components/pm2005/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pm2005/test.rp2040-ard.yaml +++ b/tests/components/pm2005/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/common.yaml b/tests/components/pmsa003i/common.yaml index 95e62da694..7267bd58f3 100644 --- a/tests/components/pmsa003i/common.yaml +++ b/tests/components/pmsa003i/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pmsa003i - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: pmsa003i + i2c_id: i2c_bus pm_1_0: name: PMSA003i PM1.0 pm_2_5: diff --git a/tests/components/pmsa003i/test.esp32-c3-idf.yaml b/tests/components/pmsa003i/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pmsa003i/test.esp32-c3-idf.yaml +++ b/tests/components/pmsa003i/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp32-idf.yaml b/tests/components/pmsa003i/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pmsa003i/test.esp32-idf.yaml +++ b/tests/components/pmsa003i/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/test.esp8266-ard.yaml b/tests/components/pmsa003i/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pmsa003i/test.esp8266-ard.yaml +++ b/tests/components/pmsa003i/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsa003i/test.rp2040-ard.yaml b/tests/components/pmsa003i/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pmsa003i/test.rp2040-ard.yaml +++ b/tests/components/pmsa003i/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/common.yaml b/tests/components/pmsx003/common.yaml index 7b9ca5b091..3c60995804 100644 --- a/tests/components/pmsx003/common.yaml +++ b/tests/components/pmsx003/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pmsx003 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: pmsx003 type: PMSX003 diff --git a/tests/components/pmsx003/test.esp32-c3-idf.yaml b/tests/components/pmsx003/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pmsx003/test.esp32-c3-idf.yaml +++ b/tests/components/pmsx003/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp32-idf.yaml b/tests/components/pmsx003/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pmsx003/test.esp32-idf.yaml +++ b/tests/components/pmsx003/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/test.esp8266-ard.yaml b/tests/components/pmsx003/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pmsx003/test.esp8266-ard.yaml +++ b/tests/components/pmsx003/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmsx003/test.rp2040-ard.yaml b/tests/components/pmsx003/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pmsx003/test.rp2040-ard.yaml +++ b/tests/components/pmsx003/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pmwcs3/common.yaml b/tests/components/pmwcs3/common.yaml index dcf59d0b6e..e06400d4d4 100644 --- a/tests/components/pmwcs3/common.yaml +++ b/tests/components/pmwcs3/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_pmwcs3 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: pmwcs3 + i2c_id: i2c_bus e25: name: pmwcs3_e25 ec: diff --git a/tests/components/pmwcs3/test.esp32-c3-idf.yaml b/tests/components/pmwcs3/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pmwcs3/test.esp32-c3-idf.yaml +++ b/tests/components/pmwcs3/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp32-idf.yaml b/tests/components/pmwcs3/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pmwcs3/test.esp32-idf.yaml +++ b/tests/components/pmwcs3/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pmwcs3/test.esp8266-ard.yaml b/tests/components/pmwcs3/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pmwcs3/test.esp8266-ard.yaml +++ b/tests/components/pmwcs3/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pmwcs3/test.rp2040-ard.yaml b/tests/components/pmwcs3/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pmwcs3/test.rp2040-ard.yaml +++ b/tests/components/pmwcs3/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/common.yaml b/tests/components/pn532_i2c/common.yaml index db9abd4b13..f328cd40ee 100644 --- a/tests/components/pn532_i2c/common.yaml +++ b/tests/components/pn532_i2c/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_pn532 - scl: ${scl_pin} - sda: ${sda_pin} - pn532_i2c: + i2c_id: i2c_bus id: pn532_nfcc binary_sensor: diff --git a/tests/components/pn532_i2c/test.esp32-c3-idf.yaml b/tests/components/pn532_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/pn532_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/pn532_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp32-idf.yaml b/tests/components/pn532_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/pn532_i2c/test.esp32-idf.yaml +++ b/tests/components/pn532_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.esp8266-ard.yaml b/tests/components/pn532_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/pn532_i2c/test.esp8266-ard.yaml +++ b/tests/components/pn532_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_i2c/test.rp2040-ard.yaml b/tests/components/pn532_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/pn532_i2c/test.rp2040-ard.yaml +++ b/tests/components/pn532_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_spi/common.yaml b/tests/components/pn532_spi/common.yaml index d5b8bc405e..e749a9896a 100644 --- a/tests/components/pn532_spi/common.yaml +++ b/tests/components/pn532_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_pn532 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - pn532_spi: id: pn532_nfcc cs_pin: ${cs_pin} diff --git a/tests/components/pn532_spi/test.esp32-c3-idf.yaml b/tests/components/pn532_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/pn532_spi/test.esp32-c3-idf.yaml +++ b/tests/components/pn532_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp32-idf.yaml b/tests/components/pn532_spi/test.esp32-idf.yaml index bce56f398a..9bb524aa65 100644 --- a/tests/components/pn532_spi/test.esp32-idf.yaml +++ b/tests/components/pn532_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 cs_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn532_spi/test.esp8266-ard.yaml b/tests/components/pn532_spi/test.esp8266-ard.yaml index bd5c203e35..1aac800592 100644 --- a/tests/components/pn532_spi/test.esp8266-ard.yaml +++ b/tests/components/pn532_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 - cs_pin: GPIO5 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO15 + cs_pin: GPIO16 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn532_spi/test.rp2040-ard.yaml b/tests/components/pn532_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/pn532_spi/test.rp2040-ard.yaml +++ b/tests/components/pn532_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/common.yaml b/tests/components/pn7150_i2c/common.yaml index ef852b7a78..a317b72b9c 100644 --- a/tests/components/pn7150_i2c/common.yaml +++ b/tests/components/pn7150_i2c/common.yaml @@ -16,13 +16,9 @@ esphome: - tag.polling_off: nfcc_pn7150 - tag.polling_on: nfcc_pn7150 -i2c: - - id: i2c_pn7150 - scl: ${scl_pin} - sda: ${sda_pin} - pn7150_i2c: id: nfcc_pn7150 + i2c_id: i2c_bus irq_pin: ${irq_pin} ven_pin: ${ven_pin} emulation_message: https://www.home-assistant.io/tag/pulse_ce diff --git a/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml b/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml index 2067143411..cdf8445263 100644 --- a/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/pn7150_i2c/test.esp32-c3-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp32-idf.yaml b/tests/components/pn7150_i2c/test.esp32-idf.yaml index 1643bec317..9a4cc6669e 100644 --- a/tests/components/pn7150_i2c/test.esp32-idf.yaml +++ b/tests/components/pn7150_i2c/test.esp32-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO14 ven_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.esp8266-ard.yaml b/tests/components/pn7150_i2c/test.esp8266-ard.yaml index 7111fc9e00..b907e56f80 100644 --- a/tests/components/pn7150_i2c/test.esp8266-ard.yaml +++ b/tests/components/pn7150_i2c/test.esp8266-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO12 - ven_pin: GPIO13 + irq_pin: GPIO15 + ven_pin: GPIO16 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn7150_i2c/test.rp2040-ard.yaml b/tests/components/pn7150_i2c/test.rp2040-ard.yaml index 2067143411..b320b947e3 100644 --- a/tests/components/pn7150_i2c/test.rp2040-ard.yaml +++ b/tests/components/pn7150_i2c/test.rp2040-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/common.yaml b/tests/components/pn7160_i2c/common.yaml index 0a7c9bd6bb..9807bff0f0 100644 --- a/tests/components/pn7160_i2c/common.yaml +++ b/tests/components/pn7160_i2c/common.yaml @@ -16,13 +16,9 @@ esphome: - tag.polling_off: nfcc_pn7160 - tag.polling_on: nfcc_pn7160 -i2c: - - id: i2c_pn7160 - scl: ${scl_pin} - sda: ${sda_pin} - pn7150_i2c: id: nfcc_pn7160 + i2c_id: i2c_bus irq_pin: ${irq_pin} ven_pin: ${ven_pin} emulation_message: https://www.home-assistant.io/tag/pulse_ce diff --git a/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml b/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml index 2067143411..cdf8445263 100644 --- a/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/pn7160_i2c/test.esp32-c3-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp32-idf.yaml b/tests/components/pn7160_i2c/test.esp32-idf.yaml index 1643bec317..9a4cc6669e 100644 --- a/tests/components/pn7160_i2c/test.esp32-idf.yaml +++ b/tests/components/pn7160_i2c/test.esp32-idf.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 irq_pin: GPIO14 ven_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.esp8266-ard.yaml b/tests/components/pn7160_i2c/test.esp8266-ard.yaml index 7111fc9e00..b907e56f80 100644 --- a/tests/components/pn7160_i2c/test.esp8266-ard.yaml +++ b/tests/components/pn7160_i2c/test.esp8266-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 - irq_pin: GPIO12 - ven_pin: GPIO13 + irq_pin: GPIO15 + ven_pin: GPIO16 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pn7160_i2c/test.rp2040-ard.yaml b/tests/components/pn7160_i2c/test.rp2040-ard.yaml index 2067143411..b320b947e3 100644 --- a/tests/components/pn7160_i2c/test.rp2040-ard.yaml +++ b/tests/components/pn7160_i2c/test.rp2040-ard.yaml @@ -1,7 +1,8 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 irq_pin: GPIO6 ven_pin: GPIO7 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_spi/common.yaml b/tests/components/pn7160_spi/common.yaml index 9e8d22f835..d467eb093f 100644 --- a/tests/components/pn7160_spi/common.yaml +++ b/tests/components/pn7160_spi/common.yaml @@ -16,12 +16,6 @@ esphome: - tag.polling_off: nfcc_pn7160 - tag.polling_on: nfcc_pn7160 -spi: - - id: spi_pn7160 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - pn7160_spi: id: nfcc_pn7160 cs_pin: ${cs_pin} diff --git a/tests/components/pn7160_spi/test.esp32-c3-idf.yaml b/tests/components/pn7160_spi/test.esp32-c3-idf.yaml index f8a07fad2f..ac18bfff5c 100644 --- a/tests/components/pn7160_spi/test.esp32-c3-idf.yaml +++ b/tests/components/pn7160_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 irq_pin: GPIO9 ven_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp32-idf.yaml b/tests/components/pn7160_spi/test.esp32-idf.yaml index f6073d0416..f903e4b7be 100644 --- a/tests/components/pn7160_spi/test.esp32-idf.yaml +++ b/tests/components/pn7160_spi/test.esp32-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 cs_pin: GPIO12 irq_pin: GPIO13 ven_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.esp8266-ard.yaml b/tests/components/pn7160_spi/test.esp8266-ard.yaml index cbe27533a7..7ec89dc012 100644 --- a/tests/components/pn7160_spi/test.esp8266-ard.yaml +++ b/tests/components/pn7160_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 irq_pin: GPIO15 ven_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pn7160_spi/test.rp2040-ard.yaml b/tests/components/pn7160_spi/test.rp2040-ard.yaml index 70cd2425fa..b4a4b436cd 100644 --- a/tests/components/pn7160_spi/test.rp2040-ard.yaml +++ b/tests/components/pn7160_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: irq_pin: GPIO15 ven_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/prometheus/common.yaml b/tests/components/prometheus/common.yaml index 131d135f8b..9a16088ba0 100644 --- a/tests/components/prometheus/common.yaml +++ b/tests/components/prometheus/common.yaml @@ -21,10 +21,12 @@ http_request: ota: - platform: http_request + id: prometheus_http_request_ota update: - platform: http_request name: Firmware Update + ota_id: prometheus_http_request_ota source: http://example.com/manifest.json sensor: diff --git a/tests/components/prometheus/test.esp32-idf.yaml b/tests/components/prometheus/test.esp32-idf.yaml index f00bca5947..d60caadb05 100644 --- a/tests/components/prometheus/test.esp32-idf.yaml +++ b/tests/components/prometheus/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: verify_ssl: "false" pin: GPIO2 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml b/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml +++ b/tests/components/pvvx_mithermometer/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pvvx_mithermometer/test.esp32-idf.yaml b/tests/components/pvvx_mithermometer/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/pvvx_mithermometer/test.esp32-idf.yaml +++ b/tests/components/pvvx_mithermometer/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/pylontech/common.yaml b/tests/components/pylontech/common.yaml index 6852685be7..537450a3b6 100644 --- a/tests/components/pylontech/common.yaml +++ b/tests/components/pylontech/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pylontech0 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - pylontech: - id: pylontech0 - id: pylontech1 diff --git a/tests/components/pylontech/test.esp32-c3-idf.yaml b/tests/components/pylontech/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pylontech/test.esp32-c3-idf.yaml +++ b/tests/components/pylontech/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pylontech/test.esp32-idf.yaml b/tests/components/pylontech/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pylontech/test.esp32-idf.yaml +++ b/tests/components/pylontech/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pylontech/test.esp8266-ard.yaml b/tests/components/pylontech/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pylontech/test.esp8266-ard.yaml +++ b/tests/components/pylontech/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pylontech/test.rp2040-ard.yaml b/tests/components/pylontech/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pylontech/test.rp2040-ard.yaml +++ b/tests/components/pylontech/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pzem004t/common.yaml b/tests/components/pzem004t/common.yaml index 75f7f30fc9..4584f9c273 100644 --- a/tests/components/pzem004t/common.yaml +++ b/tests/components/pzem004t/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_pzem004t - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - sensor: - platform: pzem004t voltage: diff --git a/tests/components/pzem004t/test.esp32-c3-idf.yaml b/tests/components/pzem004t/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/pzem004t/test.esp32-c3-idf.yaml +++ b/tests/components/pzem004t/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp32-idf.yaml b/tests/components/pzem004t/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/pzem004t/test.esp32-idf.yaml +++ b/tests/components/pzem004t/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzem004t/test.esp8266-ard.yaml b/tests/components/pzem004t/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/pzem004t/test.esp8266-ard.yaml +++ b/tests/components/pzem004t/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pzem004t/test.rp2040-ard.yaml b/tests/components/pzem004t/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/pzem004t/test.rp2040-ard.yaml +++ b/tests/components/pzem004t/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pzemac/common.yaml b/tests/components/pzemac/common.yaml index e50f4ad2f2..2566051baa 100644 --- a/tests/components/pzemac/common.yaml +++ b/tests/components/pzemac/common.yaml @@ -3,16 +3,9 @@ esphome: then: - pzemac.reset_energy: pzemac1 -uart: - - id: uart_pzemac - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - -modbus: - sensor: - platform: pzemac + modbus_id: modbus_bus id: pzemac1 voltage: name: PZEMAC Voltage diff --git a/tests/components/pzemac/test.esp32-c3-idf.yaml b/tests/components/pzemac/test.esp32-c3-idf.yaml index b516342f3b..6c6e95488f 100644 --- a/tests/components/pzemac/test.esp32-c3-idf.yaml +++ b/tests/components/pzemac/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemac/test.esp32-idf.yaml b/tests/components/pzemac/test.esp32-idf.yaml index f486544afa..37d98696cc 100644 --- a/tests/components/pzemac/test.esp32-idf.yaml +++ b/tests/components/pzemac/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemac/test.esp8266-ard.yaml b/tests/components/pzemac/test.esp8266-ard.yaml index b516342f3b..421389ae97 100644 --- a/tests/components/pzemac/test.esp8266-ard.yaml +++ b/tests/components/pzemac/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pzemac/test.rp2040-ard.yaml b/tests/components/pzemac/test.rp2040-ard.yaml index b516342f3b..d78d84c983 100644 --- a/tests/components/pzemac/test.rp2040-ard.yaml +++ b/tests/components/pzemac/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/pzemdc/common.yaml b/tests/components/pzemdc/common.yaml index db1868d682..78a0ab0d07 100644 --- a/tests/components/pzemdc/common.yaml +++ b/tests/components/pzemdc/common.yaml @@ -3,15 +3,9 @@ esphome: then: - pzemdc.reset_energy: pzemdc1 -uart: - - id: uart_pzemdc - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - stop_bits: 2 - sensor: - platform: pzemdc + modbus_id: modbus_bus id: pzemdc1 voltage: name: PZEMDC Voltage diff --git a/tests/components/pzemdc/test.esp32-c3-idf.yaml b/tests/components/pzemdc/test.esp32-c3-idf.yaml index b516342f3b..6c6e95488f 100644 --- a/tests/components/pzemdc/test.esp32-c3-idf.yaml +++ b/tests/components/pzemdc/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp32-idf.yaml b/tests/components/pzemdc/test.esp32-idf.yaml index f486544afa..37d98696cc 100644 --- a/tests/components/pzemdc/test.esp32-idf.yaml +++ b/tests/components/pzemdc/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/pzemdc/test.esp8266-ard.yaml b/tests/components/pzemdc/test.esp8266-ard.yaml index b516342f3b..421389ae97 100644 --- a/tests/components/pzemdc/test.esp8266-ard.yaml +++ b/tests/components/pzemdc/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/pzemdc/test.rp2040-ard.yaml b/tests/components/pzemdc/test.rp2040-ard.yaml index b516342f3b..d78d84c983 100644 --- a/tests/components/pzemdc/test.rp2040-ard.yaml +++ b/tests/components/pzemdc/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qmc5883l/common.yaml b/tests/components/qmc5883l/common.yaml index c8ad4ba006..98d0350a60 100644 --- a/tests/components/qmc5883l/common.yaml +++ b/tests/components/qmc5883l/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_qmc5883l - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: qmc5883l + i2c_id: i2c_bus address: 0x0D field_strength_x: name: QMC5883L Field Strength X diff --git a/tests/components/qmc5883l/test.esp32-c3-idf.yaml b/tests/components/qmc5883l/test.esp32-c3-idf.yaml index 677501d15a..854ddc25e7 100644 --- a/tests/components/qmc5883l/test.esp32-c3-idf.yaml +++ b/tests/components/qmc5883l/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 drdy_pin: GPIO6 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp32-idf.yaml b/tests/components/qmc5883l/test.esp32-idf.yaml index 2cf2041501..07bf2b14e2 100644 --- a/tests/components/qmc5883l/test.esp32-idf.yaml +++ b/tests/components/qmc5883l/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 - drdy_pin: GPIO18 + drdy_pin: GPIO12 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/qmc5883l/test.esp8266-ard.yaml b/tests/components/qmc5883l/test.esp8266-ard.yaml index 65b0fd75d9..0c02b3b96a 100644 --- a/tests/components/qmc5883l/test.esp8266-ard.yaml +++ b/tests/components/qmc5883l/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 drdy_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qmc5883l/test.rp2040-ard.yaml b/tests/components/qmc5883l/test.rp2040-ard.yaml index 65b0fd75d9..3b10540b1f 100644 --- a/tests/components/qmc5883l/test.rp2040-ard.yaml +++ b/tests/components/qmc5883l/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 drdy_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qmp6988/common.yaml b/tests/components/qmp6988/common.yaml index cb4b221df0..2aea228a0d 100644 --- a/tests/components/qmp6988/common.yaml +++ b/tests/components/qmp6988/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_qmp6988 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: qmp6988 + i2c_id: i2c_bus temperature: name: QMP6988 Temperature oversampling: 32x diff --git a/tests/components/qmp6988/test.esp32-c3-idf.yaml b/tests/components/qmp6988/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/qmp6988/test.esp32-c3-idf.yaml +++ b/tests/components/qmp6988/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp32-idf.yaml b/tests/components/qmp6988/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/qmp6988/test.esp32-idf.yaml +++ b/tests/components/qmp6988/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/qmp6988/test.esp8266-ard.yaml b/tests/components/qmp6988/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/qmp6988/test.esp8266-ard.yaml +++ b/tests/components/qmp6988/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/qmp6988/test.rp2040-ard.yaml b/tests/components/qmp6988/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/qmp6988/test.rp2040-ard.yaml +++ b/tests/components/qmp6988/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/qr_code/common.yaml b/tests/components/qr_code/common.yaml index 85c2ee076b..5fec26c1cc 100644 --- a/tests/components/qr_code/common.yaml +++ b/tests/components/qr_code/common.yaml @@ -1,11 +1,6 @@ -spi: - - id: spi_main_lcd - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ili9xxx - id: main_lcd + id: qr_code_main_lcd model: ili9342 cs_pin: ${cs_pin} dc_pin: ${dc_pin} @@ -14,11 +9,11 @@ display: lambda: |- // Draw a QR code in the center of the screen auto scale = 2; - auto size = id(homepage_qr).get_size() * scale; + auto size = id(qr_code_homepage_qr).get_size() * scale; auto x = (it.get_width() / 2) - (size / 2); auto y = (it.get_height() / 2) - (size / 2); - it.qr_code(x, y, id(homepage_qr), Color(255,255,255), scale); + it.qr_code(x, y, id(qr_code_homepage_qr), Color(255,255,255), scale); qr_code: - - id: homepage_qr + - id: qr_code_homepage_qr value: https://esphome.io/index.html diff --git a/tests/components/qr_code/test.esp32-c3-idf.yaml b/tests/components/qr_code/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/qr_code/test.esp32-c3-idf.yaml +++ b/tests/components/qr_code/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/qr_code/test.esp32-idf.yaml b/tests/components/qr_code/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/qr_code/test.esp32-idf.yaml +++ b/tests/components/qr_code/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/qr_code/test.esp8266-ard.yaml b/tests/components/qr_code/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/qr_code/test.esp8266-ard.yaml +++ b/tests/components/qr_code/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qr_code/test.rp2040-ard.yaml b/tests/components/qr_code/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/qr_code/test.rp2040-ard.yaml +++ b/tests/components/qr_code/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/qspi_dbi/common.yaml b/tests/components/qspi_dbi/common.yaml index f4b15f2b90..109db65b63 100644 --- a/tests/components/qspi_dbi/common.yaml +++ b/tests/components/qspi_dbi/common.yaml @@ -1,9 +1,3 @@ -spi: - id: quad_spi - clk_pin: 15 - type: quad - data_pins: [14, 10, 16, 12] - display: - platform: qspi_dbi model: RM690B0 diff --git a/tests/components/qspi_dbi/test.esp32-s3-idf.yaml b/tests/components/qspi_dbi/test.esp32-s3-idf.yaml index dade44d145..c335dee1f3 100644 --- a/tests/components/qspi_dbi/test.esp32-s3-idf.yaml +++ b/tests/components/qspi_dbi/test.esp32-s3-idf.yaml @@ -1 +1,4 @@ +packages: + qspi: !include ../../test_build_components/common/qspi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/qwiic_pir/common.yaml b/tests/components/qwiic_pir/common.yaml index d4b733405d..30418ff6b9 100644 --- a/tests/components/qwiic_pir/common.yaml +++ b/tests/components/qwiic_pir/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_qwiic_pir - scl: ${scl_pin} - sda: ${sda_pin} - binary_sensor: - platform: qwiic_pir + i2c_id: i2c_bus name: Qwiic PIR Motion Sensor diff --git a/tests/components/qwiic_pir/test.esp32-c3-idf.yaml b/tests/components/qwiic_pir/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/qwiic_pir/test.esp32-c3-idf.yaml +++ b/tests/components/qwiic_pir/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp32-idf.yaml b/tests/components/qwiic_pir/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/qwiic_pir/test.esp32-idf.yaml +++ b/tests/components/qwiic_pir/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.esp8266-ard.yaml b/tests/components/qwiic_pir/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/qwiic_pir/test.esp8266-ard.yaml +++ b/tests/components/qwiic_pir/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/qwiic_pir/test.rp2040-ard.yaml b/tests/components/qwiic_pir/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/qwiic_pir/test.rp2040-ard.yaml +++ b/tests/components/qwiic_pir/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml b/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml +++ b/tests/components/radon_eye_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/radon_eye_ble/test.esp32-idf.yaml b/tests/components/radon_eye_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/radon_eye_ble/test.esp32-idf.yaml +++ b/tests/components/radon_eye_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml b/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml +++ b/tests/components/radon_eye_rd200/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/radon_eye_rd200/test.esp32-idf.yaml b/tests/components/radon_eye_rd200/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/radon_eye_rd200/test.esp32-idf.yaml +++ b/tests/components/radon_eye_rd200/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/rc522_i2c/common.yaml b/tests/components/rc522_i2c/common.yaml index b8b7a41bc7..65b92a3e78 100644 --- a/tests/components/rc522_i2c/common.yaml +++ b/tests/components/rc522_i2c/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_rc522 - scl: ${scl_pin} - sda: ${sda_pin} - rc522_i2c: - id: rc522_nfcc + i2c_id: i2c_bus update_interval: 1s on_tag: - lambda: |- diff --git a/tests/components/rc522_i2c/test.esp32-c3-idf.yaml b/tests/components/rc522_i2c/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/rc522_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/rc522_i2c/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp32-idf.yaml b/tests/components/rc522_i2c/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/rc522_i2c/test.esp32-idf.yaml +++ b/tests/components/rc522_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.esp8266-ard.yaml b/tests/components/rc522_i2c/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/rc522_i2c/test.esp8266-ard.yaml +++ b/tests/components/rc522_i2c/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/rc522_i2c/test.rp2040-ard.yaml b/tests/components/rc522_i2c/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/rc522_i2c/test.rp2040-ard.yaml +++ b/tests/components/rc522_i2c/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/rc522_spi/common.yaml b/tests/components/rc522_spi/common.yaml index 5c42858993..4ce1d6584b 100644 --- a/tests/components/rc522_spi/common.yaml +++ b/tests/components/rc522_spi/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_rc522 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - rc522_spi: id: rc522_nfcc cs_pin: ${cs_pin} diff --git a/tests/components/rc522_spi/test.esp32-c3-idf.yaml b/tests/components/rc522_spi/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/rc522_spi/test.esp32-c3-idf.yaml +++ b/tests/components/rc522_spi/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp32-idf.yaml b/tests/components/rc522_spi/test.esp32-idf.yaml index 54e027a614..a3352cf880 100644 --- a/tests/components/rc522_spi/test.esp32-idf.yaml +++ b/tests/components/rc522_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/rc522_spi/test.esp8266-ard.yaml b/tests/components/rc522_spi/test.esp8266-ard.yaml index dbd158d030..b4673ba8b7 100644 --- a/tests/components/rc522_spi/test.esp8266-ard.yaml +++ b/tests/components/rc522_spi/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO16 cs_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/rc522_spi/test.rp2040-ard.yaml b/tests/components/rc522_spi/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/rc522_spi/test.rp2040-ard.yaml +++ b/tests/components/rc522_spi/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/rdm6300/common.yaml b/tests/components/rdm6300/common.yaml index 118a295471..f1a5305013 100644 --- a/tests/components/rdm6300/common.yaml +++ b/tests/components/rdm6300/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_rdm6300 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - rdm6300: binary_sensor: diff --git a/tests/components/rdm6300/test.esp32-c3-idf.yaml b/tests/components/rdm6300/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/rdm6300/test.esp32-c3-idf.yaml +++ b/tests/components/rdm6300/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp32-idf.yaml b/tests/components/rdm6300/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/rdm6300/test.esp32-idf.yaml +++ b/tests/components/rdm6300/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/rdm6300/test.esp8266-ard.yaml b/tests/components/rdm6300/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/rdm6300/test.esp8266-ard.yaml +++ b/tests/components/rdm6300/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/rdm6300/test.rp2040-ard.yaml b/tests/components/rdm6300/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/rdm6300/test.rp2040-ard.yaml +++ b/tests/components/rdm6300/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/remote_receiver/test.esp32-s3-idf.yaml b/tests/components/remote_receiver/test.esp32-s3-idf.yaml index cdae8b1e4e..0d7a20e0c0 100644 --- a/tests/components/remote_receiver/test.esp32-s3-idf.yaml +++ b/tests/components/remote_receiver/test.esp32-s3-idf.yaml @@ -5,9 +5,22 @@ substitutions: receive_symbols: "4" rmt_symbols: "64" -packages: - common: !include esp32-common.yaml - +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. remote_receiver: - - id: !extend rcvr + - id: rcvr + pin: ${pin} + dump: all + tolerance: 25% + clock_resolution: ${clock_resolution} + filter_symbols: ${filter_symbols} + receive_symbols: ${receive_symbols} + rmt_symbols: ${rmt_symbols} use_dma: "true" + <<: !include common-actions.yaml + +binary_sensor: + - platform: remote_receiver + name: Panasonic Remote Input + panasonic: + address: 0x4004 + command: 0x100BCBD diff --git a/tests/components/remote_transmitter/test.esp32-s3-idf.yaml b/tests/components/remote_transmitter/test.esp32-s3-idf.yaml index fe4c46d9e7..8a038beb4a 100644 --- a/tests/components/remote_transmitter/test.esp32-s3-idf.yaml +++ b/tests/components/remote_transmitter/test.esp32-s3-idf.yaml @@ -3,9 +3,14 @@ substitutions: clock_resolution: "2000000" rmt_symbols: "64" -packages: - common: !include esp32-common.yaml - +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. remote_transmitter: - - id: !extend xmitr + - id: xmitr + pin: ${pin} + carrier_duty_percent: 50% + clock_resolution: ${clock_resolution} + rmt_symbols: ${rmt_symbols} use_dma: "true" + +packages: + buttons: !include common-buttons.yaml diff --git a/tests/components/resampler/test.esp32-idf.yaml b/tests/components/resampler/test.esp32-idf.yaml index 96d2d37458..6712f1e468 100644 --- a/tests/components/resampler/test.esp32-idf.yaml +++ b/tests/components/resampler/test.esp32-idf.yaml @@ -1,7 +1,10 @@ substitutions: - lrclk_pin: GPIO16 - bclk_pin: GPIO17 + lrclk_pin: GPIO4 + bclk_pin: GPIO5 mclk_pin: GPIO15 dout_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/rf_bridge/common.yaml b/tests/components/rf_bridge/common.yaml index eaadc4bb9c..427c3d783d 100644 --- a/tests/components/rf_bridge/common.yaml +++ b/tests/components/rf_bridge/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_rf_bridge - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - rf_bridge: on_code_received: - lambda: |- diff --git a/tests/components/rf_bridge/test.esp32-c3-idf.yaml b/tests/components/rf_bridge/test.esp32-c3-idf.yaml index b516342f3b..a19013bf54 100644 --- a/tests/components/rf_bridge/test.esp32-c3-idf.yaml +++ b/tests/components/rf_bridge/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp32-idf.yaml b/tests/components/rf_bridge/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/rf_bridge/test.esp32-idf.yaml +++ b/tests/components/rf_bridge/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/rf_bridge/test.esp8266-ard.yaml b/tests/components/rf_bridge/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/rf_bridge/test.esp8266-ard.yaml +++ b/tests/components/rf_bridge/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/rf_bridge/test.rp2040-ard.yaml b/tests/components/rf_bridge/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/rf_bridge/test.rp2040-ard.yaml +++ b/tests/components/rf_bridge/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml b/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml +++ b/tests/components/ruuvi_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ruuvi_ble/test.esp32-idf.yaml b/tests/components/ruuvi_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ruuvi_ble/test.esp32-idf.yaml +++ b/tests/components/ruuvi_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-c3-idf.yaml b/tests/components/ruuvitag/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/ruuvitag/test.esp32-c3-idf.yaml +++ b/tests/components/ruuvitag/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ruuvitag/test.esp32-idf.yaml b/tests/components/ruuvitag/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/ruuvitag/test.esp32-idf.yaml +++ b/tests/components/ruuvitag/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/scd30/common.yaml b/tests/components/scd30/common.yaml index 1c45c67af0..f21d8944dc 100644 --- a/tests/components/scd30/common.yaml +++ b/tests/components/scd30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_scd30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: scd30 + i2c_id: i2c_bus co2: name: SCD30 CO2 temperature: diff --git a/tests/components/scd30/test.esp32-c3-idf.yaml b/tests/components/scd30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/scd30/test.esp32-c3-idf.yaml +++ b/tests/components/scd30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd30/test.esp32-idf.yaml b/tests/components/scd30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/scd30/test.esp32-idf.yaml +++ b/tests/components/scd30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd30/test.esp8266-ard.yaml b/tests/components/scd30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/scd30/test.esp8266-ard.yaml +++ b/tests/components/scd30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/scd30/test.rp2040-ard.yaml b/tests/components/scd30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/scd30/test.rp2040-ard.yaml +++ b/tests/components/scd30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/common.yaml b/tests/components/scd4x/common.yaml index dfd35e57de..cedb88977e 100644 --- a/tests/components/scd4x/common.yaml +++ b/tests/components/scd4x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_scd4x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: scd4x + i2c_id: i2c_bus id: scd40 co2: name: SCD4X CO2 diff --git a/tests/components/scd4x/test.esp32-c3-idf.yaml b/tests/components/scd4x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/scd4x/test.esp32-c3-idf.yaml +++ b/tests/components/scd4x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/test.esp32-idf.yaml b/tests/components/scd4x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/scd4x/test.esp32-idf.yaml +++ b/tests/components/scd4x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/test.esp8266-ard.yaml b/tests/components/scd4x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/scd4x/test.esp8266-ard.yaml +++ b/tests/components/scd4x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/scd4x/test.rp2040-ard.yaml b/tests/components/scd4x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/scd4x/test.rp2040-ard.yaml +++ b/tests/components/scd4x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/common.yaml b/tests/components/sdm_meter/common.yaml index 60c71a796b..760f134451 100644 --- a/tests/components/sdm_meter/common.yaml +++ b/tests/components/sdm_meter/common.yaml @@ -1,11 +1,6 @@ -uart: - - id: uart_sdm_meter - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: sdm_meter + modbus_id: modbus_bus phase_a: current: name: Phase A Current diff --git a/tests/components/sdm_meter/test.esp32-c3-idf.yaml b/tests/components/sdm_meter/test.esp32-c3-idf.yaml index b516342f3b..6c6e95488f 100644 --- a/tests/components/sdm_meter/test.esp32-c3-idf.yaml +++ b/tests/components/sdm_meter/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp32-idf.yaml b/tests/components/sdm_meter/test.esp32-idf.yaml index f486544afa..37d98696cc 100644 --- a/tests/components/sdm_meter/test.esp32-idf.yaml +++ b/tests/components/sdm_meter/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/test.esp8266-ard.yaml b/tests/components/sdm_meter/test.esp8266-ard.yaml index b516342f3b..421389ae97 100644 --- a/tests/components/sdm_meter/test.esp8266-ard.yaml +++ b/tests/components/sdm_meter/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sdm_meter/test.rp2040-ard.yaml b/tests/components/sdm_meter/test.rp2040-ard.yaml index b516342f3b..d78d84c983 100644 --- a/tests/components/sdm_meter/test.rp2040-ard.yaml +++ b/tests/components/sdm_meter/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sdp3x/common.yaml b/tests/components/sdp3x/common.yaml index d3c5491ca5..5d06f8eddb 100644 --- a/tests/components/sdp3x/common.yaml +++ b/tests/components/sdp3x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sdp3x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sdp3x + i2c_id: i2c_bus id: filter_pressure name: HVAC Filter Pressure drop accuracy_decimals: 3 diff --git a/tests/components/sdp3x/test.esp32-c3-idf.yaml b/tests/components/sdp3x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sdp3x/test.esp32-c3-idf.yaml +++ b/tests/components/sdp3x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp32-idf.yaml b/tests/components/sdp3x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sdp3x/test.esp32-idf.yaml +++ b/tests/components/sdp3x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sdp3x/test.esp8266-ard.yaml b/tests/components/sdp3x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sdp3x/test.esp8266-ard.yaml +++ b/tests/components/sdp3x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sdp3x/test.rp2040-ard.yaml b/tests/components/sdp3x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sdp3x/test.rp2040-ard.yaml +++ b/tests/components/sdp3x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sds011/common.yaml b/tests/components/sds011/common.yaml index c7574e1d7d..abae0f9bd8 100644 --- a/tests/components/sds011/common.yaml +++ b/tests/components/sds011/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sdm_sds011 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - sensor: - platform: sds011 pm_2_5: diff --git a/tests/components/sds011/test.esp32-c3-idf.yaml b/tests/components/sds011/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sds011/test.esp32-c3-idf.yaml +++ b/tests/components/sds011/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sds011/test.esp32-idf.yaml b/tests/components/sds011/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sds011/test.esp32-idf.yaml +++ b/tests/components/sds011/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sds011/test.esp8266-ard.yaml b/tests/components/sds011/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sds011/test.esp8266-ard.yaml +++ b/tests/components/sds011/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sds011/test.rp2040-ard.yaml b/tests/components/sds011/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sds011/test.rp2040-ard.yaml +++ b/tests/components/sds011/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/seeed_mr24hpc1/common.yaml b/tests/components/seeed_mr24hpc1/common.yaml index 38692b3e5e..3a52888c5c 100644 --- a/tests/components/seeed_mr24hpc1/common.yaml +++ b/tests/components/seeed_mr24hpc1/common.yaml @@ -1,14 +1,5 @@ -uart: - - id: seeed_mr24hpc1_uart - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 115200 - parity: NONE - stop_bits: 1 - seeed_mr24hpc1: id: my_seeed_mr24hpc1 - uart_id: seeed_mr24hpc1_uart sensor: - platform: seeed_mr24hpc1 diff --git a/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml b/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml index 4fb884abf4..a19013bf54 100644 --- a/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml +++ b/tests/components/seeed_mr24hpc1/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/seeed_mr60bha2/common.yaml b/tests/components/seeed_mr60bha2/common.yaml index 9eb0c8d527..7d1a02b3ea 100644 --- a/tests/components/seeed_mr60bha2/common.yaml +++ b/tests/components/seeed_mr60bha2/common.yaml @@ -1,11 +1,3 @@ -uart: - - id: seeed_mr60fda2_uart - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 115200 - parity: NONE - stop_bits: 1 - seeed_mr60bha2: id: my_seeed_mr60bha2 diff --git a/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml b/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml index 4fb884abf4..fea89f5768 100644 --- a/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml +++ b/tests/components/seeed_mr60bha2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 +packages: + uart_115200: !include ../../test_build_components/common/uart_115200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/seeed_mr60fda2/common.yaml b/tests/components/seeed_mr60fda2/common.yaml index 55a7cc1ab3..e0e4614481 100644 --- a/tests/components/seeed_mr60fda2/common.yaml +++ b/tests/components/seeed_mr60fda2/common.yaml @@ -1,14 +1,5 @@ -uart: - - id: seeed_mr60fda2_uart - tx_pin: ${uart_tx_pin} - rx_pin: ${uart_rx_pin} - baud_rate: 115200 - parity: NONE - stop_bits: 1 - seeed_mr60fda2: id: my_seeed_mr60fda2 - uart_id: seeed_mr60fda2_uart binary_sensor: - platform: seeed_mr60fda2 diff --git a/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml b/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml index 4fb884abf4..fea89f5768 100644 --- a/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml +++ b/tests/components/seeed_mr60fda2/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - uart_tx_pin: GPIO5 - uart_rx_pin: GPIO4 +packages: + uart_115200: !include ../../test_build_components/common/uart_115200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/selec_meter/common.yaml b/tests/components/selec_meter/common.yaml index f2714ce828..2febbee540 100644 --- a/tests/components/selec_meter/common.yaml +++ b/tests/components/selec_meter/common.yaml @@ -1,11 +1,6 @@ -uart: - - id: uart_selec_meter - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - 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 b516342f3b..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: - tx_pin: GPIO4 - rx_pin: GPIO5 + flow_control_pin: GPIO10 + +packages: + 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 f486544afa..4df9f5863e 100644 --- a/tests/components/selec_meter/test.esp32-idf.yaml +++ b/tests/components/selec_meter/test.esp32-idf.yaml @@ -1,5 +1,9 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + flow_control_pin: GPIO26 + +packages: + 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 b516342f3b..48a7307795 100644 --- a/tests/components/selec_meter/test.esp8266-ard.yaml +++ b/tests/components/selec_meter/test.esp8266-ard.yaml @@ -1,5 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + flow_control_pin: GPIO4 + +packages: + 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 b516342f3b..a65500ccc3 100644 --- a/tests/components/selec_meter/test.rp2040-ard.yaml +++ b/tests/components/selec_meter/test.rp2040-ard.yaml @@ -1,5 +1,9 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO6 + +packages: + modbus: !include ../../test_build_components/common/modbus/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/common.yaml b/tests/components/sen0321/common.yaml index 8b9fdff4a1..9228c7b820 100644 --- a/tests/components/sen0321/common.yaml +++ b/tests/components/sen0321/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sen0321 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sen0321 + i2c_id: i2c_bus name: Workshop Ozone Sensor id: sen0321_ozone update_interval: 10s diff --git a/tests/components/sen0321/test.esp32-c3-idf.yaml b/tests/components/sen0321/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sen0321/test.esp32-c3-idf.yaml +++ b/tests/components/sen0321/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/test.esp32-idf.yaml b/tests/components/sen0321/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sen0321/test.esp32-idf.yaml +++ b/tests/components/sen0321/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/test.esp8266-ard.yaml b/tests/components/sen0321/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sen0321/test.esp8266-ard.yaml +++ b/tests/components/sen0321/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen0321/test.rp2040-ard.yaml b/tests/components/sen0321/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sen0321/test.rp2040-ard.yaml +++ b/tests/components/sen0321/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/common.yaml b/tests/components/sen21231/common.yaml index 6fa1d04aa2..bfe0f9d7f8 100644 --- a/tests/components/sen21231/common.yaml +++ b/tests/components/sen21231/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_sen21231 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sen21231 + i2c_id: i2c_bus id: sen21231_sensor1 name: Person Sensor diff --git a/tests/components/sen21231/test.esp32-c3-idf.yaml b/tests/components/sen21231/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sen21231/test.esp32-c3-idf.yaml +++ b/tests/components/sen21231/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/test.esp32-idf.yaml b/tests/components/sen21231/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sen21231/test.esp32-idf.yaml +++ b/tests/components/sen21231/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/test.esp8266-ard.yaml b/tests/components/sen21231/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sen21231/test.esp8266-ard.yaml +++ b/tests/components/sen21231/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen21231/test.rp2040-ard.yaml b/tests/components/sen21231/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sen21231/test.rp2040-ard.yaml +++ b/tests/components/sen21231/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/common.yaml b/tests/components/sen5x/common.yaml index 9adf268048..a4462a16ea 100644 --- a/tests/components/sen5x/common.yaml +++ b/tests/components/sen5x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sen5x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sen5x + i2c_id: i2c_bus id: sen54 temperature: name: Temperature diff --git a/tests/components/sen5x/test.esp32-c3-idf.yaml b/tests/components/sen5x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sen5x/test.esp32-c3-idf.yaml +++ b/tests/components/sen5x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/test.esp32-idf.yaml b/tests/components/sen5x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sen5x/test.esp32-idf.yaml +++ b/tests/components/sen5x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/test.esp8266-ard.yaml b/tests/components/sen5x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sen5x/test.esp8266-ard.yaml +++ b/tests/components/sen5x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sen5x/test.rp2040-ard.yaml b/tests/components/sen5x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sen5x/test.rp2040-ard.yaml +++ b/tests/components/sen5x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/senseair/common.yaml b/tests/components/senseair/common.yaml index 23a933affe..c8066896d0 100644 --- a/tests/components/senseair/common.yaml +++ b/tests/components/senseair/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_senseair - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: senseair id: senseair0 diff --git a/tests/components/senseair/test.esp32-c3-idf.yaml b/tests/components/senseair/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/senseair/test.esp32-c3-idf.yaml +++ b/tests/components/senseair/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/senseair/test.esp32-idf.yaml b/tests/components/senseair/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/senseair/test.esp32-idf.yaml +++ b/tests/components/senseair/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/senseair/test.esp8266-ard.yaml b/tests/components/senseair/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/senseair/test.esp8266-ard.yaml +++ b/tests/components/senseair/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/senseair/test.rp2040-ard.yaml b/tests/components/senseair/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/senseair/test.rp2040-ard.yaml +++ b/tests/components/senseair/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sfa30/common.yaml b/tests/components/sfa30/common.yaml index e3b38aa7fb..3cd2483abc 100644 --- a/tests/components/sfa30/common.yaml +++ b/tests/components/sfa30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sfa30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sfa30 + i2c_id: i2c_bus formaldehyde: name: SFA30 formaldehyde temperature: diff --git a/tests/components/sfa30/test.esp32-c3-idf.yaml b/tests/components/sfa30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sfa30/test.esp32-c3-idf.yaml +++ b/tests/components/sfa30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sfa30/test.esp32-idf.yaml b/tests/components/sfa30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sfa30/test.esp32-idf.yaml +++ b/tests/components/sfa30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sfa30/test.esp8266-ard.yaml b/tests/components/sfa30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sfa30/test.esp8266-ard.yaml +++ b/tests/components/sfa30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sfa30/test.rp2040-ard.yaml b/tests/components/sfa30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sfa30/test.rp2040-ard.yaml +++ b/tests/components/sfa30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/common.yaml b/tests/components/sgp30/common.yaml index 1db5bc67d1..9d4ed46615 100644 --- a/tests/components/sgp30/common.yaml +++ b/tests/components/sgp30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sgp30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sgp30 + i2c_id: i2c_bus eco2: name: Workshop eCO2 accuracy_decimals: 1 diff --git a/tests/components/sgp30/test.esp32-c3-idf.yaml b/tests/components/sgp30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sgp30/test.esp32-c3-idf.yaml +++ b/tests/components/sgp30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/test.esp32-idf.yaml b/tests/components/sgp30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sgp30/test.esp32-idf.yaml +++ b/tests/components/sgp30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/test.esp8266-ard.yaml b/tests/components/sgp30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sgp30/test.esp8266-ard.yaml +++ b/tests/components/sgp30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp30/test.rp2040-ard.yaml b/tests/components/sgp30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sgp30/test.rp2040-ard.yaml +++ b/tests/components/sgp30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/common.yaml b/tests/components/sgp4x/common.yaml index adb678d542..4edda8fd1b 100644 --- a/tests/components/sgp4x/common.yaml +++ b/tests/components/sgp4x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sgp4x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sgp4x + i2c_id: i2c_bus voc: name: VOC Index id: sgp40_voc_index diff --git a/tests/components/sgp4x/test.esp32-c3-idf.yaml b/tests/components/sgp4x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sgp4x/test.esp32-c3-idf.yaml +++ b/tests/components/sgp4x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp32-idf.yaml b/tests/components/sgp4x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sgp4x/test.esp32-idf.yaml +++ b/tests/components/sgp4x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/test.esp8266-ard.yaml b/tests/components/sgp4x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sgp4x/test.esp8266-ard.yaml +++ b/tests/components/sgp4x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sgp4x/test.rp2040-ard.yaml b/tests/components/sgp4x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sgp4x/test.rp2040-ard.yaml +++ b/tests/components/sgp4x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/shelly_dimmer/common.yaml b/tests/components/shelly_dimmer/common.yaml index 3acd0260d5..ba36fa995d 100644 --- a/tests/components/shelly_dimmer/common.yaml +++ b/tests/components/shelly_dimmer/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_shelly_dimmer - tx_pin: 4 - rx_pin: 5 - baud_rate: 9600 - light: - platform: shelly_dimmer name: Shelly Dimmer Light diff --git a/tests/components/shelly_dimmer/test.esp8266-ard.yaml b/tests/components/shelly_dimmer/test.esp8266-ard.yaml index dade44d145..80a2cb2fc0 100644 --- a/tests/components/shelly_dimmer/test.esp8266-ard.yaml +++ b/tests/components/shelly_dimmer/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + uart_115200: !include ../../test_build_components/common/uart_115200/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sht3xd/common.yaml b/tests/components/sht3xd/common.yaml index 2426ebfbb9..02ce521747 100644 --- a/tests/components/sht3xd/common.yaml +++ b/tests/components/sht3xd/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sht3xd - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sht3xd + i2c_id: i2c_bus temperature: name: SHT3XD Temperature humidity: diff --git a/tests/components/sht3xd/test.esp32-c3-idf.yaml b/tests/components/sht3xd/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sht3xd/test.esp32-c3-idf.yaml +++ b/tests/components/sht3xd/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp32-idf.yaml b/tests/components/sht3xd/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sht3xd/test.esp32-idf.yaml +++ b/tests/components/sht3xd/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht3xd/test.esp8266-ard.yaml b/tests/components/sht3xd/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sht3xd/test.esp8266-ard.yaml +++ b/tests/components/sht3xd/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sht3xd/test.rp2040-ard.yaml b/tests/components/sht3xd/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sht3xd/test.rp2040-ard.yaml +++ b/tests/components/sht3xd/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/common.yaml b/tests/components/sht4x/common.yaml index 703a8fa32b..50d5ad8ca4 100644 --- a/tests/components/sht4x/common.yaml +++ b/tests/components/sht4x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sht4x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sht4x + i2c_id: i2c_bus temperature: name: SHT4X Temperature humidity: diff --git a/tests/components/sht4x/test.esp32-c3-idf.yaml b/tests/components/sht4x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sht4x/test.esp32-c3-idf.yaml +++ b/tests/components/sht4x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/test.esp32-idf.yaml b/tests/components/sht4x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sht4x/test.esp32-idf.yaml +++ b/tests/components/sht4x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/test.esp8266-ard.yaml b/tests/components/sht4x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sht4x/test.esp8266-ard.yaml +++ b/tests/components/sht4x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sht4x/test.rp2040-ard.yaml b/tests/components/sht4x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sht4x/test.rp2040-ard.yaml +++ b/tests/components/sht4x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/common.yaml b/tests/components/shtcx/common.yaml index 0211319124..a326a1b4d6 100644 --- a/tests/components/shtcx/common.yaml +++ b/tests/components/shtcx/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_shtcx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: shtcx + i2c_id: i2c_bus temperature: name: SHTCX Temperature humidity: diff --git a/tests/components/shtcx/test.esp32-c3-idf.yaml b/tests/components/shtcx/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/shtcx/test.esp32-c3-idf.yaml +++ b/tests/components/shtcx/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/test.esp32-idf.yaml b/tests/components/shtcx/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/shtcx/test.esp32-idf.yaml +++ b/tests/components/shtcx/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/test.esp8266-ard.yaml b/tests/components/shtcx/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/shtcx/test.esp8266-ard.yaml +++ b/tests/components/shtcx/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/shtcx/test.rp2040-ard.yaml b/tests/components/shtcx/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/shtcx/test.rp2040-ard.yaml +++ b/tests/components/shtcx/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/common.yaml b/tests/components/sim800l/common.yaml index 1b4e2e1af6..503637b35f 100644 --- a/tests/components/sim800l/common.yaml +++ b/tests/components/sim800l/common.yaml @@ -11,12 +11,6 @@ esphome: - sim800l.send_ussd: ussd: test_ussd -uart: - - id: uart_sim800l - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sim800l: on_sms_received: - lambda: |- diff --git a/tests/components/sim800l/test.esp32-c3-idf.yaml b/tests/components/sim800l/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sim800l/test.esp32-c3-idf.yaml +++ b/tests/components/sim800l/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/test.esp32-idf.yaml b/tests/components/sim800l/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sim800l/test.esp32-idf.yaml +++ b/tests/components/sim800l/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/test.esp8266-ard.yaml b/tests/components/sim800l/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sim800l/test.esp8266-ard.yaml +++ b/tests/components/sim800l/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sim800l/test.rp2040-ard.yaml b/tests/components/sim800l/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sim800l/test.rp2040-ard.yaml +++ b/tests/components/sim800l/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sm16716/test.esp32-idf.yaml b/tests/components/sm16716/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm16716/test.esp32-idf.yaml +++ b/tests/components/sm16716/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm16716/test.esp8266-ard.yaml b/tests/components/sm16716/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm16716/test.esp8266-ard.yaml +++ b/tests/components/sm16716/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm2135/test.esp32-idf.yaml b/tests/components/sm2135/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm2135/test.esp32-idf.yaml +++ b/tests/components/sm2135/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm2135/test.esp8266-ard.yaml b/tests/components/sm2135/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm2135/test.esp8266-ard.yaml +++ b/tests/components/sm2135/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm2235/test.esp32-idf.yaml b/tests/components/sm2235/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm2235/test.esp32-idf.yaml +++ b/tests/components/sm2235/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm2235/test.esp8266-ard.yaml b/tests/components/sm2235/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm2235/test.esp8266-ard.yaml +++ b/tests/components/sm2235/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm2335/test.esp32-idf.yaml b/tests/components/sm2335/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/sm2335/test.esp32-idf.yaml +++ b/tests/components/sm2335/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/sm2335/test.esp8266-ard.yaml b/tests/components/sm2335/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/sm2335/test.esp8266-ard.yaml +++ b/tests/components/sm2335/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/sm300d2/common.yaml b/tests/components/sm300d2/common.yaml index a231b63816..729f243a65 100644 --- a/tests/components/sm300d2/common.yaml +++ b/tests/components/sm300d2/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sm300d2 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: sm300d2 co2: diff --git a/tests/components/sm300d2/test.esp32-c3-idf.yaml b/tests/components/sm300d2/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sm300d2/test.esp32-c3-idf.yaml +++ b/tests/components/sm300d2/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp32-idf.yaml b/tests/components/sm300d2/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sm300d2/test.esp32-idf.yaml +++ b/tests/components/sm300d2/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sm300d2/test.esp8266-ard.yaml b/tests/components/sm300d2/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sm300d2/test.esp8266-ard.yaml +++ b/tests/components/sm300d2/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sm300d2/test.rp2040-ard.yaml b/tests/components/sm300d2/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sm300d2/test.rp2040-ard.yaml +++ b/tests/components/sm300d2/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sml/common.yaml b/tests/components/sml/common.yaml index a50d25eeee..b1bd5949b6 100644 --- a/tests/components/sml/common.yaml +++ b/tests/components/sml/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sml - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sml: id: mysml on_data: diff --git a/tests/components/sml/test.esp32-c3-idf.yaml b/tests/components/sml/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/sml/test.esp32-c3-idf.yaml +++ b/tests/components/sml/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sml/test.esp32-idf.yaml b/tests/components/sml/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/sml/test.esp32-idf.yaml +++ b/tests/components/sml/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sml/test.esp8266-ard.yaml b/tests/components/sml/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/sml/test.esp8266-ard.yaml +++ b/tests/components/sml/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sml/test.rp2040-ard.yaml b/tests/components/sml/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/sml/test.rp2040-ard.yaml +++ b/tests/components/sml/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/smt100/common.yaml b/tests/components/smt100/common.yaml index b12d7198fd..86c5636b94 100644 --- a/tests/components/smt100/common.yaml +++ b/tests/components/smt100/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_smt100 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: smt100 counts: diff --git a/tests/components/smt100/test.esp32-c3-idf.yaml b/tests/components/smt100/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/smt100/test.esp32-c3-idf.yaml +++ b/tests/components/smt100/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/smt100/test.esp32-idf.yaml b/tests/components/smt100/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/smt100/test.esp32-idf.yaml +++ b/tests/components/smt100/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/smt100/test.esp8266-ard.yaml b/tests/components/smt100/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/smt100/test.esp8266-ard.yaml +++ b/tests/components/smt100/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/smt100/test.rp2040-ard.yaml b/tests/components/smt100/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/smt100/test.rp2040-ard.yaml +++ b/tests/components/smt100/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp32-idf.yaml b/tests/components/sn74hc165/test.esp32-idf.yaml index 27f963312f..8a997e16e1 100644 --- a/tests/components/sn74hc165/test.esp32-idf.yaml +++ b/tests/components/sn74hc165/test.esp32-idf.yaml @@ -2,6 +2,6 @@ substitutions: clock_pin: GPIO13 data_pin: GPIO14 load_pin: GPIO15 - clock_inhibit_pin: GPIO16 + clock_inhibit_pin: GPIO4 <<: !include common.yaml diff --git a/tests/components/sn74hc165/test.esp8266-ard.yaml b/tests/components/sn74hc165/test.esp8266-ard.yaml index 27f963312f..00ffc10a9e 100644 --- a/tests/components/sn74hc165/test.esp8266-ard.yaml +++ b/tests/components/sn74hc165/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - clock_pin: GPIO13 - data_pin: GPIO14 + clock_pin: GPIO0 + data_pin: GPIO2 load_pin: GPIO15 clock_inhibit_pin: GPIO16 diff --git a/tests/components/sn74hc595/common.yaml b/tests/components/sn74hc595/common.yaml index fc297909f5..3892c0564b 100644 --- a/tests/components/sn74hc595/common.yaml +++ b/tests/components/sn74hc595/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_sn74hc595 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sn74hc595: - id: sn74hc595_hub clock_pin: ${clock_pin} diff --git a/tests/components/sn74hc595/test.esp32-c3-idf.yaml b/tests/components/sn74hc595/test.esp32-c3-idf.yaml index 14c928be88..74b5e855fa 100644 --- a/tests/components/sn74hc595/test.esp32-c3-idf.yaml +++ b/tests/components/sn74hc595/test.esp32-c3-idf.yaml @@ -1,9 +1,9 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO8 - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO7 + data_pin: GPIO10 latch_pin1: GPIO1 oe_pin1: GPIO2 latch_pin2: GPIO3 diff --git a/tests/components/sn74hc595/test.esp32-idf.yaml b/tests/components/sn74hc595/test.esp32-idf.yaml index a4bab64862..4b47d2aeaa 100644 --- a/tests/components/sn74hc595/test.esp32-idf.yaml +++ b/tests/components/sn74hc595/test.esp32-idf.yaml @@ -1,12 +1,12 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO18 clock_pin: GPIO15 data_pin: GPIO14 latch_pin1: GPIO21 oe_pin1: GPIO22 - latch_pin2: GPIO23 - oe_pin2: GPIO25 + latch_pin2: GPIO25 + oe_pin2: GPIO26 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sn74hc595/test.esp8266-ard.yaml b/tests/components/sn74hc595/test.esp8266-ard.yaml index cad11feca8..cc011e01d4 100644 --- a/tests/components/sn74hc595/test.esp8266-ard.yaml +++ b/tests/components/sn74hc595/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 clock_pin: GPIO5 data_pin: GPIO4 latch_pin1: GPIO2 diff --git a/tests/components/sn74hc595/test.rp2040-ard.yaml b/tests/components/sn74hc595/test.rp2040-ard.yaml index 14c928be88..93cf5efb0c 100644 --- a/tests/components/sn74hc595/test.rp2040-ard.yaml +++ b/tests/components/sn74hc595/test.rp2040-ard.yaml @@ -1,12 +1,12 @@ +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO8 clock_pin: GPIO5 - data_pin: GPIO4 + data_pin: GPIO0 latch_pin1: GPIO1 - oe_pin1: GPIO2 - latch_pin2: GPIO3 + oe_pin1: GPIO6 + latch_pin2: GPIO7 oe_pin2: GPIO9 <<: !include common.yaml diff --git a/tests/components/sonoff_d1/common.yaml b/tests/components/sonoff_d1/common.yaml index d2d4043b95..dc08380683 100644 --- a/tests/components/sonoff_d1/common.yaml +++ b/tests/components/sonoff_d1/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_sonoff_d1 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - light: - platform: sonoff_d1 id: d1_light diff --git a/tests/components/sonoff_d1/test.esp32-c3-idf.yaml b/tests/components/sonoff_d1/test.esp32-c3-idf.yaml index b516342f3b..a19013bf54 100644 --- a/tests/components/sonoff_d1/test.esp32-c3-idf.yaml +++ b/tests/components/sonoff_d1/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp32-idf.yaml b/tests/components/sonoff_d1/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/sonoff_d1/test.esp32-idf.yaml +++ b/tests/components/sonoff_d1/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.esp8266-ard.yaml b/tests/components/sonoff_d1/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/sonoff_d1/test.esp8266-ard.yaml +++ b/tests/components/sonoff_d1/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sonoff_d1/test.rp2040-ard.yaml b/tests/components/sonoff_d1/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/sonoff_d1/test.rp2040-ard.yaml +++ b/tests/components/sonoff_d1/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sound_level/test.esp32-idf.yaml b/tests/components/sound_level/test.esp32-idf.yaml index c6d1bfa330..20e38e8df8 100644 --- a/tests/components/sound_level/test.esp32-idf.yaml +++ b/tests/components/sound_level/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: i2s_lrclk_pin: GPIO26 i2s_dout_pin: GPIO27 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/speaker/audio_dac.esp32-ard.yaml b/tests/components/speaker/audio_dac.esp32-ard.yaml index 75d9ddf92b..3f5d1bba7c 100644 --- a/tests/components/speaker/audio_dac.esp32-ard.yaml +++ b/tests/components/speaker/audio_dac.esp32-ard.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 i2s_dout_pin: GPIO23 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-c3-idf.yaml b/tests/components/speaker/audio_dac.esp32-c3-idf.yaml index 1004d2143e..30900f1920 100644 --- a/tests/components/speaker/audio_dac.esp32-c3-idf.yaml +++ b/tests/components/speaker/audio_dac.esp32-c3-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 i2s_bclk_pin: GPIO7 i2s_lrclk_pin: GPIO6 i2s_mclk_pin: GPIO9 i2s_dout_pin: GPIO8 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/audio_dac.esp32-idf.yaml b/tests/components/speaker/audio_dac.esp32-idf.yaml index 75d9ddf92b..71c8b06e24 100644 --- a/tests/components/speaker/audio_dac.esp32-idf.yaml +++ b/tests/components/speaker/audio_dac.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 i2s_dout_pin: GPIO23 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common-audio_dac.yaml diff --git a/tests/components/speaker/common-audio_dac.yaml b/tests/components/speaker/common-audio_dac.yaml index 41b994d4d4..67bd6c28ef 100644 --- a/tests/components/speaker/common-audio_dac.yaml +++ b/tests/components/speaker/common-audio_dac.yaml @@ -14,11 +14,6 @@ esphome: - speaker.finish: - speaker.stop: -i2c: - - id: i2c_audio_dac - scl: ${scl_pin} - sda: ${sda_pin} - i2s_audio: i2s_lrclk_pin: ${i2s_bclk_pin} i2s_bclk_pin: ${i2s_lrclk_pin} @@ -26,6 +21,7 @@ i2s_audio: audio_dac: - platform: aic3204 + i2c_id: i2c_bus id: internal_dac speaker: diff --git a/tests/components/speaker/test.esp32-ard.yaml b/tests/components/speaker/test.esp32-ard.yaml index e2439ebdf2..13350cd097 100644 --- a/tests/components/speaker/test.esp32-ard.yaml +++ b/tests/components/speaker/test.esp32-ard.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 - i2s_dout_pin: GPIO23 + i2s_dout_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/speaker/test.esp32-c3-idf.yaml b/tests/components/speaker/test.esp32-c3-idf.yaml index ddcf051fab..9d1a1cca3b 100644 --- a/tests/components/speaker/test.esp32-c3-idf.yaml +++ b/tests/components/speaker/test.esp32-c3-idf.yaml @@ -6,4 +6,7 @@ substitutions: i2s_mclk_pin: GPIO9 i2s_dout_pin: GPIO8 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/speaker/test.esp32-idf.yaml b/tests/components/speaker/test.esp32-idf.yaml index e2439ebdf2..27b8604656 100644 --- a/tests/components/speaker/test.esp32-idf.yaml +++ b/tests/components/speaker/test.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 i2s_bclk_pin: GPIO27 i2s_lrclk_pin: GPIO26 i2s_mclk_pin: GPIO25 - i2s_dout_pin: GPIO23 + i2s_dout_pin: GPIO12 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi/common.yaml b/tests/components/spi/common.yaml index 04b4779957..e69de29bb2 100644 --- a/tests/components/spi/common.yaml +++ b/tests/components/spi/common.yaml @@ -1,5 +0,0 @@ -spi: - - id: spi_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} diff --git a/tests/components/spi/test.esp32-c3-idf.yaml b/tests/components/spi/test.esp32-c3-idf.yaml index bfa12b1755..54463271a9 100644 --- a/tests/components/spi/test.esp32-c3-idf.yaml +++ b/tests/components/spi/test.esp32-c3-idf.yaml @@ -1,6 +1,5 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi/test.esp32-idf.yaml b/tests/components/spi/test.esp32-idf.yaml index 448e54fea6..a8e18ca503 100644 --- a/tests/components/spi/test.esp32-idf.yaml +++ b/tests/components/spi/test.esp32-idf.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi/test.esp8266-ard.yaml b/tests/components/spi/test.esp8266-ard.yaml index b9545d4f6a..4f9c816740 100644 --- a/tests/components/spi/test.esp8266-ard.yaml +++ b/tests/components/spi/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/spi_device/common.yaml b/tests/components/spi_device/common.yaml index 0f6a5038fb..8511603bc2 100644 --- a/tests/components/spi_device/common.yaml +++ b/tests/components/spi_device/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_device1 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - spi_device: - id: spi_device_test data_rate: 2MHz diff --git a/tests/components/spi_device/test.esp32-c3-idf.yaml b/tests/components/spi_device/test.esp32-c3-idf.yaml index bfa12b1755..6d64c2b23b 100644 --- a/tests/components/spi_device/test.esp32-c3-idf.yaml +++ b/tests/components/spi_device/test.esp32-c3-idf.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi_device/test.esp32-idf.yaml b/tests/components/spi_device/test.esp32-idf.yaml index c4989cccbf..aace9192b1 100644 --- a/tests/components/spi_device/test.esp32-idf.yaml +++ b/tests/components/spi_device/test.esp32-idf.yaml @@ -1,7 +1,5 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 - miso_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml spi_device: diff --git a/tests/components/spi_device/test.esp8266-ard.yaml b/tests/components/spi_device/test.esp8266-ard.yaml index b9545d4f6a..433a931284 100644 --- a/tests/components/spi_device/test.esp8266-ard.yaml +++ b/tests/components/spi_device/test.esp8266-ard.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/spi_device/test.rp2040-ard.yaml b/tests/components/spi_device/test.rp2040-ard.yaml index 81a8acafd8..149d530753 100644 --- a/tests/components/spi_device/test.rp2040-ard.yaml +++ b/tests/components/spi_device/test.rp2040-ard.yaml @@ -1,6 +1,4 @@ -substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 - miso_pin: GPIO4 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/common.yaml b/tests/components/spi_led_strip/common.yaml index 80b98a63a4..30e2ef22f7 100644 --- a/tests/components/spi_led_strip/common.yaml +++ b/tests/components/spi_led_strip/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_spi_led_strip - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - light: - platform: spi_led_strip num_leds: 4 diff --git a/tests/components/spi_led_strip/test.esp32-c3-idf.yaml b/tests/components/spi_led_strip/test.esp32-c3-idf.yaml index a85b587070..6d64c2b23b 100644 --- a/tests/components/spi_led_strip/test.esp32-c3-idf.yaml +++ b/tests/components/spi_led_strip/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp32-idf.yaml b/tests/components/spi_led_strip/test.esp32-idf.yaml index 8906602ef4..a8e18ca503 100644 --- a/tests/components/spi_led_strip/test.esp32-idf.yaml +++ b/tests/components/spi_led_strip/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.esp8266-ard.yaml b/tests/components/spi_led_strip/test.esp8266-ard.yaml index 7baaa62ed5..433a931284 100644 --- a/tests/components/spi_led_strip/test.esp8266-ard.yaml +++ b/tests/components/spi_led_strip/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/spi_led_strip/test.rp2040-ard.yaml b/tests/components/spi_led_strip/test.rp2040-ard.yaml index 411cfbe00e..149d530753 100644 --- a/tests/components/spi_led_strip/test.rp2040-ard.yaml +++ b/tests/components/spi_led_strip/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - clk_pin: GPIO2 - mosi_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sps30/common.yaml b/tests/components/sps30/common.yaml index 2fbe2c747a..d40cd16b6d 100644 --- a/tests/components/sps30/common.yaml +++ b/tests/components/sps30/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sps30 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sps30 + i2c_id: i2c_bus pm_1_0: name: Workshop PM <1µm Weight concentration id: workshop_PM_1_0 diff --git a/tests/components/sps30/test.esp32-c3-idf.yaml b/tests/components/sps30/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sps30/test.esp32-c3-idf.yaml +++ b/tests/components/sps30/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sps30/test.esp32-idf.yaml b/tests/components/sps30/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sps30/test.esp32-idf.yaml +++ b/tests/components/sps30/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sps30/test.esp8266-ard.yaml b/tests/components/sps30/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sps30/test.esp8266-ard.yaml +++ b/tests/components/sps30/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sps30/test.rp2040-ard.yaml b/tests/components/sps30/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sps30/test.rp2040-ard.yaml +++ b/tests/components/sps30/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/common.yaml b/tests/components/ssd1306_i2c/common.yaml index d17f83f03a..e876fcb36a 100644 --- a/tests/components/ssd1306_i2c/common.yaml +++ b/tests/components/ssd1306_i2c/common.yaml @@ -1,25 +1,21 @@ -i2c: - - id: i2c_ssd1306_i2c - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus model: SSD1306_128X64 reset_pin: ${reset_pin} address: 0x3C id: display1 contrast: 60% pages: - - id: page1 + - id: ssd1306_i2c_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1306_i2c_page2 lambda: |- it.rectangle(0, 0, 10, 10); on_page_change: - from: page1 - to: page2 + from: ssd1306_i2c_page1 + to: ssd1306_i2c_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml b/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml index 4eaff7fa4a..f8bfab2319 100644 --- a/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1306_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp32-idf.yaml b/tests/components/ssd1306_i2c/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/ssd1306_i2c/test.esp32-idf.yaml +++ b/tests/components/ssd1306_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.esp8266-ard.yaml b/tests/components/ssd1306_i2c/test.esp8266-ard.yaml index af91c21a0d..352cc8cda8 100644 --- a/tests/components/ssd1306_i2c/test.esp8266-ard.yaml +++ b/tests/components/ssd1306_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_i2c/test.rp2040-ard.yaml b/tests/components/ssd1306_i2c/test.rp2040-ard.yaml index 4eaff7fa4a..2972fde8a5 100644 --- a/tests/components/ssd1306_i2c/test.rp2040-ard.yaml +++ b/tests/components/ssd1306_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/common.yaml b/tests/components/ssd1306_spi/common.yaml index 71705f32d2..2a2adb4146 100644 --- a/tests/components/ssd1306_spi/common.yaml +++ b/tests/components/ssd1306_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1306_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1306_spi model: SSD1306 128x64 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1306_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1306_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1306_spi_page1 + to: ssd1306_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1306_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp32-idf.yaml b/tests/components/ssd1306_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1306_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1306_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.esp8266-ard.yaml b/tests/components/ssd1306_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1306_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1306_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1306_spi/test.rp2040-ard.yaml b/tests/components/ssd1306_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1306_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1306_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/common.yaml b/tests/components/ssd1322_spi/common.yaml index b67392794c..c0e16b6f09 100644 --- a/tests/components/ssd1322_spi/common.yaml +++ b/tests/components/ssd1322_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1322_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1322_spi model: SSD1322 256x64 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1322_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1322_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1322_spi_page1 + to: ssd1322_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1322_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp32-idf.yaml b/tests/components/ssd1322_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1322_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1322_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.esp8266-ard.yaml b/tests/components/ssd1322_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1322_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1322_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1322_spi/test.rp2040-ard.yaml b/tests/components/ssd1322_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1322_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1322_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/common.yaml b/tests/components/ssd1325_spi/common.yaml index eaa8b619ca..dea8502538 100644 --- a/tests/components/ssd1325_spi/common.yaml +++ b/tests/components/ssd1325_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1325_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1325_spi model: SSD1325 128x64 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1325_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1325_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1325_spi_page1 + to: ssd1325_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1325_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp32-idf.yaml b/tests/components/ssd1325_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1325_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1325_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.esp8266-ard.yaml b/tests/components/ssd1325_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1325_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1325_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1325_spi/test.rp2040-ard.yaml b/tests/components/ssd1325_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1325_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1325_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/common.yaml b/tests/components/ssd1327_i2c/common.yaml index 72a122c3d7..c90e9678dd 100644 --- a/tests/components/ssd1327_i2c/common.yaml +++ b/tests/components/ssd1327_i2c/common.yaml @@ -1,24 +1,20 @@ -i2c: - - id: i2c_ssd1327_i2c - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1327_i2c + i2c_id: i2c_bus model: SSD1327_128x128 reset_pin: ${reset_pin} address: 0x3C id: display1 pages: - - id: page1 + - id: ssd1327_i2c_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1327_i2c_page2 lambda: |- it.rectangle(0, 0, 10, 10); on_page_change: - from: page1 - to: page2 + from: ssd1327_i2c_page1 + to: ssd1327_i2c_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml b/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml index 4eaff7fa4a..f8bfab2319 100644 --- a/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1327_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp32-idf.yaml b/tests/components/ssd1327_i2c/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/ssd1327_i2c/test.esp32-idf.yaml +++ b/tests/components/ssd1327_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.esp8266-ard.yaml b/tests/components/ssd1327_i2c/test.esp8266-ard.yaml index af91c21a0d..352cc8cda8 100644 --- a/tests/components/ssd1327_i2c/test.esp8266-ard.yaml +++ b/tests/components/ssd1327_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_i2c/test.rp2040-ard.yaml b/tests/components/ssd1327_i2c/test.rp2040-ard.yaml index 4eaff7fa4a..2972fde8a5 100644 --- a/tests/components/ssd1327_i2c/test.rp2040-ard.yaml +++ b/tests/components/ssd1327_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/common.yaml b/tests/components/ssd1327_spi/common.yaml index 85f4d4736b..1aa4fb5a1c 100644 --- a/tests/components/ssd1327_spi/common.yaml +++ b/tests/components/ssd1327_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1327_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1327_spi model: SSD1327 128x128 @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1327_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1327_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1327_spi_page1 + to: ssd1327_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1327_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp32-idf.yaml b/tests/components/ssd1327_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1327_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1327_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.esp8266-ard.yaml b/tests/components/ssd1327_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1327_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1327_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1327_spi/test.rp2040-ard.yaml b/tests/components/ssd1327_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1327_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1327_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/common.yaml b/tests/components/ssd1331_spi/common.yaml index 40726101e8..2b708e9bd9 100644 --- a/tests/components/ssd1331_spi/common.yaml +++ b/tests/components/ssd1331_spi/common.yaml @@ -1,23 +1,18 @@ -spi: - - id: spi_ssd1331_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1331_spi cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1331_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1331_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1331_spi_page1 + to: ssd1331_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1331_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp32-idf.yaml b/tests/components/ssd1331_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1331_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1331_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.esp8266-ard.yaml b/tests/components/ssd1331_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1331_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1331_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1331_spi/test.rp2040-ard.yaml b/tests/components/ssd1331_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1331_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1331_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/common.yaml b/tests/components/ssd1351_spi/common.yaml index fa495ff0c3..e4d3d55f3f 100644 --- a/tests/components/ssd1351_spi/common.yaml +++ b/tests/components/ssd1351_spi/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_ssd1351_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: ssd1351_spi model: "SSD1351 128x128" @@ -10,15 +5,15 @@ display: dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: ssd1351_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: ssd1351_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: ssd1351_spi_page1 + to: ssd1351_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml b/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml +++ b/tests/components/ssd1351_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp32-idf.yaml b/tests/components/ssd1351_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/ssd1351_spi/test.esp32-idf.yaml +++ b/tests/components/ssd1351_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.esp8266-ard.yaml b/tests/components/ssd1351_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/ssd1351_spi/test.esp8266-ard.yaml +++ b/tests/components/ssd1351_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ssd1351_spi/test.rp2040-ard.yaml b/tests/components/ssd1351_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/ssd1351_spi/test.rp2040-ard.yaml +++ b/tests/components/ssd1351_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/common.yaml b/tests/components/st7567_i2c/common.yaml index 41c65e5110..9a4cd79faa 100644 --- a/tests/components/st7567_i2c/common.yaml +++ b/tests/components/st7567_i2c/common.yaml @@ -1,23 +1,19 @@ -i2c: - - id: i2c_st7567_i2c - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: st7567_i2c + i2c_id: i2c_bus reset_pin: ${reset_pin} address: 0x3C id: display1 pages: - - id: page1 + - id: st7567_i2c_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7567_i2c_page2 lambda: |- it.rectangle(0, 0, 10, 10); on_page_change: - from: page1 - to: page2 + from: st7567_i2c_page1 + to: st7567_i2c_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7567_i2c/test.esp32-c3-idf.yaml b/tests/components/st7567_i2c/test.esp32-c3-idf.yaml index 4eaff7fa4a..f8bfab2319 100644 --- a/tests/components/st7567_i2c/test.esp32-c3-idf.yaml +++ b/tests/components/st7567_i2c/test.esp32-c3-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp32-idf.yaml b/tests/components/st7567_i2c/test.esp32-idf.yaml index 1ca773e06c..4ff2241ec9 100644 --- a/tests/components/st7567_i2c/test.esp32-idf.yaml +++ b/tests/components/st7567_i2c/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 reset_pin: GPIO15 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.esp8266-ard.yaml b/tests/components/st7567_i2c/test.esp8266-ard.yaml index af91c21a0d..352cc8cda8 100644 --- a/tests/components/st7567_i2c/test.esp8266-ard.yaml +++ b/tests/components/st7567_i2c/test.esp8266-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO2 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_i2c/test.rp2040-ard.yaml b/tests/components/st7567_i2c/test.rp2040-ard.yaml index 4eaff7fa4a..2972fde8a5 100644 --- a/tests/components/st7567_i2c/test.rp2040-ard.yaml +++ b/tests/components/st7567_i2c/test.rp2040-ard.yaml @@ -1,6 +1,7 @@ substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_spi/common.yaml b/tests/components/st7567_spi/common.yaml index 037a700239..b5a4074e13 100644 --- a/tests/components/st7567_spi/common.yaml +++ b/tests/components/st7567_spi/common.yaml @@ -1,23 +1,18 @@ -spi: - - id: spi_st7567_spi - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7567_spi cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} pages: - - id: page1 + - id: st7567_spi_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7567_spi_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7567_spi_page1 + to: st7567_spi_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7567_spi/test.esp32-c3-idf.yaml b/tests/components/st7567_spi/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/st7567_spi/test.esp32-c3-idf.yaml +++ b/tests/components/st7567_spi/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp32-idf.yaml b/tests/components/st7567_spi/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/st7567_spi/test.esp32-idf.yaml +++ b/tests/components/st7567_spi/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_spi/test.esp8266-ard.yaml b/tests/components/st7567_spi/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/st7567_spi/test.esp8266-ard.yaml +++ b/tests/components/st7567_spi/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7567_spi/test.rp2040-ard.yaml b/tests/components/st7567_spi/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/st7567_spi/test.rp2040-ard.yaml +++ b/tests/components/st7567_spi/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7701s/common.yaml b/tests/components/st7701s/common.yaml index b94fadfe52..751862dea5 100644 --- a/tests/components/st7701s/common.yaml +++ b/tests/components/st7701s/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_st7701s - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7701s spi_mode: MODE3 diff --git a/tests/components/st7701s/test.esp32-s3-idf.yaml b/tests/components/st7701s/test.esp32-s3-idf.yaml index cd09b31f6e..87e5248888 100644 --- a/tests/components/st7701s/test.esp32-s3-idf.yaml +++ b/tests/components/st7701s/test.esp32-s3-idf.yaml @@ -1,5 +1,7 @@ +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + substitutions: - clk_pin: GPIO41 mosi_pin: GPIO48 cs_pin: GPIO44 de_pin: GPIO18 diff --git a/tests/components/st7735/common.yaml b/tests/components/st7735/common.yaml index c140652eda..242c4bccd6 100644 --- a/tests/components/st7735/common.yaml +++ b/tests/components/st7735/common.yaml @@ -1,8 +1,3 @@ -spi: - - id: spi_st7735 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7735 model: INITR_18BLACKTAB @@ -14,15 +9,15 @@ display: col_start: 0 row_start: 0 pages: - - id: page1 + - id: st7735_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7735_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7735_page1 + to: st7735_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7735/test.esp32-c3-idf.yaml b/tests/components/st7735/test.esp32-c3-idf.yaml index c5c932c92c..b112cf4c31 100644 --- a/tests/components/st7735/test.esp32-c3-idf.yaml +++ b/tests/components/st7735/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7735/test.esp32-idf.yaml b/tests/components/st7735/test.esp32-idf.yaml index bad5241f79..ff174a4656 100644 --- a/tests/components/st7735/test.esp32-idf.yaml +++ b/tests/components/st7735/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7735/test.esp8266-ard.yaml b/tests/components/st7735/test.esp8266-ard.yaml index 3f023a60eb..56cb29f29e 100644 --- a/tests/components/st7735/test.esp8266-ard.yaml +++ b/tests/components/st7735/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7735/test.rp2040-ard.yaml b/tests/components/st7735/test.rp2040-ard.yaml index d7fd6ee294..66caa956f7 100644 --- a/tests/components/st7735/test.rp2040-ard.yaml +++ b/tests/components/st7735/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: dc_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/st7789v/common.yaml b/tests/components/st7789v/common.yaml index d5f74809e0..19cef5656a 100644 --- a/tests/components/st7789v/common.yaml +++ b/tests/components/st7789v/common.yaml @@ -1,24 +1,20 @@ -spi: - - id: spi_st7789v - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7789v model: TTGO TDisplay 135x240 cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} + backlight_pin: ${backlight_pin} pages: - - id: page1 + - id: st7789v_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7789v_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7789v_page1 + to: st7789v_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7789v/test.esp32-c3-idf.yaml b/tests/components/st7789v/test.esp32-c3-idf.yaml index c5c932c92c..b4d70edb31 100644 --- a/tests/components/st7789v/test.esp32-c3-idf.yaml +++ b/tests/components/st7789v/test.esp32-c3-idf.yaml @@ -1,9 +1,10 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 dc_pin: GPIO9 reset_pin: GPIO10 + backlight_pin: GPIO7 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7789v/test.esp32-idf.yaml b/tests/components/st7789v/test.esp32-idf.yaml index bad5241f79..3b6d584e5c 100644 --- a/tests/components/st7789v/test.esp32-idf.yaml +++ b/tests/components/st7789v/test.esp32-idf.yaml @@ -1,8 +1,10 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 dc_pin: GPIO13 reset_pin: GPIO14 + backlight_pin: GPIO15 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7789v/test.esp8266-ard.yaml b/tests/components/st7789v/test.esp8266-ard.yaml index 3f023a60eb..0ddca66ef4 100644 --- a/tests/components/st7789v/test.esp8266-ard.yaml +++ b/tests/components/st7789v/test.esp8266-ard.yaml @@ -1,9 +1,13 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 miso_pin: GPIO12 cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 + backlight_pin: GPIO4 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/st7789v/test.rp2040-ard.yaml b/tests/components/st7789v/test.rp2040-ard.yaml index d7fd6ee294..464e720549 100644 --- a/tests/components/st7789v/test.rp2040-ard.yaml +++ b/tests/components/st7789v/test.rp2040-ard.yaml @@ -5,5 +5,9 @@ substitutions: cs_pin: GPIO5 dc_pin: GPIO15 reset_pin: GPIO16 + backlight_pin: GPIO6 + +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/st7920/common.yaml b/tests/components/st7920/common.yaml index 9ede271f01..477ac14bd4 100644 --- a/tests/components/st7920/common.yaml +++ b/tests/components/st7920/common.yaml @@ -1,23 +1,18 @@ -spi: - - id: spi_st7920 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: - platform: st7920 cs_pin: ${cs_pin} height: 128 width: 64 pages: - - id: page1 + - id: st7920_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 + - id: st7920_page2 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); on_page_change: - from: page1 - to: page2 + from: st7920_page1 + to: st7920_page2 then: lambda: |- ESP_LOGD("display", "1 -> 2"); diff --git a/tests/components/st7920/test.esp32-c3-idf.yaml b/tests/components/st7920/test.esp32-c3-idf.yaml index 2415ba5dc6..15d986e157 100644 --- a/tests/components/st7920/test.esp32-c3-idf.yaml +++ b/tests/components/st7920/test.esp32-c3-idf.yaml @@ -1,7 +1,6 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - miso_pin: GPIO5 cs_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/st7920/test.esp32-idf.yaml b/tests/components/st7920/test.esp32-idf.yaml index 04d2633d2b..9bb524aa65 100644 --- a/tests/components/st7920/test.esp32-idf.yaml +++ b/tests/components/st7920/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO12 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/st7920/test.esp8266-ard.yaml b/tests/components/st7920/test.esp8266-ard.yaml index bd5c203e35..1aac800592 100644 --- a/tests/components/st7920/test.esp8266-ard.yaml +++ b/tests/components/st7920/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 - miso_pin: GPIO12 - cs_pin: GPIO5 + clk_pin: GPIO0 + mosi_pin: GPIO2 + miso_pin: GPIO15 + cs_pin: GPIO16 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/st7920/test.rp2040-ard.yaml b/tests/components/st7920/test.rp2040-ard.yaml index f6c3f1eeca..1ded24de1c 100644 --- a/tests/components/st7920/test.rp2040-ard.yaml +++ b/tests/components/st7920/test.rp2040-ard.yaml @@ -4,4 +4,7 @@ substitutions: miso_pin: GPIO4 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sts3x/common.yaml b/tests/components/sts3x/common.yaml index 1feac4bc3f..1a61fa9212 100644 --- a/tests/components/sts3x/common.yaml +++ b/tests/components/sts3x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sts3x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: sts3x + i2c_id: i2c_bus id: sts3x_sensor name: STS3X Temperature address: 0x4A diff --git a/tests/components/sts3x/test.esp32-c3-idf.yaml b/tests/components/sts3x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sts3x/test.esp32-c3-idf.yaml +++ b/tests/components/sts3x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sts3x/test.esp32-idf.yaml b/tests/components/sts3x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sts3x/test.esp32-idf.yaml +++ b/tests/components/sts3x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sts3x/test.esp8266-ard.yaml b/tests/components/sts3x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sts3x/test.esp8266-ard.yaml +++ b/tests/components/sts3x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sts3x/test.rp2040-ard.yaml b/tests/components/sts3x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sts3x/test.rp2040-ard.yaml +++ b/tests/components/sts3x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/common.yaml b/tests/components/sun_gtil2/common.yaml index 15cc892d90..37fd4b056f 100644 --- a/tests/components/sun_gtil2/common.yaml +++ b/tests/components/sun_gtil2/common.yaml @@ -1,8 +1,3 @@ -uart: - - id: uart_sun_gtil2 - rx_pin: ${rx_pin} - baud_rate: 9600 - sun_gtil2: sensor: diff --git a/tests/components/sun_gtil2/test.esp32-c3-idf.yaml b/tests/components/sun_gtil2/test.esp32-c3-idf.yaml index b8a6b85616..4b7c8351a7 100644 --- a/tests/components/sun_gtil2/test.esp32-c3-idf.yaml +++ b/tests/components/sun_gtil2/test.esp32-c3-idf.yaml @@ -1,4 +1,5 @@ substitutions: - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp32-idf.yaml b/tests/components/sun_gtil2/test.esp32-idf.yaml index ad420099ff..29c7835b4e 100644 --- a/tests/components/sun_gtil2/test.esp32-idf.yaml +++ b/tests/components/sun_gtil2/test.esp32-idf.yaml @@ -1,4 +1,7 @@ substitutions: - rx_pin: GPIO16 + rx_pin: GPIO4 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.esp8266-ard.yaml b/tests/components/sun_gtil2/test.esp8266-ard.yaml index b8a6b85616..a591df42cb 100644 --- a/tests/components/sun_gtil2/test.esp8266-ard.yaml +++ b/tests/components/sun_gtil2/test.esp8266-ard.yaml @@ -1,4 +1,7 @@ substitutions: - rx_pin: GPIO5 + rx_pin: GPIO0 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sun_gtil2/test.rp2040-ard.yaml b/tests/components/sun_gtil2/test.rp2040-ard.yaml index b8a6b85616..281ea9480e 100644 --- a/tests/components/sun_gtil2/test.rp2040-ard.yaml +++ b/tests/components/sun_gtil2/test.rp2040-ard.yaml @@ -1,4 +1,7 @@ substitutions: rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/common.yaml b/tests/components/sx126x/common.yaml index 05db2ef812..3f540a4bae 100644 --- a/tests/components/sx126x/common.yaml +++ b/tests/components/sx126x/common.yaml @@ -1,8 +1,3 @@ -spi: - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sx126x: dio1_pin: ${dio1_pin} cs_pin: ${cs_pin} diff --git a/tests/components/sx126x/test.esp32-c3-idf.yaml b/tests/components/sx126x/test.esp32-c3-idf.yaml index 91450e24ce..e27f11032e 100644 --- a/tests/components/sx126x/test.esp32-c3-idf.yaml +++ b/tests/components/sx126x/test.esp32-c3-idf.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 cs_pin: GPIO1 rst_pin: GPIO2 - busy_pin: GPIO4 + busy_pin: GPIO7 dio1_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/test.esp32-idf.yaml b/tests/components/sx126x/test.esp32-idf.yaml index 9770f52229..854638ea9c 100644 --- a/tests/components/sx126x/test.esp32-idf.yaml +++ b/tests/components/sx126x/test.esp32-idf.yaml @@ -1,10 +1,10 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 + cs_pin: GPIO12 + rst_pin: GPIO13 busy_pin: GPIO25 dio1_pin: GPIO26 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/test.esp8266-ard.yaml b/tests/components/sx126x/test.esp8266-ard.yaml index d2c07c5bb7..98a3fbbd67 100644 --- a/tests/components/sx126x/test.esp8266-ard.yaml +++ b/tests/components/sx126x/test.esp8266-ard.yaml @@ -1,10 +1,13 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO15 + miso_pin: GPIO16 cs_pin: GPIO1 rst_pin: GPIO2 busy_pin: GPIO4 dio1_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx126x/test.rp2040-ard.yaml b/tests/components/sx126x/test.rp2040-ard.yaml index 8881e96971..9bc12a370d 100644 --- a/tests/components/sx126x/test.rp2040-ard.yaml +++ b/tests/components/sx126x/test.rp2040-ard.yaml @@ -7,4 +7,7 @@ substitutions: busy_pin: GPIO8 dio1_pin: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx127x/common.yaml b/tests/components/sx127x/common.yaml index 63adc2e91c..540381fc08 100644 --- a/tests/components/sx127x/common.yaml +++ b/tests/components/sx127x/common.yaml @@ -1,8 +1,3 @@ -spi: - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - sx127x: cs_pin: ${cs_pin} rst_pin: ${rst_pin} diff --git a/tests/components/sx127x/test.esp32-c3-idf.yaml b/tests/components/sx127x/test.esp32-c3-idf.yaml index 36535a950d..dfee192545 100644 --- a/tests/components/sx127x/test.esp32-c3-idf.yaml +++ b/tests/components/sx127x/test.esp32-c3-idf.yaml @@ -1,9 +1,8 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO18 - miso_pin: GPIO19 cs_pin: GPIO1 rst_pin: GPIO2 dio0_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sx127x/test.esp32-idf.yaml b/tests/components/sx127x/test.esp32-idf.yaml index 71270462a2..c9d58bb27e 100644 --- a/tests/components/sx127x/test.esp32-idf.yaml +++ b/tests/components/sx127x/test.esp32-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO27 - miso_pin: GPIO19 - cs_pin: GPIO18 - rst_pin: GPIO23 + cs_pin: GPIO12 + rst_pin: GPIO13 dio0_pin: GPIO26 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/sx127x/test.esp8266-ard.yaml b/tests/components/sx127x/test.esp8266-ard.yaml index 64c01edd44..d58166137c 100644 --- a/tests/components/sx127x/test.esp8266-ard.yaml +++ b/tests/components/sx127x/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO5 - mosi_pin: GPIO13 - miso_pin: GPIO12 + clk_pin: GPIO0 + mosi_pin: GPIO15 + miso_pin: GPIO16 cs_pin: GPIO1 rst_pin: GPIO2 dio0_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx127x/test.rp2040-ard.yaml b/tests/components/sx127x/test.rp2040-ard.yaml index 0af7b29790..09a9b3203b 100644 --- a/tests/components/sx127x/test.rp2040-ard.yaml +++ b/tests/components/sx127x/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: rst_pin: GPIO6 dio0_pin: GPIO7 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/sx1509/common.yaml b/tests/components/sx1509/common.yaml index a83217e579..cf7e234f09 100644 --- a/tests/components/sx1509/common.yaml +++ b/tests/components/sx1509/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_sx1509 - scl: ${scl_pin} - sda: ${sda_pin} - sx1509: - id: sx1509_hub + i2c_id: i2c_bus address: 0x3E keypad: key_rows: 2 diff --git a/tests/components/sx1509/test.esp32-c3-idf.yaml b/tests/components/sx1509/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/sx1509/test.esp32-c3-idf.yaml +++ b/tests/components/sx1509/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/sx1509/test.esp32-idf.yaml b/tests/components/sx1509/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/sx1509/test.esp32-idf.yaml +++ b/tests/components/sx1509/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/sx1509/test.esp8266-ard.yaml b/tests/components/sx1509/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/sx1509/test.esp8266-ard.yaml +++ b/tests/components/sx1509/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/sx1509/test.rp2040-ard.yaml b/tests/components/sx1509/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/sx1509/test.rp2040-ard.yaml +++ b/tests/components/sx1509/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/syslog/test.host.yaml b/tests/components/syslog/test.host.yaml index e735c37e4d..31122437d5 100644 --- a/tests/components/syslog/test.host.yaml +++ b/tests/components/syslog/test.host.yaml @@ -1,4 +1,11 @@ -packages: - common: !include common.yaml +udp: + addresses: ["239.0.60.53"] -wifi: !remove +time: + platform: host + +syslog: + port: 514 + strip: true + level: info + facility: 16 diff --git a/tests/components/t6615/common.yaml b/tests/components/t6615/common.yaml index 3ad715ae2b..4317130461 100644 --- a/tests/components/t6615/common.yaml +++ b/tests/components/t6615/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_t6615 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 19200 - sensor: - platform: t6615 co2: diff --git a/tests/components/t6615/test.esp32-c3-idf.yaml b/tests/components/t6615/test.esp32-c3-idf.yaml index b516342f3b..147d967dd4 100644 --- a/tests/components/t6615/test.esp32-c3-idf.yaml +++ b/tests/components/t6615/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/t6615/test.esp32-idf.yaml b/tests/components/t6615/test.esp32-idf.yaml index f486544afa..4bb9e7fff6 100644 --- a/tests/components/t6615/test.esp32-idf.yaml +++ b/tests/components/t6615/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/t6615/test.esp8266-ard.yaml b/tests/components/t6615/test.esp8266-ard.yaml index b516342f3b..1dd8409590 100644 --- a/tests/components/t6615/test.esp8266-ard.yaml +++ b/tests/components/t6615/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/t6615/test.rp2040-ard.yaml b/tests/components/t6615/test.rp2040-ard.yaml index b516342f3b..f4dada6605 100644 --- a/tests/components/t6615/test.rp2040-ard.yaml +++ b/tests/components/t6615/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/tc74/common.yaml b/tests/components/tc74/common.yaml index 88f5c91e12..c2430ee2d4 100644 --- a/tests/components/tc74/common.yaml +++ b/tests/components/tc74/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_tc74 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tc74 + i2c_id: i2c_bus name: TC74 Temperature diff --git a/tests/components/tc74/test.esp32-c3-idf.yaml b/tests/components/tc74/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tc74/test.esp32-c3-idf.yaml +++ b/tests/components/tc74/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tc74/test.esp32-idf.yaml b/tests/components/tc74/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tc74/test.esp32-idf.yaml +++ b/tests/components/tc74/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tc74/test.esp8266-ard.yaml b/tests/components/tc74/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tc74/test.esp8266-ard.yaml +++ b/tests/components/tc74/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tc74/test.rp2040-ard.yaml b/tests/components/tc74/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tc74/test.rp2040-ard.yaml +++ b/tests/components/tc74/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/common.yaml b/tests/components/tca9548a/common.yaml index 67e812e08b..bfaf1e26fb 100644 --- a/tests/components/tca9548a/common.yaml +++ b/tests/components/tca9548a/common.yaml @@ -1,15 +1,10 @@ -i2c: - - id: i2c_tca9548a - scl: ${scl_pin} - sda: ${sda_pin} - tca9548a: - id: multiplex0 + i2c_id: i2c_bus address: 0x70 channels: - bus_id: multiplex0_chan0 channel: 0 - i2c_id: i2c_tca9548a - id: multiplex1 + i2c_id: i2c_bus address: 0x71 - i2c_id: multiplex0_chan0 diff --git a/tests/components/tca9548a/test.esp32-c3-idf.yaml b/tests/components/tca9548a/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tca9548a/test.esp32-c3-idf.yaml +++ b/tests/components/tca9548a/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp32-idf.yaml b/tests/components/tca9548a/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tca9548a/test.esp32-idf.yaml +++ b/tests/components/tca9548a/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/test.esp8266-ard.yaml b/tests/components/tca9548a/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tca9548a/test.esp8266-ard.yaml +++ b/tests/components/tca9548a/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9548a/test.rp2040-ard.yaml b/tests/components/tca9548a/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tca9548a/test.rp2040-ard.yaml +++ b/tests/components/tca9548a/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/common.yaml b/tests/components/tca9555/common.yaml index 0fc3086786..82b4c959d8 100644 --- a/tests/components/tca9555/common.yaml +++ b/tests/components/tca9555/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tca9555 - scl: ${scl_pin} - sda: ${sda_pin} - tca9555: - id: tca9555_hub + i2c_id: i2c_bus address: 0x21 binary_sensor: diff --git a/tests/components/tca9555/test.esp32-c3-idf.yaml b/tests/components/tca9555/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tca9555/test.esp32-c3-idf.yaml +++ b/tests/components/tca9555/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/test.esp32-idf.yaml b/tests/components/tca9555/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tca9555/test.esp32-idf.yaml +++ b/tests/components/tca9555/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/test.esp8266-ard.yaml b/tests/components/tca9555/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tca9555/test.esp8266-ard.yaml +++ b/tests/components/tca9555/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tca9555/test.rp2040-ard.yaml b/tests/components/tca9555/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tca9555/test.rp2040-ard.yaml +++ b/tests/components/tca9555/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/common.yaml b/tests/components/tcs34725/common.yaml index 5296988fa5..e16862035e 100644 --- a/tests/components/tcs34725/common.yaml +++ b/tests/components/tcs34725/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tcs34725 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tcs34725 + i2c_id: i2c_bus red_channel: name: Red Channel green_channel: diff --git a/tests/components/tcs34725/test.esp32-c3-idf.yaml b/tests/components/tcs34725/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tcs34725/test.esp32-c3-idf.yaml +++ b/tests/components/tcs34725/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp32-idf.yaml b/tests/components/tcs34725/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tcs34725/test.esp32-idf.yaml +++ b/tests/components/tcs34725/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/test.esp8266-ard.yaml b/tests/components/tcs34725/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tcs34725/test.esp8266-ard.yaml +++ b/tests/components/tcs34725/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tcs34725/test.rp2040-ard.yaml b/tests/components/tcs34725/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tcs34725/test.rp2040-ard.yaml +++ b/tests/components/tcs34725/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tee501/common.yaml b/tests/components/tee501/common.yaml index c01ab7e37a..82091faccf 100644 --- a/tests/components/tee501/common.yaml +++ b/tests/components/tee501/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_tee501 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tee501 + i2c_id: i2c_bus name: TEE501 Temperature address: 0x48 diff --git a/tests/components/tee501/test.esp32-c3-idf.yaml b/tests/components/tee501/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tee501/test.esp32-c3-idf.yaml +++ b/tests/components/tee501/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tee501/test.esp32-idf.yaml b/tests/components/tee501/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tee501/test.esp32-idf.yaml +++ b/tests/components/tee501/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tee501/test.esp8266-ard.yaml b/tests/components/tee501/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tee501/test.esp8266-ard.yaml +++ b/tests/components/tee501/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tee501/test.rp2040-ard.yaml b/tests/components/tee501/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tee501/test.rp2040-ard.yaml +++ b/tests/components/tee501/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/common.yaml b/tests/components/teleinfo/common.yaml index 90b684e977..dcb2cb14bd 100644 --- a/tests/components/teleinfo/common.yaml +++ b/tests/components/teleinfo/common.yaml @@ -1,10 +1,3 @@ -uart: - - id: uart_teleinfo - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 1200 - parity: EVEN - button: - platform: template name: Poller component suspend test diff --git a/tests/components/teleinfo/test.esp32-c3-idf.yaml b/tests/components/teleinfo/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/teleinfo/test.esp32-c3-idf.yaml +++ b/tests/components/teleinfo/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp32-idf.yaml b/tests/components/teleinfo/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/teleinfo/test.esp32-idf.yaml +++ b/tests/components/teleinfo/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/test.esp8266-ard.yaml b/tests/components/teleinfo/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/teleinfo/test.esp8266-ard.yaml +++ b/tests/components/teleinfo/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/teleinfo/test.rp2040-ard.yaml b/tests/components/teleinfo/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/teleinfo/test.rp2040-ard.yaml +++ b/tests/components/teleinfo/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/tem3200/common.yaml b/tests/components/tem3200/common.yaml index 392c853bf4..cef7317450 100644 --- a/tests/components/tem3200/common.yaml +++ b/tests/components/tem3200/common.yaml @@ -1,13 +1,7 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - frequency: 200kHz - sensor: - platform: tem3200 - update_interval: 1s i2c_id: i2c_bus + update_interval: 1s temperature: name: water temperature diff --git a/tests/components/tem3200/test.esp32-idf.yaml b/tests/components/tem3200/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/tem3200/test.esp32-idf.yaml +++ b/tests/components/tem3200/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tem3200/test.esp32-s3-idf.yaml b/tests/components/tem3200/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/tem3200/test.esp32-s3-idf.yaml +++ b/tests/components/tem3200/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tem3200/test.esp8266-ard.yaml b/tests/components/tem3200/test.esp8266-ard.yaml index 3be5e53dcb..4a98b9388a 100644 --- a/tests/components/tem3200/test.esp8266-ard.yaml +++ b/tests/components/tem3200/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO05 - sda_pin: GPIO04 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/template/common-base.yaml b/tests/components/template/common-base.yaml new file mode 100644 index 0000000000..48537d21bc --- /dev/null +++ b/tests/components/template/common-base.yaml @@ -0,0 +1,342 @@ +esphome: + on_boot: + - sensor.template.publish: + id: template_sens + state: 42.0 + + # Templated + - sensor.template.publish: + id: template_sens + state: !lambda "return 42.0;" + + - datetime.date.set: + id: test_date + date: + year: 2021 + month: 1 + day: 1 + - datetime.date.set: + id: test_date + date: !lambda "return {.day_of_month = 1, .month = 1, .year = 2021};" + - datetime.date.set: + id: test_date + date: "2021-01-01" + +binary_sensor: + - platform: template + id: some_binary_sensor + name: "Garage Door Open" + lambda: |- + if (id(template_sens).state > 30) { + // Garage Door is open. + return true; + } else { + // Garage Door is closed. + return false; + } + - platform: template + id: other_binary_sensor + name: "Garage Door Closed" + condition: + sensor.in_range: + id: template_sens + below: 30.0 + filters: + - invert: + - delayed_on: 100ms + - delayed_off: 100ms + - delayed_on_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" + - delayed_on_off: + time_on: 10s + time_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" + - autorepeat: + - delay: 1s + time_off: 100ms + time_on: 900ms + - delay: 5s + time_off: 100ms + time_on: 400ms + - lambda: |- + if (id(other_binary_sensor).state) { + return x; + } else { + return {}; + } + - settle: 500ms + - timeout: 5s + +sensor: + - platform: template + name: "Template Sensor" + id: template_sens + lambda: |- + if (id(some_binary_sensor).state) { + return 42.0; + } else { + return 0.0; + } + update_interval: 60s + filters: + - calibrate_linear: + - 0.0 -> 0.0 + - 40.0 -> 45.0 + - 100.0 -> 102.5 + - calibrate_polynomial: + degree: 2 + datapoints: + # Map 0.0 (from sensor) to 0.0 (true value) + - 0.0 -> 0.0 + - 10.0 -> 12.1 + - 13.0 -> 14.0 + - clamp: + max_value: 10.0 + min_value: -10.0 + - debounce: 0.1s + - delta: 5.0 + - exponential_moving_average: + alpha: 0.1 + send_every: 15 + - filter_out: + - 10 + - 20 + - !lambda return 10; + - filter_out: 10 + - filter_out: !lambda return NAN; + - heartbeat: 5s + - lambda: return x * (9.0/5.0) + 32.0; + - max: + window_size: 10 + send_every: 2 + send_first_at: 1 + - median: + window_size: 7 + send_every: 4 + send_first_at: 3 + - min: + window_size: 10 + send_every: 2 + send_first_at: 1 + - multiply: 1 + - multiply: !lambda return 2; + - offset: 10 + - offset: !lambda return 10; + - or: + - quantile: + window_size: 7 + send_every: 4 + send_first_at: 3 + quantile: .9 + - round: 1 + - round_to_multiple_of: 0.25 + - skip_initial: 3 + - sliding_window_moving_average: + window_size: 15 + send_every: 15 + - throttle: 1s + - throttle_average: 2s + - throttle_with_priority: 5s + - throttle_with_priority: + timeout: 3s + value: 42.0 + - throttle_with_priority: + timeout: 3s + value: !lambda return 1.0f / 2.0f; + - throttle_with_priority: + timeout: 3s + value: + - 42.0 + - !lambda return 2.0f / 2.0f; + - nan + - timeout: + timeout: 10s + value: !lambda return 10; + - timeout: + timeout: 1h + value: 20.0 + - timeout: + timeout: 1min + value: last + - timeout: + timeout: 1d + - to_ntc_resistance: + calibration: + - 10.0kOhm -> 25°C + - 27.219kOhm -> 0°C + - 14.674kOhm -> 15°C + - to_ntc_temperature: + calibration: + - 10.0kOhm -> 25°C + - 27.219kOhm -> 0°C + - 14.674kOhm -> 15°C + +output: + - platform: template + id: outputsplit + type: float + write_action: + - logger.log: "write_action" + +switch: + - platform: template + id: test_switch + name: "Template Switch" + lambda: |- + if (id(some_binary_sensor).state) { + return true; + } else { + return false; + } + turn_on_action: + - logger.log: "turn_on_action" + turn_off_action: + - logger.log: "turn_off_action" + +button: + - platform: template + name: "Template Button" + on_press: + - logger.log: Button Pressed + +cover: + - platform: template + name: "Template Cover" + lambda: |- + if (id(some_binary_sensor).state) { + return COVER_OPEN; + } else { + return COVER_CLOSED; + } + open_action: + - logger.log: open_action + close_action: + - logger.log: close_action + stop_action: + - logger.log: stop_action + optimistic: true + +number: + - platform: template + name: "Template number" + optimistic: true + min_value: 0 + max_value: 100 + step: 1 + +select: + - platform: template + name: "Template select" + optimistic: true + options: + - one + - two + - three + initial_option: two + +lock: + - platform: template + name: "Template Lock" + lambda: |- + if (id(some_binary_sensor).state) { + return LOCK_STATE_LOCKED; + } else { + return LOCK_STATE_UNLOCKED; + } + lock_action: + - logger.log: lock_action + unlock_action: + - logger.log: unlock_action + open_action: + - logger.log: open_action + +valve: + - platform: template + id: template_valve + name: "Template Valve" + lambda: |- + if (id(some_binary_sensor).state) { + return VALVE_OPEN; + } else { + return VALVE_CLOSED; + } + open_action: + - logger.log: open_action + close_action: + - logger.log: close_action + - valve.template.publish: + id: template_valve + state: CLOSED + stop_action: + - logger.log: stop_action + optimistic: true + +text: + - platform: template + name: "Template text" + optimistic: true + min_length: 0 + max_length: 100 + mode: text + - platform: template + name: "Template text lambda" + mode: text + update_interval: 1s + lambda: | + return std::string{"Hello!"}; + set_action: + then: + - logger.log: + format: Template Text set to %s + args: ["x.c_str()"] + +alarm_control_panel: + - platform: template + name: Alarm Panel + codes: + - "1234" + +datetime: + - platform: template + name: Date + id: test_date + type: date + initial_value: "2000-1-2" + set_action: + - logger.log: "set_value" + on_value: + - logger.log: + format: "Date: %04d-%02d-%02d" + args: + - x.year + - x.month + - x.day_of_month + - platform: template + name: Time + id: test_time + type: time + initial_value: "12:34:56am" + set_action: + - logger.log: "set_value" + on_value: + - logger.log: + format: "Time: %02d:%02d:%02d" + args: + - x.hour + - x.minute + - x.second + - platform: template + name: DateTime + id: test_datetime + type: datetime + initial_value: "2000-1-2 12:34:56" + set_action: + - logger.log: "set_value" + on_value: + - logger.log: + format: "DateTime: %04d-%02d-%02d %02d:%02d:%02d" + args: + - x.year + - x.month + - x.day_of_month + - x.hour + - x.minute + - x.second diff --git a/tests/components/template/common.yaml b/tests/components/template/common.yaml index efbb83ee06..d06f3ce131 100644 --- a/tests/components/template/common.yaml +++ b/tests/components/template/common.yaml @@ -1,343 +1,4 @@ -esphome: - on_boot: - - sensor.template.publish: - id: template_sens - state: 42.0 - - # Templated - - sensor.template.publish: - id: template_sens - state: !lambda "return 42.0;" - - - datetime.date.set: - id: test_date - date: - year: 2021 - month: 1 - day: 1 - - datetime.date.set: - id: test_date - date: !lambda "return {.day_of_month = 1, .month = 1, .year = 2021};" - - datetime.date.set: - id: test_date - date: "2021-01-01" - -binary_sensor: - - platform: template - id: some_binary_sensor - name: "Garage Door Open" - lambda: |- - if (id(template_sens).state > 30) { - // Garage Door is open. - return true; - } else { - // Garage Door is closed. - return false; - } - - platform: template - id: other_binary_sensor - name: "Garage Door Closed" - condition: - sensor.in_range: - id: template_sens - below: 30.0 - filters: - - invert: - - delayed_on: 100ms - - delayed_off: 100ms - - delayed_on_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" - - delayed_on_off: - time_on: 10s - time_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" - - autorepeat: - - delay: 1s - time_off: 100ms - time_on: 900ms - - delay: 5s - time_off: 100ms - time_on: 400ms - - lambda: |- - if (id(other_binary_sensor).state) { - return x; - } else { - return {}; - } - - settle: 500ms - - timeout: 5s - -sensor: - - platform: template - name: "Template Sensor" - id: template_sens - lambda: |- - if (id(some_binary_sensor).state) { - return 42.0; - } else { - return 0.0; - } - update_interval: 60s - filters: - - calibrate_linear: - - 0.0 -> 0.0 - - 40.0 -> 45.0 - - 100.0 -> 102.5 - - calibrate_polynomial: - degree: 2 - datapoints: - # Map 0.0 (from sensor) to 0.0 (true value) - - 0.0 -> 0.0 - - 10.0 -> 12.1 - - 13.0 -> 14.0 - - clamp: - max_value: 10.0 - min_value: -10.0 - - debounce: 0.1s - - delta: 5.0 - - exponential_moving_average: - alpha: 0.1 - send_every: 15 - - filter_out: - - 10 - - 20 - - !lambda return 10; - - filter_out: 10 - - filter_out: !lambda return NAN; - - heartbeat: 5s - - lambda: return x * (9.0/5.0) + 32.0; - - max: - window_size: 10 - send_every: 2 - send_first_at: 1 - - median: - window_size: 7 - send_every: 4 - send_first_at: 3 - - min: - window_size: 10 - send_every: 2 - send_first_at: 1 - - multiply: 1 - - multiply: !lambda return 2; - - offset: 10 - - offset: !lambda return 10; - - or: - - quantile: - window_size: 7 - send_every: 4 - send_first_at: 3 - quantile: .9 - - round: 1 - - round_to_multiple_of: 0.25 - - skip_initial: 3 - - sliding_window_moving_average: - window_size: 15 - send_every: 15 - - throttle: 1s - - throttle_average: 2s - - throttle_with_priority: 5s - - throttle_with_priority: - timeout: 3s - value: 42.0 - - throttle_with_priority: - timeout: 3s - value: !lambda return 1.0f / 2.0f; - - throttle_with_priority: - timeout: 3s - value: - - 42.0 - - !lambda return 2.0f / 2.0f; - - nan - - timeout: - timeout: 10s - value: !lambda return 10; - - timeout: - timeout: 1h - value: 20.0 - - timeout: - timeout: 1min - value: last - - timeout: - timeout: 1d - - to_ntc_resistance: - calibration: - - 10.0kOhm -> 25°C - - 27.219kOhm -> 0°C - - 14.674kOhm -> 15°C - - to_ntc_temperature: - calibration: - - 10.0kOhm -> 25°C - - 27.219kOhm -> 0°C - - 14.674kOhm -> 15°C - -output: - - platform: template - id: outputsplit - type: float - write_action: - - logger.log: "write_action" - -switch: - - platform: template - id: test_switch - name: "Template Switch" - lambda: |- - if (id(some_binary_sensor).state) { - return true; - } else { - return false; - } - turn_on_action: - - logger.log: "turn_on_action" - turn_off_action: - - logger.log: "turn_off_action" - -button: - - platform: template - name: "Template Button" - on_press: - - logger.log: Button Pressed - -cover: - - platform: template - name: "Template Cover" - lambda: |- - if (id(some_binary_sensor).state) { - return COVER_OPEN; - } else { - return COVER_CLOSED; - } - open_action: - - logger.log: open_action - close_action: - - logger.log: close_action - stop_action: - - logger.log: stop_action - optimistic: true - -number: - - platform: template - name: "Template number" - optimistic: true - min_value: 0 - max_value: 100 - step: 1 - -select: - - platform: template - name: "Template select" - optimistic: true - options: - - one - - two - - three - initial_option: two - -lock: - - platform: template - name: "Template Lock" - lambda: |- - if (id(some_binary_sensor).state) { - return LOCK_STATE_LOCKED; - } else { - return LOCK_STATE_UNLOCKED; - } - lock_action: - - logger.log: lock_action - unlock_action: - - logger.log: unlock_action - open_action: - - logger.log: open_action - -valve: - - platform: template - name: "Template Valve" - lambda: |- - if (id(some_binary_sensor).state) { - return VALVE_OPEN; - } else { - return VALVE_CLOSED; - } - open_action: - - logger.log: open_action - close_action: - - logger.log: close_action - - valve.template.publish: - state: CLOSED - stop_action: - - logger.log: stop_action - optimistic: true - -text: - - platform: template - name: "Template text" - optimistic: true - min_length: 0 - max_length: 100 - mode: text - - platform: template - name: "Template text lambda" - mode: text - update_interval: 1s - lambda: | - return std::string{"Hello!"}; - set_action: - then: - - logger.log: - format: Template Text set to %s - args: ["x.c_str()"] - -alarm_control_panel: - - platform: template - name: Alarm Panel - codes: - - "1234" - -datetime: - - platform: template - name: Date - id: test_date - type: date - initial_value: "2000-1-2" - set_action: - - logger.log: "set_value" - on_value: - - logger.log: - format: "Date: %04d-%02d-%02d" - args: - - x.year - - x.month - - x.day_of_month - - platform: template - name: Time - id: test_time - type: time - initial_value: "12:34:56am" - set_action: - - logger.log: "set_value" - on_value: - - logger.log: - format: "Time: %02d:%02d:%02d" - args: - - x.hour - - x.minute - - x.second - - platform: template - name: DateTime - id: test_datetime - type: datetime - initial_value: "2000-1-2 12:34:56" - set_action: - - logger.log: "set_value" - on_value: - - logger.log: - format: "DateTime: %04d-%02d-%02d %02d:%02d:%02d" - args: - - x.year - - x.month - - x.day_of_month - - x.hour - - x.minute - - x.second +<<: !include common-base.yaml time: - platform: sntp # Required for datetime diff --git a/tests/components/template/test.nrf52-adafruit.yaml b/tests/components/template/test.nrf52-adafruit.yaml index 6a8c01560a..45751c6398 100644 --- a/tests/components/template/test.nrf52-adafruit.yaml +++ b/tests/components/template/test.nrf52-adafruit.yaml @@ -1,6 +1 @@ -packages: !include common.yaml - -time: - - id: !remove sntp_time - -wifi: !remove +<<: !include common-base.yaml diff --git a/tests/components/template/test.nrf52-mcumgr.yaml b/tests/components/template/test.nrf52-mcumgr.yaml index 6a8c01560a..45751c6398 100644 --- a/tests/components/template/test.nrf52-mcumgr.yaml +++ b/tests/components/template/test.nrf52-mcumgr.yaml @@ -1,6 +1 @@ -packages: !include common.yaml - -time: - - id: !remove sntp_time - -wifi: !remove +<<: !include common-base.yaml diff --git a/tests/components/tlc59208f/common.yaml b/tests/components/tlc59208f/common.yaml index 49460dcefc..1943063347 100644 --- a/tests/components/tlc59208f/common.yaml +++ b/tests/components/tlc59208f/common.yaml @@ -1,15 +1,13 @@ -i2c: - - id: i2c_tlc59208f - scl: ${scl_pin} - sda: ${sda_pin} - tlc59208f: - address: 0x20 id: tlc59208f_1 + i2c_id: i2c_bus - address: 0x22 id: tlc59208f_2 + i2c_id: i2c_bus - address: 0x24 id: tlc59208f_3 + i2c_id: i2c_bus output: - platform: tlc59208f diff --git a/tests/components/tlc59208f/test.esp32-c3-idf.yaml b/tests/components/tlc59208f/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tlc59208f/test.esp32-c3-idf.yaml +++ b/tests/components/tlc59208f/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp32-idf.yaml b/tests/components/tlc59208f/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tlc59208f/test.esp32-idf.yaml +++ b/tests/components/tlc59208f/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tlc59208f/test.esp8266-ard.yaml b/tests/components/tlc59208f/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tlc59208f/test.esp8266-ard.yaml +++ b/tests/components/tlc59208f/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tlc59208f/test.rp2040-ard.yaml b/tests/components/tlc59208f/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tlc59208f/test.rp2040-ard.yaml +++ b/tests/components/tlc59208f/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tlc5947/test.esp8266-ard.yaml b/tests/components/tlc5947/test.esp8266-ard.yaml index 44da5a07b3..1eb9bcfae2 100644 --- a/tests/components/tlc5947/test.esp8266-ard.yaml +++ b/tests/components/tlc5947/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 - lat_pin: GPIO13 + clock_pin: GPIO0 + data_pin: GPIO2 + lat_pin: GPIO15 packages: common: !include common.yaml diff --git a/tests/components/tlc5971/test.esp8266-ard.yaml b/tests/components/tlc5971/test.esp8266-ard.yaml index 52411bc1e9..7923874f96 100644 --- a/tests/components/tlc5971/test.esp8266-ard.yaml +++ b/tests/components/tlc5971/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: clock_pin: GPIO15 - data_pin: GPIO14 - lat_pin: GPIO13 + data_pin: GPIO0 + lat_pin: GPIO2 packages: common: !include common.yaml diff --git a/tests/components/tm1621/test.esp32-idf.yaml b/tests/components/tm1621/test.esp32-idf.yaml index 0441e4bffe..21402f3216 100644 --- a/tests/components/tm1621/test.esp32-idf.yaml +++ b/tests/components/tm1621/test.esp32-idf.yaml @@ -1,7 +1,10 @@ substitutions: - cs_pin: GPIO16 - data_pin: GPIO17 + cs_pin: GPIO4 + data_pin: GPIO5 read_pin: GPIO12 write_pin: GPIO13 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tm1621/test.esp8266-ard.yaml b/tests/components/tm1621/test.esp8266-ard.yaml index ee7b62ce35..304ca71eb2 100644 --- a/tests/components/tm1621/test.esp8266-ard.yaml +++ b/tests/components/tm1621/test.esp8266-ard.yaml @@ -1,7 +1,10 @@ substitutions: cs_pin: GPIO15 - data_pin: GPIO14 - read_pin: GPIO12 - write_pin: GPIO13 + data_pin: GPIO0 + read_pin: GPIO2 + write_pin: GPIO16 + +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tm1621/test.rp2040-ard.yaml b/tests/components/tm1621/test.rp2040-ard.yaml index 562ced7485..9a880da876 100644 --- a/tests/components/tm1621/test.rp2040-ard.yaml +++ b/tests/components/tm1621/test.rp2040-ard.yaml @@ -1,7 +1,10 @@ substitutions: cs_pin: GPIO6 data_pin: GPIO7 - read_pin: GPIO2 - write_pin: GPIO3 + read_pin: GPIO8 + write_pin: GPIO9 + +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tm1637/test.esp32-c3-idf.yaml b/tests/components/tm1637/test.esp32-c3-idf.yaml index 96f6708a3b..0c4d4a9a7a 100644 --- a/tests/components/tm1637/test.esp32-c3-idf.yaml +++ b/tests/components/tm1637/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO4 + clk_pin: GPIO7 dio_pin: GPIO3 <<: !include common.yaml diff --git a/tests/components/tm1637/test.esp8266-ard.yaml b/tests/components/tm1637/test.esp8266-ard.yaml index 2c5786c47c..0a4221cbc0 100644 --- a/tests/components/tm1637/test.esp8266-ard.yaml +++ b/tests/components/tm1637/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO14 - dio_pin: GPIO13 + clk_pin: GPIO0 + dio_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/tmp102/common.yaml b/tests/components/tmp102/common.yaml index afc4a27fad..049a8067da 100644 --- a/tests/components/tmp102/common.yaml +++ b/tests/components/tmp102/common.yaml @@ -1,8 +1,4 @@ -i2c: - - id: i2c_tmp102 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tmp102 + i2c_id: i2c_bus name: TMP102 Temperature diff --git a/tests/components/tmp102/test.esp32-c3-idf.yaml b/tests/components/tmp102/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tmp102/test.esp32-c3-idf.yaml +++ b/tests/components/tmp102/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp102/test.esp32-idf.yaml b/tests/components/tmp102/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tmp102/test.esp32-idf.yaml +++ b/tests/components/tmp102/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp102/test.esp8266-ard.yaml b/tests/components/tmp102/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tmp102/test.esp8266-ard.yaml +++ b/tests/components/tmp102/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp102/test.rp2040-ard.yaml b/tests/components/tmp102/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tmp102/test.rp2040-ard.yaml +++ b/tests/components/tmp102/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/common.yaml b/tests/components/tmp1075/common.yaml index 4c4c6c6f35..90025f231e 100644 --- a/tests/components/tmp1075/common.yaml +++ b/tests/components/tmp1075/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tmp1075 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tmp1075 + i2c_id: i2c_bus name: Temperature TMP1075 conversion_rate: 27.5ms alert: diff --git a/tests/components/tmp1075/test.esp32-c3-idf.yaml b/tests/components/tmp1075/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tmp1075/test.esp32-c3-idf.yaml +++ b/tests/components/tmp1075/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp32-idf.yaml b/tests/components/tmp1075/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tmp1075/test.esp32-idf.yaml +++ b/tests/components/tmp1075/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/test.esp8266-ard.yaml b/tests/components/tmp1075/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tmp1075/test.esp8266-ard.yaml +++ b/tests/components/tmp1075/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp1075/test.rp2040-ard.yaml b/tests/components/tmp1075/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tmp1075/test.rp2040-ard.yaml +++ b/tests/components/tmp1075/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/common.yaml b/tests/components/tmp117/common.yaml index f4a5688933..58419c2134 100644 --- a/tests/components/tmp117/common.yaml +++ b/tests/components/tmp117/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_tmp117 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tmp117 + i2c_id: i2c_bus name: TMP117 Temperature update_interval: 5s diff --git a/tests/components/tmp117/test.esp32-c3-idf.yaml b/tests/components/tmp117/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tmp117/test.esp32-c3-idf.yaml +++ b/tests/components/tmp117/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/test.esp32-idf.yaml b/tests/components/tmp117/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tmp117/test.esp32-idf.yaml +++ b/tests/components/tmp117/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/test.esp8266-ard.yaml b/tests/components/tmp117/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tmp117/test.esp8266-ard.yaml +++ b/tests/components/tmp117/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tmp117/test.rp2040-ard.yaml b/tests/components/tmp117/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tmp117/test.rp2040-ard.yaml +++ b/tests/components/tmp117/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/common.yaml b/tests/components/tof10120/common.yaml index 67643323d9..b360a27248 100644 --- a/tests/components/tof10120/common.yaml +++ b/tests/components/tof10120/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_tof10120 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tof10120 + i2c_id: i2c_bus name: Distance sensor update_interval: 5s diff --git a/tests/components/tof10120/test.esp32-c3-idf.yaml b/tests/components/tof10120/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tof10120/test.esp32-c3-idf.yaml +++ b/tests/components/tof10120/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/test.esp32-idf.yaml b/tests/components/tof10120/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tof10120/test.esp32-idf.yaml +++ b/tests/components/tof10120/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/test.esp8266-ard.yaml b/tests/components/tof10120/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tof10120/test.esp8266-ard.yaml +++ b/tests/components/tof10120/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tof10120/test.rp2040-ard.yaml b/tests/components/tof10120/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tof10120/test.rp2040-ard.yaml +++ b/tests/components/tof10120/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/common.yaml b/tests/components/tormatic/common.yaml index 0f1b33ac12..712bf7569b 100644 --- a/tests/components/tormatic/common.yaml +++ b/tests/components/tormatic/common.yaml @@ -1,12 +1,5 @@ -uart: - - id: uart_tormatic - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - cover: - platform: tormatic - uart_id: uart_tormatic id: tormatic_garage_door name: Tormatic Garage Door open_duration: 15s diff --git a/tests/components/tormatic/test.esp32-c3-idf.yaml b/tests/components/tormatic/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/tormatic/test.esp32-c3-idf.yaml +++ b/tests/components/tormatic/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/test.esp32-idf.yaml b/tests/components/tormatic/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/tormatic/test.esp32-idf.yaml +++ b/tests/components/tormatic/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/test.esp8266-ard.yaml b/tests/components/tormatic/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/tormatic/test.esp8266-ard.yaml +++ b/tests/components/tormatic/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tormatic/test.rp2040-ard.yaml b/tests/components/tormatic/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/tormatic/test.rp2040-ard.yaml +++ b/tests/components/tormatic/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/total_daily_energy/test.esp8266-ard.yaml b/tests/components/total_daily_energy/test.esp8266-ard.yaml index 8b42b21b54..ec9c0e43dc 100644 --- a/tests/components/total_daily_energy/test.esp8266-ard.yaml +++ b/tests/components/total_daily_energy/test.esp8266-ard.yaml @@ -1,6 +1,6 @@ substitutions: - sel_pin: GPIO12 - cf_pin: GPIO13 - cf1_pin: GPIO14 + sel_pin: GPIO0 + cf_pin: GPIO2 + cf1_pin: GPIO15 <<: !include common.yaml diff --git a/tests/components/tsl2561/common.yaml b/tests/components/tsl2561/common.yaml index d2b4f75df3..132bdb890e 100644 --- a/tests/components/tsl2561/common.yaml +++ b/tests/components/tsl2561/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tsl2561 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tsl2561 + i2c_id: i2c_bus name: TSL2561 Ambient Light address: 0x39 is_cs_package: true diff --git a/tests/components/tsl2561/test.esp32-c3-idf.yaml b/tests/components/tsl2561/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tsl2561/test.esp32-c3-idf.yaml +++ b/tests/components/tsl2561/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp32-idf.yaml b/tests/components/tsl2561/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tsl2561/test.esp32-idf.yaml +++ b/tests/components/tsl2561/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2561/test.esp8266-ard.yaml b/tests/components/tsl2561/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tsl2561/test.esp8266-ard.yaml +++ b/tests/components/tsl2561/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tsl2561/test.rp2040-ard.yaml b/tests/components/tsl2561/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tsl2561/test.rp2040-ard.yaml +++ b/tests/components/tsl2561/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/common.yaml b/tests/components/tsl2591/common.yaml index d58c46fb48..93433cf968 100644 --- a/tests/components/tsl2591/common.yaml +++ b/tests/components/tsl2591/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_tsl2591 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: tsl2591 + i2c_id: i2c_bus id: test_tsl2591 address: 0x29 integration_time: 600ms diff --git a/tests/components/tsl2591/test.esp32-c3-idf.yaml b/tests/components/tsl2591/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/tsl2591/test.esp32-c3-idf.yaml +++ b/tests/components/tsl2591/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp32-idf.yaml b/tests/components/tsl2591/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/tsl2591/test.esp32-idf.yaml +++ b/tests/components/tsl2591/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/test.esp8266-ard.yaml b/tests/components/tsl2591/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/tsl2591/test.esp8266-ard.yaml +++ b/tests/components/tsl2591/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tsl2591/test.rp2040-ard.yaml b/tests/components/tsl2591/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/tsl2591/test.rp2040-ard.yaml +++ b/tests/components/tsl2591/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tt21100/common.yaml b/tests/components/tt21100/common.yaml index a5d7970429..bd1830ea8b 100644 --- a/tests/components/tt21100/common.yaml +++ b/tests/components/tt21100/common.yaml @@ -1,25 +1,24 @@ -i2c: - - id: i2c_tt21100 - scl: ${scl_pin} - sda: ${sda_pin} - display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${disp_reset_pin} pages: - - id: page1 + - id: tt21100_page1 lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); touchscreen: - platform: tt21100 + i2c_id: i2c_bus + id: tt21100_touchscreen display: ssd1306_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} binary_sensor: - platform: tt21100 + id: tt21100_button name: Home Button index: 1 diff --git a/tests/components/tt21100/test.esp32-c3-idf.yaml b/tests/components/tt21100/test.esp32-c3-idf.yaml index 36a8ce2778..a7265e10b2 100644 --- a/tests/components/tt21100/test.esp32-c3-idf.yaml +++ b/tests/components/tt21100/test.esp32-c3-idf.yaml @@ -1,8 +1,9 @@ substitutions: - disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 + disp_reset_pin: GPIO7 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tt21100/test.esp32-idf.yaml b/tests/components/tt21100/test.esp32-idf.yaml index 05598719f9..033aafb73c 100644 --- a/tests/components/tt21100/test.esp32-idf.yaml +++ b/tests/components/tt21100/test.esp32-idf.yaml @@ -1,8 +1,9 @@ substitutions: disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 interrupt_pin: GPIO15 - reset_pin: GPIO16 + reset_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tt21100/test.esp8266-ard.yaml b/tests/components/tt21100/test.esp8266-ard.yaml index 05598719f9..25d1ff82e3 100644 --- a/tests/components/tt21100/test.esp8266-ard.yaml +++ b/tests/components/tt21100/test.esp8266-ard.yaml @@ -1,8 +1,9 @@ substitutions: - disp_reset_pin: GPIO12 - scl_pin: GPIO13 - sda_pin: GPIO14 + disp_reset_pin: GPIO0 interrupt_pin: GPIO15 reset_pin: GPIO16 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/tt21100/test.rp2040-ard.yaml b/tests/components/tt21100/test.rp2040-ard.yaml index 36a8ce2778..0d13628294 100644 --- a/tests/components/tt21100/test.rp2040-ard.yaml +++ b/tests/components/tt21100/test.rp2040-ard.yaml @@ -1,8 +1,9 @@ substitutions: disp_reset_pin: GPIO10 - scl_pin: GPIO0 - sda_pin: GPIO1 interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/common.yaml b/tests/components/ttp229_bsf/common.yaml index 42c26a5d51..91134f5098 100644 --- a/tests/components/ttp229_bsf/common.yaml +++ b/tests/components/ttp229_bsf/common.yaml @@ -1,6 +1,6 @@ ttp229_bsf: - scl_pin: ${scl_pin} - sdo_pin: ${sdo_pin} + scl_pin: ${ttp229_scl_pin} + sdo_pin: ${ttp229_sdo_pin} binary_sensor: - platform: ttp229_bsf diff --git a/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml b/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml index 135b213edc..ad1c58b40e 100644 --- a/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml +++ b/tests/components/ttp229_bsf/test.esp32-c3-idf.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 + ttp229_scl_pin: GPIO7 + ttp229_sdo_pin: GPIO4 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp32-idf.yaml b/tests/components/ttp229_bsf/test.esp32-idf.yaml index 80ed75293f..8b7f6fe6ea 100644 --- a/tests/components/ttp229_bsf/test.esp32-idf.yaml +++ b/tests/components/ttp229_bsf/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO16 - sdo_pin: GPIO17 + ttp229_scl_pin: GPIO14 + ttp229_sdo_pin: GPIO5 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.esp8266-ard.yaml b/tests/components/ttp229_bsf/test.esp8266-ard.yaml index 135b213edc..1832fde07f 100644 --- a/tests/components/ttp229_bsf/test.esp8266-ard.yaml +++ b/tests/components/ttp229_bsf/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 + ttp229_scl_pin: GPIO0 + ttp229_sdo_pin: GPIO2 + +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_bsf/test.rp2040-ard.yaml b/tests/components/ttp229_bsf/test.rp2040-ard.yaml index 135b213edc..1448c82347 100644 --- a/tests/components/ttp229_bsf/test.rp2040-ard.yaml +++ b/tests/components/ttp229_bsf/test.rp2040-ard.yaml @@ -1,5 +1,8 @@ substitutions: - scl_pin: GPIO5 - sdo_pin: GPIO4 + ttp229_scl_pin: GPIO2 + ttp229_sdo_pin: GPIO6 + +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/common.yaml b/tests/components/ttp229_lsf/common.yaml index 5c0dbf9517..41402f5aac 100644 --- a/tests/components/ttp229_lsf/common.yaml +++ b/tests/components/ttp229_lsf/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_ttp229_lsf - scl: ${scl_pin} - sda: ${sda_pin} - ttp229_lsf: + i2c_id: i2c_bus binary_sensor: - platform: ttp229_lsf diff --git a/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml b/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml +++ b/tests/components/ttp229_lsf/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp32-idf.yaml b/tests/components/ttp229_lsf/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ttp229_lsf/test.esp32-idf.yaml +++ b/tests/components/ttp229_lsf/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.esp8266-ard.yaml b/tests/components/ttp229_lsf/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ttp229_lsf/test.esp8266-ard.yaml +++ b/tests/components/ttp229_lsf/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ttp229_lsf/test.rp2040-ard.yaml b/tests/components/ttp229_lsf/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ttp229_lsf/test.rp2040-ard.yaml +++ b/tests/components/ttp229_lsf/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/tuya/common.yaml b/tests/components/tuya/common.yaml index 2c40628139..e177b7d056 100644 --- a/tests/components/tuya/common.yaml +++ b/tests/components/tuya/common.yaml @@ -2,12 +2,6 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uart_tuya - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - tuya: status_pin: number: ${status_pin} diff --git a/tests/components/tuya/test.esp32-c3-idf.yaml b/tests/components/tuya/test.esp32-c3-idf.yaml index c62a0b10f6..43c28ba7b3 100644 --- a/tests/components/tuya/test.esp32-c3-idf.yaml +++ b/tests/components/tuya/test.esp32-c3-idf.yaml @@ -1,6 +1,6 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 status_pin: GPIO2 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tuya/test.esp32-idf.yaml b/tests/components/tuya/test.esp32-idf.yaml index 926a46cf73..0baa48a6c5 100644 --- a/tests/components/tuya/test.esp32-idf.yaml +++ b/tests/components/tuya/test.esp32-idf.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 status_pin: GPIO12 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/tuya/test.esp8266-ard.yaml b/tests/components/tuya/test.esp8266-ard.yaml index 11d46ed50e..1565495cf8 100644 --- a/tests/components/tuya/test.esp8266-ard.yaml +++ b/tests/components/tuya/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 - status_pin: GPIO12 + tx_pin: GPIO0 + rx_pin: GPIO2 + status_pin: GPIO15 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tuya/test.rp2040-ard.yaml b/tests/components/tuya/test.rp2040-ard.yaml index 11d46ed50e..0c3db54644 100644 --- a/tests/components/tuya/test.rp2040-ard.yaml +++ b/tests/components/tuya/test.rp2040-ard.yaml @@ -3,4 +3,7 @@ substitutions: rx_pin: GPIO5 status_pin: GPIO12 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.esp32-c3-idf.yaml b/tests/components/udp/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/udp/test.esp32-c3-idf.yaml +++ b/tests/components/udp/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.esp32-idf.yaml b/tests/components/udp/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/udp/test.esp32-idf.yaml +++ b/tests/components/udp/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.esp8266-ard.yaml b/tests/components/udp/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/udp/test.esp8266-ard.yaml +++ b/tests/components/udp/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/udp/test.host.yaml b/tests/components/udp/test.host.yaml index e735c37e4d..84e78894e5 100644 --- a/tests/components/udp/test.host.yaml +++ b/tests/components/udp/test.host.yaml @@ -1,4 +1,15 @@ -packages: - common: !include common.yaml - -wifi: !remove +udp: + id: my_udp + listen_address: 239.0.60.53 + addresses: ["239.0.60.53"] + on_receive: + - logger.log: + format: "Received %d bytes" + args: [data.size()] + - udp.write: + id: my_udp + data: "hello world" + - udp.write: + id: my_udp + data: !lambda |- + return std::vector{1,3,4,5,6}; diff --git a/tests/components/udp/test.rp2040-ard.yaml b/tests/components/udp/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/udp/test.rp2040-ard.yaml +++ b/tests/components/udp/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/ufire_ec/common.yaml b/tests/components/ufire_ec/common.yaml index dcc957aaee..4260f0ab4c 100644 --- a/tests/components/ufire_ec/common.yaml +++ b/tests/components/ufire_ec/common.yaml @@ -7,16 +7,12 @@ esphome: temperature: !lambda "return id(test_sensor).state;" - ufire_ec.reset: -i2c: - - id: i2c_ufire_ec - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: template id: test_sensor lambda: "return 21;" - platform: ufire_ec + i2c_id: i2c_bus id: ufire_ec_board ec: name: Ufire EC diff --git a/tests/components/ufire_ec/test.esp32-c3-idf.yaml b/tests/components/ufire_ec/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ufire_ec/test.esp32-c3-idf.yaml +++ b/tests/components/ufire_ec/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp32-idf.yaml b/tests/components/ufire_ec/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ufire_ec/test.esp32-idf.yaml +++ b/tests/components/ufire_ec/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ec/test.esp8266-ard.yaml b/tests/components/ufire_ec/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ufire_ec/test.esp8266-ard.yaml +++ b/tests/components/ufire_ec/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ec/test.rp2040-ard.yaml b/tests/components/ufire_ec/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ufire_ec/test.rp2040-ard.yaml +++ b/tests/components/ufire_ec/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/common.yaml b/tests/components/ufire_ise/common.yaml index d6ead8c479..f7865ea87b 100644 --- a/tests/components/ufire_ise/common.yaml +++ b/tests/components/ufire_ise/common.yaml @@ -9,16 +9,12 @@ esphome: solution: 4.0 - ufire_ise.reset: -i2c: - - id: i2c_ufire_ise - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: template id: test_sensor lambda: "return 21;" - platform: ufire_ise + i2c_id: i2c_bus id: ufire_ise_sensor temperature_sensor: test_sensor ph: diff --git a/tests/components/ufire_ise/test.esp32-c3-idf.yaml b/tests/components/ufire_ise/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/ufire_ise/test.esp32-c3-idf.yaml +++ b/tests/components/ufire_ise/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp32-idf.yaml b/tests/components/ufire_ise/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/ufire_ise/test.esp32-idf.yaml +++ b/tests/components/ufire_ise/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/test.esp8266-ard.yaml b/tests/components/ufire_ise/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/ufire_ise/test.esp8266-ard.yaml +++ b/tests/components/ufire_ise/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/ufire_ise/test.rp2040-ard.yaml b/tests/components/ufire_ise/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/ufire_ise/test.rp2040-ard.yaml +++ b/tests/components/ufire_ise/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/update/common.yaml b/tests/components/update/common.yaml index 45ed110352..521a0a6a5c 100644 --- a/tests/components/update/common.yaml +++ b/tests/components/update/common.yaml @@ -21,10 +21,12 @@ http_request: ota: - platform: http_request + id: update_http_request_ota update: - platform: http_request name: Firmware Update + ota_id: update_http_request_ota source: http://example.com/manifest.json on_update_available: - logger.log: "A new update is available" diff --git a/tests/components/uponor_smatrix/common.yaml b/tests/components/uponor_smatrix/common.yaml index 8ee92bdfc5..786a604aec 100644 --- a/tests/components/uponor_smatrix/common.yaml +++ b/tests/components/uponor_smatrix/common.yaml @@ -2,12 +2,6 @@ wifi: ssid: MySSID password: password1 -uart: - - id: uponor_uart - baud_rate: 19200 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - time: - platform: sntp id: sntp_time @@ -17,7 +11,6 @@ time: - 192.168.178.1 uponor_smatrix: - uart_id: uponor_uart address: 0x110B time_id: sntp_time time_device_address: 0xDE13 diff --git a/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml b/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml index b516342f3b..cd26c783c2 100644 --- a/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml +++ b/tests/components/uponor_smatrix/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-c3-idf.yaml + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp32-idf.yaml b/tests/components/uponor_smatrix/test.esp32-idf.yaml index f486544afa..76222997a8 100644 --- a/tests/components/uponor_smatrix/test.esp32-idf.yaml +++ b/tests/components/uponor_smatrix/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.esp8266-ard.yaml b/tests/components/uponor_smatrix/test.esp8266-ard.yaml index b516342f3b..1f4483954b 100644 --- a/tests/components/uponor_smatrix/test.esp8266-ard.yaml +++ b/tests/components/uponor_smatrix/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/esp8266-ard.yaml + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/uponor_smatrix/test.rp2040-ard.yaml b/tests/components/uponor_smatrix/test.rp2040-ard.yaml index b516342f3b..65ba185aef 100644 --- a/tests/components/uponor_smatrix/test.rp2040-ard.yaml +++ b/tests/components/uponor_smatrix/test.rp2040-ard.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart_19200: !include ../../test_build_components/common/uart_19200/rp2040-ard.yaml + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/vbus/common.yaml b/tests/components/vbus/common.yaml index a1f94cd839..33d9e2935d 100644 --- a/tests/components/vbus/common.yaml +++ b/tests/components/vbus/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_vbus - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - vbus: binary_sensor: diff --git a/tests/components/vbus/test.esp32-c3-idf.yaml b/tests/components/vbus/test.esp32-c3-idf.yaml index b516342f3b..a19013bf54 100644 --- a/tests/components/vbus/test.esp32-c3-idf.yaml +++ b/tests/components/vbus/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/vbus/test.esp32-idf.yaml b/tests/components/vbus/test.esp32-idf.yaml index f486544afa..2d29656c94 100644 --- a/tests/components/vbus/test.esp32-idf.yaml +++ b/tests/components/vbus/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/vbus/test.esp8266-ard.yaml b/tests/components/vbus/test.esp8266-ard.yaml index b516342f3b..5a05efa259 100644 --- a/tests/components/vbus/test.esp8266-ard.yaml +++ b/tests/components/vbus/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/vbus/test.rp2040-ard.yaml b/tests/components/vbus/test.rp2040-ard.yaml index b516342f3b..f1df2daf83 100644 --- a/tests/components/vbus/test.rp2040-ard.yaml +++ b/tests/components/vbus/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/common.yaml b/tests/components/veml3235/common.yaml index b89a9e12c7..98ffb0729c 100644 --- a/tests/components/veml3235/common.yaml +++ b/tests/components/veml3235/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_veml3235 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: veml3235 + i2c_id: i2c_bus id: veml3235_sensor name: VEML3235 Light Sensor auto_gain: true diff --git a/tests/components/veml3235/test.esp32-c3-idf.yaml b/tests/components/veml3235/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/veml3235/test.esp32-c3-idf.yaml +++ b/tests/components/veml3235/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/test.esp32-idf.yaml b/tests/components/veml3235/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/veml3235/test.esp32-idf.yaml +++ b/tests/components/veml3235/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/test.esp8266-ard.yaml b/tests/components/veml3235/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/veml3235/test.esp8266-ard.yaml +++ b/tests/components/veml3235/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml3235/test.rp2040-ard.yaml b/tests/components/veml3235/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/veml3235/test.rp2040-ard.yaml +++ b/tests/components/veml3235/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/common.yaml b/tests/components/veml7700/common.yaml index af4ebee6e7..06c1d304c3 100644 --- a/tests/components/veml7700/common.yaml +++ b/tests/components/veml7700/common.yaml @@ -1,12 +1,7 @@ -i2c: - - id: i2c_veml7700 - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: veml7700 + i2c_id: i2c_bus address: 0x10 - i2c_id: i2c_veml7700 ambient_light: Ambient light ambient_light_counts: Ambient light counts full_spectrum: Full spectrum diff --git a/tests/components/veml7700/test.esp32-c3-idf.yaml b/tests/components/veml7700/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/veml7700/test.esp32-c3-idf.yaml +++ b/tests/components/veml7700/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/test.esp32-idf.yaml b/tests/components/veml7700/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/veml7700/test.esp32-idf.yaml +++ b/tests/components/veml7700/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/test.esp8266-ard.yaml b/tests/components/veml7700/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/veml7700/test.esp8266-ard.yaml +++ b/tests/components/veml7700/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/veml7700/test.rp2040-ard.yaml b/tests/components/veml7700/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/veml7700/test.rp2040-ard.yaml +++ b/tests/components/veml7700/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/common.yaml b/tests/components/vl53l0x/common.yaml index 8346eae854..98277639cf 100644 --- a/tests/components/vl53l0x/common.yaml +++ b/tests/components/vl53l0x/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_vl53l0x - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: vl53l0x + i2c_id: i2c_bus name: VL53L0x Distance address: 0x29 enable_pin: 3 diff --git a/tests/components/vl53l0x/test.esp32-c3-idf.yaml b/tests/components/vl53l0x/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/vl53l0x/test.esp32-c3-idf.yaml +++ b/tests/components/vl53l0x/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp32-idf.yaml b/tests/components/vl53l0x/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/vl53l0x/test.esp32-idf.yaml +++ b/tests/components/vl53l0x/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/test.esp8266-ard.yaml b/tests/components/vl53l0x/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/vl53l0x/test.esp8266-ard.yaml +++ b/tests/components/vl53l0x/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/vl53l0x/test.rp2040-ard.yaml b/tests/components/vl53l0x/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/vl53l0x/test.rp2040-ard.yaml +++ b/tests/components/vl53l0x/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/voice_assistant/common-idf.yaml b/tests/components/voice_assistant/common-idf.yaml index b1d249d5b4..ab8cbf2434 100644 --- a/tests/components/voice_assistant/common-idf.yaml +++ b/tests/components/voice_assistant/common-idf.yaml @@ -18,6 +18,7 @@ i2s_audio: micro_wake_word: id: mww_id + microphone: mic_id_external on_wake_word_detected: - voice_assistant.start: wake_word: !lambda return wake_word; diff --git a/tests/components/voice_assistant/test.esp32-idf.yaml b/tests/components/voice_assistant/test.esp32-idf.yaml index 0fe5d347be..1c5c9ddf99 100644 --- a/tests/components/voice_assistant/test.esp32-idf.yaml +++ b/tests/components/voice_assistant/test.esp32-idf.yaml @@ -1,6 +1,6 @@ substitutions: - i2s_lrclk_pin: GPIO16 - i2s_bclk_pin: GPIO17 + i2s_lrclk_pin: GPIO4 + i2s_bclk_pin: GPIO5 i2s_mclk_pin: GPIO15 i2s_din_pin: GPIO13 i2s_dout_pin: GPIO12 diff --git a/tests/components/wake_on_lan/test.esp32-c3-idf.yaml b/tests/components/wake_on_lan/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/wake_on_lan/test.esp32-c3-idf.yaml +++ b/tests/components/wake_on_lan/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp32-idf.yaml b/tests/components/wake_on_lan/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/wake_on_lan/test.esp32-idf.yaml +++ b/tests/components/wake_on_lan/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.esp8266-ard.yaml b/tests/components/wake_on_lan/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/wake_on_lan/test.esp8266-ard.yaml +++ b/tests/components/wake_on_lan/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wake_on_lan/test.rp2040-ard.yaml b/tests/components/wake_on_lan/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/wake_on_lan/test.rp2040-ard.yaml +++ b/tests/components/wake_on_lan/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/common.yaml b/tests/components/waveshare_epaper/common.yaml index a2aa3134b5..b80a352c1f 100644 --- a/tests/components/waveshare_epaper/common.yaml +++ b/tests/components/waveshare_epaper/common.yaml @@ -1,14 +1,8 @@ -spi: - - id: spi_waveshare_epaper - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - display: # 1.54 inch displays - platform: waveshare_epaper id: epd_1_54 model: 1.54in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -28,7 +22,6 @@ display: - platform: waveshare_epaper id: epd_1_54v2 model: 1.54inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -48,7 +41,6 @@ display: - platform: waveshare_epaper id: epd_1_54v2b model: 1.54inv2-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -67,7 +59,6 @@ display: - platform: waveshare_epaper id: epd_1_54m09 model: 1.54in-m5coreink-m09 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -87,7 +78,6 @@ display: - platform: waveshare_epaper id: epd_2_13 model: 2.13in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -107,7 +97,6 @@ display: - platform: waveshare_epaper id: epd_2_13v2 model: 2.13inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -127,7 +116,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo model: 2.13in-ttgo - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -147,7 +135,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo_b1 model: 2.13in-ttgo-b1 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -167,7 +154,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo_b73 model: 2.13in-ttgo-b73 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -187,7 +173,6 @@ display: - platform: waveshare_epaper id: epd_2_13ttgo_b74 model: 2.13in-ttgo-b74 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -207,7 +192,6 @@ display: - platform: waveshare_epaper id: epd_2_13dke model: 2.13in-ttgo-dke - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -227,7 +211,6 @@ display: - platform: waveshare_epaper id: epd_2_13v3 model: 2.13inv3 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -248,7 +231,6 @@ display: - platform: waveshare_epaper id: epd_2_70 model: 2.70in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -267,7 +249,6 @@ display: - platform: waveshare_epaper id: epd_2_70b model: 2.70in-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -286,7 +267,6 @@ display: - platform: waveshare_epaper id: epd_2_70bv2 model: 2.70in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -305,7 +285,6 @@ display: - platform: waveshare_epaper id: epd_2_70v2 model: 2.70inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -325,7 +304,6 @@ display: - platform: waveshare_epaper id: epd_2_90 model: 2.90in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -346,7 +324,6 @@ display: - platform: waveshare_epaper id: epd_2_90v2 model: 2.90inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -367,7 +344,6 @@ display: - platform: waveshare_epaper id: epd_2_90b model: 2.90in-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -386,7 +362,6 @@ display: - platform: waveshare_epaper id: epd_2_90bv3 model: 2.90in-bv3 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -405,7 +380,6 @@ display: - platform: waveshare_epaper id: epd_2_90v2r2 model: 2.90inv2-r2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -425,7 +399,6 @@ display: - platform: waveshare_epaper id: epd_2_90dke model: 2.90in-dke - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -446,7 +419,6 @@ display: - platform: waveshare_epaper id: epd_gdew029t5 model: gdew029t5 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -466,7 +438,6 @@ display: - platform: waveshare_epaper id: epd_gdew042t81 model: gdey042t81 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -487,7 +458,6 @@ display: - platform: waveshare_epaper id: epd_4_20 model: 4.20in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -506,7 +476,6 @@ display: - platform: waveshare_epaper id: epd_4_20bv2 model: 4.20in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -525,7 +494,6 @@ display: - platform: waveshare_epaper id: epd_4_20in_bv2_bwr model: 4.20in-bv2-bwr - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -545,7 +513,6 @@ display: - platform: waveshare_epaper id: epd_5_65 model: 5.65in-f - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -565,7 +532,6 @@ display: - platform: waveshare_epaper id: epd_5_83 model: 5.83in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -584,7 +550,6 @@ display: - platform: waveshare_epaper id: epd_5_83v2 model: 5.83inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -604,7 +569,6 @@ display: - platform: waveshare_epaper id: epd_7_50 model: 7.50in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -623,7 +587,6 @@ display: - platform: waveshare_epaper id: epd_7_50bv2 model: 7.50in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -642,7 +605,6 @@ display: - platform: waveshare_epaper id: epd_7_50bv3 model: 7.50in-bv3 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -661,7 +623,6 @@ display: - platform: waveshare_epaper id: epd_7_50bv3_bwr model: 7.50in-bv3-bwr - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -680,7 +641,6 @@ display: - platform: waveshare_epaper id: epd_7_50bc model: 7.50in-bc - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -699,7 +659,6 @@ display: - platform: waveshare_epaper id: epd_7_50v2 model: 7.50inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -718,7 +677,6 @@ display: - platform: waveshare_epaper id: epd_7_50v2alt model: 7.50inv2alt - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -737,7 +695,6 @@ display: - platform: waveshare_epaper id: epd_7_50inv2p model: 7.50inv2p - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -757,7 +714,6 @@ display: - platform: waveshare_epaper id: epd_7_50hdb model: 7.50in-hd-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -777,7 +733,6 @@ display: - platform: waveshare_epaper id: epd_13_3k model: 13.3in-k - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -795,7 +750,6 @@ display: - platform: waveshare_epaper model: 2.90in-d - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -814,7 +768,6 @@ display: - platform: waveshare_epaper model: 2.90in - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -834,7 +787,6 @@ display: - platform: waveshare_epaper model: 2.90inv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -853,7 +805,6 @@ display: - platform: waveshare_epaper model: 2.70in-b - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} @@ -871,7 +822,6 @@ display: - platform: waveshare_epaper model: 2.70in-bv2 - spi_id: spi_waveshare_epaper cs_pin: allow_other_uses: true number: ${cs_pin} diff --git a/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml b/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml index 4cb230f6f2..bdd7e1d350 100644 --- a/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml +++ b/tests/components/waveshare_epaper/test.esp32-c3-idf.yaml @@ -1,9 +1,9 @@ substitutions: - clk_pin: GPIO6 - mosi_pin: GPIO7 - cs_pin: GPIO4 + cs_pin: GPIO7 dc_pin: GPIO1 busy_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp32-idf.yaml b/tests/components/waveshare_epaper/test.esp32-idf.yaml index 9e8b2fdec8..b7b12c8c66 100644 --- a/tests/components/waveshare_epaper/test.esp32-idf.yaml +++ b/tests/components/waveshare_epaper/test.esp32-idf.yaml @@ -1,9 +1,10 @@ substitutions: - clk_pin: GPIO16 - mosi_pin: GPIO17 cs_pin: GPIO4 dc_pin: GPIO5 - busy_pin: GPIO18 - reset_pin: GPIO19 + busy_pin: GPIO14 + reset_pin: GPIO15 + +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.esp8266-ard.yaml b/tests/components/waveshare_epaper/test.esp8266-ard.yaml index ee8199bcc0..92452c840a 100644 --- a/tests/components/waveshare_epaper/test.esp8266-ard.yaml +++ b/tests/components/waveshare_epaper/test.esp8266-ard.yaml @@ -1,9 +1,12 @@ substitutions: - clk_pin: GPIO14 - mosi_pin: GPIO13 + clk_pin: GPIO0 + mosi_pin: GPIO2 cs_pin: GPIO4 dc_pin: GPIO5 busy_pin: GPIO15 reset_pin: GPIO16 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/waveshare_epaper/test.rp2040-ard.yaml b/tests/components/waveshare_epaper/test.rp2040-ard.yaml index e92f6d421d..e9e001cdd4 100644 --- a/tests/components/waveshare_epaper/test.rp2040-ard.yaml +++ b/tests/components/waveshare_epaper/test.rp2040-ard.yaml @@ -6,4 +6,7 @@ substitutions: busy_pin: GPIO7 reset_pin: GPIO8 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/web_server/test_ota.esp32-idf.yaml b/tests/components/web_server/test_ota.esp32-idf.yaml index 99873aa27b..98b080386b 100644 --- a/tests/components/web_server/test_ota.esp32-idf.yaml +++ b/tests/components/web_server/test_ota.esp32-idf.yaml @@ -12,8 +12,10 @@ packages: # Enable OTA for multipart upload testing ota: - platform: esphome + id: web_server_esphome_ota password: "test_ota_password" - platform: web_server + id: web_server_web_server_ota # Web server configuration web_server: diff --git a/tests/components/wifi_info/test.esp32-c3-idf.yaml b/tests/components/wifi_info/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/wifi_info/test.esp32-c3-idf.yaml +++ b/tests/components/wifi_info/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp32-idf.yaml b/tests/components/wifi_info/test.esp32-idf.yaml index dade44d145..b47e39c389 100644 --- a/tests/components/wifi_info/test.esp32-idf.yaml +++ b/tests/components/wifi_info/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wifi_info/test.esp8266-ard.yaml b/tests/components/wifi_info/test.esp8266-ard.yaml index dade44d145..4a98b9388a 100644 --- a/tests/components/wifi_info/test.esp8266-ard.yaml +++ b/tests/components/wifi_info/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wifi_info/test.rp2040-ard.yaml b/tests/components/wifi_info/test.rp2040-ard.yaml index dade44d145..319a7c71a6 100644 --- a/tests/components/wifi_info/test.rp2040-ard.yaml +++ b/tests/components/wifi_info/test.rp2040-ard.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wireguard/test.esp32-c3-idf.yaml b/tests/components/wireguard/test.esp32-c3-idf.yaml index dade44d145..9990d96d29 100644 --- a/tests/components/wireguard/test.esp32-c3-idf.yaml +++ b/tests/components/wireguard/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wireguard/test.esp32-idf.yaml b/tests/components/wireguard/test.esp32-idf.yaml index 2798f8e566..90dbc1cf7d 100644 --- a/tests/components/wireguard/test.esp32-idf.yaml +++ b/tests/components/wireguard/test.esp32-idf.yaml @@ -1,3 +1,6 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + <<: !include common.yaml network: diff --git a/tests/components/wireguard/test.esp8266-ard.yaml b/tests/components/wireguard/test.esp8266-ard.yaml index 2798f8e566..ae6a3d6ce0 100644 --- a/tests/components/wireguard/test.esp8266-ard.yaml +++ b/tests/components/wireguard/test.esp8266-ard.yaml @@ -1,3 +1,6 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + <<: !include common.yaml network: diff --git a/tests/components/wk2132_i2c/common.yaml b/tests/components/wk2132_i2c/common.yaml index 942e01aafc..39013baeb2 100644 --- a/tests/components/wk2132_i2c/common.yaml +++ b/tests/components/wk2132_i2c/common.yaml @@ -1,14 +1,7 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - wk2132_i2c: - id: wk2132_i2c_id - address: 0x70 i2c_id: i2c_bus + address: 0x70 uart: - id: wk2132_id_0 channel: 0 diff --git a/tests/components/wk2132_i2c/test.esp32-idf.yaml b/tests/components/wk2132_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2132_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2132_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2132_spi/common.yaml b/tests/components/wk2132_spi/common.yaml index a077b36998..a762c10c92 100644 --- a/tests/components/wk2132_spi/common.yaml +++ b/tests/components/wk2132_spi/common.yaml @@ -1,13 +1,6 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2132_spi: - id: wk2132_spi_id cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: diff --git a/tests/components/wk2132_spi/test.esp32-idf.yaml b/tests/components/wk2132_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2132_spi/test.esp32-idf.yaml +++ b/tests/components/wk2132_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-s3-idf.yaml b/tests/components/wk2132_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2132_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2132_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2168_i2c/common.yaml b/tests/components/wk2168_i2c/common.yaml index 10463e8abf..49f0d1ec6b 100644 --- a/tests/components/wk2168_i2c/common.yaml +++ b/tests/components/wk2168_i2c/common.yaml @@ -1,35 +1,28 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - # component declaration wk2168_i2c: - - id: bridge_i2c + - id: wk2168_i2c_bridge i2c_id: i2c_bus address: 0x70 uart: - - id: id0 + - id: wk2168_i2c_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: id1 + - id: wk2168_i2c_uart1 channel: 1 baud_rate: 115200 - - id: id2 + - id: wk2168_i2c_uart2 channel: 2 baud_rate: 115200 - - id: id3 + - id: wk2168_i2c_uart3 channel: 3 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: id3 + uart_id: wk2168_i2c_uart3 id: distance_sensor # individual binary_sensor inputs @@ -37,14 +30,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 1 mode: input: true @@ -55,14 +48,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2168_i2c: bridge_i2c + wk2168_i2c: wk2168_i2c_bridge number: 3 mode: output: true diff --git a/tests/components/wk2168_i2c/test.esp32-idf.yaml b/tests/components/wk2168_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2168_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2168_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2168_spi/common.yaml b/tests/components/wk2168_spi/common.yaml index fb126193fc..b402077aa3 100644 --- a/tests/components/wk2168_spi/common.yaml +++ b/tests/components/wk2168_spi/common.yaml @@ -1,35 +1,28 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2168_spi: - - id: bridge_spi + - id: wk2168_spi_bridge cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: - - id: id0 + - id: wk2168_spi_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: id1 + - id: wk2168_spi_uart1 channel: 1 baud_rate: 115200 - - id: id2 + - id: wk2168_spi_uart2 channel: 2 baud_rate: 115200 - - id: id3 + - id: wk2168_spi_uart3 channel: 3 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: id3 + uart_id: wk2168_spi_uart3 id: distance_sensor # individual binary_sensor inputs @@ -37,14 +30,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 1 mode: input: true @@ -55,14 +48,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2168_spi: bridge_spi + wk2168_spi: wk2168_spi_bridge number: 3 mode: output: true diff --git a/tests/components/wk2168_spi/test.esp32-idf.yaml b/tests/components/wk2168_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2168_spi/test.esp32-idf.yaml +++ b/tests/components/wk2168_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-s3-idf.yaml b/tests/components/wk2168_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2168_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2168_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2204_i2c/common.yaml b/tests/components/wk2204_i2c/common.yaml index 70c0f4babf..863633937b 100644 --- a/tests/components/wk2204_i2c/common.yaml +++ b/tests/components/wk2204_i2c/common.yaml @@ -1,10 +1,3 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - wk2204_i2c: - id: wk2204_i2c_id i2c_id: i2c_bus diff --git a/tests/components/wk2204_i2c/test.esp32-idf.yaml b/tests/components/wk2204_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2204_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2204_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2204_spi/common.yaml b/tests/components/wk2204_spi/common.yaml index a08cdb906f..939c54cc40 100644 --- a/tests/components/wk2204_spi/common.yaml +++ b/tests/components/wk2204_spi/common.yaml @@ -1,13 +1,6 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2204_spi: - id: wk2204_spi_id cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: diff --git a/tests/components/wk2204_spi/test.esp32-idf.yaml b/tests/components/wk2204_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2204_spi/test.esp32-idf.yaml +++ b/tests/components/wk2204_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-s3-idf.yaml b/tests/components/wk2204_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2204_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2204_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2212_i2c/common.yaml b/tests/components/wk2212_i2c/common.yaml index 0759ef8688..a754bec5c7 100644 --- a/tests/components/wk2212_i2c/common.yaml +++ b/tests/components/wk2212_i2c/common.yaml @@ -1,13 +1,6 @@ -i2c: - id: i2c_bus - scl: ${scl_pin} - sda: ${sda_pin} - scan: true - frequency: 600kHz - # component declaration wk2212_i2c: - - id: bridge_i2c + - id: wk2212_i2c_bridge i2c_id: i2c_bus address: 0x70 uart: @@ -33,14 +26,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 1 mode: input: true @@ -51,14 +44,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2212_i2c: bridge_i2c + wk2212_i2c: wk2212_i2c_bridge number: 3 mode: output: true diff --git a/tests/components/wk2212_i2c/test.esp32-idf.yaml b/tests/components/wk2212_i2c/test.esp32-idf.yaml index 3b761d3fc1..b47e39c389 100644 --- a/tests/components/wk2212_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2212_i2c/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO22 - sda_pin: GPIO21 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml index 4942e3c2b3..e9d826aa7c 100644 --- a/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml @@ -2,4 +2,7 @@ substitutions: scl_pin: GPIO40 sda_pin: GPIO41 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2212_spi/common.yaml b/tests/components/wk2212_spi/common.yaml index 693d2a9ab2..969f16bb12 100644 --- a/tests/components/wk2212_spi/common.yaml +++ b/tests/components/wk2212_spi/common.yaml @@ -1,29 +1,22 @@ -spi: - id: spi_bus - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - wk2212_spi: - - id: bridge_spi + - id: wk2212_spi_bridge cs_pin: ${cs_pin} - spi_id: spi_bus crystal: 11059200 data_rate: 1MHz uart: - - id: id0 + - id: wk2212_spi_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: id1 + - id: wk2212_spi_uart1 channel: 1 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: id1 + uart_id: wk2212_spi_uart1 id: distance_sensor # individual binary_sensor inputs @@ -31,14 +24,14 @@ binary_sensor: - platform: gpio name: "pin_0" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 0 mode: input: true - platform: gpio name: "pin_1" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 1 mode: input: true @@ -49,14 +42,14 @@ switch: - platform: gpio name: "pin_2" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 2 mode: output: true - platform: gpio name: "pin_3" pin: - wk2212_spi: bridge_spi + wk2212_spi: wk2212_spi_bridge number: 3 mode: output: true diff --git a/tests/components/wk2212_spi/test.esp32-idf.yaml b/tests/components/wk2212_spi/test.esp32-idf.yaml index 76e7138ab0..a3352cf880 100644 --- a/tests/components/wk2212_spi/test.esp32-idf.yaml +++ b/tests/components/wk2212_spi/test.esp32-idf.yaml @@ -1,7 +1,7 @@ substitutions: - clk_pin: GPIO18 - miso_pin: GPIO19 - mosi_pin: GPIO23 cs_pin: GPIO5 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-s3-idf.yaml b/tests/components/wk2212_spi/test.esp32-s3-idf.yaml index b0aadf620a..6a60c90fb2 100644 --- a/tests/components/wk2212_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2212_spi/test.esp32-s3-idf.yaml @@ -4,4 +4,7 @@ substitutions: mosi_pin: GPIO6 cs_pin: GPIO19 +packages: + spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/wl_134/common.yaml b/tests/components/wl_134/common.yaml index 71c50be79b..e79331cb52 100644 --- a/tests/components/wl_134/common.yaml +++ b/tests/components/wl_134/common.yaml @@ -1,9 +1,3 @@ -uart: - - id: uart_wl_134 - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 9600 - text_sensor: - platform: wl_134 name: Transponder Code diff --git a/tests/components/wl_134/test.esp32-c3-idf.yaml b/tests/components/wl_134/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/wl_134/test.esp32-c3-idf.yaml +++ b/tests/components/wl_134/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wl_134/test.esp32-idf.yaml b/tests/components/wl_134/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/wl_134/test.esp32-idf.yaml +++ b/tests/components/wl_134/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wl_134/test.esp8266-ard.yaml b/tests/components/wl_134/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/wl_134/test.esp8266-ard.yaml +++ b/tests/components/wl_134/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/wl_134/test.rp2040-ard.yaml b/tests/components/wl_134/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/wl_134/test.rp2040-ard.yaml +++ b/tests/components/wl_134/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wts01/common.yaml b/tests/components/wts01/common.yaml index c26cc3e475..966588c82a 100644 --- a/tests/components/wts01/common.yaml +++ b/tests/components/wts01/common.yaml @@ -1,7 +1,3 @@ -uart: - rx_pin: ${rx_pin} - baud_rate: 9600 - sensor: - platform: wts01 id: wts01_sensor diff --git a/tests/components/wts01/test.esp32-c3-idf.yaml b/tests/components/wts01/test.esp32-c3-idf.yaml index 00cec5b3b8..4b7c8351a7 100644 --- a/tests/components/wts01/test.esp32-c3-idf.yaml +++ b/tests/components/wts01/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO6 - rx_pin: GPIO7 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wts01/test.esp32-idf.yaml b/tests/components/wts01/test.esp32-idf.yaml index 4904e1f54f..b415125e84 100644 --- a/tests/components/wts01/test.esp32-idf.yaml +++ b/tests/components/wts01/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO16 - rx_pin: GPIO17 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wts01/test.esp8266-ard.yaml b/tests/components/wts01/test.esp8266-ard.yaml index 3b44f9c9c3..89ca3ab5ae 100644 --- a/tests/components/wts01/test.esp8266-ard.yaml +++ b/tests/components/wts01/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO1 rx_pin: GPIO3 +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/wts01/test.rp2040-ard.yaml b/tests/components/wts01/test.rp2040-ard.yaml index 16b2a4b006..9246c39f08 100644 --- a/tests/components/wts01/test.rp2040-ard.yaml +++ b/tests/components/wts01/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO0 rx_pin: GPIO1 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/x9c/test.esp32-idf.yaml b/tests/components/x9c/test.esp32-idf.yaml index 6dfe3a67eb..7beb6e67cb 100644 --- a/tests/components/x9c/test.esp32-idf.yaml +++ b/tests/components/x9c/test.esp32-idf.yaml @@ -3,4 +3,7 @@ substitutions: inc_pin: GPIO14 ud_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/x9c/test.esp8266-ard.yaml b/tests/components/x9c/test.esp8266-ard.yaml index 6dfe3a67eb..ae6b775ff7 100644 --- a/tests/components/x9c/test.esp8266-ard.yaml +++ b/tests/components/x9c/test.esp8266-ard.yaml @@ -1,6 +1,9 @@ substitutions: - cs_pin: GPIO13 - inc_pin: GPIO14 + cs_pin: GPIO0 + inc_pin: GPIO2 ud_pin: GPIO15 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/x9c/test.rp2040-ard.yaml b/tests/components/x9c/test.rp2040-ard.yaml index b06e15a98c..f17627baf3 100644 --- a/tests/components/x9c/test.rp2040-ard.yaml +++ b/tests/components/x9c/test.rp2040-ard.yaml @@ -1,6 +1,9 @@ substitutions: - cs_pin: GPIO3 - inc_pin: GPIO4 - ud_pin: GPIO5 + cs_pin: GPIO6 + inc_pin: GPIO7 + ud_pin: GPIO8 + +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/common.yaml b/tests/components/xgzp68xx/common.yaml index 224dd9ed14..f76b1de508 100644 --- a/tests/components/xgzp68xx/common.yaml +++ b/tests/components/xgzp68xx/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_xgzp68xx - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: xgzp68xx + i2c_id: i2c_bus k_value: 4096 temperature: name: Pressure Temperature diff --git a/tests/components/xgzp68xx/test.esp32-c3-idf.yaml b/tests/components/xgzp68xx/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/xgzp68xx/test.esp32-c3-idf.yaml +++ b/tests/components/xgzp68xx/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp32-idf.yaml b/tests/components/xgzp68xx/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/xgzp68xx/test.esp32-idf.yaml +++ b/tests/components/xgzp68xx/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.esp8266-ard.yaml b/tests/components/xgzp68xx/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/xgzp68xx/test.esp8266-ard.yaml +++ b/tests/components/xgzp68xx/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/xgzp68xx/test.rp2040-ard.yaml b/tests/components/xgzp68xx/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/xgzp68xx/test.rp2040-ard.yaml +++ b/tests/components/xgzp68xx/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml b/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_ble/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_ble/test.esp32-idf.yaml b/tests/components/xiaomi_ble/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_ble/test.esp32-idf.yaml +++ b/tests/components/xiaomi_ble/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgd1/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgd1/test.esp32-idf.yaml b/tests/components/xiaomi_cgd1/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgd1/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgd1/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgdk2/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml b/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgdk2/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgg1/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgg1/test.esp32-idf.yaml b/tests/components/xiaomi_cgg1/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgg1/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgg1/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml b/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_cgpr1/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml b/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml +++ b/tests/components/xiaomi_cgpr1/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml b/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_gcls002/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_gcls002/test.esp32-idf.yaml b/tests/components/xiaomi_gcls002/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_gcls002/test.esp32-idf.yaml +++ b/tests/components/xiaomi_gcls002/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_hhccjcy01/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml b/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml +++ b/tests/components/xiaomi_hhccjcy01/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_hhccpot002/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml b/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml +++ b/tests/components/xiaomi_hhccpot002/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_jqjcy01ym/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml b/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml +++ b/tests/components/xiaomi_jqjcy01ym/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsd02/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml b/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsd02/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsd02mmc/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml b/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsd02mmc/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsd03mmc/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml b/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsd03mmc/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_lywsdcgq/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml b/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml +++ b/tests/components/xiaomi_lywsdcgq/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mhoc303/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml b/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mhoc303/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mhoc401/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml b/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mhoc401/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/common.yaml b/tests/components/xiaomi_miscale copy/common.yaml deleted file mode 100644 index 89f32ad199..0000000000 --- a/tests/components/xiaomi_miscale copy/common.yaml +++ /dev/null @@ -1,9 +0,0 @@ -esp32_ble_tracker: - -sensor: - - platform: xiaomi_miscale - mac_address: '5C:CA:D3:70:D4:A2' - weight: - name: "Xiaomi Mi Scale Weight" - impedance: - name: "Xiaomi Mi Scale Impedance" diff --git a/tests/components/xiaomi_miscale copy/test.esp32-ard.yaml b/tests/components/xiaomi_miscale copy/test.esp32-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml b/tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-c3-ard.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml b/tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-c3-idf.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale copy/test.esp32-idf.yaml b/tests/components/xiaomi_miscale copy/test.esp32-idf.yaml deleted file mode 100644 index dade44d145..0000000000 --- a/tests/components/xiaomi_miscale copy/test.esp32-idf.yaml +++ /dev/null @@ -1 +0,0 @@ -<<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml b/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_miscale/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_miscale/test.esp32-idf.yaml b/tests/components/xiaomi_miscale/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_miscale/test.esp32-idf.yaml +++ b/tests/components/xiaomi_miscale/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mjyd02yla/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml b/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mjyd02yla/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_mue4094rt/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml b/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml +++ b/tests/components/xiaomi_mue4094rt/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_rtcgq02lm/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml b/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml +++ b/tests/components/xiaomi_rtcgq02lm/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml b/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_wx08zm/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml b/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml +++ b/tests/components/xiaomi_wx08zm/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml index dade44d145..9f2634f967 100644 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml +++ b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml index dade44d145..7a6541ae76 100644 --- a/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml +++ b/tests/components/xiaomi_xmwsdj04mmc/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xl9535/common.yaml b/tests/components/xl9535/common.yaml index e01163cf12..81e96131ab 100644 --- a/tests/components/xl9535/common.yaml +++ b/tests/components/xl9535/common.yaml @@ -1,10 +1,6 @@ -i2c: - - id: i2c_xl9535 - scl: ${scl_pin} - sda: ${sda_pin} - xl9535: - id: xl9535_hub + i2c_id: i2c_bus address: 0x20 binary_sensor: diff --git a/tests/components/xl9535/test.esp32-c3-idf.yaml b/tests/components/xl9535/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/xl9535/test.esp32-c3-idf.yaml +++ b/tests/components/xl9535/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/xl9535/test.esp32-idf.yaml b/tests/components/xl9535/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/xl9535/test.esp32-idf.yaml +++ b/tests/components/xl9535/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/xl9535/test.esp8266-ard.yaml b/tests/components/xl9535/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/xl9535/test.esp8266-ard.yaml +++ b/tests/components/xl9535/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/xl9535/test.rp2040-ard.yaml b/tests/components/xl9535/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/xl9535/test.rp2040-ard.yaml +++ b/tests/components/xl9535/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/xpt2046/common.yaml b/tests/components/xpt2046/common.yaml index 9ef680cff4..3a8e3286a6 100644 --- a/tests/components/xpt2046/common.yaml +++ b/tests/components/xpt2046/common.yaml @@ -1,9 +1,3 @@ -spi: - - id: spi_xpt2046 - clk_pin: ${clk_pin} - mosi_pin: ${mosi_pin} - miso_pin: ${miso_pin} - display: - platform: ili9xxx id: xpt_display diff --git a/tests/components/xpt2046/test.esp32-c3-idf.yaml b/tests/components/xpt2046/test.esp32-c3-idf.yaml index 79b84902ac..ff7a32c26c 100644 --- a/tests/components/xpt2046/test.esp32-c3-idf.yaml +++ b/tests/components/xpt2046/test.esp32-c3-idf.yaml @@ -1,11 +1,10 @@ substitutions: - clk_pin: GPIO4 - mosi_pin: GPIO5 - miso_pin: GPIO6 dc_pin: GPIO7 cs_pin: GPIO0 disp_cs_pin: GPIO1 interrupt_pin: GPIO3 reset_pin: GPIO10 +packages: + spi: !include ../../test_build_components/common/spi/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp32-idf.yaml b/tests/components/xpt2046/test.esp32-idf.yaml index b39174947b..608e135d74 100644 --- a/tests/components/xpt2046/test.esp32-idf.yaml +++ b/tests/components/xpt2046/test.esp32-idf.yaml @@ -1,11 +1,11 @@ substitutions: - clk_pin: GPIO17 - mosi_pin: GPIO18 - miso_pin: GPIO19 dc_pin: GPIO13 cs_pin: GPIO14 disp_cs_pin: GPIO4 interrupt_pin: GPIO21 reset_pin: GPIO22 +packages: + spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/xpt2046/test.esp8266-ard.yaml b/tests/components/xpt2046/test.esp8266-ard.yaml index 246c5c8953..e2779a03b9 100644 --- a/tests/components/xpt2046/test.esp8266-ard.yaml +++ b/tests/components/xpt2046/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO14 + clk_pin: GPIO0 mosi_pin: GPIO13 miso_pin: GPIO12 dc_pin: GPIO15 @@ -8,4 +8,7 @@ substitutions: interrupt_pin: GPIO5 reset_pin: GPIO2 +packages: + spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/xpt2046/test.rp2040-ard.yaml b/tests/components/xpt2046/test.rp2040-ard.yaml index e693b363d9..c547bdc0c9 100644 --- a/tests/components/xpt2046/test.rp2040-ard.yaml +++ b/tests/components/xpt2046/test.rp2040-ard.yaml @@ -8,4 +8,7 @@ substitutions: interrupt_pin: GPIO2 reset_pin: GPIO3 +packages: + spi: !include ../../test_build_components/common/spi/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/common.yaml b/tests/components/zio_ultrasonic/common.yaml index e13853d8f1..34a3144db9 100644 --- a/tests/components/zio_ultrasonic/common.yaml +++ b/tests/components/zio_ultrasonic/common.yaml @@ -1,9 +1,5 @@ -i2c: - - id: i2c_zio_ultrasonic - scl: ${scl_pin} - sda: ${sda_pin} - sensor: - platform: zio_ultrasonic + i2c_id: i2c_bus name: "Distance" update_interval: 60s diff --git a/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml b/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml index ee2c29ca4e..9990d96d29 100644 --- a/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml +++ b/tests/components/zio_ultrasonic/test.esp32-c3-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp32-idf.yaml b/tests/components/zio_ultrasonic/test.esp32-idf.yaml index 63c3bd6afd..b47e39c389 100644 --- a/tests/components/zio_ultrasonic/test.esp32-idf.yaml +++ b/tests/components/zio_ultrasonic/test.esp32-idf.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO16 - sda_pin: GPIO17 +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.esp8266-ard.yaml b/tests/components/zio_ultrasonic/test.esp8266-ard.yaml index ee2c29ca4e..4a98b9388a 100644 --- a/tests/components/zio_ultrasonic/test.esp8266-ard.yaml +++ b/tests/components/zio_ultrasonic/test.esp8266-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/zio_ultrasonic/test.rp2040-ard.yaml b/tests/components/zio_ultrasonic/test.rp2040-ard.yaml index ee2c29ca4e..319a7c71a6 100644 --- a/tests/components/zio_ultrasonic/test.rp2040-ard.yaml +++ b/tests/components/zio_ultrasonic/test.rp2040-ard.yaml @@ -1,5 +1,4 @@ -substitutions: - scl_pin: GPIO5 - sda_pin: GPIO4 +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/common.yaml b/tests/components/zwave_proxy/common.yaml index 08092ebe55..097e4b43a5 100644 --- a/tests/components/zwave_proxy/common.yaml +++ b/tests/components/zwave_proxy/common.yaml @@ -3,12 +3,6 @@ wifi: password: password1 power_save_mode: none -uart: - - id: uart_zwave_proxy - tx_pin: ${tx_pin} - rx_pin: ${rx_pin} - baud_rate: 115200 - api: zwave_proxy: diff --git a/tests/components/zwave_proxy/test.esp32-c3-idf.yaml b/tests/components/zwave_proxy/test.esp32-c3-idf.yaml index b516342f3b..4b7c8351a7 100644 --- a/tests/components/zwave_proxy/test.esp32-c3-idf.yaml +++ b/tests/components/zwave_proxy/test.esp32-c3-idf.yaml @@ -1,5 +1,5 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp32-idf.yaml b/tests/components/zwave_proxy/test.esp32-idf.yaml index f486544afa..b415125e84 100644 --- a/tests/components/zwave_proxy/test.esp32-idf.yaml +++ b/tests/components/zwave_proxy/test.esp32-idf.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO17 - rx_pin: GPIO16 + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + uart: !include ../../test_build_components/common/uart/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.esp8266-ard.yaml b/tests/components/zwave_proxy/test.esp8266-ard.yaml index b516342f3b..96ab4ef6ac 100644 --- a/tests/components/zwave_proxy/test.esp8266-ard.yaml +++ b/tests/components/zwave_proxy/test.esp8266-ard.yaml @@ -1,5 +1,8 @@ substitutions: - tx_pin: GPIO4 - rx_pin: GPIO5 + tx_pin: GPIO0 + rx_pin: GPIO2 + +packages: + uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/zwave_proxy/test.rp2040-ard.yaml b/tests/components/zwave_proxy/test.rp2040-ard.yaml index b516342f3b..b28f2b5e05 100644 --- a/tests/components/zwave_proxy/test.rp2040-ard.yaml +++ b/tests/components/zwave_proxy/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 +packages: + uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml + <<: !include common.yaml diff --git a/tests/components/zyaura/test.esp32-idf.yaml b/tests/components/zyaura/test.esp32-idf.yaml index d295973e3f..a4ecdb6c49 100644 --- a/tests/components/zyaura/test.esp32-idf.yaml +++ b/tests/components/zyaura/test.esp32-idf.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO16 - data_pin: GPIO17 + clock_pin: GPIO4 + data_pin: GPIO5 <<: !include common.yaml diff --git a/tests/components/zyaura/test.esp8266-ard.yaml b/tests/components/zyaura/test.esp8266-ard.yaml index 7808481215..7c7f1e1a11 100644 --- a/tests/components/zyaura/test.esp8266-ard.yaml +++ b/tests/components/zyaura/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO0 + data_pin: GPIO2 <<: !include common.yaml diff --git a/tests/test_build_components/build_components_base.bk72xx-ard.yaml b/tests/test_build_components/build_components_base.bk72xx-ard.yaml index 9a4e15d5cf..817acc3c39 100644 --- a/tests/test_build_components/build_components_base.bk72xx-ard.yaml +++ b/tests/test_build_components/build_components_base.bk72xx-ard.yaml @@ -3,7 +3,7 @@ esphome: friendly_name: $component_name bk72xx: - board: generic-bk7231n-qfn32-tuya + board: generic-bk7252 logger: level: VERY_VERBOSE diff --git a/tests/test_build_components/common/README.md b/tests/test_build_components/common/README.md new file mode 100644 index 0000000000..76f14b8664 --- /dev/null +++ b/tests/test_build_components/common/README.md @@ -0,0 +1,248 @@ +# Common Bus Configurations for Component Tests + +This directory contains standardized bus configurations (I2C, SPI, UART, Modbus, BLE) that component tests use, enabling multiple components to be tested together with intelligent grouping. + +## Purpose + +These common configs allow multiple components to **share a single bus**, dramatically reducing CI time by compiling multiple compatible components together. Components with identical bus configurations are automatically grouped and tested together. + +## Structure + +``` +common/ +├── i2c/ # Standard I2C (50kHz) +│ ├── esp32-idf.yaml +│ ├── esp32-ard.yaml +│ ├── esp32-c3-idf.yaml +│ ├── esp32-c3-ard.yaml +│ ├── esp32-s2-idf.yaml +│ ├── esp32-s2-ard.yaml +│ ├── esp32-s3-idf.yaml +│ ├── esp32-s3-ard.yaml +│ ├── esp8266-ard.yaml +│ ├── rp2040-ard.yaml +│ └── bk72xx-ard.yaml +├── i2c_low_freq/ # Low frequency I2C (10kHz) +│ └── (same platform variants) +├── spi/ +│ └── (same platform variants) +├── uart/ +│ ├── esp32-idf.yaml +│ ├── esp32-c3-idf.yaml +│ ├── esp8266-ard.yaml +│ └── rp2040-ard.yaml +├── modbus/ # Modbus (includes uart via packages) +│ ├── esp32-idf.yaml +│ ├── esp32-c3-idf.yaml +│ ├── esp8266-ard.yaml +│ └── rp2040-ard.yaml +└── ble/ + ├── esp32-idf.yaml + ├── esp32-ard.yaml + └── esp32-c3-idf.yaml +``` + +## How It Works + +### Component Test Structure +Each component test includes the common bus config: + +```yaml +# tests/components/bh1750/test.esp32-idf.yaml +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +<<: !include common.yaml +``` + +The common config provides: +- Standardized pin assignments +- A shared bus instance (`i2c_bus`, `spi_bus`, `uart_bus`, `modbus_bus`, etc.) + +The component's `common.yaml` references the shared bus: +```yaml +# tests/components/bh1750/common.yaml +sensor: + - platform: bh1750 + i2c_id: i2c_bus + name: Living Room Brightness + address: 0x23 +``` + +### Intelligent Grouping (Implemented) +Components with identical bus configurations are automatically grouped and tested together: + +```yaml +# Auto-generated merged config (created by test_build_components.py) +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +sensor: + - platform: bme280_i2c + i2c_id: i2c_bus + temperature: + name: BME280 Temperature + - platform: bh1750 + i2c_id: i2c_bus + name: BH1750 Illuminance + - platform: sht3xd + i2c_id: i2c_bus + temperature: + name: SHT3xD Temperature +``` + +**Result**: 3 components compile in one test instead of 3 separate tests! + +### Package Dependencies +Some packages include other packages to avoid duplication: + +```yaml +# tests/test_build_components/common/modbus/esp32-idf.yaml +packages: + uart: !include ../uart/esp32-idf.yaml # Modbus requires UART + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} +``` + +Components using `modbus` packages automatically get `uart` as well. + +## Pin Allocations + +### I2C (Standard - 50kHz) +- **ESP32 IDF**: SCL=GPIO16, SDA=GPIO17 +- **ESP32 Arduino**: SCL=GPIO22, SDA=GPIO21 +- **ESP32-C3**: SCL=GPIO5, SDA=GPIO4 +- **ESP32-S2/S3**: SCL=GPIO9, SDA=GPIO8 +- **ESP8266**: SCL=GPIO5, SDA=GPIO4 +- **RP2040**: SCL=GPIO5, SDA=GPIO4 +- **BK72xx**: SCL=P20, SDA=P21 + +### I2C Low Frequency (10kHz) +Same pin allocations as standard I2C, but with 10kHz frequency for components requiring slower speeds. + +### SPI +- **ESP32**: CLK=GPIO18, MOSI=GPIO23, MISO=GPIO19 +- **ESP32-C3**: CLK=GPIO6, MOSI=GPIO7, MISO=GPIO5 +- **ESP32-S2**: CLK=GPIO36, MOSI=GPIO35, MISO=GPIO37 +- **ESP32-S3**: CLK=GPIO40, MOSI=GPIO6, MISO=GPIO41 +- **ESP8266**: CLK=GPIO14, MOSI=GPIO13, MISO=GPIO12 +- **RP2040**: CLK=GPIO18, MOSI=GPIO19, MISO=GPIO16 +- CS pins are component-specific (each SPI device needs unique CS) + +### UART +- **ESP32 IDF**: TX=GPIO17, RX=GPIO16 (baud: 19200) +- **ESP32-C3 IDF**: TX=GPIO7, RX=GPIO6 (baud: 19200) +- **ESP8266**: TX=GPIO1, RX=GPIO3 (baud: 19200) +- **RP2040**: TX=GPIO0, RX=GPIO1 (baud: 19200) + +### Modbus (includes UART) +Same UART pins as above, plus: +- **flow_control_pin**: GPIO4 (all platforms) + +### BLE +- **ESP32**: Shared `esp32_ble_tracker` infrastructure +- Each component defines unique `ble_client` with different MAC addresses + +## Benefits + +1. **Shared bus = less duplication** + - 200+ I2C components use common bus configs + - 60+ SPI components use common bus configs + - 80+ UART components use common bus configs + - 6 Modbus components use common modbus configs (which include UART) + +2. **Intelligent grouping reduces CI time** + - Components with identical bus configs are automatically grouped + - Typical reduction: 80-90% fewer builds + - Example: 3 I2C components → 1 merged build (saves 2 builds) + - CI runs 5 component batches in parallel (configurable via `max-parallel` in `.github/workflows/ci.yml`) + +3. **Easier maintenance** + - Change bus pins for a platform once, affects all component tests + - Consistent pin assignments across all components + - Centralized bus configuration + +## Component Compatibility + +### Groupable Components +Components are automatically grouped when they have: +- Identical bus package references (e.g., all use `i2c/esp32-idf.yaml`) +- No local file references (`$component_dir`) +- No `!extend` or `!remove` directives +- Proper bus ID references (`i2c_id: i2c_bus`, `spi_id: spi_bus`, etc.) + +### Non-Groupable Components +Components tested individually when they: +- Use different bus frequencies (e.g., `i2c` vs `i2c_low_freq`) +- Reference local files with `$component_dir` +- Are platform components (abstract base classes with `IS_PLATFORM_COMPONENT = True`) +- Define buses directly (not migrated to packages yet) +- Are in `ISOLATED_COMPONENTS` list (known build conflicts) + +### Bus Variants +- **i2c** (50kHz): Standard I2C frequency for most sensors +- **i2c_low_freq** (10kHz): For sensors requiring slower I2C speeds +- **modbus**: Includes UART via package dependencies + +### Making Components Groupable + +**WARNING**: Using `!extend` or `!remove` directives in component test files prevents automatic component grouping in CI, making builds slower. + +When platform-specific parameters are needed, inline the full configuration rather than using `!extend` or `!remove`. This allows the component to be grouped with other compatible components, reducing CI build time. + +**Note**: Some components legitimately require `!extend` or `!remove` for platform-specific features (e.g., `adc` removing ESP32-only `attenuation` parameter on ESP8266). These are correctly identified as non-groupable. + +## Testing Components + +### Testing Individual Components +Test specific components using `test_build_components`: +```bash +# Test a single component +./script/test_build_components -c bme280_i2c -t esp32-idf -e config + +# Test multiple components +./script/test_build_components -c bme280_i2c,bh1750,sht3xd -t esp32-idf -e compile +``` + +### Testing All Components Together +To verify that all components can be tested together without ID conflicts or configuration issues: +```bash +./script/test_component_grouping.py -e config --all +``` + +This tests all components in a single build to catch conflicts that might not appear when testing components individually. This is useful for: +- Detecting ID conflicts between components +- Validating that components can coexist in the same configuration +- Ensuring proper `i2c_id`, `spi_id`, `uart_id` specifications + +Use `-e config` for fast configuration validation, or `-e compile` for full compilation testing. + +### Testing Component Groups +Test specific groups of components by bus signature: +```bash +# Test all I2C components together +./script/test_component_grouping.py -s i2c -e config + +# Test with custom group sizes +./script/test_component_grouping.py --min-size 5 --max-size 20 --max-groups 3 +``` + +## Implementation Details + +### Scripts +- `script/analyze_component_buses.py`: Analyzes components to detect bus usage and grouping compatibility +- `script/merge_component_configs.py`: Merges multiple component configs into a single test file +- `script/test_build_components.py`: Main test runner with intelligent grouping +- `script/test_component_grouping.py`: Test component groups or all components together +- `script/split_components_for_ci.py`: Splits components into batches for parallel CI execution + +### Configuration +- `.github/workflows/ci.yml`: CI workflow with `max-parallel: 5` for component testing +- Package dependencies defined in `PACKAGE_DEPENDENCIES` (e.g., modbus → uart) +- Base bus components excluded from migration warnings: `i2c`, `spi`, `uart`, `modbus`, `canbus` diff --git a/tests/test_build_components/common/ble/esp32-ard.yaml b/tests/test_build_components/common/ble/esp32-ard.yaml new file mode 100644 index 0000000000..e1b5aec694 --- /dev/null +++ b/tests/test_build_components/common/ble/esp32-ard.yaml @@ -0,0 +1,9 @@ +# Common BLE tracker configuration for ESP32 Arduino tests +# BLE client components share this tracker infrastructure +# Each component defines its own ble_client with unique MAC address + +esp32_ble_tracker: + scan_parameters: + interval: 1100ms + window: 1100ms + active: true diff --git a/tests/test_build_components/common/ble/esp32-c3-idf.yaml b/tests/test_build_components/common/ble/esp32-c3-idf.yaml new file mode 100644 index 0000000000..6671722f21 --- /dev/null +++ b/tests/test_build_components/common/ble/esp32-c3-idf.yaml @@ -0,0 +1,9 @@ +# Common BLE tracker configuration for ESP32-C3 IDF tests +# BLE client components share this tracker infrastructure +# Each component defines its own ble_client with unique MAC address + +esp32_ble_tracker: + scan_parameters: + interval: 1100ms + window: 1100ms + active: true diff --git a/tests/test_build_components/common/ble/esp32-idf.yaml b/tests/test_build_components/common/ble/esp32-idf.yaml new file mode 100644 index 0000000000..7cdcea71f0 --- /dev/null +++ b/tests/test_build_components/common/ble/esp32-idf.yaml @@ -0,0 +1,9 @@ +# Common BLE tracker configuration for ESP32 IDF tests +# BLE client components share this tracker infrastructure +# Each component defines its own ble_client with unique MAC address + +esp32_ble_tracker: + scan_parameters: + interval: 1100ms + window: 1100ms + active: true diff --git a/tests/test_build_components/common/camera/esp32-idf.yaml b/tests/test_build_components/common/camera/esp32-idf.yaml new file mode 100644 index 0000000000..64f75c699a --- /dev/null +++ b/tests/test_build_components/common/camera/esp32-idf.yaml @@ -0,0 +1,29 @@ +esp32_camera: + name: ESP32 Camera + data_pins: + - number: 17 + - number: 35 + - number: 34 + - number: 5 + - number: 39 + - number: 18 + - number: 36 + - number: 19 + vsync_pin: 22 + href_pin: 26 + pixel_clock_pin: 21 + external_clock: + pin: 27 + frequency: 20MHz + i2c_pins: + sda: 25 + scl: 23 + reset_pin: 15 + power_down_pin: 1 + resolution: 640x480 + jpeg_quality: 10 + frame_buffer_location: PSRAM + on_image: + then: + - lambda: |- + ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]); diff --git a/tests/test_build_components/common/i2c/bk72xx-ard.yaml b/tests/test_build_components/common/i2c/bk72xx-ard.yaml new file mode 100644 index 0000000000..7d00546721 --- /dev/null +++ b/tests/test_build_components/common/i2c/bk72xx-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for BK72XX Arduino tests + +substitutions: + scl_pin: P26 + sda_pin: P24 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-ard.yaml b/tests/test_build_components/common/i2c/esp32-ard.yaml new file mode 100644 index 0000000000..fff09ab85c --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32 Arduino tests + +substitutions: + scl_pin: GPIO22 + sda_pin: GPIO21 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-c3-ard.yaml b/tests/test_build_components/common/i2c/esp32-c3-ard.yaml new file mode 100644 index 0000000000..0216dccbfa --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-C3 Arduino tests + +substitutions: + scl_pin: GPIO8 + sda_pin: GPIO10 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-c3-idf.yaml b/tests/test_build_components/common/i2c/esp32-c3-idf.yaml new file mode 100644 index 0000000000..fd873b6db8 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-C3 IDF tests + +substitutions: + scl_pin: GPIO8 + sda_pin: GPIO10 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-idf.yaml b/tests/test_build_components/common/i2c/esp32-idf.yaml new file mode 100644 index 0000000000..bb2376e7d6 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common I2C configuration for ESP32 IDF tests +# Provides a shared I2C bus that all components can use +# Components will auto-use this bus if they don't specify i2c_id + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-p4-idf.yaml b/tests/test_build_components/common/i2c/esp32-p4-idf.yaml new file mode 100644 index 0000000000..0c7d7e3414 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-p4-idf.yaml @@ -0,0 +1,13 @@ +# Common I2C configuration for ESP32-P4 IDF tests +# Provides a shared I2C bus that all components can use +# Components will auto-use this bus if they don't specify i2c_id + +substitutions: + scl_pin: GPIO8 + sda_pin: GPIO7 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s2-ard.yaml b/tests/test_build_components/common/i2c/esp32-s2-ard.yaml new file mode 100644 index 0000000000..d8201db042 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s2-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S2 Arduino tests + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s2-idf.yaml b/tests/test_build_components/common/i2c/esp32-s2-idf.yaml new file mode 100644 index 0000000000..f23f7e35cc --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s2-idf.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S2 IDF tests + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s3-ard.yaml b/tests/test_build_components/common/i2c/esp32-s3-ard.yaml new file mode 100644 index 0000000000..3499770cb7 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s3-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S3 Arduino tests + +substitutions: + scl_pin: GPIO9 + sda_pin: GPIO8 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp32-s3-idf.yaml b/tests/test_build_components/common/i2c/esp32-s3-idf.yaml new file mode 100644 index 0000000000..9f5b002eb3 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp32-s3-idf.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP32-S3 IDF tests + +substitutions: + scl_pin: GPIO9 + sda_pin: GPIO8 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/esp8266-ard.yaml b/tests/test_build_components/common/i2c/esp8266-ard.yaml new file mode 100644 index 0000000000..6aa28524b2 --- /dev/null +++ b/tests/test_build_components/common/i2c/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for ESP8266 Arduino tests + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c/rp2040-ard.yaml b/tests/test_build_components/common/i2c/rp2040-ard.yaml new file mode 100644 index 0000000000..cb241aef76 --- /dev/null +++ b/tests/test_build_components/common/i2c/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common I2C configuration for RP2040 Arduino tests + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml new file mode 100644 index 0000000000..53d051f174 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP32 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO22 + sda_pin: GPIO21 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml new file mode 100644 index 0000000000..c9856c6b29 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP32-C3 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO6 + sda_pin: GPIO5 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml new file mode 100644 index 0000000000..e9d44b585e --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP32-C3 IDF tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml b/tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml new file mode 100644 index 0000000000..4afe220315 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common I2C configuration for ESP32 IDF tests - Low Frequency (10kHz) +# For components that require I2C frequency <= 15kHz (ags10, ltr501, ltr_als_ps) + +substitutions: + scl_pin: GPIO16 + sda_pin: GPIO17 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml b/tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml new file mode 100644 index 0000000000..281177ebbd --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for ESP8266 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml b/tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml new file mode 100644 index 0000000000..67d893e733 --- /dev/null +++ b/tests/test_build_components/common/i2c_low_freq/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common I2C configuration for RP2040 Arduino tests - Low Frequency (10kHz) + +substitutions: + scl_pin: GPIO5 + sda_pin: GPIO4 + +i2c: + - id: i2c_bus + scl: ${scl_pin} + sda: ${sda_pin} + frequency: 10kHz + scan: true diff --git a/tests/test_build_components/common/modbus/bk72xx-ard.yaml b/tests/test_build_components/common/modbus/bk72xx-ard.yaml new file mode 100644 index 0000000000..c428f0a7be --- /dev/null +++ b/tests/test_build_components/common/modbus/bk72xx-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for BK72XX Arduino tests + +packages: + uart: !include ../uart/bk72xx-ard.yaml + +substitutions: + flow_control_pin: P6 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-ard.yaml b/tests/test_build_components/common/modbus/esp32-ard.yaml new file mode 100644 index 0000000000..f327cf266e --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32 Arduino tests + +packages: + uart: !include ../uart/esp32-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-c3-ard.yaml b/tests/test_build_components/common/modbus/esp32-c3-ard.yaml new file mode 100644 index 0000000000..f12e5518c0 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-C3 Arduino tests + +packages: + uart: !include ../uart/esp32-c3-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-c3-idf.yaml b/tests/test_build_components/common/modbus/esp32-c3-idf.yaml new file mode 100644 index 0000000000..98fc11b0b7 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-C3 IDF tests + +packages: + uart: !include ../uart/esp32-c3-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-idf.yaml b/tests/test_build_components/common/modbus/esp32-idf.yaml new file mode 100644 index 0000000000..c2d777c3d7 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common Modbus configuration for ESP32 IDF tests +# Provides a shared Modbus bus that all components can use + +packages: + uart: !include ../uart/esp32-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s2-ard.yaml b/tests/test_build_components/common/modbus/esp32-s2-ard.yaml new file mode 100644 index 0000000000..a47036f379 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s2-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S2 Arduino tests + +packages: + uart: !include ../uart/esp32-s2-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s2-idf.yaml b/tests/test_build_components/common/modbus/esp32-s2-idf.yaml new file mode 100644 index 0000000000..2cac82aa15 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s2-idf.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S2 IDF tests + +packages: + uart: !include ../uart/esp32-s2-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s3-ard.yaml b/tests/test_build_components/common/modbus/esp32-s3-ard.yaml new file mode 100644 index 0000000000..3031f57159 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s3-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S3 Arduino tests + +packages: + uart: !include ../uart/esp32-s3-ard.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp32-s3-idf.yaml b/tests/test_build_components/common/modbus/esp32-s3-idf.yaml new file mode 100644 index 0000000000..0a0d4dbd07 --- /dev/null +++ b/tests/test_build_components/common/modbus/esp32-s3-idf.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP32-S3 IDF tests + +packages: + uart: !include ../uart/esp32-s3-idf.yaml + +substitutions: + flow_control_pin: GPIO4 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/esp8266-ard.yaml b/tests/test_build_components/common/modbus/esp8266-ard.yaml new file mode 100644 index 0000000000..fce4c6df1d --- /dev/null +++ b/tests/test_build_components/common/modbus/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for ESP8266 Arduino tests + +packages: + uart: !include ../uart/esp8266-ard.yaml + +substitutions: + flow_control_pin: GPIO5 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/modbus/rp2040-ard.yaml b/tests/test_build_components/common/modbus/rp2040-ard.yaml new file mode 100644 index 0000000000..264ad8944f --- /dev/null +++ b/tests/test_build_components/common/modbus/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common Modbus configuration for RP2040 Arduino tests + +packages: + uart: !include ../uart/rp2040-ard.yaml + +substitutions: + flow_control_pin: GPIO2 + +modbus: + - id: modbus_bus + uart_id: uart_bus + flow_control_pin: ${flow_control_pin} diff --git a/tests/test_build_components/common/qspi/esp32-s3-idf.yaml b/tests/test_build_components/common/qspi/esp32-s3-idf.yaml new file mode 100644 index 0000000000..22c98ef664 --- /dev/null +++ b/tests/test_build_components/common/qspi/esp32-s3-idf.yaml @@ -0,0 +1,13 @@ +# Common QSPI configuration for ESP32-S3 IDF tests +# For components that need QuadSPI (qspi_dbi displays) + +spi: + - id: quad_spi + type: quad + interface: spi3 + clk_pin: 47 + data_pins: + - 40 + - 41 + - 42 + - 43 diff --git a/tests/test_build_components/common/spi/bk72xx-ard.yaml b/tests/test_build_components/common/spi/bk72xx-ard.yaml new file mode 100644 index 0000000000..471b147bfa --- /dev/null +++ b/tests/test_build_components/common/spi/bk72xx-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for BK72XX Arduino tests + +substitutions: + clk_pin: P10 + mosi_pin: P11 + miso_pin: P6 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-ard.yaml b/tests/test_build_components/common/spi/esp32-ard.yaml new file mode 100644 index 0000000000..816609688c --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32 Arduino tests + +substitutions: + clk_pin: GPIO18 + mosi_pin: GPIO23 + miso_pin: GPIO19 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-c3-ard.yaml b/tests/test_build_components/common/spi/esp32-c3-ard.yaml new file mode 100644 index 0000000000..da3182f259 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-C3 Arduino tests + +substitutions: + clk_pin: GPIO4 + mosi_pin: GPIO6 + miso_pin: GPIO5 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-c3-idf.yaml b/tests/test_build_components/common/spi/esp32-c3-idf.yaml new file mode 100644 index 0000000000..6a8f76c38c --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-c3-idf.yaml @@ -0,0 +1,15 @@ +# Common SPI configuration for ESP32-C3 IDF tests +# Provides a shared SPI bus that all components can use +# Components will auto-use this bus if they don't specify spi_id +# CS pins are component-specific + +substitutions: + clk_pin: GPIO4 + mosi_pin: GPIO6 + miso_pin: GPIO5 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-idf.yaml b/tests/test_build_components/common/spi/esp32-idf.yaml new file mode 100644 index 0000000000..c2c39a2bc0 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-idf.yaml @@ -0,0 +1,15 @@ +# Common SPI configuration for ESP32 IDF tests +# Provides a shared SPI bus that all components can use +# Components will auto-use this bus if they don't specify spi_id +# CS pins are component-specific + +substitutions: + clk_pin: GPIO18 + mosi_pin: GPIO23 + miso_pin: GPIO19 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s2-ard.yaml b/tests/test_build_components/common/spi/esp32-s2-ard.yaml new file mode 100644 index 0000000000..7c8997ae7f --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s2-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S2 Arduino tests + +substitutions: + clk_pin: GPIO36 + mosi_pin: GPIO35 + miso_pin: GPIO37 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s2-idf.yaml b/tests/test_build_components/common/spi/esp32-s2-idf.yaml new file mode 100644 index 0000000000..afcd83e94e --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s2-idf.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S2 IDF tests + +substitutions: + clk_pin: GPIO36 + mosi_pin: GPIO35 + miso_pin: GPIO37 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s3-ard.yaml b/tests/test_build_components/common/spi/esp32-s3-ard.yaml new file mode 100644 index 0000000000..06d5f65771 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s3-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S3 Arduino tests + +substitutions: + clk_pin: GPIO40 + mosi_pin: GPIO6 + miso_pin: GPIO41 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp32-s3-idf.yaml b/tests/test_build_components/common/spi/esp32-s3-idf.yaml new file mode 100644 index 0000000000..ee47396ec7 --- /dev/null +++ b/tests/test_build_components/common/spi/esp32-s3-idf.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP32-S3 IDF tests + +substitutions: + clk_pin: GPIO40 + mosi_pin: GPIO6 + miso_pin: GPIO41 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/esp8266-ard.yaml b/tests/test_build_components/common/spi/esp8266-ard.yaml new file mode 100644 index 0000000000..4320afebb9 --- /dev/null +++ b/tests/test_build_components/common/spi/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for ESP8266 Arduino tests + +substitutions: + clk_pin: GPIO14 + mosi_pin: GPIO13 + miso_pin: GPIO12 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/spi/rp2040-ard.yaml b/tests/test_build_components/common/spi/rp2040-ard.yaml new file mode 100644 index 0000000000..916a636318 --- /dev/null +++ b/tests/test_build_components/common/spi/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common SPI configuration for RP2040 Arduino tests + +substitutions: + clk_pin: GPIO18 + mosi_pin: GPIO19 + miso_pin: GPIO16 + +spi: + - id: spi_bus + clk_pin: ${clk_pin} + mosi_pin: ${mosi_pin} + miso_pin: ${miso_pin} diff --git a/tests/test_build_components/common/uart/bk72xx-ard.yaml b/tests/test_build_components/common/uart/bk72xx-ard.yaml new file mode 100644 index 0000000000..8d1abca70b --- /dev/null +++ b/tests/test_build_components/common/uart/bk72xx-ard.yaml @@ -0,0 +1,13 @@ +# Common UART configuration for BK72XX Arduino tests +# Provides a shared UART bus that components can use +# Components will auto-use this bus if they don't specify uart_id + +substitutions: + tx_pin: TX1 + rx_pin: RX1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-ard.yaml b/tests/test_build_components/common/uart/esp32-ard.yaml new file mode 100644 index 0000000000..805695def6 --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-c3-ard.yaml b/tests/test_build_components/common/uart/esp32-c3-ard.yaml new file mode 100644 index 0000000000..565b109f9a --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-c3-idf.yaml b/tests/test_build_components/common/uart/esp32-c3-idf.yaml new file mode 100644 index 0000000000..944aa013dd --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-c3-idf.yaml @@ -0,0 +1,13 @@ +# Common UART configuration for ESP32-C3 IDF tests +# Provides a shared UART bus that components can use +# Components will auto-use this bus if they don't specify uart_id + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp32-idf.yaml b/tests/test_build_components/common/uart/esp32-idf.yaml new file mode 100644 index 0000000000..95e5db9fb1 --- /dev/null +++ b/tests/test_build_components/common/uart/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common UART configuration for ESP32 IDF tests +# Provides a shared UART bus that components can use +# Components will auto-use this bus if they don't specify uart_id + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/esp8266-ard.yaml b/tests/test_build_components/common/uart/esp8266-ard.yaml new file mode 100644 index 0000000000..e326f4fc0d --- /dev/null +++ b/tests/test_build_components/common/uart/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests + +substitutions: + tx_pin: GPIO1 + rx_pin: GPIO3 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart/rp2040-ard.yaml b/tests/test_build_components/common/uart/rp2040-ard.yaml new file mode 100644 index 0000000000..cd1e54a13b --- /dev/null +++ b/tests/test_build_components/common/uart/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 diff --git a/tests/test_build_components/common/uart_115200/esp32-ard.yaml b/tests/test_build_components/common/uart_115200/esp32-ard.yaml new file mode 100644 index 0000000000..9102910f31 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml new file mode 100644 index 0000000000..87a969c6a3 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml new file mode 100644 index 0000000000..f3768592e5 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 115200 baud +# For components that require UART baud rate 115200 (bl0906) + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp32-idf.yaml b/tests/test_build_components/common/uart_115200/esp32-idf.yaml new file mode 100644 index 0000000000..e405f74fe7 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 115200 baud +# For components that require UART baud rate 115200 (bl0906) + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/esp8266-ard.yaml b/tests/test_build_components/common/uart_115200/esp8266-ard.yaml new file mode 100644 index 0000000000..2dcf1c4a5d --- /dev/null +++ b/tests/test_build_components/common/uart_115200/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_115200/rp2040-ard.yaml b/tests/test_build_components/common/uart_115200/rp2040-ard.yaml new file mode 100644 index 0000000000..62a7b5aed2 --- /dev/null +++ b/tests/test_build_components/common/uart_115200/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 115200 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 115200 diff --git a/tests/test_build_components/common/uart_1200/esp32-ard.yaml b/tests/test_build_components/common/uart_1200/esp32-ard.yaml new file mode 100644 index 0000000000..0ff5663d1f --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml new file mode 100644 index 0000000000..81cad70d3c --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml new file mode 100644 index 0000000000..8f1dace337 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 IDF tests - 1200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp32-idf.yaml b/tests/test_build_components/common/uart_1200/esp32-idf.yaml new file mode 100644 index 0000000000..38ad1b1459 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 IDF tests - 1200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/esp8266-ard.yaml b/tests/test_build_components/common/uart_1200/esp8266-ard.yaml new file mode 100644 index 0000000000..84907a3a42 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200/rp2040-ard.yaml b/tests/test_build_components/common/uart_1200/rp2040-ard.yaml new file mode 100644 index 0000000000..3a3b322ea8 --- /dev/null +++ b/tests/test_build_components/common/uart_1200/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 1200 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 diff --git a/tests/test_build_components/common/uart_1200_even/esp32-ard.yaml b/tests/test_build_components/common/uart_1200_even/esp32-ard.yaml new file mode 100644 index 0000000000..f5f7f0669f --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml new file mode 100644 index 0000000000..0b1e3ba61b --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml new file mode 100644 index 0000000000..1781babefb --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 1200 baud, EVEN parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp32-idf.yaml b/tests/test_build_components/common/uart_1200_even/esp32-idf.yaml new file mode 100644 index 0000000000..3b4b17f892 --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 1200 baud, EVEN parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml b/tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml new file mode 100644 index 0000000000..54f7de1757 --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP8266 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml b/tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml new file mode 100644 index 0000000000..0e8bdeae1f --- /dev/null +++ b/tests/test_build_components/common/uart_1200_even/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for RP2040 Arduino tests - 1200 baud even parity + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 1200 + parity: EVEN diff --git a/tests/test_build_components/common/uart_19200/esp32-ard.yaml b/tests/test_build_components/common/uart_19200/esp32-ard.yaml new file mode 100644 index 0000000000..f4f04669da --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml new file mode 100644 index 0000000000..925acdc34c --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml new file mode 100644 index 0000000000..0d765a88a4 --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 19200 baud +# For components that require UART baud rate 19200 (bl0906) + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp32-idf.yaml b/tests/test_build_components/common/uart_19200/esp32-idf.yaml new file mode 100644 index 0000000000..e7849508c7 --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 19200 baud +# For components that require UART baud rate 19200 (bl0906) + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/esp8266-ard.yaml b/tests/test_build_components/common/uart_19200/esp8266-ard.yaml new file mode 100644 index 0000000000..f01bc4590c --- /dev/null +++ b/tests/test_build_components/common/uart_19200/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO1 + rx_pin: GPIO3 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_19200/rp2040-ard.yaml b/tests/test_build_components/common/uart_19200/rp2040-ard.yaml new file mode 100644 index 0000000000..6ebd02d451 --- /dev/null +++ b/tests/test_build_components/common/uart_19200/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 19200 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 19200 diff --git a/tests/test_build_components/common/uart_38400/esp32-ard.yaml b/tests/test_build_components/common/uart_38400/esp32-ard.yaml new file mode 100644 index 0000000000..15da771ccc --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml new file mode 100644 index 0000000000..8838f029dc --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml new file mode 100644 index 0000000000..d7d902af3d --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 IDF tests - 38400 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp32-idf.yaml b/tests/test_build_components/common/uart_38400/esp32-idf.yaml new file mode 100644 index 0000000000..f1c9587e27 --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 IDF tests - 38400 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/esp8266-ard.yaml b/tests/test_build_components/common/uart_38400/esp8266-ard.yaml new file mode 100644 index 0000000000..b1a046ea5e --- /dev/null +++ b/tests/test_build_components/common/uart_38400/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_38400/rp2040-ard.yaml b/tests/test_build_components/common/uart_38400/rp2040-ard.yaml new file mode 100644 index 0000000000..01b5e58ed7 --- /dev/null +++ b/tests/test_build_components/common/uart_38400/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 38400 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 38400 diff --git a/tests/test_build_components/common/uart_4800/esp32-ard.yaml b/tests/test_build_components/common/uart_4800/esp32-ard.yaml new file mode 100644 index 0000000000..7f7096e31d --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml new file mode 100644 index 0000000000..3c814b76e4 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-c3-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml new file mode 100644 index 0000000000..7b18789b19 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-c3-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32-C3 IDF tests - 4800 baud + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp32-idf.yaml b/tests/test_build_components/common/uart_4800/esp32-idf.yaml new file mode 100644 index 0000000000..c2bd5b3edd --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP32 IDF tests - 4800 baud + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/esp8266-ard.yaml b/tests/test_build_components/common/uart_4800/esp8266-ard.yaml new file mode 100644 index 0000000000..afdbf4a599 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for ESP8266 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800/rp2040-ard.yaml b/tests/test_build_components/common/uart_4800/rp2040-ard.yaml new file mode 100644 index 0000000000..3bf0d6ba47 --- /dev/null +++ b/tests/test_build_components/common/uart_4800/rp2040-ard.yaml @@ -0,0 +1,11 @@ +# Common UART configuration for RP2040 Arduino tests - 4800 baud + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 diff --git a/tests/test_build_components/common/uart_4800_even/esp32-ard.yaml b/tests/test_build_components/common/uart_4800_even/esp32-ard.yaml new file mode 100644 index 0000000000..053848615b --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml new file mode 100644 index 0000000000..b1370bc1cb --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml new file mode 100644 index 0000000000..173c768937 --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 4800 baud, EVEN parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp32-idf.yaml b/tests/test_build_components/common/uart_4800_even/esp32-idf.yaml new file mode 100644 index 0000000000..eb850ec2dd --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 4800 baud, EVEN parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml b/tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml new file mode 100644 index 0000000000..0b6bd9eac1 --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP8266 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml b/tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml new file mode 100644 index 0000000000..c99421b791 --- /dev/null +++ b/tests/test_build_components/common/uart_4800_even/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for RP2040 Arduino tests - 4800 baud even parity + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 4800 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-ard.yaml b/tests/test_build_components/common/uart_9600_even/esp32-ard.yaml new file mode 100644 index 0000000000..0a04f10705 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml b/tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml new file mode 100644 index 0000000000..1341a91b4e --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-c3-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml b/tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml new file mode 100644 index 0000000000..5a7bce2198 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-c3-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32-C3 IDF tests - 9600 baud, EVEN parity + +substitutions: + tx_pin: GPIO20 + rx_pin: GPIO21 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp32-idf.yaml b/tests/test_build_components/common/uart_9600_even/esp32-idf.yaml new file mode 100644 index 0000000000..b60cf71b17 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp32-idf.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP32 IDF tests - 9600 baud, EVEN parity + +substitutions: + tx_pin: GPIO17 + rx_pin: GPIO16 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml b/tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml new file mode 100644 index 0000000000..300ec842df --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for ESP8266 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN diff --git a/tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml b/tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml new file mode 100644 index 0000000000..c281ae84b5 --- /dev/null +++ b/tests/test_build_components/common/uart_9600_even/rp2040-ard.yaml @@ -0,0 +1,12 @@ +# Common UART configuration for RP2040 Arduino tests - 9600 baud even parity + +substitutions: + tx_pin: GPIO0 + rx_pin: GPIO1 + +uart: + - id: uart_bus + tx_pin: ${tx_pin} + rx_pin: ${rx_pin} + baud_rate: 9600 + parity: EVEN From 5f5092e29f30d6d923734fff75d749fcad644da7 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Oct 2025 13:27:18 -1000 Subject: [PATCH 064/201] [ci] Filter out components without tests from CI test jobs (#11134 followup) (#11178) --- .github/workflows/ci.yml | 6 ++- script/determine-jobs.py | 13 ++++- tests/script/test_determine_jobs.py | 75 ++++++++++++++++++++++++++++- 3 files changed, 89 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4451007da0..f692b1f7d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -177,6 +177,7 @@ jobs: clang-tidy: ${{ steps.determine.outputs.clang-tidy }} python-linters: ${{ steps.determine.outputs.python-linters }} changed-components: ${{ steps.determine.outputs.changed-components }} + changed-components-with-tests: ${{ steps.determine.outputs.changed-components-with-tests }} component-test-count: ${{ steps.determine.outputs.component-test-count }} steps: - name: Check out code from GitHub @@ -204,6 +205,7 @@ jobs: echo "clang-tidy=$(echo "$output" | jq -r '.clang_tidy')" >> $GITHUB_OUTPUT echo "python-linters=$(echo "$output" | jq -r '.python_linters')" >> $GITHUB_OUTPUT echo "changed-components=$(echo "$output" | jq -c '.changed_components')" >> $GITHUB_OUTPUT + echo "changed-components-with-tests=$(echo "$output" | jq -c '.changed_components_with_tests')" >> $GITHUB_OUTPUT echo "component-test-count=$(echo "$output" | jq -r '.component_test_count')" >> $GITHUB_OUTPUT integration-tests: @@ -367,7 +369,7 @@ jobs: fail-fast: false max-parallel: 2 matrix: - file: ${{ fromJson(needs.determine-jobs.outputs.changed-components) }} + file: ${{ fromJson(needs.determine-jobs.outputs.changed-components-with-tests) }} steps: - name: Cache apt packages uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 @@ -414,7 +416,7 @@ jobs: . venv/bin/activate # Use intelligent splitter that groups components with same bus configs - components='${{ needs.determine-jobs.outputs.changed-components }}' + components='${{ needs.determine-jobs.outputs.changed-components-with-tests }}' echo "Splitting components intelligently..." output=$(python3 script/split_components_for_ci.py --components "$components" --batch-size 40 --output github) diff --git a/script/determine-jobs.py b/script/determine-jobs.py index e26bc29c2f..a078fd8f9b 100755 --- a/script/determine-jobs.py +++ b/script/determine-jobs.py @@ -237,6 +237,16 @@ def main() -> None: result = subprocess.run(cmd, capture_output=True, text=True, check=True) changed_components = parse_list_components_output(result.stdout) + # Filter to only components that have test files + # Components without tests shouldn't generate CI test jobs + tests_dir = Path(root_path) / "tests" / "components" + changed_components_with_tests = [ + component + for component in changed_components + if (component_test_dir := tests_dir / component).exists() + and any(component_test_dir.glob("test.*.yaml")) + ] + # Build output output: dict[str, Any] = { "integration_tests": run_integration, @@ -244,7 +254,8 @@ def main() -> None: "clang_format": run_clang_format, "python_linters": run_python_linters, "changed_components": changed_components, - "component_test_count": len(changed_components), + "changed_components_with_tests": changed_components_with_tests, + "component_test_count": len(changed_components_with_tests), } # Output as JSON diff --git a/tests/script/test_determine_jobs.py b/tests/script/test_determine_jobs.py index 7200afc2ee..5d8746f434 100644 --- a/tests/script/test_determine_jobs.py +++ b/tests/script/test_determine_jobs.py @@ -4,6 +4,7 @@ from collections.abc import Generator import importlib.util import json import os +from pathlib import Path import subprocess import sys from unittest.mock import Mock, call, patch @@ -90,7 +91,13 @@ def test_main_all_tests_should_run( assert output["clang_format"] is True assert output["python_linters"] is True assert output["changed_components"] == ["wifi", "api", "sensor"] - assert output["component_test_count"] == 3 + # changed_components_with_tests will only include components that actually have test files + assert "changed_components_with_tests" in output + assert isinstance(output["changed_components_with_tests"], list) + # component_test_count matches number of components with tests + assert output["component_test_count"] == len( + output["changed_components_with_tests"] + ) def test_main_no_tests_should_run( @@ -125,6 +132,7 @@ def test_main_no_tests_should_run( assert output["clang_format"] is False assert output["python_linters"] is False assert output["changed_components"] == [] + assert output["changed_components_with_tests"] == [] assert output["component_test_count"] == 0 @@ -197,7 +205,13 @@ def test_main_with_branch_argument( assert output["clang_format"] is False assert output["python_linters"] is True assert output["changed_components"] == ["mqtt"] - assert output["component_test_count"] == 1 + # changed_components_with_tests will only include components that actually have test files + assert "changed_components_with_tests" in output + assert isinstance(output["changed_components_with_tests"], list) + # component_test_count matches number of components with tests + assert output["component_test_count"] == len( + output["changed_components_with_tests"] + ) def test_should_run_integration_tests( @@ -377,3 +391,60 @@ def test_should_run_clang_format_with_branch() -> None: mock_changed.return_value = [] determine_jobs.should_run_clang_format("release") mock_changed.assert_called_once_with("release") + + +def test_main_filters_components_without_tests( + mock_should_run_integration_tests: Mock, + mock_should_run_clang_tidy: Mock, + mock_should_run_clang_format: Mock, + mock_should_run_python_linters: Mock, + mock_subprocess_run: Mock, + capsys: pytest.CaptureFixture[str], + tmp_path: Path, +) -> None: + """Test that components without test files are filtered out.""" + mock_should_run_integration_tests.return_value = False + mock_should_run_clang_tidy.return_value = False + mock_should_run_clang_format.return_value = False + mock_should_run_python_linters.return_value = False + + # Mock list-components.py output with 3 components + # wifi: has tests, sensor: has tests, airthings_ble: no tests + mock_result = Mock() + mock_result.stdout = "wifi\nsensor\nairthings_ble\n" + mock_subprocess_run.return_value = mock_result + + # Create test directory structure + tests_dir = tmp_path / "tests" / "components" + + # wifi has tests + wifi_dir = tests_dir / "wifi" + wifi_dir.mkdir(parents=True) + (wifi_dir / "test.esp32.yaml").write_text("test: config") + + # sensor has tests + sensor_dir = tests_dir / "sensor" + sensor_dir.mkdir(parents=True) + (sensor_dir / "test.esp8266.yaml").write_text("test: config") + + # airthings_ble exists but has no test files + airthings_dir = tests_dir / "airthings_ble" + airthings_dir.mkdir(parents=True) + + # Mock root_path to use tmp_path + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch("sys.argv", ["determine-jobs.py"]), + ): + determine_jobs.main() + + # Check output + captured = capsys.readouterr() + output = json.loads(captured.out) + + # changed_components should have all components + assert set(output["changed_components"]) == {"wifi", "sensor", "airthings_ble"} + # changed_components_with_tests should only have components with test files + assert set(output["changed_components_with_tests"]) == {"wifi", "sensor"} + # component_test_count should be based on components with tests + assert output["component_test_count"] == 2 From c02c0b2a9633c1db759475d021647ffe9221121f Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Sat, 11 Oct 2025 20:44:44 -0400 Subject: [PATCH 065/201] [esp32] Change Arduino dev & latest to 3.3.2 (#11169) --- esphome/components/esp32/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 8247dac0b9..724cb2797d 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -314,8 +314,8 @@ def _format_framework_espidf_version(ver: cv.Version, release: str) -> str: # - https://github.com/espressif/arduino-esp32/releases ARDUINO_FRAMEWORK_VERSION_LOOKUP = { "recommended": cv.Version(3, 2, 1), - "latest": cv.Version(3, 3, 1), - "dev": cv.Version(3, 3, 1), + "latest": cv.Version(3, 3, 2), + "dev": cv.Version(3, 3, 2), } ARDUINO_PLATFORM_VERSION_LOOKUP = { cv.Version(3, 3, 2): cv.Version(55, 3, 31, "1"), From 7f3c7bb5c69064aca85b4b471fe64b9c80f676e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Oct 2025 08:12:52 +0000 Subject: [PATCH 066/201] Bump aioesphomeapi from 41.13.0 to 41.14.0 (#11188) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8cc2b4ed45..64946263ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251009.0 -aioesphomeapi==41.13.0 +aioesphomeapi==41.14.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From 53e6b28092506fd94e81f8b63f87046f0c23f68b Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 02:58:56 -1000 Subject: [PATCH 067/201] [mipi_rgb] Fix pin conflicts introduced by shared SPI bus in #11134 (#11185) --- tests/components/mipi_rgb/test.esp32-s3-idf.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml index 29f833c235..642292f7c4 100644 --- a/tests/components/mipi_rgb/test.esp32-s3-idf.yaml +++ b/tests/components/mipi_rgb/test.esp32-s3-idf.yaml @@ -40,9 +40,7 @@ display: - number: 17 blue: - number: 47 - allow_other_uses: true - - number: 41 - allow_other_uses: true + - number: 1 - number: 0 ignore_strapping_warning: true - number: 42 @@ -53,7 +51,7 @@ display: number: 45 ignore_strapping_warning: true hsync_pin: - number: 40 + number: 38 vsync_pin: number: 48 data_rate: 1000000.0 From 72a7aeb4303780ceb52605193dc23f8a95dab4ca Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:25:35 -1000 Subject: [PATCH 068/201] [ci] Dynamic runner allocation: 8 for releases, 4 for dev (#11191) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f692b1f7d0..0363b5afdf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -433,7 +433,7 @@ jobs: if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 strategy: fail-fast: false - max-parallel: 5 + max-parallel: ${{ (github.base_ref == 'beta' || github.base_ref == 'release') && 8 || 4 }} matrix: components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} steps: From 5cec0941f8d8705510fe37d6cbd812a173230e70 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:26:28 -1000 Subject: [PATCH 069/201] [wifi] Fix missed string literal in flash on ESP8266 (#11187) --- esphome/components/wifi/wifi_component.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index 2e083d4c68..71ee4271ba 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -576,8 +576,9 @@ __attribute__((noinline)) static void log_scan_result(const WiFiScanResult &res) format_mac_addr_upper(bssid.data(), bssid_s); if (res.get_matches()) { - ESP_LOGI(TAG, "- '%s' %s" LOG_SECRET("(%s) ") "%s", res.get_ssid().c_str(), res.get_is_hidden() ? "(HIDDEN) " : "", - bssid_s, LOG_STR_ARG(get_signal_bars(res.get_rssi()))); + ESP_LOGI(TAG, "- '%s' %s" LOG_SECRET("(%s) ") "%s", res.get_ssid().c_str(), + res.get_is_hidden() ? LOG_STR_LITERAL("(HIDDEN) ") : LOG_STR_LITERAL(""), bssid_s, + LOG_STR_ARG(get_signal_bars(res.get_rssi()))); ESP_LOGD(TAG, " Channel: %u\n" " RSSI: %d dB", From e4bc465a3df3f802918e8cb3dd6b743df6fd9596 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:27:43 -1000 Subject: [PATCH 070/201] [ota] Increase handshake timeout to 20s now that auth is non-blocking (#11186) --- esphome/components/esphome/ota/ota_esphome.cpp | 2 +- esphome/espota2.py | 2 +- tests/unit_tests/test_espota2.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/esphome/components/esphome/ota/ota_esphome.cpp b/esphome/components/esphome/ota/ota_esphome.cpp index b65bfc5ab8..569268ea15 100644 --- a/esphome/components/esphome/ota/ota_esphome.cpp +++ b/esphome/components/esphome/ota/ota_esphome.cpp @@ -29,7 +29,7 @@ namespace esphome { static const char *const TAG = "esphome.ota"; static constexpr uint16_t OTA_BLOCK_SIZE = 8192; static constexpr size_t OTA_BUFFER_SIZE = 1024; // buffer size for OTA data transfer -static constexpr uint32_t OTA_SOCKET_TIMEOUT_HANDSHAKE = 10000; // milliseconds for initial handshake +static constexpr uint32_t OTA_SOCKET_TIMEOUT_HANDSHAKE = 20000; // milliseconds for initial handshake static constexpr uint32_t OTA_SOCKET_TIMEOUT_DATA = 90000; // milliseconds for data transfer #ifdef USE_OTA_PASSWORD diff --git a/esphome/espota2.py b/esphome/espota2.py index 2712d00127..17a1da8235 100644 --- a/esphome/espota2.py +++ b/esphome/espota2.py @@ -410,7 +410,7 @@ def run_ota_impl_( af, socktype, _, _, sa = r _LOGGER.info("Connecting to %s port %s...", sa[0], sa[1]) sock = socket.socket(af, socktype) - sock.settimeout(10.0) + sock.settimeout(20.0) try: sock.connect(sa) except OSError as err: diff --git a/tests/unit_tests/test_espota2.py b/tests/unit_tests/test_espota2.py index bd1a6bde81..52c72291d6 100644 --- a/tests/unit_tests/test_espota2.py +++ b/tests/unit_tests/test_espota2.py @@ -493,7 +493,7 @@ def test_run_ota_impl_successful( assert result_host == "192.168.1.100" # Verify socket was configured correctly - mock_socket.settimeout.assert_called_with(10.0) + mock_socket.settimeout.assert_called_with(20.0) mock_socket.connect.assert_called_once_with(("192.168.1.100", 3232)) mock_socket.close.assert_called_once() From 742c9cbb53210429844ef840d6120de477183e25 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 08:30:58 -1000 Subject: [PATCH 071/201] [esp32_improv] Fix state not transitioning to PROVISIONED when WiFi configured via captive portal (#11181) --- .../esp32_improv/esp32_improv_component.cpp | 54 +++++++++++-------- .../esp32_improv/esp32_improv_component.h | 1 + 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/esphome/components/esp32_improv/esp32_improv_component.cpp b/esphome/components/esp32_improv/esp32_improv_component.cpp index f773083890..d83caf931b 100644 --- a/esphome/components/esp32_improv/esp32_improv_component.cpp +++ b/esphome/components/esp32_improv/esp32_improv_component.cpp @@ -143,6 +143,7 @@ void ESP32ImprovComponent::loop() { #else this->set_state_(improv::STATE_AUTHORIZED); #endif + this->check_wifi_connection_(); break; } case improv::STATE_AUTHORIZED: { @@ -156,31 +157,12 @@ void ESP32ImprovComponent::loop() { if (!this->check_identify_()) { this->set_status_indicator_state_((now % 1000) < 500); } + this->check_wifi_connection_(); break; } case improv::STATE_PROVISIONING: { this->set_status_indicator_state_((now % 200) < 100); - if (wifi::global_wifi_component->is_connected()) { - wifi::global_wifi_component->save_wifi_sta(this->connecting_sta_.get_ssid(), - this->connecting_sta_.get_password()); - this->connecting_sta_ = {}; - this->cancel_timeout("wifi-connect-timeout"); - this->set_state_(improv::STATE_PROVISIONED); - - std::vector urls = {ESPHOME_MY_LINK}; -#ifdef USE_WEBSERVER - for (auto &ip : wifi::global_wifi_component->wifi_sta_ip_addresses()) { - if (ip.is_ip4()) { - std::string webserver_url = "http://" + ip.str() + ":" + to_string(USE_WEBSERVER_PORT); - urls.push_back(webserver_url); - break; - } - } -#endif - std::vector data = improv::build_rpc_response(improv::WIFI_SETTINGS, urls); - this->send_response_(data); - this->stop(); - } + this->check_wifi_connection_(); break; } case improv::STATE_PROVISIONED: { @@ -392,6 +374,36 @@ void ESP32ImprovComponent::on_wifi_connect_timeout_() { wifi::global_wifi_component->clear_sta(); } +void ESP32ImprovComponent::check_wifi_connection_() { + if (!wifi::global_wifi_component->is_connected()) { + return; + } + + if (this->state_ == improv::STATE_PROVISIONING) { + wifi::global_wifi_component->save_wifi_sta(this->connecting_sta_.get_ssid(), this->connecting_sta_.get_password()); + this->connecting_sta_ = {}; + this->cancel_timeout("wifi-connect-timeout"); + + std::vector urls = {ESPHOME_MY_LINK}; +#ifdef USE_WEBSERVER + for (auto &ip : wifi::global_wifi_component->wifi_sta_ip_addresses()) { + if (ip.is_ip4()) { + std::string webserver_url = "http://" + ip.str() + ":" + to_string(USE_WEBSERVER_PORT); + urls.push_back(webserver_url); + break; + } + } +#endif + std::vector data = improv::build_rpc_response(improv::WIFI_SETTINGS, urls); + this->send_response_(data); + } else if (this->is_active() && this->state_ != improv::STATE_PROVISIONED) { + ESP_LOGD(TAG, "WiFi provisioned externally"); + } + + this->set_state_(improv::STATE_PROVISIONED); + this->stop(); +} + void ESP32ImprovComponent::advertise_service_data_() { uint8_t service_data[IMPROV_SERVICE_DATA_SIZE] = {}; service_data[0] = IMPROV_PROTOCOL_ID_1; // PR diff --git a/esphome/components/esp32_improv/esp32_improv_component.h b/esphome/components/esp32_improv/esp32_improv_component.h index eb07e09dce..6782430ffe 100644 --- a/esphome/components/esp32_improv/esp32_improv_component.h +++ b/esphome/components/esp32_improv/esp32_improv_component.h @@ -111,6 +111,7 @@ class ESP32ImprovComponent : public Component { void send_response_(std::vector &response); void process_incoming_data_(); void on_wifi_connect_timeout_(); + void check_wifi_connection_(); bool check_identify_(); void advertise_service_data_(); #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG From 2b42903e9c94dba94010deeb9b6d0f828d2dce77 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Oct 2025 09:04:30 -1000 Subject: [PATCH 072/201] [usb_host] Fix transfer slot exhaustion at high data rates and add configurable max_transfer_requests (#11174) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- esphome/components/usb_host/__init__.py | 11 +++- esphome/components/usb_host/usb_host.h | 42 ++++++++------ .../components/usb_host/usb_host_client.cpp | 57 ++++++------------- esphome/core/defines.h | 1 + .../usb_host/test.esp32-s3-idf.yaml | 1 + 5 files changed, 54 insertions(+), 58 deletions(-) diff --git a/esphome/components/usb_host/__init__.py b/esphome/components/usb_host/__init__.py index de734bf425..d452e0e9fa 100644 --- a/esphome/components/usb_host/__init__.py +++ b/esphome/components/usb_host/__init__.py @@ -9,6 +9,7 @@ from esphome.components.esp32 import ( import esphome.config_validation as cv from esphome.const import CONF_DEVICES, CONF_ID from esphome.cpp_types import Component +from esphome.types import ConfigType AUTO_LOAD = ["bytebuffer"] CODEOWNERS = ["@clydebarrow"] @@ -20,6 +21,7 @@ USBClient = usb_host_ns.class_("USBClient", Component) CONF_VID = "vid" CONF_PID = "pid" CONF_ENABLE_HUBS = "enable_hubs" +CONF_MAX_TRANSFER_REQUESTS = "max_transfer_requests" def usb_device_schema(cls=USBClient, vid: int = None, pid: [int] = None) -> cv.Schema: @@ -44,6 +46,9 @@ CONFIG_SCHEMA = cv.All( { cv.GenerateID(): cv.declare_id(USBHost), cv.Optional(CONF_ENABLE_HUBS, default=False): cv.boolean, + cv.Optional(CONF_MAX_TRANSFER_REQUESTS, default=16): cv.int_range( + min=1, max=32 + ), cv.Optional(CONF_DEVICES): cv.ensure_list(usb_device_schema()), } ), @@ -58,10 +63,14 @@ async def register_usb_client(config): return var -async def to_code(config): +async def to_code(config: ConfigType) -> None: add_idf_sdkconfig_option("CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE", 1024) if config.get(CONF_ENABLE_HUBS): add_idf_sdkconfig_option("CONFIG_USB_HOST_HUBS_SUPPORTED", True) + + max_requests = config[CONF_MAX_TRANSFER_REQUESTS] + cg.add_define("USB_HOST_MAX_REQUESTS", max_requests) + var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) for device in config.get(CONF_DEVICES) or (): diff --git a/esphome/components/usb_host/usb_host.h b/esphome/components/usb_host/usb_host.h index 4f8d2ec9a8..43b24a54a5 100644 --- a/esphome/components/usb_host/usb_host.h +++ b/esphome/components/usb_host/usb_host.h @@ -2,6 +2,7 @@ // Should not be needed, but it's required to pass CI clang-tidy checks #if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) || defined(USE_ESP32_VARIANT_ESP32P4) +#include "esphome/core/defines.h" #include "esphome/core/component.h" #include #include "usb/usb_host.h" @@ -16,23 +17,25 @@ namespace usb_host { // THREADING MODEL: // This component uses a dedicated USB task for event processing to prevent data loss. -// - USB Task (high priority): Handles USB events, executes transfer callbacks -// - Main Loop Task: Initiates transfers, processes completion events +// - USB Task (high priority): Handles USB events, executes transfer callbacks, releases transfer slots +// - Main Loop Task: Initiates transfers, processes device connect/disconnect events // // Thread-safe communication: // - Lock-free queues for USB task -> main loop events (SPSC pattern) -// - Lock-free TransferRequest pool using atomic bitmask (MCSP pattern) +// - Lock-free TransferRequest pool using atomic bitmask (MCMP pattern - multi-consumer, multi-producer) // // TransferRequest pool access pattern: // - get_trq_() [allocate]: Called from BOTH USB task and main loop threads // * USB task: via USB UART input callbacks that restart transfers immediately // * Main loop: for output transfers and flow-controlled input restarts -// - release_trq() [deallocate]: Called from main loop thread only +// - release_trq() [deallocate]: Called from BOTH USB task and main loop threads +// * USB task: immediately after transfer callback completes (critical for preventing slot exhaustion) +// * Main loop: when transfer submission fails // -// The multi-threaded allocation is intentional for performance: -// - USB task can immediately restart input transfers without context switching +// The multi-threaded allocation/deallocation is intentional for performance: +// - USB task can immediately restart input transfers and release slots without context switching // - Main loop controls backpressure by deciding when to restart after consuming data -// The atomic bitmask ensures thread-safe allocation without mutex blocking. +// The atomic bitmask ensures thread-safe allocation/deallocation without mutex blocking. static const char *const TAG = "usb_host"; @@ -52,8 +55,17 @@ static const uint8_t USB_DIR_IN = 1 << 7; static const uint8_t USB_DIR_OUT = 0; static const size_t SETUP_PACKET_SIZE = 8; -static const size_t MAX_REQUESTS = 16; // maximum number of outstanding requests possible. -static_assert(MAX_REQUESTS <= 16, "MAX_REQUESTS must be <= 16 to fit in uint16_t bitmask"); +static const size_t MAX_REQUESTS = USB_HOST_MAX_REQUESTS; // maximum number of outstanding requests possible. +static_assert(MAX_REQUESTS >= 1 && MAX_REQUESTS <= 32, "MAX_REQUESTS must be between 1 and 32"); + +// Select appropriate bitmask type for tracking allocation of TransferRequest slots. +// The bitmask must have at least as many bits as MAX_REQUESTS, so: +// - Use uint16_t for up to 16 requests (MAX_REQUESTS <= 16) +// - Use uint32_t for 17-32 requests (MAX_REQUESTS > 16) +// This is tied to the static_assert above, which enforces MAX_REQUESTS is between 1 and 32. +// If MAX_REQUESTS is increased above 32, this logic and the static_assert must be updated. +using trq_bitmask_t = std::conditional<(MAX_REQUESTS <= 16), uint16_t, uint32_t>::type; + static constexpr size_t USB_EVENT_QUEUE_SIZE = 32; // Size of event queue between USB task and main loop static constexpr size_t USB_TASK_STACK_SIZE = 4096; // Stack size for USB task (same as ESP-IDF USB examples) static constexpr UBaseType_t USB_TASK_PRIORITY = 5; // Higher priority than main loop (tskIDLE_PRIORITY + 5) @@ -83,8 +95,6 @@ struct TransferRequest { enum EventType : uint8_t { EVENT_DEVICE_NEW, EVENT_DEVICE_GONE, - EVENT_TRANSFER_COMPLETE, - EVENT_CONTROL_COMPLETE, }; struct UsbEvent { @@ -96,9 +106,6 @@ struct UsbEvent { struct { usb_device_handle_t handle; } device_gone; - struct { - TransferRequest *trq; - } transfer; } data; // Required for EventPool - no cleanup needed for POD types @@ -163,10 +170,9 @@ class USBClient : public Component { uint16_t pid_{}; // Lock-free pool management using atomic bitmask (no dynamic allocation) // Bit i = 1: requests_[i] is in use, Bit i = 0: requests_[i] is available - // Supports multiple concurrent consumers (both threads can allocate) - // Single producer for deallocation (main loop only) - // Limited to 16 slots by uint16_t size (enforced by static_assert) - std::atomic trq_in_use_; + // Supports multiple concurrent consumers and producers (both threads can allocate/deallocate) + // Bitmask type automatically selected: uint16_t for <= 16 slots, uint32_t for 17-32 slots + std::atomic trq_in_use_; TransferRequest requests_[MAX_REQUESTS]{}; }; class USBHost : public Component { diff --git a/esphome/components/usb_host/usb_host_client.cpp b/esphome/components/usb_host/usb_host_client.cpp index b26385a8ef..2139ed869a 100644 --- a/esphome/components/usb_host/usb_host_client.cpp +++ b/esphome/components/usb_host/usb_host_client.cpp @@ -228,12 +228,6 @@ void USBClient::loop() { case EVENT_DEVICE_GONE: this->on_removed(event->data.device_gone.handle); break; - case EVENT_TRANSFER_COMPLETE: - case EVENT_CONTROL_COMPLETE: { - auto *trq = event->data.transfer.trq; - this->release_trq(trq); - break; - } } // Return event to pool for reuse this->event_pool.release(event); @@ -313,25 +307,6 @@ void USBClient::on_removed(usb_device_handle_t handle) { } } -// Helper to queue transfer cleanup to main loop -static void queue_transfer_cleanup(TransferRequest *trq, EventType type) { - auto *client = trq->client; - - // Allocate event from pool - UsbEvent *event = client->event_pool.allocate(); - if (event == nullptr) { - // No events available - increment counter for periodic logging - client->event_queue.increment_dropped_count(); - return; - } - - event->type = type; - event->data.transfer.trq = trq; - - // Push to lock-free queue (always succeeds since pool size == queue size) - client->event_queue.push(event); -} - // CALLBACK CONTEXT: USB task (called from usb_host_client_handle_events in USB task) static void control_callback(const usb_transfer_t *xfer) { auto *trq = static_cast(xfer->context); @@ -346,8 +321,9 @@ static void control_callback(const usb_transfer_t *xfer) { trq->callback(trq->status); } - // Queue cleanup to main loop - queue_transfer_cleanup(trq, EVENT_CONTROL_COMPLETE); + // Release transfer slot immediately in USB task + // The release_trq() uses thread-safe atomic operations + trq->client->release_trq(trq); } // THREAD CONTEXT: Called from both USB task and main loop threads (multi-consumer) @@ -358,20 +334,20 @@ static void control_callback(const usb_transfer_t *xfer) { // This multi-threaded access is intentional for performance - USB task can // immediately restart transfers without waiting for main loop scheduling. TransferRequest *USBClient::get_trq_() { - uint16_t mask = this->trq_in_use_.load(std::memory_order_relaxed); + trq_bitmask_t mask = this->trq_in_use_.load(std::memory_order_relaxed); // Find first available slot (bit = 0) and try to claim it atomically // We use a while loop to allow retrying the same slot after CAS failure size_t i = 0; while (i != MAX_REQUESTS) { - if (mask & (1U << i)) { + if (mask & (static_cast(1) << i)) { // Slot is in use, move to next slot i++; continue; } // Slot i appears available, try to claim it atomically - uint16_t desired = mask | (1U << i); // Set bit i to mark as in-use + trq_bitmask_t desired = mask | (static_cast(1) << i); // Set bit i to mark as in-use if (this->trq_in_use_.compare_exchange_weak(mask, desired, std::memory_order_acquire, std::memory_order_relaxed)) { // Successfully claimed slot i - prepare the TransferRequest @@ -386,7 +362,7 @@ TransferRequest *USBClient::get_trq_() { i = 0; } - ESP_LOGE(TAG, "All %d transfer slots in use", MAX_REQUESTS); + ESP_LOGE(TAG, "All %zu transfer slots in use", MAX_REQUESTS); return nullptr; } void USBClient::disconnect() { @@ -452,8 +428,11 @@ static void transfer_callback(usb_transfer_t *xfer) { trq->callback(trq->status); } - // Queue cleanup to main loop - queue_transfer_cleanup(trq, EVENT_TRANSFER_COMPLETE); + // Release transfer slot AFTER callback completes to prevent slot exhaustion + // This is critical for high-throughput transfers (e.g., USB UART at 115200 baud) + // The callback has finished accessing xfer->data_buffer, so it's safe to release + // The release_trq() uses thread-safe atomic operations + trq->client->release_trq(trq); } /** * Performs a transfer input operation. @@ -521,12 +500,12 @@ void USBClient::dump_config() { " Product id %04X", this->vid_, this->pid_); } -// THREAD CONTEXT: Only called from main loop thread (single producer for deallocation) -// - Via event processing when handling EVENT_TRANSFER_COMPLETE/EVENT_CONTROL_COMPLETE -// - Directly when transfer submission fails +// THREAD CONTEXT: Called from both USB task and main loop threads +// - USB task: Immediately after transfer callback completes +// - Main loop: When transfer submission fails // // THREAD SAFETY: Lock-free using atomic AND to clear bit -// Single-producer pattern makes this simpler than allocation +// Thread-safe atomic operation allows multi-threaded deallocation void USBClient::release_trq(TransferRequest *trq) { if (trq == nullptr) return; @@ -540,8 +519,8 @@ void USBClient::release_trq(TransferRequest *trq) { // Atomically clear bit i to mark slot as available // fetch_and with inverted bitmask clears the bit atomically - uint16_t bit = 1U << index; - this->trq_in_use_.fetch_and(static_cast(~bit), std::memory_order_release); + trq_bitmask_t bit = static_cast(1) << index; + this->trq_in_use_.fetch_and(static_cast(~bit), std::memory_order_release); } } // namespace usb_host diff --git a/esphome/core/defines.h b/esphome/core/defines.h index 0f1d1bcf28..620f15765e 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -191,6 +191,7 @@ #define USE_WEBSERVER_PORT 80 // NOLINT #define USE_WEBSERVER_SORTING #define USE_WIFI_11KV_SUPPORT +#define USB_HOST_MAX_REQUESTS 16 #ifdef USE_ARDUINO #define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 2, 1) diff --git a/tests/components/usb_host/test.esp32-s3-idf.yaml b/tests/components/usb_host/test.esp32-s3-idf.yaml index a2892872e5..5360d1f6ff 100644 --- a/tests/components/usb_host/test.esp32-s3-idf.yaml +++ b/tests/components/usb_host/test.esp32-s3-idf.yaml @@ -1,4 +1,5 @@ usb_host: + max_transfer_requests: 32 # Test uint32_t bitmask path (17-32 requests) devices: - id: device_1 vid: 0x1234 From da1959ab5dc4cbf7643ed158198e9afdf4d656c9 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 13 Oct 2025 08:49:29 +1300 Subject: [PATCH 073/201] Bump version to 2025.10.0b2 --- Doxyfile | 2 +- esphome/const.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index 8284c564e0..37ec90c851 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = ESPHome # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2025.10.0b1 +PROJECT_NUMBER = 2025.10.0b2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/esphome/const.py b/esphome/const.py index 5f81790a10..a086f90385 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -4,7 +4,7 @@ from enum import Enum from esphome.enum import StrEnum -__version__ = "2025.10.0b1" +__version__ = "2025.10.0b2" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" VALID_SUBSTITUTIONS_CHARACTERS = ( From 59f728488eedda6976c27a041a27b41c5d772456 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 13 Oct 2025 12:58:30 +1300 Subject: [PATCH 074/201] [media_player.speaker] Dynamic auto load (#11084) Co-authored-by: J. Nick Koston --- esphome/components/psram/__init__.py | 2 ++ .../speaker/media_player/__init__.py | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/esphome/components/psram/__init__.py b/esphome/components/psram/__init__.py index 6b85e7f720..8e4f9d7eac 100644 --- a/esphome/components/psram/__init__.py +++ b/esphome/components/psram/__init__.py @@ -63,6 +63,8 @@ SPIRAM_SPEEDS = { def supported() -> bool: + if not CORE.is_esp32: + return False variant = get_esp32_variant() return variant in SPIRAM_MODES diff --git a/esphome/components/speaker/media_player/__init__.py b/esphome/components/speaker/media_player/__init__.py index 69ea0a53c6..7537a61e4e 100644 --- a/esphome/components/speaker/media_player/__init__.py +++ b/esphome/components/speaker/media_player/__init__.py @@ -6,7 +6,7 @@ from pathlib import Path from esphome import automation, external_files import esphome.codegen as cg -from esphome.components import audio, esp32, media_player, speaker +from esphome.components import audio, esp32, media_player, psram, speaker import esphome.config_validation as cv from esphome.const import ( CONF_BUFFER_SIZE, @@ -26,10 +26,21 @@ from esphome.const import ( from esphome.core import CORE, HexInt from esphome.core.entity_helpers import inherit_property_from from esphome.external_files import download_content +from esphome.types import ConfigType _LOGGER = logging.getLogger(__name__) -AUTO_LOAD = ["audio", "psram"] + +def AUTO_LOAD(config: ConfigType) -> list[str]: + load = ["audio"] + if ( + not config + or config.get(CONF_TASK_STACK_IN_PSRAM) + or config.get(CONF_CODEC_SUPPORT_ENABLED) + ): + return load + ["psram"] + return load + CODEOWNERS = ["@kahrendt", "@synesthesiam"] DOMAIN = "media_player" @@ -279,7 +290,9 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_BUFFER_SIZE, default=1000000): cv.int_range( min=4000, max=4000000 ), - cv.Optional(CONF_CODEC_SUPPORT_ENABLED, default=True): cv.boolean, + cv.Optional( + CONF_CODEC_SUPPORT_ENABLED, default=psram.supported() + ): cv.boolean, cv.Optional(CONF_FILES): cv.ensure_list(MEDIA_FILE_TYPE_SCHEMA), cv.Optional(CONF_TASK_STACK_IN_PSRAM, default=False): cv.boolean, cv.Optional(CONF_VOLUME_INCREMENT, default=0.05): cv.percentage, From be2c859df3f3a5b237b9283f564b190d862c9767 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 08:01:47 -1000 Subject: [PATCH 075/201] [web_server] Consolidate duplicate client connection checks (saves 288 bytes of flash) (#11116) --- .../components/web_server/list_entities.cpp | 40 ----------------- esphome/components/web_server/web_server.cpp | 43 +++---------------- .../web_server_idf/web_server_idf.cpp | 3 ++ 3 files changed, 10 insertions(+), 76 deletions(-) diff --git a/esphome/components/web_server/list_entities.cpp b/esphome/components/web_server/list_entities.cpp index 3eb3764857..6b27545549 100644 --- a/esphome/components/web_server/list_entities.cpp +++ b/esphome/components/web_server/list_entities.cpp @@ -19,72 +19,54 @@ ListEntitiesIterator::~ListEntitiesIterator() {} #ifdef USE_BINARY_SENSOR bool ListEntitiesIterator::on_binary_sensor(binary_sensor::BinarySensor *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::binary_sensor_all_json_generator); return true; } #endif #ifdef USE_COVER bool ListEntitiesIterator::on_cover(cover::Cover *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::cover_all_json_generator); return true; } #endif #ifdef USE_FAN bool ListEntitiesIterator::on_fan(fan::Fan *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::fan_all_json_generator); return true; } #endif #ifdef USE_LIGHT bool ListEntitiesIterator::on_light(light::LightState *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::light_all_json_generator); return true; } #endif #ifdef USE_SENSOR bool ListEntitiesIterator::on_sensor(sensor::Sensor *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::sensor_all_json_generator); return true; } #endif #ifdef USE_SWITCH bool ListEntitiesIterator::on_switch(switch_::Switch *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::switch_all_json_generator); return true; } #endif #ifdef USE_BUTTON bool ListEntitiesIterator::on_button(button::Button *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::button_all_json_generator); return true; } #endif #ifdef USE_TEXT_SENSOR bool ListEntitiesIterator::on_text_sensor(text_sensor::TextSensor *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::text_sensor_all_json_generator); return true; } #endif #ifdef USE_LOCK bool ListEntitiesIterator::on_lock(lock::Lock *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::lock_all_json_generator); return true; } @@ -92,8 +74,6 @@ bool ListEntitiesIterator::on_lock(lock::Lock *obj) { #ifdef USE_VALVE bool ListEntitiesIterator::on_valve(valve::Valve *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::valve_all_json_generator); return true; } @@ -101,8 +81,6 @@ bool ListEntitiesIterator::on_valve(valve::Valve *obj) { #ifdef USE_CLIMATE bool ListEntitiesIterator::on_climate(climate::Climate *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::climate_all_json_generator); return true; } @@ -110,8 +88,6 @@ bool ListEntitiesIterator::on_climate(climate::Climate *obj) { #ifdef USE_NUMBER bool ListEntitiesIterator::on_number(number::Number *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::number_all_json_generator); return true; } @@ -119,8 +95,6 @@ bool ListEntitiesIterator::on_number(number::Number *obj) { #ifdef USE_DATETIME_DATE bool ListEntitiesIterator::on_date(datetime::DateEntity *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::date_all_json_generator); return true; } @@ -128,8 +102,6 @@ bool ListEntitiesIterator::on_date(datetime::DateEntity *obj) { #ifdef USE_DATETIME_TIME bool ListEntitiesIterator::on_time(datetime::TimeEntity *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::time_all_json_generator); return true; } @@ -137,8 +109,6 @@ bool ListEntitiesIterator::on_time(datetime::TimeEntity *obj) { #ifdef USE_DATETIME_DATETIME bool ListEntitiesIterator::on_datetime(datetime::DateTimeEntity *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::datetime_all_json_generator); return true; } @@ -146,8 +116,6 @@ bool ListEntitiesIterator::on_datetime(datetime::DateTimeEntity *obj) { #ifdef USE_TEXT bool ListEntitiesIterator::on_text(text::Text *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::text_all_json_generator); return true; } @@ -155,8 +123,6 @@ bool ListEntitiesIterator::on_text(text::Text *obj) { #ifdef USE_SELECT bool ListEntitiesIterator::on_select(select::Select *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::select_all_json_generator); return true; } @@ -164,8 +130,6 @@ bool ListEntitiesIterator::on_select(select::Select *obj) { #ifdef USE_ALARM_CONTROL_PANEL bool ListEntitiesIterator::on_alarm_control_panel(alarm_control_panel::AlarmControlPanel *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::alarm_control_panel_all_json_generator); return true; } @@ -173,8 +137,6 @@ bool ListEntitiesIterator::on_alarm_control_panel(alarm_control_panel::AlarmCont #ifdef USE_EVENT bool ListEntitiesIterator::on_event(event::Event *obj) { - if (this->events_->count() == 0) - return true; // Null event type, since we are just iterating over entities this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::event_all_json_generator); return true; @@ -183,8 +145,6 @@ bool ListEntitiesIterator::on_event(event::Event *obj) { #ifdef USE_UPDATE bool ListEntitiesIterator::on_update(update::UpdateEntity *obj) { - if (this->events_->count() == 0) - return true; this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::update_all_json_generator); return true; } diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index cfd5fc947b..6f554ac958 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -152,6 +152,10 @@ void DeferredUpdateEventSource::loop() { void DeferredUpdateEventSource::deferrable_send_state(void *source, const char *event_type, message_generator_t *message_generator) { + // Skip if no connected clients to avoid unnecessary deferred queue processing + if (this->count() == 0) + return; + // allow all json "details_all" to go through before publishing bare state events, this avoids unnamed entries showing // up in the web GUI and reduces event load during initial connect if (!entities_iterator_.completed() && 0 != strcmp(event_type, "state_detail_all")) @@ -197,6 +201,9 @@ void DeferredUpdateEventSourceList::loop() { void DeferredUpdateEventSourceList::deferrable_send_state(void *source, const char *event_type, message_generator_t *message_generator) { + // Skip if no event sources (no connected clients) to avoid unnecessary iteration + if (this->empty()) + return; for (DeferredUpdateEventSource *dues : *this) { dues->deferrable_send_state(source, event_type, message_generator); } @@ -424,8 +431,6 @@ static JsonDetail get_request_detail(AsyncWebServerRequest *request) { #ifdef USE_SENSOR void WebServer::on_sensor_update(sensor::Sensor *obj, float state) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", sensor_state_json_generator); } void WebServer::handle_sensor_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -473,8 +478,6 @@ std::string WebServer::sensor_json(sensor::Sensor *obj, float value, JsonDetail #ifdef USE_TEXT_SENSOR void WebServer::on_text_sensor_update(text_sensor::TextSensor *obj, const std::string &state) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", text_sensor_state_json_generator); } void WebServer::handle_text_sensor_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -514,8 +517,6 @@ std::string WebServer::text_sensor_json(text_sensor::TextSensor *obj, const std: #ifdef USE_SWITCH void WebServer::on_switch_update(switch_::Switch *obj, bool state) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", switch_state_json_generator); } void WebServer::handle_switch_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -627,8 +628,6 @@ std::string WebServer::button_json(button::Button *obj, JsonDetail start_config) #ifdef USE_BINARY_SENSOR void WebServer::on_binary_sensor_update(binary_sensor::BinarySensor *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", binary_sensor_state_json_generator); } void WebServer::handle_binary_sensor_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -667,8 +666,6 @@ std::string WebServer::binary_sensor_json(binary_sensor::BinarySensor *obj, bool #ifdef USE_FAN void WebServer::on_fan_update(fan::Fan *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", fan_state_json_generator); } void WebServer::handle_fan_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -743,8 +740,6 @@ std::string WebServer::fan_json(fan::Fan *obj, JsonDetail start_config) { #ifdef USE_LIGHT void WebServer::on_light_update(light::LightState *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", light_state_json_generator); } void WebServer::handle_light_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -819,8 +814,6 @@ std::string WebServer::light_json(light::LightState *obj, JsonDetail start_confi #ifdef USE_COVER void WebServer::on_cover_update(cover::Cover *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", cover_state_json_generator); } void WebServer::handle_cover_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -906,8 +899,6 @@ std::string WebServer::cover_json(cover::Cover *obj, JsonDetail start_config) { #ifdef USE_NUMBER void WebServer::on_number_update(number::Number *obj, float state) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", number_state_json_generator); } void WebServer::handle_number_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -975,8 +966,6 @@ std::string WebServer::number_json(number::Number *obj, float value, JsonDetail #ifdef USE_DATETIME_DATE void WebServer::on_date_update(datetime::DateEntity *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", date_state_json_generator); } void WebServer::handle_date_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1034,8 +1023,6 @@ std::string WebServer::date_json(datetime::DateEntity *obj, JsonDetail start_con #ifdef USE_DATETIME_TIME void WebServer::on_time_update(datetime::TimeEntity *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", time_state_json_generator); } void WebServer::handle_time_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1092,8 +1079,6 @@ std::string WebServer::time_json(datetime::TimeEntity *obj, JsonDetail start_con #ifdef USE_DATETIME_DATETIME void WebServer::on_datetime_update(datetime::DateTimeEntity *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", datetime_state_json_generator); } void WebServer::handle_datetime_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1151,8 +1136,6 @@ std::string WebServer::datetime_json(datetime::DateTimeEntity *obj, JsonDetail s #ifdef USE_TEXT void WebServer::on_text_update(text::Text *obj, const std::string &state) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", text_state_json_generator); } void WebServer::handle_text_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1212,8 +1195,6 @@ std::string WebServer::text_json(text::Text *obj, const std::string &value, Json #ifdef USE_SELECT void WebServer::on_select_update(select::Select *obj, const std::string &state, size_t index) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", select_state_json_generator); } void WebServer::handle_select_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1270,8 +1251,6 @@ std::string WebServer::select_json(select::Select *obj, const std::string &value #ifdef USE_CLIMATE void WebServer::on_climate_update(climate::Climate *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", climate_state_json_generator); } void WebServer::handle_climate_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1412,8 +1391,6 @@ std::string WebServer::climate_json(climate::Climate *obj, JsonDetail start_conf #ifdef USE_LOCK void WebServer::on_lock_update(lock::Lock *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", lock_state_json_generator); } void WebServer::handle_lock_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1485,8 +1462,6 @@ std::string WebServer::lock_json(lock::Lock *obj, lock::LockState value, JsonDet #ifdef USE_VALVE void WebServer::on_valve_update(valve::Valve *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", valve_state_json_generator); } void WebServer::handle_valve_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1568,8 +1543,6 @@ std::string WebServer::valve_json(valve::Valve *obj, JsonDetail start_config) { #ifdef USE_ALARM_CONTROL_PANEL void WebServer::on_alarm_control_panel_update(alarm_control_panel::AlarmControlPanel *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", alarm_control_panel_state_json_generator); } void WebServer::handle_alarm_control_panel_request(AsyncWebServerRequest *request, const UrlMatch &match) { @@ -1714,8 +1687,6 @@ static const char *update_state_to_string(update::UpdateState state) { } void WebServer::on_update(update::UpdateEntity *obj) { - if (this->events_.empty()) - return; this->events_.deferrable_send_state(obj, "state", update_state_json_generator); } void WebServer::handle_update_request(AsyncWebServerRequest *request, const UrlMatch &match) { diff --git a/esphome/components/web_server_idf/web_server_idf.cpp b/esphome/components/web_server_idf/web_server_idf.cpp index b38c5fb92a..d90efd18bc 100644 --- a/esphome/components/web_server_idf/web_server_idf.cpp +++ b/esphome/components/web_server_idf/web_server_idf.cpp @@ -412,6 +412,9 @@ void AsyncEventSource::try_send_nodefer(const char *message, const char *event, void AsyncEventSource::deferrable_send_state(void *source, const char *event_type, message_generator_t *message_generator) { + // Skip if no connected clients to avoid unnecessary processing + if (this->empty()) + return; for (auto *ses : this->sessions_) { if (ses->fd_.load() != 0) { // Skip dead sessions ses->deferrable_send_state(source, event_type, message_generator); From bcc424afed08e1c2658c0d89662c25c2c8e504ed Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 08:21:19 -1000 Subject: [PATCH 076/201] [web_server] Reduce code duplication in JSON generation with helper functions (#11117) --- esphome/components/web_server/web_server.cpp | 54 ++++++-------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index 6f554ac958..f18f21b16b 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -458,13 +458,8 @@ std::string WebServer::sensor_json(sensor::Sensor *obj, float value, JsonDetail const auto uom_ref = obj->get_unit_of_measurement_ref(); - // Build JSON directly inline - std::string state; - if (std::isnan(value)) { - state = "NA"; - } else { - state = value_accuracy_with_uom_to_string(value, obj->get_accuracy_decimals(), uom_ref); - } + std::string state = + std::isnan(value) ? "NA" : value_accuracy_with_uom_to_string(value, obj->get_accuracy_decimals(), uom_ref); set_json_icon_state_value(root, obj, "sensor", state, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); @@ -795,8 +790,7 @@ std::string WebServer::light_json(light::LightState *obj, JsonDetail start_confi json::JsonBuilder builder; JsonObject root = builder.root(); - set_json_id(root, obj, "light", start_config); - root["state"] = obj->remote_values.is_on() ? "ON" : "OFF"; + set_json_value(root, obj, "light", obj->remote_values.is_on() ? "ON" : "OFF", start_config); light::LightJSONSchema::dump_json(*obj, root); if (start_config == DETAIL_ALL) { @@ -939,7 +933,13 @@ std::string WebServer::number_json(number::Number *obj, float value, JsonDetail const auto uom_ref = obj->traits.get_unit_of_measurement_ref(); - set_json_id(root, obj, "number", start_config); + std::string val_str = std::isnan(value) + ? "\"NaN\"" + : value_accuracy_to_string(value, step_to_accuracy_decimals(obj->traits.get_step())); + std::string state_str = std::isnan(value) ? "NA" + : value_accuracy_with_uom_to_string( + value, step_to_accuracy_decimals(obj->traits.get_step()), uom_ref); + set_json_icon_state_value(root, obj, "number", state_str, val_str, start_config); if (start_config == DETAIL_ALL) { root["min_value"] = value_accuracy_to_string(obj->traits.get_min_value(), step_to_accuracy_decimals(obj->traits.get_step())); @@ -951,14 +951,6 @@ std::string WebServer::number_json(number::Number *obj, float value, JsonDetail root["uom"] = uom_ref; this->add_sorting_info_(root, obj); } - if (std::isnan(value)) { - root["value"] = "\"NaN\""; - root["state"] = "NA"; - } else { - root["value"] = value_accuracy_to_string(value, step_to_accuracy_decimals(obj->traits.get_step())); - root["state"] = - value_accuracy_with_uom_to_string(value, step_to_accuracy_decimals(obj->traits.get_step()), uom_ref); - } return builder.serialize(); } @@ -1009,10 +1001,8 @@ std::string WebServer::date_json(datetime::DateEntity *obj, JsonDetail start_con json::JsonBuilder builder; JsonObject root = builder.root(); - set_json_id(root, obj, "date", start_config); std::string value = str_sprintf("%d-%02d-%02d", obj->year, obj->month, obj->day); - root["value"] = value; - root["state"] = value; + set_json_icon_state_value(root, obj, "date", value, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); } @@ -1065,10 +1055,8 @@ std::string WebServer::time_json(datetime::TimeEntity *obj, JsonDetail start_con json::JsonBuilder builder; JsonObject root = builder.root(); - set_json_id(root, obj, "time", start_config); std::string value = str_sprintf("%02d:%02d:%02d", obj->hour, obj->minute, obj->second); - root["value"] = value; - root["state"] = value; + set_json_icon_state_value(root, obj, "time", value, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); } @@ -1121,11 +1109,9 @@ std::string WebServer::datetime_json(datetime::DateTimeEntity *obj, JsonDetail s json::JsonBuilder builder; JsonObject root = builder.root(); - set_json_id(root, obj, "datetime", start_config); std::string value = str_sprintf("%d-%02d-%02d %02d:%02d:%02d", obj->year, obj->month, obj->day, obj->hour, obj->minute, obj->second); - root["value"] = value; - root["state"] = value; + set_json_icon_state_value(root, obj, "datetime", value, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); } @@ -1174,16 +1160,11 @@ std::string WebServer::text_json(text::Text *obj, const std::string &value, Json json::JsonBuilder builder; JsonObject root = builder.root(); - set_json_id(root, obj, "text", start_config); + std::string state = obj->traits.get_mode() == text::TextMode::TEXT_MODE_PASSWORD ? "********" : value; + set_json_icon_state_value(root, obj, "text", state, value, start_config); root["min_length"] = obj->traits.get_min_length(); root["max_length"] = obj->traits.get_max_length(); root["pattern"] = obj->traits.get_pattern(); - if (obj->traits.get_mode() == text::TextMode::TEXT_MODE_PASSWORD) { - root["state"] = "********"; - } else { - root["state"] = value; - } - root["value"] = value; if (start_config == DETAIL_ALL) { root["mode"] = (int) obj->traits.get_mode(); this->add_sorting_info_(root, obj); @@ -1725,9 +1706,8 @@ std::string WebServer::update_json(update::UpdateEntity *obj, JsonDetail start_c json::JsonBuilder builder; JsonObject root = builder.root(); - set_json_id(root, obj, "update", start_config); - root["value"] = obj->update_info.latest_version; - root["state"] = update_state_to_string(obj->state); + set_json_icon_state_value(root, obj, "update", update_state_to_string(obj->state), obj->update_info.latest_version, + start_config); if (start_config == DETAIL_ALL) { root["current_version"] = obj->update_info.current_version; root["title"] = obj->update_info.title; From c10f68ef0cc9e68eb6a4f1f1eff3cab6766281cf Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 08:24:57 -1000 Subject: [PATCH 077/201] [mdns] Conditionally store services to reduce RAM usage by 200-464 bytes (#11180) --- esphome/components/mdns/__init__.py | 19 ++++++++++++++++++- esphome/components/mdns/mdns_component.cpp | 17 +++++++++++------ esphome/components/mdns/mdns_component.h | 6 +++++- esphome/components/mdns/mdns_esp32.cpp | 5 +++-- esphome/components/mdns/mdns_esp8266.cpp | 5 +++-- esphome/components/mdns/mdns_host.cpp | 4 +++- esphome/components/mdns/mdns_libretiny.cpp | 5 +++-- esphome/components/mdns/mdns_rp2040.cpp | 5 +++-- esphome/components/openthread/__init__.py | 5 ++++- esphome/core/defines.h | 1 + 10 files changed, 54 insertions(+), 18 deletions(-) diff --git a/esphome/components/mdns/__init__.py b/esphome/components/mdns/__init__.py index 14e0420ef5..c6a9ee1a0c 100644 --- a/esphome/components/mdns/__init__.py +++ b/esphome/components/mdns/__init__.py @@ -1,6 +1,6 @@ import esphome.codegen as cg from esphome.components.esp32 import add_idf_component -from esphome.config_helpers import filter_source_files_from_platform +from esphome.config_helpers import filter_source_files_from_platform, get_logger_level import esphome.config_validation as cv from esphome.const import ( CONF_DISABLED, @@ -125,6 +125,17 @@ def mdns_service( ) +def enable_mdns_storage(): + """Enable persistent storage of mDNS services in the MDNSComponent. + + Called by external components (like OpenThread) that need access to + services after setup() completes via get_services(). + + Public API for external components. Do not remove. + """ + cg.add_define("USE_MDNS_STORE_SERVICES") + + @coroutine_with_priority(CoroPriority.NETWORK_SERVICES) async def to_code(config): if config[CONF_DISABLED] is True: @@ -150,6 +161,8 @@ async def to_code(config): if config[CONF_SERVICES]: cg.add_define("USE_MDNS_EXTRA_SERVICES") + # Extra services need to be stored persistently + enable_mdns_storage() # Ensure at least 1 service (fallback service) cg.add_define("MDNS_SERVICE_COUNT", max(1, service_count)) @@ -171,6 +184,10 @@ async def to_code(config): # Ensure at least 1 to avoid zero-size array cg.add_define("MDNS_DYNAMIC_TXT_COUNT", max(1, dynamic_txt_count)) + # Enable storage if verbose logging is enabled (for dump_config) + if get_logger_level() in ("VERBOSE", "VERY_VERBOSE"): + enable_mdns_storage() + var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) diff --git a/esphome/components/mdns/mdns_component.cpp b/esphome/components/mdns/mdns_component.cpp index 9cb664c3c3..fea3ced99f 100644 --- a/esphome/components/mdns/mdns_component.cpp +++ b/esphome/components/mdns/mdns_component.cpp @@ -36,7 +36,7 @@ MDNS_STATIC_CONST_CHAR(SERVICE_TCP, "_tcp"); // Wrap build-time defines into flash storage MDNS_STATIC_CONST_CHAR(VALUE_VERSION, ESPHOME_VERSION); -void MDNSComponent::compile_records_() { +void MDNSComponent::compile_records_(StaticVector &services) { this->hostname_ = App.get_name(); // IMPORTANT: The #ifdef blocks below must match COMPONENTS_WITH_MDNS_SERVICES @@ -53,7 +53,7 @@ void MDNSComponent::compile_records_() { MDNS_STATIC_CONST_CHAR(VALUE_BOARD, ESPHOME_BOARD); if (api::global_api_server != nullptr) { - auto &service = this->services_.emplace_next(); + auto &service = services.emplace_next(); service.service_type = MDNS_STR(SERVICE_ESPHOMELIB); service.proto = MDNS_STR(SERVICE_TCP); service.port = api::global_api_server->get_port(); @@ -146,7 +146,7 @@ void MDNSComponent::compile_records_() { #ifdef USE_PROMETHEUS MDNS_STATIC_CONST_CHAR(SERVICE_PROMETHEUS, "_prometheus-http"); - auto &prom_service = this->services_.emplace_next(); + auto &prom_service = services.emplace_next(); prom_service.service_type = MDNS_STR(SERVICE_PROMETHEUS); prom_service.proto = MDNS_STR(SERVICE_TCP); prom_service.port = USE_WEBSERVER_PORT; @@ -155,7 +155,7 @@ void MDNSComponent::compile_records_() { #ifdef USE_WEBSERVER MDNS_STATIC_CONST_CHAR(SERVICE_HTTP, "_http"); - auto &web_service = this->services_.emplace_next(); + auto &web_service = services.emplace_next(); web_service.service_type = MDNS_STR(SERVICE_HTTP); web_service.proto = MDNS_STR(SERVICE_TCP); web_service.port = USE_WEBSERVER_PORT; @@ -167,12 +167,17 @@ void MDNSComponent::compile_records_() { // Publish "http" service if not using native API or any other services // This is just to have *some* mDNS service so that .local resolution works - auto &fallback_service = this->services_.emplace_next(); + auto &fallback_service = services.emplace_next(); fallback_service.service_type = MDNS_STR(SERVICE_HTTP); fallback_service.proto = MDNS_STR(SERVICE_TCP); fallback_service.port = USE_WEBSERVER_PORT; fallback_service.txt_records.push_back({MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}); #endif + +#ifdef USE_MDNS_STORE_SERVICES + // Copy to member variable if storage is enabled (verbose logging, OpenThread, or extra services) + this->services_ = services; +#endif } void MDNSComponent::dump_config() { @@ -180,7 +185,7 @@ void MDNSComponent::dump_config() { "mDNS:\n" " Hostname: %s", this->hostname_.c_str()); -#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE +#ifdef USE_MDNS_STORE_SERVICES ESP_LOGV(TAG, " Services:"); for (const auto &service : this->services_) { ESP_LOGV(TAG, " - %s, %s, %d", MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), diff --git a/esphome/components/mdns/mdns_component.h b/esphome/components/mdns/mdns_component.h index 141e42d976..62476e9504 100644 --- a/esphome/components/mdns/mdns_component.h +++ b/esphome/components/mdns/mdns_component.h @@ -55,7 +55,9 @@ class MDNSComponent : public Component { void add_extra_service(MDNSService service) { this->services_.emplace_next() = std::move(service); } #endif +#ifdef USE_MDNS_STORE_SERVICES const StaticVector &get_services() const { return this->services_; } +#endif void on_shutdown() override; @@ -71,9 +73,11 @@ class MDNSComponent : public Component { StaticVector dynamic_txt_values_; protected: +#ifdef USE_MDNS_STORE_SERVICES StaticVector services_{}; +#endif std::string hostname_; - void compile_records_(); + void compile_records_(StaticVector &services); }; } // namespace mdns diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index e77c0b9b05..da47be7dbc 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -12,7 +12,8 @@ namespace mdns { static const char *const TAG = "mdns"; void MDNSComponent::setup() { - this->compile_records_(); + StaticVector services; + this->compile_records_(services); esp_err_t err = mdns_init(); if (err != ESP_OK) { @@ -24,7 +25,7 @@ void MDNSComponent::setup() { mdns_hostname_set(this->hostname_.c_str()); mdns_instance_name_set(this->hostname_.c_str()); - for (const auto &service : this->services_) { + for (const auto &service : services) { std::vector txt_records; for (const auto &record : service.txt_records) { mdns_txt_item_t it{}; diff --git a/esphome/components/mdns/mdns_esp8266.cpp b/esphome/components/mdns/mdns_esp8266.cpp index f3779042ed..06503742db 100644 --- a/esphome/components/mdns/mdns_esp8266.cpp +++ b/esphome/components/mdns/mdns_esp8266.cpp @@ -12,11 +12,12 @@ namespace esphome { namespace mdns { void MDNSComponent::setup() { - this->compile_records_(); + StaticVector services; + this->compile_records_(services); MDNS.begin(this->hostname_.c_str()); - for (const auto &service : this->services_) { + for (const auto &service : services) { // Strip the leading underscore from the proto and service_type. While it is // part of the wire protocol to have an underscore, and for example ESP-IDF // expects the underscore to be there, the ESP8266 implementation always adds diff --git a/esphome/components/mdns/mdns_host.cpp b/esphome/components/mdns/mdns_host.cpp index 78767ed136..f645d8d068 100644 --- a/esphome/components/mdns/mdns_host.cpp +++ b/esphome/components/mdns/mdns_host.cpp @@ -9,7 +9,9 @@ namespace esphome { namespace mdns { -void MDNSComponent::setup() { this->compile_records_(); } +void MDNSComponent::setup() { + // Host platform doesn't have actual mDNS implementation +} void MDNSComponent::on_shutdown() {} diff --git a/esphome/components/mdns/mdns_libretiny.cpp b/esphome/components/mdns/mdns_libretiny.cpp index 5540bf361a..a959482ff6 100644 --- a/esphome/components/mdns/mdns_libretiny.cpp +++ b/esphome/components/mdns/mdns_libretiny.cpp @@ -12,11 +12,12 @@ namespace esphome { namespace mdns { void MDNSComponent::setup() { - this->compile_records_(); + StaticVector services; + this->compile_records_(services); MDNS.begin(this->hostname_.c_str()); - for (const auto &service : this->services_) { + for (const auto &service : services) { // Strip the leading underscore from the proto and service_type. While it is // part of the wire protocol to have an underscore, and for example ESP-IDF // expects the underscore to be there, the ESP8266 implementation always adds diff --git a/esphome/components/mdns/mdns_rp2040.cpp b/esphome/components/mdns/mdns_rp2040.cpp index 5ad006f5d4..9dfb05bda9 100644 --- a/esphome/components/mdns/mdns_rp2040.cpp +++ b/esphome/components/mdns/mdns_rp2040.cpp @@ -12,11 +12,12 @@ namespace esphome { namespace mdns { void MDNSComponent::setup() { - this->compile_records_(); + StaticVector services; + this->compile_records_(services); MDNS.begin(this->hostname_.c_str()); - for (const auto &service : this->services_) { + for (const auto &service : services) { // Strip the leading underscore from the proto and service_type. While it is // part of the wire protocol to have an underscore, and for example ESP-IDF // expects the underscore to be there, the ESP8266 implementation always adds diff --git a/esphome/components/openthread/__init__.py b/esphome/components/openthread/__init__.py index 2f085ebaae..3fac497c3d 100644 --- a/esphome/components/openthread/__init__.py +++ b/esphome/components/openthread/__init__.py @@ -5,7 +5,7 @@ from esphome.components.esp32 import ( add_idf_sdkconfig_option, only_on_variant, ) -from esphome.components.mdns import MDNSComponent +from esphome.components.mdns import MDNSComponent, enable_mdns_storage import esphome.config_validation as cv from esphome.const import CONF_CHANNEL, CONF_ENABLE_IPV6, CONF_ID import esphome.final_validate as fv @@ -141,6 +141,9 @@ FINAL_VALIDATE_SCHEMA = _final_validate async def to_code(config): cg.add_define("USE_OPENTHREAD") + # OpenThread SRP needs access to mDNS services after setup + enable_mdns_storage() + ot = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(ot, config) diff --git a/esphome/core/defines.h b/esphome/core/defines.h index ae44e16624..ed30efd0b5 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -83,6 +83,7 @@ #define USE_LVGL_TILEVIEW #define USE_LVGL_TOUCHSCREEN #define USE_MDNS +#define USE_MDNS_STORE_SERVICES #define MDNS_SERVICE_COUNT 3 #define MDNS_DYNAMIC_TXT_COUNT 3 #define USE_MEDIA_PLAYER From aec60d122b7e1e0c7fed4a4d25a07c790e49fe03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:34:12 -1000 Subject: [PATCH 078/201] Bump esphome-dashboard from 20251009.0 to 20251013.0 (#11212) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 64946263ea..9937709c1c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ pyserial==3.5 platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 -esphome-dashboard==20251009.0 +esphome-dashboard==20251013.0 aioesphomeapi==41.14.0 zeroconf==0.148.0 puremagic==1.30 From 0f356fcc79dfe30b4a4dd71b0221906274fbf3a3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 10:20:43 -1000 Subject: [PATCH 079/201] [core] Optimize looping_components_ with FixedVector to save flash (#11183) --- esphome/core/application.cpp | 4 +-- esphome/core/application.h | 2 +- esphome/core/helpers.h | 48 ++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/esphome/core/application.cpp b/esphome/core/application.cpp index 1be193bb7e..c745aa0ae5 100644 --- a/esphome/core/application.cpp +++ b/esphome/core/application.cpp @@ -340,8 +340,8 @@ void Application::calculate_looping_components_() { } } - // Pre-reserve vector to avoid reallocations - this->looping_components_.reserve(total_looping); + // Initialize FixedVector with exact size - no reallocation possible + this->looping_components_.init(total_looping); // Add all components with loop override that aren't already LOOP_DONE // Some components (like logger) may call disable_loop() during initialization diff --git a/esphome/core/application.h b/esphome/core/application.h index 1f22499051..b0f9c23191 100644 --- a/esphome/core/application.h +++ b/esphome/core/application.h @@ -472,7 +472,7 @@ class Application { // - When a component is enabled, it's swapped with the first inactive component // and active_end_ is incremented // - This eliminates branch mispredictions from flag checking in the hot loop - std::vector looping_components_{}; + FixedVector looping_components_{}; #ifdef USE_SOCKET_SELECT_SUPPORT std::vector socket_fds_; // Vector of all monitored socket file descriptors #endif diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index e06f2d15ef..b5a0a1c8ac 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -159,6 +159,54 @@ template class StaticVector { const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } }; +/// Fixed-capacity vector - allocates once at runtime, never reallocates +/// This avoids std::vector template overhead (_M_realloc_insert, _M_default_append) +/// when size is known at initialization but not at compile time +template class FixedVector { + private: + T *data_{nullptr}; + size_t size_{0}; + size_t capacity_{0}; + + public: + FixedVector() = default; + + ~FixedVector() { + if (data_ != nullptr) { + delete[] data_; + } + } + + // Disable copy to avoid accidental copies + FixedVector(const FixedVector &) = delete; + FixedVector &operator=(const FixedVector &) = delete; + + // Allocate capacity - can only be called once on empty vector + void init(size_t n) { + if (data_ == nullptr && n > 0) { + data_ = new T[n]; + capacity_ = n; + size_ = 0; + } + } + + /// Add element without bounds checking + /// Caller must ensure sufficient capacity was allocated via init() + /// Silently ignores pushes beyond capacity (no exception or assertion) + void push_back(const T &value) { + if (size_ < capacity_) { + data_[size_++] = value; + } + } + + size_t size() const { return size_; } + + /// Access element without bounds checking (matches std::vector behavior) + /// Caller must ensure index is valid (i < size()) + T &operator[](size_t i) { return data_[i]; } + const T &operator[](size_t i) const { return data_[i]; } +}; + ///@} /// @name Mathematics From 8d8fcfeda2082a74b9b7c91dc7ab37ea78530aa2 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 10:39:38 -1000 Subject: [PATCH 080/201] [core] Add make_name_with_suffix helper to optimize string concatenation (#11176) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/esp32_ble/ble.cpp | 7 ++++-- .../ethernet/ethernet_component.cpp | 4 +++- esphome/components/mqtt/mqtt_client.cpp | 3 ++- esphome/components/wifi/wifi_component.cpp | 4 +++- esphome/config_validation.py | 7 ++++++ esphome/core/application.h | 12 +++++++--- esphome/core/config.py | 2 +- esphome/core/helpers.cpp | 24 +++++++++++++++++++ esphome/core/helpers.h | 10 ++++++++ 9 files changed, 64 insertions(+), 9 deletions(-) diff --git a/esphome/components/esp32_ble/ble.cpp b/esphome/components/esp32_ble/ble.cpp index 0c340c55cc..1f6bc6d0a0 100644 --- a/esphome/components/esp32_ble/ble.cpp +++ b/esphome/components/esp32_ble/ble.cpp @@ -213,8 +213,11 @@ bool ESP32BLE::ble_setup_() { if (this->name_.has_value()) { name = this->name_.value(); if (App.is_name_add_mac_suffix_enabled()) { - name += "-"; - name += get_mac_address().substr(6); + // MAC address suffix length (last 6 characters of 12-char MAC address string) + constexpr size_t mac_address_suffix_len = 6; + const std::string mac_addr = get_mac_address(); + const char *mac_suffix_ptr = mac_addr.c_str() + mac_address_suffix_len; + name = make_name_with_suffix(name, '-', mac_suffix_ptr, mac_address_suffix_len); } } else { name = App.get_name(); diff --git a/esphome/components/ethernet/ethernet_component.cpp b/esphome/components/ethernet/ethernet_component.cpp index 28043dd969..13adab8815 100644 --- a/esphome/components/ethernet/ethernet_component.cpp +++ b/esphome/components/ethernet/ethernet_component.cpp @@ -691,7 +691,9 @@ void EthernetComponent::set_manual_ip(const ManualIP &manual_ip) { this->manual_ std::string EthernetComponent::get_use_address() const { if (this->use_address_.empty()) { - return App.get_name() + ".local"; + // ".local" suffix length for mDNS hostnames + constexpr size_t mdns_local_suffix_len = 5; + return make_name_with_suffix(App.get_name(), '.', "local", mdns_local_suffix_len); } return this->use_address_; } diff --git a/esphome/components/mqtt/mqtt_client.cpp b/esphome/components/mqtt/mqtt_client.cpp index 7ab6efd1a1..16f54ab8a0 100644 --- a/esphome/components/mqtt/mqtt_client.cpp +++ b/esphome/components/mqtt/mqtt_client.cpp @@ -29,7 +29,8 @@ static const char *const TAG = "mqtt"; MQTTClientComponent::MQTTClientComponent() { global_mqtt_client = this; - this->credentials_.client_id = App.get_name() + "-" + get_mac_address(); + const std::string mac_addr = get_mac_address(); + this->credentials_.client_id = make_name_with_suffix(App.get_name(), '-', mac_addr.c_str(), mac_addr.size()); } // Connection diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index 71ee4271ba..0f9f879181 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -267,7 +267,9 @@ network::IPAddress WiFiComponent::get_dns_address(int num) { } std::string WiFiComponent::get_use_address() const { if (this->use_address_.empty()) { - return App.get_name() + ".local"; + // ".local" suffix length for mDNS hostnames + constexpr size_t mdns_local_suffix_len = 5; + return make_name_with_suffix(App.get_name(), '.', "local", mdns_local_suffix_len); } return this->use_address_; } diff --git a/esphome/config_validation.py b/esphome/config_validation.py index 7aaba886e3..ebfedf2017 100644 --- a/esphome/config_validation.py +++ b/esphome/config_validation.py @@ -1195,6 +1195,13 @@ def validate_bytes(value): def hostname(value): + """Validate that the value is a valid hostname. + + Maximum length is 63 characters per RFC 1035. + + Note: If this limit is changed, update MAX_NAME_WITH_SUFFIX_SIZE in + esphome/core/helpers.cpp to accommodate the new maximum length. + """ value = string(value) if re.match(r"^[a-z0-9-]{1,63}$", value, re.IGNORECASE) is not None: return value diff --git a/esphome/core/application.h b/esphome/core/application.h index b0f9c23191..6e7f1b49f2 100644 --- a/esphome/core/application.h +++ b/esphome/core/application.h @@ -102,9 +102,15 @@ class Application { arch_init(); this->name_add_mac_suffix_ = name_add_mac_suffix; if (name_add_mac_suffix) { - const std::string mac_suffix = get_mac_address().substr(6); - this->name_ = name + "-" + mac_suffix; - this->friendly_name_ = friendly_name.empty() ? "" : friendly_name + " " + mac_suffix; + // MAC address suffix length (last 6 characters of 12-char MAC address string) + constexpr size_t mac_address_suffix_len = 6; + const std::string mac_addr = get_mac_address(); + // Use pointer + offset to avoid substr() allocation + const char *mac_suffix_ptr = mac_addr.c_str() + mac_address_suffix_len; + this->name_ = make_name_with_suffix(name, '-', mac_suffix_ptr, mac_address_suffix_len); + if (!friendly_name.empty()) { + this->friendly_name_ = make_name_with_suffix(friendly_name, ' ', mac_suffix_ptr, mac_address_suffix_len); + } } else { this->name_ = name; this->friendly_name_ = friendly_name; diff --git a/esphome/core/config.py b/esphome/core/config.py index 7bf7f82a8b..8a5876dbcf 100644 --- a/esphome/core/config.py +++ b/esphome/core/config.py @@ -200,7 +200,7 @@ CONFIG_SCHEMA = cv.All( cv.Schema( { cv.Required(CONF_NAME): cv.valid_name, - cv.Optional(CONF_FRIENDLY_NAME, ""): cv.string, + cv.Optional(CONF_FRIENDLY_NAME, ""): cv.All(cv.string, cv.Length(max=120)), cv.Optional(CONF_AREA): validate_area_config, cv.Optional(CONF_COMMENT): cv.string, cv.Required(CONF_BUILD_PATH): cv.string, diff --git a/esphome/core/helpers.cpp b/esphome/core/helpers.cpp index d4f6809776..fb8b220b2f 100644 --- a/esphome/core/helpers.cpp +++ b/esphome/core/helpers.cpp @@ -235,6 +235,30 @@ std::string str_sprintf(const char *fmt, ...) { return str; } +// Maximum size for name with suffix: 120 (max friendly name) + 1 (separator) + 6 (MAC suffix) + 1 (null term) +static constexpr size_t MAX_NAME_WITH_SUFFIX_SIZE = 128; + +std::string make_name_with_suffix(const std::string &name, char sep, const char *suffix_ptr, size_t suffix_len) { + char buffer[MAX_NAME_WITH_SUFFIX_SIZE]; + size_t name_len = name.size(); + size_t total_len = name_len + 1 + suffix_len; + + // Silently truncate if needed: prioritize keeping the full suffix + if (total_len >= MAX_NAME_WITH_SUFFIX_SIZE) { + // NOTE: This calculation could underflow if suffix_len >= MAX_NAME_WITH_SUFFIX_SIZE - 2, + // but this is safe because this helper is only called with small suffixes: + // MAC suffixes (6-12 bytes), ".local" (5 bytes), etc. + name_len = MAX_NAME_WITH_SUFFIX_SIZE - suffix_len - 2; // -2 for separator and null terminator + total_len = name_len + 1 + suffix_len; + } + + memcpy(buffer, name.c_str(), name_len); + buffer[name_len] = sep; + memcpy(buffer + name_len + 1, suffix_ptr, suffix_len); + buffer[total_len] = '\0'; + return std::string(buffer, total_len); +} + // Parsing & formatting size_t parse_hex(const char *str, size_t length, uint8_t *data, size_t count) { diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index b5a0a1c8ac..ed1d5ac108 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -354,6 +354,16 @@ std::string __attribute__((format(printf, 1, 3))) str_snprintf(const char *fmt, /// sprintf-like function returning std::string. std::string __attribute__((format(printf, 1, 2))) str_sprintf(const char *fmt, ...); +/// Concatenate a name with a separator and suffix using an efficient stack-based approach. +/// This avoids multiple heap allocations during string construction. +/// Maximum name length supported is 120 characters for friendly names. +/// @param name The base name string +/// @param sep The separator character (e.g., '-', ' ', or '.') +/// @param suffix_ptr Pointer to the suffix characters +/// @param suffix_len Length of the suffix +/// @return The concatenated string: name + sep + suffix +std::string make_name_with_suffix(const std::string &name, char sep, const char *suffix_ptr, size_t suffix_len); + ///@} /// @name Parsing & formatting From 6372099df3a9a2b4dfb5bff5916b5f40cd47edf5 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 10:53:11 -1000 Subject: [PATCH 081/201] [http_request] Pass parameters by const reference to reduce flash usage (#11184) --- esphome/components/http_request/http_request.h | 4 ++-- esphome/components/http_request/http_request_arduino.cpp | 5 +++-- esphome/components/http_request/http_request_arduino.h | 4 ++-- esphome/components/http_request/http_request_host.cpp | 5 +++-- esphome/components/http_request/http_request_host.h | 4 ++-- esphome/components/http_request/http_request_idf.cpp | 5 +++-- esphome/components/http_request/http_request_idf.h | 4 ++-- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/esphome/components/http_request/http_request.h b/esphome/components/http_request/http_request.h index 95515f731a..bb14cc6f51 100644 --- a/esphome/components/http_request/http_request.h +++ b/esphome/components/http_request/http_request.h @@ -167,8 +167,8 @@ class HttpRequestComponent : public Component { } protected: - virtual std::shared_ptr perform(std::string url, std::string method, std::string body, - std::list
request_headers, + virtual std::shared_ptr perform(const std::string &url, const std::string &method, + const std::string &body, const std::list
&request_headers, std::set collect_headers) = 0; const char *useragent_{nullptr}; bool follow_redirects_{}; diff --git a/esphome/components/http_request/http_request_arduino.cpp b/esphome/components/http_request/http_request_arduino.cpp index c009b33c2d..dfdbbd3fab 100644 --- a/esphome/components/http_request/http_request_arduino.cpp +++ b/esphome/components/http_request/http_request_arduino.cpp @@ -14,8 +14,9 @@ namespace http_request { static const char *const TAG = "http_request.arduino"; -std::shared_ptr HttpRequestArduino::perform(std::string url, std::string method, std::string body, - std::list
request_headers, +std::shared_ptr HttpRequestArduino::perform(const std::string &url, const std::string &method, + const std::string &body, + const std::list
&request_headers, std::set collect_headers) { if (!network::is_connected()) { this->status_momentary_error("failed", 1000); diff --git a/esphome/components/http_request/http_request_arduino.h b/esphome/components/http_request/http_request_arduino.h index 44744f8c78..c8208c74d8 100644 --- a/esphome/components/http_request/http_request_arduino.h +++ b/esphome/components/http_request/http_request_arduino.h @@ -31,8 +31,8 @@ class HttpContainerArduino : public HttpContainer { class HttpRequestArduino : public HttpRequestComponent { protected: - std::shared_ptr perform(std::string url, std::string method, std::string body, - std::list
request_headers, + std::shared_ptr perform(const std::string &url, const std::string &method, const std::string &body, + const std::list
&request_headers, std::set collect_headers) override; }; diff --git a/esphome/components/http_request/http_request_host.cpp b/esphome/components/http_request/http_request_host.cpp index 0b4c998a40..c20ea552b7 100644 --- a/esphome/components/http_request/http_request_host.cpp +++ b/esphome/components/http_request/http_request_host.cpp @@ -17,8 +17,9 @@ namespace http_request { static const char *const TAG = "http_request.host"; -std::shared_ptr HttpRequestHost::perform(std::string url, std::string method, std::string body, - std::list
request_headers, +std::shared_ptr HttpRequestHost::perform(const std::string &url, const std::string &method, + const std::string &body, + const std::list
&request_headers, std::set response_headers) { if (!network::is_connected()) { this->status_momentary_error("failed", 1000); diff --git a/esphome/components/http_request/http_request_host.h b/esphome/components/http_request/http_request_host.h index bbeed87f70..fdd72e7ea5 100644 --- a/esphome/components/http_request/http_request_host.h +++ b/esphome/components/http_request/http_request_host.h @@ -18,8 +18,8 @@ class HttpContainerHost : public HttpContainer { class HttpRequestHost : public HttpRequestComponent { public: - std::shared_ptr perform(std::string url, std::string method, std::string body, - std::list
request_headers, + std::shared_ptr perform(const std::string &url, const std::string &method, const std::string &body, + const std::list
&request_headers, std::set response_headers) override; void set_ca_path(const char *ca_path) { this->ca_path_ = ca_path; } diff --git a/esphome/components/http_request/http_request_idf.cpp b/esphome/components/http_request/http_request_idf.cpp index 89a0891b03..a91c0bfc25 100644 --- a/esphome/components/http_request/http_request_idf.cpp +++ b/esphome/components/http_request/http_request_idf.cpp @@ -52,8 +52,9 @@ esp_err_t HttpRequestIDF::http_event_handler(esp_http_client_event_t *evt) { return ESP_OK; } -std::shared_ptr HttpRequestIDF::perform(std::string url, std::string method, std::string body, - std::list
request_headers, +std::shared_ptr HttpRequestIDF::perform(const std::string &url, const std::string &method, + const std::string &body, + const std::list
&request_headers, std::set collect_headers) { if (!network::is_connected()) { this->status_momentary_error("failed", 1000); diff --git a/esphome/components/http_request/http_request_idf.h b/esphome/components/http_request/http_request_idf.h index 5c5b784853..90dee0be68 100644 --- a/esphome/components/http_request/http_request_idf.h +++ b/esphome/components/http_request/http_request_idf.h @@ -37,8 +37,8 @@ class HttpRequestIDF : public HttpRequestComponent { void set_buffer_size_tx(uint16_t buffer_size_tx) { this->buffer_size_tx_ = buffer_size_tx; } protected: - std::shared_ptr perform(std::string url, std::string method, std::string body, - std::list
request_headers, + std::shared_ptr perform(const std::string &url, const std::string &method, const std::string &body, + const std::list
&request_headers, std::set collect_headers) override; // if zero ESP-IDF will use DEFAULT_HTTP_BUF_SIZE uint16_t buffer_size_rx_{}; From 3df4dbd3a62c73480c1f6e756081f37ee76717fe Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Mon, 13 Oct 2025 17:12:45 -0400 Subject: [PATCH 082/201] [core] Properly clean the build dir in the HA addon (#11208) --- esphome/writer.py | 25 +++++++++++------- tests/unit_tests/test_writer.py | 46 +++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/esphome/writer.py b/esphome/writer.py index b5cfd9b667..8eee445cf1 100644 --- a/esphome/writer.py +++ b/esphome/writer.py @@ -15,6 +15,8 @@ from esphome.const import ( from esphome.core import CORE, EsphomeError from esphome.helpers import ( copy_file_if_changed, + get_str_env, + is_ha_addon, read_file, walk_files, write_file_if_changed, @@ -338,16 +340,21 @@ def clean_build(): def clean_all(configuration: list[str]): import shutil - # Clean entire build dir - for dir in configuration: - build_dir = Path(dir) / ".esphome" - if build_dir.is_dir(): - _LOGGER.info("Cleaning %s", build_dir) - # Don't remove storage as it will cause the dashboard to regenerate all configs - for item in build_dir.iterdir(): - if item.is_file(): + data_dirs = [Path(dir) / ".esphome" for dir in configuration] + if is_ha_addon(): + data_dirs.append(Path("/data")) + if "ESPHOME_DATA_DIR" in os.environ: + data_dirs.append(Path(get_str_env("ESPHOME_DATA_DIR", None))) + + # Clean build dir + for dir in data_dirs: + if dir.is_dir(): + _LOGGER.info("Cleaning %s", dir) + # Don't remove storage or .json files which are needed by the dashboard + for item in dir.iterdir(): + if item.is_file() and not item.name.endswith(".json"): item.unlink() - elif item.name != "storage" and item.is_dir(): + elif item.is_dir() and item.name != "storage": shutil.rmtree(item) # Clean PlatformIO project files diff --git a/tests/unit_tests/test_writer.py b/tests/unit_tests/test_writer.py index bffd2b3881..a4490fbbc0 100644 --- a/tests/unit_tests/test_writer.py +++ b/tests/unit_tests/test_writer.py @@ -985,3 +985,49 @@ def test_clean_all_removes_non_storage_directories( # Verify logging mentions cleaning assert "Cleaning" in caplog.text assert str(build_dir) in caplog.text + + +@patch("esphome.writer.CORE") +def test_clean_all_preserves_json_files( + mock_core: MagicMock, + tmp_path: Path, + caplog: pytest.LogCaptureFixture, +) -> None: + """Test clean_all preserves .json files.""" + # Create build directory with various files + config_dir = tmp_path / "config" + config_dir.mkdir() + + build_dir = config_dir / ".esphome" + build_dir.mkdir() + + # Create .json files (should be preserved) + (build_dir / "config.json").write_text('{"config": "data"}') + (build_dir / "metadata.json").write_text('{"metadata": "info"}') + + # Create non-.json files (should be removed) + (build_dir / "dummy.txt").write_text("x") + (build_dir / "other.log").write_text("log content") + + # Call clean_all + from esphome.writer import clean_all + + with caplog.at_level("INFO"): + clean_all([str(config_dir)]) + + # Verify .esphome directory still exists + assert build_dir.exists() + + # Verify .json files are preserved + assert (build_dir / "config.json").exists() + assert (build_dir / "config.json").read_text() == '{"config": "data"}' + assert (build_dir / "metadata.json").exists() + assert (build_dir / "metadata.json").read_text() == '{"metadata": "info"}' + + # Verify non-.json files were removed + assert not (build_dir / "dummy.txt").exists() + assert not (build_dir / "other.log").exists() + + # Verify logging mentions cleaning + assert "Cleaning" in caplog.text + assert str(build_dir) in caplog.text From 9fb254fdc21a97d7f22aa682a88a6e33c6ef94f9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 11:23:44 -1000 Subject: [PATCH 083/201] Fix log retrieval with FQDN when mDNS is disabled (#11202) --- esphome/__main__.py | 15 +++++++----- tests/unit_tests/test_main.py | 45 ++++++++++++++++++++++++++++------- 2 files changed, 46 insertions(+), 14 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index be4551f6b5..8e0c475525 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -268,8 +268,10 @@ def has_ip_address() -> bool: def has_resolvable_address() -> bool: - """Check if CORE.address is resolvable (via mDNS or is an IP address).""" - return has_mdns() or has_ip_address() + """Check if CORE.address is resolvable (via mDNS, DNS, or is an IP address).""" + # Any address (IP, mDNS hostname, or regular DNS hostname) is resolvable + # The resolve_ip_address() function in helpers.py handles all types via AsyncResolver + return CORE.address is not None def mqtt_get_ip(config: ConfigType, username: str, password: str, client_id: str): @@ -578,11 +580,12 @@ def show_logs(config: ConfigType, args: ArgsProtocol, devices: list[str]) -> int if has_api(): addresses_to_use: list[str] | None = None - if port_type == "NETWORK" and (has_mdns() or is_ip_address(port)): + if port_type == "NETWORK": + # Network addresses (IPs, mDNS names, or regular DNS hostnames) can be used + # The resolve_ip_address() function in helpers.py handles all types addresses_to_use = devices - elif port_type in ("NETWORK", "MQTT", "MQTTIP") and has_mqtt_ip_lookup(): - # Only use MQTT IP lookup if the first condition didn't match - # (for MQTT/MQTTIP types, or for NETWORK when mdns/ip check fails) + elif port_type in ("MQTT", "MQTTIP") and has_mqtt_ip_lookup(): + # Use MQTT IP lookup for MQTT/MQTTIP types addresses_to_use = mqtt_get_ip( config, args.username, args.password, args.client_id ) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index e35378145a..becf911fa3 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -1203,6 +1203,31 @@ def test_show_logs_api( ) +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_with_fqdn_mdns_disabled( + mock_run_logs: Mock, +) -> None: + """Test show_logs with API using FQDN when mDNS is disabled.""" + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MDNS: {CONF_DISABLED: True}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + + args = MockArgs() + devices = ["device.example.com"] + + result = show_logs(CORE.config, args, devices) + + assert result == 0 + # Should use the FQDN directly, not try MQTT lookup + mock_run_logs.assert_called_once_with(CORE.config, ["device.example.com"]) + + @patch("esphome.components.api.client.run_logs") def test_show_logs_api_with_mqtt_fallback( mock_run_logs: Mock, @@ -1222,7 +1247,7 @@ def test_show_logs_api_with_mqtt_fallback( mock_mqtt_get_ip.return_value = ["192.168.1.200"] args = MockArgs(username="user", password="pass", client_id="client") - devices = ["device.local"] + devices = ["MQTTIP"] result = show_logs(CORE.config, args, devices) @@ -1487,27 +1512,31 @@ def test_mqtt_get_ip() -> None: def test_has_resolvable_address() -> None: """Test has_resolvable_address function.""" - # Test with mDNS enabled and hostname address + # Test with mDNS enabled and .local hostname address setup_core(config={}, address="esphome-device.local") assert has_resolvable_address() is True - # Test with mDNS disabled and hostname address + # Test with mDNS disabled and .local hostname address (still resolvable via DNS) setup_core( config={CONF_MDNS: {CONF_DISABLED: True}}, address="esphome-device.local" ) - assert has_resolvable_address() is False + assert has_resolvable_address() is True - # Test with IP address (mDNS doesn't matter) + # Test with mDNS disabled and regular DNS hostname (resolvable) + setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address="device.example.com") + assert has_resolvable_address() is True + + # Test with IP address (always resolvable, mDNS doesn't matter) setup_core(config={}, address="192.168.1.100") assert has_resolvable_address() is True - # Test with IP address and mDNS disabled + # Test with IP address and mDNS disabled (still resolvable) setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address="192.168.1.100") assert has_resolvable_address() is True - # Test with no address but mDNS enabled (can still resolve mDNS names) + # Test with no address setup_core(config={}, address=None) - assert has_resolvable_address() is True + assert has_resolvable_address() is False # Test with no address and mDNS disabled setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address=None) From c652aa375a402a9888821955699bf1c93fb9de1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 13:10:46 -1000 Subject: [PATCH 084/201] Bump pylint from 3.3.9 to 4.0.0 (#11211) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index 51b8e6f8ed..c4227fdbde 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,4 +1,4 @@ -pylint==3.3.9 +pylint==4.0.0 flake8==7.3.0 # also change in .pre-commit-config.yaml when updating ruff==0.14.0 # also change in .pre-commit-config.yaml when updating pyupgrade==3.21.0 # also change in .pre-commit-config.yaml when updating From fe07c342467b4d42388ff2eeafff338d5e03f20b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 00:00:45 +0000 Subject: [PATCH 085/201] Bump aioesphomeapi from 41.14.0 to 41.16.0 (#11215) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9937709c1c..1142c587b6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.14.0 +aioesphomeapi==41.16.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From 7c02f2f10adab07a9c63c574c573cc278999bf4d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 15:00:49 -1000 Subject: [PATCH 086/201] [socket] Split LWIP socket classes to reduce memory overhead on ESP8266/RP2040 (#11172) --- .../components/socket/lwip_raw_tcp_impl.cpp | 190 +++++++++++------- 1 file changed, 113 insertions(+), 77 deletions(-) diff --git a/esphome/components/socket/lwip_raw_tcp_impl.cpp b/esphome/components/socket/lwip_raw_tcp_impl.cpp index 3377682474..4dedeffb6a 100644 --- a/esphome/components/socket/lwip_raw_tcp_impl.cpp +++ b/esphome/components/socket/lwip_raw_tcp_impl.cpp @@ -40,33 +40,14 @@ class LWIPRawImpl : public Socket { void init() { LWIP_LOG("init(%p)", pcb_); tcp_arg(pcb_, this); - tcp_accept(pcb_, LWIPRawImpl::s_accept_fn); tcp_recv(pcb_, LWIPRawImpl::s_recv_fn); tcp_err(pcb_, LWIPRawImpl::s_err_fn); } std::unique_ptr accept(struct sockaddr *addr, socklen_t *addrlen) override { - if (pcb_ == nullptr) { - errno = EBADF; - return nullptr; - } - if (this->accepted_socket_count_ == 0) { - errno = EWOULDBLOCK; - return nullptr; - } - // Take from front for FIFO ordering - std::unique_ptr sock = std::move(this->accepted_sockets_[0]); - // Shift remaining sockets forward - for (uint8_t i = 1; i < this->accepted_socket_count_; i++) { - this->accepted_sockets_[i - 1] = std::move(this->accepted_sockets_[i]); - } - this->accepted_socket_count_--; - LWIP_LOG("Connection accepted by application, queue size: %d", this->accepted_socket_count_); - if (addr != nullptr) { - sock->getpeername(addr, addrlen); - } - LWIP_LOG("accept(%p)", sock.get()); - return std::unique_ptr(std::move(sock)); + // Non-listening sockets return error + errno = EINVAL; + return nullptr; } int bind(const struct sockaddr *name, socklen_t addrlen) override { if (pcb_ == nullptr) { @@ -292,25 +273,10 @@ class LWIPRawImpl : public Socket { return -1; } int listen(int backlog) override { - if (pcb_ == nullptr) { - errno = EBADF; - return -1; - } - LWIP_LOG("tcp_listen_with_backlog(%p backlog=%d)", pcb_, backlog); - struct tcp_pcb *listen_pcb = tcp_listen_with_backlog(pcb_, backlog); - if (listen_pcb == nullptr) { - tcp_abort(pcb_); - pcb_ = nullptr; - errno = EOPNOTSUPP; - return -1; - } - // tcp_listen reallocates the pcb, replace ours - pcb_ = listen_pcb; - // set callbacks on new pcb - LWIP_LOG("tcp_arg(%p)", pcb_); - tcp_arg(pcb_, this); - tcp_accept(pcb_, LWIPRawImpl::s_accept_fn); - return 0; + // Regular sockets can't be converted to listening - this shouldn't happen + // as listen() should only be called on sockets created for listening + errno = EOPNOTSUPP; + return -1; } ssize_t read(void *buf, size_t len) override { if (pcb_ == nullptr) { @@ -491,29 +457,6 @@ class LWIPRawImpl : public Socket { return 0; } - err_t accept_fn(struct tcp_pcb *newpcb, err_t err) { - LWIP_LOG("accept(newpcb=%p err=%d)", newpcb, err); - if (err != ERR_OK || newpcb == nullptr) { - // "An error code if there has been an error accepting. Only return ERR_ABRT if you have - // called tcp_abort from within the callback function!" - // https://www.nongnu.org/lwip/2_1_x/tcp_8h.html#a00517abce6856d6c82f0efebdafb734d - // nothing to do here, we just don't push it to the queue - return ERR_OK; - } - // Check if we've reached the maximum accept queue size - if (this->accepted_socket_count_ >= MAX_ACCEPTED_SOCKETS) { - LWIP_LOG("Rejecting connection, queue full (%d)", this->accepted_socket_count_); - // Abort the connection when queue is full - tcp_abort(newpcb); - // Must return ERR_ABRT since we called tcp_abort() - return ERR_ABRT; - } - auto sock = make_unique(family_, newpcb); - sock->init(); - this->accepted_sockets_[this->accepted_socket_count_++] = std::move(sock); - LWIP_LOG("Accepted connection, queue size: %d", this->accepted_socket_count_); - return ERR_OK; - } void err_fn(err_t err) { LWIP_LOG("err(err=%d)", err); // "If a connection is aborted because of an error, the application is alerted of this event by @@ -545,11 +488,6 @@ class LWIPRawImpl : public Socket { return ERR_OK; } - static err_t s_accept_fn(void *arg, struct tcp_pcb *newpcb, err_t err) { - LWIPRawImpl *arg_this = reinterpret_cast(arg); - return arg_this->accept_fn(newpcb, err); - } - static void s_err_fn(void *arg, err_t err) { LWIPRawImpl *arg_this = reinterpret_cast(arg); arg_this->err_fn(err); @@ -601,7 +539,107 @@ class LWIPRawImpl : public Socket { return -1; } + // Member ordering optimized to minimize padding on 32-bit systems + // Largest members first (4 bytes), then smaller members (1 byte each) struct tcp_pcb *pcb_; + pbuf *rx_buf_ = nullptr; + size_t rx_buf_offset_ = 0; + bool rx_closed_ = false; + // don't use lwip nodelay flag, it sometimes causes reconnect + // instead use it for determining whether to call lwip_output + bool nodelay_ = false; + sa_family_t family_ = 0; +}; + +// Listening socket class - only allocates accept queue when needed (for bind+listen sockets) +// This saves 16 bytes (12 bytes array + 1 byte count + 3 bytes padding) for regular connected sockets on ESP8266/RP2040 +class LWIPRawListenImpl : public LWIPRawImpl { + public: + LWIPRawListenImpl(sa_family_t family, struct tcp_pcb *pcb) : LWIPRawImpl(family, pcb) {} + + void init() { + LWIP_LOG("init(%p)", pcb_); + tcp_arg(pcb_, this); + tcp_accept(pcb_, LWIPRawListenImpl::s_accept_fn); + tcp_err(pcb_, LWIPRawImpl::s_err_fn); // Use base class error handler + } + + std::unique_ptr accept(struct sockaddr *addr, socklen_t *addrlen) override { + if (pcb_ == nullptr) { + errno = EBADF; + return nullptr; + } + if (accepted_socket_count_ == 0) { + errno = EWOULDBLOCK; + return nullptr; + } + // Take from front for FIFO ordering + std::unique_ptr sock = std::move(accepted_sockets_[0]); + // Shift remaining sockets forward + for (uint8_t i = 1; i < accepted_socket_count_; i++) { + accepted_sockets_[i - 1] = std::move(accepted_sockets_[i]); + } + accepted_socket_count_--; + LWIP_LOG("Connection accepted by application, queue size: %d", accepted_socket_count_); + if (addr != nullptr) { + sock->getpeername(addr, addrlen); + } + LWIP_LOG("accept(%p)", sock.get()); + return std::unique_ptr(std::move(sock)); + } + + int listen(int backlog) override { + if (pcb_ == nullptr) { + errno = EBADF; + return -1; + } + LWIP_LOG("tcp_listen_with_backlog(%p backlog=%d)", pcb_, backlog); + struct tcp_pcb *listen_pcb = tcp_listen_with_backlog(pcb_, backlog); + if (listen_pcb == nullptr) { + tcp_abort(pcb_); + pcb_ = nullptr; + errno = EOPNOTSUPP; + return -1; + } + // tcp_listen reallocates the pcb, replace ours + pcb_ = listen_pcb; + // set callbacks on new pcb + LWIP_LOG("tcp_arg(%p)", pcb_); + tcp_arg(pcb_, this); + tcp_accept(pcb_, LWIPRawListenImpl::s_accept_fn); + return 0; + } + + private: + err_t accept_fn(struct tcp_pcb *newpcb, err_t err) { + LWIP_LOG("accept(newpcb=%p err=%d)", newpcb, err); + if (err != ERR_OK || newpcb == nullptr) { + // "An error code if there has been an error accepting. Only return ERR_ABRT if you have + // called tcp_abort from within the callback function!" + // https://www.nongnu.org/lwip/2_1_x/tcp_8h.html#a00517abce6856d6c82f0efebdafb734d + // nothing to do here, we just don't push it to the queue + return ERR_OK; + } + // Check if we've reached the maximum accept queue size + if (accepted_socket_count_ >= MAX_ACCEPTED_SOCKETS) { + LWIP_LOG("Rejecting connection, queue full (%d)", accepted_socket_count_); + // Abort the connection when queue is full + tcp_abort(newpcb); + // Must return ERR_ABRT since we called tcp_abort() + return ERR_ABRT; + } + auto sock = make_unique(family_, newpcb); + sock->init(); + accepted_sockets_[accepted_socket_count_++] = std::move(sock); + LWIP_LOG("Accepted connection, queue size: %d", accepted_socket_count_); + return ERR_OK; + } + + static err_t s_accept_fn(void *arg, struct tcp_pcb *newpcb, err_t err) { + LWIPRawListenImpl *arg_this = reinterpret_cast(arg); + return arg_this->accept_fn(newpcb, err); + } + // Accept queue - holds incoming connections briefly until the event loop calls accept() // This is NOT a connection pool - just a temporary queue between LWIP callbacks and the main loop // 3 slots is plenty since connections are pulled out quickly by the event loop @@ -613,23 +651,21 @@ class LWIPRawImpl : public Socket { // - std::array<3>: 12 bytes fixed (3 pointers × 4 bytes) // Saves ~44+ bytes RAM per listening socket + avoids ALL heap allocations // Used on ESP8266 and RP2040 (platforms using LWIP_TCP implementation) + // + // By using a separate listening socket class, regular connected sockets save + // 16 bytes (12 bytes array + 1 byte count + 3 bytes padding) of memory overhead on 32-bit systems static constexpr size_t MAX_ACCEPTED_SOCKETS = 3; std::array, MAX_ACCEPTED_SOCKETS> accepted_sockets_; uint8_t accepted_socket_count_ = 0; // Number of sockets currently in queue - bool rx_closed_ = false; - pbuf *rx_buf_ = nullptr; - size_t rx_buf_offset_ = 0; - // don't use lwip nodelay flag, it sometimes causes reconnect - // instead use it for determining whether to call lwip_output - bool nodelay_ = false; - sa_family_t family_ = 0; }; std::unique_ptr socket(int domain, int type, int protocol) { auto *pcb = tcp_new(); if (pcb == nullptr) return nullptr; - auto *sock = new LWIPRawImpl((sa_family_t) domain, pcb); // NOLINT(cppcoreguidelines-owning-memory) + // Create listening socket implementation since user sockets typically bind+listen + // Accepted connections are created directly as LWIPRawImpl in the accept callback + auto *sock = new LWIPRawListenImpl((sa_family_t) domain, pcb); // NOLINT(cppcoreguidelines-owning-memory) sock->init(); return std::unique_ptr{sock}; } From 5bb69a968cd45dc52da458faef2ea0ca41124c1e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 16:33:33 -1000 Subject: [PATCH 087/201] [esp32_ble] Replace handler vectors with StaticVector for 560B-2KB memory savings (#11200) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/esp32_ble/__init__.py | 88 ++++++++++++++++++- esphome/components/esp32_ble/ble.cpp | 56 +++++++----- esphome/components/esp32_ble/ble.h | 32 ++++--- .../components/esp32_ble_beacon/__init__.py | 2 +- .../components/esp32_ble_server/__init__.py | 4 +- .../components/esp32_ble_tracker/__init__.py | 8 +- esphome/core/defines.h | 5 ++ 7 files changed, 153 insertions(+), 42 deletions(-) diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index 1c142ca7bd..fc8c65a2f4 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -1,4 +1,5 @@ from collections.abc import Callable, MutableMapping +from dataclasses import dataclass from enum import Enum import logging import re @@ -16,7 +17,7 @@ from esphome.const import ( CONF_NAME, CONF_NAME_ADD_MAC_SUFFIX, ) -from esphome.core import CORE, TimePeriod +from esphome.core import CORE, CoroPriority, TimePeriod, coroutine_with_priority import esphome.final_validate as fv DEPENDENCIES = ["esp32"] @@ -111,6 +112,58 @@ class BTLoggers(Enum): _required_loggers: set[BTLoggers] = set() +# Dataclass for handler registration counts +@dataclass +class HandlerCounts: + gap_event: int = 0 + gap_scan_event: int = 0 + gattc_event: int = 0 + gatts_event: int = 0 + ble_status_event: int = 0 + + +# Track handler registration counts for StaticVector sizing +_handler_counts = HandlerCounts() + + +def register_gap_event_handler(parent_var: cg.MockObj, handler_var: cg.MockObj) -> None: + """Register a GAP event handler and track the count.""" + _handler_counts.gap_event += 1 + cg.add(parent_var.register_gap_event_handler(handler_var)) + + +def register_gap_scan_event_handler( + parent_var: cg.MockObj, handler_var: cg.MockObj +) -> None: + """Register a GAP scan event handler and track the count.""" + _handler_counts.gap_scan_event += 1 + cg.add(parent_var.register_gap_scan_event_handler(handler_var)) + + +def register_gattc_event_handler( + parent_var: cg.MockObj, handler_var: cg.MockObj +) -> None: + """Register a GATTc event handler and track the count.""" + _handler_counts.gattc_event += 1 + cg.add(parent_var.register_gattc_event_handler(handler_var)) + + +def register_gatts_event_handler( + parent_var: cg.MockObj, handler_var: cg.MockObj +) -> None: + """Register a GATTs event handler and track the count.""" + _handler_counts.gatts_event += 1 + cg.add(parent_var.register_gatts_event_handler(handler_var)) + + +def register_ble_status_event_handler( + parent_var: cg.MockObj, handler_var: cg.MockObj +) -> None: + """Register a BLE status event handler and track the count.""" + _handler_counts.ble_status_event += 1 + cg.add(parent_var.register_ble_status_event_handler(handler_var)) + + def register_bt_logger(*loggers: BTLoggers) -> None: """Register Bluetooth logger categories that a component needs. @@ -374,6 +427,36 @@ def final_validation(config): FINAL_VALIDATE_SCHEMA = final_validation +# This needs to be run as a job with CoroPriority.FINAL priority so that all components have +# a chance to register their handlers before the counts are added to defines. +@coroutine_with_priority(CoroPriority.FINAL) +async def _add_ble_handler_defines(): + # Add defines for StaticVector sizing based on handler registration counts + # Only define if count > 0 to avoid allocating unnecessary memory + if _handler_counts.gap_event > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT", _handler_counts.gap_event + ) + if _handler_counts.gap_scan_event > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT", + _handler_counts.gap_scan_event, + ) + if _handler_counts.gattc_event > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT", _handler_counts.gattc_event + ) + if _handler_counts.gatts_event > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT", _handler_counts.gatts_event + ) + if _handler_counts.ble_status_event > 0: + cg.add_define( + "ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT", + _handler_counts.ble_status_event, + ) + + async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) cg.add(var.set_enable_on_boot(config[CONF_ENABLE_ON_BOOT])) @@ -428,6 +511,9 @@ async def to_code(config): cg.add_define("USE_ESP32_BLE_ADVERTISING") cg.add_define("USE_ESP32_BLE_UUID") + # Schedule the handler defines to be added after all components register + CORE.add_job(_add_ble_handler_defines) + @automation.register_condition("ble.enabled", BLEEnabledCondition, cv.Schema({})) async def ble_enabled_to_code(config, condition_id, template_arg, args): diff --git a/esphome/components/esp32_ble/ble.cpp b/esphome/components/esp32_ble/ble.cpp index 1f6bc6d0a0..9f8ca1d149 100644 --- a/esphome/components/esp32_ble/ble.cpp +++ b/esphome/components/esp32_ble/ble.cpp @@ -181,31 +181,27 @@ bool ESP32BLE::ble_setup_() { return false; } - if (!this->gap_event_handlers_.empty()) { - err = esp_ble_gap_register_callback(ESP32BLE::gap_event_handler); - if (err != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_register_callback failed: %d", err); - return false; - } - } - -#ifdef USE_ESP32_BLE_SERVER - if (!this->gatts_event_handlers_.empty()) { - err = esp_ble_gatts_register_callback(ESP32BLE::gatts_event_handler); - if (err != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gatts_register_callback failed: %d", err); - return false; - } +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT + err = esp_ble_gap_register_callback(ESP32BLE::gap_event_handler); + if (err != ESP_OK) { + ESP_LOGE(TAG, "esp_ble_gap_register_callback failed: %d", err); + return false; } #endif -#ifdef USE_ESP32_BLE_CLIENT - if (!this->gattc_event_handlers_.empty()) { - err = esp_ble_gattc_register_callback(ESP32BLE::gattc_event_handler); - if (err != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gattc_register_callback failed: %d", err); - return false; - } +#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT) + err = esp_ble_gatts_register_callback(ESP32BLE::gatts_event_handler); + if (err != ESP_OK) { + ESP_LOGE(TAG, "esp_ble_gatts_register_callback failed: %d", err); + return false; + } +#endif + +#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT) + err = esp_ble_gattc_register_callback(ESP32BLE::gattc_event_handler); + if (err != ESP_OK) { + ESP_LOGE(TAG, "esp_ble_gattc_register_callback failed: %d", err); + return false; } #endif @@ -302,9 +298,11 @@ void ESP32BLE::loop() { case BLE_COMPONENT_STATE_DISABLE: { ESP_LOGD(TAG, "Disabling"); +#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT for (auto *ble_event_handler : this->ble_status_event_handlers_) { ble_event_handler->ble_before_disabled_event_handler(); } +#endif if (!ble_dismantle_()) { ESP_LOGE(TAG, "Could not be dismantled"); @@ -334,7 +332,7 @@ void ESP32BLE::loop() { BLEEvent *ble_event = this->ble_events_.pop(); while (ble_event != nullptr) { switch (ble_event->type_) { -#ifdef USE_ESP32_BLE_SERVER +#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT) case BLEEvent::GATTS: { esp_gatts_cb_event_t event = ble_event->event_.gatts.gatts_event; esp_gatt_if_t gatts_if = ble_event->event_.gatts.gatts_if; @@ -346,7 +344,7 @@ void ESP32BLE::loop() { break; } #endif -#ifdef USE_ESP32_BLE_CLIENT +#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT) case BLEEvent::GATTC: { esp_gattc_cb_event_t event = ble_event->event_.gattc.gattc_event; esp_gatt_if_t gattc_if = ble_event->event_.gattc.gattc_if; @@ -362,10 +360,12 @@ void ESP32BLE::loop() { esp_gap_ble_cb_event_t gap_event = ble_event->event_.gap.gap_event; switch (gap_event) { case ESP_GAP_BLE_SCAN_RESULT_EVT: +#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT // Use the new scan event handler - no memcpy! for (auto *scan_handler : this->gap_scan_event_handlers_) { scan_handler->gap_scan_event_handler(ble_event->scan_result()); } +#endif break; // Scan complete events @@ -377,10 +377,12 @@ void ESP32BLE::loop() { // This is verified at compile-time by static_assert checks in ble_event.h // The struct already contains our copy of the status (copied in BLEEvent constructor) ESP_LOGV(TAG, "gap_event_handler - %d", gap_event); +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT for (auto *gap_handler : this->gap_event_handlers_) { gap_handler->gap_event_handler( gap_event, reinterpret_cast(&ble_event->event_.gap.scan_complete)); } +#endif break; // Advertising complete events @@ -391,19 +393,23 @@ void ESP32BLE::loop() { case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: // All advertising complete events have the same structure with just status ESP_LOGV(TAG, "gap_event_handler - %d", gap_event); +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT for (auto *gap_handler : this->gap_event_handlers_) { gap_handler->gap_event_handler( gap_event, reinterpret_cast(&ble_event->event_.gap.adv_complete)); } +#endif break; // RSSI complete event case ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT: ESP_LOGV(TAG, "gap_event_handler - %d", gap_event); +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT for (auto *gap_handler : this->gap_event_handlers_) { gap_handler->gap_event_handler( gap_event, reinterpret_cast(&ble_event->event_.gap.read_rssi_complete)); } +#endif break; // Security events @@ -413,10 +419,12 @@ void ESP32BLE::loop() { case ESP_GAP_BLE_PASSKEY_REQ_EVT: case ESP_GAP_BLE_NC_REQ_EVT: ESP_LOGV(TAG, "gap_event_handler - %d", gap_event); +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT for (auto *gap_handler : this->gap_event_handlers_) { gap_handler->gap_event_handler( gap_event, reinterpret_cast(&ble_event->event_.gap.security)); } +#endif break; default: diff --git a/esphome/components/esp32_ble/ble.h b/esphome/components/esp32_ble/ble.h index 1aa3bc86ef..dc973f0e82 100644 --- a/esphome/components/esp32_ble/ble.h +++ b/esphome/components/esp32_ble/ble.h @@ -125,19 +125,25 @@ class ESP32BLE : public Component { void advertising_register_raw_advertisement_callback(std::function &&callback); #endif +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT void register_gap_event_handler(GAPEventHandler *handler) { this->gap_event_handlers_.push_back(handler); } +#endif +#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT void register_gap_scan_event_handler(GAPScanEventHandler *handler) { this->gap_scan_event_handlers_.push_back(handler); } -#ifdef USE_ESP32_BLE_CLIENT +#endif +#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT) void register_gattc_event_handler(GATTcEventHandler *handler) { this->gattc_event_handlers_.push_back(handler); } #endif -#ifdef USE_ESP32_BLE_SERVER +#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT) void register_gatts_event_handler(GATTsEventHandler *handler) { this->gatts_event_handlers_.push_back(handler); } #endif +#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT void register_ble_status_event_handler(BLEStatusEventHandler *handler) { this->ble_status_event_handlers_.push_back(handler); } +#endif void set_enable_on_boot(bool enable_on_boot) { this->enable_on_boot_ = enable_on_boot; } protected: @@ -159,16 +165,22 @@ class ESP32BLE : public Component { private: template friend void enqueue_ble_event(Args... args); - // Vectors (12 bytes each on 32-bit, naturally aligned to 4 bytes) - std::vector gap_event_handlers_; - std::vector gap_scan_event_handlers_; -#ifdef USE_ESP32_BLE_CLIENT - std::vector gattc_event_handlers_; + // Handler vectors - use StaticVector when counts are known at compile time +#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT + StaticVector gap_event_handlers_; #endif -#ifdef USE_ESP32_BLE_SERVER - std::vector gatts_event_handlers_; +#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT + StaticVector gap_scan_event_handlers_; +#endif +#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT) + StaticVector gattc_event_handlers_; +#endif +#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT) + StaticVector gatts_event_handlers_; +#endif +#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT + StaticVector ble_status_event_handlers_; #endif - std::vector ble_status_event_handlers_; // Large objects (size depends on template parameters, but typically aligned to 4 bytes) esphome::LockFreeQueue ble_events_; diff --git a/esphome/components/esp32_ble_beacon/__init__.py b/esphome/components/esp32_ble_beacon/__init__.py index 794f5637a4..ba5ae4331c 100644 --- a/esphome/components/esp32_ble_beacon/__init__.py +++ b/esphome/components/esp32_ble_beacon/__init__.py @@ -74,7 +74,7 @@ async def to_code(config): var = cg.new_Pvariable(config[CONF_ID], uuid_arr) parent = await cg.get_variable(config[esp32_ble.CONF_BLE_ID]) - cg.add(parent.register_gap_event_handler(var)) + esp32_ble.register_gap_event_handler(parent, var) await cg.register_component(var, config) cg.add(var.set_major(config[CONF_MAJOR])) diff --git a/esphome/components/esp32_ble_server/__init__.py b/esphome/components/esp32_ble_server/__init__.py index 10fa09fcc3..55310f3275 100644 --- a/esphome/components/esp32_ble_server/__init__.py +++ b/esphome/components/esp32_ble_server/__init__.py @@ -546,8 +546,8 @@ async def to_code(config): await cg.register_component(var, config) parent = await cg.get_variable(config[esp32_ble.CONF_BLE_ID]) - cg.add(parent.register_gatts_event_handler(var)) - cg.add(parent.register_ble_status_event_handler(var)) + esp32_ble.register_gatts_event_handler(parent, var) + esp32_ble.register_ble_status_event_handler(parent, var) cg.add(var.set_parent(parent)) cg.add(parent.advertising_set_appearance(config[CONF_APPEARANCE])) if CONF_MANUFACTURER_DATA in config: diff --git a/esphome/components/esp32_ble_tracker/__init__.py b/esphome/components/esp32_ble_tracker/__init__.py index 8c7f3e3930..5910be67af 100644 --- a/esphome/components/esp32_ble_tracker/__init__.py +++ b/esphome/components/esp32_ble_tracker/__init__.py @@ -246,10 +246,10 @@ async def to_code(config): await cg.register_component(var, config) parent = await cg.get_variable(config[esp32_ble.CONF_BLE_ID]) - cg.add(parent.register_gap_event_handler(var)) - cg.add(parent.register_gap_scan_event_handler(var)) - cg.add(parent.register_gattc_event_handler(var)) - cg.add(parent.register_ble_status_event_handler(var)) + esp32_ble.register_gap_event_handler(parent, var) + esp32_ble.register_gap_scan_event_handler(parent, var) + esp32_ble.register_gattc_event_handler(parent, var) + esp32_ble.register_ble_status_event_handler(parent, var) cg.add(var.set_parent(parent)) params = config[CONF_SCAN_PARAMETERS] diff --git a/esphome/core/defines.h b/esphome/core/defines.h index ed30efd0b5..f770edaa00 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -178,6 +178,11 @@ #define USE_ESP32_BLE_SERVER_ON_DISCONNECT #define ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT 1 #define ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT 1 +#define ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT 2 +#define ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT 1 +#define ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT 1 +#define ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT 1 +#define ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT 2 #define USE_ESP32_CAMERA_JPEG_ENCODER #define USE_I2C #define USE_IMPROV From 69df07ddcf90bb7ccec9e80cd457c3b4e41a757b Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Mon, 13 Oct 2025 12:58:30 +1300 Subject: [PATCH 088/201] [media_player.speaker] Dynamic auto load (#11084) Co-authored-by: J. Nick Koston --- esphome/components/psram/__init__.py | 2 ++ .../speaker/media_player/__init__.py | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/esphome/components/psram/__init__.py b/esphome/components/psram/__init__.py index 6b85e7f720..8e4f9d7eac 100644 --- a/esphome/components/psram/__init__.py +++ b/esphome/components/psram/__init__.py @@ -63,6 +63,8 @@ SPIRAM_SPEEDS = { def supported() -> bool: + if not CORE.is_esp32: + return False variant = get_esp32_variant() return variant in SPIRAM_MODES diff --git a/esphome/components/speaker/media_player/__init__.py b/esphome/components/speaker/media_player/__init__.py index 69ea0a53c6..7537a61e4e 100644 --- a/esphome/components/speaker/media_player/__init__.py +++ b/esphome/components/speaker/media_player/__init__.py @@ -6,7 +6,7 @@ from pathlib import Path from esphome import automation, external_files import esphome.codegen as cg -from esphome.components import audio, esp32, media_player, speaker +from esphome.components import audio, esp32, media_player, psram, speaker import esphome.config_validation as cv from esphome.const import ( CONF_BUFFER_SIZE, @@ -26,10 +26,21 @@ from esphome.const import ( from esphome.core import CORE, HexInt from esphome.core.entity_helpers import inherit_property_from from esphome.external_files import download_content +from esphome.types import ConfigType _LOGGER = logging.getLogger(__name__) -AUTO_LOAD = ["audio", "psram"] + +def AUTO_LOAD(config: ConfigType) -> list[str]: + load = ["audio"] + if ( + not config + or config.get(CONF_TASK_STACK_IN_PSRAM) + or config.get(CONF_CODEC_SUPPORT_ENABLED) + ): + return load + ["psram"] + return load + CODEOWNERS = ["@kahrendt", "@synesthesiam"] DOMAIN = "media_player" @@ -279,7 +290,9 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_BUFFER_SIZE, default=1000000): cv.int_range( min=4000, max=4000000 ), - cv.Optional(CONF_CODEC_SUPPORT_ENABLED, default=True): cv.boolean, + cv.Optional( + CONF_CODEC_SUPPORT_ENABLED, default=psram.supported() + ): cv.boolean, cv.Optional(CONF_FILES): cv.ensure_list(MEDIA_FILE_TYPE_SCHEMA), cv.Optional(CONF_TASK_STACK_IN_PSRAM, default=False): cv.boolean, cv.Optional(CONF_VOLUME_INCREMENT, default=0.05): cv.percentage, From 8627b56e36a3b618a31d5e0e42e075df36316b83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:34:12 -1000 Subject: [PATCH 089/201] Bump esphome-dashboard from 20251009.0 to 20251013.0 (#11212) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 64946263ea..9937709c1c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ pyserial==3.5 platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 -esphome-dashboard==20251009.0 +esphome-dashboard==20251013.0 aioesphomeapi==41.14.0 zeroconf==0.148.0 puremagic==1.30 From b666b8e2615886e6ae0cef8699cd335dc32d5170 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Mon, 13 Oct 2025 17:12:45 -0400 Subject: [PATCH 090/201] [core] Properly clean the build dir in the HA addon (#11208) --- esphome/writer.py | 25 +++++++++++------- tests/unit_tests/test_writer.py | 46 +++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/esphome/writer.py b/esphome/writer.py index b5cfd9b667..8eee445cf1 100644 --- a/esphome/writer.py +++ b/esphome/writer.py @@ -15,6 +15,8 @@ from esphome.const import ( from esphome.core import CORE, EsphomeError from esphome.helpers import ( copy_file_if_changed, + get_str_env, + is_ha_addon, read_file, walk_files, write_file_if_changed, @@ -338,16 +340,21 @@ def clean_build(): def clean_all(configuration: list[str]): import shutil - # Clean entire build dir - for dir in configuration: - build_dir = Path(dir) / ".esphome" - if build_dir.is_dir(): - _LOGGER.info("Cleaning %s", build_dir) - # Don't remove storage as it will cause the dashboard to regenerate all configs - for item in build_dir.iterdir(): - if item.is_file(): + data_dirs = [Path(dir) / ".esphome" for dir in configuration] + if is_ha_addon(): + data_dirs.append(Path("/data")) + if "ESPHOME_DATA_DIR" in os.environ: + data_dirs.append(Path(get_str_env("ESPHOME_DATA_DIR", None))) + + # Clean build dir + for dir in data_dirs: + if dir.is_dir(): + _LOGGER.info("Cleaning %s", dir) + # Don't remove storage or .json files which are needed by the dashboard + for item in dir.iterdir(): + if item.is_file() and not item.name.endswith(".json"): item.unlink() - elif item.name != "storage" and item.is_dir(): + elif item.is_dir() and item.name != "storage": shutil.rmtree(item) # Clean PlatformIO project files diff --git a/tests/unit_tests/test_writer.py b/tests/unit_tests/test_writer.py index bffd2b3881..a4490fbbc0 100644 --- a/tests/unit_tests/test_writer.py +++ b/tests/unit_tests/test_writer.py @@ -985,3 +985,49 @@ def test_clean_all_removes_non_storage_directories( # Verify logging mentions cleaning assert "Cleaning" in caplog.text assert str(build_dir) in caplog.text + + +@patch("esphome.writer.CORE") +def test_clean_all_preserves_json_files( + mock_core: MagicMock, + tmp_path: Path, + caplog: pytest.LogCaptureFixture, +) -> None: + """Test clean_all preserves .json files.""" + # Create build directory with various files + config_dir = tmp_path / "config" + config_dir.mkdir() + + build_dir = config_dir / ".esphome" + build_dir.mkdir() + + # Create .json files (should be preserved) + (build_dir / "config.json").write_text('{"config": "data"}') + (build_dir / "metadata.json").write_text('{"metadata": "info"}') + + # Create non-.json files (should be removed) + (build_dir / "dummy.txt").write_text("x") + (build_dir / "other.log").write_text("log content") + + # Call clean_all + from esphome.writer import clean_all + + with caplog.at_level("INFO"): + clean_all([str(config_dir)]) + + # Verify .esphome directory still exists + assert build_dir.exists() + + # Verify .json files are preserved + assert (build_dir / "config.json").exists() + assert (build_dir / "config.json").read_text() == '{"config": "data"}' + assert (build_dir / "metadata.json").exists() + assert (build_dir / "metadata.json").read_text() == '{"metadata": "info"}' + + # Verify non-.json files were removed + assert not (build_dir / "dummy.txt").exists() + assert not (build_dir / "other.log").exists() + + # Verify logging mentions cleaning + assert "Cleaning" in caplog.text + assert str(build_dir) in caplog.text From 07504c82081366744ecb920753dd6da841da2170 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 11:23:44 -1000 Subject: [PATCH 091/201] Fix log retrieval with FQDN when mDNS is disabled (#11202) --- esphome/__main__.py | 15 +++++++----- tests/unit_tests/test_main.py | 45 ++++++++++++++++++++++++++++------- 2 files changed, 46 insertions(+), 14 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index be4551f6b5..8e0c475525 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -268,8 +268,10 @@ def has_ip_address() -> bool: def has_resolvable_address() -> bool: - """Check if CORE.address is resolvable (via mDNS or is an IP address).""" - return has_mdns() or has_ip_address() + """Check if CORE.address is resolvable (via mDNS, DNS, or is an IP address).""" + # Any address (IP, mDNS hostname, or regular DNS hostname) is resolvable + # The resolve_ip_address() function in helpers.py handles all types via AsyncResolver + return CORE.address is not None def mqtt_get_ip(config: ConfigType, username: str, password: str, client_id: str): @@ -578,11 +580,12 @@ def show_logs(config: ConfigType, args: ArgsProtocol, devices: list[str]) -> int if has_api(): addresses_to_use: list[str] | None = None - if port_type == "NETWORK" and (has_mdns() or is_ip_address(port)): + if port_type == "NETWORK": + # Network addresses (IPs, mDNS names, or regular DNS hostnames) can be used + # The resolve_ip_address() function in helpers.py handles all types addresses_to_use = devices - elif port_type in ("NETWORK", "MQTT", "MQTTIP") and has_mqtt_ip_lookup(): - # Only use MQTT IP lookup if the first condition didn't match - # (for MQTT/MQTTIP types, or for NETWORK when mdns/ip check fails) + elif port_type in ("MQTT", "MQTTIP") and has_mqtt_ip_lookup(): + # Use MQTT IP lookup for MQTT/MQTTIP types addresses_to_use = mqtt_get_ip( config, args.username, args.password, args.client_id ) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index e35378145a..becf911fa3 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -1203,6 +1203,31 @@ def test_show_logs_api( ) +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_with_fqdn_mdns_disabled( + mock_run_logs: Mock, +) -> None: + """Test show_logs with API using FQDN when mDNS is disabled.""" + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MDNS: {CONF_DISABLED: True}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + + args = MockArgs() + devices = ["device.example.com"] + + result = show_logs(CORE.config, args, devices) + + assert result == 0 + # Should use the FQDN directly, not try MQTT lookup + mock_run_logs.assert_called_once_with(CORE.config, ["device.example.com"]) + + @patch("esphome.components.api.client.run_logs") def test_show_logs_api_with_mqtt_fallback( mock_run_logs: Mock, @@ -1222,7 +1247,7 @@ def test_show_logs_api_with_mqtt_fallback( mock_mqtt_get_ip.return_value = ["192.168.1.200"] args = MockArgs(username="user", password="pass", client_id="client") - devices = ["device.local"] + devices = ["MQTTIP"] result = show_logs(CORE.config, args, devices) @@ -1487,27 +1512,31 @@ def test_mqtt_get_ip() -> None: def test_has_resolvable_address() -> None: """Test has_resolvable_address function.""" - # Test with mDNS enabled and hostname address + # Test with mDNS enabled and .local hostname address setup_core(config={}, address="esphome-device.local") assert has_resolvable_address() is True - # Test with mDNS disabled and hostname address + # Test with mDNS disabled and .local hostname address (still resolvable via DNS) setup_core( config={CONF_MDNS: {CONF_DISABLED: True}}, address="esphome-device.local" ) - assert has_resolvable_address() is False + assert has_resolvable_address() is True - # Test with IP address (mDNS doesn't matter) + # Test with mDNS disabled and regular DNS hostname (resolvable) + setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address="device.example.com") + assert has_resolvable_address() is True + + # Test with IP address (always resolvable, mDNS doesn't matter) setup_core(config={}, address="192.168.1.100") assert has_resolvable_address() is True - # Test with IP address and mDNS disabled + # Test with IP address and mDNS disabled (still resolvable) setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address="192.168.1.100") assert has_resolvable_address() is True - # Test with no address but mDNS enabled (can still resolve mDNS names) + # Test with no address setup_core(config={}, address=None) - assert has_resolvable_address() is True + assert has_resolvable_address() is False # Test with no address and mDNS disabled setup_core(config={CONF_MDNS: {CONF_DISABLED: True}}, address=None) From d02ed41eb4adf2001df33b745431a04226022e9c Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Tue, 14 Oct 2025 15:38:15 +1300 Subject: [PATCH 092/201] Bump version to 2025.10.0b3 --- Doxyfile | 2 +- esphome/const.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index 37ec90c851..d664ca5d63 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = ESPHome # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2025.10.0b2 +PROJECT_NUMBER = 2025.10.0b3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/esphome/const.py b/esphome/const.py index a086f90385..76943ff59d 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -4,7 +4,7 @@ from enum import Enum from esphome.enum import StrEnum -__version__ = "2025.10.0b2" +__version__ = "2025.10.0b3" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" VALID_SUBSTITUTIONS_CHARACTERS = ( From 8a15c18066d9d65515c81e8de3d5521a90d908f5 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 17:05:13 -1000 Subject: [PATCH 093/201] [bluetooth_proxy] Use FixedVector for GATT characteristics and descriptors (#11214) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/api/api.proto | 4 +- esphome/components/api/api_options.proto | 6 + esphome/components/api/api_pb2.h | 4 +- esphome/components/api/proto.h | 26 +++- .../bluetooth_proxy/bluetooth_connection.cpp | 13 +- esphome/core/helpers.h | 121 ++++++++++++++++-- script/api_protobuf/api_protobuf.py | 4 + 7 files changed, 146 insertions(+), 32 deletions(-) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index 87f477799d..9b714d00f1 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -1519,7 +1519,7 @@ message BluetoothGATTCharacteristic { repeated uint64 uuid = 1 [(fixed_array_size) = 2, (fixed_array_skip_zero) = true]; uint32 handle = 2; uint32 properties = 3; - repeated BluetoothGATTDescriptor descriptors = 4; + repeated BluetoothGATTDescriptor descriptors = 4 [(fixed_vector) = true]; // New field for efficient UUID (v1.12+) // Only one of uuid or short_uuid will be set. @@ -1531,7 +1531,7 @@ message BluetoothGATTCharacteristic { message BluetoothGATTService { repeated uint64 uuid = 1 [(fixed_array_size) = 2, (fixed_array_skip_zero) = true]; uint32 handle = 2; - repeated BluetoothGATTCharacteristic characteristics = 3; + repeated BluetoothGATTCharacteristic characteristics = 3 [(fixed_vector) = true]; // New field for efficient UUID (v1.12+) // Only one of uuid or short_uuid will be set. diff --git a/esphome/components/api/api_options.proto b/esphome/components/api/api_options.proto index 633f39b552..ead8ac0bbc 100644 --- a/esphome/components/api/api_options.proto +++ b/esphome/components/api/api_options.proto @@ -64,4 +64,10 @@ extend google.protobuf.FieldOptions { // This is typically done through methods returning const T& or special accessor // methods like get_options() or supported_modes_for_api_(). optional string container_pointer = 50001; + + // fixed_vector: Use FixedVector instead of std::vector for repeated fields + // When set, the repeated field will use FixedVector which requires calling + // init(size) before adding elements. This eliminates std::vector template overhead + // and is ideal when the exact size is known before populating the array. + optional bool fixed_vector = 50013 [default=false]; } diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index d9e68ece9b..1798458393 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -1923,7 +1923,7 @@ class BluetoothGATTCharacteristic final : public ProtoMessage { std::array uuid{}; uint32_t handle{0}; uint32_t properties{0}; - std::vector descriptors{}; + FixedVector descriptors{}; uint32_t short_uuid{0}; void encode(ProtoWriteBuffer buffer) const override; void calculate_size(ProtoSize &size) const override; @@ -1937,7 +1937,7 @@ class BluetoothGATTService final : public ProtoMessage { public: std::array uuid{}; uint32_t handle{0}; - std::vector characteristics{}; + FixedVector characteristics{}; uint32_t short_uuid{0}; void encode(ProtoWriteBuffer buffer) const override; void calculate_size(ProtoSize &size) const override; diff --git a/esphome/components/api/proto.h b/esphome/components/api/proto.h index 9d780692ec..a6a09bf7c5 100644 --- a/esphome/components/api/proto.h +++ b/esphome/components/api/proto.h @@ -749,13 +749,29 @@ class ProtoSize { template inline void add_repeated_message(uint32_t field_id_size, const std::vector &messages) { // Skip if the vector is empty - if (messages.empty()) { - return; + if (!messages.empty()) { + // Use the force version for all messages in the repeated field + for (const auto &message : messages) { + add_message_object_force(field_id_size, message); + } } + } - // Use the force version for all messages in the repeated field - for (const auto &message : messages) { - add_message_object_force(field_id_size, message); + /** + * @brief Calculates and adds the sizes of all messages in a repeated field to the total message size (FixedVector + * version) + * + * @tparam MessageType The type of the nested messages in the FixedVector + * @param messages FixedVector of message objects + */ + template + inline void add_repeated_message(uint32_t field_id_size, const FixedVector &messages) { + // Skip if the fixed vector is empty + if (!messages.empty()) { + // Use the force version for all messages in the repeated field + for (const auto &message : messages) { + add_message_object_force(field_id_size, message); + } } } }; diff --git a/esphome/components/bluetooth_proxy/bluetooth_connection.cpp b/esphome/components/bluetooth_proxy/bluetooth_connection.cpp index cde82fbfb0..fcc344dda9 100644 --- a/esphome/components/bluetooth_proxy/bluetooth_connection.cpp +++ b/esphome/components/bluetooth_proxy/bluetooth_connection.cpp @@ -230,8 +230,8 @@ void BluetoothConnection::send_service_for_discovery_() { service_resp.handle = service_result.start_handle; if (total_char_count > 0) { - // Reserve space and process characteristics - service_resp.characteristics.reserve(total_char_count); + // Initialize FixedVector with exact count and process characteristics + service_resp.characteristics.init(total_char_count); uint16_t char_offset = 0; esp_gattc_char_elem_t char_result; while (true) { // characteristics @@ -253,9 +253,7 @@ void BluetoothConnection::send_service_for_discovery_() { service_resp.characteristics.emplace_back(); auto &characteristic_resp = service_resp.characteristics.back(); - fill_gatt_uuid(characteristic_resp.uuid, characteristic_resp.short_uuid, char_result.uuid, use_efficient_uuids); - characteristic_resp.handle = char_result.char_handle; characteristic_resp.properties = char_result.properties; char_offset++; @@ -271,12 +269,11 @@ void BluetoothConnection::send_service_for_discovery_() { return; } if (total_desc_count == 0) { - // No descriptors, continue to next characteristic continue; } - // Reserve space and process descriptors - characteristic_resp.descriptors.reserve(total_desc_count); + // Initialize FixedVector with exact count and process descriptors + characteristic_resp.descriptors.init(total_desc_count); uint16_t desc_offset = 0; esp_gattc_descr_elem_t desc_result; while (true) { // descriptors @@ -297,9 +294,7 @@ void BluetoothConnection::send_service_for_discovery_() { characteristic_resp.descriptors.emplace_back(); auto &descriptor_resp = characteristic_resp.descriptors.back(); - fill_gatt_uuid(descriptor_resp.uuid, descriptor_resp.short_uuid, desc_result.uuid, use_efficient_uuids); - descriptor_resp.handle = desc_result.handle; desc_offset++; } diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index ed1d5ac108..e352c9c415 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -168,26 +168,83 @@ template class FixedVector { size_t size_{0}; size_t capacity_{0}; - public: - FixedVector() = default; - - ~FixedVector() { - if (data_ != nullptr) { - delete[] data_; + // Helper to destroy all elements without freeing memory + void destroy_elements_() { + // Only call destructors for non-trivially destructible types + if constexpr (!std::is_trivially_destructible::value) { + for (size_t i = 0; i < size_; i++) { + data_[i].~T(); + } } } - // Disable copy to avoid accidental copies + // Helper to destroy elements and free memory + void cleanup_() { + if (data_ != nullptr) { + destroy_elements_(); + // Free raw memory + ::operator delete(data_); + } + } + + // Helper to reset pointers after cleanup + void reset_() { + data_ = nullptr; + capacity_ = 0; + size_ = 0; + } + + public: + FixedVector() = default; + + ~FixedVector() { cleanup_(); } + + // Disable copy operations (avoid accidental expensive copies) FixedVector(const FixedVector &) = delete; FixedVector &operator=(const FixedVector &) = delete; - // Allocate capacity - can only be called once on empty vector - void init(size_t n) { - if (data_ == nullptr && n > 0) { - data_ = new T[n]; - capacity_ = n; - size_ = 0; + // Enable move semantics (allows use in move-only containers like std::vector) + FixedVector(FixedVector &&other) noexcept : data_(other.data_), size_(other.size_), capacity_(other.capacity_) { + other.reset_(); + } + + FixedVector &operator=(FixedVector &&other) noexcept { + if (this != &other) { + // Delete our current data + cleanup_(); + // Take ownership of other's data + data_ = other.data_; + size_ = other.size_; + capacity_ = other.capacity_; + // Leave other in valid empty state + other.reset_(); } + return *this; + } + + // Allocate capacity - can be called multiple times to reinit + void init(size_t n) { + cleanup_(); + reset_(); + if (n > 0) { + // Allocate raw memory without calling constructors + // sizeof(T) is correct here for any type T (value types, pointers, etc.) + // NOLINTNEXTLINE(bugprone-sizeof-expression) + data_ = static_cast(::operator new(n * sizeof(T))); + capacity_ = n; + } + } + + // Clear the vector (destroy all elements, reset size to 0, keep capacity) + void clear() { + destroy_elements_(); + size_ = 0; + } + + // Shrink capacity to fit current size (frees all memory) + void shrink_to_fit() { + cleanup_(); + reset_(); } /// Add element without bounds checking @@ -195,16 +252,52 @@ template class FixedVector { /// Silently ignores pushes beyond capacity (no exception or assertion) void push_back(const T &value) { if (size_ < capacity_) { - data_[size_++] = value; + // Use placement new to construct the object in pre-allocated memory + new (&data_[size_]) T(value); + size_++; } } + /// Add element by move without bounds checking + /// Caller must ensure sufficient capacity was allocated via init() + /// Silently ignores pushes beyond capacity (no exception or assertion) + void push_back(T &&value) { + if (size_ < capacity_) { + // Use placement new to move-construct the object in pre-allocated memory + new (&data_[size_]) T(std::move(value)); + size_++; + } + } + + /// Emplace element without bounds checking - constructs in-place + /// Caller must ensure sufficient capacity was allocated via init() + /// Returns reference to the newly constructed element + /// NOTE: Caller MUST ensure size_ < capacity_ before calling + T &emplace_back() { + // Use placement new to default-construct the object in pre-allocated memory + new (&data_[size_]) T(); + size_++; + return data_[size_ - 1]; + } + + /// Access last element (no bounds checking - matches std::vector behavior) + /// Caller must ensure vector is not empty (size() > 0) + T &back() { return data_[size_ - 1]; } + const T &back() const { return data_[size_ - 1]; } + size_t size() const { return size_; } + bool empty() const { return size_ == 0; } /// Access element without bounds checking (matches std::vector behavior) /// Caller must ensure index is valid (i < size()) T &operator[](size_t i) { return data_[i]; } const T &operator[](size_t i) const { return data_[i]; } + + // Iterator support for range-based for loops + T *begin() { return data_; } + T *end() { return data_ + size_; } + const T *begin() const { return data_; } + const T *end() const { return data_ + size_; } }; ///@} diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index 487c187372..9a55f1d136 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -1415,6 +1415,8 @@ class RepeatedTypeInfo(TypeInfo): # Check if this is a pointer field by looking for container_pointer option self._container_type = get_field_opt(field, pb.container_pointer, "") self._use_pointer = bool(self._container_type) + # Check if this should use FixedVector instead of std::vector + self._use_fixed_vector = get_field_opt(field, pb.fixed_vector, False) # For repeated fields, we need to get the base type info # but we can't call create_field_type_info as it would cause recursion @@ -1438,6 +1440,8 @@ class RepeatedTypeInfo(TypeInfo): if "<" in self._container_type and ">" in self._container_type: return f"const {self._container_type}*" return f"const {self._container_type}<{self._ti.cpp_type}>*" + if self._use_fixed_vector: + return f"FixedVector<{self._ti.cpp_type}>" return f"std::vector<{self._ti.cpp_type}>" @property From 4c688a4b008cb89fff6f60e70a68da7dd6483c54 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 17:54:33 -1000 Subject: [PATCH 094/201] [network] Optimize get_use_address() to return const reference instead of a copy (#11218) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../ethernet/ethernet_component.cpp | 11 +++-------- .../components/ethernet/ethernet_component.h | 2 +- esphome/components/network/util.cpp | 19 +++++++++++-------- esphome/components/network/util.h | 2 +- esphome/components/wifi/wifi_component.cpp | 11 +++-------- esphome/components/wifi/wifi_component.h | 2 +- 6 files changed, 20 insertions(+), 27 deletions(-) diff --git a/esphome/components/ethernet/ethernet_component.cpp b/esphome/components/ethernet/ethernet_component.cpp index 13adab8815..24b6e8154b 100644 --- a/esphome/components/ethernet/ethernet_component.cpp +++ b/esphome/components/ethernet/ethernet_component.cpp @@ -689,14 +689,9 @@ void EthernetComponent::add_phy_register(PHYRegister register_value) { this->phy void EthernetComponent::set_type(EthernetType type) { this->type_ = type; } void EthernetComponent::set_manual_ip(const ManualIP &manual_ip) { this->manual_ip_ = manual_ip; } -std::string EthernetComponent::get_use_address() const { - if (this->use_address_.empty()) { - // ".local" suffix length for mDNS hostnames - constexpr size_t mdns_local_suffix_len = 5; - return make_name_with_suffix(App.get_name(), '.', "local", mdns_local_suffix_len); - } - return this->use_address_; -} +// set_use_address() is guaranteed to be called during component setup by Python code generation, +// so use_address_ will always be valid when get_use_address() is called - no fallback needed. +const std::string &EthernetComponent::get_use_address() const { return this->use_address_; } void EthernetComponent::set_use_address(const std::string &use_address) { this->use_address_ = use_address; } diff --git a/esphome/components/ethernet/ethernet_component.h b/esphome/components/ethernet/ethernet_component.h index 6b4e342df5..d5dda3e3ae 100644 --- a/esphome/components/ethernet/ethernet_component.h +++ b/esphome/components/ethernet/ethernet_component.h @@ -88,7 +88,7 @@ class EthernetComponent : public Component { network::IPAddresses get_ip_addresses(); network::IPAddress get_dns_address(uint8_t num); - std::string get_use_address() const; + const std::string &get_use_address() const; void set_use_address(const std::string &use_address); void get_eth_mac_address_raw(uint8_t *mac); std::string get_eth_mac_address_pretty(); diff --git a/esphome/components/network/util.cpp b/esphome/components/network/util.cpp index bf76aefc30..27ad9448a4 100644 --- a/esphome/components/network/util.cpp +++ b/esphome/components/network/util.cpp @@ -85,22 +85,25 @@ network::IPAddresses get_ip_addresses() { return {}; } -std::string get_use_address() { +const std::string &get_use_address() { + // Global component pointers are guaranteed to be set by component constructors when USE_* is defined #ifdef USE_ETHERNET - if (ethernet::global_eth_component != nullptr) - return ethernet::global_eth_component->get_use_address(); + return ethernet::global_eth_component->get_use_address(); #endif #ifdef USE_MODEM - if (modem::global_modem_component != nullptr) - return modem::global_modem_component->get_use_address(); + return modem::global_modem_component->get_use_address(); #endif #ifdef USE_WIFI - if (wifi::global_wifi_component != nullptr) - return wifi::global_wifi_component->get_use_address(); + return wifi::global_wifi_component->get_use_address(); +#endif + +#if !defined(USE_ETHERNET) && !defined(USE_MODEM) && !defined(USE_WIFI) + // Fallback when no network component is defined (e.g., host platform) + static const std::string empty; + return empty; #endif - return ""; } } // namespace network diff --git a/esphome/components/network/util.h b/esphome/components/network/util.h index b518696e68..b4a92f8bee 100644 --- a/esphome/components/network/util.h +++ b/esphome/components/network/util.h @@ -12,7 +12,7 @@ bool is_connected(); /// Return whether the network is disabled (only wifi for now) bool is_disabled(); /// Get the active network hostname -std::string get_use_address(); +const std::string &get_use_address(); IPAddresses get_ip_addresses(); } // namespace network diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index 0f9f879181..aa197b36e5 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -265,14 +265,9 @@ network::IPAddress WiFiComponent::get_dns_address(int num) { return this->wifi_dns_ip_(num); return {}; } -std::string WiFiComponent::get_use_address() const { - if (this->use_address_.empty()) { - // ".local" suffix length for mDNS hostnames - constexpr size_t mdns_local_suffix_len = 5; - return make_name_with_suffix(App.get_name(), '.', "local", mdns_local_suffix_len); - } - return this->use_address_; -} +// set_use_address() is guaranteed to be called during component setup by Python code generation, +// so use_address_ will always be valid when get_use_address() is called - no fallback needed. +const std::string &WiFiComponent::get_use_address() const { return this->use_address_; } void WiFiComponent::set_use_address(const std::string &use_address) { this->use_address_ = use_address; } #ifdef USE_WIFI_AP diff --git a/esphome/components/wifi/wifi_component.h b/esphome/components/wifi/wifi_component.h index ee62ec1a69..0e0f89d2c1 100644 --- a/esphome/components/wifi/wifi_component.h +++ b/esphome/components/wifi/wifi_component.h @@ -275,7 +275,7 @@ class WiFiComponent : public Component { network::IPAddress get_dns_address(int num); network::IPAddresses get_ip_addresses(); - std::string get_use_address() const; + const std::string &get_use_address() const; void set_use_address(const std::string &use_address); const std::vector &get_scan_result() const { return scan_result_; } From 8e9a68a107c12a8e4ff5256adcecc40badce3db9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 18:12:52 -1000 Subject: [PATCH 095/201] Bump aioesphomeapi from 41.16.0 to 41.16.1 (#11221) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1142c587b6..4425a4644e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.16.0 +aioesphomeapi==41.16.1 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From baa010583ee2aa7c30968952099529f553279ac4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 13 Oct 2025 21:09:48 -1000 Subject: [PATCH 096/201] [docs] Add state management best practices to CLAUDE.md (#11224) --- .ai/instructions.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/.ai/instructions.md b/.ai/instructions.md index d2e173472a..8daee704de 100644 --- a/.ai/instructions.md +++ b/.ai/instructions.md @@ -221,6 +221,48 @@ This document provides essential context for AI models interacting with this pro * **Component Development:** Keep dependencies minimal, provide clear error messages, and write comprehensive docstrings and tests. * **Code Generation:** Generate minimal and efficient C++ code. Validate all user inputs thoroughly. Support multiple platform variations. * **Configuration Design:** Aim for simplicity with sensible defaults, while allowing for advanced customization. + * **State Management:** Use `CORE.data` for component state that needs to persist during configuration generation. Avoid module-level mutable globals. + + **Bad Pattern (Module-Level Globals):** + ```python + # Don't do this - state persists between compilation runs + _component_state = [] + _use_feature = None + + def enable_feature(): + global _use_feature + _use_feature = True + ``` + + **Good Pattern (CORE.data with Helpers):** + ```python + from esphome.core import CORE + + # Keys for CORE.data storage + COMPONENT_STATE_KEY = "my_component_state" + USE_FEATURE_KEY = "my_component_use_feature" + + def _get_component_state() -> list: + """Get component state from CORE.data.""" + return CORE.data.setdefault(COMPONENT_STATE_KEY, []) + + def _get_use_feature() -> bool | None: + """Get feature flag from CORE.data.""" + return CORE.data.get(USE_FEATURE_KEY) + + def _set_use_feature(value: bool) -> None: + """Set feature flag in CORE.data.""" + CORE.data[USE_FEATURE_KEY] = value + + def enable_feature(): + _set_use_feature(True) + ``` + + **Why this matters:** + - Module-level globals persist between compilation runs if the dashboard doesn't fork/exec + - `CORE.data` automatically clears between runs + - Typed helper functions provide better IDE support and maintainability + - Encapsulation makes state management explicit and testable * **Security:** Be mindful of security when making changes to the API, web server, or any other network-related code. Do not hardcode secrets or keys. From cbdb9d4a5623fa55f8dd632302ec7c789228d3be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 08:06:18 +0000 Subject: [PATCH 097/201] Bump aioesphomeapi from 41.16.1 to 41.17.0 (#11231) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4425a4644e..a3269b6b88 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.16.1 +aioesphomeapi==41.17.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From 2175c2909b5027c6cf11b94e369191a027f3eae2 Mon Sep 17 00:00:00 2001 From: TJQ <61875111+tjq19940331@users.noreply.github.com> Date: Tue, 14 Oct 2025 19:28:06 +0800 Subject: [PATCH 098/201] [mipi_dsi] Update waveshare P4-86 display parameters (#10562) --- .../components/mipi_dsi/models/waveshare.py | 63 ++++++++----------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/esphome/components/mipi_dsi/models/waveshare.py b/esphome/components/mipi_dsi/models/waveshare.py index 7cfd6f1645..c3d080f8b2 100644 --- a/esphome/components/mipi_dsi/models/waveshare.py +++ b/esphome/components/mipi_dsi/models/waveshare.py @@ -56,50 +56,41 @@ DriverChip( "WAVESHARE-P4-86-PANEL", height=720, width=720, - hsync_back_porch=80, + hsync_back_porch=50, hsync_pulse_width=20, - hsync_front_porch=80, - vsync_back_porch=12, + hsync_front_porch=50, + vsync_back_porch=20, vsync_pulse_width=4, - vsync_front_porch=30, - pclk_frequency="46MHz", - lane_bit_rate="1Gbps", + vsync_front_porch=20, + pclk_frequency="38MHz", + lane_bit_rate="480Mbps", swap_xy=cv.UNDEFINED, color_order="RGB", reset_pin=27, initsequence=[ (0xB9, 0xF1, 0x12, 0x83), - ( - 0xBA, 0x31, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0x00, - 0x90, 0x0A, 0x00, 0x00, 0x01, 0x4F, 0x01, 0x00, 0x00, 0x37, - ), - (0xB8, 0x25, 0x22, 0xF0, 0x63), - (0xBF, 0x02, 0x11, 0x00), + (0xB1, 0x00, 0x00, 0x00, 0xDA, 0x80), + (0xB2, 0x3C, 0x12, 0x30), (0xB3, 0x10, 0x10, 0x28, 0x28, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x00), - (0xC0, 0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x12, 0x70, 0x00), - (0xBC, 0x46), (0xCC, 0x0B), (0xB4, 0x80), (0xB2, 0x3C, 0x12, 0x30), - (0xE3, 0x07, 0x07, 0x0B, 0x0B, 0x03, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10,), - (0xC1, 0x36, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xCC, 0xCC, 0x77, 0x77, 0x33, 0x33), + (0xB4, 0x80), (0xB5, 0x0A, 0x0A), - (0xB6, 0xB2, 0xB2), - ( - 0xE9, 0xC8, 0x10, 0x0A, 0x10, 0x0F, 0xA1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86, 0xA1, 0x80, - 0x47, 0x08, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x48, - 0x02, 0x8B, 0xAF, 0x46, 0x02, 0x88, 0x88, 0x88, 0x88, 0x88, 0x48, 0x13, 0x8B, 0xAF, 0x57, - 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - ), - ( - 0xEA, 0x96, 0x12, 0x01, 0x01, 0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x31, - 0x8B, 0xA8, 0x31, 0x75, 0x88, 0x88, 0x88, 0x88, 0x88, 0x4F, 0x20, 0x8B, 0xA8, 0x20, 0x64, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA1, 0x80, 0x00, 0x00, - 0x00, 0x00, - ), - ( - 0xE0, 0x00, 0x0A, 0x0F, 0x29, 0x3B, 0x3F, 0x42, 0x39, 0x06, 0x0D, 0x10, 0x13, 0x15, 0x14, - 0x15, 0x10, 0x17, 0x00, 0x0A, 0x0F, 0x29, 0x3B, 0x3F, 0x42, 0x39, 0x06, 0x0D, 0x10, 0x13, - 0x15, 0x14, 0x15, 0x10, 0x17, - ), + (0xB6, 0x97, 0x97), + (0xB8, 0x26, 0x22, 0xF0, 0x13), + (0xBA, 0x31, 0x81, 0x0F, 0xF9, 0x0E, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0A, 0x00, 0x00, 0x01, 0x4F, 0x01, 0x00, 0x00, 0x37), + (0xBC, 0x47), + (0xBF, 0x02, 0x11, 0x00), + (0xC0, 0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x12, 0x70, 0x00), + (0xC1, 0x25, 0x00, 0x32, 0x32, 0x77, 0xE4, 0xFF, 0xFF, 0xCC, 0xCC, 0x77, 0x77), + (0xC6, 0x82, 0x00, 0xBF, 0xFF, 0x00, 0xFF), + (0xC7, 0xB8, 0x00, 0x0A, 0x10, 0x01, 0x09), + (0xC8, 0x10, 0x40, 0x1E, 0x02), + (0xCC, 0x0B), + (0xE0, 0x00, 0x0B, 0x10, 0x2C, 0x3D, 0x3F, 0x42, 0x3A, 0x07, 0x0D, 0x0F, 0x13, 0x15, 0x13, 0x14, 0x0F, 0x16, 0x00, 0x0B, 0x10, 0x2C, 0x3D, 0x3F, 0x42, 0x3A, 0x07, 0x0D, 0x0F, 0x13, 0x15, 0x13, 0x14, 0x0F, 0x16), + (0xE3, 0x07, 0x07, 0x0B, 0x0B, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10), + (0xE9, 0xC8, 0x10, 0x0A, 0x00, 0x00, 0x80, 0x81, 0x12, 0x31, 0x23, 0x4F, 0x86, 0xA0, 0x00, 0x47, 0x08, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x98, 0x02, 0x8B, 0xAF, 0x46, 0x02, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x13, 0x8B, 0xAF, 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), + (0xEA, 0x97, 0x0C, 0x09, 0x09, 0x09, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x31, 0x8B, 0xA8, 0x31, 0x75, 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0x20, 0x8B, 0xA8, 0x20, 0x64, 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00, 0x00, 0x02, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00), + (0xEF, 0xFF, 0xFF, 0x01), + (0x11, 0x00), + (0x29, 0x00), ], ) From 0e703ddbba1815c34b1d4670dc9f6cceff66a0a9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 08:54:16 -1000 Subject: [PATCH 099/201] [docs] Add embedded systems optimization best practices to AI instructions (#11225) --- .ai/instructions.md | 98 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/.ai/instructions.md b/.ai/instructions.md index 8daee704de..5f314a0dc9 100644 --- a/.ai/instructions.md +++ b/.ai/instructions.md @@ -221,6 +221,104 @@ This document provides essential context for AI models interacting with this pro * **Component Development:** Keep dependencies minimal, provide clear error messages, and write comprehensive docstrings and tests. * **Code Generation:** Generate minimal and efficient C++ code. Validate all user inputs thoroughly. Support multiple platform variations. * **Configuration Design:** Aim for simplicity with sensible defaults, while allowing for advanced customization. + * **Embedded Systems Optimization:** ESPHome targets resource-constrained microcontrollers. Be mindful of flash size and RAM usage. + + **STL Container Guidelines:** + + ESPHome runs on embedded systems with limited resources. Choose containers carefully: + + 1. **Compile-time-known sizes:** Use `std::array` instead of `std::vector` when size is known at compile time. + ```cpp + // Bad - generates STL realloc code + std::vector values; + + // Good - no dynamic allocation + std::array values; + ``` + Use `cg.add_define("MAX_VALUES", count)` to set the size from Python configuration. + + **For byte buffers:** Avoid `std::vector` unless the buffer needs to grow. Use `std::unique_ptr` instead. + + > **Note:** `std::unique_ptr` does **not** provide bounds checking or iterator support like `std::vector`. Use it only when you do not need these features and want minimal overhead. + + ```cpp + // Bad - STL overhead for simple byte buffer + std::vector buffer; + buffer.resize(256); + + // Good - minimal overhead, single allocation + std::unique_ptr buffer = std::make_unique(256); + // Or if size is constant: + std::array buffer; + ``` + + 2. **Compile-time-known fixed sizes with vector-like API:** Use `StaticVector` from `esphome/core/helpers.h` for fixed-size stack allocation with `push_back()` interface. + ```cpp + // Bad - generates STL realloc code (_M_realloc_insert) + std::vector services; + services.reserve(5); // Still includes reallocation machinery + + // Good - compile-time fixed size, stack allocated, no reallocation machinery + StaticVector services; // Allocates all MAX_SERVICES on stack + services.push_back(record1); // Tracks count but all slots allocated + ``` + Use `cg.add_define("MAX_SERVICES", count)` to set the size from Python configuration. + Like `std::array` but with vector-like API (`push_back()`, `size()`) and no STL reallocation code. + + 3. **Runtime-known sizes:** Use `FixedVector` from `esphome/core/helpers.h` when the size is only known at runtime initialization. + ```cpp + // Bad - generates STL realloc code (_M_realloc_insert) + std::vector txt_records; + txt_records.reserve(5); // Still includes reallocation machinery + + // Good - runtime size, single allocation, no reallocation machinery + FixedVector txt_records; + txt_records.init(record_count); // Initialize with exact size at runtime + ``` + **Benefits:** + - Eliminates `_M_realloc_insert`, `_M_default_append` template instantiations (saves 200-500 bytes per instance) + - Single allocation, no upper bound needed + - No reallocation overhead + - Compatible with protobuf code generation when using `[(fixed_vector) = true]` option + + 4. **Small datasets (1-16 elements):** Use `std::vector` or `std::array` with simple structs instead of `std::map`/`std::set`/`std::unordered_map`. + ```cpp + // Bad - 2KB+ overhead for red-black tree/hash table + std::map small_lookup; + std::unordered_map tiny_map; + + // Good - simple struct with linear search (std::vector is fine) + struct LookupEntry { + const char *key; + int value; + }; + std::vector small_lookup = { + {"key1", 10}, + {"key2", 20}, + {"key3", 30}, + }; + // Or std::array if size is compile-time constant: + // std::array small_lookup = {{ ... }}; + ``` + Linear search on small datasets (1-16 elements) is often faster than hashing/tree overhead, but this depends on lookup frequency and access patterns. For frequent lookups in hot code paths, the O(1) vs O(n) complexity difference may still matter even for small datasets. `std::vector` with simple structs is usually fine—it's the heavy containers (`map`, `set`, `unordered_map`) that should be avoided for small datasets unless profiling shows otherwise. + + 5. **Detection:** Look for these patterns in compiler output: + - Large code sections with STL symbols (vector, map, set) + - `alloc`, `realloc`, `dealloc` in symbol names + - `_M_realloc_insert`, `_M_default_append` (vector reallocation) + - Red-black tree code (`rb_tree`, `_Rb_tree`) + - Hash table infrastructure (`unordered_map`, `hash`) + + **When to optimize:** + - Core components (API, network, logger) + - Widely-used components (mdns, wifi, ble) + - Components causing flash size complaints + + **When not to optimize:** + - Single-use niche components + - Code where readability matters more than bytes + - Already using appropriate containers + * **State Management:** Use `CORE.data` for component state that needs to persist during configuration generation. Avoid module-level mutable globals. **Bad Pattern (Module-Level Globals):** From 9ff6f344ab1633d0a73aabf9f60d30b0d35ae4b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 10:49:30 -1000 Subject: [PATCH 100/201] Bump ruamel-yaml-clib from 0.2.12 to 0.2.14 (#10842) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a3269b6b88..f9e98f999e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ aioesphomeapi==41.17.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import -ruamel.yaml.clib==0.2.12 # dashboard_import +ruamel.yaml.clib==0.2.14 # dashboard_import esphome-glyphsets==0.2.0 pillow==10.4.0 cairosvg==2.8.2 From 8f49b1da54885c3ef55088f281ddb9730e0d3665 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 11:49:39 -1000 Subject: [PATCH 101/201] Bump pillow to 11.3.0 (#11239) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f9e98f999e..1abfed0324 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,7 @@ puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import ruamel.yaml.clib==0.2.14 # dashboard_import esphome-glyphsets==0.2.0 -pillow==10.4.0 +pillow==11.3.0 cairosvg==2.8.2 freetype-py==2.5.1 jinja2==3.1.6 From 72ec9b672e8ae557e1a63b03ec7fc271b908cf82 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 12:33:19 -1000 Subject: [PATCH 102/201] [pzemac, pzemdc, sdm_meter] Fix pin conflicts in ESP32-IDF tests (#11240) --- tests/components/pzemac/test.esp32-idf.yaml | 1 + tests/components/pzemdc/test.esp32-idf.yaml | 1 + tests/components/sdm_meter/test.esp32-idf.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/tests/components/pzemac/test.esp32-idf.yaml b/tests/components/pzemac/test.esp32-idf.yaml index 37d98696cc..b631e16677 100644 --- a/tests/components/pzemac/test.esp32-idf.yaml +++ b/tests/components/pzemac/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO13 packages: modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml diff --git a/tests/components/pzemdc/test.esp32-idf.yaml b/tests/components/pzemdc/test.esp32-idf.yaml index 37d98696cc..b631e16677 100644 --- a/tests/components/pzemdc/test.esp32-idf.yaml +++ b/tests/components/pzemdc/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO13 packages: modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml diff --git a/tests/components/sdm_meter/test.esp32-idf.yaml b/tests/components/sdm_meter/test.esp32-idf.yaml index 37d98696cc..b631e16677 100644 --- a/tests/components/sdm_meter/test.esp32-idf.yaml +++ b/tests/components/sdm_meter/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO13 packages: modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml From 8c13105ce14a2972c5d0e6cbf99a6056f768fc19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 00:00:45 +0000 Subject: [PATCH 103/201] Bump aioesphomeapi from 41.14.0 to 41.16.0 (#11215) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9937709c1c..1142c587b6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.14.0 +aioesphomeapi==41.16.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From 5913da5a89001079a538085be18ecaf38f31792b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 18:12:52 -1000 Subject: [PATCH 104/201] Bump aioesphomeapi from 41.16.0 to 41.16.1 (#11221) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1142c587b6..4425a4644e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.16.0 +aioesphomeapi==41.16.1 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From 82a3ca575f0858e31bf0b9374b91dd1e0bd2902e Mon Sep 17 00:00:00 2001 From: TJQ <61875111+tjq19940331@users.noreply.github.com> Date: Tue, 14 Oct 2025 19:28:06 +0800 Subject: [PATCH 105/201] [mipi_dsi] Update waveshare P4-86 display parameters (#10562) --- .../components/mipi_dsi/models/waveshare.py | 63 ++++++++----------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/esphome/components/mipi_dsi/models/waveshare.py b/esphome/components/mipi_dsi/models/waveshare.py index 7cfd6f1645..c3d080f8b2 100644 --- a/esphome/components/mipi_dsi/models/waveshare.py +++ b/esphome/components/mipi_dsi/models/waveshare.py @@ -56,50 +56,41 @@ DriverChip( "WAVESHARE-P4-86-PANEL", height=720, width=720, - hsync_back_porch=80, + hsync_back_porch=50, hsync_pulse_width=20, - hsync_front_porch=80, - vsync_back_porch=12, + hsync_front_porch=50, + vsync_back_porch=20, vsync_pulse_width=4, - vsync_front_porch=30, - pclk_frequency="46MHz", - lane_bit_rate="1Gbps", + vsync_front_porch=20, + pclk_frequency="38MHz", + lane_bit_rate="480Mbps", swap_xy=cv.UNDEFINED, color_order="RGB", reset_pin=27, initsequence=[ (0xB9, 0xF1, 0x12, 0x83), - ( - 0xBA, 0x31, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0x00, - 0x90, 0x0A, 0x00, 0x00, 0x01, 0x4F, 0x01, 0x00, 0x00, 0x37, - ), - (0xB8, 0x25, 0x22, 0xF0, 0x63), - (0xBF, 0x02, 0x11, 0x00), + (0xB1, 0x00, 0x00, 0x00, 0xDA, 0x80), + (0xB2, 0x3C, 0x12, 0x30), (0xB3, 0x10, 0x10, 0x28, 0x28, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x00), - (0xC0, 0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x12, 0x70, 0x00), - (0xBC, 0x46), (0xCC, 0x0B), (0xB4, 0x80), (0xB2, 0x3C, 0x12, 0x30), - (0xE3, 0x07, 0x07, 0x0B, 0x0B, 0x03, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10,), - (0xC1, 0x36, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xCC, 0xCC, 0x77, 0x77, 0x33, 0x33), + (0xB4, 0x80), (0xB5, 0x0A, 0x0A), - (0xB6, 0xB2, 0xB2), - ( - 0xE9, 0xC8, 0x10, 0x0A, 0x10, 0x0F, 0xA1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86, 0xA1, 0x80, - 0x47, 0x08, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x48, - 0x02, 0x8B, 0xAF, 0x46, 0x02, 0x88, 0x88, 0x88, 0x88, 0x88, 0x48, 0x13, 0x8B, 0xAF, 0x57, - 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, - ), - ( - 0xEA, 0x96, 0x12, 0x01, 0x01, 0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x31, - 0x8B, 0xA8, 0x31, 0x75, 0x88, 0x88, 0x88, 0x88, 0x88, 0x4F, 0x20, 0x8B, 0xA8, 0x20, 0x64, - 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA1, 0x80, 0x00, 0x00, - 0x00, 0x00, - ), - ( - 0xE0, 0x00, 0x0A, 0x0F, 0x29, 0x3B, 0x3F, 0x42, 0x39, 0x06, 0x0D, 0x10, 0x13, 0x15, 0x14, - 0x15, 0x10, 0x17, 0x00, 0x0A, 0x0F, 0x29, 0x3B, 0x3F, 0x42, 0x39, 0x06, 0x0D, 0x10, 0x13, - 0x15, 0x14, 0x15, 0x10, 0x17, - ), + (0xB6, 0x97, 0x97), + (0xB8, 0x26, 0x22, 0xF0, 0x13), + (0xBA, 0x31, 0x81, 0x0F, 0xF9, 0x0E, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0A, 0x00, 0x00, 0x01, 0x4F, 0x01, 0x00, 0x00, 0x37), + (0xBC, 0x47), + (0xBF, 0x02, 0x11, 0x00), + (0xC0, 0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x12, 0x70, 0x00), + (0xC1, 0x25, 0x00, 0x32, 0x32, 0x77, 0xE4, 0xFF, 0xFF, 0xCC, 0xCC, 0x77, 0x77), + (0xC6, 0x82, 0x00, 0xBF, 0xFF, 0x00, 0xFF), + (0xC7, 0xB8, 0x00, 0x0A, 0x10, 0x01, 0x09), + (0xC8, 0x10, 0x40, 0x1E, 0x02), + (0xCC, 0x0B), + (0xE0, 0x00, 0x0B, 0x10, 0x2C, 0x3D, 0x3F, 0x42, 0x3A, 0x07, 0x0D, 0x0F, 0x13, 0x15, 0x13, 0x14, 0x0F, 0x16, 0x00, 0x0B, 0x10, 0x2C, 0x3D, 0x3F, 0x42, 0x3A, 0x07, 0x0D, 0x0F, 0x13, 0x15, 0x13, 0x14, 0x0F, 0x16), + (0xE3, 0x07, 0x07, 0x0B, 0x0B, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10), + (0xE9, 0xC8, 0x10, 0x0A, 0x00, 0x00, 0x80, 0x81, 0x12, 0x31, 0x23, 0x4F, 0x86, 0xA0, 0x00, 0x47, 0x08, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x98, 0x02, 0x8B, 0xAF, 0x46, 0x02, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x13, 0x8B, 0xAF, 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), + (0xEA, 0x97, 0x0C, 0x09, 0x09, 0x09, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x31, 0x8B, 0xA8, 0x31, 0x75, 0x88, 0x88, 0x88, 0x88, 0x88, 0x9F, 0x20, 0x8B, 0xA8, 0x20, 0x64, 0x88, 0x88, 0x88, 0x88, 0x88, 0x23, 0x00, 0x00, 0x02, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00), + (0xEF, 0xFF, 0xFF, 0x01), + (0x11, 0x00), + (0x29, 0x00), ], ) From d7fcf8d57bcdcca52689aefda8c0eac932eda1ed Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 12:33:19 -1000 Subject: [PATCH 106/201] [pzemac, pzemdc, sdm_meter] Fix pin conflicts in ESP32-IDF tests (#11240) --- tests/components/pzemac/test.esp32-idf.yaml | 1 + tests/components/pzemdc/test.esp32-idf.yaml | 1 + tests/components/sdm_meter/test.esp32-idf.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/tests/components/pzemac/test.esp32-idf.yaml b/tests/components/pzemac/test.esp32-idf.yaml index 37d98696cc..b631e16677 100644 --- a/tests/components/pzemac/test.esp32-idf.yaml +++ b/tests/components/pzemac/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO13 packages: modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml diff --git a/tests/components/pzemdc/test.esp32-idf.yaml b/tests/components/pzemdc/test.esp32-idf.yaml index 37d98696cc..b631e16677 100644 --- a/tests/components/pzemdc/test.esp32-idf.yaml +++ b/tests/components/pzemdc/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO13 packages: modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml diff --git a/tests/components/sdm_meter/test.esp32-idf.yaml b/tests/components/sdm_meter/test.esp32-idf.yaml index 37d98696cc..b631e16677 100644 --- a/tests/components/sdm_meter/test.esp32-idf.yaml +++ b/tests/components/sdm_meter/test.esp32-idf.yaml @@ -1,6 +1,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 + flow_control_pin: GPIO13 packages: modbus: !include ../../test_build_components/common/modbus/esp32-idf.yaml From 780ece73ffa6bd2f8c0e77cee69ec011941a6489 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 15 Oct 2025 11:35:52 +1300 Subject: [PATCH 107/201] Bump version to 2025.10.0b4 --- Doxyfile | 2 +- esphome/const.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index d664ca5d63..947914a2f2 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = ESPHome # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2025.10.0b3 +PROJECT_NUMBER = 2025.10.0b4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/esphome/const.py b/esphome/const.py index 76943ff59d..c769b5874b 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -4,7 +4,7 @@ from enum import Enum from esphome.enum import StrEnum -__version__ = "2025.10.0b3" +__version__ = "2025.10.0b4" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" VALID_SUBSTITUTIONS_CHARACTERS = ( From b927b29a0a70806acababcc965125db2bb43f078 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:37:27 +1300 Subject: [PATCH 108/201] [netlify] Pin python version (#11244) --- netlify.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/netlify.toml b/netlify.toml index 7783414a91..5f177e6b3a 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,3 +1,4 @@ [build] command = "script/build-api-docs" publish = "api-docs" + environment = { PYTHON_VERSION = "3.13" } From 48a557b0051e8b301e628b34487292008c66a0c0 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:37:27 +1300 Subject: [PATCH 109/201] [netlify] Pin python version (#11244) --- netlify.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/netlify.toml b/netlify.toml index 7783414a91..5f177e6b3a 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,3 +1,4 @@ [build] command = "script/build-api-docs" publish = "api-docs" + environment = { PYTHON_VERSION = "3.13" } From d75ae357c220b67c12d3a33a6b785e4e113579c7 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 14:25:31 -1000 Subject: [PATCH 110/201] [wifi] Free scan results memory after connection (saves up to 1.2KB RAM) (#11205) --- esphome/components/wifi/__init__.py | 24 +++++++++++++++++++++ esphome/components/wifi/wifi_component.cpp | 6 ++++++ esphome/components/wifi/wifi_component.h | 2 ++ esphome/components/wifi_info/text_sensor.py | 6 ++++-- 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/esphome/components/wifi/__init__.py b/esphome/components/wifi/__init__.py index a784123006..ad5698519b 100644 --- a/esphome/components/wifi/__init__.py +++ b/esphome/components/wifi/__init__.py @@ -447,6 +447,8 @@ async def to_code(config): var.get_disconnect_trigger(), [], on_disconnect_config ) + CORE.add_job(final_step) + @automation.register_condition("wifi.connected", WiFiConnectedCondition, cv.Schema({})) async def wifi_connected_to_code(config, condition_id, template_arg, args): @@ -468,6 +470,28 @@ async def wifi_disable_to_code(config, action_id, template_arg, args): return cg.new_Pvariable(action_id, template_arg) +KEEP_SCAN_RESULTS_KEY = "wifi_keep_scan_results" + + +def request_wifi_scan_results(): + """Request that WiFi scan results be kept in memory after connection. + + Components that need access to scan results after WiFi is connected should + call this function during their code generation. This prevents the WiFi component from + freeing scan result memory after successful connection. + """ + CORE.data[KEEP_SCAN_RESULTS_KEY] = True + + +@coroutine_with_priority(CoroPriority.FINAL) +async def final_step(): + """Final code generation step to configure scan result retention.""" + if CORE.data.get(KEEP_SCAN_RESULTS_KEY, False): + cg.add( + cg.RawExpression("wifi::global_wifi_component->set_keep_scan_results(true)") + ) + + @automation.register_action( "wifi.configure", WiFiConfigureAction, diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index aa197b36e5..2e0a0d95c2 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -713,6 +713,12 @@ void WiFiComponent::check_connecting_finished() { this->state_ = WIFI_COMPONENT_STATE_STA_CONNECTED; this->num_retried_ = 0; + // Free scan results memory unless a component needs them + if (!this->keep_scan_results_) { + this->scan_result_.clear(); + this->scan_result_.shrink_to_fit(); + } + if (this->fast_connect_) { this->save_fast_connect_settings_(); } diff --git a/esphome/components/wifi/wifi_component.h b/esphome/components/wifi/wifi_component.h index 0e0f89d2c1..cd899cec5b 100644 --- a/esphome/components/wifi/wifi_component.h +++ b/esphome/components/wifi/wifi_component.h @@ -316,6 +316,7 @@ class WiFiComponent : public Component { int8_t wifi_rssi(); void set_enable_on_boot(bool enable_on_boot) { this->enable_on_boot_ = enable_on_boot; } + void set_keep_scan_results(bool keep_scan_results) { this->keep_scan_results_ = keep_scan_results; } Trigger<> *get_connect_trigger() const { return this->connect_trigger_; }; Trigger<> *get_disconnect_trigger() const { return this->disconnect_trigger_; }; @@ -424,6 +425,7 @@ class WiFiComponent : public Component { #endif bool enable_on_boot_; bool got_ipv4_address_{false}; + bool keep_scan_results_{false}; // Pointers at the end (naturally aligned) Trigger<> *connect_trigger_{new Trigger<>()}; diff --git a/esphome/components/wifi_info/text_sensor.py b/esphome/components/wifi_info/text_sensor.py index 4ceb73a695..a4da582c55 100644 --- a/esphome/components/wifi_info/text_sensor.py +++ b/esphome/components/wifi_info/text_sensor.py @@ -1,5 +1,5 @@ import esphome.codegen as cg -from esphome.components import text_sensor +from esphome.components import text_sensor, wifi import esphome.config_validation as cv from esphome.const import ( CONF_BSSID, @@ -77,7 +77,9 @@ async def to_code(config): await setup_conf(config, CONF_SSID) await setup_conf(config, CONF_BSSID) await setup_conf(config, CONF_MAC_ADDRESS) - await setup_conf(config, CONF_SCAN_RESULTS) + if CONF_SCAN_RESULTS in config: + await setup_conf(config, CONF_SCAN_RESULTS) + wifi.request_wifi_scan_results() await setup_conf(config, CONF_DNS_ADDRESS) if conf := config.get(CONF_IP_ADDRESS): wifi_info = await text_sensor.new_text_sensor(config[CONF_IP_ADDRESS]) From 63a87a5ef3c551f5046ddad9e4d9bf19028f6ebe Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 14:27:10 -1000 Subject: [PATCH 111/201] [core] Use FixedVector for automation condition vectors to save 384 bytes flash (#11237) --- esphome/core/base_automation.h | 13 +++++++------ esphome/core/helpers.h | 12 ++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/esphome/core/base_automation.h b/esphome/core/base_automation.h index ba942e5e43..f1248e0035 100644 --- a/esphome/core/base_automation.h +++ b/esphome/core/base_automation.h @@ -7,6 +7,7 @@ #include "esphome/core/preferences.h" #include "esphome/core/scheduler.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" #include @@ -14,7 +15,7 @@ namespace esphome { template class AndCondition : public Condition { public: - explicit AndCondition(const std::vector *> &conditions) : conditions_(conditions) {} + explicit AndCondition(std::initializer_list *> conditions) : conditions_(conditions) {} bool check(Ts... x) override { for (auto *condition : this->conditions_) { if (!condition->check(x...)) @@ -25,12 +26,12 @@ template class AndCondition : public Condition { } protected: - std::vector *> conditions_; + FixedVector *> conditions_; }; template class OrCondition : public Condition { public: - explicit OrCondition(const std::vector *> &conditions) : conditions_(conditions) {} + explicit OrCondition(std::initializer_list *> conditions) : conditions_(conditions) {} bool check(Ts... x) override { for (auto *condition : this->conditions_) { if (condition->check(x...)) @@ -41,7 +42,7 @@ template class OrCondition : public Condition { } protected: - std::vector *> conditions_; + FixedVector *> conditions_; }; template class NotCondition : public Condition { @@ -55,7 +56,7 @@ template class NotCondition : public Condition { template class XorCondition : public Condition { public: - explicit XorCondition(const std::vector *> &conditions) : conditions_(conditions) {} + explicit XorCondition(std::initializer_list *> conditions) : conditions_(conditions) {} bool check(Ts... x) override { size_t result = 0; for (auto *condition : this->conditions_) { @@ -66,7 +67,7 @@ template class XorCondition : public Condition { } protected: - std::vector *> conditions_; + FixedVector *> conditions_; }; template class LambdaCondition : public Condition { diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index e352c9c415..326718e974 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -197,6 +197,18 @@ template class FixedVector { public: FixedVector() = default; + /// Constructor from initializer list - allocates exact size needed + /// This enables brace initialization: FixedVector v = {1, 2, 3}; + FixedVector(std::initializer_list init_list) { + init(init_list.size()); + size_t idx = 0; + for (const auto &item : init_list) { + new (data_ + idx) T(item); + ++idx; + } + size_ = init_list.size(); + } + ~FixedVector() { cleanup_(); } // Disable copy operations (avoid accidental expensive copies) From 00230f7cc6582c9b2b8d47497423af60f07c6858 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 14:45:28 -1000 Subject: [PATCH 112/201] [wifi] Use FixedVector for scan results to reduce flash usage (#11216) --- .../improv_serial/improv_serial_component.cpp | 2 +- esphome/components/wifi/wifi_component.cpp | 2 +- esphome/components/wifi/wifi_component.h | 12 ++++++++++-- esphome/components/wifi/wifi_component_esp8266.cpp | 8 ++++++++ esphome/components/wifi/wifi_component_esp_idf.cpp | 2 +- esphome/components/wifi/wifi_component_libretiny.cpp | 2 +- 6 files changed, 22 insertions(+), 6 deletions(-) diff --git a/esphome/components/improv_serial/improv_serial_component.cpp b/esphome/components/improv_serial/improv_serial_component.cpp index 528a155a7f..28245dcfdf 100644 --- a/esphome/components/improv_serial/improv_serial_component.cpp +++ b/esphome/components/improv_serial/improv_serial_component.cpp @@ -218,7 +218,7 @@ bool ImprovSerialComponent::parse_improv_payload_(improv::ImprovCommand &command } case improv::GET_WIFI_NETWORKS: { std::vector networks; - auto results = wifi::global_wifi_component->get_scan_result(); + const auto &results = wifi::global_wifi_component->get_scan_result(); for (auto &scan : results) { if (scan.get_is_hidden()) continue; diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index 2e0a0d95c2..5aa2a03a14 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -549,7 +549,7 @@ void WiFiComponent::start_scanning() { // Using insertion sort instead of std::stable_sort saves flash memory // by avoiding template instantiations (std::rotate, std::stable_sort, lambdas) // IMPORTANT: This sort is stable (preserves relative order of equal elements) -static void insertion_sort_scan_results(std::vector &results) { +template static void insertion_sort_scan_results(VectorType &results) { const size_t size = results.size(); for (size_t i = 1; i < size; i++) { // Make a copy to avoid issues with move semantics during comparison diff --git a/esphome/components/wifi/wifi_component.h b/esphome/components/wifi/wifi_component.h index cd899cec5b..9d32071b2b 100644 --- a/esphome/components/wifi/wifi_component.h +++ b/esphome/components/wifi/wifi_component.h @@ -121,6 +121,14 @@ struct EAPAuth { using bssid_t = std::array; +// Use std::vector for RP2040 since scan count is unknown (callback-based) +// Use FixedVector for other platforms where count is queried first +#ifdef USE_RP2040 +template using wifi_scan_vector_t = std::vector; +#else +template using wifi_scan_vector_t = FixedVector; +#endif + class WiFiAP { public: void set_ssid(const std::string &ssid); @@ -278,7 +286,7 @@ class WiFiComponent : public Component { const std::string &get_use_address() const; void set_use_address(const std::string &use_address); - const std::vector &get_scan_result() const { return scan_result_; } + const wifi_scan_vector_t &get_scan_result() const { return scan_result_; } network::IPAddress wifi_soft_ap_ip(); @@ -386,7 +394,7 @@ class WiFiComponent : public Component { std::string use_address_; std::vector sta_; std::vector sta_priorities_; - std::vector scan_result_; + wifi_scan_vector_t scan_result_; WiFiAP selected_ap_; WiFiAP ap_; optional output_power_; diff --git a/esphome/components/wifi/wifi_component_esp8266.cpp b/esphome/components/wifi/wifi_component_esp8266.cpp index 3b3b4b139c..59909b2cb5 100644 --- a/esphome/components/wifi/wifi_component_esp8266.cpp +++ b/esphome/components/wifi/wifi_component_esp8266.cpp @@ -696,7 +696,15 @@ void WiFiComponent::wifi_scan_done_callback_(void *arg, STATUS status) { this->retry_connect(); return; } + + // Count the number of results first auto *head = reinterpret_cast(arg); + size_t count = 0; + for (bss_info *it = head; it != nullptr; it = STAILQ_NEXT(it, next)) { + count++; + } + + this->scan_result_.init(count); for (bss_info *it = head; it != nullptr; it = STAILQ_NEXT(it, next)) { WiFiScanResult res({it->bssid[0], it->bssid[1], it->bssid[2], it->bssid[3], it->bssid[4], it->bssid[5]}, std::string(reinterpret_cast(it->ssid), it->ssid_len), it->channel, it->rssi, diff --git a/esphome/components/wifi/wifi_component_esp_idf.cpp b/esphome/components/wifi/wifi_component_esp_idf.cpp index ccec800205..951f5803a6 100644 --- a/esphome/components/wifi/wifi_component_esp_idf.cpp +++ b/esphome/components/wifi/wifi_component_esp_idf.cpp @@ -784,7 +784,7 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { } records.resize(number); - scan_result_.reserve(number); + scan_result_.init(number); for (int i = 0; i < number; i++) { auto &record = records[i]; bssid_t bssid; diff --git a/esphome/components/wifi/wifi_component_libretiny.cpp b/esphome/components/wifi/wifi_component_libretiny.cpp index b15f710150..cb179d9022 100644 --- a/esphome/components/wifi/wifi_component_libretiny.cpp +++ b/esphome/components/wifi/wifi_component_libretiny.cpp @@ -411,7 +411,7 @@ void WiFiComponent::wifi_scan_done_callback_() { if (num < 0) return; - this->scan_result_.reserve(static_cast(num)); + this->scan_result_.init(static_cast(num)); for (int i = 0; i < num; i++) { String ssid = WiFi.SSID(i); wifi_auth_mode_t authmode = WiFi.encryptionType(i); From 85420b0606db4d585fcd303aac81c41b6c0048eb Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 14:50:40 -1000 Subject: [PATCH 113/201] [web_server_idf] Use std::vector instead of std::set for SSE sessions (#11233) --- .../components/web_server_idf/web_server_idf.cpp | 13 +++++++------ esphome/components/web_server_idf/web_server_idf.h | 6 ++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/esphome/components/web_server_idf/web_server_idf.cpp b/esphome/components/web_server_idf/web_server_idf.cpp index d90efd18bc..c3ba7ddc2b 100644 --- a/esphome/components/web_server_idf/web_server_idf.cpp +++ b/esphome/components/web_server_idf/web_server_idf.cpp @@ -380,24 +380,25 @@ void AsyncEventSource::handleRequest(AsyncWebServerRequest *request) { if (this->on_connect_) { this->on_connect_(rsp); } - this->sessions_.insert(rsp); + this->sessions_.push_back(rsp); } void AsyncEventSource::loop() { // Clean up dead sessions safely // This follows the ESP-IDF pattern where free_ctx marks resources as dead // and the main loop handles the actual cleanup to avoid race conditions - auto it = this->sessions_.begin(); - while (it != this->sessions_.end()) { - auto *ses = *it; + for (size_t i = 0; i < this->sessions_.size();) { + auto *ses = this->sessions_[i]; // If the session has a dead socket (marked by destroy callback) if (ses->fd_.load() == 0) { ESP_LOGD(TAG, "Removing dead event source session"); - it = this->sessions_.erase(it); delete ses; // NOLINT(cppcoreguidelines-owning-memory) + // Remove by swapping with last element (O(1) removal, order doesn't matter for sessions) + this->sessions_[i] = this->sessions_.back(); + this->sessions_.pop_back(); } else { ses->loop(); - ++it; + ++i; } } } diff --git a/esphome/components/web_server_idf/web_server_idf.h b/esphome/components/web_server_idf/web_server_idf.h index bf93dcbd34..5ec6fec009 100644 --- a/esphome/components/web_server_idf/web_server_idf.h +++ b/esphome/components/web_server_idf/web_server_idf.h @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include @@ -315,7 +314,10 @@ class AsyncEventSource : public AsyncWebHandler { protected: std::string url_; - std::set sessions_; + // Use vector instead of set: SSE sessions are typically 1-5 connections (browsers, dashboards). + // Linear search is faster than red-black tree overhead for this small dataset. + // Only operations needed: add session, remove session, iterate sessions - no need for sorted order. + std::vector sessions_; connect_handler_t on_connect_{}; esphome::web_server::WebServer *web_server_; }; From 63b113d823726e4737872cdd954271742252fbe7 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:01:02 +1300 Subject: [PATCH 114/201] Bump version to 2025.10.0 --- Doxyfile | 2 +- esphome/const.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index 947914a2f2..749254c75e 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = ESPHome # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2025.10.0b4 +PROJECT_NUMBER = 2025.10.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/esphome/const.py b/esphome/const.py index c769b5874b..35c1603d48 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -4,7 +4,7 @@ from enum import Enum from esphome.enum import StrEnum -__version__ = "2025.10.0b4" +__version__ = "2025.10.0" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" VALID_SUBSTITUTIONS_CHARACTERS = ( From f0ac61f2478166100b931716f0aca29abf6daf06 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 16:00:22 -1000 Subject: [PATCH 115/201] [light] Use FixedVector for LightState effects list (#11232) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/light/light_state.cpp | 5 +++-- esphome/components/light/light_state.h | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/esphome/components/light/light_state.cpp b/esphome/components/light/light_state.cpp index f18d5ba1de..1d139e49e7 100644 --- a/esphome/components/light/light_state.cpp +++ b/esphome/components/light/light_state.cpp @@ -177,9 +177,10 @@ void LightState::set_gamma_correct(float gamma_correct) { this->gamma_correct_ = void LightState::set_restore_mode(LightRestoreMode restore_mode) { this->restore_mode_ = restore_mode; } void LightState::set_initial_state(const LightStateRTCState &initial_state) { this->initial_state_ = initial_state; } bool LightState::supports_effects() { return !this->effects_.empty(); } -const std::vector &LightState::get_effects() const { return this->effects_; } +const FixedVector &LightState::get_effects() const { return this->effects_; } void LightState::add_effects(const std::vector &effects) { - this->effects_.reserve(this->effects_.size() + effects.size()); + // Called once from Python codegen during setup with all effects from YAML config + this->effects_.init(effects.size()); for (auto *effect : effects) { this->effects_.push_back(effect); } diff --git a/esphome/components/light/light_state.h b/esphome/components/light/light_state.h index 1427c02c35..a07aeb6ae5 100644 --- a/esphome/components/light/light_state.h +++ b/esphome/components/light/light_state.h @@ -11,8 +11,9 @@ #include "light_traits.h" #include "light_transformer.h" -#include +#include "esphome/core/helpers.h" #include +#include namespace esphome { namespace light { @@ -159,7 +160,7 @@ class LightState : public EntityBase, public Component { bool supports_effects(); /// Get all effects for this light state. - const std::vector &get_effects() const; + const FixedVector &get_effects() const; /// Add effects for this light state. void add_effects(const std::vector &effects); @@ -260,7 +261,7 @@ class LightState : public EntityBase, public Component { /// The currently active transformer for this light (transition/flash). std::unique_ptr transformer_{nullptr}; /// List of effects for this light. - std::vector effects_; + FixedVector effects_; /// Object used to store the persisted values of the light. ESPPreferenceObject rtc_; /// Value for storing the index of the currently active effect. 0 if no effect is active From c983581b6cbcc87cd0b711db75a759f703f0b2f2 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 16:10:04 -1000 Subject: [PATCH 116/201] [api] Convert HomeassistantActionRequest vectors to FixedVector for flash savings (#11229) --- esphome/components/api/api.proto | 6 ++-- esphome/components/api/api_pb2.h | 6 ++-- esphome/components/api/custom_api_device.h | 8 ++--- .../components/api/homeassistant_service.h | 31 ++++++++----------- .../number/homeassistant_number.cpp | 7 ++--- .../switch/homeassistant_switch.cpp | 4 +-- 6 files changed, 28 insertions(+), 34 deletions(-) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index 9b714d00f1..34864c5ce8 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -776,9 +776,9 @@ message HomeassistantActionRequest { option (ifdef) = "USE_API_HOMEASSISTANT_SERVICES"; string service = 1; - repeated HomeassistantServiceMap data = 2; - repeated HomeassistantServiceMap data_template = 3; - repeated HomeassistantServiceMap variables = 4; + repeated HomeassistantServiceMap data = 2 [(fixed_vector) = true]; + repeated HomeassistantServiceMap data_template = 3 [(fixed_vector) = true]; + repeated HomeassistantServiceMap variables = 4 [(fixed_vector) = true]; bool is_event = 5; uint32 call_id = 6 [(field_ifdef) = "USE_API_HOMEASSISTANT_ACTION_RESPONSES"]; bool wants_response = 7 [(field_ifdef) = "USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON"]; diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index 1798458393..7d6b31ca3c 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -1110,9 +1110,9 @@ class HomeassistantActionRequest final : public ProtoMessage { #endif StringRef service_ref_{}; void set_service(const StringRef &ref) { this->service_ref_ = ref; } - std::vector data{}; - std::vector data_template{}; - std::vector variables{}; + FixedVector data{}; + FixedVector data_template{}; + FixedVector variables{}; bool is_event{false}; #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES uint32_t call_id{0}; diff --git a/esphome/components/api/custom_api_device.h b/esphome/components/api/custom_api_device.h index 0c6e49d6ca..711eba2444 100644 --- a/esphome/components/api/custom_api_device.h +++ b/esphome/components/api/custom_api_device.h @@ -201,9 +201,9 @@ class CustomAPIDevice { void call_homeassistant_service(const std::string &service_name, const std::map &data) { HomeassistantActionRequest resp; resp.set_service(StringRef(service_name)); + resp.data.init(data.size()); for (auto &it : data) { - resp.data.emplace_back(); - auto &kv = resp.data.back(); + auto &kv = resp.data.emplace_back(); kv.set_key(StringRef(it.first)); kv.value = it.second; } @@ -244,9 +244,9 @@ class CustomAPIDevice { HomeassistantActionRequest resp; resp.set_service(StringRef(service_name)); resp.is_event = true; + resp.data.init(data.size()); for (auto &it : data) { - resp.data.emplace_back(); - auto &kv = resp.data.back(); + auto &kv = resp.data.emplace_back(); kv.set_key(StringRef(it.first)); kv.value = it.second; } diff --git a/esphome/components/api/homeassistant_service.h b/esphome/components/api/homeassistant_service.h index 730024f7b7..46e89cb39f 100644 --- a/esphome/components/api/homeassistant_service.h +++ b/esphome/components/api/homeassistant_service.h @@ -127,24 +127,9 @@ template class HomeAssistantServiceCallAction : public Actionservice_.value(x...); resp.set_service(StringRef(service_value)); resp.is_event = this->flags_.is_event; - for (auto &it : this->data_) { - resp.data.emplace_back(); - auto &kv = resp.data.back(); - kv.set_key(StringRef(it.key)); - kv.value = it.value.value(x...); - } - for (auto &it : this->data_template_) { - resp.data_template.emplace_back(); - auto &kv = resp.data_template.back(); - kv.set_key(StringRef(it.key)); - kv.value = it.value.value(x...); - } - for (auto &it : this->variables_) { - resp.variables.emplace_back(); - auto &kv = resp.variables.back(); - kv.set_key(StringRef(it.key)); - kv.value = it.value.value(x...); - } + this->populate_service_map(resp.data, this->data_, x...); + this->populate_service_map(resp.data_template, this->data_template_, x...); + this->populate_service_map(resp.variables, this->variables_, x...); #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES if (this->flags_.wants_status) { @@ -189,6 +174,16 @@ template class HomeAssistantServiceCallAction : public Action + static void populate_service_map(VectorType &dest, SourceType &source, Ts... x) { + dest.init(source.size()); + for (auto &it : source) { + auto &kv = dest.emplace_back(); + kv.set_key(StringRef(it.key)); + kv.value = it.value.value(x...); + } + } + APIServer *parent_; TemplatableStringValue service_{}; std::vector> data_; diff --git a/esphome/components/homeassistant/number/homeassistant_number.cpp b/esphome/components/homeassistant/number/homeassistant_number.cpp index c9fb006568..9963f3431d 100644 --- a/esphome/components/homeassistant/number/homeassistant_number.cpp +++ b/esphome/components/homeassistant/number/homeassistant_number.cpp @@ -90,13 +90,12 @@ void HomeassistantNumber::control(float value) { api::HomeassistantActionRequest resp; resp.set_service(SERVICE_NAME); - resp.data.emplace_back(); - auto &entity_id = resp.data.back(); + resp.data.init(2); + auto &entity_id = resp.data.emplace_back(); entity_id.set_key(ENTITY_ID_KEY); entity_id.value = this->entity_id_; - resp.data.emplace_back(); - auto &entity_value = resp.data.back(); + auto &entity_value = resp.data.emplace_back(); entity_value.set_key(VALUE_KEY); entity_value.value = to_string(value); diff --git a/esphome/components/homeassistant/switch/homeassistant_switch.cpp b/esphome/components/homeassistant/switch/homeassistant_switch.cpp index 8feec26fe6..27d3705fc2 100644 --- a/esphome/components/homeassistant/switch/homeassistant_switch.cpp +++ b/esphome/components/homeassistant/switch/homeassistant_switch.cpp @@ -51,8 +51,8 @@ void HomeassistantSwitch::write_state(bool state) { resp.set_service(SERVICE_OFF); } - resp.data.emplace_back(); - auto &entity_id_kv = resp.data.back(); + resp.data.init(1); + auto &entity_id_kv = resp.data.emplace_back(); entity_id_kv.set_key(ENTITY_ID_KEY); entity_id_kv.value = this->entity_id_; From 7a82379c88479ba86c19ae2328cbfe3601271a0c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 16:16:59 -1000 Subject: [PATCH 117/201] [mdns] Use FixedVector for txt_records to reduce flash usage (#11228) --- esphome/components/mdns/mdns_component.cpp | 9 ++------- esphome/components/mdns/mdns_component.h | 2 +- esphome/components/mdns/mdns_esp32.cpp | 5 +++++ esphome/components/mdns/mdns_esp8266.cpp | 5 +++++ esphome/components/mdns/mdns_libretiny.cpp | 5 +++++ esphome/components/mdns/mdns_rp2040.cpp | 5 +++++ 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/esphome/components/mdns/mdns_component.cpp b/esphome/components/mdns/mdns_component.cpp index fea3ced99f..d476136554 100644 --- a/esphome/components/mdns/mdns_component.cpp +++ b/esphome/components/mdns/mdns_component.cpp @@ -83,7 +83,7 @@ void MDNSComponent::compile_records_(StaticVectorservices_ = services; + fallback_service.txt_records = {{MDNS_STR(TXT_VERSION), MDNS_STR(VALUE_VERSION)}}; #endif } diff --git a/esphome/components/mdns/mdns_component.h b/esphome/components/mdns/mdns_component.h index 62476e9504..35371fd739 100644 --- a/esphome/components/mdns/mdns_component.h +++ b/esphome/components/mdns/mdns_component.h @@ -38,7 +38,7 @@ struct MDNSService { // as defined in RFC6763 Section 7, like "_tcp" or "_udp" const MDNSString *proto; TemplatableValue port; - std::vector txt_records; + FixedVector txt_records; }; class MDNSComponent : public Component { diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index da47be7dbc..f2cb2d3ef5 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -12,8 +12,13 @@ namespace mdns { static const char *const TAG = "mdns"; void MDNSComponent::setup() { +#ifdef USE_MDNS_STORE_SERVICES + this->compile_records_(this->services_); + const auto &services = this->services_; +#else StaticVector services; this->compile_records_(services); +#endif esp_err_t err = mdns_init(); if (err != ESP_OK) { diff --git a/esphome/components/mdns/mdns_esp8266.cpp b/esphome/components/mdns/mdns_esp8266.cpp index 06503742db..25a3defa7b 100644 --- a/esphome/components/mdns/mdns_esp8266.cpp +++ b/esphome/components/mdns/mdns_esp8266.cpp @@ -12,8 +12,13 @@ namespace esphome { namespace mdns { void MDNSComponent::setup() { +#ifdef USE_MDNS_STORE_SERVICES + this->compile_records_(this->services_); + const auto &services = this->services_; +#else StaticVector services; this->compile_records_(services); +#endif MDNS.begin(this->hostname_.c_str()); diff --git a/esphome/components/mdns/mdns_libretiny.cpp b/esphome/components/mdns/mdns_libretiny.cpp index a959482ff6..a3e317a2bf 100644 --- a/esphome/components/mdns/mdns_libretiny.cpp +++ b/esphome/components/mdns/mdns_libretiny.cpp @@ -12,8 +12,13 @@ namespace esphome { namespace mdns { void MDNSComponent::setup() { +#ifdef USE_MDNS_STORE_SERVICES + this->compile_records_(this->services_); + const auto &services = this->services_; +#else StaticVector services; this->compile_records_(services); +#endif MDNS.begin(this->hostname_.c_str()); diff --git a/esphome/components/mdns/mdns_rp2040.cpp b/esphome/components/mdns/mdns_rp2040.cpp index 9dfb05bda9..791fa3934d 100644 --- a/esphome/components/mdns/mdns_rp2040.cpp +++ b/esphome/components/mdns/mdns_rp2040.cpp @@ -12,8 +12,13 @@ namespace esphome { namespace mdns { void MDNSComponent::setup() { +#ifdef USE_MDNS_STORE_SERVICES + this->compile_records_(this->services_); + const auto &services = this->services_; +#else StaticVector services; this->compile_records_(services); +#endif MDNS.begin(this->hostname_.c_str()); From 6e2088f836165da3b568697ed8a075121ae70586 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 03:12:34 +0000 Subject: [PATCH 118/201] Bump aioesphomeapi from 41.17.0 to 41.18.0 (#11247) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1abfed0324..88ecb1c20e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.17.0 +aioesphomeapi==41.18.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From fedfda6c29a7e48c143a639c129e4de7a640b645 Mon Sep 17 00:00:00 2001 From: Stuart Parmenter Date: Tue, 14 Oct 2025 20:57:47 -0700 Subject: [PATCH 119/201] [core] Fix regression from #10654 (#11248) --- script/ci-custom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/ci-custom.py b/script/ci-custom.py index bc1ebda93b..6b01623d92 100755 --- a/script/ci-custom.py +++ b/script/ci-custom.py @@ -501,7 +501,7 @@ def lint_constants_usage(): continue errs.append( f"Constant {highlight(constant)} is defined in {len(uses)} files. Please move all definitions of the " - f"constant to const.py (Uses: {', '.join(uses)}) in a separate PR. " + f"constant to const.py (Uses: {', '.join(str(u) for u in uses)}) in a separate PR. " "See https://developers.esphome.io/contributing/code/#python" ) return errs From 6d5e41ef7f50618a3a2dc45abe56d575344aba83 Mon Sep 17 00:00:00 2001 From: Stuart Parmenter Date: Tue, 14 Oct 2025 21:29:41 -0700 Subject: [PATCH 120/201] [const] Add CONF_ROWS (#11249) --- esphome/components/lvgl/defines.py | 1 - esphome/components/lvgl/widgets/buttonmatrix.py | 3 +-- esphome/components/matrix_keypad/__init__.py | 3 +-- esphome/const.py | 1 + 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/esphome/components/lvgl/defines.py b/esphome/components/lvgl/defines.py index baee403b57..6464824c64 100644 --- a/esphome/components/lvgl/defines.py +++ b/esphome/components/lvgl/defines.py @@ -486,7 +486,6 @@ CONF_RESUME_ON_INPUT = "resume_on_input" CONF_RIGHT_BUTTON = "right_button" CONF_ROLLOVER = "rollover" CONF_ROOT_BACK_BTN = "root_back_btn" -CONF_ROWS = "rows" CONF_SCALE_LINES = "scale_lines" CONF_SCROLLBAR_MODE = "scrollbar_mode" CONF_SELECTED_INDEX = "selected_index" diff --git a/esphome/components/lvgl/widgets/buttonmatrix.py b/esphome/components/lvgl/widgets/buttonmatrix.py index c6b6d2440f..baeb1c8e3e 100644 --- a/esphome/components/lvgl/widgets/buttonmatrix.py +++ b/esphome/components/lvgl/widgets/buttonmatrix.py @@ -2,7 +2,7 @@ from esphome import automation import esphome.codegen as cg from esphome.components.key_provider import KeyProvider import esphome.config_validation as cv -from esphome.const import CONF_ID, CONF_ITEMS, CONF_TEXT, CONF_WIDTH +from esphome.const import CONF_ID, CONF_ITEMS, CONF_ROWS, CONF_TEXT, CONF_WIDTH from esphome.cpp_generator import MockObj from ..automation import action_to_code @@ -15,7 +15,6 @@ from ..defines import ( CONF_ONE_CHECKED, CONF_PAD_COLUMN, CONF_PAD_ROW, - CONF_ROWS, CONF_SELECTED, ) from ..helpers import lvgl_components_required diff --git a/esphome/components/matrix_keypad/__init__.py b/esphome/components/matrix_keypad/__init__.py index f7a1d622a1..2e123323a0 100644 --- a/esphome/components/matrix_keypad/__init__.py +++ b/esphome/components/matrix_keypad/__init__.py @@ -2,7 +2,7 @@ from esphome import automation, pins import esphome.codegen as cg from esphome.components import key_provider import esphome.config_validation as cv -from esphome.const import CONF_ID, CONF_ON_KEY, CONF_PIN, CONF_TRIGGER_ID +from esphome.const import CONF_ID, CONF_ON_KEY, CONF_PIN, CONF_ROWS, CONF_TRIGGER_ID CODEOWNERS = ["@ssieb"] @@ -19,7 +19,6 @@ MatrixKeyTrigger = matrix_keypad_ns.class_( ) CONF_KEYPAD_ID = "keypad_id" -CONF_ROWS = "rows" CONF_COLUMNS = "columns" CONF_KEYS = "keys" CONF_DEBOUNCE_TIME = "debounce_time" diff --git a/esphome/const.py b/esphome/const.py index 086b5b4ce3..d62dc617d1 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -836,6 +836,7 @@ CONF_RMT_CHANNEL = "rmt_channel" CONF_RMT_SYMBOLS = "rmt_symbols" CONF_ROTATION = "rotation" CONF_ROW = "row" +CONF_ROWS = "rows" CONF_RS_PIN = "rs_pin" CONF_RTD_NOMINAL_RESISTANCE = "rtd_nominal_resistance" CONF_RTD_WIRES = "rtd_wires" From 1b0ca3360e881df7635376f68d21a0bc6bec9b0c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 19:49:14 -1000 Subject: [PATCH 121/201] [ci] Group all PR builds, isolate direct changes for full validation on dev (#11193) --- .github/workflows/ci.yml | 71 +++++++++++------------------ script/determine-jobs.py | 52 +++++++++++++++++---- script/list-components.py | 45 +++++++++++++++--- script/split_components_for_ci.py | 55 ++++++++++++++++++++-- script/test_build_components.py | 62 +++++++++++++++++++++---- tests/script/test_determine_jobs.py | 23 +++++++--- 6 files changed, 230 insertions(+), 78 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0363b5afdf..2b0449474b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -178,6 +178,7 @@ jobs: python-linters: ${{ steps.determine.outputs.python-linters }} changed-components: ${{ steps.determine.outputs.changed-components }} changed-components-with-tests: ${{ steps.determine.outputs.changed-components-with-tests }} + directly-changed-components-with-tests: ${{ steps.determine.outputs.directly-changed-components-with-tests }} component-test-count: ${{ steps.determine.outputs.component-test-count }} steps: - name: Check out code from GitHub @@ -206,6 +207,7 @@ jobs: echo "python-linters=$(echo "$output" | jq -r '.python_linters')" >> $GITHUB_OUTPUT echo "changed-components=$(echo "$output" | jq -c '.changed_components')" >> $GITHUB_OUTPUT echo "changed-components-with-tests=$(echo "$output" | jq -c '.changed_components_with_tests')" >> $GITHUB_OUTPUT + echo "directly-changed-components-with-tests=$(echo "$output" | jq -c '.directly_changed_components_with_tests')" >> $GITHUB_OUTPUT echo "component-test-count=$(echo "$output" | jq -r '.component_test_count')" >> $GITHUB_OUTPUT integration-tests: @@ -358,48 +360,13 @@ jobs: # yamllint disable-line rule:line-length if: always() - test-build-components: - name: Component test ${{ matrix.file }} - runs-on: ubuntu-24.04 - needs: - - common - - determine-jobs - if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) > 0 && fromJSON(needs.determine-jobs.outputs.component-test-count) < 100 - strategy: - fail-fast: false - max-parallel: 2 - matrix: - file: ${{ fromJson(needs.determine-jobs.outputs.changed-components-with-tests) }} - steps: - - name: Cache apt packages - uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 - with: - packages: libsdl2-dev - version: 1.0 - - - name: Check out code from GitHub - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Validate config for ${{ matrix.file }} - run: | - . venv/bin/activate - python3 script/test_build_components.py -e config -c ${{ matrix.file }} - - name: Compile config for ${{ matrix.file }} - run: | - . venv/bin/activate - python3 script/test_build_components.py -e compile -c ${{ matrix.file }} - test-build-components-splitter: name: Split components for intelligent grouping (40 weighted per batch) runs-on: ubuntu-24.04 needs: - common - determine-jobs - if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 + if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) > 0 outputs: matrix: ${{ steps.split.outputs.components }} steps: @@ -417,9 +384,10 @@ jobs: # Use intelligent splitter that groups components with same bus configs components='${{ needs.determine-jobs.outputs.changed-components-with-tests }}' + directly_changed='${{ needs.determine-jobs.outputs.directly-changed-components-with-tests }}' echo "Splitting components intelligently..." - output=$(python3 script/split_components_for_ci.py --components "$components" --batch-size 40 --output github) + output=$(python3 script/split_components_for_ci.py --components "$components" --directly-changed "$directly_changed" --batch-size 40 --output github) echo "$output" >> $GITHUB_OUTPUT @@ -430,7 +398,7 @@ jobs: - common - determine-jobs - test-build-components-splitter - if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) >= 100 + if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) > 0 strategy: fail-fast: false max-parallel: ${{ (github.base_ref == 'beta' || github.base_ref == 'release') && 8 || 4 }} @@ -477,18 +445,34 @@ jobs: # Convert space-separated components to comma-separated for Python script components_csv=$(echo "${{ matrix.components }}" | tr ' ' ',') - echo "Testing components: $components_csv" + # Only isolate directly changed components when targeting dev branch + # For beta/release branches, group everything for faster CI + # + # WHY ISOLATE DIRECTLY CHANGED COMPONENTS? + # - Isolated tests run WITHOUT --testing-mode, enabling full validation + # - This catches pin conflicts and other issues in directly changed code + # - Grouped tests use --testing-mode to allow config merging (disables some checks) + # - Dependencies are safe to group since they weren't modified in this PR + if [ "${{ github.base_ref }}" = "beta" ] || [ "${{ github.base_ref }}" = "release" ]; then + directly_changed_csv="" + echo "Testing components: $components_csv" + echo "Target branch: ${{ github.base_ref }} - grouping all components" + else + directly_changed_csv=$(echo '${{ needs.determine-jobs.outputs.directly-changed-components-with-tests }}' | jq -r 'join(",")') + echo "Testing components: $components_csv" + echo "Target branch: ${{ github.base_ref }} - isolating directly changed components: $directly_changed_csv" + fi echo "" - # Run config validation with grouping - python3 script/test_build_components.py -e config -c "$components_csv" -f + # Run config validation with grouping and isolation + python3 script/test_build_components.py -e config -c "$components_csv" -f --isolate "$directly_changed_csv" echo "" echo "Config validation passed! Starting compilation..." echo "" - # Run compilation with grouping - python3 script/test_build_components.py -e compile -c "$components_csv" -f + # Run compilation with grouping and isolation + python3 script/test_build_components.py -e compile -c "$components_csv" -f --isolate "$directly_changed_csv" pre-commit-ci-lite: name: pre-commit.ci lite @@ -521,7 +505,6 @@ jobs: - integration-tests - clang-tidy - determine-jobs - - test-build-components - test-build-components-splitter - test-build-components-split - pre-commit-ci-lite diff --git a/script/determine-jobs.py b/script/determine-jobs.py index a078fd8f9b..b000ecee3b 100755 --- a/script/determine-jobs.py +++ b/script/determine-jobs.py @@ -31,6 +31,7 @@ Options: from __future__ import annotations import argparse +from functools import cache import json import os from pathlib import Path @@ -45,7 +46,6 @@ from helpers import ( changed_files, get_all_dependencies, get_components_from_integration_fixtures, - parse_list_components_output, root_path, ) @@ -212,6 +212,24 @@ def _any_changed_file_endswith(branch: str | None, extensions: tuple[str, ...]) return any(file.endswith(extensions) for file in changed_files(branch)) +@cache +def _component_has_tests(component: str) -> bool: + """Check if a component has test files. + + Cached to avoid repeated filesystem operations for the same component. + + Args: + component: Component name to check + + Returns: + True if the component has test YAML files + """ + tests_dir = Path(root_path) / "tests" / "components" / component + if not tests_dir.exists(): + return False + return any(tests_dir.glob("test.*.yaml")) + + def main() -> None: """Main function that determines which CI jobs to run.""" parser = argparse.ArgumentParser( @@ -228,23 +246,37 @@ def main() -> None: run_clang_format = should_run_clang_format(args.branch) run_python_linters = should_run_python_linters(args.branch) - # Get changed components using list-components.py for exact compatibility + # Get both directly changed and all changed components (with dependencies) in one call script_path = Path(__file__).parent / "list-components.py" - cmd = [sys.executable, str(script_path), "--changed"] + cmd = [sys.executable, str(script_path), "--changed-with-deps"] if args.branch: cmd.extend(["-b", args.branch]) result = subprocess.run(cmd, capture_output=True, text=True, check=True) - changed_components = parse_list_components_output(result.stdout) + component_data = json.loads(result.stdout) + directly_changed_components = component_data["directly_changed"] + changed_components = component_data["all_changed"] # Filter to only components that have test files # Components without tests shouldn't generate CI test jobs - tests_dir = Path(root_path) / "tests" / "components" changed_components_with_tests = [ + component for component in changed_components if _component_has_tests(component) + ] + + # Get directly changed components with tests (for isolated testing) + # These will be tested WITHOUT --testing-mode in CI to enable full validation + # (pin conflicts, etc.) since they contain the actual changes being reviewed + directly_changed_with_tests = [ component - for component in changed_components - if (component_test_dir := tests_dir / component).exists() - and any(component_test_dir.glob("test.*.yaml")) + for component in directly_changed_components + if _component_has_tests(component) + ] + + # Get dependency-only components (for grouped testing) + dependency_only_components = [ + component + for component in changed_components_with_tests + if component not in directly_changed_components ] # Build output @@ -255,7 +287,11 @@ def main() -> None: "python_linters": run_python_linters, "changed_components": changed_components, "changed_components_with_tests": changed_components_with_tests, + "directly_changed_components_with_tests": directly_changed_with_tests, + "dependency_only_components_with_tests": dependency_only_components, "component_test_count": len(changed_components_with_tests), + "directly_changed_count": len(directly_changed_with_tests), + "dependency_only_count": len(dependency_only_components), } # Output as JSON diff --git a/script/list-components.py b/script/list-components.py index 9ab1cdd852..dffff6801a 100755 --- a/script/list-components.py +++ b/script/list-components.py @@ -185,18 +185,32 @@ def main(): "-c", "--changed", action="store_true", - help="List all components required for testing based on changes", + help="List all components required for testing based on changes (includes dependencies)", + ) + parser.add_argument( + "--changed-direct", + action="store_true", + help="List only directly changed components (without dependencies)", + ) + parser.add_argument( + "--changed-with-deps", + action="store_true", + help="Output JSON with both directly changed and all changed components", ) parser.add_argument( "-b", "--branch", help="Branch to compare changed files against" ) args = parser.parse_args() - if args.branch and not args.changed: - parser.error("--branch requires --changed") + if args.branch and not ( + args.changed or args.changed_direct or args.changed_with_deps + ): + parser.error( + "--branch requires --changed, --changed-direct, or --changed-with-deps" + ) - if args.changed: - # When --changed is passed, only get the changed files + if args.changed or args.changed_direct or args.changed_with_deps: + # When --changed* is passed, only get the changed files changed = changed_files(args.branch) # If any base test file(s) changed, there's no need to filter out components @@ -210,8 +224,25 @@ def main(): # Get all component files files = get_all_component_files() - for c in get_components(files, args.changed): - print(c) + if args.changed_with_deps: + # Return JSON with both directly changed and all changed components + import json + + directly_changed = get_components(files, False) + all_changed = get_components(files, True) + output = { + "directly_changed": directly_changed, + "all_changed": all_changed, + } + print(json.dumps(output)) + elif args.changed_direct: + # Return only directly changed components (without dependencies) + for c in get_components(files, False): + print(c) + else: + # Return all changed components (with dependencies) - default behavior + for c in get_components(files, args.changed): + print(c) if __name__ == "__main__": diff --git a/script/split_components_for_ci.py b/script/split_components_for_ci.py index ad2261499c..9730db4988 100755 --- a/script/split_components_for_ci.py +++ b/script/split_components_for_ci.py @@ -56,6 +56,7 @@ def create_intelligent_batches( components: list[str], tests_dir: Path, batch_size: int = 40, + directly_changed: set[str] | None = None, ) -> list[list[str]]: """Create batches optimized for component grouping. @@ -63,6 +64,7 @@ def create_intelligent_batches( components: List of component names to batch tests_dir: Path to tests/components directory batch_size: Target size for each batch + directly_changed: Set of directly changed components (for logging only) Returns: List of component batches (lists of component names) @@ -94,10 +96,17 @@ def create_intelligent_batches( for component in components_with_tests: # Components that can't be grouped get unique signatures - # This includes both manually curated ISOLATED_COMPONENTS and - # automatically detected non_groupable components + # This includes: + # - Manually curated ISOLATED_COMPONENTS + # - Automatically detected non_groupable components + # - Directly changed components (passed via --isolate in CI) # These can share a batch/runner but won't be grouped/merged - if component in ISOLATED_COMPONENTS or component in non_groupable: + is_isolated = ( + component in ISOLATED_COMPONENTS + or component in non_groupable + or (directly_changed and component in directly_changed) + ) + if is_isolated: signature_groups[f"isolated_{component}"].append(component) continue @@ -187,6 +196,10 @@ def main() -> int: default=Path("tests/components"), help="Path to tests/components directory", ) + parser.add_argument( + "--directly-changed", + help="JSON array of directly changed component names (for logging only)", + ) parser.add_argument( "--output", "-o", @@ -208,11 +221,21 @@ def main() -> int: print("Components must be a JSON array", file=sys.stderr) return 1 + # Parse directly changed components list from JSON (if provided) + directly_changed = None + if args.directly_changed: + try: + directly_changed = set(json.loads(args.directly_changed)) + except json.JSONDecodeError as e: + print(f"Error parsing directly-changed JSON: {e}", file=sys.stderr) + return 1 + # Create intelligent batches batches = create_intelligent_batches( components=components, tests_dir=args.tests_dir, batch_size=args.batch_size, + directly_changed=directly_changed, ) # Convert batches to space-separated strings for CI @@ -238,13 +261,37 @@ def main() -> int: isolated_count = sum( 1 for comp in all_batched_components - if comp in ISOLATED_COMPONENTS or comp in non_groupable + if comp in ISOLATED_COMPONENTS + or comp in non_groupable + or (directly_changed and comp in directly_changed) ) groupable_count = actual_components - isolated_count print("\n=== Intelligent Batch Summary ===", file=sys.stderr) print(f"Total components requested: {len(components)}", file=sys.stderr) print(f"Components with test files: {actual_components}", file=sys.stderr) + + # Show breakdown of directly changed vs dependencies + if directly_changed: + direct_count = sum( + 1 for comp in all_batched_components if comp in directly_changed + ) + dep_count = actual_components - direct_count + direct_comps = [ + comp for comp in all_batched_components if comp in directly_changed + ] + dep_comps = [ + comp for comp in all_batched_components if comp not in directly_changed + ] + print( + f" - Direct changes: {direct_count} ({', '.join(sorted(direct_comps))})", + file=sys.stderr, + ) + print( + f" - Dependencies: {dep_count} ({', '.join(sorted(dep_comps))})", + file=sys.stderr, + ) + print(f" - Groupable (weight=1): {groupable_count}", file=sys.stderr) print(f" - Isolated (weight=10): {isolated_count}", file=sys.stderr) if actual_components < len(components): diff --git a/script/test_build_components.py b/script/test_build_components.py index e27bd695c1..14fc10977c 100755 --- a/script/test_build_components.py +++ b/script/test_build_components.py @@ -365,6 +365,7 @@ def run_grouped_component_tests( build_dir: Path, esphome_command: str, continue_on_fail: bool, + additional_isolated: set[str] | None = None, ) -> tuple[set[tuple[str, str]], list[str], list[str], dict[str, str]]: """Run grouped component tests. @@ -376,6 +377,7 @@ def run_grouped_component_tests( build_dir: Path to build directory esphome_command: ESPHome command (config/compile) continue_on_fail: Whether to continue on failure + additional_isolated: Additional components to treat as isolated (not grouped) Returns: Tuple of (tested_components, passed_tests, failed_tests, failed_commands) @@ -397,6 +399,17 @@ def run_grouped_component_tests( # Track why components can't be grouped (for detailed output) non_groupable_reasons = {} + # Merge additional isolated components with predefined ones + # ISOLATED COMPONENTS are tested individually WITHOUT --testing-mode + # This is critical because: + # - Grouped tests use --testing-mode which disables pin conflict checks and other validation + # - These checks are disabled to allow config merging (multiple components in one build) + # - For directly changed components (via --isolate), we need full validation to catch issues + # - Dependencies are safe to group since they weren't modified in the PR + all_isolated = set(ISOLATED_COMPONENTS.keys()) + if additional_isolated: + all_isolated.update(additional_isolated) + # Group by (platform, bus_signature) for component, platforms in component_buses.items(): if component not in all_tests: @@ -404,7 +417,7 @@ def run_grouped_component_tests( # Skip components that must be tested in isolation # These are shown separately and should not be in non_groupable_reasons - if component in ISOLATED_COMPONENTS: + if component in all_isolated: continue # Skip base bus components (these test the bus platforms themselves) @@ -453,15 +466,28 @@ def run_grouped_component_tests( print("\nGrouping Plan:") print("-" * 80) - # Show isolated components (must test individually due to known issues) - isolated_in_tests = [c for c in ISOLATED_COMPONENTS if c in all_tests] + # Show isolated components (must test individually due to known issues or direct changes) + isolated_in_tests = [c for c in all_isolated if c in all_tests] if isolated_in_tests: - print( - f"\n⚠ {len(isolated_in_tests)} components must be tested in isolation (known build issues):" - ) - for comp in sorted(isolated_in_tests): - reason = ISOLATED_COMPONENTS[comp] - print(f" - {comp}: {reason}") + predefined_isolated = [c for c in isolated_in_tests if c in ISOLATED_COMPONENTS] + additional_in_tests = [ + c for c in isolated_in_tests if c in (additional_isolated or set()) + ] + + if predefined_isolated: + print( + f"\n⚠ {len(predefined_isolated)} components must be tested in isolation (known build issues):" + ) + for comp in sorted(predefined_isolated): + reason = ISOLATED_COMPONENTS[comp] + print(f" - {comp}: {reason}") + + if additional_in_tests: + print( + f"\n✓ {len(additional_in_tests)} components tested in isolation (directly changed in PR):" + ) + for comp in sorted(additional_in_tests): + print(f" - {comp}") # Show base bus components (test the bus platform implementations) base_bus_in_tests = [c for c in BASE_BUS_COMPONENTS if c in all_tests] @@ -733,6 +759,7 @@ def test_components( esphome_command: str, continue_on_fail: bool, enable_grouping: bool = True, + isolated_components: set[str] | None = None, ) -> int: """Test components with optional intelligent grouping. @@ -742,6 +769,10 @@ def test_components( esphome_command: ESPHome command (config/compile) continue_on_fail: Whether to continue on failure enable_grouping: Whether to enable component grouping + isolated_components: Set of component names to test in isolation (not grouped). + These are tested WITHOUT --testing-mode to enable full validation + (pin conflicts, etc). This is used in CI for directly changed components + to catch issues that would be missed with --testing-mode. Returns: Exit code (0 for success, 1 for failure) @@ -788,6 +819,7 @@ def test_components( build_dir=build_dir, esphome_command=esphome_command, continue_on_fail=continue_on_fail, + additional_isolated=isolated_components, ) # Then run individual tests for components not in groups @@ -912,18 +944,30 @@ def main() -> int: action="store_true", help="Disable component grouping (test each component individually)", ) + parser.add_argument( + "--isolate", + help="Comma-separated list of components to test in isolation (not grouped with others). " + "These are tested WITHOUT --testing-mode to enable full validation. " + "Used in CI for directly changed components to catch pin conflicts and other issues.", + ) args = parser.parse_args() # Parse component patterns component_patterns = [p.strip() for p in args.components.split(",")] + # Parse isolated components + isolated_components = None + if args.isolate: + isolated_components = {c.strip() for c in args.isolate.split(",") if c.strip()} + return test_components( component_patterns=component_patterns, platform_filter=args.target, esphome_command=args.esphome_command, continue_on_fail=args.continue_on_fail, enable_grouping=not args.no_grouping, + isolated_components=isolated_components, ) diff --git a/tests/script/test_determine_jobs.py b/tests/script/test_determine_jobs.py index 5d8746f434..0559d116be 100644 --- a/tests/script/test_determine_jobs.py +++ b/tests/script/test_determine_jobs.py @@ -73,9 +73,11 @@ def test_main_all_tests_should_run( mock_should_run_clang_format.return_value = True mock_should_run_python_linters.return_value = True - # Mock list-components.py output + # Mock list-components.py output (now returns JSON with --changed-with-deps) mock_result = Mock() - mock_result.stdout = "wifi\napi\nsensor\n" + mock_result.stdout = json.dumps( + {"directly_changed": ["wifi", "api"], "all_changed": ["wifi", "api", "sensor"]} + ) mock_subprocess_run.return_value = mock_result # Run main function with mocked argv @@ -116,7 +118,7 @@ def test_main_no_tests_should_run( # Mock empty list-components.py output mock_result = Mock() - mock_result.stdout = "" + mock_result.stdout = json.dumps({"directly_changed": [], "all_changed": []}) mock_subprocess_run.return_value = mock_result # Run main function with mocked argv @@ -177,7 +179,9 @@ def test_main_with_branch_argument( # Mock list-components.py output mock_result = Mock() - mock_result.stdout = "mqtt\n" + mock_result.stdout = json.dumps( + {"directly_changed": ["mqtt"], "all_changed": ["mqtt"]} + ) mock_subprocess_run.return_value = mock_result with patch("sys.argv", ["script.py", "-b", "main"]): @@ -192,7 +196,7 @@ def test_main_with_branch_argument( # Check that list-components.py was called with branch mock_subprocess_run.assert_called_once() call_args = mock_subprocess_run.call_args[0][0] - assert "--changed" in call_args + assert "--changed-with-deps" in call_args assert "-b" in call_args assert "main" in call_args @@ -411,7 +415,12 @@ def test_main_filters_components_without_tests( # Mock list-components.py output with 3 components # wifi: has tests, sensor: has tests, airthings_ble: no tests mock_result = Mock() - mock_result.stdout = "wifi\nsensor\nairthings_ble\n" + mock_result.stdout = json.dumps( + { + "directly_changed": ["wifi", "sensor"], + "all_changed": ["wifi", "sensor", "airthings_ble"], + } + ) mock_subprocess_run.return_value = mock_result # Create test directory structure @@ -436,6 +445,8 @@ def test_main_filters_components_without_tests( patch.object(determine_jobs, "root_path", str(tmp_path)), patch("sys.argv", ["determine-jobs.py"]), ): + # Clear the cache since we're mocking root_path + determine_jobs._component_has_tests.cache_clear() determine_jobs.main() # Check output From 7f8ca5ddef7d41392ef544568bb65296741477f9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 14 Oct 2025 19:49:48 -1000 Subject: [PATCH 122/201] [ci] Add Python 3.14 testing and streamline version matrix (#11238) --- .github/workflows/ci.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b0449474b..163e9ab9ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,8 +114,7 @@ jobs: matrix: python-version: - "3.11" - - "3.12" - - "3.13" + - "3.14" os: - ubuntu-latest - macOS-latest @@ -124,13 +123,9 @@ jobs: # Minimize CI resource usage # by only running the Python version # version used for docker images on Windows and macOS - - python-version: "3.13" + - python-version: "3.14" os: windows-latest - - python-version: "3.12" - os: windows-latest - - python-version: "3.13" - os: macOS-latest - - python-version: "3.12" + - python-version: "3.14" os: macOS-latest runs-on: ${{ matrix.os }} needs: From ded98ff705b8e13a2efaf0a3cc0e1444e330335b Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 07:48:05 -0400 Subject: [PATCH 123/201] [esp32_hosted] Bump hosted components (#11170) Co-authored-by: J. Nick Koston --- esphome/components/esp32_hosted/__init__.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/esphome/components/esp32_hosted/__init__.py b/esphome/components/esp32_hosted/__init__.py index 9cea02c322..7e9f1b05b5 100644 --- a/esphome/components/esp32_hosted/__init__.py +++ b/esphome/components/esp32_hosted/__init__.py @@ -92,9 +92,14 @@ async def to_code(config): framework_ver: cv.Version = CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION] os.environ["ESP_IDF_VERSION"] = f"{framework_ver.major}.{framework_ver.minor}" - esp32.add_idf_component(name="espressif/esp_wifi_remote", ref="0.10.2") - esp32.add_idf_component(name="espressif/eppp_link", ref="0.2.0") - esp32.add_idf_component(name="espressif/esp_hosted", ref="2.0.11") + if framework_ver >= cv.Version(5, 5, 0): + esp32.add_idf_component(name="espressif/esp_wifi_remote", ref="1.1.5") + esp32.add_idf_component(name="espressif/eppp_link", ref="1.1.3") + esp32.add_idf_component(name="espressif/esp_hosted", ref="2.5.11") + else: + esp32.add_idf_component(name="espressif/esp_wifi_remote", ref="0.13.0") + esp32.add_idf_component(name="espressif/eppp_link", ref="0.2.0") + esp32.add_idf_component(name="espressif/esp_hosted", ref="2.0.11") esp32.add_extra_script( "post", "esp32_hosted.py", From 47817485e768b97d241e92860f1bc7633c69f026 Mon Sep 17 00:00:00 2001 From: Thane Gill Date: Wed, 15 Oct 2025 04:48:26 -0700 Subject: [PATCH 124/201] [esp32] Remove kconfiglib from requirements.txt (#11210) --- requirements.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index 88ecb1c20e..b6e4a189d1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,10 +23,6 @@ cairosvg==2.8.2 freetype-py==2.5.1 jinja2==3.1.6 -# esp-idf requires this, but doesn't bundle it by default -# https://github.com/espressif/esp-idf/blob/220590d599e134d7a5e7f1e683cc4550349ffbf8/requirements.txt#L24 -kconfiglib==13.7.1 - # esp-idf >= 5.0 requires this pyparsing >= 3.0 From 42bf5840c9fabe93e58f002018040daff78fa2fb Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 07:49:28 -0400 Subject: [PATCH 125/201] [esp32_rmt_led_strip] Don't send reset if duration is zero (#11235) --- esphome/components/esp32_rmt_led_strip/led_strip.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/esphome/components/esp32_rmt_led_strip/led_strip.cpp b/esphome/components/esp32_rmt_led_strip/led_strip.cpp index fa43aa5950..2c7963b366 100644 --- a/esphome/components/esp32_rmt_led_strip/led_strip.cpp +++ b/esphome/components/esp32_rmt_led_strip/led_strip.cpp @@ -42,6 +42,11 @@ static size_t IRAM_ATTR HOT encoder_callback(const void *data, size_t size, size symbols[i] = params->bit0; } } +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 1) + if ((index + 1) >= size && params->reset.duration0 == 0 && params->reset.duration1 == 0) { + *done = true; + } +#endif return RMT_SYMBOLS_PER_BYTE; } From 90e8c12df1348af24882bea4c6608712f1b16991 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:45:06 -0400 Subject: [PATCH 126/201] [ci] Isolate openthread (#11259) --- script/analyze_component_buses.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index 39e1e66c75..24854178a0 100755 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -75,6 +75,8 @@ ISOLATED_COMPONENTS = { "ethernet": "Defines ethernet: which conflicts with wifi: used by most components", "ethernet_info": "Related to ethernet component which conflicts with wifi", "lvgl": "Defines multiple SDL displays on host platform that conflict when merged with other display configs", + "openthread": "Conflicts with wifi: used by most components", + "openthread_info": "Conflicts with wifi: used by most components", "matrix_keypad": "Needs isolation due to keypad", "mcp4725": "no YAML config to specify i2c bus id", "mcp47a1": "no YAML config to specify i2c bus id", From cf02a082090af739522405ff6941cab7e23fbc69 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:45:33 -0400 Subject: [PATCH 127/201] [esp32] Bump IDF version to 5.5.1 and Arduino version to 3.3.2 (#9839) --- .clang-tidy.hash | 2 +- esphome/components/esp32/__init__.py | 6 ++-- esphome/components/esp32/boards.py | 28 +++++++++++++++++++ .../components/socket/bsd_sockets_impl.cpp | 2 +- esphome/core/defines.h | 2 +- platformio.ini | 8 +++--- 6 files changed, 38 insertions(+), 10 deletions(-) diff --git a/.clang-tidy.hash b/.clang-tidy.hash index 4901c0ccac..2cd4319325 100644 --- a/.clang-tidy.hash +++ b/.clang-tidy.hash @@ -1 +1 @@ -049d60eed541730efaa4c0dc5d337b4287bf29b6daa350b5dfc1f23915f1c52f +d7693a1e996cacd4a3d1c9a16336799c2a8cc3db02e4e74084151ce964581248 diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 56ab2eda88..684fff19ef 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -324,7 +324,7 @@ def _is_framework_url(source: str) -> str: # The default/recommended arduino framework version # - https://github.com/espressif/arduino-esp32/releases ARDUINO_FRAMEWORK_VERSION_LOOKUP = { - "recommended": cv.Version(3, 2, 1), + "recommended": cv.Version(3, 3, 2), "latest": cv.Version(3, 3, 2), "dev": cv.Version(3, 3, 2), } @@ -343,7 +343,7 @@ ARDUINO_PLATFORM_VERSION_LOOKUP = { # The default/recommended esp-idf framework version # - https://github.com/espressif/esp-idf/releases ESP_IDF_FRAMEWORK_VERSION_LOOKUP = { - "recommended": cv.Version(5, 4, 2), + "recommended": cv.Version(5, 5, 1), "latest": cv.Version(5, 5, 1), "dev": cv.Version(5, 5, 1), } @@ -363,7 +363,7 @@ ESP_IDF_PLATFORM_VERSION_LOOKUP = { # The platform-espressif32 version # - https://github.com/pioarduino/platform-espressif32/releases PLATFORM_VERSION_LOOKUP = { - "recommended": cv.Version(54, 3, 21, "2"), + "recommended": cv.Version(55, 3, 31, "1"), "latest": cv.Version(55, 3, 31, "1"), "dev": cv.Version(55, 3, 31, "1"), } diff --git a/esphome/components/esp32/boards.py b/esphome/components/esp32/boards.py index 5f039492c8..cbb314650a 100644 --- a/esphome/components/esp32/boards.py +++ b/esphome/components/esp32/boards.py @@ -1564,6 +1564,10 @@ BOARDS = { "name": "DFRobot Beetle ESP32-C3", "variant": VARIANT_ESP32C3, }, + "dfrobot_firebeetle2_esp32c6": { + "name": "DFRobot FireBeetle 2 ESP32-C6", + "variant": VARIANT_ESP32C6, + }, "dfrobot_firebeetle2_esp32e": { "name": "DFRobot Firebeetle 2 ESP32-E", "variant": VARIANT_ESP32, @@ -1604,6 +1608,22 @@ BOARDS = { "name": "Ai-Thinker ESP-C3-M1-I-Kit", "variant": VARIANT_ESP32C3, }, + "esp32-c5-devkitc-1": { + "name": "Espressif ESP32-C5-DevKitC-1 4MB no PSRAM", + "variant": VARIANT_ESP32C5, + }, + "esp32-c5-devkitc1-n16r4": { + "name": "Espressif ESP32-C5-DevKitC-1 N16R4 (16 MB Flash Quad, 4 MB PSRAM Quad)", + "variant": VARIANT_ESP32C5, + }, + "esp32-c5-devkitc1-n4": { + "name": "Espressif ESP32-C5-DevKitC-1 N4 (4MB no PSRAM)", + "variant": VARIANT_ESP32C5, + }, + "esp32-c5-devkitc1-n8r4": { + "name": "Espressif ESP32-C5-DevKitC-1 N8R4 (8 MB Flash Quad, 4 MB PSRAM Quad)", + "variant": VARIANT_ESP32C5, + }, "esp32-c6-devkitc-1": { "name": "Espressif ESP32-C6-DevKitC-1", "variant": VARIANT_ESP32C6, @@ -2048,6 +2068,10 @@ BOARDS = { "name": "M5Stack Station", "variant": VARIANT_ESP32, }, + "m5stack-tab5-p4": { + "name": "M5STACK Tab5 esp32-p4 Board", + "variant": VARIANT_ESP32P4, + }, "m5stack-timer-cam": { "name": "M5Stack Timer CAM", "variant": VARIANT_ESP32, @@ -2476,6 +2500,10 @@ BOARDS = { "name": "YelloByte YB-ESP32-S3-AMP (Rev.3)", "variant": VARIANT_ESP32S3, }, + "yb_esp32s3_drv": { + "name": "YelloByte YB-ESP32-S3-DRV", + "variant": VARIANT_ESP32S3, + }, "yb_esp32s3_eth": { "name": "YelloByte YB-ESP32-S3-ETH", "variant": VARIANT_ESP32S3, diff --git a/esphome/components/socket/bsd_sockets_impl.cpp b/esphome/components/socket/bsd_sockets_impl.cpp index e056696bcf..c7cca62027 100644 --- a/esphome/components/socket/bsd_sockets_impl.cpp +++ b/esphome/components/socket/bsd_sockets_impl.cpp @@ -145,7 +145,7 @@ class BSDSocketImpl : public Socket { } ssize_t sendto(const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen) override { - return ::sendto(fd_, buf, len, flags, to, tolen); + return ::sendto(fd_, buf, len, flags, to, tolen); // NOLINT(readability-suspicious-call-argument) } int setblocking(bool blocking) override { diff --git a/esphome/core/defines.h b/esphome/core/defines.h index f770edaa00..1afb296fc0 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -202,7 +202,7 @@ #define USB_HOST_MAX_REQUESTS 16 #ifdef USE_ARDUINO -#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 2, 1) +#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 2) #define USE_ETHERNET #define USE_ETHERNET_KSZ8081 #endif diff --git a/platformio.ini b/platformio.ini index 44b466a2b3..6b2a8657bb 100644 --- a/platformio.ini +++ b/platformio.ini @@ -125,9 +125,9 @@ extra_scripts = post:esphome/components/esp8266/post_build.py.script ; This are common settings for the ESP32 (all variants) using Arduino. [common:esp32-arduino] extends = common:arduino -platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-1/platform-espressif32.zip platform_packages = - pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/3.2.1/esp32-3.2.1.zip + pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/3.3.2/esp32-3.3.2.zip framework = arduino, espidf ; Arduino as an ESP-IDF component lib_deps = @@ -161,9 +161,9 @@ extra_scripts = post:esphome/components/esp32/post_build.py.script ; This are common settings for the ESP32 (all variants) using IDF. [common:esp32-idf] extends = common:idf -platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-1/platform-espressif32.zip platform_packages = - pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.4.2/esp-idf-v5.4.2.zip + pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.5.1/esp-idf-v5.5.1.zip framework = espidf lib_deps = From e19a85b52346fe11bcc32943f7a90ca015de8be1 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:19:08 -0400 Subject: [PATCH 128/201] [esp32_ble] Add support for hosted BLE (#11167) --- .../bluetooth_proxy/bluetooth_proxy.h | 2 + esphome/components/esp32_ble/__init__.py | 9 ++++ esphome/components/esp32_ble/ble.cpp | 45 +++++++++++++++++++ .../components/esp32_ble/ble_advertising.h | 2 + .../esp32_ble_beacon/esp32_ble_beacon.cpp | 2 + .../esp32_ble_beacon/esp32_ble_beacon.h | 2 + .../esp32_ble_server/ble_server.cpp | 2 + .../esp32_ble_tracker/esp32_ble_tracker.cpp | 4 ++ .../bluetooth_proxy/test.esp32-p4-idf.yaml | 19 ++++++++ 9 files changed, 87 insertions(+) create mode 100644 tests/components/bluetooth_proxy/test.esp32-p4-idf.yaml diff --git a/esphome/components/bluetooth_proxy/bluetooth_proxy.h b/esphome/components/bluetooth_proxy/bluetooth_proxy.h index 1ce2321bee..a5f0fbe32f 100644 --- a/esphome/components/bluetooth_proxy/bluetooth_proxy.h +++ b/esphome/components/bluetooth_proxy/bluetooth_proxy.h @@ -16,7 +16,9 @@ #include "bluetooth_connection.h" +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#endif #include namespace esphome::bluetooth_proxy { diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index fc8c65a2f4..246ebf0729 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -387,6 +387,15 @@ def final_validation(config): max_connections = config.get(CONF_MAX_CONNECTIONS, DEFAULT_MAX_CONNECTIONS) validate_connection_slots(max_connections) + # Check if hosted bluetooth is being used + if "esp32_hosted" in full_config: + add_idf_sdkconfig_option("CONFIG_BT_CLASSIC_ENABLED", False) + add_idf_sdkconfig_option("CONFIG_BT_BLE_ENABLED", True) + add_idf_sdkconfig_option("CONFIG_BT_BLUEDROID_ENABLED", True) + add_idf_sdkconfig_option("CONFIG_BT_CONTROLLER_DISABLED", True) + add_idf_sdkconfig_option("CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID", True) + add_idf_sdkconfig_option("CONFIG_ESP_HOSTED_BLUEDROID_HCI_VHCI", True) + # Check if BLE Server is needed has_ble_server = "esp32_ble_server" in full_config diff --git a/esphome/components/esp32_ble/ble.cpp b/esphome/components/esp32_ble/ble.cpp index 9f8ca1d149..5bbd5fe9ed 100644 --- a/esphome/components/esp32_ble/ble.cpp +++ b/esphome/components/esp32_ble/ble.cpp @@ -6,7 +6,15 @@ #include "esphome/core/helpers.h" #include "esphome/core/log.h" +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#else +extern "C" { +#include +#include +#include +} +#endif #include #include #include @@ -136,6 +144,7 @@ void ESP32BLE::advertising_init_() { bool ESP32BLE::ble_setup_() { esp_err_t err; +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #ifdef USE_ARDUINO if (!btStart()) { ESP_LOGE(TAG, "btStart failed: %d", esp_bt_controller_get_status()); @@ -169,6 +178,28 @@ bool ESP32BLE::ble_setup_() { #endif esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT); +#else + esp_hosted_connect_to_slave(); // NOLINT + + if (esp_hosted_bt_controller_init() != ESP_OK) { + ESP_LOGW(TAG, "esp_hosted_bt_controller_init failed"); + return false; + } + + if (esp_hosted_bt_controller_enable() != ESP_OK) { + ESP_LOGW(TAG, "esp_hosted_bt_controller_enable failed"); + return false; + } + + hosted_hci_bluedroid_open(); + + esp_bluedroid_hci_driver_operations_t operations = { + .send = hosted_hci_bluedroid_send, + .check_send_available = hosted_hci_bluedroid_check_send_available, + .register_host_callback = hosted_hci_bluedroid_register_host_callback, + }; + esp_bluedroid_attach_hci_driver(&operations); +#endif err = esp_bluedroid_init(); if (err != ESP_OK) { @@ -257,6 +288,7 @@ bool ESP32BLE::ble_dismantle_() { return false; } +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #ifdef USE_ARDUINO if (!btStop()) { ESP_LOGE(TAG, "btStop failed: %d", esp_bt_controller_get_status()); @@ -286,6 +318,19 @@ bool ESP32BLE::ble_dismantle_() { return false; } } +#endif +#else + if (esp_hosted_bt_controller_disable() != ESP_OK) { + ESP_LOGW(TAG, "esp_hosted_bt_controller_disable failed"); + return false; + } + + if (esp_hosted_bt_controller_deinit(false) != ESP_OK) { + ESP_LOGW(TAG, "esp_hosted_bt_controller_deinit failed"); + return false; + } + + hosted_hci_bluedroid_close(); #endif return true; } diff --git a/esphome/components/esp32_ble/ble_advertising.h b/esphome/components/esp32_ble/ble_advertising.h index 7a31d926f6..d7f1eeac9d 100644 --- a/esphome/components/esp32_ble/ble_advertising.h +++ b/esphome/components/esp32_ble/ble_advertising.h @@ -10,7 +10,9 @@ #ifdef USE_ESP32 #ifdef USE_ESP32_BLE_ADVERTISING +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#endif #include #include diff --git a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp index af28804013..f2aa7e762e 100644 --- a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp +++ b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp @@ -3,7 +3,9 @@ #ifdef USE_ESP32 +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#endif #include #include #include diff --git a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.h b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.h index e37edf6cde..05afdc7379 100644 --- a/esphome/components/esp32_ble_beacon/esp32_ble_beacon.h +++ b/esphome/components/esp32_ble_beacon/esp32_ble_beacon.h @@ -5,7 +5,9 @@ #ifdef USE_ESP32 +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#endif #include namespace esphome { diff --git a/esphome/components/esp32_ble_server/ble_server.cpp b/esphome/components/esp32_ble_server/ble_server.cpp index 25cc97eeaf..0e58224a5a 100644 --- a/esphome/components/esp32_ble_server/ble_server.cpp +++ b/esphome/components/esp32_ble_server/ble_server.cpp @@ -10,7 +10,9 @@ #include #include #include +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#endif #include #include diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index d07e67825b..8577f12a92 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -7,7 +7,9 @@ #include "esphome/core/helpers.h" #include "esphome/core/log.h" +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID #include +#endif #include #include #include @@ -845,6 +847,7 @@ void ESP32BLETracker::log_unexpected_state_(const char *operation, ScannerState #ifdef USE_ESP32_BLE_SOFTWARE_COEXISTENCE void ESP32BLETracker::update_coex_preference_(bool force_ble) { +#ifndef CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID if (force_ble && !this->coex_prefer_ble_) { ESP_LOGD(TAG, "Setting coexistence to Bluetooth to make connection."); this->coex_prefer_ble_ = true; @@ -854,6 +857,7 @@ void ESP32BLETracker::update_coex_preference_(bool force_ble) { this->coex_prefer_ble_ = false; esp_coex_preference_set(ESP_COEX_PREFER_BALANCE); // Reset to default } +#endif // CONFIG_ESP_HOSTED_ENABLE_BT_BLUEDROID } #endif diff --git a/tests/components/bluetooth_proxy/test.esp32-p4-idf.yaml b/tests/components/bluetooth_proxy/test.esp32-p4-idf.yaml new file mode 100644 index 0000000000..edb18c1ada --- /dev/null +++ b/tests/components/bluetooth_proxy/test.esp32-p4-idf.yaml @@ -0,0 +1,19 @@ +<<: !include common.yaml + +esp32_ble_tracker: + max_connections: 9 + +bluetooth_proxy: + active: true + connection_slots: 9 + +esp32_hosted: + active_high: true + variant: ESP32C6 + reset_pin: GPIO54 + cmd_pin: GPIO19 + clk_pin: GPIO18 + d0_pin: GPIO14 + d1_pin: GPIO15 + d2_pin: GPIO16 + d3_pin: GPIO17 From 5510ece6acd0db3d4415c314f64483fe55166849 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 09:34:01 -1000 Subject: [PATCH 129/201] Bump pylint from 4.0.0 to 4.0.1 (#11267) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements_test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements_test.txt b/requirements_test.txt index c4227fdbde..56ac775a94 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,4 +1,4 @@ -pylint==4.0.0 +pylint==4.0.1 flake8==7.3.0 # also change in .pre-commit-config.yaml when updating ruff==0.14.0 # also change in .pre-commit-config.yaml when updating pyupgrade==3.21.0 # also change in .pre-commit-config.yaml when updating From 2b3e7f38d224780ffbb6ef5b875329246ebeeb51 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 09:34:14 -1000 Subject: [PATCH 130/201] [esp32] Add option to disable libc locks in IRAM, saving ~1.3KB RAM (#10930) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/esp32/__init__.py | 10 ++++++++++ tests/components/esp32/test.esp32-idf.yaml | 1 + tests/components/esp32/test.esp32-s3-idf.yaml | 1 + 3 files changed, 12 insertions(+) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 684fff19ef..92f5c57638 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -544,6 +544,7 @@ CONF_ENABLE_LWIP_MDNS_QUERIES = "enable_lwip_mdns_queries" CONF_ENABLE_LWIP_BRIDGE_INTERFACE = "enable_lwip_bridge_interface" CONF_ENABLE_LWIP_TCPIP_CORE_LOCKING = "enable_lwip_tcpip_core_locking" CONF_ENABLE_LWIP_CHECK_THREAD_SAFETY = "enable_lwip_check_thread_safety" +CONF_DISABLE_LIBC_LOCKS_IN_IRAM = "disable_libc_locks_in_iram" def _validate_idf_component(config: ConfigType) -> ConfigType: @@ -606,6 +607,9 @@ FRAMEWORK_SCHEMA = cv.All( cv.Optional( CONF_ENABLE_LWIP_CHECK_THREAD_SAFETY, default=True ): cv.boolean, + cv.Optional( + CONF_DISABLE_LIBC_LOCKS_IN_IRAM, default=True + ): cv.boolean, cv.Optional(CONF_EXECUTE_FROM_PSRAM): cv.boolean, } ), @@ -864,6 +868,12 @@ async def to_code(config): if advanced.get(CONF_ENABLE_LWIP_CHECK_THREAD_SAFETY, True): add_idf_sdkconfig_option("CONFIG_LWIP_CHECK_THREAD_SAFETY", True) + # Disable placing libc locks in IRAM to save RAM + # This is safe for ESPHome since no IRAM ISRs (interrupts that run while cache is disabled) + # use libc lock APIs. Saves approximately 1.3KB (1,356 bytes) of IRAM. + if advanced.get(CONF_DISABLE_LIBC_LOCKS_IN_IRAM, True): + add_idf_sdkconfig_option("CONFIG_LIBC_LOCKS_PLACE_IN_IRAM", False) + cg.add_platformio_option("board_build.partitions", "partitions.csv") if CONF_PARTITIONS in config: add_extra_build_file( diff --git a/tests/components/esp32/test.esp32-idf.yaml b/tests/components/esp32/test.esp32-idf.yaml index ccf0b7cbd5..6338fe98dd 100644 --- a/tests/components/esp32/test.esp32-idf.yaml +++ b/tests/components/esp32/test.esp32-idf.yaml @@ -5,6 +5,7 @@ esp32: advanced: enable_lwip_mdns_queries: true enable_lwip_bridge_interface: true + disable_libc_locks_in_iram: false # Test explicit opt-out of RAM optimization wifi: ssid: MySSID diff --git a/tests/components/esp32/test.esp32-s3-idf.yaml b/tests/components/esp32/test.esp32-s3-idf.yaml index 1d5a5e52a4..4ae5e6b999 100644 --- a/tests/components/esp32/test.esp32-s3-idf.yaml +++ b/tests/components/esp32/test.esp32-s3-idf.yaml @@ -4,6 +4,7 @@ esp32: type: esp-idf advanced: execute_from_psram: true + disable_libc_locks_in_iram: true # Test default RAM optimization enabled psram: mode: octal From ae1f54d39834b85f18215b4ccbcdba6cb382472d Mon Sep 17 00:00:00 2001 From: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com> Date: Thu, 16 Oct 2025 06:09:52 +1000 Subject: [PATCH 131/201] [mipi_spi] Rotation fixes (#11226) --- esphome/components/display/display.cpp | 7 ++- esphome/components/mipi/__init__.py | 31 +++++++------ esphome/components/mipi_spi/display.py | 28 +++++++----- esphome/components/mipi_spi/mipi_spi.h | 44 +++++++++++-------- .../components/mipi_spi/models/waveshare.py | 10 +++++ tests/component_tests/mipi_spi/test_init.py | 4 +- .../components/chsc6x/test.esp32-c3-idf.yaml | 4 +- tests/components/mipi_spi/common.yaml | 2 +- .../components/mipi_spi/test.rp2040-ard.yaml | 2 +- 9 files changed, 80 insertions(+), 52 deletions(-) diff --git a/esphome/components/display/display.cpp b/esphome/components/display/display.cpp index c666eee298..1451d14e2e 100644 --- a/esphome/components/display/display.cpp +++ b/esphome/components/display/display.cpp @@ -775,7 +775,7 @@ void Display::test_card() { int shift_y = (h - image_h) / 2; int line_w = (image_w - 6) / 6; int image_c = image_w / 2; - for (auto i = 0; i <= image_h; i++) { + for (auto i = 0; i != image_h; i++) { int c = esp_scale(i, image_h); this->horizontal_line(shift_x + 0, shift_y + i, line_w, r.fade_to_white(c)); this->horizontal_line(shift_x + line_w, shift_y + i, line_w, r.fade_to_black(c)); // @@ -809,8 +809,11 @@ void Display::test_card() { } } } - this->rectangle(0, 0, w, h, Color(127, 0, 127)); this->filled_rectangle(0, 0, 10, 10, Color(255, 0, 255)); + this->filled_rectangle(w - 10, 0, 10, 10, Color(255, 0, 255)); + this->filled_rectangle(0, h - 10, 10, 10, Color(255, 0, 255)); + this->filled_rectangle(w - 10, h - 10, 10, 10, Color(255, 0, 255)); + this->rectangle(0, 0, w, h, Color(255, 255, 255)); this->stop_poller(); } diff --git a/esphome/components/mipi/__init__.py b/esphome/components/mipi/__init__.py index 7e687cabaa..4dff1af62a 100644 --- a/esphome/components/mipi/__init__.py +++ b/esphome/components/mipi/__init__.py @@ -11,6 +11,7 @@ from esphome.const import ( CONF_BRIGHTNESS, CONF_COLOR_ORDER, CONF_DIMENSIONS, + CONF_DISABLED, CONF_HEIGHT, CONF_INIT_SEQUENCE, CONF_INVERT_COLORS, @@ -301,6 +302,8 @@ class DriverChip: Check if a rotation can be implemented in hardware using the MADCTL register. A rotation of 180 is always possible if x and y mirroring are supported, 90 and 270 are possible if the model supports swapping X and Y. """ + if config.get(CONF_TRANSFORM) == CONF_DISABLED: + return False transforms = self.transforms rotation = config.get(CONF_ROTATION, 0) if rotation == 0 or not transforms: @@ -358,26 +361,26 @@ class DriverChip: CONF_SWAP_XY: self.get_default(CONF_SWAP_XY), }, ) - # fill in defaults if not provided - mirror_x = transform.get(CONF_MIRROR_X, self.get_default(CONF_MIRROR_X)) - mirror_y = transform.get(CONF_MIRROR_Y, self.get_default(CONF_MIRROR_Y)) - swap_xy = transform.get(CONF_SWAP_XY, self.get_default(CONF_SWAP_XY)) - transform[CONF_MIRROR_X] = mirror_x - transform[CONF_MIRROR_Y] = mirror_y - transform[CONF_SWAP_XY] = swap_xy - + if not isinstance(transform, dict): + # Presumably disabled + return { + CONF_MIRROR_X: False, + CONF_MIRROR_Y: False, + CONF_SWAP_XY: False, + CONF_TRANSFORM: False, + } # Can we use the MADCTL register to set the rotation? if can_transform and CONF_TRANSFORM not in config: rotation = config[CONF_ROTATION] if rotation == 180: - transform[CONF_MIRROR_X] = not mirror_x - transform[CONF_MIRROR_Y] = not mirror_y + transform[CONF_MIRROR_X] = not transform[CONF_MIRROR_X] + transform[CONF_MIRROR_Y] = not transform[CONF_MIRROR_Y] elif rotation == 90: - transform[CONF_SWAP_XY] = not swap_xy - transform[CONF_MIRROR_X] = not mirror_x + transform[CONF_SWAP_XY] = not transform[CONF_SWAP_XY] + transform[CONF_MIRROR_X] = not transform[CONF_MIRROR_X] else: - transform[CONF_SWAP_XY] = not swap_xy - transform[CONF_MIRROR_Y] = not mirror_y + transform[CONF_SWAP_XY] = not transform[CONF_SWAP_XY] + transform[CONF_MIRROR_Y] = not transform[CONF_MIRROR_Y] transform[CONF_TRANSFORM] = True return transform diff --git a/esphome/components/mipi_spi/display.py b/esphome/components/mipi_spi/display.py index 52b5b86fba..891c8b42ff 100644 --- a/esphome/components/mipi_spi/display.py +++ b/esphome/components/mipi_spi/display.py @@ -37,6 +37,7 @@ from esphome.const import ( CONF_DATA_RATE, CONF_DC_PIN, CONF_DIMENSIONS, + CONF_DISABLED, CONF_ENABLE_PIN, CONF_ID, CONF_INIT_SEQUENCE, @@ -146,12 +147,15 @@ def swap_xy_schema(model): def model_schema(config): model = MODELS[config[CONF_MODEL]] bus_mode = config[CONF_BUS_MODE] - transform = cv.Schema( - { - cv.Required(CONF_MIRROR_X): cv.boolean, - cv.Required(CONF_MIRROR_Y): cv.boolean, - **swap_xy_schema(model), - } + transform = cv.Any( + cv.Schema( + { + cv.Required(CONF_MIRROR_X): cv.boolean, + cv.Required(CONF_MIRROR_Y): cv.boolean, + **swap_xy_schema(model), + } + ), + cv.one_of(CONF_DISABLED, lower=True), ) # CUSTOM model will need to provide a custom init sequence iseqconf = ( @@ -160,7 +164,11 @@ def model_schema(config): else cv.Optional(CONF_INIT_SEQUENCE) ) # Dimensions are optional if the model has a default width and the x-y transform is not overridden - is_swapped = config.get(CONF_TRANSFORM, {}).get(CONF_SWAP_XY) is True + transform_config = config.get(CONF_TRANSFORM, {}) + is_swapped = ( + isinstance(transform_config, dict) + and transform_config.get(CONF_SWAP_XY, False) is True + ) cv_dimensions = ( cv.Optional if model.get_default(CONF_WIDTH) and not is_swapped else cv.Required ) @@ -192,9 +200,7 @@ def model_schema(config): .extend( { cv.GenerateID(): cv.declare_id(MipiSpi), - cv_dimensions(CONF_DIMENSIONS): dimension_schema( - model.get_default(CONF_DRAW_ROUNDING, 1) - ), + cv_dimensions(CONF_DIMENSIONS): dimension_schema(1), model.option(CONF_ENABLE_PIN, cv.UNDEFINED): cv.ensure_list( pins.gpio_output_pin_schema ), @@ -400,6 +406,7 @@ def get_instance(config): offset_height, DISPLAY_ROTATIONS[rotation], frac, + config[CONF_DRAW_ROUNDING], ] ) return MipiSpiBuffer, templateargs @@ -431,7 +438,6 @@ async def to_code(config): else: config[CONF_ROTATION] = 0 cg.add(var.set_model(config[CONF_MODEL])) - cg.add(var.set_draw_rounding(config[CONF_DRAW_ROUNDING])) if enable_pin := config.get(CONF_ENABLE_PIN): enable = [await cg.gpio_pin_expression(pin) for pin in enable_pin] cg.add(var.set_enable_pins(enable)) diff --git a/esphome/components/mipi_spi/mipi_spi.h b/esphome/components/mipi_spi/mipi_spi.h index 248d5b7104..7e597d1c61 100644 --- a/esphome/components/mipi_spi/mipi_spi.h +++ b/esphome/components/mipi_spi/mipi_spi.h @@ -38,7 +38,7 @@ static constexpr uint8_t MADCTL_BGR = 0x08; // Bit 3 Blue-Green-Red pixel ord static constexpr uint8_t MADCTL_XFLIP = 0x02; // Mirror the display horizontally static constexpr uint8_t MADCTL_YFLIP = 0x01; // Mirror the display vertically -static const uint8_t DELAY_FLAG = 0xFF; +static constexpr uint8_t DELAY_FLAG = 0xFF; // store a 16 bit value in a buffer, big endian. static inline void put16_be(uint8_t *buf, uint16_t value) { buf[0] = value >> 8; @@ -79,7 +79,7 @@ class MipiSpi : public display::Display, public spi::SPIDevice { public: - MipiSpi() {} + MipiSpi() = default; void update() override { this->stop_poller(); } void draw_pixel_at(int x, int y, Color color) override {} void set_model(const char *model) { this->model_ = model; } @@ -99,7 +99,6 @@ class MipiSpi : public display::Display, int get_width_internal() override { return WIDTH; } int get_height_internal() override { return HEIGHT; } void set_init_sequence(const std::vector &sequence) { this->init_sequence_ = sequence; } - void set_draw_rounding(unsigned rounding) { this->draw_rounding_ = rounding; } // reset the display, and write the init sequence void setup() override { @@ -326,6 +325,7 @@ class MipiSpi : public display::Display, /** * Writes a buffer to the display. + * @param ptr The pointer to the pixel data * @param w Width of each line in bytes * @param h Height of the buffer in rows * @param pad Padding in bytes after each line @@ -424,7 +424,6 @@ class MipiSpi : public display::Display, // other properties set by configuration bool invert_colors_{}; - unsigned draw_rounding_{2}; optional brightness_{}; const char *model_{"Unknown"}; std::vector init_sequence_{}; @@ -444,12 +443,20 @@ class MipiSpi : public display::Display, * @tparam OFFSET_WIDTH The x-offset of the display in pixels * @tparam OFFSET_HEIGHT The y-offset of the display in pixels * @tparam FRACTION The fraction of the display size to use for the buffer (e.g. 4 means a 1/4 buffer). + * @tparam ROUNDING The alignment requirement for drawing operations (e.g. 2 means that x coordinates must be even) */ template + uint16_t WIDTH, uint16_t HEIGHT, int OFFSET_WIDTH, int OFFSET_HEIGHT, display::DisplayRotation ROTATION, + int FRACTION, unsigned ROUNDING> class MipiSpiBuffer : public MipiSpi { public: + // these values define the buffer size needed to write in accordance with the chip pixel alignment + // requirements. If the required rounding does not divide the width and height, we round up to the next multiple and + // ignore the extra columns and rows when drawing, but use them to write to the display. + static constexpr unsigned BUFFER_WIDTH = (WIDTH + ROUNDING - 1) / ROUNDING * ROUNDING; + static constexpr unsigned BUFFER_HEIGHT = (HEIGHT + ROUNDING - 1) / ROUNDING * ROUNDING; + MipiSpiBuffer() { this->rotation_ = ROTATION; } void dump_config() override { @@ -461,15 +468,15 @@ class MipiSpiBuffer : public MipiSpirotation_, BUFFERPIXEL * 8, FRACTION, sizeof(BUFFERTYPE) * WIDTH * HEIGHT / FRACTION, - this->draw_rounding_); + this->rotation_, BUFFERPIXEL * 8, FRACTION, + sizeof(BUFFERTYPE) * BUFFER_WIDTH * BUFFER_HEIGHT / FRACTION, ROUNDING); } void setup() override { MipiSpi::setup(); RAMAllocator allocator{}; - this->buffer_ = allocator.allocate(WIDTH * HEIGHT / FRACTION); + this->buffer_ = allocator.allocate(BUFFER_WIDTH * BUFFER_HEIGHT / FRACTION); if (this->buffer_ == nullptr) { this->mark_failed("Buffer allocation failed"); } @@ -508,15 +515,14 @@ class MipiSpiBuffer : public MipiSpix_low_, this->y_low_, this->x_high_, this->y_high_); // Some chips require that the drawing window be aligned on certain boundaries - auto dr = this->draw_rounding_; - this->x_low_ = this->x_low_ / dr * dr; - this->y_low_ = this->y_low_ / dr * dr; - this->x_high_ = (this->x_high_ + dr) / dr * dr - 1; - this->y_high_ = (this->y_high_ + dr) / dr * dr - 1; + this->x_low_ = this->x_low_ / ROUNDING * ROUNDING; + this->y_low_ = this->y_low_ / ROUNDING * ROUNDING; + this->x_high_ = (this->x_high_ + ROUNDING) / ROUNDING * ROUNDING - 1; + this->y_high_ = (this->y_high_ + ROUNDING) / ROUNDING * ROUNDING - 1; int w = this->x_high_ - this->x_low_ + 1; int h = this->y_high_ - this->y_low_ + 1; this->write_to_display_(this->x_low_, this->y_low_, w, h, this->buffer_, this->x_low_, - this->y_low_ - this->start_line_, WIDTH - w); + this->y_low_ - this->start_line_, BUFFER_WIDTH - w); // invalidate watermarks this->x_low_ = WIDTH; this->y_low_ = HEIGHT; @@ -536,10 +542,10 @@ class MipiSpiBuffer : public MipiSpiget_clipping().inside(x, y)) return; - rotate_coordinates_(x, y); + rotate_coordinates(x, y); if (x < 0 || x >= WIDTH || y < this->start_line_ || y >= this->end_line_) return; - this->buffer_[(y - this->start_line_) * WIDTH + x] = convert_color_(color); + this->buffer_[(y - this->start_line_) * BUFFER_WIDTH + x] = convert_color(color); if (x < this->x_low_) { this->x_low_ = x; } @@ -560,7 +566,7 @@ class MipiSpiBuffer : public MipiSpiy_low_ = this->start_line_; this->x_high_ = WIDTH - 1; this->y_high_ = this->end_line_ - 1; - std::fill_n(this->buffer_, HEIGHT * WIDTH / FRACTION, convert_color_(color)); + std::fill_n(this->buffer_, HEIGHT * BUFFER_WIDTH / FRACTION, convert_color(color)); } int get_width() override { @@ -577,7 +583,7 @@ class MipiSpiBuffer : public MipiSpi> 3 | color.b >> 6; } else if constexpr (BUFFERPIXEL == PIXEL_MODE_16) { diff --git a/esphome/components/mipi_spi/models/waveshare.py b/esphome/components/mipi_spi/models/waveshare.py index 7a55027e58..e4e090da2e 100644 --- a/esphome/components/mipi_spi/models/waveshare.py +++ b/esphome/components/mipi_spi/models/waveshare.py @@ -3,6 +3,7 @@ import esphome.config_validation as cv from .amoled import CO5300 from .ili import ILI9488_A +from .jc import AXS15231 DriverChip( "WAVESHARE-4-TFT", @@ -152,3 +153,12 @@ CO5300.extend( cs_pin=12, reset_pin=39, ) + +AXS15231.extend( + "WAVESHARE-ESP32-S3-TOUCH-LCD-3.49", + width=172, + height=640, + data_rate="80MHz", + cs_pin=9, + reset_pin=21, +) diff --git a/tests/component_tests/mipi_spi/test_init.py b/tests/component_tests/mipi_spi/test_init.py index fbb3222812..e68f6fbfba 100644 --- a/tests/component_tests/mipi_spi/test_init.py +++ b/tests/component_tests/mipi_spi/test_init.py @@ -69,7 +69,7 @@ def run_schema_validation(config: ConfigType) -> None: { "id": "display_id", "model": "custom", - "dimensions": {"width": 320, "height": 240}, + "dimensions": {"width": 260, "height": 260}, "draw_rounding": 13, "init_sequence": [[0xA0, 0x01]], }, @@ -336,7 +336,7 @@ def test_native_generation( main_cpp = generate_main(component_fixture_path("native.yaml")) assert ( - "mipi_spi::MipiSpiBuffer()" + "mipi_spi::MipiSpiBuffer()" in main_cpp ) assert "set_init_sequence({240, 1, 8, 242" in main_cpp diff --git a/tests/components/chsc6x/test.esp32-c3-idf.yaml b/tests/components/chsc6x/test.esp32-c3-idf.yaml index f32f147a44..f0de4107d7 100644 --- a/tests/components/chsc6x/test.esp32-c3-idf.yaml +++ b/tests/components/chsc6x/test.esp32-c3-idf.yaml @@ -7,8 +7,8 @@ display: id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 10 - dc_pin: 6 + cs_pin: 11 + dc_pin: 7 pages: - id: page1 lambda: |- diff --git a/tests/components/mipi_spi/common.yaml b/tests/components/mipi_spi/common.yaml index 03f807f53c..692a9f436e 100644 --- a/tests/components/mipi_spi/common.yaml +++ b/tests/components/mipi_spi/common.yaml @@ -10,7 +10,7 @@ display: invert_colors: true show_test_card: true spi_mode: mode0 - draw_rounding: 8 + draw_rounding: 4 use_axis_flips: true init_sequence: - [0xd0, 1, 2, 3] diff --git a/tests/components/mipi_spi/test.rp2040-ard.yaml b/tests/components/mipi_spi/test.rp2040-ard.yaml index 380cebcde3..6336652999 100644 --- a/tests/components/mipi_spi/test.rp2040-ard.yaml +++ b/tests/components/mipi_spi/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: dc_pin: GPIO14 cs_pin: GPIO13 - enable_pin: GPIO16 + enable_pin: GPIO17 reset_pin: GPIO20 packages: From 332f52e149d66d79f64002380b2dfe6f4bc02d81 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 12:28:56 -1000 Subject: [PATCH 132/201] [api] Use FixedVector for ListEntitiesServicesResponse args (#11230) --- esphome/components/api/api.proto | 2 +- esphome/components/api/api_pb2.h | 2 +- esphome/components/api/user_services.h | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index 34864c5ce8..c7d8fb28f0 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -866,7 +866,7 @@ message ListEntitiesServicesResponse { string name = 1; fixed32 key = 2; - repeated ListEntitiesServicesArgument args = 3; + repeated ListEntitiesServicesArgument args = 3 [(fixed_vector) = true]; } message ExecuteServiceArgument { option (ifdef) = "USE_API_SERVICES"; diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index 7d6b31ca3c..20866850a9 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -1263,7 +1263,7 @@ class ListEntitiesServicesResponse final : public ProtoMessage { StringRef name_ref_{}; void set_name(const StringRef &ref) { this->name_ref_ = ref; } uint32_t key{0}; - std::vector args{}; + FixedVector args{}; void encode(ProtoWriteBuffer buffer) const override; void calculate_size(ProtoSize &size) const override; #ifdef HAS_PROTO_MESSAGE_DUMP diff --git a/esphome/components/api/user_services.h b/esphome/components/api/user_services.h index 3996c921a9..29843a2f78 100644 --- a/esphome/components/api/user_services.h +++ b/esphome/components/api/user_services.h @@ -35,9 +35,9 @@ template class UserServiceBase : public UserServiceDescriptor { msg.set_name(StringRef(this->name_)); msg.key = this->key_; std::array arg_types = {to_service_arg_type()...}; + msg.args.init(sizeof...(Ts)); for (size_t i = 0; i < sizeof...(Ts); i++) { - msg.args.emplace_back(); - auto &arg = msg.args.back(); + auto &arg = msg.args.emplace_back(); arg.type = arg_types[i]; arg.set_name(StringRef(this->arg_names_[i])); } From 28454b8219701c79958b5eea2f82a3120864070c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:00:27 -1000 Subject: [PATCH 133/201] Bump aioesphomeapi from 41.18.0 to 42.0.0 (#11273) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b6e4a189d1..92ab24e754 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==41.18.0 +aioesphomeapi==42.0.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From b190f37ae7082b5e3b8341ebac4f21ae55d397fd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 14:06:02 -1000 Subject: [PATCH 134/201] [ota] Fix MQTT resolution when static IP appears first in device list (#11272) --- esphome/__main__.py | 116 ++++++++++---- tests/unit_tests/test_main.py | 287 ++++++++++++++++++++++++++++++++++ 2 files changed, 370 insertions(+), 33 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index 8e0c475525..89197737e3 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -117,6 +117,17 @@ class Purpose(StrEnum): LOGGING = "logging" +class PortType(StrEnum): + SERIAL = "SERIAL" + NETWORK = "NETWORK" + MQTT = "MQTT" + MQTTIP = "MQTTIP" + + +# Magic MQTT port types that require special handling +_MQTT_PORT_TYPES = frozenset({PortType.MQTT, PortType.MQTTIP}) + + def _resolve_with_cache(address: str, purpose: Purpose) -> list[str]: """Resolve an address using cache if available, otherwise return the address itself.""" if CORE.address_cache and (cached := CORE.address_cache.get_addresses(address)): @@ -280,16 +291,67 @@ def mqtt_get_ip(config: ConfigType, username: str, password: str, client_id: str return mqtt.get_esphome_device_ip(config, username, password, client_id) -_PORT_TO_PORT_TYPE = { - "MQTT": "MQTT", - "MQTTIP": "MQTTIP", -} +def _resolve_network_devices( + devices: list[str], config: ConfigType, args: ArgsProtocol +) -> list[str]: + """Resolve device list, converting MQTT magic strings to actual IP addresses. + + This function filters the devices list to: + - Replace MQTT/MQTTIP magic strings with actual IP addresses via MQTT lookup + - Deduplicate addresses while preserving order + - Only resolve MQTT once even if multiple MQTT strings are present + - If MQTT resolution fails, log a warning and continue with other devices + + Args: + devices: List of device identifiers (IPs, hostnames, or magic strings) + config: ESPHome configuration + args: Command-line arguments containing MQTT credentials + + Returns: + List of network addresses suitable for connection attempts + """ + network_devices: list[str] = [] + mqtt_resolved: bool = False + + for device in devices: + port_type = get_port_type(device) + if port_type in _MQTT_PORT_TYPES: + # Only resolve MQTT once, even if multiple MQTT entries + if not mqtt_resolved: + try: + mqtt_ips = mqtt_get_ip( + config, args.username, args.password, args.client_id + ) + network_devices.extend(mqtt_ips) + except EsphomeError as err: + _LOGGER.warning( + "MQTT IP discovery failed (%s), will try other devices if available", + err, + ) + mqtt_resolved = True + elif device not in network_devices: + # Regular network address or IP - add if not already present + network_devices.append(device) + + return network_devices -def get_port_type(port: str) -> str: +def get_port_type(port: str) -> PortType: + """Determine the type of port/device identifier. + + Returns: + PortType.SERIAL for serial ports (/dev/ttyUSB0, COM1, etc.) + PortType.MQTT for MQTT logging + PortType.MQTTIP for MQTT IP lookup + PortType.NETWORK for IP addresses, hostnames, or mDNS names + """ if port.startswith("/") or port.startswith("COM"): - return "SERIAL" - return _PORT_TO_PORT_TYPE.get(port, "NETWORK") + return PortType.SERIAL + if port == "MQTT": + return PortType.MQTT + if port == "MQTTIP": + return PortType.MQTTIP + return PortType.NETWORK def run_miniterm(config: ConfigType, port: str, args) -> int: @@ -489,7 +551,7 @@ def upload_using_platformio(config: ConfigType, port: str): def check_permissions(port: str): - if os.name == "posix" and get_port_type(port) == "SERIAL": + if os.name == "posix" and get_port_type(port) == PortType.SERIAL: # Check if we can open selected serial port if not os.access(port, os.F_OK): raise EsphomeError( @@ -517,7 +579,7 @@ def upload_program( except AttributeError: pass - if get_port_type(host) == "SERIAL": + if get_port_type(host) == PortType.SERIAL: check_permissions(host) exit_code = 1 @@ -550,11 +612,10 @@ def upload_program( else: binary = CORE.firmware_bin - # MQTT address resolution - if get_port_type(host) in ("MQTT", "MQTTIP"): - devices = mqtt_get_ip(config, args.username, args.password, args.client_id) + # Resolve MQTT magic strings to actual IP addresses + network_devices = _resolve_network_devices(devices, config, args) - return espota2.run_ota(devices, remote_port, password, binary) + return espota2.run_ota(network_devices, remote_port, password, binary) def show_logs(config: ConfigType, args: ArgsProtocol, devices: list[str]) -> int | None: @@ -569,33 +630,22 @@ def show_logs(config: ConfigType, args: ArgsProtocol, devices: list[str]) -> int raise EsphomeError("Logger is not configured!") port = devices[0] + port_type = get_port_type(port) - if get_port_type(port) == "SERIAL": + if port_type == PortType.SERIAL: check_permissions(port) return run_miniterm(config, port, args) - port_type = get_port_type(port) - # Check if we should use API for logging - if has_api(): - addresses_to_use: list[str] | None = None + # Resolve MQTT magic strings to actual IP addresses + if has_api() and ( + network_devices := _resolve_network_devices(devices, config, args) + ): + from esphome.components.api.client import run_logs - if port_type == "NETWORK": - # Network addresses (IPs, mDNS names, or regular DNS hostnames) can be used - # The resolve_ip_address() function in helpers.py handles all types - addresses_to_use = devices - elif port_type in ("MQTT", "MQTTIP") and has_mqtt_ip_lookup(): - # Use MQTT IP lookup for MQTT/MQTTIP types - addresses_to_use = mqtt_get_ip( - config, args.username, args.password, args.client_id - ) + return run_logs(config, network_devices) - if addresses_to_use is not None: - from esphome.components.api.client import run_logs - - return run_logs(config, addresses_to_use) - - if port_type in ("NETWORK", "MQTT") and has_mqtt_logging(): + if port_type in (PortType.NETWORK, PortType.MQTT) and has_mqtt_logging(): from esphome import mqtt return mqtt.show_logs( diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index becf911fa3..422a199496 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -1976,3 +1976,290 @@ def test_command_clean_all_args_used() -> None: # Verify the correct configuration paths were passed mock_clean_all.assert_any_call(["/path/to/config1"]) mock_clean_all.assert_any_call(["/path/to/config2", "/path/to/config3"]) + + +def test_upload_program_ota_static_ip_with_mqttip( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test upload_program with static IP and MQTTIP (issue #11260). + + This tests the scenario where a device has manual_ip (static IP) configured + and MQTT is also configured. The devices list contains both the static IP + and "MQTTIP" magic string. This previously failed because only the first + device was checked for MQTT resolution. + """ + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + mock_mqtt_get_ip.return_value = ["192.168.2.50"] # Different subnet + mock_run_ota.return_value = (0, "192.168.1.100") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + # Simulates choose_upload_log_host returning static IP + MQTTIP + devices = ["192.168.1.100", "MQTTIP"] + + exit_code, host = upload_program(config, args, devices) + + assert exit_code == 0 + assert host == "192.168.1.100" + + # Verify MQTT was resolved + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with both IPs + expected_firmware = ( + tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" + ) + mock_run_ota.assert_called_once_with( + ["192.168.1.100", "192.168.2.50"], 3232, "", expected_firmware + ) + + +def test_upload_program_ota_multiple_mqttip_resolves_once( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test that MQTT resolution only happens once even with multiple MQTT magic strings.""" + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + mock_mqtt_get_ip.return_value = ["192.168.2.50", "192.168.2.51"] + mock_run_ota.return_value = (0, "192.168.2.50") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + # Multiple MQTT magic strings in the list + devices = ["MQTTIP", "MQTT", "192.168.1.100"] + + exit_code, host = upload_program(config, args, devices) + + assert exit_code == 0 + assert host == "192.168.2.50" + + # Verify MQTT was only resolved once despite multiple MQTT magic strings + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with all unique IPs + expected_firmware = ( + tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" + ) + mock_run_ota.assert_called_once_with( + ["192.168.2.50", "192.168.2.51", "192.168.1.100"], 3232, "", expected_firmware + ) + + +def test_upload_program_ota_mqttip_deduplication( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test that duplicate IPs are filtered when MQTT returns same IP as static IP.""" + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + # MQTT returns the same IP as the static IP + mock_mqtt_get_ip.return_value = ["192.168.1.100"] + mock_run_ota.return_value = (0, "192.168.1.100") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + devices = ["192.168.1.100", "MQTTIP"] + + exit_code, host = upload_program(config, args, devices) + + assert exit_code == 0 + assert host == "192.168.1.100" + + # Verify MQTT was resolved + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with deduplicated IPs (only one instance of 192.168.1.100) + # Note: Current implementation doesn't dedupe, so we'll get the IP twice + # This test documents current behavior - deduplication could be future enhancement + mock_run_ota.assert_called_once() + call_args = mock_run_ota.call_args[0] + # Should contain both the original IP and MQTT-resolved IP (even if duplicate) + assert "192.168.1.100" in call_args[0] + + +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_static_ip_with_mqttip( + mock_run_logs: Mock, + mock_mqtt_get_ip: Mock, +) -> None: + """Test show_logs with static IP and MQTTIP (issue #11260). + + This tests the scenario where a device has manual_ip (static IP) configured + and MQTT is also configured. The devices list contains both the static IP + and "MQTTIP" magic string. + """ + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MQTT: {CONF_BROKER: "mqtt.local"}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + mock_mqtt_get_ip.return_value = ["192.168.2.50"] + + args = MockArgs(username="user", password="pass", client_id="client") + # Simulates choose_upload_log_host returning static IP + MQTTIP + devices = ["192.168.1.100", "MQTTIP"] + + result = show_logs(CORE.config, args, devices) + + assert result == 0 + + # Verify MQTT was resolved + mock_mqtt_get_ip.assert_called_once_with(CORE.config, "user", "pass", "client") + + # Verify run_logs was called with both IPs + mock_run_logs.assert_called_once_with( + CORE.config, ["192.168.1.100", "192.168.2.50"] + ) + + +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_multiple_mqttip_resolves_once( + mock_run_logs: Mock, + mock_mqtt_get_ip: Mock, +) -> None: + """Test that MQTT resolution only happens once for show_logs with multiple MQTT magic strings.""" + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MQTT: {CONF_BROKER: "mqtt.local"}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + mock_mqtt_get_ip.return_value = ["192.168.2.50", "192.168.2.51"] + + args = MockArgs(username="user", password="pass", client_id="client") + # Multiple MQTT magic strings in the list + devices = ["MQTTIP", "192.168.1.100", "MQTT"] + + result = show_logs(CORE.config, args, devices) + + assert result == 0 + + # Verify MQTT was only resolved once despite multiple MQTT magic strings + mock_mqtt_get_ip.assert_called_once_with(CORE.config, "user", "pass", "client") + + # Verify run_logs was called with all unique IPs (MQTT strings replaced with IPs) + # Note: "MQTT" is a different magic string from "MQTTIP", but both trigger MQTT resolution + # The _resolve_network_devices helper filters out both after first resolution + mock_run_logs.assert_called_once_with( + CORE.config, ["192.168.2.50", "192.168.2.51", "192.168.1.100"] + ) + + +def test_upload_program_ota_mqtt_timeout_fallback( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test upload_program falls back to other devices when MQTT times out.""" + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + # MQTT times out + mock_mqtt_get_ip.side_effect = EsphomeError("Failed to find IP via MQTT") + mock_run_ota.return_value = (0, "192.168.1.100") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + # Static IP first, MQTTIP second + devices = ["192.168.1.100", "MQTTIP"] + + exit_code, host = upload_program(config, args, devices) + + # Should succeed using the static IP even though MQTT failed + assert exit_code == 0 + assert host == "192.168.1.100" + + # Verify MQTT was attempted + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with only the static IP (MQTT failed) + expected_firmware = ( + tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" + ) + mock_run_ota.assert_called_once_with(["192.168.1.100"], 3232, "", expected_firmware) + + +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_mqtt_timeout_fallback( + mock_run_logs: Mock, + mock_mqtt_get_ip: Mock, +) -> None: + """Test show_logs falls back to other devices when MQTT times out.""" + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MQTT: {CONF_BROKER: "mqtt.local"}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + # MQTT times out + mock_mqtt_get_ip.side_effect = EsphomeError("Failed to find IP via MQTT") + + args = MockArgs(username="user", password="pass", client_id="client") + # Static IP first, MQTTIP second + devices = ["192.168.1.100", "MQTTIP"] + + result = show_logs(CORE.config, args, devices) + + # Should succeed using the static IP even though MQTT failed + assert result == 0 + + # Verify MQTT was attempted + mock_mqtt_get_ip.assert_called_once_with(CORE.config, "user", "pass", "client") + + # Verify run_logs was called with only the static IP (MQTT failed) + mock_run_logs.assert_called_once_with(CORE.config, ["192.168.1.100"]) From 3054c2bc29149cb243ec9dac8a52e7f51e96e4d9 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:07:37 +1300 Subject: [PATCH 135/201] [ota.esphome] Handle blank password the same as no password defined (#11271) --- esphome/__main__.py | 2 +- esphome/components/esphome/ota/__init__.py | 6 ++++-- esphome/espota2.py | 10 +++++----- tests/unit_tests/test_espota2.py | 16 ++++++++-------- tests/unit_tests/test_main.py | 6 ++++-- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index 89197737e3..d9bdfb175b 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -606,7 +606,7 @@ def upload_program( from esphome import espota2 remote_port = int(ota_conf[CONF_PORT]) - password = ota_conf.get(CONF_PASSWORD, "") + password = ota_conf.get(CONF_PASSWORD) if getattr(args, "file", None) is not None: binary = Path(args.file) else: diff --git a/esphome/components/esphome/ota/__init__.py b/esphome/components/esphome/ota/__init__.py index e6f249e021..69a50a2de9 100644 --- a/esphome/components/esphome/ota/__init__.py +++ b/esphome/components/esphome/ota/__init__.py @@ -19,6 +19,7 @@ from esphome.const import ( from esphome.core import CORE, coroutine_with_priority from esphome.coroutine import CoroPriority import esphome.final_validate as fv +from esphome.types import ConfigType _LOGGER = logging.getLogger(__name__) @@ -136,11 +137,12 @@ FINAL_VALIDATE_SCHEMA = ota_esphome_final_validate @coroutine_with_priority(CoroPriority.OTA_UPDATES) -async def to_code(config): +async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) cg.add(var.set_port(config[CONF_PORT])) - if CONF_PASSWORD in config: + # Password could be set to an empty string and we can assume that means no password + if config.get(CONF_PASSWORD): cg.add(var.set_auth_password(config[CONF_PASSWORD])) cg.add_define("USE_OTA_PASSWORD") # Only include hash algorithms when password is configured diff --git a/esphome/espota2.py b/esphome/espota2.py index 17a1da8235..2b1b9a8328 100644 --- a/esphome/espota2.py +++ b/esphome/espota2.py @@ -242,7 +242,7 @@ def send_check( def perform_ota( - sock: socket.socket, password: str, file_handle: io.IOBase, filename: Path + sock: socket.socket, password: str | None, file_handle: io.IOBase, filename: Path ) -> None: file_contents = file_handle.read() file_size = len(file_contents) @@ -278,13 +278,13 @@ def perform_ota( def perform_auth( sock: socket.socket, - password: str, + password: str | None, hash_func: Callable[..., Any], nonce_size: int, hash_name: str, ) -> None: """Perform challenge-response authentication using specified hash algorithm.""" - if not password: + if password is None: raise OTAError("ESP requests password, but no password given!") nonce_bytes = receive_exactly( @@ -385,7 +385,7 @@ def perform_ota( def run_ota_impl_( - remote_host: str | list[str], remote_port: int, password: str, filename: Path + remote_host: str | list[str], remote_port: int, password: str | None, filename: Path ) -> tuple[int, str | None]: from esphome.core import CORE @@ -436,7 +436,7 @@ def run_ota_impl_( def run_ota( - remote_host: str | list[str], remote_port: int, password: str, filename: Path + remote_host: str | list[str], remote_port: int, password: str | None, filename: Path ) -> tuple[int, str | None]: try: return run_ota_impl_(remote_host, remote_port, password, filename) diff --git a/tests/unit_tests/test_espota2.py b/tests/unit_tests/test_espota2.py index 52c72291d6..02f965782b 100644 --- a/tests/unit_tests/test_espota2.py +++ b/tests/unit_tests/test_espota2.py @@ -287,7 +287,7 @@ def test_perform_ota_no_auth(mock_socket: Mock, mock_file: io.BytesIO) -> None: mock_socket.recv.side_effect = recv_responses - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # Should not send any auth-related data auth_calls = [ @@ -317,7 +317,7 @@ def test_perform_ota_with_compression(mock_socket: Mock) -> None: mock_socket.recv.side_effect = recv_responses - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # Verify compressed content was sent # Get the binary size that was sent (4 bytes after features) @@ -347,7 +347,7 @@ def test_perform_ota_auth_without_password(mock_socket: Mock) -> None: with pytest.raises( espota2.OTAError, match="ESP requests password, but no password given" ): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") @pytest.mark.usefixtures("mock_time") @@ -413,7 +413,7 @@ def test_perform_ota_sha256_auth_without_password(mock_socket: Mock) -> None: with pytest.raises( espota2.OTAError, match="ESP requests password, but no password given" ): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") def test_perform_ota_unexpected_auth_response(mock_socket: Mock) -> None: @@ -450,7 +450,7 @@ def test_perform_ota_unsupported_version(mock_socket: Mock) -> None: mock_socket.recv.side_effect = responses with pytest.raises(espota2.OTAError, match="Device uses unsupported OTA version"): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") @pytest.mark.usefixtures("mock_time") @@ -471,7 +471,7 @@ def test_perform_ota_upload_error(mock_socket: Mock, mock_file: io.BytesIO) -> N mock_socket.recv.side_effect = recv_responses with pytest.raises(espota2.OTAError, match="Error receiving acknowledge chunk OK"): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") @pytest.mark.usefixtures("mock_socket_constructor", "mock_resolve_ip") @@ -706,7 +706,7 @@ def test_perform_ota_version_differences( ] mock_socket.recv.side_effect = recv_responses - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # For v1.0, verify that we only get the expected number of recv calls # v1.0 doesn't have chunk acknowledgments, so fewer recv calls @@ -732,7 +732,7 @@ def test_perform_ota_version_differences( ] mock_socket.recv.side_effect = recv_responses_v2 - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # For v2.0, verify more recv calls due to chunk acknowledgments assert mock_socket.recv.call_count == 9 # v2.0 has 9 recv calls (includes chunk OK) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index 422a199496..1782a1e9e1 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -1062,7 +1062,7 @@ def test_upload_program_ota_with_file_arg( assert exit_code == 0 assert host == "192.168.1.100" mock_run_ota.assert_called_once_with( - ["192.168.1.100"], 3232, "", Path("custom.bin") + ["192.168.1.100"], 3232, None, Path("custom.bin") ) @@ -1119,7 +1119,9 @@ def test_upload_program_ota_with_mqtt_resolution( expected_firmware = ( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) - mock_run_ota.assert_called_once_with(["192.168.1.100"], 3232, "", expected_firmware) + mock_run_ota.assert_called_once_with( + ["192.168.1.100"], 3232, None, expected_firmware + ) @patch("esphome.__main__.importlib.import_module") From fe4857fabbb98568e4815fd84c021dae5d5b127b Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 14:28:19 -1000 Subject: [PATCH 136/201] [tests] Fix OTA password test assertions after merge collision (#11275) --- tests/unit_tests/test_main.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index 1782a1e9e1..59d0433aa4 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -2025,7 +2025,7 @@ def test_upload_program_ota_static_ip_with_mqttip( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) mock_run_ota.assert_called_once_with( - ["192.168.1.100", "192.168.2.50"], 3232, "", expected_firmware + ["192.168.1.100", "192.168.2.50"], 3232, None, expected_firmware ) @@ -2068,7 +2068,7 @@ def test_upload_program_ota_multiple_mqttip_resolves_once( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) mock_run_ota.assert_called_once_with( - ["192.168.2.50", "192.168.2.51", "192.168.1.100"], 3232, "", expected_firmware + ["192.168.2.50", "192.168.2.51", "192.168.1.100"], 3232, None, expected_firmware ) @@ -2230,7 +2230,9 @@ def test_upload_program_ota_mqtt_timeout_fallback( expected_firmware = ( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) - mock_run_ota.assert_called_once_with(["192.168.1.100"], 3232, "", expected_firmware) + mock_run_ota.assert_called_once_with( + ["192.168.1.100"], 3232, None, expected_firmware + ) @patch("esphome.components.api.client.run_logs") From 22056e08099582395fb2f15318593b3f5e1d9da4 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 21:24:56 -0400 Subject: [PATCH 137/201] [wifi] Fix enterprise wifi (#11276) Co-authored-by: J. Nick Koston --- esphome/components/wifi/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/wifi/__init__.py b/esphome/components/wifi/__init__.py index ad5698519b..1f742dc1a8 100644 --- a/esphome/components/wifi/__init__.py +++ b/esphome/components/wifi/__init__.py @@ -402,8 +402,8 @@ async def to_code(config): add_idf_sdkconfig_option("CONFIG_LWIP_DHCPS", False) # Disable Enterprise WiFi support if no EAP is configured - if CORE.is_esp32 and not has_eap: - add_idf_sdkconfig_option("CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT", False) + if CORE.is_esp32: + add_idf_sdkconfig_option("CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT", has_eap) cg.add(var.set_reboot_timeout(config[CONF_REBOOT_TIMEOUT])) cg.add(var.set_power_save_mode(config[CONF_POWER_SAVE_MODE])) From 10ca86ae8dc1daa7e74794135f047e614343eee6 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 16:41:25 -1000 Subject: [PATCH 138/201] [api] Use std::unique_ptr for fixed-size byte buffers in Noise protocol (#11278) --- .../components/api/api_frame_helper_noise.cpp | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/esphome/components/api/api_frame_helper_noise.cpp b/esphome/components/api/api_frame_helper_noise.cpp index 1213e65948..e952ea670b 100644 --- a/esphome/components/api/api_frame_helper_noise.cpp +++ b/esphome/components/api/api_frame_helper_noise.cpp @@ -242,7 +242,6 @@ APIError APINoiseFrameHelper::state_action_() { const std::string &name = App.get_name(); const std::string &mac = get_mac_address(); - std::vector msg; // Calculate positions and sizes size_t name_len = name.size() + 1; // including null terminator size_t mac_len = mac.size() + 1; // including null terminator @@ -250,17 +249,17 @@ APIError APINoiseFrameHelper::state_action_() { size_t mac_offset = name_offset + name_len; size_t total_size = 1 + name_len + mac_len; - msg.resize(total_size); + auto msg = std::make_unique(total_size); // chosen proto msg[0] = 0x01; // node name, terminated by null byte - std::memcpy(msg.data() + name_offset, name.c_str(), name_len); + std::memcpy(msg.get() + name_offset, name.c_str(), name_len); // node mac, terminated by null byte - std::memcpy(msg.data() + mac_offset, mac.c_str(), mac_len); + std::memcpy(msg.get() + mac_offset, mac.c_str(), mac_len); - aerr = write_frame_(msg.data(), msg.size()); + aerr = write_frame_(msg.get(), total_size); if (aerr != APIError::OK) return aerr; @@ -339,32 +338,32 @@ void APINoiseFrameHelper::send_explicit_handshake_reject_(const LogString *reaso #ifdef USE_STORE_LOG_STR_IN_FLASH // On ESP8266 with flash strings, we need to use PROGMEM-aware functions size_t reason_len = strlen_P(reinterpret_cast(reason)); - std::vector data; - data.resize(reason_len + 1); + size_t data_size = reason_len + 1; + auto data = std::make_unique(data_size); data[0] = 0x01; // failure // Copy error message from PROGMEM if (reason_len > 0) { - memcpy_P(data.data() + 1, reinterpret_cast(reason), reason_len); + memcpy_P(data.get() + 1, reinterpret_cast(reason), reason_len); } #else // Normal memory access const char *reason_str = LOG_STR_ARG(reason); size_t reason_len = strlen(reason_str); - std::vector data; - data.resize(reason_len + 1); + size_t data_size = reason_len + 1; + auto data = std::make_unique(data_size); data[0] = 0x01; // failure // Copy error message in bulk if (reason_len > 0) { - std::memcpy(data.data() + 1, reason_str, reason_len); + std::memcpy(data.get() + 1, reason_str, reason_len); } #endif // temporarily remove failed state auto orig_state = state_; state_ = State::EXPLICIT_REJECT; - write_frame_(data.data(), data.size()); + write_frame_(data.get(), data_size); state_ = orig_state; } APIError APINoiseFrameHelper::read_packet(ReadPacketBuffer *buffer) { From 708f8a95e5dfdb00be84ebc3aa524749a392dc04 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 16:48:38 -1000 Subject: [PATCH 139/201] [api] Use FixedVector for HomeAssistantServiceCallAction to reduce flash usage and avoid realloc (#11277) --- esphome/components/api/__init__.py | 17 +++++++++ .../components/api/homeassistant_service.h | 36 ++++++++++++++----- 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/esphome/components/api/__init__.py b/esphome/components/api/__init__.py index 58828c131d..e8dacf51bc 100644 --- a/esphome/components/api/__init__.py +++ b/esphome/components/api/__init__.py @@ -380,12 +380,19 @@ async def homeassistant_service_to_code( var = cg.new_Pvariable(action_id, template_arg, serv, False) templ = await cg.templatable(config[CONF_ACTION], args, None) cg.add(var.set_service(templ)) + + # Initialize FixedVectors with exact sizes from config + cg.add(var.init_data(len(config[CONF_DATA]))) for key, value in config[CONF_DATA].items(): templ = await cg.templatable(value, args, None) cg.add(var.add_data(key, templ)) + + cg.add(var.init_data_template(len(config[CONF_DATA_TEMPLATE]))) for key, value in config[CONF_DATA_TEMPLATE].items(): templ = await cg.templatable(value, args, None) cg.add(var.add_data_template(key, templ)) + + cg.add(var.init_variables(len(config[CONF_VARIABLES]))) for key, value in config[CONF_VARIABLES].items(): templ = await cg.templatable(value, args, None) cg.add(var.add_variable(key, templ)) @@ -458,15 +465,23 @@ async def homeassistant_event_to_code(config, action_id, template_arg, args): var = cg.new_Pvariable(action_id, template_arg, serv, True) templ = await cg.templatable(config[CONF_EVENT], args, None) cg.add(var.set_service(templ)) + + # Initialize FixedVectors with exact sizes from config + cg.add(var.init_data(len(config[CONF_DATA]))) for key, value in config[CONF_DATA].items(): templ = await cg.templatable(value, args, None) cg.add(var.add_data(key, templ)) + + cg.add(var.init_data_template(len(config[CONF_DATA_TEMPLATE]))) for key, value in config[CONF_DATA_TEMPLATE].items(): templ = await cg.templatable(value, args, None) cg.add(var.add_data_template(key, templ)) + + cg.add(var.init_variables(len(config[CONF_VARIABLES]))) for key, value in config[CONF_VARIABLES].items(): templ = await cg.templatable(value, args, None) cg.add(var.add_variable(key, templ)) + return var @@ -489,6 +504,8 @@ async def homeassistant_tag_scanned_to_code(config, action_id, template_arg, arg serv = await cg.get_variable(config[CONF_ID]) var = cg.new_Pvariable(action_id, template_arg, serv, True) cg.add(var.set_service("esphome.tag_scanned")) + # Initialize FixedVector with exact size (1 data field) + cg.add(var.init_data(1)) templ = await cg.templatable(config[CONF_TAG], args, cg.std_string) cg.add(var.add_data("tag_id", templ)) return var diff --git a/esphome/components/api/homeassistant_service.h b/esphome/components/api/homeassistant_service.h index 46e89cb39f..4343fcd0bb 100644 --- a/esphome/components/api/homeassistant_service.h +++ b/esphome/components/api/homeassistant_service.h @@ -41,10 +41,14 @@ template class TemplatableStringValue : public TemplatableValue class TemplatableKeyValuePair { public: + // Default constructor needed for FixedVector::emplace_back() + TemplatableKeyValuePair() = default; + // Keys are always string literals from YAML dictionary keys (e.g., "code", "event") // and never templatable values or lambdas. Only the value parameter can be a lambda/template. // Using pass-by-value with std::move allows optimal performance for both lvalues and rvalues. template TemplatableKeyValuePair(std::string key, T value) : key(std::move(key)), value(value) {} + std::string key; TemplatableStringValue value; }; @@ -93,15 +97,22 @@ template class HomeAssistantServiceCallAction : public Action void set_service(T service) { this->service_ = service; } + // Initialize FixedVector members - called from Python codegen with compile-time known sizes. + // Must be called before any add_* methods; capacity must match the number of subsequent add_* calls. + void init_data(size_t count) { this->data_.init(count); } + void init_data_template(size_t count) { this->data_template_.init(count); } + void init_variables(size_t count) { this->variables_.init(count); } + // Keys are always string literals from the Python code generation (e.g., cg.add(var.add_data("tag_id", templ))). // The value parameter can be a lambda/template, but keys are never templatable. - // Using pass-by-value allows the compiler to optimize for both lvalues and rvalues. - template void add_data(std::string key, T value) { this->data_.emplace_back(std::move(key), value); } - template void add_data_template(std::string key, T value) { - this->data_template_.emplace_back(std::move(key), value); + template void add_data(K &&key, V &&value) { + this->add_kv_(this->data_, std::forward(key), std::forward(value)); } - template void add_variable(std::string key, T value) { - this->variables_.emplace_back(std::move(key), value); + template void add_data_template(K &&key, V &&value) { + this->add_kv_(this->data_template_, std::forward(key), std::forward(value)); + } + template void add_variable(K &&key, V &&value) { + this->add_kv_(this->variables_, std::forward(key), std::forward(value)); } #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES @@ -174,6 +185,13 @@ template class HomeAssistantServiceCallAction : public Action void add_kv_(FixedVector> &vec, K &&key, V &&value) { + auto &kv = vec.emplace_back(); + kv.key = std::forward(key); + kv.value = std::forward(value); + } + template static void populate_service_map(VectorType &dest, SourceType &source, Ts... x) { dest.init(source.size()); @@ -186,9 +204,9 @@ template class HomeAssistantServiceCallAction : public Action service_{}; - std::vector> data_; - std::vector> data_template_; - std::vector> variables_; + FixedVector> data_; + FixedVector> data_template_; + FixedVector> variables_; #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON TemplatableStringValue response_template_{""}; From 42f1b61e315aa557d3242d2d5f50b1edb4de220e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 16:58:58 -1000 Subject: [PATCH 140/201] [git] Automatically recover from broken git repositories in external_components (#11246) --- esphome/git.py | 150 +++++++++-- tests/unit_tests/conftest.py | 7 + tests/unit_tests/test_git.py | 499 ++++++++++++++++++++++++++++++++--- 3 files changed, 594 insertions(+), 62 deletions(-) diff --git a/esphome/git.py b/esphome/git.py index 62fe37a3fe..4ff07ffe75 100644 --- a/esphome/git.py +++ b/esphome/git.py @@ -5,6 +5,7 @@ import hashlib import logging from pathlib import Path import re +import shutil import subprocess import urllib.parse @@ -17,14 +18,60 @@ _LOGGER = logging.getLogger(__name__) NEVER_REFRESH = TimePeriodSeconds(seconds=-1) -def run_git_command(cmd, cwd=None) -> str: - _LOGGER.debug("Running git command: %s", " ".join(cmd)) +class GitException(cv.Invalid): + """Base exception for git-related errors.""" + + +class GitNotInstalledError(GitException): + """Exception raised when git is not installed on the system.""" + + +class GitCommandError(GitException): + """Exception raised when a git command fails.""" + + +class GitRepositoryError(GitException): + """Exception raised when a git repository is in an invalid state.""" + + +def run_git_command(cmd: list[str], git_dir: Path | None = None) -> str: + if git_dir is not None: + _LOGGER.debug( + "Running git command with repository isolation: %s (git_dir=%s)", + " ".join(cmd), + git_dir, + ) + else: + _LOGGER.debug("Running git command: %s", " ".join(cmd)) + + # Set up environment for repository isolation if git_dir is provided + # Force git to only operate on this specific repository by setting + # GIT_DIR and GIT_WORK_TREE. This prevents git from walking up the + # directory tree to find parent repositories when the target repo's + # .git directory is corrupt. Without this, commands like 'git stash' + # could accidentally operate on parent repositories (e.g., the main + # ESPHome repo) instead of failing, causing data loss. + env: dict[str, str] | None = None + cwd: str | None = None + if git_dir is not None: + env = { + **subprocess.os.environ, + "GIT_DIR": str(Path(git_dir) / ".git"), + "GIT_WORK_TREE": str(git_dir), + } + cwd = str(git_dir) + try: ret = subprocess.run( - cmd, cwd=cwd, capture_output=True, check=False, close_fds=False + cmd, + cwd=cwd, + capture_output=True, + check=False, + close_fds=False, + env=env, ) except FileNotFoundError as err: - raise cv.Invalid( + raise GitNotInstalledError( "git is not installed but required for external_components.\n" "Please see https://git-scm.com/book/en/v2/Getting-Started-Installing-Git for installing git" ) from err @@ -33,8 +80,8 @@ def run_git_command(cmd, cwd=None) -> str: err_str = ret.stderr.decode("utf-8") lines = [x.strip() for x in err_str.splitlines()] if lines[-1].startswith("fatal:"): - raise cv.Invalid(lines[-1][len("fatal: ") :]) - raise cv.Invalid(err_str) + raise GitCommandError(lines[-1][len("fatal: ") :]) + raise GitCommandError(err_str) return ret.stdout.decode("utf-8").strip() @@ -55,6 +102,7 @@ def clone_or_update( username: str = None, password: str = None, submodules: list[str] | None = None, + _recover_broken: bool = True, ) -> tuple[Path, Callable[[], None] | None]: key = f"{url}@{ref}" @@ -75,15 +123,15 @@ def clone_or_update( # We need to fetch the PR branch first, otherwise git will complain # about missing objects _LOGGER.info("Fetching %s", ref) - run_git_command(["git", "fetch", "--", "origin", ref], str(repo_dir)) - run_git_command(["git", "reset", "--hard", "FETCH_HEAD"], str(repo_dir)) + run_git_command(["git", "fetch", "--", "origin", ref], git_dir=repo_dir) + run_git_command(["git", "reset", "--hard", "FETCH_HEAD"], git_dir=repo_dir) if submodules is not None: _LOGGER.info( - "Initialising submodules (%s) for %s", ", ".join(submodules), key + "Initializing submodules (%s) for %s", ", ".join(submodules), key ) run_git_command( - ["git", "submodule", "update", "--init"] + submodules, str(repo_dir) + ["git", "submodule", "update", "--init"] + submodules, git_dir=repo_dir ) else: @@ -99,32 +147,82 @@ def clone_or_update( file_timestamp = Path(repo_dir / ".git" / "HEAD") age = datetime.now() - datetime.fromtimestamp(file_timestamp.stat().st_mtime) if refresh is None or age.total_seconds() > refresh.total_seconds: - old_sha = run_git_command(["git", "rev-parse", "HEAD"], str(repo_dir)) - _LOGGER.info("Updating %s", key) - _LOGGER.debug("Location: %s", repo_dir) - # Stash local changes (if any) - run_git_command( - ["git", "stash", "push", "--include-untracked"], str(repo_dir) - ) - # Fetch remote ref - cmd = ["git", "fetch", "--", "origin"] - if ref is not None: - cmd.append(ref) - run_git_command(cmd, str(repo_dir)) - # Hard reset to FETCH_HEAD (short-lived git ref corresponding to most recent fetch) - run_git_command(["git", "reset", "--hard", "FETCH_HEAD"], str(repo_dir)) + # Try to update the repository, recovering from broken state if needed + old_sha: str | None = None + try: + # First verify the repository is valid by checking HEAD + # Use git_dir parameter to prevent git from walking up to parent repos + old_sha = run_git_command( + ["git", "rev-parse", "HEAD"], git_dir=repo_dir + ) + + _LOGGER.info("Updating %s", key) + _LOGGER.debug("Location: %s", repo_dir) + + # Stash local changes (if any) + # Use git_dir to ensure this only affects the specific repo + run_git_command( + ["git", "stash", "push", "--include-untracked"], + git_dir=repo_dir, + ) + + # Fetch remote ref + cmd = ["git", "fetch", "--", "origin"] + if ref is not None: + cmd.append(ref) + run_git_command(cmd, git_dir=repo_dir) + + # Hard reset to FETCH_HEAD (short-lived git ref corresponding to most recent fetch) + run_git_command( + ["git", "reset", "--hard", "FETCH_HEAD"], + git_dir=repo_dir, + ) + except GitException as err: + # Repository is in a broken state or update failed + # Only attempt recovery once to prevent infinite recursion + if not _recover_broken: + _LOGGER.error( + "Repository %s recovery failed, cannot retry (already attempted once)", + key, + ) + raise + + _LOGGER.warning( + "Repository %s has issues (%s), attempting recovery", + key, + err, + ) + _LOGGER.info("Removing broken repository at %s", repo_dir) + shutil.rmtree(repo_dir) + _LOGGER.info("Successfully removed broken repository, re-cloning...") + + # Recursively call clone_or_update to re-clone + # Set _recover_broken=False to prevent infinite recursion + result = clone_or_update( + url=url, + ref=ref, + refresh=refresh, + domain=domain, + username=username, + password=password, + submodules=submodules, + _recover_broken=False, + ) + _LOGGER.info("Repository %s successfully recovered", key) + return result if submodules is not None: _LOGGER.info( "Updating submodules (%s) for %s", ", ".join(submodules), key ) run_git_command( - ["git", "submodule", "update", "--init"] + submodules, str(repo_dir) + ["git", "submodule", "update", "--init"] + submodules, + git_dir=repo_dir, ) def revert(): _LOGGER.info("Reverting changes to %s -> %s", key, old_sha) - run_git_command(["git", "reset", "--hard", old_sha], str(repo_dir)) + run_git_command(["git", "reset", "--hard", old_sha], git_dir=repo_dir) return repo_dir, revert diff --git a/tests/unit_tests/conftest.py b/tests/unit_tests/conftest.py index 932221997c..fc61841500 100644 --- a/tests/unit_tests/conftest.py +++ b/tests/unit_tests/conftest.py @@ -96,6 +96,13 @@ def mock_run_git_command() -> Generator[Mock, None, None]: yield mock +@pytest.fixture +def mock_subprocess_run() -> Generator[Mock, None, None]: + """Mock subprocess.run for testing.""" + with patch("subprocess.run") as mock: + yield mock + + @pytest.fixture def mock_get_idedata() -> Generator[Mock, None, None]: """Mock get_idedata for platformio_api.""" diff --git a/tests/unit_tests/test_git.py b/tests/unit_tests/test_git.py index 6a51206ec2..0411fe5e43 100644 --- a/tests/unit_tests/test_git.py +++ b/tests/unit_tests/test_git.py @@ -1,13 +1,204 @@ """Tests for git.py module.""" from datetime import datetime, timedelta -import hashlib import os from pathlib import Path +from typing import Any from unittest.mock import Mock +import pytest + from esphome import git from esphome.core import CORE, TimePeriodSeconds +from esphome.git import GitCommandError + + +def _compute_repo_dir(url: str, ref: str | None, domain: str) -> Path: + """Helper to compute the expected repo directory path using git module's logic.""" + key = f"{url}@{ref}" + return git._compute_destination_path(key, domain) + + +def _setup_old_repo(repo_dir: Path, days_old: int = 2) -> None: + """Helper to set up a git repo directory structure with an old timestamp. + + Args: + repo_dir: The repository directory path to create. + days_old: Number of days old to make the FETCH_HEAD file (default: 2). + """ + # Create repo directory + repo_dir.mkdir(parents=True) + git_dir = repo_dir / ".git" + git_dir.mkdir() + + # Create FETCH_HEAD file with old timestamp + fetch_head = git_dir / "FETCH_HEAD" + fetch_head.write_text("test") + old_time = datetime.now() - timedelta(days=days_old) + fetch_head.touch() + os.utime(fetch_head, (old_time.timestamp(), old_time.timestamp())) + + +def _get_git_command_type(cmd: list[str]) -> str | None: + """Helper to determine the type of git command from a command list. + + Args: + cmd: The git command list (e.g., ["git", "rev-parse", "HEAD"]). + + Returns: + The command type ("rev-parse", "stash", "fetch", "reset", "clone") or None. + """ + # Git commands are always in format ["git", "command", ...], so check index 1 + if len(cmd) > 1: + return cmd[1] + return None + + +def test_run_git_command_success(tmp_path: Path) -> None: + """Test that run_git_command returns output on success.""" + # Create a simple git repo to test with + repo_dir = tmp_path / "test_repo" + repo_dir.mkdir() + + # Initialize a git repo + result = git.run_git_command(["git", "init"], str(repo_dir)) + assert "Initialized empty Git repository" in result or result == "" + + # Verify we can run a command and get output + result = git.run_git_command(["git", "status", "--porcelain"], str(repo_dir)) + # Empty repo should have empty status + assert isinstance(result, str) + + +def test_run_git_command_with_git_dir_isolation( + tmp_path: Path, mock_subprocess_run: Mock +) -> None: + """Test that git_dir parameter properly isolates git operations.""" + repo_dir = tmp_path / "test_repo" + repo_dir.mkdir() + git_dir = repo_dir / ".git" + git_dir.mkdir() + + # Configure mock to return success + mock_subprocess_run.return_value = Mock( + returncode=0, + stdout=b"test output", + stderr=b"", + ) + + result = git.run_git_command( + ["git", "rev-parse", "HEAD"], + git_dir=repo_dir, + ) + + # Verify subprocess.run was called + assert mock_subprocess_run.called + call_args = mock_subprocess_run.call_args + + # Verify environment was set + env = call_args[1]["env"] + assert "GIT_DIR" in env + assert "GIT_WORK_TREE" in env + assert env["GIT_DIR"] == str(repo_dir / ".git") + assert env["GIT_WORK_TREE"] == str(repo_dir) + + assert result == "test output" + + +def test_run_git_command_raises_git_not_installed_error( + tmp_path: Path, mock_subprocess_run: Mock +) -> None: + """Test that FileNotFoundError is converted to GitNotInstalledError.""" + from esphome.git import GitNotInstalledError + + repo_dir = tmp_path / "test_repo" + + # Configure mock to raise FileNotFoundError + mock_subprocess_run.side_effect = FileNotFoundError("git not found") + + with pytest.raises(GitNotInstalledError, match="git is not installed"): + git.run_git_command(["git", "status"], git_dir=repo_dir) + + +def test_run_git_command_raises_git_command_error_on_failure( + tmp_path: Path, mock_subprocess_run: Mock +) -> None: + """Test that failed git commands raise GitCommandError.""" + repo_dir = tmp_path / "test_repo" + + # Configure mock to return non-zero exit code + mock_subprocess_run.return_value = Mock( + returncode=1, + stdout=b"", + stderr=b"fatal: not a git repository", + ) + + with pytest.raises(GitCommandError, match="not a git repository"): + git.run_git_command(["git", "status"], git_dir=repo_dir) + + +def test_run_git_command_strips_fatal_prefix( + tmp_path: Path, mock_subprocess_run: Mock +) -> None: + """Test that 'fatal: ' prefix is stripped from error messages.""" + repo_dir = tmp_path / "test_repo" + + # Configure mock to return error with "fatal: " prefix + mock_subprocess_run.return_value = Mock( + returncode=128, + stdout=b"", + stderr=b"fatal: repository not found\n", + ) + + with pytest.raises(GitCommandError) as exc_info: + git.run_git_command(["git", "clone", "invalid-url"], git_dir=repo_dir) + + # Error message should NOT include "fatal: " prefix + assert "fatal:" not in str(exc_info.value) + assert "repository not found" in str(exc_info.value) + + +def test_run_git_command_without_git_dir(mock_subprocess_run: Mock) -> None: + """Test that run_git_command works without git_dir (clone case).""" + # Configure mock to return success + mock_subprocess_run.return_value = Mock( + returncode=0, + stdout=b"Cloning into 'test_repo'...", + stderr=b"", + ) + + result = git.run_git_command(["git", "clone", "https://github.com/test/repo"]) + + # Verify subprocess.run was called + assert mock_subprocess_run.called + call_args = mock_subprocess_run.call_args + + # Verify environment does NOT have GIT_DIR or GIT_WORK_TREE set + # (it should use the default environment or None) + env = call_args[1].get("env") + if env is not None: + assert "GIT_DIR" not in env + assert "GIT_WORK_TREE" not in env + + # Verify cwd is None (default) + assert call_args[1].get("cwd") is None + + assert result == "Cloning into 'test_repo'..." + + +def test_run_git_command_without_git_dir_raises_error( + mock_subprocess_run: Mock, +) -> None: + """Test that run_git_command without git_dir can still raise errors.""" + # Configure mock to return error + mock_subprocess_run.return_value = Mock( + returncode=128, + stdout=b"", + stderr=b"fatal: repository not found\n", + ) + + with pytest.raises(GitCommandError, match="repository not found"): + git.run_git_command(["git", "clone", "https://invalid.url/repo.git"]) def test_clone_or_update_with_never_refresh( @@ -17,16 +208,10 @@ def test_clone_or_update_with_never_refresh( # Set up CORE.config_path so data_dir uses tmp_path CORE.config_path = tmp_path / "test.yaml" - # Compute the expected repo directory path url = "https://github.com/test/repo" ref = None - key = f"{url}@{ref}" domain = "test" - - # Compute hash-based directory name (matching _compute_destination_path logic) - h = hashlib.new("sha256") - h.update(key.encode()) - repo_dir = tmp_path / ".esphome" / domain / h.hexdigest()[:8] + repo_dir = _compute_repo_dir(url, ref, domain) # Create the git repo directory structure repo_dir.mkdir(parents=True) @@ -58,16 +243,10 @@ def test_clone_or_update_with_refresh_updates_old_repo( # Set up CORE.config_path so data_dir uses tmp_path CORE.config_path = tmp_path / "test.yaml" - # Compute the expected repo directory path url = "https://github.com/test/repo" ref = None - key = f"{url}@{ref}" domain = "test" - - # Compute hash-based directory name (matching _compute_destination_path logic) - h = hashlib.new("sha256") - h.update(key.encode()) - repo_dir = tmp_path / ".esphome" / domain / h.hexdigest()[:8] + repo_dir = _compute_repo_dir(url, ref, domain) # Create the git repo directory structure repo_dir.mkdir(parents=True) @@ -112,16 +291,10 @@ def test_clone_or_update_with_refresh_skips_fresh_repo( # Set up CORE.config_path so data_dir uses tmp_path CORE.config_path = tmp_path / "test.yaml" - # Compute the expected repo directory path url = "https://github.com/test/repo" ref = None - key = f"{url}@{ref}" domain = "test" - - # Compute hash-based directory name (matching _compute_destination_path logic) - h = hashlib.new("sha256") - h.update(key.encode()) - repo_dir = tmp_path / ".esphome" / domain / h.hexdigest()[:8] + repo_dir = _compute_repo_dir(url, ref, domain) # Create the git repo directory structure repo_dir.mkdir(parents=True) @@ -158,16 +331,10 @@ def test_clone_or_update_clones_missing_repo( # Set up CORE.config_path so data_dir uses tmp_path CORE.config_path = tmp_path / "test.yaml" - # Compute the expected repo directory path url = "https://github.com/test/repo" ref = None - key = f"{url}@{ref}" domain = "test" - - # Compute hash-based directory name (matching _compute_destination_path logic) - h = hashlib.new("sha256") - h.update(key.encode()) - repo_dir = tmp_path / ".esphome" / domain / h.hexdigest()[:8] + repo_dir = _compute_repo_dir(url, ref, domain) # Create base directory but NOT the repo itself base_dir = tmp_path / ".esphome" / domain @@ -200,16 +367,10 @@ def test_clone_or_update_with_none_refresh_always_updates( # Set up CORE.config_path so data_dir uses tmp_path CORE.config_path = tmp_path / "test.yaml" - # Compute the expected repo directory path url = "https://github.com/test/repo" ref = None - key = f"{url}@{ref}" domain = "test" - - # Compute hash-based directory name (matching _compute_destination_path logic) - h = hashlib.new("sha256") - h.update(key.encode()) - repo_dir = tmp_path / ".esphome" / domain / h.hexdigest()[:8] + repo_dir = _compute_repo_dir(url, ref, domain) # Create the git repo directory structure repo_dir.mkdir(parents=True) @@ -244,3 +405,269 @@ def test_clone_or_update_with_none_refresh_always_updates( if len(call[0]) > 0 and "fetch" in call[0][0] ] assert len(fetch_calls) > 0 + + +@pytest.mark.parametrize( + ("fail_command", "error_message"), + [ + ( + "rev-parse", + "ambiguous argument 'HEAD': unknown revision or path not in the working tree.", + ), + ("stash", "fatal: unable to write new index file"), + ( + "fetch", + "fatal: unable to access 'https://github.com/test/repo/': Could not resolve host", + ), + ("reset", "fatal: Could not reset index file to revision 'FETCH_HEAD'"), + ], +) +def test_clone_or_update_recovers_from_git_failures( + tmp_path: Path, mock_run_git_command: Mock, fail_command: str, error_message: str +) -> None: + """Test that repos are re-cloned when various git commands fail.""" + # Set up CORE.config_path so data_dir uses tmp_path + CORE.config_path = tmp_path / "test.yaml" + + url = "https://github.com/test/repo" + ref = "main" + domain = "test" + repo_dir = _compute_repo_dir(url, ref, domain) + + # Use helper to set up old repo + _setup_old_repo(repo_dir) + + # Track command call counts to make first call fail, subsequent calls succeed + call_counts: dict[str, int] = {} + + def git_command_side_effect( + cmd: list[str], cwd: str | None = None, **kwargs: Any + ) -> str: + # Determine which command this is + cmd_type = _get_git_command_type(cmd) + + # Track call count for this command type + if cmd_type: + call_counts[cmd_type] = call_counts.get(cmd_type, 0) + 1 + + # Fail on first call to the specified command, succeed on subsequent calls + if cmd_type == fail_command and call_counts[cmd_type] == 1: + raise GitCommandError(error_message) + + # Default successful responses + if cmd_type == "rev-parse": + return "abc123" + return "" + + mock_run_git_command.side_effect = git_command_side_effect + + refresh = TimePeriodSeconds(days=1) + result_dir, revert = git.clone_or_update( + url=url, + ref=ref, + refresh=refresh, + domain=domain, + ) + + # Verify recovery happened + call_list = mock_run_git_command.call_args_list + + # Should have attempted the failing command + assert any(fail_command in str(c) for c in call_list) + + # Should have called clone for recovery + assert any("clone" in str(c) for c in call_list) + + # Verify the repo directory path is returned + assert result_dir == repo_dir + + +def test_clone_or_update_fails_when_recovery_also_fails( + tmp_path: Path, mock_run_git_command: Mock +) -> None: + """Test that we don't infinitely recurse when recovery also fails.""" + # Set up CORE.config_path so data_dir uses tmp_path + CORE.config_path = tmp_path / "test.yaml" + + url = "https://github.com/test/repo" + ref = "main" + domain = "test" + repo_dir = _compute_repo_dir(url, ref, domain) + + # Use helper to set up old repo + _setup_old_repo(repo_dir) + + # Mock git command to fail on clone (simulating network failure during recovery) + def git_command_side_effect( + cmd: list[str], cwd: str | None = None, **kwargs: Any + ) -> str: + cmd_type = _get_git_command_type(cmd) + if cmd_type == "rev-parse": + # First time fails (broken repo) + raise GitCommandError( + "ambiguous argument 'HEAD': unknown revision or path not in the working tree." + ) + if cmd_type == "clone": + # Clone also fails (recovery fails) + raise GitCommandError("fatal: unable to access repository") + return "" + + mock_run_git_command.side_effect = git_command_side_effect + + refresh = TimePeriodSeconds(days=1) + + # Should raise after one recovery attempt fails + with pytest.raises(GitCommandError, match="fatal: unable to access repository"): + git.clone_or_update( + url=url, + ref=ref, + refresh=refresh, + domain=domain, + ) + + # Verify we only tried to clone once (no infinite recursion) + call_list = mock_run_git_command.call_args_list + clone_calls = [c for c in call_list if "clone" in c[0][0]] + # Should have exactly one clone call (the recovery attempt that failed) + assert len(clone_calls) == 1 + # Should have tried rev-parse once (which failed and triggered recovery) + rev_parse_calls = [c for c in call_list if "rev-parse" in c[0][0]] + assert len(rev_parse_calls) == 1 + + +def test_clone_or_update_recover_broken_flag_prevents_second_recovery( + tmp_path: Path, mock_run_git_command: Mock +) -> None: + """Test that _recover_broken=False prevents a second recovery attempt (tests the raise path).""" + # Set up CORE.config_path so data_dir uses tmp_path + CORE.config_path = tmp_path / "test.yaml" + + url = "https://github.com/test/repo" + ref = "main" + domain = "test" + repo_dir = _compute_repo_dir(url, ref, domain) + + # Use helper to set up old repo + _setup_old_repo(repo_dir) + + # Track fetch calls to differentiate between first (in clone) and second (in recovery update) + call_counts: dict[str, int] = {} + + # Mock git command to fail on fetch during recovery's ref checkout + def git_command_side_effect( + cmd: list[str], cwd: str | None = None, **kwargs: Any + ) -> str: + cmd_type = _get_git_command_type(cmd) + + if cmd_type: + call_counts[cmd_type] = call_counts.get(cmd_type, 0) + 1 + + # First attempt: rev-parse fails (broken repo) + if cmd_type == "rev-parse" and call_counts[cmd_type] == 1: + raise GitCommandError( + "ambiguous argument 'HEAD': unknown revision or path not in the working tree." + ) + + # Recovery: clone succeeds + if cmd_type == "clone": + return "" + + # Recovery: fetch for ref checkout fails + # This happens in the clone path when ref is not None (line 80 in git.py) + if cmd_type == "fetch" and call_counts[cmd_type] == 1: + raise GitCommandError("fatal: couldn't find remote ref main") + + # Default success + return "abc123" if cmd_type == "rev-parse" else "" + + mock_run_git_command.side_effect = git_command_side_effect + + refresh = TimePeriodSeconds(days=1) + + # Should raise on the fetch during recovery (when _recover_broken=False) + # This tests the critical "if not _recover_broken: raise" path + with pytest.raises(GitCommandError, match="fatal: couldn't find remote ref main"): + git.clone_or_update( + url=url, + ref=ref, + refresh=refresh, + domain=domain, + ) + + # Verify the sequence of events + call_list = mock_run_git_command.call_args_list + + # Should have: rev-parse (fail, triggers recovery), clone (success), + # fetch (fail during ref checkout, raises because _recover_broken=False) + rev_parse_calls = [c for c in call_list if "rev-parse" in c[0][0]] + # Should have exactly one rev-parse call that failed + assert len(rev_parse_calls) == 1 + + clone_calls = [c for c in call_list if "clone" in c[0][0]] + # Should have exactly one clone call (the recovery attempt) + assert len(clone_calls) == 1 + + fetch_calls = [c for c in call_list if "fetch" in c[0][0]] + # Should have exactly one fetch call that failed (during ref checkout in recovery) + assert len(fetch_calls) == 1 + + +def test_clone_or_update_recover_broken_flag_prevents_infinite_loop( + tmp_path: Path, mock_run_git_command: Mock +) -> None: + """Test that _recover_broken=False prevents infinite recursion when repo persists.""" + # This tests the critical "if not _recover_broken: raise" path at line 124-125 + # Set up CORE.config_path so data_dir uses tmp_path + CORE.config_path = tmp_path / "test.yaml" + + url = "https://github.com/test/repo" + ref = "main" + domain = "test" + repo_dir = _compute_repo_dir(url, ref, domain) + + # Use helper to set up old repo + _setup_old_repo(repo_dir) + + # Mock shutil.rmtree to NOT actually delete the directory + # This simulates a scenario where deletion fails (permissions, etc.) + import unittest.mock + + def mock_rmtree(path, *args, **kwargs): + # Don't actually delete - this causes the recursive call to still see the repo + pass + + # Mock git commands to always fail on stash + def git_command_side_effect( + cmd: list[str], cwd: str | None = None, **kwargs: Any + ) -> str: + cmd_type = _get_git_command_type(cmd) + if cmd_type == "rev-parse": + return "abc123" + if cmd_type == "stash": + # Always fails + raise GitCommandError("fatal: unable to write new index file") + return "" + + mock_run_git_command.side_effect = git_command_side_effect + + refresh = TimePeriodSeconds(days=1) + + # Mock shutil.rmtree and test + # Should raise on the second attempt when _recover_broken=False + # This hits the "if not _recover_broken: raise" path + with ( + unittest.mock.patch("esphome.git.shutil.rmtree", side_effect=mock_rmtree), + pytest.raises(GitCommandError, match="fatal: unable to write new index file"), + ): + git.clone_or_update( + url=url, + ref=ref, + refresh=refresh, + domain=domain, + ) + + # Verify the sequence: stash fails twice (once triggering recovery, once raising) + call_list = mock_run_git_command.call_args_list + stash_calls = [c for c in call_list if "stash" in c[0][0]] + # Should have exactly two stash calls + assert len(stash_calls) == 2 From 236ca12d3e98c62fbb6694f6b20047ddb814554e Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Wed, 15 Oct 2025 21:59:55 -0500 Subject: [PATCH 141/201] [api, climate, thermostat] Implement feature_flags for `climate` (#10987) Co-authored-by: J. Nick Koston --- esphome/components/api/api.proto | 11 ++- esphome/components/api/api_connection.cpp | 19 ++-- esphome/components/api/api_pb2.cpp | 2 + esphome/components/api/api_pb2.h | 3 +- esphome/components/api/api_pb2_dump.cpp | 1 + esphome/components/climate/climate.cpp | 48 +++++---- esphome/components/climate/climate_mode.h | 15 +++ esphome/components/climate/climate_traits.h | 99 +++++++++++++------ .../thermostat/thermostat_climate.cpp | 12 ++- 9 files changed, 142 insertions(+), 68 deletions(-) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index c7d8fb28f0..30e3cfa056 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -987,8 +987,8 @@ message ListEntitiesClimateResponse { string name = 3; reserved 4; // Deprecated: was string unique_id - bool supports_current_temperature = 5; - bool supports_two_point_target_temperature = 6; + bool supports_current_temperature = 5; // Deprecated: use feature_flags + bool supports_two_point_target_temperature = 6; // Deprecated: use feature_flags repeated ClimateMode supported_modes = 7 [(container_pointer) = "std::set"]; float visual_min_temperature = 8; float visual_max_temperature = 9; @@ -997,7 +997,7 @@ message ListEntitiesClimateResponse { // is if CLIMATE_PRESET_AWAY exists is supported_presets // Deprecated in API version 1.5 bool legacy_supports_away = 11 [deprecated=true]; - bool supports_action = 12; + bool supports_action = 12; // Deprecated: use feature_flags repeated ClimateFanMode supported_fan_modes = 13 [(container_pointer) = "std::set"]; repeated ClimateSwingMode supported_swing_modes = 14 [(container_pointer) = "std::set"]; repeated string supported_custom_fan_modes = 15 [(container_pointer) = "std::set"]; @@ -1007,11 +1007,12 @@ message ListEntitiesClimateResponse { string icon = 19 [(field_ifdef) = "USE_ENTITY_ICON"]; EntityCategory entity_category = 20; float visual_current_temperature_step = 21; - bool supports_current_humidity = 22; - bool supports_target_humidity = 23; + bool supports_current_humidity = 22; // Deprecated: use feature_flags + bool supports_target_humidity = 23; // Deprecated: use feature_flags float visual_min_humidity = 24; float visual_max_humidity = 25; uint32 device_id = 26 [(field_ifdef) = "USE_DEVICES"]; + uint32 feature_flags = 27; } message ClimateStateResponse { option (id) = 47; diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index ae03dfbb33..1f3456a205 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -27,6 +27,9 @@ #ifdef USE_BLUETOOTH_PROXY #include "esphome/components/bluetooth_proxy/bluetooth_proxy.h" #endif +#ifdef USE_CLIMATE +#include "esphome/components/climate/climate_mode.h" +#endif #ifdef USE_VOICE_ASSISTANT #include "esphome/components/voice_assistant/voice_assistant.h" #endif @@ -623,9 +626,10 @@ uint16_t APIConnection::try_send_climate_state(EntityBase *entity, APIConnection auto traits = climate->get_traits(); resp.mode = static_cast(climate->mode); resp.action = static_cast(climate->action); - if (traits.get_supports_current_temperature()) + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) resp.current_temperature = climate->current_temperature; - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { resp.target_temperature_low = climate->target_temperature_low; resp.target_temperature_high = climate->target_temperature_high; } else { @@ -644,9 +648,9 @@ uint16_t APIConnection::try_send_climate_state(EntityBase *entity, APIConnection } if (traits.get_supports_swing_modes()) resp.swing_mode = static_cast(climate->swing_mode); - if (traits.get_supports_current_humidity()) + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)) resp.current_humidity = climate->current_humidity; - if (traits.get_supports_target_humidity()) + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) resp.target_humidity = climate->target_humidity; return fill_and_encode_entity_state(climate, resp, ClimateStateResponse::MESSAGE_TYPE, conn, remaining_size, is_single); @@ -656,10 +660,14 @@ uint16_t APIConnection::try_send_climate_info(EntityBase *entity, APIConnection auto *climate = static_cast(entity); ListEntitiesClimateResponse msg; auto traits = climate->get_traits(); + // Flags set for backward compatibility, deprecated in 2025.11.0 msg.supports_current_temperature = traits.get_supports_current_temperature(); msg.supports_current_humidity = traits.get_supports_current_humidity(); msg.supports_two_point_target_temperature = traits.get_supports_two_point_target_temperature(); msg.supports_target_humidity = traits.get_supports_target_humidity(); + msg.supports_action = traits.get_supports_action(); + // Current feature flags and other supported parameters + msg.feature_flags = traits.get_feature_flags(); msg.supported_modes = &traits.get_supported_modes_for_api_(); msg.visual_min_temperature = traits.get_visual_min_temperature(); msg.visual_max_temperature = traits.get_visual_max_temperature(); @@ -667,7 +675,6 @@ uint16_t APIConnection::try_send_climate_info(EntityBase *entity, APIConnection msg.visual_current_temperature_step = traits.get_visual_current_temperature_step(); msg.visual_min_humidity = traits.get_visual_min_humidity(); msg.visual_max_humidity = traits.get_visual_max_humidity(); - msg.supports_action = traits.get_supports_action(); msg.supported_fan_modes = &traits.get_supported_fan_modes_for_api_(); msg.supported_custom_fan_modes = &traits.get_supported_custom_fan_modes_for_api_(); msg.supported_presets = &traits.get_supported_presets_for_api_(); @@ -1406,7 +1413,7 @@ bool APIConnection::send_hello_response(const HelloRequest &msg) { HelloResponse resp; resp.api_version_major = 1; - resp.api_version_minor = 12; + resp.api_version_minor = 13; // Send only the version string - the client only logs this for debugging and doesn't use it otherwise resp.set_server_info(ESPHOME_VERSION_REF); resp.set_name(StringRef(App.get_name())); diff --git a/esphome/components/api/api_pb2.cpp b/esphome/components/api/api_pb2.cpp index 70bcf082a6..ee25d4c02d 100644 --- a/esphome/components/api/api_pb2.cpp +++ b/esphome/components/api/api_pb2.cpp @@ -1185,6 +1185,7 @@ void ListEntitiesClimateResponse::encode(ProtoWriteBuffer buffer) const { #ifdef USE_DEVICES buffer.encode_uint32(26, this->device_id); #endif + buffer.encode_uint32(27, this->feature_flags); } void ListEntitiesClimateResponse::calculate_size(ProtoSize &size) const { size.add_length(1, this->object_id_ref_.size()); @@ -1239,6 +1240,7 @@ void ListEntitiesClimateResponse::calculate_size(ProtoSize &size) const { #ifdef USE_DEVICES size.add_uint32(2, this->device_id); #endif + size.add_uint32(2, this->feature_flags); } void ClimateStateResponse::encode(ProtoWriteBuffer buffer) const { buffer.encode_fixed32(1, this->key); diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index 20866850a9..fca3f546b5 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -1369,7 +1369,7 @@ class CameraImageRequest final : public ProtoDecodableMessage { class ListEntitiesClimateResponse final : public InfoResponseProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 46; - static constexpr uint8_t ESTIMATED_SIZE = 145; + static constexpr uint8_t ESTIMATED_SIZE = 150; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "list_entities_climate_response"; } #endif @@ -1390,6 +1390,7 @@ class ListEntitiesClimateResponse final : public InfoResponseProtoMessage { bool supports_target_humidity{false}; float visual_min_humidity{0.0f}; float visual_max_humidity{0.0f}; + uint32_t feature_flags{0}; void encode(ProtoWriteBuffer buffer) const override; void calculate_size(ProtoSize &size) const override; #ifdef HAS_PROTO_MESSAGE_DUMP diff --git a/esphome/components/api/api_pb2_dump.cpp b/esphome/components/api/api_pb2_dump.cpp index cf732e451b..e803125f53 100644 --- a/esphome/components/api/api_pb2_dump.cpp +++ b/esphome/components/api/api_pb2_dump.cpp @@ -1292,6 +1292,7 @@ void ListEntitiesClimateResponse::dump_to(std::string &out) const { #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); #endif + dump_field(out, "feature_flags", this->feature_flags); } void ClimateStateResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "ClimateStateResponse"); diff --git a/esphome/components/climate/climate.cpp b/esphome/components/climate/climate.cpp index e7a454d459..f3c93ed44e 100644 --- a/esphome/components/climate/climate.cpp +++ b/esphome/components/climate/climate.cpp @@ -96,7 +96,8 @@ void ClimateCall::validate_() { } if (this->target_temperature_.has_value()) { auto target = *this->target_temperature_; - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { ESP_LOGW(TAG, " Cannot set target temperature for climate device " "with two-point target temperature!"); this->target_temperature_.reset(); @@ -106,7 +107,8 @@ void ClimateCall::validate_() { } } if (this->target_temperature_low_.has_value() || this->target_temperature_high_.has_value()) { - if (!traits.get_supports_two_point_target_temperature()) { + if (!traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { ESP_LOGW(TAG, " Cannot set low/high target temperature for this device!"); this->target_temperature_low_.reset(); this->target_temperature_high_.reset(); @@ -350,13 +352,14 @@ void Climate::save_state_() { state.mode = this->mode; auto traits = this->get_traits(); - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { state.target_temperature_low = this->target_temperature_low; state.target_temperature_high = this->target_temperature_high; } else { state.target_temperature = this->target_temperature; } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { state.target_humidity = this->target_humidity; } if (traits.get_supports_fan_modes() && fan_mode.has_value()) { @@ -400,7 +403,7 @@ void Climate::publish_state() { auto traits = this->get_traits(); ESP_LOGD(TAG, " Mode: %s", LOG_STR_ARG(climate_mode_to_string(this->mode))); - if (traits.get_supports_action()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION)) { ESP_LOGD(TAG, " Action: %s", LOG_STR_ARG(climate_action_to_string(this->action))); } if (traits.get_supports_fan_modes() && this->fan_mode.has_value()) { @@ -418,19 +421,20 @@ void Climate::publish_state() { if (traits.get_supports_swing_modes()) { ESP_LOGD(TAG, " Swing Mode: %s", LOG_STR_ARG(climate_swing_mode_to_string(this->swing_mode))); } - if (traits.get_supports_current_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) { ESP_LOGD(TAG, " Current Temperature: %.2f°C", this->current_temperature); } - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { ESP_LOGD(TAG, " Target Temperature: Low: %.2f°C High: %.2f°C", this->target_temperature_low, this->target_temperature_high); } else { ESP_LOGD(TAG, " Target Temperature: %.2f°C", this->target_temperature); } - if (traits.get_supports_current_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)) { ESP_LOGD(TAG, " Current Humidity: %.0f%%", this->current_humidity); } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { ESP_LOGD(TAG, " Target Humidity: %.0f%%", this->target_humidity); } @@ -485,13 +489,14 @@ ClimateCall ClimateDeviceRestoreState::to_call(Climate *climate) { auto call = climate->make_call(); auto traits = climate->get_traits(); call.set_mode(this->mode); - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { call.set_target_temperature_low(this->target_temperature_low); call.set_target_temperature_high(this->target_temperature_high); } else { call.set_target_temperature(this->target_temperature); } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { call.set_target_humidity(this->target_humidity); } if (traits.get_supports_fan_modes() || !traits.get_supported_custom_fan_modes().empty()) { @@ -508,13 +513,14 @@ ClimateCall ClimateDeviceRestoreState::to_call(Climate *climate) { void ClimateDeviceRestoreState::apply(Climate *climate) { auto traits = climate->get_traits(); climate->mode = this->mode; - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { climate->target_temperature_low = this->target_temperature_low; climate->target_temperature_high = this->target_temperature_high; } else { climate->target_temperature = this->target_temperature; } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { climate->target_humidity = this->target_humidity; } if (traits.get_supports_fan_modes() && !this->uses_custom_fan_mode) { @@ -580,28 +586,30 @@ void Climate::dump_traits_(const char *tag) { " Target: %.1f", traits.get_visual_min_temperature(), traits.get_visual_max_temperature(), traits.get_visual_target_temperature_step()); - if (traits.get_supports_current_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) { ESP_LOGCONFIG(tag, " Current: %.1f", traits.get_visual_current_temperature_step()); } - if (traits.get_supports_target_humidity() || traits.get_supports_current_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY | + climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)) { ESP_LOGCONFIG(tag, " - Min humidity: %.0f\n" " - Max humidity: %.0f", traits.get_visual_min_humidity(), traits.get_visual_max_humidity()); } - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { ESP_LOGCONFIG(tag, " [x] Supports two-point target temperature"); } - if (traits.get_supports_current_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) { ESP_LOGCONFIG(tag, " [x] Supports current temperature"); } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { ESP_LOGCONFIG(tag, " [x] Supports target humidity"); } - if (traits.get_supports_current_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)) { ESP_LOGCONFIG(tag, " [x] Supports current humidity"); } - if (traits.get_supports_action()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION)) { ESP_LOGCONFIG(tag, " [x] Supports action"); } if (!traits.get_supported_modes().empty()) { diff --git a/esphome/components/climate/climate_mode.h b/esphome/components/climate/climate_mode.h index 80efb4c048..faec5d2537 100644 --- a/esphome/components/climate/climate_mode.h +++ b/esphome/components/climate/climate_mode.h @@ -98,6 +98,21 @@ enum ClimatePreset : uint8_t { CLIMATE_PRESET_ACTIVITY = 7, }; +enum ClimateFeature : uint32_t { + // Reporting current temperature is supported + CLIMATE_SUPPORTS_CURRENT_TEMPERATURE = 1 << 0, + // Setting two target temperatures is supported (used in conjunction with CLIMATE_MODE_HEAT_COOL) + CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE = 1 << 1, + // Single-point mode is NOT supported (UI always displays two handles, setting 'target_temperature' is not supported) + CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE = 1 << 2, + // Reporting current humidity is supported + CLIMATE_SUPPORTS_CURRENT_HUMIDITY = 1 << 3, + // Setting a target humidity is supported + CLIMATE_SUPPORTS_TARGET_HUMIDITY = 1 << 4, + // Reporting current climate action is supported + CLIMATE_SUPPORTS_ACTION = 1 << 5, +}; + /// Convert the given ClimateMode to a human-readable string. const LogString *climate_mode_to_string(ClimateMode mode); diff --git a/esphome/components/climate/climate_traits.h b/esphome/components/climate/climate_traits.h index 8bd4714753..50c1e79ad2 100644 --- a/esphome/components/climate/climate_traits.h +++ b/esphome/components/climate/climate_traits.h @@ -21,48 +21,92 @@ namespace climate { * - Target Temperature * * All other properties and modes are optional and the integration must mark - * each of them as supported by setting the appropriate flag here. + * each of them as supported by setting the appropriate flag(s) here. * - * - supports current temperature - if the climate device supports reporting a current temperature - * - supports two point target temperature - if the climate device's target temperature should be - * split in target_temperature_low and target_temperature_high instead of just the single target_temperature + * - feature flags: see ClimateFeatures enum in climate_mode.h * - supports modes: * - auto mode (automatic control) * - cool mode (lowers current temperature) * - heat mode (increases current temperature) * - dry mode (removes humidity from air) * - fan mode (only turns on fan) - * - supports action - if the climate device supports reporting the active - * current action of the device with the action property. * - supports fan modes - optionally, if it has a fan which can be configured in different ways: * - on, off, auto, high, medium, low, middle, focus, diffuse, quiet * - supports swing modes - optionally, if it has a swing which can be configured in different ways: * - off, both, vertical, horizontal * * This class also contains static data for the climate device display: - * - visual min/max temperature - tells the frontend what range of temperatures the climate device - * should display (gauge min/max values) + * - visual min/max temperature/humidity - tells the frontend what range of temperature/humidity the + * climate device should display (gauge min/max values) * - temperature step - the step with which to increase/decrease target temperature. * This also affects with how many decimal places the temperature is shown */ class ClimateTraits { public: - bool get_supports_current_temperature() const { return this->supports_current_temperature_; } + /// Get/set feature flags (see ClimateFeatures enum in climate_mode.h) + uint32_t get_feature_flags() const { return this->feature_flags_; } + void add_feature_flags(uint32_t feature_flags) { this->feature_flags_ |= feature_flags; } + void clear_feature_flags(uint32_t feature_flags) { this->feature_flags_ &= ~feature_flags; } + bool has_feature_flags(uint32_t feature_flags) const { return this->feature_flags_ & feature_flags; } + void set_feature_flags(uint32_t feature_flags) { this->feature_flags_ = feature_flags; } + + ESPDEPRECATED("This method is deprecated, use get_feature_flags() instead", "2025.11.0") + bool get_supports_current_temperature() const { + return this->has_feature_flags(CLIMATE_SUPPORTS_CURRENT_TEMPERATURE); + } + ESPDEPRECATED("This method is deprecated, use add_feature_flags() instead", "2025.11.0") void set_supports_current_temperature(bool supports_current_temperature) { - this->supports_current_temperature_ = supports_current_temperature; + if (supports_current_temperature) { + this->add_feature_flags(CLIMATE_SUPPORTS_CURRENT_TEMPERATURE); + } else { + this->clear_feature_flags(CLIMATE_SUPPORTS_CURRENT_TEMPERATURE); + } } - bool get_supports_current_humidity() const { return this->supports_current_humidity_; } + ESPDEPRECATED("This method is deprecated, use get_feature_flags() instead", "2025.11.0") + bool get_supports_current_humidity() const { return this->has_feature_flags(CLIMATE_SUPPORTS_CURRENT_HUMIDITY); } + ESPDEPRECATED("This method is deprecated, use add_feature_flags() instead", "2025.11.0") void set_supports_current_humidity(bool supports_current_humidity) { - this->supports_current_humidity_ = supports_current_humidity; + if (supports_current_humidity) { + this->add_feature_flags(CLIMATE_SUPPORTS_CURRENT_HUMIDITY); + } else { + this->clear_feature_flags(CLIMATE_SUPPORTS_CURRENT_HUMIDITY); + } } - bool get_supports_two_point_target_temperature() const { return this->supports_two_point_target_temperature_; } + ESPDEPRECATED("This method is deprecated, use get_feature_flags() instead", "2025.11.0") + bool get_supports_two_point_target_temperature() const { + return this->has_feature_flags(CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE); + } + ESPDEPRECATED("This method is deprecated, use add_feature_flags() instead", "2025.11.0") void set_supports_two_point_target_temperature(bool supports_two_point_target_temperature) { - this->supports_two_point_target_temperature_ = supports_two_point_target_temperature; + if (supports_two_point_target_temperature) + // Use CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE to mimic previous behavior + { + this->add_feature_flags(CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE); + } else { + this->clear_feature_flags(CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE); + } } - bool get_supports_target_humidity() const { return this->supports_target_humidity_; } + ESPDEPRECATED("This method is deprecated, use get_feature_flags() instead", "2025.11.0") + bool get_supports_target_humidity() const { return this->has_feature_flags(CLIMATE_SUPPORTS_TARGET_HUMIDITY); } + ESPDEPRECATED("This method is deprecated, use add_feature_flags() instead", "2025.11.0") void set_supports_target_humidity(bool supports_target_humidity) { - this->supports_target_humidity_ = supports_target_humidity; + if (supports_target_humidity) { + this->add_feature_flags(CLIMATE_SUPPORTS_TARGET_HUMIDITY); + } else { + this->clear_feature_flags(CLIMATE_SUPPORTS_TARGET_HUMIDITY); + } } + ESPDEPRECATED("This method is deprecated, use get_feature_flags() instead", "2025.11.0") + bool get_supports_action() const { return this->has_feature_flags(CLIMATE_SUPPORTS_ACTION); } + ESPDEPRECATED("This method is deprecated, use add_feature_flags() instead", "2025.11.0") + void set_supports_action(bool supports_action) { + if (supports_action) { + this->add_feature_flags(CLIMATE_SUPPORTS_ACTION); + } else { + this->clear_feature_flags(CLIMATE_SUPPORTS_ACTION); + } + } + void set_supported_modes(std::set modes) { this->supported_modes_ = std::move(modes); } void add_supported_mode(ClimateMode mode) { this->supported_modes_.insert(mode); } ESPDEPRECATED("This method is deprecated, use set_supported_modes() instead", "v1.20") @@ -82,9 +126,6 @@ class ClimateTraits { bool supports_mode(ClimateMode mode) const { return this->supported_modes_.count(mode); } const std::set &get_supported_modes() const { return this->supported_modes_; } - void set_supports_action(bool supports_action) { this->supports_action_ = supports_action; } - bool get_supports_action() const { return this->supports_action_; } - void set_supported_fan_modes(std::set modes) { this->supported_fan_modes_ = std::move(modes); } void add_supported_fan_mode(ClimateFanMode mode) { this->supported_fan_modes_.insert(mode); } void add_supported_custom_fan_mode(const std::string &mode) { this->supported_custom_fan_modes_.insert(mode); } @@ -219,24 +260,20 @@ class ClimateTraits { } } - bool supports_current_temperature_{false}; - bool supports_current_humidity_{false}; - bool supports_two_point_target_temperature_{false}; - bool supports_target_humidity_{false}; - std::set supported_modes_ = {climate::CLIMATE_MODE_OFF}; - bool supports_action_{false}; - std::set supported_fan_modes_; - std::set supported_swing_modes_; - std::set supported_presets_; - std::set supported_custom_fan_modes_; - std::set supported_custom_presets_; - + uint32_t feature_flags_{0}; float visual_min_temperature_{10}; float visual_max_temperature_{30}; float visual_target_temperature_step_{0.1}; float visual_current_temperature_step_{0.1}; float visual_min_humidity_{30}; float visual_max_humidity_{99}; + + std::set supported_modes_ = {climate::CLIMATE_MODE_OFF}; + std::set supported_fan_modes_; + std::set supported_swing_modes_; + std::set supported_presets_; + std::set supported_custom_fan_modes_; + std::set supported_custom_presets_; }; } // namespace climate diff --git a/esphome/components/thermostat/thermostat_climate.cpp b/esphome/components/thermostat/thermostat_climate.cpp index e2db3ca5e1..784b3cfb50 100644 --- a/esphome/components/thermostat/thermostat_climate.cpp +++ b/esphome/components/thermostat/thermostat_climate.cpp @@ -241,9 +241,14 @@ void ThermostatClimate::control(const climate::ClimateCall &call) { climate::ClimateTraits ThermostatClimate::traits() { auto traits = climate::ClimateTraits(); - traits.set_supports_current_temperature(true); + + traits.add_feature_flags(climate::CLIMATE_SUPPORTS_ACTION | climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE); + + if (this->supports_two_points_) + traits.add_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE); + if (this->humidity_sensor_ != nullptr) - traits.set_supports_current_humidity(true); + traits.add_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY); if (this->supports_auto_) traits.add_supported_mode(climate::CLIMATE_MODE_AUTO); @@ -294,9 +299,6 @@ climate::ClimateTraits ThermostatClimate::traits() { for (auto &it : this->custom_preset_config_) { traits.add_supported_custom_preset(it.first); } - - traits.set_supports_two_point_target_temperature(this->supports_two_points_); - traits.set_supports_action(true); return traits; } From 3e1c8f37c562399640abd6206a0ac8cdbea3f4e0 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:16:28 -1000 Subject: [PATCH 142/201] [i2s_audio] Refactor to use CORE.data instead of module-level globals (#11223) --- esphome/components/i2s_audio/__init__.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/esphome/components/i2s_audio/__init__.py b/esphome/components/i2s_audio/__init__.py index 8ceff26d84..907429ee0e 100644 --- a/esphome/components/i2s_audio/__init__.py +++ b/esphome/components/i2s_audio/__init__.py @@ -143,7 +143,18 @@ def validate_mclk_divisible_by_3(config): return config -_use_legacy_driver = None +# Key for storing legacy driver setting in CORE.data +I2S_USE_LEGACY_DRIVER_KEY = "i2s_use_legacy_driver" + + +def _get_use_legacy_driver(): + """Get the legacy driver setting from CORE.data.""" + return CORE.data.get(I2S_USE_LEGACY_DRIVER_KEY) + + +def _set_use_legacy_driver(value: bool) -> None: + """Set the legacy driver setting in CORE.data.""" + CORE.data[I2S_USE_LEGACY_DRIVER_KEY] = value def i2s_audio_component_schema( @@ -209,17 +220,15 @@ async def register_i2s_audio_component(var, config): def validate_use_legacy(value): - global _use_legacy_driver # noqa: PLW0603 if CONF_USE_LEGACY in value: - if (_use_legacy_driver is not None) and ( - _use_legacy_driver != value[CONF_USE_LEGACY] - ): + existing_value = _get_use_legacy_driver() + if (existing_value is not None) and (existing_value != value[CONF_USE_LEGACY]): raise cv.Invalid( f"All i2s_audio components must set {CONF_USE_LEGACY} to the same value." ) if (not value[CONF_USE_LEGACY]) and (CORE.using_arduino): raise cv.Invalid("Arduino supports only the legacy i2s driver") - _use_legacy_driver = value[CONF_USE_LEGACY] + _set_use_legacy_driver(value[CONF_USE_LEGACY]) return value @@ -249,7 +258,8 @@ def _final_validate(_): def use_legacy(): - return not (CORE.using_esp_idf and not _use_legacy_driver) + legacy_driver = _get_use_legacy_driver() + return not (CORE.using_esp_idf and not legacy_driver) FINAL_VALIDATE_SCHEMA = _final_validate From 2b0b82b2fb66b1aefdf495f22c5c0ef92c53c28e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:17:16 -1000 Subject: [PATCH 143/201] [esp32_ble] Refactor to use CORE.data instead of module-level globals (#11222) --- esphome/components/esp32_ble/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/esphome/components/esp32_ble/__init__.py b/esphome/components/esp32_ble/__init__.py index 246ebf0729..411c2add71 100644 --- a/esphome/components/esp32_ble/__init__.py +++ b/esphome/components/esp32_ble/__init__.py @@ -108,8 +108,13 @@ class BTLoggers(Enum): """ESP32 WiFi provisioning over Bluetooth""" -# Set to track which loggers are needed by components -_required_loggers: set[BTLoggers] = set() +# Key for storing required loggers in CORE.data +ESP32_BLE_REQUIRED_LOGGERS_KEY = "esp32_ble_required_loggers" + + +def _get_required_loggers() -> set[BTLoggers]: + """Get the set of required Bluetooth loggers from CORE.data.""" + return CORE.data.setdefault(ESP32_BLE_REQUIRED_LOGGERS_KEY, set()) # Dataclass for handler registration counts @@ -170,12 +175,13 @@ def register_bt_logger(*loggers: BTLoggers) -> None: Args: *loggers: One or more BTLoggers enum members """ + required_loggers = _get_required_loggers() for logger in loggers: if not isinstance(logger, BTLoggers): raise TypeError( f"Logger must be a BTLoggers enum member, got {type(logger)}" ) - _required_loggers.add(logger) + required_loggers.add(logger) CONF_BLE_ID = "ble_id" @@ -488,8 +494,9 @@ async def to_code(config): # Apply logger settings if log disabling is enabled if config.get(CONF_DISABLE_BT_LOGS, False): # Disable all Bluetooth loggers that are not required + required_loggers = _get_required_loggers() for logger in BTLoggers: - if logger not in _required_loggers: + if logger not in required_loggers: add_idf_sdkconfig_option(f"{logger.value}_NONE", True) # Set BLE connection establishment timeout to match aioesphomeapi/bleak-retry-connector From 18062d154f236fdc714f4a94d4bde3df068a2ccc Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:18:30 -1000 Subject: [PATCH 144/201] [esp32_ble_tracker] Refactor to use CORE.data instead of module-level globals (#11220) --- .../components/esp32_ble_tracker/__init__.py | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/esphome/components/esp32_ble_tracker/__init__.py b/esphome/components/esp32_ble_tracker/__init__.py index 5910be67af..4e25434aad 100644 --- a/esphome/components/esp32_ble_tracker/__init__.py +++ b/esphome/components/esp32_ble_tracker/__init__.py @@ -60,11 +60,21 @@ class RegistrationCounts: clients: int = 0 -# Set to track which features are needed by components -_required_features: set[BLEFeatures] = set() +# CORE.data keys for state management +ESP32_BLE_TRACKER_REQUIRED_FEATURES_KEY = "esp32_ble_tracker_required_features" +ESP32_BLE_TRACKER_REGISTRATION_COUNTS_KEY = "esp32_ble_tracker_registration_counts" -# Track registration counts for StaticVector sizing -_registration_counts = RegistrationCounts() + +def _get_required_features() -> set[BLEFeatures]: + """Get the set of required BLE features from CORE.data.""" + return CORE.data.setdefault(ESP32_BLE_TRACKER_REQUIRED_FEATURES_KEY, set()) + + +def _get_registration_counts() -> RegistrationCounts: + """Get the registration counts from CORE.data.""" + return CORE.data.setdefault( + ESP32_BLE_TRACKER_REGISTRATION_COUNTS_KEY, RegistrationCounts() + ) def register_ble_features(features: set[BLEFeatures]) -> None: @@ -73,7 +83,7 @@ def register_ble_features(features: set[BLEFeatures]) -> None: Args: features: Set of BLEFeatures enum members """ - _required_features.update(features) + _get_required_features().update(features) esp32_ble_tracker_ns = cg.esphome_ns.namespace("esp32_ble_tracker") @@ -267,15 +277,17 @@ async def to_code(config): ): register_ble_features({BLEFeatures.ESP_BT_DEVICE}) + registration_counts = _get_registration_counts() + for conf in config.get(CONF_ON_BLE_ADVERTISE, []): - _registration_counts.listeners += 1 + registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) if CONF_MAC_ADDRESS in conf: addr_list = [it.as_hex for it in conf[CONF_MAC_ADDRESS]] cg.add(trigger.set_addresses(addr_list)) await automation.build_automation(trigger, [(ESPBTDeviceConstRef, "x")], conf) for conf in config.get(CONF_ON_BLE_SERVICE_DATA_ADVERTISE, []): - _registration_counts.listeners += 1 + registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) if len(conf[CONF_SERVICE_UUID]) == len(bt_uuid16_format): cg.add(trigger.set_service_uuid16(as_hex(conf[CONF_SERVICE_UUID]))) @@ -288,7 +300,7 @@ async def to_code(config): cg.add(trigger.set_address(conf[CONF_MAC_ADDRESS].as_hex)) await automation.build_automation(trigger, [(adv_data_t_const_ref, "x")], conf) for conf in config.get(CONF_ON_BLE_MANUFACTURER_DATA_ADVERTISE, []): - _registration_counts.listeners += 1 + registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) if len(conf[CONF_MANUFACTURER_ID]) == len(bt_uuid16_format): cg.add(trigger.set_manufacturer_uuid16(as_hex(conf[CONF_MANUFACTURER_ID]))) @@ -301,7 +313,7 @@ async def to_code(config): cg.add(trigger.set_address(conf[CONF_MAC_ADDRESS].as_hex)) await automation.build_automation(trigger, [(adv_data_t_const_ref, "x")], conf) for conf in config.get(CONF_ON_SCAN_END, []): - _registration_counts.listeners += 1 + registration_counts.listeners += 1 trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) await automation.build_automation(trigger, [], conf) @@ -331,19 +343,21 @@ async def to_code(config): @coroutine_with_priority(CoroPriority.FINAL) async def _add_ble_features(): # Add feature-specific defines based on what's needed - if BLEFeatures.ESP_BT_DEVICE in _required_features: + required_features = _get_required_features() + if BLEFeatures.ESP_BT_DEVICE in required_features: cg.add_define("USE_ESP32_BLE_DEVICE") cg.add_define("USE_ESP32_BLE_UUID") # Add defines for StaticVector sizing based on registration counts # Only define if count > 0 to avoid allocating unnecessary memory - if _registration_counts.listeners > 0: + registration_counts = _get_registration_counts() + if registration_counts.listeners > 0: cg.add_define( - "ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT", _registration_counts.listeners + "ESPHOME_ESP32_BLE_TRACKER_LISTENER_COUNT", registration_counts.listeners ) - if _registration_counts.clients > 0: + if registration_counts.clients > 0: cg.add_define( - "ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT", _registration_counts.clients + "ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT", registration_counts.clients ) @@ -395,7 +409,7 @@ async def register_ble_device( var: cg.SafeExpType, config: ConfigType ) -> cg.SafeExpType: register_ble_features({BLEFeatures.ESP_BT_DEVICE}) - _registration_counts.listeners += 1 + _get_registration_counts().listeners += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_listener(var)) return var @@ -403,7 +417,7 @@ async def register_ble_device( async def register_client(var: cg.SafeExpType, config: ConfigType) -> cg.SafeExpType: register_ble_features({BLEFeatures.ESP_BT_DEVICE}) - _registration_counts.clients += 1 + _get_registration_counts().clients += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_client(var)) return var @@ -417,7 +431,7 @@ async def register_raw_ble_device( This does NOT register the ESP_BT_DEVICE feature, meaning ESPBTDevice will not be compiled in if this is the only registration method used. """ - _registration_counts.listeners += 1 + _get_registration_counts().listeners += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_listener(var)) return var @@ -431,7 +445,7 @@ async def register_raw_client( This does NOT register the ESP_BT_DEVICE feature, meaning ESPBTDevice will not be compiled in if this is the only registration method used. """ - _registration_counts.clients += 1 + _get_registration_counts().clients += 1 paren = await cg.get_variable(config[CONF_ESP32_BLE_ID]) cg.add(paren.register_client(var)) return var From 6943b1d985adee3f94158b318ed166b8387bd9ff Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:22:08 -1000 Subject: [PATCH 145/201] [api] Use FixedVector for ExecuteServiceRequest/Argument arrays to eliminate reallocations (#11270) --- esphome/components/api/api.proto | 10 ++-- esphome/components/api/api_pb2.cpp | 16 ++++++ esphome/components/api/api_pb2.h | 12 ++-- esphome/components/api/proto.cpp | 71 ++++++++++++++++++++++-- esphome/components/api/proto.h | 24 +++++++- esphome/components/api/user_services.cpp | 8 +-- esphome/components/api/user_services.h | 2 +- script/api_protobuf/api_protobuf.py | 36 ++++++++++-- 8 files changed, 153 insertions(+), 26 deletions(-) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index 30e3cfa056..753adc3592 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -876,10 +876,10 @@ message ExecuteServiceArgument { string string_ = 4; // ESPHome 1.14 (api v1.3) make int a signed value sint32 int_ = 5; - repeated bool bool_array = 6 [packed=false]; - repeated sint32 int_array = 7 [packed=false]; - repeated float float_array = 8 [packed=false]; - repeated string string_array = 9; + repeated bool bool_array = 6 [packed=false, (fixed_vector) = true]; + repeated sint32 int_array = 7 [packed=false, (fixed_vector) = true]; + repeated float float_array = 8 [packed=false, (fixed_vector) = true]; + repeated string string_array = 9 [(fixed_vector) = true]; } message ExecuteServiceRequest { option (id) = 42; @@ -888,7 +888,7 @@ message ExecuteServiceRequest { option (ifdef) = "USE_API_SERVICES"; fixed32 key = 1; - repeated ExecuteServiceArgument args = 2; + repeated ExecuteServiceArgument args = 2 [(fixed_vector) = true]; } // ==================== CAMERA ==================== diff --git a/esphome/components/api/api_pb2.cpp b/esphome/components/api/api_pb2.cpp index ee25d4c02d..37bcf5d8a0 100644 --- a/esphome/components/api/api_pb2.cpp +++ b/esphome/components/api/api_pb2.cpp @@ -1064,6 +1064,17 @@ bool ExecuteServiceArgument::decode_32bit(uint32_t field_id, Proto32Bit value) { } return true; } +void ExecuteServiceArgument::decode(const uint8_t *buffer, size_t length) { + uint32_t count_bool_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 6); + this->bool_array.init(count_bool_array); + uint32_t count_int_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 7); + this->int_array.init(count_int_array); + uint32_t count_float_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 8); + this->float_array.init(count_float_array); + uint32_t count_string_array = ProtoDecodableMessage::count_repeated_field(buffer, length, 9); + this->string_array.init(count_string_array); + ProtoDecodableMessage::decode(buffer, length); +} bool ExecuteServiceRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 2: @@ -1085,6 +1096,11 @@ bool ExecuteServiceRequest::decode_32bit(uint32_t field_id, Proto32Bit value) { } return true; } +void ExecuteServiceRequest::decode(const uint8_t *buffer, size_t length) { + uint32_t count_args = ProtoDecodableMessage::count_repeated_field(buffer, length, 2); + this->args.init(count_args); + ProtoDecodableMessage::decode(buffer, length); +} #endif #ifdef USE_CAMERA void ListEntitiesCameraResponse::encode(ProtoWriteBuffer buffer) const { diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index fca3f546b5..5603204801 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -1279,10 +1279,11 @@ class ExecuteServiceArgument final : public ProtoDecodableMessage { float float_{0.0f}; std::string string_{}; int32_t int_{0}; - std::vector bool_array{}; - std::vector int_array{}; - std::vector float_array{}; - std::vector string_array{}; + FixedVector bool_array{}; + FixedVector int_array{}; + FixedVector float_array{}; + FixedVector string_array{}; + void decode(const uint8_t *buffer, size_t length) override; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -1300,7 +1301,8 @@ class ExecuteServiceRequest final : public ProtoDecodableMessage { const char *message_name() const override { return "execute_service_request"; } #endif uint32_t key{0}; - std::vector args{}; + FixedVector args{}; + void decode(const uint8_t *buffer, size_t length) override; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif diff --git a/esphome/components/api/proto.cpp b/esphome/components/api/proto.cpp index afda5d32ba..4f0d0846d7 100644 --- a/esphome/components/api/proto.cpp +++ b/esphome/components/api/proto.cpp @@ -7,6 +7,69 @@ namespace esphome::api { static const char *const TAG = "api.proto"; +uint32_t ProtoDecodableMessage::count_repeated_field(const uint8_t *buffer, size_t length, uint32_t target_field_id) { + uint32_t count = 0; + const uint8_t *ptr = buffer; + const uint8_t *end = buffer + length; + + while (ptr < end) { + uint32_t consumed; + + // Parse field header (tag) + auto res = ProtoVarInt::parse(ptr, end - ptr, &consumed); + if (!res.has_value()) { + break; // Invalid data, stop counting + } + + uint32_t tag = res->as_uint32(); + uint32_t field_type = tag & WIRE_TYPE_MASK; + uint32_t field_id = tag >> 3; + ptr += consumed; + + // Count if this is the target field + if (field_id == target_field_id) { + count++; + } + + // Skip field data based on wire type + switch (field_type) { + case WIRE_TYPE_VARINT: { // VarInt - parse and skip + res = ProtoVarInt::parse(ptr, end - ptr, &consumed); + if (!res.has_value()) { + return count; // Invalid data, return what we have + } + ptr += consumed; + break; + } + case WIRE_TYPE_LENGTH_DELIMITED: { // Length-delimited - parse length and skip data + res = ProtoVarInt::parse(ptr, end - ptr, &consumed); + if (!res.has_value()) { + return count; + } + uint32_t field_length = res->as_uint32(); + ptr += consumed; + if (ptr + field_length > end) { + return count; // Out of bounds + } + ptr += field_length; + break; + } + case WIRE_TYPE_FIXED32: { // 32-bit - skip 4 bytes + if (ptr + 4 > end) { + return count; + } + ptr += 4; + break; + } + default: + // Unknown wire type, can't continue + return count; + } + } + + return count; +} + void ProtoDecodableMessage::decode(const uint8_t *buffer, size_t length) { const uint8_t *ptr = buffer; const uint8_t *end = buffer + length; @@ -22,12 +85,12 @@ void ProtoDecodableMessage::decode(const uint8_t *buffer, size_t length) { } uint32_t tag = res->as_uint32(); - uint32_t field_type = tag & 0b111; + uint32_t field_type = tag & WIRE_TYPE_MASK; uint32_t field_id = tag >> 3; ptr += consumed; switch (field_type) { - case 0: { // VarInt + case WIRE_TYPE_VARINT: { // VarInt res = ProtoVarInt::parse(ptr, end - ptr, &consumed); if (!res.has_value()) { ESP_LOGV(TAG, "Invalid VarInt at offset %ld", (long) (ptr - buffer)); @@ -39,7 +102,7 @@ void ProtoDecodableMessage::decode(const uint8_t *buffer, size_t length) { ptr += consumed; break; } - case 2: { // Length-delimited + case WIRE_TYPE_LENGTH_DELIMITED: { // Length-delimited res = ProtoVarInt::parse(ptr, end - ptr, &consumed); if (!res.has_value()) { ESP_LOGV(TAG, "Invalid Length Delimited at offset %ld", (long) (ptr - buffer)); @@ -57,7 +120,7 @@ void ProtoDecodableMessage::decode(const uint8_t *buffer, size_t length) { ptr += field_length; break; } - case 5: { // 32-bit + case WIRE_TYPE_FIXED32: { // 32-bit if (ptr + 4 > end) { ESP_LOGV(TAG, "Out-of-bounds Fixed32-bit at offset %ld", (long) (ptr - buffer)); return; diff --git a/esphome/components/api/proto.h b/esphome/components/api/proto.h index a6a09bf7c5..e7585924a5 100644 --- a/esphome/components/api/proto.h +++ b/esphome/components/api/proto.h @@ -15,6 +15,13 @@ namespace esphome::api { +// Protocol Buffer wire type constants +// See https://protobuf.dev/programming-guides/encoding/#structure +constexpr uint8_t WIRE_TYPE_VARINT = 0; // int32, int64, uint32, uint64, sint32, sint64, bool, enum +constexpr uint8_t WIRE_TYPE_LENGTH_DELIMITED = 2; // string, bytes, embedded messages, packed repeated fields +constexpr uint8_t WIRE_TYPE_FIXED32 = 5; // fixed32, sfixed32, float +constexpr uint8_t WIRE_TYPE_MASK = 0b111; // Mask to extract wire type from tag + // Helper functions for ZigZag encoding/decoding inline constexpr uint32_t encode_zigzag32(int32_t value) { return (static_cast(value) << 1) ^ (static_cast(value >> 31)); @@ -241,7 +248,7 @@ class ProtoWriteBuffer { * Following https://protobuf.dev/programming-guides/encoding/#structure */ void encode_field_raw(uint32_t field_id, uint32_t type) { - uint32_t val = (field_id << 3) | (type & 0b111); + uint32_t val = (field_id << 3) | (type & WIRE_TYPE_MASK); this->encode_varint_raw(val); } void encode_string(uint32_t field_id, const char *string, size_t len, bool force = false) { @@ -354,7 +361,18 @@ class ProtoMessage { // Base class for messages that support decoding class ProtoDecodableMessage : public ProtoMessage { public: - void decode(const uint8_t *buffer, size_t length); + virtual void decode(const uint8_t *buffer, size_t length); + + /** + * Count occurrences of a repeated field in a protobuf buffer. + * This is a lightweight scan that only parses tags and skips field data. + * + * @param buffer Pointer to the protobuf buffer + * @param length Length of the buffer in bytes + * @param target_field_id The field ID to count + * @return Number of times the field appears in the buffer + */ + static uint32_t count_repeated_field(const uint8_t *buffer, size_t length, uint32_t target_field_id); protected: virtual bool decode_varint(uint32_t field_id, ProtoVarInt value) { return false; } @@ -482,7 +500,7 @@ class ProtoSize { * @return The number of bytes needed to encode the field ID and wire type */ static constexpr uint32_t field(uint32_t field_id, uint32_t type) { - uint32_t tag = (field_id << 3) | (type & 0b111); + uint32_t tag = (field_id << 3) | (type & WIRE_TYPE_MASK); return varint(tag); } diff --git a/esphome/components/api/user_services.cpp b/esphome/components/api/user_services.cpp index 27b30eb332..3cbf2ab5f9 100644 --- a/esphome/components/api/user_services.cpp +++ b/esphome/components/api/user_services.cpp @@ -12,16 +12,16 @@ template<> int32_t get_execute_arg_value(const ExecuteServiceArgument & template<> float get_execute_arg_value(const ExecuteServiceArgument &arg) { return arg.float_; } template<> std::string get_execute_arg_value(const ExecuteServiceArgument &arg) { return arg.string_; } template<> std::vector get_execute_arg_value>(const ExecuteServiceArgument &arg) { - return arg.bool_array; + return std::vector(arg.bool_array.begin(), arg.bool_array.end()); } template<> std::vector get_execute_arg_value>(const ExecuteServiceArgument &arg) { - return arg.int_array; + return std::vector(arg.int_array.begin(), arg.int_array.end()); } template<> std::vector get_execute_arg_value>(const ExecuteServiceArgument &arg) { - return arg.float_array; + return std::vector(arg.float_array.begin(), arg.float_array.end()); } template<> std::vector get_execute_arg_value>(const ExecuteServiceArgument &arg) { - return arg.string_array; + return std::vector(arg.string_array.begin(), arg.string_array.end()); } template<> enums::ServiceArgType to_service_arg_type() { return enums::SERVICE_ARG_TYPE_BOOL; } diff --git a/esphome/components/api/user_services.h b/esphome/components/api/user_services.h index 29843a2f78..9ca5e1093e 100644 --- a/esphome/components/api/user_services.h +++ b/esphome/components/api/user_services.h @@ -55,7 +55,7 @@ template class UserServiceBase : public UserServiceDescriptor { protected: virtual void execute(Ts... x) = 0; - template void execute_(const std::vector &args, seq type) { + template void execute_(const ArgsContainer &args, seq type) { this->execute((get_execute_arg_value(args[S]))...); } diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index 9a55f1d136..4936434fc2 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -11,6 +11,7 @@ from typing import Any import aioesphomeapi.api_options_pb2 as pb import google.protobuf.descriptor_pb2 as descriptor +from google.protobuf.descriptor_pb2 import FieldDescriptorProto class WireType(IntEnum): @@ -148,7 +149,7 @@ class TypeInfo(ABC): @property def repeated(self) -> bool: """Check if the field is repeated.""" - return self._field.label == 3 + return self._field.label == FieldDescriptorProto.LABEL_REPEATED @property def wire_type(self) -> WireType: @@ -337,7 +338,7 @@ def create_field_type_info( needs_encode: bool = True, ) -> TypeInfo: """Create the appropriate TypeInfo instance for a field, handling repeated fields and custom options.""" - if field.label == 3: # repeated + if field.label == FieldDescriptorProto.LABEL_REPEATED: # Check if this repeated field has fixed_array_with_length_define option if ( fixed_size := get_field_opt(field, pb.fixed_array_with_length_define) @@ -1879,6 +1880,9 @@ def build_message_type( ) public_content.append("#endif") + # Collect fixed_vector fields for custom decode generation + fixed_vector_fields = [] + for field in desc.field: # Skip deprecated fields completely if field.options.deprecated: @@ -1887,7 +1891,7 @@ def build_message_type( # Validate that fixed_array_size is only used in encode-only messages if ( needs_decode - and field.label == 3 + and field.label == FieldDescriptorProto.LABEL_REPEATED and get_field_opt(field, pb.fixed_array_size) is not None ): raise ValueError( @@ -1900,7 +1904,7 @@ def build_message_type( # Validate that fixed_array_with_length_define is only used in encode-only messages if ( needs_decode - and field.label == 3 + and field.label == FieldDescriptorProto.LABEL_REPEATED and get_field_opt(field, pb.fixed_array_with_length_define) is not None ): raise ValueError( @@ -1910,6 +1914,14 @@ def build_message_type( f"since we cannot trust or control the number of items received from clients." ) + # Collect fixed_vector repeated fields for custom decode generation + if ( + needs_decode + and field.label == FieldDescriptorProto.LABEL_REPEATED + and get_field_opt(field, pb.fixed_vector, False) + ): + fixed_vector_fields.append((field.name, field.number)) + ti = create_field_type_info(field, needs_decode, needs_encode) # Skip field declarations for fields that are in the base class @@ -2018,6 +2030,22 @@ def build_message_type( prot = "bool decode_64bit(uint32_t field_id, Proto64Bit value) override;" protected_content.insert(0, prot) + # Generate custom decode() override for messages with FixedVector fields + if fixed_vector_fields: + # Generate the decode() implementation in cpp + o = f"void {desc.name}::decode(const uint8_t *buffer, size_t length) {{\n" + # Count and init each FixedVector field + for field_name, field_number in fixed_vector_fields: + o += f" uint32_t count_{field_name} = ProtoDecodableMessage::count_repeated_field(buffer, length, {field_number});\n" + o += f" this->{field_name}.init(count_{field_name});\n" + # Call parent decode to populate the fields + o += " ProtoDecodableMessage::decode(buffer, length);\n" + o += "}\n" + cpp += o + # Generate the decode() declaration in header (public method) + prot = "void decode(const uint8_t *buffer, size_t length) override;" + public_content.append(prot) + # Only generate encode method if this message needs encoding and has fields if needs_encode and encode: o = f"void {desc.name}::encode(ProtoWriteBuffer buffer) const {{" From f2e0a412db1e4477b915160a0b3b7fe3eff9e46c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:23:20 -1000 Subject: [PATCH 146/201] [substitutions] Fix AttributeError when using packages with substitutions (#11274) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/substitutions/__init__.py | 10 +- esphome/config.py | 9 +- esphome/config_helpers.py | 26 ++- tests/unit_tests/test_substitutions.py | 204 ++++++++++++++++++- 4 files changed, 236 insertions(+), 13 deletions(-) diff --git a/esphome/components/substitutions/__init__.py b/esphome/components/substitutions/__init__.py index 1a1736aed1..e6bcdc063a 100644 --- a/esphome/components/substitutions/__init__.py +++ b/esphome/components/substitutions/__init__.py @@ -1,7 +1,7 @@ import logging from esphome import core -from esphome.config_helpers import Extend, Remove, merge_config +from esphome.config_helpers import Extend, Remove, merge_config, merge_dicts_ordered import esphome.config_validation as cv from esphome.const import CONF_SUBSTITUTIONS, VALID_SUBSTITUTIONS_CHARACTERS from esphome.yaml_util import ESPHomeDataBase, ESPLiteralValue, make_data_base @@ -170,10 +170,10 @@ def do_substitution_pass(config, command_line_substitutions, ignore_missing=Fals return # Merge substitutions in config, overriding with substitutions coming from command line: - substitutions = { - **config.get(CONF_SUBSTITUTIONS, {}), - **(command_line_substitutions or {}), - } + # Use merge_dicts_ordered to preserve OrderedDict type for move_to_end() + substitutions = merge_dicts_ordered( + config.get(CONF_SUBSTITUTIONS, {}), command_line_substitutions or {} + ) with cv.prepend_path("substitutions"): if not isinstance(substitutions, dict): raise cv.Invalid( diff --git a/esphome/config.py b/esphome/config.py index 10a5733575..6adecb5c65 100644 --- a/esphome/config.py +++ b/esphome/config.py @@ -12,7 +12,7 @@ from typing import Any import voluptuous as vol from esphome import core, loader, pins, yaml_util -from esphome.config_helpers import Extend, Remove +from esphome.config_helpers import Extend, Remove, merge_dicts_ordered import esphome.config_validation as cv from esphome.const import ( CONF_ESPHOME, @@ -922,10 +922,9 @@ def validate_config( if CONF_SUBSTITUTIONS in config or command_line_substitutions: from esphome.components import substitutions - result[CONF_SUBSTITUTIONS] = { - **(config.get(CONF_SUBSTITUTIONS) or {}), - **command_line_substitutions, - } + result[CONF_SUBSTITUTIONS] = merge_dicts_ordered( + config.get(CONF_SUBSTITUTIONS) or {}, command_line_substitutions + ) result.add_output_path([CONF_SUBSTITUTIONS], CONF_SUBSTITUTIONS) try: substitutions.do_substitution_pass(config, command_line_substitutions) diff --git a/esphome/config_helpers.py b/esphome/config_helpers.py index 00cd8f9818..88cfa49fdc 100644 --- a/esphome/config_helpers.py +++ b/esphome/config_helpers.py @@ -10,6 +10,7 @@ from esphome.const import ( PlatformFramework, ) from esphome.core import CORE +from esphome.util import OrderedDict # Pre-build lookup map from (platform, framework) tuples to PlatformFramework enum _PLATFORM_FRAMEWORK_LOOKUP = { @@ -17,6 +18,25 @@ _PLATFORM_FRAMEWORK_LOOKUP = { } +def merge_dicts_ordered(*dicts: dict) -> OrderedDict: + """Merge multiple dicts into an OrderedDict, preserving key order. + + This is a helper to ensure that dictionary merging preserves OrderedDict type, + which is important for operations like move_to_end(). + + Args: + *dicts: Variable number of dictionaries to merge (later dicts override earlier ones) + + Returns: + OrderedDict with merged contents + """ + result = OrderedDict() + for d in dicts: + if d: + result.update(d) + return result + + class Extend: def __init__(self, value): self.value = value @@ -60,7 +80,11 @@ def merge_config(full_old, full_new): if isinstance(new, dict): if not isinstance(old, dict): return new - res = old.copy() + # Preserve OrderedDict type by copying to OrderedDict if either input is OrderedDict + if isinstance(old, OrderedDict) or isinstance(new, OrderedDict): + res = OrderedDict(old) + else: + res = old.copy() for k, v in new.items(): if isinstance(v, Remove) and k in old: del res[k] diff --git a/tests/unit_tests/test_substitutions.py b/tests/unit_tests/test_substitutions.py index dd419aba9c..59396a4a83 100644 --- a/tests/unit_tests/test_substitutions.py +++ b/tests/unit_tests/test_substitutions.py @@ -2,9 +2,12 @@ import glob import logging from pathlib import Path -from esphome import yaml_util +from esphome import config as config_module, yaml_util from esphome.components import substitutions -from esphome.const import CONF_PACKAGES +from esphome.config_helpers import merge_config +from esphome.const import CONF_PACKAGES, CONF_SUBSTITUTIONS +from esphome.core import CORE +from esphome.util import OrderedDict _LOGGER = logging.getLogger(__name__) @@ -118,3 +121,200 @@ def test_substitutions_fixtures(fixture_path): if DEV_MODE: _LOGGER.error("Tests passed, but Dev mode is enabled.") assert not DEV_MODE # make sure DEV_MODE is disabled after you are finished. + + +def test_substitutions_with_command_line_maintains_ordered_dict() -> None: + """Test that substitutions remain an OrderedDict when command line substitutions are provided, + and that move_to_end() can be called successfully. + + This is a regression test for https://github.com/esphome/esphome/issues/11182 + where the config would become a regular dict and fail when move_to_end() was called. + """ + # Create an OrderedDict config with substitutions + config = OrderedDict() + config["esphome"] = {"name": "test"} + config[CONF_SUBSTITUTIONS] = {"var1": "value1", "var2": "value2"} + config["other_key"] = "other_value" + + # Command line substitutions that should override + command_line_subs = {"var2": "override", "var3": "new_value"} + + # Call do_substitution_pass with command line substitutions + substitutions.do_substitution_pass(config, command_line_subs) + + # Verify that config is still an OrderedDict + assert isinstance(config, OrderedDict), "Config should remain an OrderedDict" + + # Verify substitutions are at the beginning (move_to_end with last=False) + keys = list(config.keys()) + assert keys[0] == CONF_SUBSTITUTIONS, "Substitutions should be first key" + + # Verify substitutions were properly merged + assert config[CONF_SUBSTITUTIONS]["var1"] == "value1" + assert config[CONF_SUBSTITUTIONS]["var2"] == "override" + assert config[CONF_SUBSTITUTIONS]["var3"] == "new_value" + + # Verify config[CONF_SUBSTITUTIONS] is also an OrderedDict + assert isinstance(config[CONF_SUBSTITUTIONS], OrderedDict), ( + "Substitutions should be an OrderedDict" + ) + + +def test_substitutions_without_command_line_maintains_ordered_dict() -> None: + """Test that substitutions work correctly without command line substitutions.""" + config = OrderedDict() + config["esphome"] = {"name": "test"} + config[CONF_SUBSTITUTIONS] = {"var1": "value1"} + config["other_key"] = "other_value" + + # Call without command line substitutions + substitutions.do_substitution_pass(config, None) + + # Verify that config is still an OrderedDict + assert isinstance(config, OrderedDict), "Config should remain an OrderedDict" + + # Verify substitutions are at the beginning + keys = list(config.keys()) + assert keys[0] == CONF_SUBSTITUTIONS, "Substitutions should be first key" + + +def test_substitutions_after_merge_config_maintains_ordered_dict() -> None: + """Test that substitutions work after merge_config (packages scenario). + + This is a regression test for https://github.com/esphome/esphome/issues/11182 + where using packages would cause config to become a regular dict, breaking move_to_end(). + """ + # Simulate what happens with packages - merge two OrderedDict configs + base_config = OrderedDict() + base_config["esphome"] = {"name": "base"} + base_config[CONF_SUBSTITUTIONS] = {"var1": "value1"} + + package_config = OrderedDict() + package_config["sensor"] = [{"platform": "template"}] + package_config[CONF_SUBSTITUTIONS] = {"var2": "value2"} + + # Merge configs (simulating package merge) + merged_config = merge_config(base_config, package_config) + + # Verify merged config is still an OrderedDict + assert isinstance(merged_config, OrderedDict), ( + "Merged config should be an OrderedDict" + ) + + # Now try to run substitution pass on the merged config + substitutions.do_substitution_pass(merged_config, None) + + # Should not raise AttributeError + assert isinstance(merged_config, OrderedDict), ( + "Config should still be OrderedDict after substitution pass" + ) + keys = list(merged_config.keys()) + assert keys[0] == CONF_SUBSTITUTIONS, "Substitutions should be first key" + + +def test_validate_config_with_command_line_substitutions_maintains_ordered_dict( + tmp_path, +) -> None: + """Test that validate_config preserves OrderedDict when merging command-line substitutions. + + This tests the code path in config.py where result[CONF_SUBSTITUTIONS] is set + using merge_dicts_ordered() with command-line substitutions provided. + """ + # Create a minimal valid config + test_config = OrderedDict() + test_config["esphome"] = {"name": "test_device", "platform": "ESP32"} + test_config[CONF_SUBSTITUTIONS] = OrderedDict({"var1": "value1", "var2": "value2"}) + test_config["esp32"] = {"board": "esp32dev"} + + # Command line substitutions that should override + command_line_subs = {"var2": "override", "var3": "new_value"} + + # Set up CORE for the test with a proper Path object + test_yaml = tmp_path / "test.yaml" + test_yaml.write_text("# test config") + CORE.config_path = test_yaml + + # Call validate_config with command line substitutions + result = config_module.validate_config(test_config, command_line_subs) + + # Verify that result[CONF_SUBSTITUTIONS] is an OrderedDict + assert isinstance(result.get(CONF_SUBSTITUTIONS), OrderedDict), ( + "Result substitutions should be an OrderedDict" + ) + + # Verify substitutions were properly merged + assert result[CONF_SUBSTITUTIONS]["var1"] == "value1" + assert result[CONF_SUBSTITUTIONS]["var2"] == "override" + assert result[CONF_SUBSTITUTIONS]["var3"] == "new_value" + + +def test_validate_config_without_command_line_substitutions_maintains_ordered_dict( + tmp_path, +) -> None: + """Test that validate_config preserves OrderedDict without command-line substitutions. + + This tests the code path in config.py where result[CONF_SUBSTITUTIONS] is set + using merge_dicts_ordered() when command_line_substitutions is None. + """ + # Create a minimal valid config + test_config = OrderedDict() + test_config["esphome"] = {"name": "test_device", "platform": "ESP32"} + test_config[CONF_SUBSTITUTIONS] = OrderedDict({"var1": "value1", "var2": "value2"}) + test_config["esp32"] = {"board": "esp32dev"} + + # Set up CORE for the test with a proper Path object + test_yaml = tmp_path / "test.yaml" + test_yaml.write_text("# test config") + CORE.config_path = test_yaml + + # Call validate_config without command line substitutions + result = config_module.validate_config(test_config, None) + + # Verify that result[CONF_SUBSTITUTIONS] is an OrderedDict + assert isinstance(result.get(CONF_SUBSTITUTIONS), OrderedDict), ( + "Result substitutions should be an OrderedDict" + ) + + # Verify substitutions are unchanged + assert result[CONF_SUBSTITUTIONS]["var1"] == "value1" + assert result[CONF_SUBSTITUTIONS]["var2"] == "value2" + + +def test_merge_config_preserves_ordered_dict() -> None: + """Test that merge_config preserves OrderedDict type. + + This is a regression test to ensure merge_config doesn't lose OrderedDict type + when merging configs, which causes AttributeError on move_to_end(). + """ + # Test OrderedDict + dict = OrderedDict + od = OrderedDict([("a", 1), ("b", 2)]) + d = {"b": 20, "c": 3} + result = merge_config(od, d) + assert isinstance(result, OrderedDict), ( + "OrderedDict + dict should return OrderedDict" + ) + + # Test dict + OrderedDict = OrderedDict + d = {"a": 1, "b": 2} + od = OrderedDict([("b", 20), ("c", 3)]) + result = merge_config(d, od) + assert isinstance(result, OrderedDict), ( + "dict + OrderedDict should return OrderedDict" + ) + + # Test OrderedDict + OrderedDict = OrderedDict + od1 = OrderedDict([("a", 1), ("b", 2)]) + od2 = OrderedDict([("b", 20), ("c", 3)]) + result = merge_config(od1, od2) + assert isinstance(result, OrderedDict), ( + "OrderedDict + OrderedDict should return OrderedDict" + ) + + # Test that dict + dict still returns regular dict (no unnecessary conversion) + d1 = {"a": 1, "b": 2} + d2 = {"b": 20, "c": 3} + result = merge_config(d1, d2) + assert isinstance(result, dict), "dict + dict should return dict" + assert not isinstance(result, OrderedDict), ( + "dict + dict should not return OrderedDict" + ) From 14d76e9e4e3cc4d36ed2ba444bb03504edad573e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:36:03 -1000 Subject: [PATCH 147/201] [ci] Merge components with different buses to reduce CI time (#11251) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> --- .github/workflows/ci.yml | 62 ++- esphome/components/esp8266/__init__.py | 13 +- esphome/components/esp8266/iram_fix.py.script | 44 +++ script/analyze_component_buses.py | 142 +++++++ script/list-components.py | 39 +- script/merge_component_configs.py | 136 +++++-- script/split_components_for_ci.py | 95 ++++- script/test_build_components.py | 373 +++++++++++++----- .../components/ade7880/test.esp8266-ard.yaml | 2 +- tests/components/ade7953_i2c/common.yaml | 3 + tests/components/ade7953_spi/common.yaml | 6 +- tests/components/as3935_i2c/common.yaml | 3 + tests/components/as3935_spi/common.yaml | 3 + tests/components/axs15231/common.yaml | 4 +- tests/components/bme280_i2c/common.yaml | 6 +- tests/components/bme280_spi/common.yaml | 6 +- tests/components/bmp280_i2c/common.yaml | 4 +- tests/components/bmp280_spi/common.yaml | 4 +- tests/components/bmp3xx_i2c/common.yaml | 2 + tests/components/bmp3xx_spi/common.yaml | 2 + tests/components/camera/test.esp32-idf.yaml | 2 +- .../camera_encoder/test.esp32-idf.yaml | 2 +- tests/components/chsc6x/test.esp32-idf.yaml | 2 + tests/components/ektf2232/common.yaml | 4 +- tests/components/ens160_i2c/common.yaml | 3 + tests/components/ens160_spi/common.yaml | 3 + .../esp32_camera/test.esp32-idf.yaml | 2 +- .../test.esp32-idf.yaml | 2 +- tests/components/font/common.yaml | 1 + tests/components/ft63x6/test.esp8266-ard.yaml | 2 +- tests/components/graph/common.yaml | 1 + .../graphical_display_menu/common.yaml | 4 +- tests/components/gt911/common.yaml | 4 +- tests/components/hx711/test.esp8266-ard.yaml | 4 +- tests/components/ina2xx_i2c/common.yaml | 24 +- tests/components/ina2xx_spi/common.yaml | 24 +- tests/components/lilygo_t5_47/common.yaml | 4 +- tests/components/pn532_i2c/common.yaml | 4 +- tests/components/pn532_spi/common.yaml | 4 +- tests/components/pn7160_i2c/common.yaml | 18 +- tests/components/pn7160_spi/common.yaml | 18 +- tests/components/rc522_i2c/common.yaml | 4 +- tests/components/rc522_spi/common.yaml | 6 +- .../selec_meter/test.esp8266-ard.yaml | 2 +- .../sn74hc595/test.esp8266-ard.yaml | 4 +- tests/components/ssd1306_i2c/common.yaml | 2 +- tests/components/ssd1306_spi/common.yaml | 1 + tests/components/ssd1327_i2c/common.yaml | 2 +- tests/components/ssd1327_spi/common.yaml | 1 + tests/components/st7567_i2c/common.yaml | 2 +- tests/components/st7567_spi/common.yaml | 1 + tests/components/syslog/common.yaml | 3 +- tests/components/tt21100/common.yaml | 4 +- .../components/wk2132_i2c/test.esp32-idf.yaml | 1 + .../wk2132_i2c/test.esp32-s3-idf.yaml | 1 + tests/components/wk2132_spi/common.yaml | 8 +- .../components/wk2132_spi/test.esp32-idf.yaml | 1 + .../wk2132_spi/test.esp32-s3-idf.yaml | 1 + .../components/wk2168_i2c/test.esp32-idf.yaml | 1 + .../wk2168_i2c/test.esp32-s3-idf.yaml | 1 + .../components/wk2168_spi/test.esp32-idf.yaml | 1 + .../wk2168_spi/test.esp32-s3-idf.yaml | 1 + .../components/wk2204_i2c/test.esp32-idf.yaml | 1 + .../wk2204_i2c/test.esp32-s3-idf.yaml | 1 + tests/components/wk2204_spi/common.yaml | 12 +- .../components/wk2204_spi/test.esp32-idf.yaml | 1 + .../wk2204_spi/test.esp32-s3-idf.yaml | 1 + .../components/wk2212_i2c/test.esp32-idf.yaml | 1 + .../wk2212_i2c/test.esp32-s3-idf.yaml | 1 + .../components/wk2212_spi/test.esp32-idf.yaml | 1 + .../wk2212_spi/test.esp32-s3-idf.yaml | 1 + .../build_components_base.esp32-idf.yaml | 6 +- .../{camera => i2c_camera}/esp32-idf.yaml | 11 +- .../common/uart_bridge_2/esp32-idf.yaml | 11 + .../common/uart_bridge_2/esp32-s3-idf.yaml | 11 + .../common/uart_bridge_4/esp32-idf.yaml | 11 + .../common/uart_bridge_4/esp32-s3-idf.yaml | 11 + .../partitions_testing.csv | 10 + 78 files changed, 954 insertions(+), 266 deletions(-) create mode 100644 esphome/components/esp8266/iram_fix.py.script rename tests/test_build_components/common/{camera => i2c_camera}/esp32-idf.yaml (83%) create mode 100644 tests/test_build_components/common/uart_bridge_2/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_bridge_2/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/common/uart_bridge_4/esp32-idf.yaml create mode 100644 tests/test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml create mode 100644 tests/test_build_components/partitions_testing.csv diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 163e9ab9ec..87e182fe4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -379,7 +379,16 @@ jobs: # Use intelligent splitter that groups components with same bus configs components='${{ needs.determine-jobs.outputs.changed-components-with-tests }}' - directly_changed='${{ needs.determine-jobs.outputs.directly-changed-components-with-tests }}' + + # Only isolate directly changed components when targeting dev branch + # For beta/release branches, group everything for faster CI + if [[ "${{ github.base_ref }}" == beta* ]] || [[ "${{ github.base_ref }}" == release* ]]; then + directly_changed='[]' + echo "Target branch: ${{ github.base_ref }} - grouping all components" + else + directly_changed='${{ needs.determine-jobs.outputs.directly-changed-components-with-tests }}' + echo "Target branch: ${{ github.base_ref }} - isolating directly changed components" + fi echo "Splitting components intelligently..." output=$(python3 script/split_components_for_ci.py --components "$components" --directly-changed "$directly_changed" --batch-size 40 --output github) @@ -396,7 +405,7 @@ jobs: if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) > 0 strategy: fail-fast: false - max-parallel: ${{ (github.base_ref == 'beta' || github.base_ref == 'release') && 8 || 4 }} + max-parallel: ${{ (startsWith(github.base_ref, 'beta') || startsWith(github.base_ref, 'release')) && 8 || 4 }} matrix: components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} steps: @@ -424,18 +433,31 @@ jobs: - name: Validate and compile components with intelligent grouping run: | . venv/bin/activate - # Use /mnt for build files (70GB available vs ~29GB on /) - # Bind mount PlatformIO directory to /mnt (tools, packages, build cache all go there) - sudo mkdir -p /mnt/platformio - sudo chown $USER:$USER /mnt/platformio - mkdir -p ~/.platformio - sudo mount --bind /mnt/platformio ~/.platformio - # Bind mount test build directory to /mnt - sudo mkdir -p /mnt/test_build_components_build - sudo chown $USER:$USER /mnt/test_build_components_build - mkdir -p tests/test_build_components/build - sudo mount --bind /mnt/test_build_components_build tests/test_build_components/build + # Check if /mnt has more free space than / before bind mounting + # Extract available space in KB for comparison + root_avail=$(df -k / | awk 'NR==2 {print $4}') + mnt_avail=$(df -k /mnt 2>/dev/null | awk 'NR==2 {print $4}') + + echo "Available space: / has ${root_avail}KB, /mnt has ${mnt_avail}KB" + + # Only use /mnt if it has more space than / + if [ -n "$mnt_avail" ] && [ "$mnt_avail" -gt "$root_avail" ]; then + echo "Using /mnt for build files (more space available)" + # Bind mount PlatformIO directory to /mnt (tools, packages, build cache all go there) + sudo mkdir -p /mnt/platformio + sudo chown $USER:$USER /mnt/platformio + mkdir -p ~/.platformio + sudo mount --bind /mnt/platformio ~/.platformio + + # Bind mount test build directory to /mnt + sudo mkdir -p /mnt/test_build_components_build + sudo chown $USER:$USER /mnt/test_build_components_build + mkdir -p tests/test_build_components/build + sudo mount --bind /mnt/test_build_components_build tests/test_build_components/build + else + echo "Using / for build files (more space available than /mnt or /mnt unavailable)" + fi # Convert space-separated components to comma-separated for Python script components_csv=$(echo "${{ matrix.components }}" | tr ' ' ',') @@ -448,7 +470,7 @@ jobs: # - This catches pin conflicts and other issues in directly changed code # - Grouped tests use --testing-mode to allow config merging (disables some checks) # - Dependencies are safe to group since they weren't modified in this PR - if [ "${{ github.base_ref }}" = "beta" ] || [ "${{ github.base_ref }}" = "release" ]; then + if [[ "${{ github.base_ref }}" == beta* ]] || [[ "${{ github.base_ref }}" == release* ]]; then directly_changed_csv="" echo "Testing components: $components_csv" echo "Target branch: ${{ github.base_ref }} - grouping all components" @@ -459,6 +481,11 @@ jobs: fi echo "" + # Show disk space before validation (after bind mounts setup) + echo "Disk space before config validation:" + df -h + echo "" + # Run config validation with grouping and isolation python3 script/test_build_components.py -e config -c "$components_csv" -f --isolate "$directly_changed_csv" @@ -466,6 +493,11 @@ jobs: echo "Config validation passed! Starting compilation..." echo "" + # Show disk space before compilation + echo "Disk space before compilation:" + df -h + echo "" + # Run compilation with grouping and isolation python3 script/test_build_components.py -e compile -c "$components_csv" -f --isolate "$directly_changed_csv" @@ -474,7 +506,7 @@ jobs: runs-on: ubuntu-latest needs: - common - if: github.event_name == 'pull_request' && github.base_ref != 'beta' && github.base_ref != 'release' + if: github.event_name == 'pull_request' && !startsWith(github.base_ref, 'beta') && !startsWith(github.base_ref, 'release') steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 diff --git a/esphome/components/esp8266/__init__.py b/esphome/components/esp8266/__init__.py index 8a7fbbcb0a..9d8e6b7d1e 100644 --- a/esphome/components/esp8266/__init__.py +++ b/esphome/components/esp8266/__init__.py @@ -190,7 +190,7 @@ async def to_code(config): cg.add_define("ESPHOME_VARIANT", "ESP8266") cg.add_define(ThreadModel.SINGLE) - cg.add_platformio_option("extra_scripts", ["post:post_build.py"]) + cg.add_platformio_option("extra_scripts", ["pre:iram_fix.py", "post:post_build.py"]) conf = config[CONF_FRAMEWORK] cg.add_platformio_option("framework", "arduino") @@ -230,6 +230,12 @@ async def to_code(config): # For cases where nullptrs can be handled, use nothrow: `new (std::nothrow) T;` cg.add_build_flag("-DNEW_OOM_ABORT") + # In testing mode, fake a larger IRAM to allow linking grouped component tests + # Real ESP8266 hardware only has 32KB IRAM, but for CI testing we pretend it has 2MB + # This is done via a pre-build script that generates a custom linker script + if CORE.testing_mode: + cg.add_build_flag("-DESPHOME_TESTING_MODE") + cg.add_platformio_option("board_build.flash_mode", config[CONF_BOARD_FLASH_MODE]) ver: cv.Version = CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION] @@ -265,3 +271,8 @@ def copy_files(): post_build_file, CORE.relative_build_path("post_build.py"), ) + iram_fix_file = dir / "iram_fix.py.script" + copy_file_if_changed( + iram_fix_file, + CORE.relative_build_path("iram_fix.py"), + ) diff --git a/esphome/components/esp8266/iram_fix.py.script b/esphome/components/esp8266/iram_fix.py.script new file mode 100644 index 0000000000..96bddc2ced --- /dev/null +++ b/esphome/components/esp8266/iram_fix.py.script @@ -0,0 +1,44 @@ +import os +import re + +# pylint: disable=E0602 +Import("env") # noqa + + +def patch_linker_script_after_preprocess(source, target, env): + """Patch the local linker script after PlatformIO preprocesses it.""" + # Check if we're in testing mode by looking for the define + build_flags = env.get("BUILD_FLAGS", []) + testing_mode = any("-DESPHOME_TESTING_MODE" in flag for flag in build_flags) + + if not testing_mode: + return + + # Get the local linker script path + build_dir = env.subst("$BUILD_DIR") + local_ld = os.path.join(build_dir, "ld", "local.eagle.app.v6.common.ld") + + if not os.path.exists(local_ld): + return + + # Read the linker script + with open(local_ld, "r") as f: + content = f.read() + + # Replace IRAM size from 0x8000 (32KB) to 0x200000 (2MB) + # The line looks like: iram1_0_seg : org = 0x40100000, len = 0x8000 + updated = re.sub( + r"(iram1_0_seg\s*:\s*org\s*=\s*0x40100000\s*,\s*len\s*=\s*)0x8000", + r"\g<1>0x200000", + content, + ) + + if updated != content: + with open(local_ld, "w") as f: + f.write(updated) + print("ESPHome: Patched IRAM size to 2MB for testing mode") + + +# Hook into the build process right before linking +# This runs after PlatformIO has already preprocessed the linker scripts +env.AddPreAction("$BUILD_DIR/${PROGNAME}.elf", patch_linker_script_after_preprocess) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index 24854178a0..fc7d021cbe 100755 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -56,6 +56,10 @@ DIRECT_BUS_TYPES = ("i2c", "spi", "uart", "modbus") # These components can be merged with any other group NO_BUSES_SIGNATURE = "no_buses" +# Prefix for isolated component signatures +# Isolated components have unique signatures and cannot be merged with others +ISOLATED_SIGNATURE_PREFIX = "isolated_" + # Base bus components - these ARE the bus implementations and should not # be flagged as needing migration since they are the platform/base components BASE_BUS_COMPONENTS = { @@ -75,6 +79,7 @@ ISOLATED_COMPONENTS = { "ethernet": "Defines ethernet: which conflicts with wifi: used by most components", "ethernet_info": "Related to ethernet component which conflicts with wifi", "lvgl": "Defines multiple SDL displays on host platform that conflict when merged with other display configs", + "mapping": "Uses dict format for image/display sections incompatible with standard list format - ESPHome merge_config cannot handle", "openthread": "Conflicts with wifi: used by most components", "openthread_info": "Conflicts with wifi: used by most components", "matrix_keypad": "Needs isolation due to keypad", @@ -368,6 +373,143 @@ def analyze_all_components( return components, non_groupable, direct_bus_components +@lru_cache(maxsize=256) +def _get_bus_configs(buses: tuple[str, ...]) -> frozenset[tuple[str, str]]: + """Map bus type to set of configs for that type. + + Args: + buses: Tuple of bus package names (e.g., ("uart_9600", "i2c")) + + Returns: + Frozenset of (base_type, full_config) tuples + Example: frozenset({("uart", "uart_9600"), ("i2c", "i2c")}) + """ + # Split on underscore to get base type: "uart_9600" -> "uart", "i2c" -> "i2c" + return frozenset((bus.split("_", 1)[0], bus) for bus in buses) + + +@lru_cache(maxsize=1024) +def are_buses_compatible(buses1: tuple[str, ...], buses2: tuple[str, ...]) -> bool: + """Check if two bus tuples are compatible for merging. + + Two bus lists are compatible if they don't have conflicting configurations + for the same bus type. For example: + - ("ble", "uart") and ("i2c",) are compatible (different buses) + - ("uart_9600",) and ("uart_19200",) are NOT compatible (same bus, different configs) + - ("uart_9600",) and ("uart_9600",) are compatible (same bus, same config) + + Args: + buses1: First tuple of bus package names + buses2: Second tuple of bus package names + + Returns: + True if buses can be merged without conflicts + """ + configs1 = _get_bus_configs(buses1) + configs2 = _get_bus_configs(buses2) + + # Group configs by base type + bus_types1: dict[str, set[str]] = {} + for base_type, full_config in configs1: + if base_type not in bus_types1: + bus_types1[base_type] = set() + bus_types1[base_type].add(full_config) + + bus_types2: dict[str, set[str]] = {} + for base_type, full_config in configs2: + if base_type not in bus_types2: + bus_types2[base_type] = set() + bus_types2[base_type].add(full_config) + + # Check for conflicts: same bus type with different configs + for bus_type, configs in bus_types1.items(): + if bus_type not in bus_types2: + continue # No conflict - different bus types + # Same bus type - check if configs match + if configs != bus_types2[bus_type]: + return False # Conflict - same bus type, different configs + + return True # No conflicts found + + +def merge_compatible_bus_groups( + grouped_components: dict[tuple[str, str], list[str]], +) -> dict[tuple[str, str], list[str]]: + """Merge groups with compatible (non-conflicting) buses. + + This function takes groups keyed by (platform, bus_signature) and merges + groups that share the same platform and have compatible bus configurations. + Two groups can be merged if their buses don't conflict - meaning they don't + have different configurations for the same bus type. + + For example: + - ["ble"] + ["uart"] = compatible (different buses) + - ["uart_9600"] + ["uart_19200"] = incompatible (same bus, different configs) + - ["uart_9600"] + ["uart_9600"] = compatible (same bus, same config) + + Args: + grouped_components: Dictionary mapping (platform, signature) to list of component names + + Returns: + Dictionary with same structure but with compatible groups merged + """ + merged_groups: dict[tuple[str, str], list[str]] = {} + processed_keys: set[tuple[str, str]] = set() + + for (platform1, sig1), comps1 in sorted(grouped_components.items()): + if (platform1, sig1) in processed_keys: + continue + + # Skip NO_BUSES_SIGNATURE - kept separate for flexible batch distribution + # These components have no bus requirements and can be added to any batch + # as "fillers" for load balancing across CI runners + if sig1 == NO_BUSES_SIGNATURE: + merged_groups[(platform1, sig1)] = comps1 + processed_keys.add((platform1, sig1)) + continue + + # Skip isolated components - they can't be merged with others + if sig1.startswith(ISOLATED_SIGNATURE_PREFIX): + merged_groups[(platform1, sig1)] = comps1 + processed_keys.add((platform1, sig1)) + continue + + # Start with this group's components + merged_comps: list[str] = list(comps1) + merged_sig: str = sig1 + processed_keys.add((platform1, sig1)) + + # Get buses for this group as tuple for caching + buses1: tuple[str, ...] = tuple(sorted(sig1.split("+"))) + + # Try to merge with other groups on same platform + for (platform2, sig2), comps2 in sorted(grouped_components.items()): + if (platform2, sig2) in processed_keys: + continue + if platform2 != platform1: + continue # Different platforms can't be merged + if sig2 == NO_BUSES_SIGNATURE: + continue # Keep separate for flexible batch distribution + if sig2.startswith(ISOLATED_SIGNATURE_PREFIX): + continue # Isolated components can't be merged + + # Check if buses are compatible + buses2: tuple[str, ...] = tuple(sorted(sig2.split("+"))) + if are_buses_compatible(buses1, buses2): + # Compatible! Merge this group + merged_comps.extend(comps2) + processed_keys.add((platform2, sig2)) + # Update merged signature to include all unique buses + all_buses: set[str] = set(buses1) | set(buses2) + merged_sig = "+".join(sorted(all_buses)) + buses1 = tuple(sorted(all_buses)) # Update for next iteration + + # Store merged group + merged_groups[(platform1, merged_sig)] = merged_comps + + return merged_groups + + def create_grouping_signature( platform_buses: dict[str, list[str]], platform: str ) -> str: diff --git a/script/list-components.py b/script/list-components.py index dffff6801a..9abb2bc345 100755 --- a/script/list-components.py +++ b/script/list-components.py @@ -185,17 +185,20 @@ def main(): "-c", "--changed", action="store_true", - help="List all components required for testing based on changes (includes dependencies)", + help="List all components with dependencies (used by clang-tidy). " + "When base test infrastructure changes, returns ALL components.", ) parser.add_argument( "--changed-direct", action="store_true", - help="List only directly changed components (without dependencies)", + help="List only directly changed components, ignoring infrastructure changes " + "(used by CI for isolation decisions)", ) parser.add_argument( "--changed-with-deps", action="store_true", - help="Output JSON with both directly changed and all changed components", + help="Output JSON with both directly changed and all changed components " + "(with dependencies), ignoring infrastructure changes (used by CI for test determination)", ) parser.add_argument( "-b", "--branch", help="Branch to compare changed files against" @@ -213,12 +216,34 @@ def main(): # When --changed* is passed, only get the changed files changed = changed_files(args.branch) - # If any base test file(s) changed, there's no need to filter out components - if any("tests/test_build_components" in file for file in changed): - # Need to get all component files + # If any base test file(s) changed, we need to check all components + # BUT only for --changed (used by clang-tidy for comprehensive checking) + # NOT for --changed-direct or --changed-with-deps (used by CI for targeted testing) + # + # Flag usage: + # - --changed: Used by clang-tidy (script/helpers.py get_changed_components) + # Returns: All components with dependencies when base test files change + # Reason: Test infrastructure changes may affect any component + # + # - --changed-direct: Used by CI isolation (script/determine-jobs.py) + # Returns: Only components with actual code changes (not infrastructure) + # Reason: Only directly changed components need isolated testing + # + # - --changed-with-deps: Used by CI test determination (script/determine-jobs.py) + # Returns: Components with code changes + their dependencies (not infrastructure) + # Reason: CI needs to test changed components and their dependents + base_test_changed = any( + "tests/test_build_components" in file for file in changed + ) + + if base_test_changed and not args.changed_direct and not args.changed_with_deps: + # Base test infrastructure changed - load all component files + # This is for --changed (clang-tidy) which needs comprehensive checking files = get_all_component_files() else: - # Only look at changed component files + # Only look at changed component files (ignore infrastructure changes) + # For --changed-direct: only actual component code changes matter (for isolation) + # For --changed-with-deps: only actual component code changes matter (for testing) files = [f for f in changed if filter_component_files(f)] else: # Get all component files diff --git a/script/merge_component_configs.py b/script/merge_component_configs.py index a19b65038c..59774edba9 100755 --- a/script/merge_component_configs.py +++ b/script/merge_component_configs.py @@ -16,6 +16,7 @@ The merger handles: from __future__ import annotations import argparse +from functools import lru_cache from pathlib import Path import re import sys @@ -28,6 +29,10 @@ from esphome import yaml_util from esphome.config_helpers import merge_config from script.analyze_component_buses import PACKAGE_DEPENDENCIES, get_common_bus_packages +# Prefix for dependency markers in package tracking +# Used to mark packages that are included transitively (e.g., uart via modbus) +DEPENDENCY_MARKER_PREFIX = "_dep_" + def load_yaml_file(yaml_file: Path) -> dict: """Load YAML file using ESPHome's YAML loader. @@ -44,6 +49,34 @@ def load_yaml_file(yaml_file: Path) -> dict: return yaml_util.load_yaml(yaml_file) +@lru_cache(maxsize=256) +def get_component_packages( + component_name: str, platform: str, tests_dir_str: str +) -> dict: + """Get packages dict from a component's test file with caching. + + This function is cached to avoid re-loading and re-parsing the same file + multiple times when extracting packages during cross-bus merging. + + Args: + component_name: Name of the component + platform: Platform name (e.g., "esp32-idf") + tests_dir_str: String path to tests/components directory (must be string for cache hashability) + + Returns: + Dictionary with 'packages' key containing the raw packages dict from the YAML, + or empty dict if no packages section exists + """ + tests_dir = Path(tests_dir_str) + test_file = tests_dir / component_name / f"test.{platform}.yaml" + comp_data = load_yaml_file(test_file) + + if "packages" not in comp_data or not isinstance(comp_data["packages"], dict): + return {} + + return comp_data["packages"] + + def extract_packages_from_yaml(data: dict) -> dict[str, str]: """Extract COMMON BUS package includes from parsed YAML. @@ -82,7 +115,7 @@ def extract_packages_from_yaml(data: dict) -> dict[str, str]: if dep not in common_bus_packages: continue # Mark as included via dependency - packages[f"_dep_{dep}"] = f"(included via {name})" + packages[f"{DEPENDENCY_MARKER_PREFIX}{dep}"] = f"(included via {name})" return packages @@ -195,6 +228,9 @@ def merge_component_configs( # Start with empty config merged_config_data = {} + # Convert tests_dir to string for caching + tests_dir_str = str(tests_dir) + # Process each component for comp_name in component_names: comp_dir = tests_dir / comp_name @@ -206,26 +242,29 @@ def merge_component_configs( # Load the component's test file comp_data = load_yaml_file(test_file) - # Validate packages are compatible - # Components with no packages (no_buses) can merge with any group + # Merge packages from all components (cross-bus merging) + # Components can have different packages (e.g., one with ble, another with uart) + # as long as they don't conflict (checked by are_buses_compatible before calling this) comp_packages = extract_packages_from_yaml(comp_data) if all_packages is None: - # First component - set the baseline - all_packages = comp_packages - elif not comp_packages: - # This component has no packages (no_buses) - it can merge with any group - pass - elif not all_packages: - # Previous components had no packages, but this one does - adopt these packages - all_packages = comp_packages - elif comp_packages != all_packages: - # Both have packages but they differ - this is an error - raise ValueError( - f"Component {comp_name} has different packages than previous components. " - f"Expected: {all_packages}, Got: {comp_packages}. " - f"All components must use the same common bus configs to be merged." - ) + # First component - initialize package dict + all_packages = comp_packages if comp_packages else {} + elif comp_packages: + # Merge packages - combine all unique package types + # If both have the same package type, verify they're identical + for pkg_name, pkg_config in comp_packages.items(): + if pkg_name in all_packages: + # Same package type - verify config matches + if all_packages[pkg_name] != pkg_config: + raise ValueError( + f"Component {comp_name} has conflicting config for package '{pkg_name}'. " + f"Expected: {all_packages[pkg_name]}, Got: {pkg_config}. " + f"Components with conflicting bus configs cannot be merged." + ) + else: + # New package type - add it + all_packages[pkg_name] = pkg_config # Handle $component_dir by replacing with absolute path # This allows components that use local file references to be grouped @@ -287,26 +326,51 @@ def merge_component_configs( # merge_config handles list merging with ID-based deduplication automatically merged_config_data = merge_config(merged_config_data, comp_data) - # Add packages back (only once, since they're identical) - # IMPORTANT: Only re-add common bus packages (spi, i2c, uart, etc.) + # Add merged packages back (union of all component packages) + # IMPORTANT: Only include common bus packages (spi, i2c, uart, etc.) # Do NOT re-add component-specific packages as they contain unprefixed $component_dir refs if all_packages: - first_comp_data = load_yaml_file( - tests_dir / component_names[0] / f"test.{platform}.yaml" - ) - if "packages" in first_comp_data and isinstance( - first_comp_data["packages"], dict - ): - # Filter to only include common bus packages - # Only dict format can contain common bus packages - common_bus_packages = get_common_bus_packages() - filtered_packages = { - name: value - for name, value in first_comp_data["packages"].items() - if name in common_bus_packages - } - if filtered_packages: - merged_config_data["packages"] = filtered_packages + # Build packages dict from merged all_packages + # all_packages is a dict mapping package_name -> str(package_value) + # We need to reconstruct the actual package values by loading them from any component + # Since packages with the same name must have identical configs (verified above), + # we can load the package value from the first component that has each package + common_bus_packages = get_common_bus_packages() + merged_packages: dict[str, Any] = {} + + # Collect packages that are included as dependencies + # If modbus is present, uart is included via modbus.packages.uart + packages_to_skip: set[str] = set() + for pkg_name in all_packages: + if pkg_name.startswith(DEPENDENCY_MARKER_PREFIX): + # Extract the actual package name (remove _dep_ prefix) + dep_name = pkg_name[len(DEPENDENCY_MARKER_PREFIX) :] + packages_to_skip.add(dep_name) + + for pkg_name in all_packages: + # Skip dependency markers + if pkg_name.startswith(DEPENDENCY_MARKER_PREFIX): + continue + # Skip non-common-bus packages + if pkg_name not in common_bus_packages: + continue + # Skip packages that are included as dependencies of other packages + # This prevents duplicate definitions (e.g., uart via modbus + uart separately) + if pkg_name in packages_to_skip: + continue + + # Find a component that has this package and extract its value + # Uses cached lookup to avoid re-loading the same files + for comp_name in component_names: + comp_packages = get_component_packages( + comp_name, platform, tests_dir_str + ) + if pkg_name in comp_packages: + merged_packages[pkg_name] = comp_packages[pkg_name] + break + + if merged_packages: + merged_config_data["packages"] = merged_packages # Deduplicate items with same ID (keeps first occurrence) merged_config_data = deduplicate_by_id(merged_config_data) diff --git a/script/split_components_for_ci.py b/script/split_components_for_ci.py index 9730db4988..dff46d3619 100755 --- a/script/split_components_for_ci.py +++ b/script/split_components_for_ci.py @@ -22,9 +22,11 @@ sys.path.insert(0, str(Path(__file__).parent.parent)) from script.analyze_component_buses import ( ISOLATED_COMPONENTS, + ISOLATED_SIGNATURE_PREFIX, NO_BUSES_SIGNATURE, analyze_all_components, create_grouping_signature, + merge_compatible_bus_groups, ) # Weighting for batch creation @@ -33,6 +35,10 @@ from script.analyze_component_buses import ( ISOLATED_WEIGHT = 10 GROUPABLE_WEIGHT = 1 +# Platform used for batching (platform-agnostic batching) +# Batches are split across CI runners and each runner tests all platforms +ALL_PLATFORMS = "all" + def has_test_files(component_name: str, tests_dir: Path) -> bool: """Check if a component has test files. @@ -57,7 +63,7 @@ def create_intelligent_batches( tests_dir: Path, batch_size: int = 40, directly_changed: set[str] | None = None, -) -> list[list[str]]: +) -> tuple[list[list[str]], dict[tuple[str, str], list[str]]]: """Create batches optimized for component grouping. Args: @@ -67,7 +73,9 @@ def create_intelligent_batches( directly_changed: Set of directly changed components (for logging only) Returns: - List of component batches (lists of component names) + Tuple of (batches, signature_groups) where: + - batches: List of component batches (lists of component names) + - signature_groups: Dict mapping (platform, signature) to component lists """ # Filter out components without test files # Platform components like 'climate' and 'climate_ir' don't have test files @@ -91,8 +99,9 @@ def create_intelligent_batches( # Group components by their bus signature ONLY (ignore platform) # All platforms will be tested by test_build_components.py for each batch - # Key: signature, Value: list of components - signature_groups: dict[str, list[str]] = defaultdict(list) + # Key: (platform, signature), Value: list of components + # We use ALL_PLATFORMS since batching is platform-agnostic + signature_groups: dict[tuple[str, str], list[str]] = defaultdict(list) for component in components_with_tests: # Components that can't be grouped get unique signatures @@ -107,7 +116,9 @@ def create_intelligent_batches( or (directly_changed and component in directly_changed) ) if is_isolated: - signature_groups[f"isolated_{component}"].append(component) + signature_groups[ + (ALL_PLATFORMS, f"{ISOLATED_SIGNATURE_PREFIX}{component}") + ].append(component) continue # Get signature from any platform (they should all have the same buses) @@ -117,11 +128,17 @@ def create_intelligent_batches( if buses: signature = create_grouping_signature({platform: buses}, platform) # Group by signature only - platform doesn't matter for batching - signature_groups[signature].append(component) + # Use ALL_PLATFORMS since we're batching across all platforms + signature_groups[(ALL_PLATFORMS, signature)].append(component) break # Only use first platform for grouping else: # No buses found for any platform - can be grouped together - signature_groups[NO_BUSES_SIGNATURE].append(component) + signature_groups[(ALL_PLATFORMS, NO_BUSES_SIGNATURE)].append(component) + + # Merge compatible bus groups (cross-bus optimization) + # This allows components with different buses (ble + uart) to be batched together + # improving the efficiency of test_build_components.py grouping + signature_groups = merge_compatible_bus_groups(signature_groups) # Create batches by keeping signature groups together # Components with the same signature stay in the same batches @@ -132,8 +149,8 @@ def create_intelligent_batches( # 2. Sort groupable signatures by size (largest first) # 3. "no_buses" components CAN be grouped together def sort_key(item): - signature, components = item - is_isolated = signature.startswith("isolated_") + (_platform, signature), components = item + is_isolated = signature.startswith(ISOLATED_SIGNATURE_PREFIX) # Put "isolated_*" last (1), groupable first (0) # Within each category, sort by size (largest first) return (is_isolated, -len(components)) @@ -149,8 +166,8 @@ def create_intelligent_batches( current_batch = [] current_weight = 0 - for signature, group_components in sorted_groups: - is_isolated = signature.startswith("isolated_") + for (_platform, signature), group_components in sorted_groups: + is_isolated = signature.startswith(ISOLATED_SIGNATURE_PREFIX) weight_per_component = ISOLATED_WEIGHT if is_isolated else GROUPABLE_WEIGHT for component in group_components: @@ -169,7 +186,7 @@ def create_intelligent_batches( if current_batch: batches.append(current_batch) - return batches + return batches, signature_groups def main() -> int: @@ -231,7 +248,7 @@ def main() -> int: return 1 # Create intelligent batches - batches = create_intelligent_batches( + batches, signature_groups = create_intelligent_batches( components=components, tests_dir=args.tests_dir, batch_size=args.batch_size, @@ -256,6 +273,58 @@ def main() -> int: # Re-analyze to get isolated component counts for summary _, non_groupable, _ = analyze_all_components(args.tests_dir) + # Show grouping details + print("\n=== Component Grouping Details ===", file=sys.stderr) + # Sort groups by signature for readability + groupable_groups = [] + isolated_groups = [] + for (platform, signature), group_comps in sorted(signature_groups.items()): + if signature.startswith(ISOLATED_SIGNATURE_PREFIX): + isolated_groups.append((signature, group_comps)) + else: + groupable_groups.append((signature, group_comps)) + + if groupable_groups: + print( + f"\nGroupable signatures ({len(groupable_groups)} merged groups after cross-bus optimization):", + file=sys.stderr, + ) + for signature, group_comps in sorted( + groupable_groups, key=lambda x: (-len(x[1]), x[0]) + ): + # Check if this is a merged signature (contains +) + is_merged = "+" in signature and signature != NO_BUSES_SIGNATURE + # Special handling for no_buses components + if signature == NO_BUSES_SIGNATURE: + print( + f" [{signature}]: {len(group_comps)} components (used as fillers across batches)", + file=sys.stderr, + ) + else: + merge_indicator = " [MERGED]" if is_merged else "" + print( + f" [{signature}]{merge_indicator}: {len(group_comps)} components", + file=sys.stderr, + ) + # Show first few components as examples + examples = ", ".join(sorted(group_comps)[:8]) + if len(group_comps) > 8: + examples += f", ... (+{len(group_comps) - 8} more)" + print(f" → {examples}", file=sys.stderr) + + if isolated_groups: + print( + f"\nIsolated components ({len(isolated_groups)} components - tested individually):", + file=sys.stderr, + ) + isolated_names = sorted( + [comp for _, comps in isolated_groups for comp in comps] + ) + # Group isolated components for compact display + for i in range(0, len(isolated_names), 10): + chunk = isolated_names[i : i + 10] + print(f" {', '.join(chunk)}", file=sys.stderr) + # Count isolated vs groupable components all_batched_components = [comp for batch in batches for comp in batch] isolated_count = sum( diff --git a/script/test_build_components.py b/script/test_build_components.py index 14fc10977c..c98d425447 100755 --- a/script/test_build_components.py +++ b/script/test_build_components.py @@ -17,11 +17,13 @@ from __future__ import annotations import argparse from collections import defaultdict +from dataclasses import dataclass import hashlib import os from pathlib import Path import subprocess import sys +import time # Add esphome to path sys.path.insert(0, str(Path(__file__).parent.parent)) @@ -34,32 +36,49 @@ from script.analyze_component_buses import ( analyze_all_components, create_grouping_signature, is_platform_component, + merge_compatible_bus_groups, uses_local_file_references, ) from script.merge_component_configs import merge_component_configs -# Platform-specific maximum group sizes -# ESP8266 has limited IRAM and can't handle large component groups -PLATFORM_MAX_GROUP_SIZE = { - "esp8266-ard": 10, # ESP8266 Arduino has limited IRAM - "esp8266-idf": 10, # ESP8266 IDF also has limited IRAM - # BK72xx now uses BK7252 board (1.62MB flash vs 1.03MB) - no limit needed - # Other platforms can handle larger groups -} + +@dataclass +class TestResult: + """Store information about a single test run.""" + + test_id: str + components: list[str] + platform: str + success: bool + duration: float + command: str = "" + test_type: str = "compile" # "config" or "compile" def show_disk_space_if_ci(esphome_command: str) -> None: """Show disk space usage if running in CI during compile. + Only shows output during compilation (not config validation) since + disk space is only relevant when actually building firmware. + Args: esphome_command: The esphome command being run (config/compile/clean) """ - if os.environ.get("GITHUB_ACTIONS") and esphome_command == "compile": - print("\n" + "=" * 80) - print("Disk Space After Build:") - print("=" * 80) - subprocess.run(["df", "-h"], check=False) - print("=" * 80 + "\n") + # Only show disk space during compilation in CI + # Config validation doesn't build anything so disk space isn't relevant + if not os.environ.get("GITHUB_ACTIONS"): + return + if esphome_command != "compile": + return + + print("\n" + "=" * 80) + print("Disk Space After Build:") + print("=" * 80) + # Use sys.stdout.flush() to ensure output appears immediately + sys.stdout.flush() + subprocess.run(["df", "-h"], check=False, stdout=sys.stdout, stderr=sys.stderr) + print("=" * 80 + "\n") + sys.stdout.flush() def find_component_tests( @@ -128,6 +147,140 @@ def get_platform_base_files(base_dir: Path) -> dict[str, list[Path]]: return dict(platform_files) +def group_components_by_platform( + failed_results: list[TestResult], +) -> dict[tuple[str, str], list[str]]: + """Group failed components by platform and test type for simplified reproduction commands. + + Args: + failed_results: List of failed test results + + Returns: + Dictionary mapping (platform, test_type) to list of component names + """ + platform_components: dict[tuple[str, str], list[str]] = {} + for result in failed_results: + key = (result.platform, result.test_type) + if key not in platform_components: + platform_components[key] = [] + platform_components[key].extend(result.components) + + # Remove duplicates and sort for each platform + return { + key: sorted(set(components)) for key, components in platform_components.items() + } + + +def format_github_summary(test_results: list[TestResult]) -> str: + """Format test results as GitHub Actions job summary markdown. + + Args: + test_results: List of all test results + + Returns: + Markdown formatted summary string + """ + # Separate results into passed and failed + passed_results = [r for r in test_results if r.success] + failed_results = [r for r in test_results if not r.success] + + lines = [] + + # Header with emoji based on success/failure + if failed_results: + lines.append("## :x: Component Tests Failed\n") + else: + lines.append("## :white_check_mark: Component Tests Passed\n") + + # Summary statistics + total_time = sum(r.duration for r in test_results) + # Determine test type from results (all should be the same) + test_type = test_results[0].test_type if test_results else "unknown" + lines.append( + f"**Results:** {len(passed_results)} passed, {len(failed_results)} failed\n" + ) + lines.append(f"**Total time:** {total_time:.1f}s\n") + lines.append(f"**Test type:** `{test_type}`\n") + + # Show failed tests if any + if failed_results: + lines.append("### Failed Tests\n") + lines.append("| Test | Components | Platform | Duration |\n") + lines.append("|------|-----------|----------|----------|\n") + for result in failed_results: + components_str = ", ".join(result.components) + lines.append( + f"| `{result.test_id}` | {components_str} | {result.platform} | {result.duration:.1f}s |\n" + ) + lines.append("\n") + + # Show simplified commands to reproduce failures + # Group all failed components by platform for a single command per platform + lines.append("
\n") + lines.append("Commands to reproduce failures\n\n") + lines.append("```bash\n") + + # Generate one command per platform and test type + platform_components = group_components_by_platform(failed_results) + for platform, test_type in sorted(platform_components.keys()): + components_csv = ",".join(platform_components[(platform, test_type)]) + lines.append( + f"script/test_build_components.py -c {components_csv} -t {platform} -e {test_type}\n" + ) + + lines.append("```\n") + lines.append("
\n") + + # Show passed tests + if passed_results: + lines.append("### Passed Tests\n\n") + lines.append(f"{len(passed_results)} tests passed successfully\n") + + # Separate grouped and individual tests + grouped_results = [r for r in passed_results if len(r.components) > 1] + individual_results = [r for r in passed_results if len(r.components) == 1] + + if grouped_results: + lines.append("#### Grouped Tests\n") + lines.append("| Components | Platform | Count | Duration |\n") + lines.append("|-----------|----------|-------|----------|\n") + for result in grouped_results: + components_str = ", ".join(result.components) + lines.append( + f"| {components_str} | {result.platform} | {len(result.components)} | {result.duration:.1f}s |\n" + ) + lines.append("\n") + + if individual_results: + lines.append("#### Individual Tests\n") + # Show first 10 individual tests with timing + if len(individual_results) <= 10: + lines.extend( + f"- `{result.test_id}` - {result.duration:.1f}s\n" + for result in individual_results + ) + else: + lines.extend( + f"- `{result.test_id}` - {result.duration:.1f}s\n" + for result in individual_results[:10] + ) + lines.append(f"\n...and {len(individual_results) - 10} more\n") + lines.append("\n") + + return "".join(lines) + + +def write_github_summary(test_results: list[TestResult]) -> None: + """Write GitHub Actions job summary with test results and timing. + + Args: + test_results: List of all test results + """ + summary_content = format_github_summary(test_results) + with open(os.environ["GITHUB_STEP_SUMMARY"], "a", encoding="utf-8") as f: + f.write(summary_content) + + def extract_platform_with_version(base_file: Path) -> str: """Extract platform with version from base filename. @@ -151,7 +304,7 @@ def run_esphome_test( esphome_command: str, continue_on_fail: bool, use_testing_mode: bool = False, -) -> tuple[bool, str]: +) -> TestResult: """Run esphome test for a single component. Args: @@ -166,7 +319,7 @@ def run_esphome_test( use_testing_mode: Whether to use --testing-mode flag Returns: - Tuple of (success status, command string) + TestResult object with test details and timing """ test_name = test_file.stem.split(".")[0] @@ -221,9 +374,13 @@ def run_esphome_test( if use_testing_mode: print(" (using --testing-mode)") + start_time = time.time() + test_id = f"{component}.{test_name}.{platform_with_version}" + try: result = subprocess.run(cmd, check=False) success = result.returncode == 0 + duration = time.time() - start_time # Show disk space after build in CI during compile show_disk_space_if_ci(esphome_command) @@ -236,12 +393,30 @@ def run_esphome_test( print(cmd_str) print() raise subprocess.CalledProcessError(result.returncode, cmd) - return success, cmd_str + + return TestResult( + test_id=test_id, + components=[component], + platform=platform_with_version, + success=success, + duration=duration, + command=cmd_str, + test_type=esphome_command, + ) except subprocess.CalledProcessError: + duration = time.time() - start_time # Re-raise if we're not continuing on fail if not continue_on_fail: raise - return False, cmd_str + return TestResult( + test_id=test_id, + components=[component], + platform=platform_with_version, + success=False, + duration=duration, + command=cmd_str, + test_type=esphome_command, + ) def run_grouped_test( @@ -253,7 +428,7 @@ def run_grouped_test( tests_dir: Path, esphome_command: str, continue_on_fail: bool, -) -> tuple[bool, str]: +) -> TestResult: """Run esphome test for a group of components with shared bus configs. Args: @@ -267,7 +442,7 @@ def run_grouped_test( continue_on_fail: Whether to continue on failure Returns: - Tuple of (success status, command string) + TestResult object with test details and timing """ # Create merged config group_name = "_".join(components[:3]) # Use first 3 components for name @@ -294,8 +469,17 @@ def run_grouped_test( print(f"Error merging configs for {components}: {e}") if not continue_on_fail: raise - # Return empty command string since we failed before building the command - return False, f"# Failed during config merge: {e}" + # Return TestResult for merge failure + test_id = f"GROUPED[{','.join(components)}].{platform_with_version}" + return TestResult( + test_id=test_id, + components=components, + platform=platform_with_version, + success=False, + duration=0.0, + command=f"# Failed during config merge: {e}", + test_type=esphome_command, + ) # Create test file that includes merged config output_file = build_dir / f"test_{group_name}.{platform_with_version}.yaml" @@ -334,9 +518,13 @@ def run_grouped_test( print(f"> [GROUPED: {components_str}] [{platform_with_version}]") print(" (using --testing-mode)") + start_time = time.time() + test_id = f"GROUPED[{','.join(components)}].{platform_with_version}" + try: result = subprocess.run(cmd, check=False) success = result.returncode == 0 + duration = time.time() - start_time # Show disk space after build in CI during compile show_disk_space_if_ci(esphome_command) @@ -349,12 +537,30 @@ def run_grouped_test( print(cmd_str) print() raise subprocess.CalledProcessError(result.returncode, cmd) - return success, cmd_str + + return TestResult( + test_id=test_id, + components=components, + platform=platform_with_version, + success=success, + duration=duration, + command=cmd_str, + test_type=esphome_command, + ) except subprocess.CalledProcessError: + duration = time.time() - start_time # Re-raise if we're not continuing on fail if not continue_on_fail: raise - return False, cmd_str + return TestResult( + test_id=test_id, + components=components, + platform=platform_with_version, + success=False, + duration=duration, + command=cmd_str, + test_type=esphome_command, + ) def run_grouped_component_tests( @@ -366,7 +572,7 @@ def run_grouped_component_tests( esphome_command: str, continue_on_fail: bool, additional_isolated: set[str] | None = None, -) -> tuple[set[tuple[str, str]], list[str], list[str], dict[str, str]]: +) -> tuple[set[tuple[str, str]], list[TestResult]]: """Run grouped component tests. Args: @@ -380,12 +586,10 @@ def run_grouped_component_tests( additional_isolated: Additional components to treat as isolated (not grouped) Returns: - Tuple of (tested_components, passed_tests, failed_tests, failed_commands) + Tuple of (tested_components, test_results) """ tested_components = set() - passed_tests = [] - failed_tests = [] - failed_commands = {} # Map test_id to command string + test_results = [] # Group components by platform and bus signature grouped_components: dict[tuple[str, str], list[str]] = defaultdict(list) @@ -462,6 +666,11 @@ def run_grouped_component_tests( if signature: grouped_components[(platform, signature)].append(component) + # Merge groups with compatible buses (cross-bus grouping optimization) + # This allows mixing components with different buses (e.g., ble + uart) + # as long as they don't have conflicting configurations for the same bus type + grouped_components = merge_compatible_bus_groups(grouped_components) + # Print detailed grouping plan print("\nGrouping Plan:") print("-" * 80) @@ -560,28 +769,6 @@ def run_grouped_component_tests( # No other groups for this platform - keep no_buses components together grouped_components[(platform, NO_BUSES_SIGNATURE)] = no_buses_comps - # Split groups that exceed platform-specific maximum sizes - # ESP8266 has limited IRAM and can't handle large component groups - split_groups = {} - for (platform, signature), components in list(grouped_components.items()): - max_size = PLATFORM_MAX_GROUP_SIZE.get(platform) - if max_size and len(components) > max_size: - # Split this group into smaller groups - print( - f"\n ℹ️ Splitting {platform} group (signature: {signature}) " - f"from {len(components)} to max {max_size} components per group" - ) - # Remove original group - del grouped_components[(platform, signature)] - # Create split groups - for i in range(0, len(components), max_size): - split_components = components[i : i + max_size] - # Create unique signature for each split group - split_signature = f"{signature}_split{i // max_size + 1}" - split_groups[(platform, split_signature)] = split_components - # Add split groups back - grouped_components.update(split_groups) - groups_to_test = [] individual_tests = set() # Use set to avoid duplicates @@ -672,7 +859,7 @@ def run_grouped_component_tests( continue # Run grouped test - success, cmd_str = run_grouped_test( + test_result = run_grouped_test( components=components_to_group, platform=platform, platform_with_version=platform_with_version, @@ -687,17 +874,10 @@ def run_grouped_component_tests( for comp in components_to_group: tested_components.add((comp, platform_with_version)) - # Record result for each component - show all components in grouped tests - test_id = ( - f"GROUPED[{','.join(components_to_group)}].{platform_with_version}" - ) - if success: - passed_tests.append(test_id) - else: - failed_tests.append(test_id) - failed_commands[test_id] = cmd_str + # Store test result + test_results.append(test_result) - return tested_components, passed_tests, failed_tests, failed_commands + return tested_components, test_results def run_individual_component_test( @@ -710,9 +890,7 @@ def run_individual_component_test( esphome_command: str, continue_on_fail: bool, tested_components: set[tuple[str, str]], - passed_tests: list[str], - failed_tests: list[str], - failed_commands: dict[str, str], + test_results: list[TestResult], ) -> None: """Run an individual component test if not already tested in a group. @@ -726,16 +904,13 @@ def run_individual_component_test( esphome_command: ESPHome command continue_on_fail: Whether to continue on failure tested_components: Set of already tested components - passed_tests: List to append passed test IDs - failed_tests: List to append failed test IDs - failed_commands: Dict to store failed test commands + test_results: List to append test results """ # Skip if already tested in a group if (component, platform_with_version) in tested_components: return - test_name = test_file.stem.split(".")[0] - success, cmd_str = run_esphome_test( + test_result = run_esphome_test( component=component, test_file=test_file, platform=platform, @@ -745,12 +920,7 @@ def run_individual_component_test( esphome_command=esphome_command, continue_on_fail=continue_on_fail, ) - test_id = f"{component}.{test_name}.{platform_with_version}" - if success: - passed_tests.append(test_id) - else: - failed_tests.append(test_id) - failed_commands[test_id] = cmd_str + test_results.append(test_result) def test_components( @@ -799,19 +969,12 @@ def test_components( print(f"Found {len(all_tests)} components to test") # Run tests - failed_tests = [] - passed_tests = [] + test_results = [] tested_components = set() # Track which components were tested in groups - failed_commands = {} # Track commands for failed tests # First, run grouped tests if grouping is enabled if enable_grouping: - ( - tested_components, - passed_tests, - failed_tests, - failed_commands, - ) = run_grouped_component_tests( + tested_components, grouped_results = run_grouped_component_tests( all_tests=all_tests, platform_filter=platform_filter, platform_bases=platform_bases, @@ -821,6 +984,7 @@ def test_components( continue_on_fail=continue_on_fail, additional_isolated=isolated_components, ) + test_results.extend(grouped_results) # Then run individual tests for components not in groups for component, test_files in sorted(all_tests.items()): @@ -846,9 +1010,7 @@ def test_components( esphome_command=esphome_command, continue_on_fail=continue_on_fail, tested_components=tested_components, - passed_tests=passed_tests, - failed_tests=failed_tests, - failed_commands=failed_commands, + test_results=test_results, ) else: # Platform-specific test @@ -880,31 +1042,40 @@ def test_components( esphome_command=esphome_command, continue_on_fail=continue_on_fail, tested_components=tested_components, - passed_tests=passed_tests, - failed_tests=failed_tests, - failed_commands=failed_commands, + test_results=test_results, ) + # Separate results into passed and failed + passed_results = [r for r in test_results if r.success] + failed_results = [r for r in test_results if not r.success] + # Print summary print("\n" + "=" * 80) - print(f"Test Summary: {len(passed_tests)} passed, {len(failed_tests)} failed") + print(f"Test Summary: {len(passed_results)} passed, {len(failed_results)} failed") print("=" * 80) - if failed_tests: + if failed_results: print("\nFailed tests:") - for test in failed_tests: - print(f" - {test}") + for result in failed_results: + print(f" - {result.test_id}") - # Print failed commands at the end for easy copy-paste from CI logs + # Print simplified commands grouped by platform and test type for easy copy-paste print("\n" + "=" * 80) - print("Failed test commands (copy-paste to reproduce locally):") + print("Commands to reproduce failures (copy-paste to reproduce locally):") print("=" * 80) - for test in failed_tests: - if test in failed_commands: - print(f"\n# {test}") - print(failed_commands[test]) + platform_components = group_components_by_platform(failed_results) + for platform, test_type in sorted(platform_components.keys()): + components_csv = ",".join(platform_components[(platform, test_type)]) + print( + f"script/test_build_components.py -c {components_csv} -t {platform} -e {test_type}" + ) print() + # Write GitHub Actions job summary if in CI + if os.environ.get("GITHUB_STEP_SUMMARY"): + write_github_summary(test_results) + + if failed_results: return 1 return 0 diff --git a/tests/components/ade7880/test.esp8266-ard.yaml b/tests/components/ade7880/test.esp8266-ard.yaml index 81a04d0724..8b5e47f0b5 100644 --- a/tests/components/ade7880/test.esp8266-ard.yaml +++ b/tests/components/ade7880/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - irq0_pin: GPIO13 + irq0_pin: GPIO0 irq1_pin: GPIO15 reset_pin: GPIO16 diff --git a/tests/components/ade7953_i2c/common.yaml b/tests/components/ade7953_i2c/common.yaml index 8b2a9588fe..5253759888 100644 --- a/tests/components/ade7953_i2c/common.yaml +++ b/tests/components/ade7953_i2c/common.yaml @@ -4,10 +4,13 @@ sensor: irq_pin: ${irq_pin} voltage: name: ADE7953 Voltage + id: ade7953_i2c_voltage current_a: name: ADE7953 Current A + id: ade7953_i2c_current_a current_b: name: ADE7953 Current B + id: ade7953_i2c_current_b power_factor_a: name: ADE7953 Power Factor A power_factor_b: diff --git a/tests/components/ade7953_spi/common.yaml b/tests/components/ade7953_spi/common.yaml index 30b5258a2a..f66ab697a1 100644 --- a/tests/components/ade7953_spi/common.yaml +++ b/tests/components/ade7953_spi/common.yaml @@ -4,13 +4,13 @@ sensor: irq_pin: ${irq_pin} voltage: name: ADE7953 Voltage - id: ade7953_voltage + id: ade7953_spi_voltage current_a: name: ADE7953 Current A - id: ade7953_current_a + id: ade7953_spi_current_a current_b: name: ADE7953 Current B - id: ade7953_current_b + id: ade7953_spi_current_b power_factor_a: name: ADE7953 Power Factor A power_factor_b: diff --git a/tests/components/as3935_i2c/common.yaml b/tests/components/as3935_i2c/common.yaml index a758bb7f56..d659486e83 100644 --- a/tests/components/as3935_i2c/common.yaml +++ b/tests/components/as3935_i2c/common.yaml @@ -1,13 +1,16 @@ as3935_i2c: + id: as3935_i2c_id i2c_id: i2c_bus irq_pin: ${irq_pin} binary_sensor: - platform: as3935 + as3935_id: as3935_i2c_id name: Storm Alert sensor: - platform: as3935 + as3935_id: as3935_i2c_id lightning_energy: name: Lightning Energy distance: diff --git a/tests/components/as3935_spi/common.yaml b/tests/components/as3935_spi/common.yaml index 5898d5d365..d2942dc01d 100644 --- a/tests/components/as3935_spi/common.yaml +++ b/tests/components/as3935_spi/common.yaml @@ -1,13 +1,16 @@ as3935_spi: + id: as3935_spi_id cs_pin: ${cs_pin} irq_pin: ${irq_pin} binary_sensor: - platform: as3935 + as3935_id: as3935_spi_id name: Storm Alert sensor: - platform: as3935 + as3935_id: as3935_spi_id lightning_energy: name: Lightning Energy distance: diff --git a/tests/components/axs15231/common.yaml b/tests/components/axs15231/common.yaml index 3f07af80ea..d4fd3becbb 100644 --- a/tests/components/axs15231/common.yaml +++ b/tests/components/axs15231/common.yaml @@ -1,7 +1,7 @@ display: - platform: ssd1306_i2c i2c_id: i2c_bus - id: ssd1306_display + id: ssd1306_i2c_display model: SSD1306_128X64 reset_pin: 19 pages: @@ -13,6 +13,6 @@ touchscreen: - platform: axs15231 i2c_id: i2c_bus id: axs15231_touchscreen - display: ssd1306_display + display: ssd1306_i2c_display interrupt_pin: 20 reset_pin: 18 diff --git a/tests/components/bme280_i2c/common.yaml b/tests/components/bme280_i2c/common.yaml index e6d41d209c..a31a6f9a6c 100644 --- a/tests/components/bme280_i2c/common.yaml +++ b/tests/components/bme280_i2c/common.yaml @@ -3,12 +3,12 @@ sensor: i2c_id: i2c_bus address: 0x76 temperature: - id: bme280_temperature + id: bme280_i2c_temperature name: BME280 Temperature humidity: - id: bme280_humidity + id: bme280_i2c_humidity name: BME280 Humidity pressure: - id: bme280_pressure + id: bme280_i2c_pressure name: BME280 Pressure update_interval: 15s diff --git a/tests/components/bme280_spi/common.yaml b/tests/components/bme280_spi/common.yaml index 9a50b410fb..d97b475f0e 100644 --- a/tests/components/bme280_spi/common.yaml +++ b/tests/components/bme280_spi/common.yaml @@ -2,12 +2,12 @@ sensor: - platform: bme280_spi cs_pin: ${cs_pin} temperature: - id: bme280_temperature + id: bme280_spi_temperature name: BME280 Temperature humidity: - id: bme280_humidity + id: bme280_spi_humidity name: BME280 Humidity pressure: - id: bme280_pressure + id: bme280_spi_pressure name: BME280 Pressure update_interval: 15s diff --git a/tests/components/bmp280_i2c/common.yaml b/tests/components/bmp280_i2c/common.yaml index 785343de7d..77a9db7fc5 100644 --- a/tests/components/bmp280_i2c/common.yaml +++ b/tests/components/bmp280_i2c/common.yaml @@ -3,10 +3,10 @@ sensor: i2c_id: i2c_bus address: 0x77 temperature: - id: bmp280_temperature + id: bmp280_i2c_temperature name: Outside Temperature pressure: name: Outside Pressure - id: bmp280_pressure + id: bmp280_i2c_pressure iir_filter: 16x update_interval: 15s diff --git a/tests/components/bmp280_spi/common.yaml b/tests/components/bmp280_spi/common.yaml index fa88967ca4..1be54f6b74 100644 --- a/tests/components/bmp280_spi/common.yaml +++ b/tests/components/bmp280_spi/common.yaml @@ -2,10 +2,10 @@ sensor: - platform: bmp280_spi cs_pin: ${cs_pin} temperature: - id: bmp280_temperature + id: bmp280_spi_temperature name: Outside Temperature pressure: name: Outside Pressure - id: bmp280_pressure + id: bmp280_spi_pressure iir_filter: 16x update_interval: 15s diff --git a/tests/components/bmp3xx_i2c/common.yaml b/tests/components/bmp3xx_i2c/common.yaml index ebc4921b84..e651072f25 100644 --- a/tests/components/bmp3xx_i2c/common.yaml +++ b/tests/components/bmp3xx_i2c/common.yaml @@ -3,8 +3,10 @@ sensor: i2c_id: i2c_bus address: 0x77 temperature: + id: bmp3xx_i2c_temperature name: BMP Temperature oversampling: 16x pressure: + id: bmp3xx_i2c_pressure name: BMP Pressure iir_filter: 2X diff --git a/tests/components/bmp3xx_spi/common.yaml b/tests/components/bmp3xx_spi/common.yaml index d6acef1833..b59d46c967 100644 --- a/tests/components/bmp3xx_spi/common.yaml +++ b/tests/components/bmp3xx_spi/common.yaml @@ -2,8 +2,10 @@ sensor: - platform: bmp3xx_spi cs_pin: ${cs_pin} temperature: + id: bmp3xx_spi_temperature name: BMP Temperature oversampling: 16x pressure: + id: bmp3xx_spi_pressure name: BMP Pressure iir_filter: 2X diff --git a/tests/components/camera/test.esp32-idf.yaml b/tests/components/camera/test.esp32-idf.yaml index 3d93dd6418..ef8f74d4eb 100644 --- a/tests/components/camera/test.esp32-idf.yaml +++ b/tests/components/camera/test.esp32-idf.yaml @@ -1,4 +1,4 @@ packages: - camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + i2c_camera: !include ../../test_build_components/common/i2c_camera/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/camera_encoder/test.esp32-idf.yaml b/tests/components/camera_encoder/test.esp32-idf.yaml index 3d93dd6418..ef8f74d4eb 100644 --- a/tests/components/camera_encoder/test.esp32-idf.yaml +++ b/tests/components/camera_encoder/test.esp32-idf.yaml @@ -1,4 +1,4 @@ packages: - camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + i2c_camera: !include ../../test_build_components/common/i2c_camera/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/chsc6x/test.esp32-idf.yaml b/tests/components/chsc6x/test.esp32-idf.yaml index ea3686d8bd..fa7c72150e 100644 --- a/tests/components/chsc6x/test.esp32-idf.yaml +++ b/tests/components/chsc6x/test.esp32-idf.yaml @@ -4,6 +4,7 @@ packages: display: - platform: ili9xxx + spi_id: spi_bus id: ili9xxx_display model: GC9A01A invert_colors: True @@ -16,5 +17,6 @@ display: touchscreen: - platform: chsc6x + i2c_id: i2c_bus display: ili9xxx_display interrupt_pin: 20 diff --git a/tests/components/ektf2232/common.yaml b/tests/components/ektf2232/common.yaml index 8ab57be46f..1c4d768b08 100644 --- a/tests/components/ektf2232/common.yaml +++ b/tests/components/ektf2232/common.yaml @@ -1,7 +1,7 @@ display: - platform: ssd1306_i2c i2c_id: i2c_bus - id: ssd1306_display + id: ssd1306_i2c_display model: SSD1306_128X64 reset_pin: ${display_reset_pin} pages: @@ -15,7 +15,7 @@ touchscreen: id: ektf2232_touchscreen interrupt_pin: ${interrupt_pin} reset_pin: ${touch_reset_pin} - display: ssd1306_display + display: ssd1306_i2c_display on_touch: - logger.log: format: Touch at (%d, %d) diff --git a/tests/components/ens160_i2c/common.yaml b/tests/components/ens160_i2c/common.yaml index 685c8d3fee..1da2bacec2 100644 --- a/tests/components/ens160_i2c/common.yaml +++ b/tests/components/ens160_i2c/common.yaml @@ -3,8 +3,11 @@ sensor: i2c_id: i2c_bus address: 0x53 eco2: + id: ens160_i2c_eco2 name: "ENS160 eCO2" tvoc: + id: ens160_i2c_tvoc name: "ENS160 Total Volatile Organic Compounds" aqi: + id: ens160_i2c_aqi name: "ENS160 Air Quality Index" diff --git a/tests/components/ens160_spi/common.yaml b/tests/components/ens160_spi/common.yaml index 53000a5e96..46a3f40b40 100644 --- a/tests/components/ens160_spi/common.yaml +++ b/tests/components/ens160_spi/common.yaml @@ -2,8 +2,11 @@ sensor: - platform: ens160_spi cs_pin: ${cs_pin} eco2: + id: ens160_spi_eco2 name: "ENS160 eCO2" tvoc: + id: ens160_spi_tvoc name: "ENS160 Total Volatile Organic Compounds" aqi: + id: ens160_spi_aqi name: "ENS160 Air Quality Index" diff --git a/tests/components/esp32_camera/test.esp32-idf.yaml b/tests/components/esp32_camera/test.esp32-idf.yaml index 3d93dd6418..ef8f74d4eb 100644 --- a/tests/components/esp32_camera/test.esp32-idf.yaml +++ b/tests/components/esp32_camera/test.esp32-idf.yaml @@ -1,4 +1,4 @@ packages: - camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + i2c_camera: !include ../../test_build_components/common/i2c_camera/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/esp32_camera_web_server/test.esp32-idf.yaml b/tests/components/esp32_camera_web_server/test.esp32-idf.yaml index 3d93dd6418..ef8f74d4eb 100644 --- a/tests/components/esp32_camera_web_server/test.esp32-idf.yaml +++ b/tests/components/esp32_camera_web_server/test.esp32-idf.yaml @@ -1,4 +1,4 @@ packages: - camera: !include ../../test_build_components/common/camera/esp32-idf.yaml + i2c_camera: !include ../../test_build_components/common/i2c_camera/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/font/common.yaml b/tests/components/font/common.yaml index 2d2e970536..6ba52e3d97 100644 --- a/tests/components/font/common.yaml +++ b/tests/components/font/common.yaml @@ -49,6 +49,7 @@ font: display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${display_reset_pin} diff --git a/tests/components/ft63x6/test.esp8266-ard.yaml b/tests/components/ft63x6/test.esp8266-ard.yaml index d6b6903029..3ac5c645e3 100644 --- a/tests/components/ft63x6/test.esp8266-ard.yaml +++ b/tests/components/ft63x6/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - interrupt_pin: GPIO12 + interrupt_pin: GPIO0 reset_pin: GPIO16 packages: diff --git a/tests/components/graph/common.yaml b/tests/components/graph/common.yaml index 578de5a60c..11e2a16ca1 100644 --- a/tests/components/graph/common.yaml +++ b/tests/components/graph/common.yaml @@ -11,6 +11,7 @@ graph: display: - platform: ssd1306_i2c + i2c_id: i2c_bus id: ssd1306_display model: SSD1306_128X64 reset_pin: ${reset_pin} diff --git a/tests/components/graphical_display_menu/common.yaml b/tests/components/graphical_display_menu/common.yaml index 0b8f20d64b..6cee2af232 100644 --- a/tests/components/graphical_display_menu/common.yaml +++ b/tests/components/graphical_display_menu/common.yaml @@ -1,6 +1,6 @@ display: - platform: ssd1306_i2c - id: ssd1306_display + id: ssd1306_i2c_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: @@ -36,7 +36,7 @@ switch: graphical_display_menu: id: test_graphical_display_menu - display: ssd1306_display + display: ssd1306_i2c_display font: roboto active: false mode: rotary diff --git a/tests/components/gt911/common.yaml b/tests/components/gt911/common.yaml index 5f9748afb6..ff464cda24 100644 --- a/tests/components/gt911/common.yaml +++ b/tests/components/gt911/common.yaml @@ -1,7 +1,7 @@ display: - platform: ssd1306_i2c i2c_id: i2c_bus - id: ssd1306_display + id: ssd1306_i2c_display model: SSD1306_128X64 reset_pin: ${display_reset_pin} pages: @@ -13,7 +13,7 @@ touchscreen: - platform: gt911 i2c_id: i2c_bus id: gt911_touchscreen - display: ssd1306_display + display: ssd1306_i2c_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} diff --git a/tests/components/hx711/test.esp8266-ard.yaml b/tests/components/hx711/test.esp8266-ard.yaml index defef165e3..e7c017ed99 100644 --- a/tests/components/hx711/test.esp8266-ard.yaml +++ b/tests/components/hx711/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ substitutions: - clk_pin: GPIO4 - dout_pin: GPIO5 + clk_pin: GPIO0 + dout_pin: GPIO2 <<: !include common.yaml diff --git a/tests/components/ina2xx_i2c/common.yaml b/tests/components/ina2xx_i2c/common.yaml index 7d586f136e..2416ad6daf 100644 --- a/tests/components/ina2xx_i2c/common.yaml +++ b/tests/components/ina2xx_i2c/common.yaml @@ -7,9 +7,21 @@ sensor: max_current: 40 A adc_range: 1 temperature_coefficient: 50 - shunt_voltage: "INA2xx Shunt Voltage" - bus_voltage: "INA2xx Bus Voltage" - current: "INA2xx Current" - power: "INA2xx Power" - energy: "INA2xx Energy" - charge: "INA2xx Charge" + shunt_voltage: + id: ina2xx_i2c_shunt_voltage + name: "INA2xx Shunt Voltage" + bus_voltage: + id: ina2xx_i2c_bus_voltage + name: "INA2xx Bus Voltage" + current: + id: ina2xx_i2c_current + name: "INA2xx Current" + power: + id: ina2xx_i2c_power + name: "INA2xx Power" + energy: + id: ina2xx_i2c_energy + name: "INA2xx Energy" + charge: + id: ina2xx_i2c_charge + name: "INA2xx Charge" diff --git a/tests/components/ina2xx_spi/common.yaml b/tests/components/ina2xx_spi/common.yaml index d9b2300e26..8de77eba26 100644 --- a/tests/components/ina2xx_spi/common.yaml +++ b/tests/components/ina2xx_spi/common.yaml @@ -6,9 +6,21 @@ sensor: max_current: 40 A adc_range: 1 temperature_coefficient: 50 - shunt_voltage: "INA2xx Shunt Voltage" - bus_voltage: "INA2xx Bus Voltage" - current: "INA2xx Current" - power: "INA2xx Power" - energy: "INA2xx Energy" - charge: "INA2xx Charge" + shunt_voltage: + id: ina2xx_spi_shunt_voltage + name: "INA2xx Shunt Voltage" + bus_voltage: + id: ina2xx_spi_bus_voltage + name: "INA2xx Bus Voltage" + current: + id: ina2xx_spi_current + name: "INA2xx Current" + power: + id: ina2xx_spi_power + name: "INA2xx Power" + energy: + id: ina2xx_spi_energy + name: "INA2xx Energy" + charge: + id: ina2xx_spi_charge + name: "INA2xx Charge" diff --git a/tests/components/lilygo_t5_47/common.yaml b/tests/components/lilygo_t5_47/common.yaml index 7079139ec7..18f1ba10ae 100644 --- a/tests/components/lilygo_t5_47/common.yaml +++ b/tests/components/lilygo_t5_47/common.yaml @@ -1,7 +1,7 @@ display: - platform: ssd1306_i2c i2c_id: i2c_bus - id: ssd1306_display + id: ssd1306_i2c_display model: SSD1306_128X64 reset_pin: ${reset_pin} pages: @@ -14,7 +14,7 @@ touchscreen: i2c_id: i2c_bus id: lilygo_touchscreen interrupt_pin: ${interrupt_pin} - display: ssd1306_display + display: ssd1306_i2c_display on_touch: - logger.log: format: Touch at (%d, %d) diff --git a/tests/components/pn532_i2c/common.yaml b/tests/components/pn532_i2c/common.yaml index f328cd40ee..947e1151aa 100644 --- a/tests/components/pn532_i2c/common.yaml +++ b/tests/components/pn532_i2c/common.yaml @@ -1,9 +1,9 @@ pn532_i2c: i2c_id: i2c_bus - id: pn532_nfcc + id: pn532_nfcc_i2c binary_sensor: - platform: pn532 - pn532_id: pn532_nfcc + pn532_id: pn532_nfcc_i2c name: PN532 NFC Tag uid: 74-10-37-94 diff --git a/tests/components/pn532_spi/common.yaml b/tests/components/pn532_spi/common.yaml index e749a9896a..f9149af35f 100644 --- a/tests/components/pn532_spi/common.yaml +++ b/tests/components/pn532_spi/common.yaml @@ -1,9 +1,9 @@ pn532_spi: - id: pn532_nfcc + id: pn532_nfcc_spi cs_pin: ${cs_pin} binary_sensor: - platform: pn532 - pn532_id: pn532_nfcc + pn532_id: pn532_nfcc_spi name: PN532 NFC Tag uid: 74-10-37-94 diff --git a/tests/components/pn7160_i2c/common.yaml b/tests/components/pn7160_i2c/common.yaml index 9807bff0f0..fa9a876d1c 100644 --- a/tests/components/pn7160_i2c/common.yaml +++ b/tests/components/pn7160_i2c/common.yaml @@ -1,23 +1,23 @@ esphome: on_boot: then: - - tag.set_clean_mode: nfcc_pn7160 - - tag.set_format_mode: nfcc_pn7160 - - tag.set_read_mode: nfcc_pn7160 + - tag.set_clean_mode: nfcc_pn7160_i2c + - tag.set_format_mode: nfcc_pn7160_i2c + - tag.set_read_mode: nfcc_pn7160_i2c - tag.set_write_message: message: https://www.home-assistant.io/tag/pulse include_android_app_record: false - - tag.set_write_mode: nfcc_pn7160 + - tag.set_write_mode: nfcc_pn7160_i2c - tag.set_emulation_message: message: https://www.home-assistant.io/tag/pulse include_android_app_record: false - - tag.emulation_off: nfcc_pn7160 - - tag.emulation_on: nfcc_pn7160 - - tag.polling_off: nfcc_pn7160 - - tag.polling_on: nfcc_pn7160 + - tag.emulation_off: nfcc_pn7160_i2c + - tag.emulation_on: nfcc_pn7160_i2c + - tag.polling_off: nfcc_pn7160_i2c + - tag.polling_on: nfcc_pn7160_i2c pn7150_i2c: - id: nfcc_pn7160 + id: nfcc_pn7160_i2c i2c_id: i2c_bus irq_pin: ${irq_pin} ven_pin: ${ven_pin} diff --git a/tests/components/pn7160_spi/common.yaml b/tests/components/pn7160_spi/common.yaml index d467eb093f..53b37b38f4 100644 --- a/tests/components/pn7160_spi/common.yaml +++ b/tests/components/pn7160_spi/common.yaml @@ -1,23 +1,23 @@ esphome: on_boot: then: - - tag.set_clean_mode: nfcc_pn7160 - - tag.set_format_mode: nfcc_pn7160 - - tag.set_read_mode: nfcc_pn7160 + - tag.set_clean_mode: nfcc_pn7160_spi + - tag.set_format_mode: nfcc_pn7160_spi + - tag.set_read_mode: nfcc_pn7160_spi - tag.set_write_message: message: https://www.home-assistant.io/tag/pulse include_android_app_record: false - - tag.set_write_mode: nfcc_pn7160 + - tag.set_write_mode: nfcc_pn7160_spi - tag.set_emulation_message: message: https://www.home-assistant.io/tag/pulse include_android_app_record: false - - tag.emulation_off: nfcc_pn7160 - - tag.emulation_on: nfcc_pn7160 - - tag.polling_off: nfcc_pn7160 - - tag.polling_on: nfcc_pn7160 + - tag.emulation_off: nfcc_pn7160_spi + - tag.emulation_on: nfcc_pn7160_spi + - tag.polling_off: nfcc_pn7160_spi + - tag.polling_on: nfcc_pn7160_spi pn7160_spi: - id: nfcc_pn7160 + id: nfcc_pn7160_spi cs_pin: ${cs_pin} irq_pin: ${irq_pin} ven_pin: ${ven_pin} diff --git a/tests/components/rc522_i2c/common.yaml b/tests/components/rc522_i2c/common.yaml index 65b92a3e78..0e624351d4 100644 --- a/tests/components/rc522_i2c/common.yaml +++ b/tests/components/rc522_i2c/common.yaml @@ -1,5 +1,5 @@ rc522_i2c: - - id: rc522_nfcc + - id: rc522_nfcc_i2c i2c_id: i2c_bus update_interval: 1s on_tag: @@ -8,6 +8,6 @@ rc522_i2c: binary_sensor: - platform: rc522 - rc522_id: rc522_nfcc + rc522_id: rc522_nfcc_i2c name: RC522 NFC Tag uid: 74-10-37-94 diff --git a/tests/components/rc522_spi/common.yaml b/tests/components/rc522_spi/common.yaml index 4ce1d6584b..c4830850de 100644 --- a/tests/components/rc522_spi/common.yaml +++ b/tests/components/rc522_spi/common.yaml @@ -1,9 +1,9 @@ rc522_spi: - id: rc522_nfcc + id: rc522_nfcc_spi cs_pin: ${cs_pin} binary_sensor: - platform: rc522 - rc522_id: rc522_nfcc - name: PN532 NFC Tag + rc522_id: rc522_nfcc_spi + name: RC522 NFC Tag uid: 74-10-37-94 diff --git a/tests/components/selec_meter/test.esp8266-ard.yaml b/tests/components/selec_meter/test.esp8266-ard.yaml index 48a7307795..6daa08c22b 100644 --- a/tests/components/selec_meter/test.esp8266-ard.yaml +++ b/tests/components/selec_meter/test.esp8266-ard.yaml @@ -1,7 +1,7 @@ substitutions: tx_pin: GPIO0 rx_pin: GPIO2 - flow_control_pin: GPIO4 + flow_control_pin: GPIO15 packages: modbus: !include ../../test_build_components/common/modbus/esp8266-ard.yaml diff --git a/tests/components/sn74hc595/test.esp8266-ard.yaml b/tests/components/sn74hc595/test.esp8266-ard.yaml index cc011e01d4..e0de8bb0a3 100644 --- a/tests/components/sn74hc595/test.esp8266-ard.yaml +++ b/tests/components/sn74hc595/test.esp8266-ard.yaml @@ -2,8 +2,8 @@ packages: spi: !include ../../test_build_components/common/spi/esp8266-ard.yaml substitutions: - clock_pin: GPIO5 - data_pin: GPIO4 + clock_pin: GPIO15 + data_pin: GPIO16 latch_pin1: GPIO2 oe_pin1: GPIO0 latch_pin2: GPIO3 diff --git a/tests/components/ssd1306_i2c/common.yaml b/tests/components/ssd1306_i2c/common.yaml index e876fcb36a..09eb569a8e 100644 --- a/tests/components/ssd1306_i2c/common.yaml +++ b/tests/components/ssd1306_i2c/common.yaml @@ -4,7 +4,7 @@ display: model: SSD1306_128X64 reset_pin: ${reset_pin} address: 0x3C - id: display1 + id: ssd1306_i2c_display contrast: 60% pages: - id: ssd1306_i2c_page1 diff --git a/tests/components/ssd1306_spi/common.yaml b/tests/components/ssd1306_spi/common.yaml index 2a2adb4146..0297abc192 100644 --- a/tests/components/ssd1306_spi/common.yaml +++ b/tests/components/ssd1306_spi/common.yaml @@ -1,5 +1,6 @@ display: - platform: ssd1306_spi + id: ssd1306_spi_display model: SSD1306 128x64 cs_pin: ${cs_pin} dc_pin: ${dc_pin} diff --git a/tests/components/ssd1327_i2c/common.yaml b/tests/components/ssd1327_i2c/common.yaml index c90e9678dd..c5f2123d9a 100644 --- a/tests/components/ssd1327_i2c/common.yaml +++ b/tests/components/ssd1327_i2c/common.yaml @@ -4,7 +4,7 @@ display: model: SSD1327_128x128 reset_pin: ${reset_pin} address: 0x3C - id: display1 + id: ssd1327_i2c_display pages: - id: ssd1327_i2c_page1 lambda: |- diff --git a/tests/components/ssd1327_spi/common.yaml b/tests/components/ssd1327_spi/common.yaml index 1aa4fb5a1c..b46e61e080 100644 --- a/tests/components/ssd1327_spi/common.yaml +++ b/tests/components/ssd1327_spi/common.yaml @@ -1,5 +1,6 @@ display: - platform: ssd1327_spi + id: ssd1327_spi_display model: SSD1327 128x128 cs_pin: ${cs_pin} dc_pin: ${dc_pin} diff --git a/tests/components/st7567_i2c/common.yaml b/tests/components/st7567_i2c/common.yaml index 9a4cd79faa..c81d6825e3 100644 --- a/tests/components/st7567_i2c/common.yaml +++ b/tests/components/st7567_i2c/common.yaml @@ -3,7 +3,7 @@ display: i2c_id: i2c_bus reset_pin: ${reset_pin} address: 0x3C - id: display1 + id: st7567_i2c_display pages: - id: st7567_i2c_page1 lambda: |- diff --git a/tests/components/st7567_spi/common.yaml b/tests/components/st7567_spi/common.yaml index b5a4074e13..25a8932ee1 100644 --- a/tests/components/st7567_spi/common.yaml +++ b/tests/components/st7567_spi/common.yaml @@ -1,5 +1,6 @@ display: - platform: st7567_spi + id: st7567_spi_display cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} diff --git a/tests/components/syslog/common.yaml b/tests/components/syslog/common.yaml index cd6e63c9ec..daa913f009 100644 --- a/tests/components/syslog/common.yaml +++ b/tests/components/syslog/common.yaml @@ -6,7 +6,8 @@ udp: addresses: ["239.0.60.53"] time: - platform: host + - platform: host + id: host_time syslog: port: 514 diff --git a/tests/components/tt21100/common.yaml b/tests/components/tt21100/common.yaml index bd1830ea8b..56089aed1e 100644 --- a/tests/components/tt21100/common.yaml +++ b/tests/components/tt21100/common.yaml @@ -1,7 +1,7 @@ display: - platform: ssd1306_i2c i2c_id: i2c_bus - id: ssd1306_display + id: ssd1306_i2c_display model: SSD1306_128X64 reset_pin: ${disp_reset_pin} pages: @@ -13,7 +13,7 @@ touchscreen: - platform: tt21100 i2c_id: i2c_bus id: tt21100_touchscreen - display: ssd1306_display + display: ssd1306_i2c_display interrupt_pin: ${interrupt_pin} reset_pin: ${reset_pin} diff --git a/tests/components/wk2132_i2c/test.esp32-idf.yaml b/tests/components/wk2132_i2c/test.esp32-idf.yaml index b47e39c389..6b748a8f20 100644 --- a/tests/components/wk2132_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2132_i2c/test.esp32-idf.yaml @@ -1,4 +1,5 @@ packages: i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + uart_bridge_2: !include ../../test_build_components/common/uart_bridge_2/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml index e9d826aa7c..d7b149a6fd 100644 --- a/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2132_i2c/test.esp32-s3-idf.yaml @@ -4,5 +4,6 @@ substitutions: packages: i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + uart_bridge_2: !include ../../test_build_components/common/uart_bridge_2/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2132_spi/common.yaml b/tests/components/wk2132_spi/common.yaml index a762c10c92..18294974b9 100644 --- a/tests/components/wk2132_spi/common.yaml +++ b/tests/components/wk2132_spi/common.yaml @@ -1,20 +1,20 @@ wk2132_spi: - - id: wk2132_spi_id + - id: wk2132_spi_bridge cs_pin: ${cs_pin} crystal: 11059200 data_rate: 1MHz uart: - - id: wk2132_spi_id0 + - id: wk2132_spi_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: wk2132_spi_id1 + - id: wk2132_spi_uart1 channel: 1 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: wk2132_spi_id1 + uart_id: wk2132_spi_uart1 id: distance_sensor diff --git a/tests/components/wk2132_spi/test.esp32-idf.yaml b/tests/components/wk2132_spi/test.esp32-idf.yaml index a3352cf880..9202a691ba 100644 --- a/tests/components/wk2132_spi/test.esp32-idf.yaml +++ b/tests/components/wk2132_spi/test.esp32-idf.yaml @@ -3,5 +3,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + uart_bridge_2: !include ../../test_build_components/common/uart_bridge_2/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2132_spi/test.esp32-s3-idf.yaml b/tests/components/wk2132_spi/test.esp32-s3-idf.yaml index 6a60c90fb2..9c7d36996e 100644 --- a/tests/components/wk2132_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2132_spi/test.esp32-s3-idf.yaml @@ -6,5 +6,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + uart_bridge_2: !include ../../test_build_components/common/uart_bridge_2/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-idf.yaml b/tests/components/wk2168_i2c/test.esp32-idf.yaml index b47e39c389..9d9f0d4931 100644 --- a/tests/components/wk2168_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2168_i2c/test.esp32-idf.yaml @@ -1,4 +1,5 @@ packages: i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml index e9d826aa7c..115812be97 100644 --- a/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2168_i2c/test.esp32-s3-idf.yaml @@ -4,5 +4,6 @@ substitutions: packages: i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-idf.yaml b/tests/components/wk2168_spi/test.esp32-idf.yaml index a3352cf880..2b56a46b70 100644 --- a/tests/components/wk2168_spi/test.esp32-idf.yaml +++ b/tests/components/wk2168_spi/test.esp32-idf.yaml @@ -3,5 +3,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2168_spi/test.esp32-s3-idf.yaml b/tests/components/wk2168_spi/test.esp32-s3-idf.yaml index 6a60c90fb2..374fe64d16 100644 --- a/tests/components/wk2168_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2168_spi/test.esp32-s3-idf.yaml @@ -6,5 +6,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-idf.yaml b/tests/components/wk2204_i2c/test.esp32-idf.yaml index b47e39c389..9d9f0d4931 100644 --- a/tests/components/wk2204_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2204_i2c/test.esp32-idf.yaml @@ -1,4 +1,5 @@ packages: i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml index e9d826aa7c..115812be97 100644 --- a/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2204_i2c/test.esp32-s3-idf.yaml @@ -4,5 +4,6 @@ substitutions: packages: i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2204_spi/common.yaml b/tests/components/wk2204_spi/common.yaml index 939c54cc40..0b62a7a009 100644 --- a/tests/components/wk2204_spi/common.yaml +++ b/tests/components/wk2204_spi/common.yaml @@ -1,28 +1,28 @@ wk2204_spi: - - id: wk2204_spi_id + - id: wk2204_spi_bridge cs_pin: ${cs_pin} crystal: 11059200 data_rate: 1MHz uart: - - id: wk2204_spi_id0 + - id: wk2204_spi_uart0 channel: 0 baud_rate: 115200 stop_bits: 1 parity: none - - id: wk2204_spi_id1 + - id: wk2204_spi_uart1 channel: 1 baud_rate: 921600 - - id: wk2204_spi_id2 + - id: wk2204_spi_uart2 channel: 2 baud_rate: 115200 stop_bits: 1 parity: none - - id: wk2204_spi_id3 + - id: wk2204_spi_uart3 channel: 3 baud_rate: 9600 # Ensures a sensor doesn't break validation sensor: - platform: a02yyuw - uart_id: wk2204_spi_id3 + uart_id: wk2204_spi_uart3 id: distance_sensor diff --git a/tests/components/wk2204_spi/test.esp32-idf.yaml b/tests/components/wk2204_spi/test.esp32-idf.yaml index a3352cf880..2b56a46b70 100644 --- a/tests/components/wk2204_spi/test.esp32-idf.yaml +++ b/tests/components/wk2204_spi/test.esp32-idf.yaml @@ -3,5 +3,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2204_spi/test.esp32-s3-idf.yaml b/tests/components/wk2204_spi/test.esp32-s3-idf.yaml index 6a60c90fb2..374fe64d16 100644 --- a/tests/components/wk2204_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2204_spi/test.esp32-s3-idf.yaml @@ -6,5 +6,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-idf.yaml b/tests/components/wk2212_i2c/test.esp32-idf.yaml index b47e39c389..9d9f0d4931 100644 --- a/tests/components/wk2212_i2c/test.esp32-idf.yaml +++ b/tests/components/wk2212_i2c/test.esp32-idf.yaml @@ -1,4 +1,5 @@ packages: i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml b/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml index e9d826aa7c..115812be97 100644 --- a/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml +++ b/tests/components/wk2212_i2c/test.esp32-s3-idf.yaml @@ -4,5 +4,6 @@ substitutions: packages: i2c: !include ../../test_build_components/common/i2c/esp32-s3-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-idf.yaml b/tests/components/wk2212_spi/test.esp32-idf.yaml index a3352cf880..2b56a46b70 100644 --- a/tests/components/wk2212_spi/test.esp32-idf.yaml +++ b/tests/components/wk2212_spi/test.esp32-idf.yaml @@ -3,5 +3,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/wk2212_spi/test.esp32-s3-idf.yaml b/tests/components/wk2212_spi/test.esp32-s3-idf.yaml index 6a60c90fb2..374fe64d16 100644 --- a/tests/components/wk2212_spi/test.esp32-s3-idf.yaml +++ b/tests/components/wk2212_spi/test.esp32-s3-idf.yaml @@ -6,5 +6,6 @@ substitutions: packages: spi: !include ../../test_build_components/common/spi/esp32-s3-idf.yaml + uart_bridge_4: !include ../../test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml <<: !include common.yaml diff --git a/tests/test_build_components/build_components_base.esp32-idf.yaml b/tests/test_build_components/build_components_base.esp32-idf.yaml index a62a995e68..dcb951c1ed 100644 --- a/tests/test_build_components/build_components_base.esp32-idf.yaml +++ b/tests/test_build_components/build_components_base.esp32-idf.yaml @@ -3,9 +3,13 @@ esphome: friendly_name: $component_name esp32: - board: nodemcu-32s + # Use board with 8MB flash for testing large component groups + board: esp32-pico-devkitm-2 framework: type: esp-idf + # Use custom partition table with larger app partitions (3MB each) + # Default IDF partitions only allow 1.75MB which is too small for grouped tests + partitions: ../partitions_testing.csv logger: level: VERY_VERBOSE diff --git a/tests/test_build_components/common/camera/esp32-idf.yaml b/tests/test_build_components/common/i2c_camera/esp32-idf.yaml similarity index 83% rename from tests/test_build_components/common/camera/esp32-idf.yaml rename to tests/test_build_components/common/i2c_camera/esp32-idf.yaml index 64f75c699a..a6e7c264cb 100644 --- a/tests/test_build_components/common/camera/esp32-idf.yaml +++ b/tests/test_build_components/common/i2c_camera/esp32-idf.yaml @@ -1,3 +1,10 @@ +# I2C bus for camera sensor +i2c: + - id: i2c_camera_bus + sda: 25 + scl: 23 + frequency: 400kHz + esp32_camera: name: ESP32 Camera data_pins: @@ -15,9 +22,7 @@ esp32_camera: external_clock: pin: 27 frequency: 20MHz - i2c_pins: - sda: 25 - scl: 23 + i2c_id: i2c_camera_bus reset_pin: 15 power_down_pin: 1 resolution: 640x480 diff --git a/tests/test_build_components/common/uart_bridge_2/esp32-idf.yaml b/tests/test_build_components/common/uart_bridge_2/esp32-idf.yaml new file mode 100644 index 0000000000..ff8a2f8d13 --- /dev/null +++ b/tests/test_build_components/common/uart_bridge_2/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common configuration for 2-channel UART bridge/expander chips +# Used by components like wk2132 that create 2 UART channels +# Defines standardized UART IDs: uart_id_0, uart_id_1 + +substitutions: + # These will be overridden by component-specific values + uart_bridge_address: "0x70" + +# Note: The actual UART instances are created by the bridge component +# This package just ensures all bridge components use the same ID naming convention +# so they can be grouped together without conflicts diff --git a/tests/test_build_components/common/uart_bridge_2/esp32-s3-idf.yaml b/tests/test_build_components/common/uart_bridge_2/esp32-s3-idf.yaml new file mode 100644 index 0000000000..ff8a2f8d13 --- /dev/null +++ b/tests/test_build_components/common/uart_bridge_2/esp32-s3-idf.yaml @@ -0,0 +1,11 @@ +# Common configuration for 2-channel UART bridge/expander chips +# Used by components like wk2132 that create 2 UART channels +# Defines standardized UART IDs: uart_id_0, uart_id_1 + +substitutions: + # These will be overridden by component-specific values + uart_bridge_address: "0x70" + +# Note: The actual UART instances are created by the bridge component +# This package just ensures all bridge components use the same ID naming convention +# so they can be grouped together without conflicts diff --git a/tests/test_build_components/common/uart_bridge_4/esp32-idf.yaml b/tests/test_build_components/common/uart_bridge_4/esp32-idf.yaml new file mode 100644 index 0000000000..bb88037947 --- /dev/null +++ b/tests/test_build_components/common/uart_bridge_4/esp32-idf.yaml @@ -0,0 +1,11 @@ +# Common configuration for 4-channel UART bridge/expander chips +# Used by components like wk2168, wk2204, wk2212 that create 4 UART channels +# Defines standardized UART IDs: uart_id_0, uart_id_1, uart_id_2, uart_id_3 + +substitutions: + # These will be overridden by component-specific values + uart_bridge_address: "0x70" + +# Note: The actual UART instances are created by the bridge component +# This package just ensures all bridge components use the same ID naming convention +# so they can be grouped together without conflicts diff --git a/tests/test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml b/tests/test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml new file mode 100644 index 0000000000..bb88037947 --- /dev/null +++ b/tests/test_build_components/common/uart_bridge_4/esp32-s3-idf.yaml @@ -0,0 +1,11 @@ +# Common configuration for 4-channel UART bridge/expander chips +# Used by components like wk2168, wk2204, wk2212 that create 4 UART channels +# Defines standardized UART IDs: uart_id_0, uart_id_1, uart_id_2, uart_id_3 + +substitutions: + # These will be overridden by component-specific values + uart_bridge_address: "0x70" + +# Note: The actual UART instances are created by the bridge component +# This package just ensures all bridge components use the same ID naming convention +# so they can be grouped together without conflicts diff --git a/tests/test_build_components/partitions_testing.csv b/tests/test_build_components/partitions_testing.csv new file mode 100644 index 0000000000..0ca8c24e05 --- /dev/null +++ b/tests/test_build_components/partitions_testing.csv @@ -0,0 +1,10 @@ +# ESP-IDF Partition Table for ESPHome Component Testing +# Single app partition to maximize space for large component group testing +# Fits in 4MB flash +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x4000, +otadata, data, ota, , 0x2000, +phy_init, data, phy, , 0x1000, +factory, app, factory, 0x10000, 0x300000, +nvs_key, data, nvs_keys,, 0x1000, +coredump, data, coredump,, 0xEB000, From 353e097085230b594860cd0c07ada1cf15e9cb1b Mon Sep 17 00:00:00 2001 From: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com> Date: Thu, 16 Oct 2025 06:09:52 +1000 Subject: [PATCH 148/201] [mipi_spi] Rotation fixes (#11226) --- esphome/components/display/display.cpp | 7 ++- esphome/components/mipi/__init__.py | 31 +++++++------ esphome/components/mipi_spi/display.py | 28 +++++++----- esphome/components/mipi_spi/mipi_spi.h | 44 +++++++++++-------- .../components/mipi_spi/models/waveshare.py | 10 +++++ tests/component_tests/mipi_spi/test_init.py | 4 +- .../components/chsc6x/test.esp32-c3-idf.yaml | 4 +- tests/components/mipi_spi/common.yaml | 2 +- .../components/mipi_spi/test.rp2040-ard.yaml | 2 +- 9 files changed, 80 insertions(+), 52 deletions(-) diff --git a/esphome/components/display/display.cpp b/esphome/components/display/display.cpp index c666eee298..1451d14e2e 100644 --- a/esphome/components/display/display.cpp +++ b/esphome/components/display/display.cpp @@ -775,7 +775,7 @@ void Display::test_card() { int shift_y = (h - image_h) / 2; int line_w = (image_w - 6) / 6; int image_c = image_w / 2; - for (auto i = 0; i <= image_h; i++) { + for (auto i = 0; i != image_h; i++) { int c = esp_scale(i, image_h); this->horizontal_line(shift_x + 0, shift_y + i, line_w, r.fade_to_white(c)); this->horizontal_line(shift_x + line_w, shift_y + i, line_w, r.fade_to_black(c)); // @@ -809,8 +809,11 @@ void Display::test_card() { } } } - this->rectangle(0, 0, w, h, Color(127, 0, 127)); this->filled_rectangle(0, 0, 10, 10, Color(255, 0, 255)); + this->filled_rectangle(w - 10, 0, 10, 10, Color(255, 0, 255)); + this->filled_rectangle(0, h - 10, 10, 10, Color(255, 0, 255)); + this->filled_rectangle(w - 10, h - 10, 10, 10, Color(255, 0, 255)); + this->rectangle(0, 0, w, h, Color(255, 255, 255)); this->stop_poller(); } diff --git a/esphome/components/mipi/__init__.py b/esphome/components/mipi/__init__.py index 7e687cabaa..4dff1af62a 100644 --- a/esphome/components/mipi/__init__.py +++ b/esphome/components/mipi/__init__.py @@ -11,6 +11,7 @@ from esphome.const import ( CONF_BRIGHTNESS, CONF_COLOR_ORDER, CONF_DIMENSIONS, + CONF_DISABLED, CONF_HEIGHT, CONF_INIT_SEQUENCE, CONF_INVERT_COLORS, @@ -301,6 +302,8 @@ class DriverChip: Check if a rotation can be implemented in hardware using the MADCTL register. A rotation of 180 is always possible if x and y mirroring are supported, 90 and 270 are possible if the model supports swapping X and Y. """ + if config.get(CONF_TRANSFORM) == CONF_DISABLED: + return False transforms = self.transforms rotation = config.get(CONF_ROTATION, 0) if rotation == 0 or not transforms: @@ -358,26 +361,26 @@ class DriverChip: CONF_SWAP_XY: self.get_default(CONF_SWAP_XY), }, ) - # fill in defaults if not provided - mirror_x = transform.get(CONF_MIRROR_X, self.get_default(CONF_MIRROR_X)) - mirror_y = transform.get(CONF_MIRROR_Y, self.get_default(CONF_MIRROR_Y)) - swap_xy = transform.get(CONF_SWAP_XY, self.get_default(CONF_SWAP_XY)) - transform[CONF_MIRROR_X] = mirror_x - transform[CONF_MIRROR_Y] = mirror_y - transform[CONF_SWAP_XY] = swap_xy - + if not isinstance(transform, dict): + # Presumably disabled + return { + CONF_MIRROR_X: False, + CONF_MIRROR_Y: False, + CONF_SWAP_XY: False, + CONF_TRANSFORM: False, + } # Can we use the MADCTL register to set the rotation? if can_transform and CONF_TRANSFORM not in config: rotation = config[CONF_ROTATION] if rotation == 180: - transform[CONF_MIRROR_X] = not mirror_x - transform[CONF_MIRROR_Y] = not mirror_y + transform[CONF_MIRROR_X] = not transform[CONF_MIRROR_X] + transform[CONF_MIRROR_Y] = not transform[CONF_MIRROR_Y] elif rotation == 90: - transform[CONF_SWAP_XY] = not swap_xy - transform[CONF_MIRROR_X] = not mirror_x + transform[CONF_SWAP_XY] = not transform[CONF_SWAP_XY] + transform[CONF_MIRROR_X] = not transform[CONF_MIRROR_X] else: - transform[CONF_SWAP_XY] = not swap_xy - transform[CONF_MIRROR_Y] = not mirror_y + transform[CONF_SWAP_XY] = not transform[CONF_SWAP_XY] + transform[CONF_MIRROR_Y] = not transform[CONF_MIRROR_Y] transform[CONF_TRANSFORM] = True return transform diff --git a/esphome/components/mipi_spi/display.py b/esphome/components/mipi_spi/display.py index 52b5b86fba..891c8b42ff 100644 --- a/esphome/components/mipi_spi/display.py +++ b/esphome/components/mipi_spi/display.py @@ -37,6 +37,7 @@ from esphome.const import ( CONF_DATA_RATE, CONF_DC_PIN, CONF_DIMENSIONS, + CONF_DISABLED, CONF_ENABLE_PIN, CONF_ID, CONF_INIT_SEQUENCE, @@ -146,12 +147,15 @@ def swap_xy_schema(model): def model_schema(config): model = MODELS[config[CONF_MODEL]] bus_mode = config[CONF_BUS_MODE] - transform = cv.Schema( - { - cv.Required(CONF_MIRROR_X): cv.boolean, - cv.Required(CONF_MIRROR_Y): cv.boolean, - **swap_xy_schema(model), - } + transform = cv.Any( + cv.Schema( + { + cv.Required(CONF_MIRROR_X): cv.boolean, + cv.Required(CONF_MIRROR_Y): cv.boolean, + **swap_xy_schema(model), + } + ), + cv.one_of(CONF_DISABLED, lower=True), ) # CUSTOM model will need to provide a custom init sequence iseqconf = ( @@ -160,7 +164,11 @@ def model_schema(config): else cv.Optional(CONF_INIT_SEQUENCE) ) # Dimensions are optional if the model has a default width and the x-y transform is not overridden - is_swapped = config.get(CONF_TRANSFORM, {}).get(CONF_SWAP_XY) is True + transform_config = config.get(CONF_TRANSFORM, {}) + is_swapped = ( + isinstance(transform_config, dict) + and transform_config.get(CONF_SWAP_XY, False) is True + ) cv_dimensions = ( cv.Optional if model.get_default(CONF_WIDTH) and not is_swapped else cv.Required ) @@ -192,9 +200,7 @@ def model_schema(config): .extend( { cv.GenerateID(): cv.declare_id(MipiSpi), - cv_dimensions(CONF_DIMENSIONS): dimension_schema( - model.get_default(CONF_DRAW_ROUNDING, 1) - ), + cv_dimensions(CONF_DIMENSIONS): dimension_schema(1), model.option(CONF_ENABLE_PIN, cv.UNDEFINED): cv.ensure_list( pins.gpio_output_pin_schema ), @@ -400,6 +406,7 @@ def get_instance(config): offset_height, DISPLAY_ROTATIONS[rotation], frac, + config[CONF_DRAW_ROUNDING], ] ) return MipiSpiBuffer, templateargs @@ -431,7 +438,6 @@ async def to_code(config): else: config[CONF_ROTATION] = 0 cg.add(var.set_model(config[CONF_MODEL])) - cg.add(var.set_draw_rounding(config[CONF_DRAW_ROUNDING])) if enable_pin := config.get(CONF_ENABLE_PIN): enable = [await cg.gpio_pin_expression(pin) for pin in enable_pin] cg.add(var.set_enable_pins(enable)) diff --git a/esphome/components/mipi_spi/mipi_spi.h b/esphome/components/mipi_spi/mipi_spi.h index 248d5b7104..7e597d1c61 100644 --- a/esphome/components/mipi_spi/mipi_spi.h +++ b/esphome/components/mipi_spi/mipi_spi.h @@ -38,7 +38,7 @@ static constexpr uint8_t MADCTL_BGR = 0x08; // Bit 3 Blue-Green-Red pixel ord static constexpr uint8_t MADCTL_XFLIP = 0x02; // Mirror the display horizontally static constexpr uint8_t MADCTL_YFLIP = 0x01; // Mirror the display vertically -static const uint8_t DELAY_FLAG = 0xFF; +static constexpr uint8_t DELAY_FLAG = 0xFF; // store a 16 bit value in a buffer, big endian. static inline void put16_be(uint8_t *buf, uint16_t value) { buf[0] = value >> 8; @@ -79,7 +79,7 @@ class MipiSpi : public display::Display, public spi::SPIDevice { public: - MipiSpi() {} + MipiSpi() = default; void update() override { this->stop_poller(); } void draw_pixel_at(int x, int y, Color color) override {} void set_model(const char *model) { this->model_ = model; } @@ -99,7 +99,6 @@ class MipiSpi : public display::Display, int get_width_internal() override { return WIDTH; } int get_height_internal() override { return HEIGHT; } void set_init_sequence(const std::vector &sequence) { this->init_sequence_ = sequence; } - void set_draw_rounding(unsigned rounding) { this->draw_rounding_ = rounding; } // reset the display, and write the init sequence void setup() override { @@ -326,6 +325,7 @@ class MipiSpi : public display::Display, /** * Writes a buffer to the display. + * @param ptr The pointer to the pixel data * @param w Width of each line in bytes * @param h Height of the buffer in rows * @param pad Padding in bytes after each line @@ -424,7 +424,6 @@ class MipiSpi : public display::Display, // other properties set by configuration bool invert_colors_{}; - unsigned draw_rounding_{2}; optional brightness_{}; const char *model_{"Unknown"}; std::vector init_sequence_{}; @@ -444,12 +443,20 @@ class MipiSpi : public display::Display, * @tparam OFFSET_WIDTH The x-offset of the display in pixels * @tparam OFFSET_HEIGHT The y-offset of the display in pixels * @tparam FRACTION The fraction of the display size to use for the buffer (e.g. 4 means a 1/4 buffer). + * @tparam ROUNDING The alignment requirement for drawing operations (e.g. 2 means that x coordinates must be even) */ template + uint16_t WIDTH, uint16_t HEIGHT, int OFFSET_WIDTH, int OFFSET_HEIGHT, display::DisplayRotation ROTATION, + int FRACTION, unsigned ROUNDING> class MipiSpiBuffer : public MipiSpi { public: + // these values define the buffer size needed to write in accordance with the chip pixel alignment + // requirements. If the required rounding does not divide the width and height, we round up to the next multiple and + // ignore the extra columns and rows when drawing, but use them to write to the display. + static constexpr unsigned BUFFER_WIDTH = (WIDTH + ROUNDING - 1) / ROUNDING * ROUNDING; + static constexpr unsigned BUFFER_HEIGHT = (HEIGHT + ROUNDING - 1) / ROUNDING * ROUNDING; + MipiSpiBuffer() { this->rotation_ = ROTATION; } void dump_config() override { @@ -461,15 +468,15 @@ class MipiSpiBuffer : public MipiSpirotation_, BUFFERPIXEL * 8, FRACTION, sizeof(BUFFERTYPE) * WIDTH * HEIGHT / FRACTION, - this->draw_rounding_); + this->rotation_, BUFFERPIXEL * 8, FRACTION, + sizeof(BUFFERTYPE) * BUFFER_WIDTH * BUFFER_HEIGHT / FRACTION, ROUNDING); } void setup() override { MipiSpi::setup(); RAMAllocator allocator{}; - this->buffer_ = allocator.allocate(WIDTH * HEIGHT / FRACTION); + this->buffer_ = allocator.allocate(BUFFER_WIDTH * BUFFER_HEIGHT / FRACTION); if (this->buffer_ == nullptr) { this->mark_failed("Buffer allocation failed"); } @@ -508,15 +515,14 @@ class MipiSpiBuffer : public MipiSpix_low_, this->y_low_, this->x_high_, this->y_high_); // Some chips require that the drawing window be aligned on certain boundaries - auto dr = this->draw_rounding_; - this->x_low_ = this->x_low_ / dr * dr; - this->y_low_ = this->y_low_ / dr * dr; - this->x_high_ = (this->x_high_ + dr) / dr * dr - 1; - this->y_high_ = (this->y_high_ + dr) / dr * dr - 1; + this->x_low_ = this->x_low_ / ROUNDING * ROUNDING; + this->y_low_ = this->y_low_ / ROUNDING * ROUNDING; + this->x_high_ = (this->x_high_ + ROUNDING) / ROUNDING * ROUNDING - 1; + this->y_high_ = (this->y_high_ + ROUNDING) / ROUNDING * ROUNDING - 1; int w = this->x_high_ - this->x_low_ + 1; int h = this->y_high_ - this->y_low_ + 1; this->write_to_display_(this->x_low_, this->y_low_, w, h, this->buffer_, this->x_low_, - this->y_low_ - this->start_line_, WIDTH - w); + this->y_low_ - this->start_line_, BUFFER_WIDTH - w); // invalidate watermarks this->x_low_ = WIDTH; this->y_low_ = HEIGHT; @@ -536,10 +542,10 @@ class MipiSpiBuffer : public MipiSpiget_clipping().inside(x, y)) return; - rotate_coordinates_(x, y); + rotate_coordinates(x, y); if (x < 0 || x >= WIDTH || y < this->start_line_ || y >= this->end_line_) return; - this->buffer_[(y - this->start_line_) * WIDTH + x] = convert_color_(color); + this->buffer_[(y - this->start_line_) * BUFFER_WIDTH + x] = convert_color(color); if (x < this->x_low_) { this->x_low_ = x; } @@ -560,7 +566,7 @@ class MipiSpiBuffer : public MipiSpiy_low_ = this->start_line_; this->x_high_ = WIDTH - 1; this->y_high_ = this->end_line_ - 1; - std::fill_n(this->buffer_, HEIGHT * WIDTH / FRACTION, convert_color_(color)); + std::fill_n(this->buffer_, HEIGHT * BUFFER_WIDTH / FRACTION, convert_color(color)); } int get_width() override { @@ -577,7 +583,7 @@ class MipiSpiBuffer : public MipiSpi> 3 | color.b >> 6; } else if constexpr (BUFFERPIXEL == PIXEL_MODE_16) { diff --git a/esphome/components/mipi_spi/models/waveshare.py b/esphome/components/mipi_spi/models/waveshare.py index 7a55027e58..e4e090da2e 100644 --- a/esphome/components/mipi_spi/models/waveshare.py +++ b/esphome/components/mipi_spi/models/waveshare.py @@ -3,6 +3,7 @@ import esphome.config_validation as cv from .amoled import CO5300 from .ili import ILI9488_A +from .jc import AXS15231 DriverChip( "WAVESHARE-4-TFT", @@ -152,3 +153,12 @@ CO5300.extend( cs_pin=12, reset_pin=39, ) + +AXS15231.extend( + "WAVESHARE-ESP32-S3-TOUCH-LCD-3.49", + width=172, + height=640, + data_rate="80MHz", + cs_pin=9, + reset_pin=21, +) diff --git a/tests/component_tests/mipi_spi/test_init.py b/tests/component_tests/mipi_spi/test_init.py index fbb3222812..e68f6fbfba 100644 --- a/tests/component_tests/mipi_spi/test_init.py +++ b/tests/component_tests/mipi_spi/test_init.py @@ -69,7 +69,7 @@ def run_schema_validation(config: ConfigType) -> None: { "id": "display_id", "model": "custom", - "dimensions": {"width": 320, "height": 240}, + "dimensions": {"width": 260, "height": 260}, "draw_rounding": 13, "init_sequence": [[0xA0, 0x01]], }, @@ -336,7 +336,7 @@ def test_native_generation( main_cpp = generate_main(component_fixture_path("native.yaml")) assert ( - "mipi_spi::MipiSpiBuffer()" + "mipi_spi::MipiSpiBuffer()" in main_cpp ) assert "set_init_sequence({240, 1, 8, 242" in main_cpp diff --git a/tests/components/chsc6x/test.esp32-c3-idf.yaml b/tests/components/chsc6x/test.esp32-c3-idf.yaml index f32f147a44..f0de4107d7 100644 --- a/tests/components/chsc6x/test.esp32-c3-idf.yaml +++ b/tests/components/chsc6x/test.esp32-c3-idf.yaml @@ -7,8 +7,8 @@ display: id: ili9xxx_display model: GC9A01A invert_colors: True - cs_pin: 10 - dc_pin: 6 + cs_pin: 11 + dc_pin: 7 pages: - id: page1 lambda: |- diff --git a/tests/components/mipi_spi/common.yaml b/tests/components/mipi_spi/common.yaml index 03f807f53c..692a9f436e 100644 --- a/tests/components/mipi_spi/common.yaml +++ b/tests/components/mipi_spi/common.yaml @@ -10,7 +10,7 @@ display: invert_colors: true show_test_card: true spi_mode: mode0 - draw_rounding: 8 + draw_rounding: 4 use_axis_flips: true init_sequence: - [0xd0, 1, 2, 3] diff --git a/tests/components/mipi_spi/test.rp2040-ard.yaml b/tests/components/mipi_spi/test.rp2040-ard.yaml index 380cebcde3..6336652999 100644 --- a/tests/components/mipi_spi/test.rp2040-ard.yaml +++ b/tests/components/mipi_spi/test.rp2040-ard.yaml @@ -1,7 +1,7 @@ substitutions: dc_pin: GPIO14 cs_pin: GPIO13 - enable_pin: GPIO16 + enable_pin: GPIO17 reset_pin: GPIO20 packages: From f71aed3a5cc646e5fefbd829291e363fd7a75626 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 14:06:02 -1000 Subject: [PATCH 149/201] [ota] Fix MQTT resolution when static IP appears first in device list (#11272) --- esphome/__main__.py | 116 ++++++++++---- tests/unit_tests/test_main.py | 287 ++++++++++++++++++++++++++++++++++ 2 files changed, 370 insertions(+), 33 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index 8e0c475525..89197737e3 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -117,6 +117,17 @@ class Purpose(StrEnum): LOGGING = "logging" +class PortType(StrEnum): + SERIAL = "SERIAL" + NETWORK = "NETWORK" + MQTT = "MQTT" + MQTTIP = "MQTTIP" + + +# Magic MQTT port types that require special handling +_MQTT_PORT_TYPES = frozenset({PortType.MQTT, PortType.MQTTIP}) + + def _resolve_with_cache(address: str, purpose: Purpose) -> list[str]: """Resolve an address using cache if available, otherwise return the address itself.""" if CORE.address_cache and (cached := CORE.address_cache.get_addresses(address)): @@ -280,16 +291,67 @@ def mqtt_get_ip(config: ConfigType, username: str, password: str, client_id: str return mqtt.get_esphome_device_ip(config, username, password, client_id) -_PORT_TO_PORT_TYPE = { - "MQTT": "MQTT", - "MQTTIP": "MQTTIP", -} +def _resolve_network_devices( + devices: list[str], config: ConfigType, args: ArgsProtocol +) -> list[str]: + """Resolve device list, converting MQTT magic strings to actual IP addresses. + + This function filters the devices list to: + - Replace MQTT/MQTTIP magic strings with actual IP addresses via MQTT lookup + - Deduplicate addresses while preserving order + - Only resolve MQTT once even if multiple MQTT strings are present + - If MQTT resolution fails, log a warning and continue with other devices + + Args: + devices: List of device identifiers (IPs, hostnames, or magic strings) + config: ESPHome configuration + args: Command-line arguments containing MQTT credentials + + Returns: + List of network addresses suitable for connection attempts + """ + network_devices: list[str] = [] + mqtt_resolved: bool = False + + for device in devices: + port_type = get_port_type(device) + if port_type in _MQTT_PORT_TYPES: + # Only resolve MQTT once, even if multiple MQTT entries + if not mqtt_resolved: + try: + mqtt_ips = mqtt_get_ip( + config, args.username, args.password, args.client_id + ) + network_devices.extend(mqtt_ips) + except EsphomeError as err: + _LOGGER.warning( + "MQTT IP discovery failed (%s), will try other devices if available", + err, + ) + mqtt_resolved = True + elif device not in network_devices: + # Regular network address or IP - add if not already present + network_devices.append(device) + + return network_devices -def get_port_type(port: str) -> str: +def get_port_type(port: str) -> PortType: + """Determine the type of port/device identifier. + + Returns: + PortType.SERIAL for serial ports (/dev/ttyUSB0, COM1, etc.) + PortType.MQTT for MQTT logging + PortType.MQTTIP for MQTT IP lookup + PortType.NETWORK for IP addresses, hostnames, or mDNS names + """ if port.startswith("/") or port.startswith("COM"): - return "SERIAL" - return _PORT_TO_PORT_TYPE.get(port, "NETWORK") + return PortType.SERIAL + if port == "MQTT": + return PortType.MQTT + if port == "MQTTIP": + return PortType.MQTTIP + return PortType.NETWORK def run_miniterm(config: ConfigType, port: str, args) -> int: @@ -489,7 +551,7 @@ def upload_using_platformio(config: ConfigType, port: str): def check_permissions(port: str): - if os.name == "posix" and get_port_type(port) == "SERIAL": + if os.name == "posix" and get_port_type(port) == PortType.SERIAL: # Check if we can open selected serial port if not os.access(port, os.F_OK): raise EsphomeError( @@ -517,7 +579,7 @@ def upload_program( except AttributeError: pass - if get_port_type(host) == "SERIAL": + if get_port_type(host) == PortType.SERIAL: check_permissions(host) exit_code = 1 @@ -550,11 +612,10 @@ def upload_program( else: binary = CORE.firmware_bin - # MQTT address resolution - if get_port_type(host) in ("MQTT", "MQTTIP"): - devices = mqtt_get_ip(config, args.username, args.password, args.client_id) + # Resolve MQTT magic strings to actual IP addresses + network_devices = _resolve_network_devices(devices, config, args) - return espota2.run_ota(devices, remote_port, password, binary) + return espota2.run_ota(network_devices, remote_port, password, binary) def show_logs(config: ConfigType, args: ArgsProtocol, devices: list[str]) -> int | None: @@ -569,33 +630,22 @@ def show_logs(config: ConfigType, args: ArgsProtocol, devices: list[str]) -> int raise EsphomeError("Logger is not configured!") port = devices[0] + port_type = get_port_type(port) - if get_port_type(port) == "SERIAL": + if port_type == PortType.SERIAL: check_permissions(port) return run_miniterm(config, port, args) - port_type = get_port_type(port) - # Check if we should use API for logging - if has_api(): - addresses_to_use: list[str] | None = None + # Resolve MQTT magic strings to actual IP addresses + if has_api() and ( + network_devices := _resolve_network_devices(devices, config, args) + ): + from esphome.components.api.client import run_logs - if port_type == "NETWORK": - # Network addresses (IPs, mDNS names, or regular DNS hostnames) can be used - # The resolve_ip_address() function in helpers.py handles all types - addresses_to_use = devices - elif port_type in ("MQTT", "MQTTIP") and has_mqtt_ip_lookup(): - # Use MQTT IP lookup for MQTT/MQTTIP types - addresses_to_use = mqtt_get_ip( - config, args.username, args.password, args.client_id - ) + return run_logs(config, network_devices) - if addresses_to_use is not None: - from esphome.components.api.client import run_logs - - return run_logs(config, addresses_to_use) - - if port_type in ("NETWORK", "MQTT") and has_mqtt_logging(): + if port_type in (PortType.NETWORK, PortType.MQTT) and has_mqtt_logging(): from esphome import mqtt return mqtt.show_logs( diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index becf911fa3..422a199496 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -1976,3 +1976,290 @@ def test_command_clean_all_args_used() -> None: # Verify the correct configuration paths were passed mock_clean_all.assert_any_call(["/path/to/config1"]) mock_clean_all.assert_any_call(["/path/to/config2", "/path/to/config3"]) + + +def test_upload_program_ota_static_ip_with_mqttip( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test upload_program with static IP and MQTTIP (issue #11260). + + This tests the scenario where a device has manual_ip (static IP) configured + and MQTT is also configured. The devices list contains both the static IP + and "MQTTIP" magic string. This previously failed because only the first + device was checked for MQTT resolution. + """ + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + mock_mqtt_get_ip.return_value = ["192.168.2.50"] # Different subnet + mock_run_ota.return_value = (0, "192.168.1.100") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + # Simulates choose_upload_log_host returning static IP + MQTTIP + devices = ["192.168.1.100", "MQTTIP"] + + exit_code, host = upload_program(config, args, devices) + + assert exit_code == 0 + assert host == "192.168.1.100" + + # Verify MQTT was resolved + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with both IPs + expected_firmware = ( + tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" + ) + mock_run_ota.assert_called_once_with( + ["192.168.1.100", "192.168.2.50"], 3232, "", expected_firmware + ) + + +def test_upload_program_ota_multiple_mqttip_resolves_once( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test that MQTT resolution only happens once even with multiple MQTT magic strings.""" + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + mock_mqtt_get_ip.return_value = ["192.168.2.50", "192.168.2.51"] + mock_run_ota.return_value = (0, "192.168.2.50") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + # Multiple MQTT magic strings in the list + devices = ["MQTTIP", "MQTT", "192.168.1.100"] + + exit_code, host = upload_program(config, args, devices) + + assert exit_code == 0 + assert host == "192.168.2.50" + + # Verify MQTT was only resolved once despite multiple MQTT magic strings + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with all unique IPs + expected_firmware = ( + tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" + ) + mock_run_ota.assert_called_once_with( + ["192.168.2.50", "192.168.2.51", "192.168.1.100"], 3232, "", expected_firmware + ) + + +def test_upload_program_ota_mqttip_deduplication( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test that duplicate IPs are filtered when MQTT returns same IP as static IP.""" + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + # MQTT returns the same IP as the static IP + mock_mqtt_get_ip.return_value = ["192.168.1.100"] + mock_run_ota.return_value = (0, "192.168.1.100") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + devices = ["192.168.1.100", "MQTTIP"] + + exit_code, host = upload_program(config, args, devices) + + assert exit_code == 0 + assert host == "192.168.1.100" + + # Verify MQTT was resolved + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with deduplicated IPs (only one instance of 192.168.1.100) + # Note: Current implementation doesn't dedupe, so we'll get the IP twice + # This test documents current behavior - deduplication could be future enhancement + mock_run_ota.assert_called_once() + call_args = mock_run_ota.call_args[0] + # Should contain both the original IP and MQTT-resolved IP (even if duplicate) + assert "192.168.1.100" in call_args[0] + + +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_static_ip_with_mqttip( + mock_run_logs: Mock, + mock_mqtt_get_ip: Mock, +) -> None: + """Test show_logs with static IP and MQTTIP (issue #11260). + + This tests the scenario where a device has manual_ip (static IP) configured + and MQTT is also configured. The devices list contains both the static IP + and "MQTTIP" magic string. + """ + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MQTT: {CONF_BROKER: "mqtt.local"}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + mock_mqtt_get_ip.return_value = ["192.168.2.50"] + + args = MockArgs(username="user", password="pass", client_id="client") + # Simulates choose_upload_log_host returning static IP + MQTTIP + devices = ["192.168.1.100", "MQTTIP"] + + result = show_logs(CORE.config, args, devices) + + assert result == 0 + + # Verify MQTT was resolved + mock_mqtt_get_ip.assert_called_once_with(CORE.config, "user", "pass", "client") + + # Verify run_logs was called with both IPs + mock_run_logs.assert_called_once_with( + CORE.config, ["192.168.1.100", "192.168.2.50"] + ) + + +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_multiple_mqttip_resolves_once( + mock_run_logs: Mock, + mock_mqtt_get_ip: Mock, +) -> None: + """Test that MQTT resolution only happens once for show_logs with multiple MQTT magic strings.""" + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MQTT: {CONF_BROKER: "mqtt.local"}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + mock_mqtt_get_ip.return_value = ["192.168.2.50", "192.168.2.51"] + + args = MockArgs(username="user", password="pass", client_id="client") + # Multiple MQTT magic strings in the list + devices = ["MQTTIP", "192.168.1.100", "MQTT"] + + result = show_logs(CORE.config, args, devices) + + assert result == 0 + + # Verify MQTT was only resolved once despite multiple MQTT magic strings + mock_mqtt_get_ip.assert_called_once_with(CORE.config, "user", "pass", "client") + + # Verify run_logs was called with all unique IPs (MQTT strings replaced with IPs) + # Note: "MQTT" is a different magic string from "MQTTIP", but both trigger MQTT resolution + # The _resolve_network_devices helper filters out both after first resolution + mock_run_logs.assert_called_once_with( + CORE.config, ["192.168.2.50", "192.168.2.51", "192.168.1.100"] + ) + + +def test_upload_program_ota_mqtt_timeout_fallback( + mock_mqtt_get_ip: Mock, + mock_run_ota: Mock, + tmp_path: Path, +) -> None: + """Test upload_program falls back to other devices when MQTT times out.""" + setup_core(platform=PLATFORM_ESP32, tmp_path=tmp_path) + + # MQTT times out + mock_mqtt_get_ip.side_effect = EsphomeError("Failed to find IP via MQTT") + mock_run_ota.return_value = (0, "192.168.1.100") + + config = { + CONF_OTA: [ + { + CONF_PLATFORM: CONF_ESPHOME, + CONF_PORT: 3232, + } + ], + CONF_MQTT: { + CONF_BROKER: "mqtt.local", + }, + } + args = MockArgs(username="user", password="pass", client_id="client") + # Static IP first, MQTTIP second + devices = ["192.168.1.100", "MQTTIP"] + + exit_code, host = upload_program(config, args, devices) + + # Should succeed using the static IP even though MQTT failed + assert exit_code == 0 + assert host == "192.168.1.100" + + # Verify MQTT was attempted + mock_mqtt_get_ip.assert_called_once_with(config, "user", "pass", "client") + + # Verify espota2.run_ota was called with only the static IP (MQTT failed) + expected_firmware = ( + tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" + ) + mock_run_ota.assert_called_once_with(["192.168.1.100"], 3232, "", expected_firmware) + + +@patch("esphome.components.api.client.run_logs") +def test_show_logs_api_mqtt_timeout_fallback( + mock_run_logs: Mock, + mock_mqtt_get_ip: Mock, +) -> None: + """Test show_logs falls back to other devices when MQTT times out.""" + setup_core( + config={ + "logger": {}, + CONF_API: {}, + CONF_MQTT: {CONF_BROKER: "mqtt.local"}, + }, + platform=PLATFORM_ESP32, + ) + mock_run_logs.return_value = 0 + # MQTT times out + mock_mqtt_get_ip.side_effect = EsphomeError("Failed to find IP via MQTT") + + args = MockArgs(username="user", password="pass", client_id="client") + # Static IP first, MQTTIP second + devices = ["192.168.1.100", "MQTTIP"] + + result = show_logs(CORE.config, args, devices) + + # Should succeed using the static IP even though MQTT failed + assert result == 0 + + # Verify MQTT was attempted + mock_mqtt_get_ip.assert_called_once_with(CORE.config, "user", "pass", "client") + + # Verify run_logs was called with only the static IP (MQTT failed) + mock_run_logs.assert_called_once_with(CORE.config, ["192.168.1.100"]) From 2b94de87323c52fe26be62c3b5bf15fc77c4adf0 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:07:37 +1300 Subject: [PATCH 150/201] [ota.esphome] Handle blank password the same as no password defined (#11271) --- esphome/__main__.py | 2 +- esphome/components/esphome/ota/__init__.py | 6 ++++-- esphome/espota2.py | 10 +++++----- tests/unit_tests/test_espota2.py | 16 ++++++++-------- tests/unit_tests/test_main.py | 6 ++++-- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index 89197737e3..d9bdfb175b 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -606,7 +606,7 @@ def upload_program( from esphome import espota2 remote_port = int(ota_conf[CONF_PORT]) - password = ota_conf.get(CONF_PASSWORD, "") + password = ota_conf.get(CONF_PASSWORD) if getattr(args, "file", None) is not None: binary = Path(args.file) else: diff --git a/esphome/components/esphome/ota/__init__.py b/esphome/components/esphome/ota/__init__.py index e6f249e021..69a50a2de9 100644 --- a/esphome/components/esphome/ota/__init__.py +++ b/esphome/components/esphome/ota/__init__.py @@ -19,6 +19,7 @@ from esphome.const import ( from esphome.core import CORE, coroutine_with_priority from esphome.coroutine import CoroPriority import esphome.final_validate as fv +from esphome.types import ConfigType _LOGGER = logging.getLogger(__name__) @@ -136,11 +137,12 @@ FINAL_VALIDATE_SCHEMA = ota_esphome_final_validate @coroutine_with_priority(CoroPriority.OTA_UPDATES) -async def to_code(config): +async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) cg.add(var.set_port(config[CONF_PORT])) - if CONF_PASSWORD in config: + # Password could be set to an empty string and we can assume that means no password + if config.get(CONF_PASSWORD): cg.add(var.set_auth_password(config[CONF_PASSWORD])) cg.add_define("USE_OTA_PASSWORD") # Only include hash algorithms when password is configured diff --git a/esphome/espota2.py b/esphome/espota2.py index 17a1da8235..2b1b9a8328 100644 --- a/esphome/espota2.py +++ b/esphome/espota2.py @@ -242,7 +242,7 @@ def send_check( def perform_ota( - sock: socket.socket, password: str, file_handle: io.IOBase, filename: Path + sock: socket.socket, password: str | None, file_handle: io.IOBase, filename: Path ) -> None: file_contents = file_handle.read() file_size = len(file_contents) @@ -278,13 +278,13 @@ def perform_ota( def perform_auth( sock: socket.socket, - password: str, + password: str | None, hash_func: Callable[..., Any], nonce_size: int, hash_name: str, ) -> None: """Perform challenge-response authentication using specified hash algorithm.""" - if not password: + if password is None: raise OTAError("ESP requests password, but no password given!") nonce_bytes = receive_exactly( @@ -385,7 +385,7 @@ def perform_ota( def run_ota_impl_( - remote_host: str | list[str], remote_port: int, password: str, filename: Path + remote_host: str | list[str], remote_port: int, password: str | None, filename: Path ) -> tuple[int, str | None]: from esphome.core import CORE @@ -436,7 +436,7 @@ def run_ota_impl_( def run_ota( - remote_host: str | list[str], remote_port: int, password: str, filename: Path + remote_host: str | list[str], remote_port: int, password: str | None, filename: Path ) -> tuple[int, str | None]: try: return run_ota_impl_(remote_host, remote_port, password, filename) diff --git a/tests/unit_tests/test_espota2.py b/tests/unit_tests/test_espota2.py index 52c72291d6..02f965782b 100644 --- a/tests/unit_tests/test_espota2.py +++ b/tests/unit_tests/test_espota2.py @@ -287,7 +287,7 @@ def test_perform_ota_no_auth(mock_socket: Mock, mock_file: io.BytesIO) -> None: mock_socket.recv.side_effect = recv_responses - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # Should not send any auth-related data auth_calls = [ @@ -317,7 +317,7 @@ def test_perform_ota_with_compression(mock_socket: Mock) -> None: mock_socket.recv.side_effect = recv_responses - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # Verify compressed content was sent # Get the binary size that was sent (4 bytes after features) @@ -347,7 +347,7 @@ def test_perform_ota_auth_without_password(mock_socket: Mock) -> None: with pytest.raises( espota2.OTAError, match="ESP requests password, but no password given" ): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") @pytest.mark.usefixtures("mock_time") @@ -413,7 +413,7 @@ def test_perform_ota_sha256_auth_without_password(mock_socket: Mock) -> None: with pytest.raises( espota2.OTAError, match="ESP requests password, but no password given" ): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") def test_perform_ota_unexpected_auth_response(mock_socket: Mock) -> None: @@ -450,7 +450,7 @@ def test_perform_ota_unsupported_version(mock_socket: Mock) -> None: mock_socket.recv.side_effect = responses with pytest.raises(espota2.OTAError, match="Device uses unsupported OTA version"): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") @pytest.mark.usefixtures("mock_time") @@ -471,7 +471,7 @@ def test_perform_ota_upload_error(mock_socket: Mock, mock_file: io.BytesIO) -> N mock_socket.recv.side_effect = recv_responses with pytest.raises(espota2.OTAError, match="Error receiving acknowledge chunk OK"): - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") @pytest.mark.usefixtures("mock_socket_constructor", "mock_resolve_ip") @@ -706,7 +706,7 @@ def test_perform_ota_version_differences( ] mock_socket.recv.side_effect = recv_responses - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # For v1.0, verify that we only get the expected number of recv calls # v1.0 doesn't have chunk acknowledgments, so fewer recv calls @@ -732,7 +732,7 @@ def test_perform_ota_version_differences( ] mock_socket.recv.side_effect = recv_responses_v2 - espota2.perform_ota(mock_socket, "", mock_file, "test.bin") + espota2.perform_ota(mock_socket, None, mock_file, "test.bin") # For v2.0, verify more recv calls due to chunk acknowledgments assert mock_socket.recv.call_count == 9 # v2.0 has 9 recv calls (includes chunk OK) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index 422a199496..1782a1e9e1 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -1062,7 +1062,7 @@ def test_upload_program_ota_with_file_arg( assert exit_code == 0 assert host == "192.168.1.100" mock_run_ota.assert_called_once_with( - ["192.168.1.100"], 3232, "", Path("custom.bin") + ["192.168.1.100"], 3232, None, Path("custom.bin") ) @@ -1119,7 +1119,9 @@ def test_upload_program_ota_with_mqtt_resolution( expected_firmware = ( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) - mock_run_ota.assert_called_once_with(["192.168.1.100"], 3232, "", expected_firmware) + mock_run_ota.assert_called_once_with( + ["192.168.1.100"], 3232, None, expected_firmware + ) @patch("esphome.__main__.importlib.import_module") From 2c4818de00ee1693007cb51130a3c5d883dd753d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 14:28:19 -1000 Subject: [PATCH 151/201] [tests] Fix OTA password test assertions after merge collision (#11275) --- tests/unit_tests/test_main.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index 1782a1e9e1..59d0433aa4 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -2025,7 +2025,7 @@ def test_upload_program_ota_static_ip_with_mqttip( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) mock_run_ota.assert_called_once_with( - ["192.168.1.100", "192.168.2.50"], 3232, "", expected_firmware + ["192.168.1.100", "192.168.2.50"], 3232, None, expected_firmware ) @@ -2068,7 +2068,7 @@ def test_upload_program_ota_multiple_mqttip_resolves_once( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) mock_run_ota.assert_called_once_with( - ["192.168.2.50", "192.168.2.51", "192.168.1.100"], 3232, "", expected_firmware + ["192.168.2.50", "192.168.2.51", "192.168.1.100"], 3232, None, expected_firmware ) @@ -2230,7 +2230,9 @@ def test_upload_program_ota_mqtt_timeout_fallback( expected_firmware = ( tmp_path / ".esphome" / "build" / "test" / ".pioenvs" / "test" / "firmware.bin" ) - mock_run_ota.assert_called_once_with(["192.168.1.100"], 3232, "", expected_firmware) + mock_run_ota.assert_called_once_with( + ["192.168.1.100"], 3232, None, expected_firmware + ) @patch("esphome.components.api.client.run_logs") From 56eb605ec9e7f09e2acb92e4ef0c93149ce32c07 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Wed, 15 Oct 2025 21:24:56 -0400 Subject: [PATCH 152/201] [wifi] Fix enterprise wifi (#11276) Co-authored-by: J. Nick Koston --- esphome/components/wifi/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/wifi/__init__.py b/esphome/components/wifi/__init__.py index a784123006..fe1f0c96db 100644 --- a/esphome/components/wifi/__init__.py +++ b/esphome/components/wifi/__init__.py @@ -402,8 +402,8 @@ async def to_code(config): add_idf_sdkconfig_option("CONFIG_LWIP_DHCPS", False) # Disable Enterprise WiFi support if no EAP is configured - if CORE.is_esp32 and not has_eap: - add_idf_sdkconfig_option("CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT", False) + if CORE.is_esp32: + add_idf_sdkconfig_option("CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT", has_eap) cg.add(var.set_reboot_timeout(config[CONF_REBOOT_TIMEOUT])) cg.add(var.set_power_save_mode(config[CONF_POWER_SAVE_MODE])) From a75ccf841c05553e96e16f2774e807a11ce46e07 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 17:23:20 -1000 Subject: [PATCH 153/201] [substitutions] Fix AttributeError when using packages with substitutions (#11274) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- esphome/components/substitutions/__init__.py | 10 +- esphome/config.py | 9 +- esphome/config_helpers.py | 26 ++- tests/unit_tests/test_substitutions.py | 204 ++++++++++++++++++- 4 files changed, 236 insertions(+), 13 deletions(-) diff --git a/esphome/components/substitutions/__init__.py b/esphome/components/substitutions/__init__.py index 1a1736aed1..e6bcdc063a 100644 --- a/esphome/components/substitutions/__init__.py +++ b/esphome/components/substitutions/__init__.py @@ -1,7 +1,7 @@ import logging from esphome import core -from esphome.config_helpers import Extend, Remove, merge_config +from esphome.config_helpers import Extend, Remove, merge_config, merge_dicts_ordered import esphome.config_validation as cv from esphome.const import CONF_SUBSTITUTIONS, VALID_SUBSTITUTIONS_CHARACTERS from esphome.yaml_util import ESPHomeDataBase, ESPLiteralValue, make_data_base @@ -170,10 +170,10 @@ def do_substitution_pass(config, command_line_substitutions, ignore_missing=Fals return # Merge substitutions in config, overriding with substitutions coming from command line: - substitutions = { - **config.get(CONF_SUBSTITUTIONS, {}), - **(command_line_substitutions or {}), - } + # Use merge_dicts_ordered to preserve OrderedDict type for move_to_end() + substitutions = merge_dicts_ordered( + config.get(CONF_SUBSTITUTIONS, {}), command_line_substitutions or {} + ) with cv.prepend_path("substitutions"): if not isinstance(substitutions, dict): raise cv.Invalid( diff --git a/esphome/config.py b/esphome/config.py index 10a5733575..6adecb5c65 100644 --- a/esphome/config.py +++ b/esphome/config.py @@ -12,7 +12,7 @@ from typing import Any import voluptuous as vol from esphome import core, loader, pins, yaml_util -from esphome.config_helpers import Extend, Remove +from esphome.config_helpers import Extend, Remove, merge_dicts_ordered import esphome.config_validation as cv from esphome.const import ( CONF_ESPHOME, @@ -922,10 +922,9 @@ def validate_config( if CONF_SUBSTITUTIONS in config or command_line_substitutions: from esphome.components import substitutions - result[CONF_SUBSTITUTIONS] = { - **(config.get(CONF_SUBSTITUTIONS) or {}), - **command_line_substitutions, - } + result[CONF_SUBSTITUTIONS] = merge_dicts_ordered( + config.get(CONF_SUBSTITUTIONS) or {}, command_line_substitutions + ) result.add_output_path([CONF_SUBSTITUTIONS], CONF_SUBSTITUTIONS) try: substitutions.do_substitution_pass(config, command_line_substitutions) diff --git a/esphome/config_helpers.py b/esphome/config_helpers.py index 00cd8f9818..88cfa49fdc 100644 --- a/esphome/config_helpers.py +++ b/esphome/config_helpers.py @@ -10,6 +10,7 @@ from esphome.const import ( PlatformFramework, ) from esphome.core import CORE +from esphome.util import OrderedDict # Pre-build lookup map from (platform, framework) tuples to PlatformFramework enum _PLATFORM_FRAMEWORK_LOOKUP = { @@ -17,6 +18,25 @@ _PLATFORM_FRAMEWORK_LOOKUP = { } +def merge_dicts_ordered(*dicts: dict) -> OrderedDict: + """Merge multiple dicts into an OrderedDict, preserving key order. + + This is a helper to ensure that dictionary merging preserves OrderedDict type, + which is important for operations like move_to_end(). + + Args: + *dicts: Variable number of dictionaries to merge (later dicts override earlier ones) + + Returns: + OrderedDict with merged contents + """ + result = OrderedDict() + for d in dicts: + if d: + result.update(d) + return result + + class Extend: def __init__(self, value): self.value = value @@ -60,7 +80,11 @@ def merge_config(full_old, full_new): if isinstance(new, dict): if not isinstance(old, dict): return new - res = old.copy() + # Preserve OrderedDict type by copying to OrderedDict if either input is OrderedDict + if isinstance(old, OrderedDict) or isinstance(new, OrderedDict): + res = OrderedDict(old) + else: + res = old.copy() for k, v in new.items(): if isinstance(v, Remove) and k in old: del res[k] diff --git a/tests/unit_tests/test_substitutions.py b/tests/unit_tests/test_substitutions.py index dd419aba9c..59396a4a83 100644 --- a/tests/unit_tests/test_substitutions.py +++ b/tests/unit_tests/test_substitutions.py @@ -2,9 +2,12 @@ import glob import logging from pathlib import Path -from esphome import yaml_util +from esphome import config as config_module, yaml_util from esphome.components import substitutions -from esphome.const import CONF_PACKAGES +from esphome.config_helpers import merge_config +from esphome.const import CONF_PACKAGES, CONF_SUBSTITUTIONS +from esphome.core import CORE +from esphome.util import OrderedDict _LOGGER = logging.getLogger(__name__) @@ -118,3 +121,200 @@ def test_substitutions_fixtures(fixture_path): if DEV_MODE: _LOGGER.error("Tests passed, but Dev mode is enabled.") assert not DEV_MODE # make sure DEV_MODE is disabled after you are finished. + + +def test_substitutions_with_command_line_maintains_ordered_dict() -> None: + """Test that substitutions remain an OrderedDict when command line substitutions are provided, + and that move_to_end() can be called successfully. + + This is a regression test for https://github.com/esphome/esphome/issues/11182 + where the config would become a regular dict and fail when move_to_end() was called. + """ + # Create an OrderedDict config with substitutions + config = OrderedDict() + config["esphome"] = {"name": "test"} + config[CONF_SUBSTITUTIONS] = {"var1": "value1", "var2": "value2"} + config["other_key"] = "other_value" + + # Command line substitutions that should override + command_line_subs = {"var2": "override", "var3": "new_value"} + + # Call do_substitution_pass with command line substitutions + substitutions.do_substitution_pass(config, command_line_subs) + + # Verify that config is still an OrderedDict + assert isinstance(config, OrderedDict), "Config should remain an OrderedDict" + + # Verify substitutions are at the beginning (move_to_end with last=False) + keys = list(config.keys()) + assert keys[0] == CONF_SUBSTITUTIONS, "Substitutions should be first key" + + # Verify substitutions were properly merged + assert config[CONF_SUBSTITUTIONS]["var1"] == "value1" + assert config[CONF_SUBSTITUTIONS]["var2"] == "override" + assert config[CONF_SUBSTITUTIONS]["var3"] == "new_value" + + # Verify config[CONF_SUBSTITUTIONS] is also an OrderedDict + assert isinstance(config[CONF_SUBSTITUTIONS], OrderedDict), ( + "Substitutions should be an OrderedDict" + ) + + +def test_substitutions_without_command_line_maintains_ordered_dict() -> None: + """Test that substitutions work correctly without command line substitutions.""" + config = OrderedDict() + config["esphome"] = {"name": "test"} + config[CONF_SUBSTITUTIONS] = {"var1": "value1"} + config["other_key"] = "other_value" + + # Call without command line substitutions + substitutions.do_substitution_pass(config, None) + + # Verify that config is still an OrderedDict + assert isinstance(config, OrderedDict), "Config should remain an OrderedDict" + + # Verify substitutions are at the beginning + keys = list(config.keys()) + assert keys[0] == CONF_SUBSTITUTIONS, "Substitutions should be first key" + + +def test_substitutions_after_merge_config_maintains_ordered_dict() -> None: + """Test that substitutions work after merge_config (packages scenario). + + This is a regression test for https://github.com/esphome/esphome/issues/11182 + where using packages would cause config to become a regular dict, breaking move_to_end(). + """ + # Simulate what happens with packages - merge two OrderedDict configs + base_config = OrderedDict() + base_config["esphome"] = {"name": "base"} + base_config[CONF_SUBSTITUTIONS] = {"var1": "value1"} + + package_config = OrderedDict() + package_config["sensor"] = [{"platform": "template"}] + package_config[CONF_SUBSTITUTIONS] = {"var2": "value2"} + + # Merge configs (simulating package merge) + merged_config = merge_config(base_config, package_config) + + # Verify merged config is still an OrderedDict + assert isinstance(merged_config, OrderedDict), ( + "Merged config should be an OrderedDict" + ) + + # Now try to run substitution pass on the merged config + substitutions.do_substitution_pass(merged_config, None) + + # Should not raise AttributeError + assert isinstance(merged_config, OrderedDict), ( + "Config should still be OrderedDict after substitution pass" + ) + keys = list(merged_config.keys()) + assert keys[0] == CONF_SUBSTITUTIONS, "Substitutions should be first key" + + +def test_validate_config_with_command_line_substitutions_maintains_ordered_dict( + tmp_path, +) -> None: + """Test that validate_config preserves OrderedDict when merging command-line substitutions. + + This tests the code path in config.py where result[CONF_SUBSTITUTIONS] is set + using merge_dicts_ordered() with command-line substitutions provided. + """ + # Create a minimal valid config + test_config = OrderedDict() + test_config["esphome"] = {"name": "test_device", "platform": "ESP32"} + test_config[CONF_SUBSTITUTIONS] = OrderedDict({"var1": "value1", "var2": "value2"}) + test_config["esp32"] = {"board": "esp32dev"} + + # Command line substitutions that should override + command_line_subs = {"var2": "override", "var3": "new_value"} + + # Set up CORE for the test with a proper Path object + test_yaml = tmp_path / "test.yaml" + test_yaml.write_text("# test config") + CORE.config_path = test_yaml + + # Call validate_config with command line substitutions + result = config_module.validate_config(test_config, command_line_subs) + + # Verify that result[CONF_SUBSTITUTIONS] is an OrderedDict + assert isinstance(result.get(CONF_SUBSTITUTIONS), OrderedDict), ( + "Result substitutions should be an OrderedDict" + ) + + # Verify substitutions were properly merged + assert result[CONF_SUBSTITUTIONS]["var1"] == "value1" + assert result[CONF_SUBSTITUTIONS]["var2"] == "override" + assert result[CONF_SUBSTITUTIONS]["var3"] == "new_value" + + +def test_validate_config_without_command_line_substitutions_maintains_ordered_dict( + tmp_path, +) -> None: + """Test that validate_config preserves OrderedDict without command-line substitutions. + + This tests the code path in config.py where result[CONF_SUBSTITUTIONS] is set + using merge_dicts_ordered() when command_line_substitutions is None. + """ + # Create a minimal valid config + test_config = OrderedDict() + test_config["esphome"] = {"name": "test_device", "platform": "ESP32"} + test_config[CONF_SUBSTITUTIONS] = OrderedDict({"var1": "value1", "var2": "value2"}) + test_config["esp32"] = {"board": "esp32dev"} + + # Set up CORE for the test with a proper Path object + test_yaml = tmp_path / "test.yaml" + test_yaml.write_text("# test config") + CORE.config_path = test_yaml + + # Call validate_config without command line substitutions + result = config_module.validate_config(test_config, None) + + # Verify that result[CONF_SUBSTITUTIONS] is an OrderedDict + assert isinstance(result.get(CONF_SUBSTITUTIONS), OrderedDict), ( + "Result substitutions should be an OrderedDict" + ) + + # Verify substitutions are unchanged + assert result[CONF_SUBSTITUTIONS]["var1"] == "value1" + assert result[CONF_SUBSTITUTIONS]["var2"] == "value2" + + +def test_merge_config_preserves_ordered_dict() -> None: + """Test that merge_config preserves OrderedDict type. + + This is a regression test to ensure merge_config doesn't lose OrderedDict type + when merging configs, which causes AttributeError on move_to_end(). + """ + # Test OrderedDict + dict = OrderedDict + od = OrderedDict([("a", 1), ("b", 2)]) + d = {"b": 20, "c": 3} + result = merge_config(od, d) + assert isinstance(result, OrderedDict), ( + "OrderedDict + dict should return OrderedDict" + ) + + # Test dict + OrderedDict = OrderedDict + d = {"a": 1, "b": 2} + od = OrderedDict([("b", 20), ("c", 3)]) + result = merge_config(d, od) + assert isinstance(result, OrderedDict), ( + "dict + OrderedDict should return OrderedDict" + ) + + # Test OrderedDict + OrderedDict = OrderedDict + od1 = OrderedDict([("a", 1), ("b", 2)]) + od2 = OrderedDict([("b", 20), ("c", 3)]) + result = merge_config(od1, od2) + assert isinstance(result, OrderedDict), ( + "OrderedDict + OrderedDict should return OrderedDict" + ) + + # Test that dict + dict still returns regular dict (no unnecessary conversion) + d1 = {"a": 1, "b": 2} + d2 = {"b": 20, "c": 3} + result = merge_config(d1, d2) + assert isinstance(result, dict), "dict + dict should return dict" + assert not isinstance(result, OrderedDict), ( + "dict + dict should not return OrderedDict" + ) From 7f1173fcbaad41d9ca1dd5c016296a5a95eeab0f Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Thu, 16 Oct 2025 17:17:07 +1300 Subject: [PATCH 154/201] Bump version to 2025.10.1 --- Doxyfile | 2 +- esphome/const.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doxyfile b/Doxyfile index 749254c75e..78f004c7e3 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = ESPHome # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2025.10.0 +PROJECT_NUMBER = 2025.10.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/esphome/const.py b/esphome/const.py index 35c1603d48..54edcad8c9 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -4,7 +4,7 @@ from enum import Enum from esphome.enum import StrEnum -__version__ = "2025.10.0" +__version__ = "2025.10.1" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" VALID_SUBSTITUTIONS_CHARACTERS = ( From 7e2ccb7bc3e056e5ed4f31d7cd41e2411b72977e Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 15 Oct 2025 23:45:42 -1000 Subject: [PATCH 155/201] [datetime] Fix DateTimeStateTrigger compilation when time component is not used (#11287) --- esphome/components/datetime/datetime_base.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/esphome/components/datetime/datetime_base.h b/esphome/components/datetime/datetime_base.h index b7645f5539..b5f54ac96f 100644 --- a/esphome/components/datetime/datetime_base.h +++ b/esphome/components/datetime/datetime_base.h @@ -30,14 +30,12 @@ class DateTimeBase : public EntityBase { #endif }; -#ifdef USE_TIME class DateTimeStateTrigger : public Trigger { public: explicit DateTimeStateTrigger(DateTimeBase *parent) { parent->add_on_state_callback([this, parent]() { this->trigger(parent->state_as_esptime()); }); } }; -#endif } // namespace datetime } // namespace esphome From 364e5ffd79d776f5040ab5b7d64c3a6f87febb85 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 16 Oct 2025 11:28:52 -0400 Subject: [PATCH 156/201] [core] Add ESP32 ROM functions to reserved ids (#11293) --- esphome/config_validation.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/esphome/config_validation.py b/esphome/config_validation.py index ebfedf2017..e2f0b835c9 100644 --- a/esphome/config_validation.py +++ b/esphome/config_validation.py @@ -244,6 +244,20 @@ RESERVED_IDS = [ "uart0", "uart1", "uart2", + # ESP32 ROM functions + "crc16_be", + "crc16_le", + "crc32_be", + "crc32_le", + "crc8_be", + "crc8_le", + "dbg_state", + "debug_timer", + "one_bits", + "recv_packet", + "send_packet", + "check_pos", + "software_reset", ] From 5d3574c81fa82f45d53fcdca25c3af2e0c682217 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 16 Oct 2025 11:29:05 -0400 Subject: [PATCH 157/201] [htu21d] Revert register address change (#11291) --- esphome/components/htu21d/htu21d.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/htu21d/htu21d.cpp b/esphome/components/htu21d/htu21d.cpp index a7aae16f17..c5d91d3dd0 100644 --- a/esphome/components/htu21d/htu21d.cpp +++ b/esphome/components/htu21d/htu21d.cpp @@ -9,8 +9,8 @@ static const char *const TAG = "htu21d"; static const uint8_t HTU21D_ADDRESS = 0x40; static const uint8_t HTU21D_REGISTER_RESET = 0xFE; -static const uint8_t HTU21D_REGISTER_TEMPERATURE = 0xE3; -static const uint8_t HTU21D_REGISTER_HUMIDITY = 0xE5; +static const uint8_t HTU21D_REGISTER_TEMPERATURE = 0xF3; +static const uint8_t HTU21D_REGISTER_HUMIDITY = 0xF5; static const uint8_t HTU21D_WRITERHT_REG_CMD = 0xE6; /**< Write RH/T User Register 1 */ static const uint8_t HTU21D_REGISTER_STATUS = 0xE7; static const uint8_t HTU21D_WRITEHEATER_REG_CMD = 0x51; /**< Write Heater Control Register */ From b8353b3117de858f3f969be7995f9f2549420c69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 20:52:22 +0000 Subject: [PATCH 158/201] Bump ruff from 0.14.0 to 0.14.1 (#11303) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: J. Nick Koston --- .pre-commit-config.yaml | 2 +- requirements_test.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 521aaf9cc8..9e0e71d388 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ ci: repos: - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.0 + rev: v0.14.1 hooks: # Run the linter. - id: ruff diff --git a/requirements_test.txt b/requirements_test.txt index 56ac775a94..4c60a31d7f 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,6 +1,6 @@ pylint==4.0.1 flake8==7.3.0 # also change in .pre-commit-config.yaml when updating -ruff==0.14.0 # also change in .pre-commit-config.yaml when updating +ruff==0.14.1 # also change in .pre-commit-config.yaml when updating pyupgrade==3.21.0 # also change in .pre-commit-config.yaml when updating pre-commit From cd1215347e0f879c9418e449bb184be3956c0c62 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:55:30 -0400 Subject: [PATCH 159/201] [esp32] Reduce tx power on Arduino (#11304) --- esphome/components/esp32/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 92f5c57638..deb80deaf9 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -805,6 +805,7 @@ async def to_code(config): add_idf_sdkconfig_option("CONFIG_AUTOSTART_ARDUINO", True) add_idf_sdkconfig_option("CONFIG_MBEDTLS_PSK_MODES", True) add_idf_sdkconfig_option("CONFIG_MBEDTLS_CERTIFICATE_BUNDLE", True) + add_idf_sdkconfig_option("CONFIG_ESP_PHY_REDUCE_TX_POWER", True) cg.add_build_flag("-Wno-nonnull-compare") From 62f73c768e8e61da2265962e824732d0d15cdbea Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Thu, 16 Oct 2025 17:43:15 -0400 Subject: [PATCH 160/201] [esp32] Reduce tx power on IDF in the event of a brownout (#11306) --- esphome/components/esp32/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index deb80deaf9..b7dd25e0d8 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -805,7 +805,6 @@ async def to_code(config): add_idf_sdkconfig_option("CONFIG_AUTOSTART_ARDUINO", True) add_idf_sdkconfig_option("CONFIG_MBEDTLS_PSK_MODES", True) add_idf_sdkconfig_option("CONFIG_MBEDTLS_CERTIFICATE_BUNDLE", True) - add_idf_sdkconfig_option("CONFIG_ESP_PHY_REDUCE_TX_POWER", True) cg.add_build_flag("-Wno-nonnull-compare") @@ -829,6 +828,9 @@ async def to_code(config): # Disable dynamic log level control to save memory add_idf_sdkconfig_option("CONFIG_LOG_DYNAMIC_LEVEL_CONTROL", False) + # Reduce PHY TX power in the event of a brownout + add_idf_sdkconfig_option("CONFIG_ESP_PHY_REDUCE_TX_POWER", True) + # Set default CPU frequency add_idf_sdkconfig_option( f"CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_{config[CONF_CPU_FREQUENCY][:-3]}", True From c6c202e4f75ad03fd756133f194855edefc93984 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Thu, 16 Oct 2025 21:57:19 -0400 Subject: [PATCH 161/201] [ina2xx_base] add device reset-on-boot disablement option (#10787) Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> --- esphome/components/ina2xx_base/__init__.py | 3 +++ esphome/components/ina2xx_base/ina2xx_base.cpp | 7 ++++++- esphome/components/ina2xx_base/ina2xx_base.h | 2 ++ tests/components/ina2xx_i2c/common.yaml | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/esphome/components/ina2xx_base/__init__.py b/esphome/components/ina2xx_base/__init__.py index fef88e72e9..ce68ad2726 100644 --- a/esphome/components/ina2xx_base/__init__.py +++ b/esphome/components/ina2xx_base/__init__.py @@ -35,6 +35,7 @@ CONF_CHARGE = "charge" CONF_CHARGE_COULOMBS = "charge_coulombs" CONF_ENERGY_JOULES = "energy_joules" CONF_TEMPERATURE_COEFFICIENT = "temperature_coefficient" +CONF_RESET_ON_BOOT = "reset_on_boot" UNIT_AMPERE_HOURS = "Ah" UNIT_COULOMB = "C" UNIT_JOULE = "J" @@ -113,6 +114,7 @@ INA2XX_SCHEMA = cv.Schema( cv.Optional(CONF_TEMPERATURE_COEFFICIENT, default=0): cv.int_range( min=0, max=16383 ), + cv.Optional(CONF_RESET_ON_BOOT, default=True): cv.boolean, cv.Optional(CONF_SHUNT_VOLTAGE): cv.maybe_simple_value( sensor.sensor_schema( unit_of_measurement=UNIT_MILLIVOLT, @@ -206,6 +208,7 @@ async def setup_ina2xx(var, config): cg.add(var.set_adc_range(config[CONF_ADC_RANGE])) cg.add(var.set_adc_avg_samples(config[CONF_ADC_AVERAGING])) cg.add(var.set_shunt_tempco(config[CONF_TEMPERATURE_COEFFICIENT])) + cg.add(var.set_reset_on_boot(config[CONF_RESET_ON_BOOT])) adc_time_config = config[CONF_ADC_TIME] if isinstance(adc_time_config, dict): diff --git a/esphome/components/ina2xx_base/ina2xx_base.cpp b/esphome/components/ina2xx_base/ina2xx_base.cpp index 35a94e3989..4ab02703e8 100644 --- a/esphome/components/ina2xx_base/ina2xx_base.cpp +++ b/esphome/components/ina2xx_base/ina2xx_base.cpp @@ -257,7 +257,12 @@ bool INA2XX::reset_energy_counters() { bool INA2XX::reset_config_() { ESP_LOGV(TAG, "Reset"); ConfigurationRegister cfg{0}; - cfg.RST = true; + if (!this->reset_on_boot_) { + ESP_LOGI(TAG, "Skipping on-boot device reset"); + cfg.RST = false; + } else { + cfg.RST = true; + } return this->write_unsigned_16_(RegisterMap::REG_CONFIG, cfg.raw_u16); } diff --git a/esphome/components/ina2xx_base/ina2xx_base.h b/esphome/components/ina2xx_base/ina2xx_base.h index 261c5321bf..ba0999b28e 100644 --- a/esphome/components/ina2xx_base/ina2xx_base.h +++ b/esphome/components/ina2xx_base/ina2xx_base.h @@ -127,6 +127,7 @@ class INA2XX : public PollingComponent { void set_adc_time_die_temperature(AdcTime time) { this->adc_time_die_temperature_ = time; } void set_adc_avg_samples(AdcAvgSamples samples) { this->adc_avg_samples_ = samples; } void set_shunt_tempco(uint16_t coeff) { this->shunt_tempco_ppm_c_ = coeff; } + void set_reset_on_boot(bool reset) { this->reset_on_boot_ = reset; } void set_shunt_voltage_sensor(sensor::Sensor *sensor) { this->shunt_voltage_sensor_ = sensor; } void set_bus_voltage_sensor(sensor::Sensor *sensor) { this->bus_voltage_sensor_ = sensor; } @@ -172,6 +173,7 @@ class INA2XX : public PollingComponent { AdcTime adc_time_die_temperature_{AdcTime::ADC_TIME_4120US}; AdcAvgSamples adc_avg_samples_{AdcAvgSamples::ADC_AVG_SAMPLES_128}; uint16_t shunt_tempco_ppm_c_{0}; + bool reset_on_boot_{true}; // // Calculated coefficients diff --git a/tests/components/ina2xx_i2c/common.yaml b/tests/components/ina2xx_i2c/common.yaml index 2416ad6daf..748ab94c98 100644 --- a/tests/components/ina2xx_i2c/common.yaml +++ b/tests/components/ina2xx_i2c/common.yaml @@ -7,6 +7,7 @@ sensor: max_current: 40 A adc_range: 1 temperature_coefficient: 50 + reset_on_boot: true shunt_voltage: id: ina2xx_i2c_shunt_voltage name: "INA2xx Shunt Voltage" From 9646653e57053d16d5e1d1d4a2cda90c838d6e43 Mon Sep 17 00:00:00 2001 From: Daniel Stiner Date: Fri, 17 Oct 2025 09:02:28 +0200 Subject: [PATCH 162/201] [const] Add CONF_OPENTHREAD (#11318) --- esphome/const.py | 1 + 1 file changed, 1 insertion(+) diff --git a/esphome/const.py b/esphome/const.py index d62dc617d1..f3f177b3ae 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -696,6 +696,7 @@ CONF_OPEN_DRAIN = "open_drain" CONF_OPEN_DRAIN_INTERRUPT = "open_drain_interrupt" CONF_OPEN_DURATION = "open_duration" CONF_OPEN_ENDSTOP = "open_endstop" +CONF_OPENTHREAD = "openthread" CONF_OPERATION = "operation" CONF_OPTIMISTIC = "optimistic" CONF_OPTION = "option" From bdfbac0301b633ad234fc8696c77033715aceffd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 16 Oct 2025 21:20:00 -1000 Subject: [PATCH 163/201] [tests] Fix ESP32-C3 component test binary size by using larger partition table (#11319) --- .../build_components_base.esp32-c3-idf.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_build_components/build_components_base.esp32-c3-idf.yaml b/tests/test_build_components/build_components_base.esp32-c3-idf.yaml index 18584497f4..73a85467d3 100644 --- a/tests/test_build_components/build_components_base.esp32-c3-idf.yaml +++ b/tests/test_build_components/build_components_base.esp32-c3-idf.yaml @@ -6,6 +6,9 @@ esp32: board: lolin_c3_mini framework: type: esp-idf + # Use custom partition table with larger app partition (3MB) + # Default IDF partitions only allow 1.75MB which is too small for grouped tests + partitions: ../partitions_testing.csv logger: level: VERY_VERBOSE From 39e23c323d2144163e62d3290ee9c644341422bf Mon Sep 17 00:00:00 2001 From: esphomebot Date: Fri, 17 Oct 2025 20:49:10 +1300 Subject: [PATCH 164/201] Synchronise Device Classes from Home Assistant (#11285) --- esphome/components/number/__init__.py | 2 ++ esphome/components/sensor/__init__.py | 2 ++ esphome/const.py | 1 + 3 files changed, 5 insertions(+) diff --git a/esphome/components/number/__init__.py b/esphome/components/number/__init__.py index 76a7b05ea1..230c3aa0c1 100644 --- a/esphome/components/number/__init__.py +++ b/esphome/components/number/__init__.py @@ -66,6 +66,7 @@ from esphome.const import ( DEVICE_CLASS_SPEED, DEVICE_CLASS_SULPHUR_DIOXIDE, DEVICE_CLASS_TEMPERATURE, + DEVICE_CLASS_TEMPERATURE_DELTA, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS, DEVICE_CLASS_VOLTAGE, @@ -130,6 +131,7 @@ DEVICE_CLASSES = [ DEVICE_CLASS_SPEED, DEVICE_CLASS_SULPHUR_DIOXIDE, DEVICE_CLASS_TEMPERATURE, + DEVICE_CLASS_TEMPERATURE_DELTA, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS, DEVICE_CLASS_VOLTAGE, diff --git a/esphome/components/sensor/__init__.py b/esphome/components/sensor/__init__.py index 2b99f68ac0..bf13217787 100644 --- a/esphome/components/sensor/__init__.py +++ b/esphome/components/sensor/__init__.py @@ -89,6 +89,7 @@ from esphome.const import ( DEVICE_CLASS_SPEED, DEVICE_CLASS_SULPHUR_DIOXIDE, DEVICE_CLASS_TEMPERATURE, + DEVICE_CLASS_TEMPERATURE_DELTA, DEVICE_CLASS_TIMESTAMP, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS, @@ -157,6 +158,7 @@ DEVICE_CLASSES = [ DEVICE_CLASS_SPEED, DEVICE_CLASS_SULPHUR_DIOXIDE, DEVICE_CLASS_TEMPERATURE, + DEVICE_CLASS_TEMPERATURE_DELTA, DEVICE_CLASS_TIMESTAMP, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS, DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS, diff --git a/esphome/const.py b/esphome/const.py index f3f177b3ae..ce1c033e41 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -1300,6 +1300,7 @@ DEVICE_CLASS_SULPHUR_DIOXIDE = "sulphur_dioxide" DEVICE_CLASS_SWITCH = "switch" DEVICE_CLASS_TAMPER = "tamper" DEVICE_CLASS_TEMPERATURE = "temperature" +DEVICE_CLASS_TEMPERATURE_DELTA = "temperature_delta" DEVICE_CLASS_TIMESTAMP = "timestamp" DEVICE_CLASS_UPDATE = "update" DEVICE_CLASS_VIBRATION = "vibration" From 661e9f9991ba1460bba3c915973944a686393320 Mon Sep 17 00:00:00 2001 From: exotime Date: Fri, 17 Oct 2025 17:33:50 +0900 Subject: [PATCH 165/201] [toshiba] Add support for RAS-2819T air conditioner (#9490) Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Keith Burzinski --- esphome/components/toshiba/climate.py | 1 + esphome/components/toshiba/toshiba.cpp | 653 +++++++++++++++++- esphome/components/toshiba/toshiba.h | 26 +- tests/components/toshiba/common_ras2819t.yaml | 13 + .../toshiba/test_ras2819t.esp32-ard.yaml | 5 + .../toshiba/test_ras2819t.esp32-c3-ard.yaml | 5 + .../toshiba/test_ras2819t.esp32-c3-idf.yaml | 5 + .../toshiba/test_ras2819t.esp32-idf.yaml | 5 + .../toshiba/test_ras2819t.esp8266-ard.yaml | 5 + 9 files changed, 689 insertions(+), 29 deletions(-) create mode 100644 tests/components/toshiba/common_ras2819t.yaml create mode 100644 tests/components/toshiba/test_ras2819t.esp32-ard.yaml create mode 100644 tests/components/toshiba/test_ras2819t.esp32-c3-ard.yaml create mode 100644 tests/components/toshiba/test_ras2819t.esp32-c3-idf.yaml create mode 100644 tests/components/toshiba/test_ras2819t.esp32-idf.yaml create mode 100644 tests/components/toshiba/test_ras2819t.esp8266-ard.yaml diff --git a/esphome/components/toshiba/climate.py b/esphome/components/toshiba/climate.py index b8e390dd66..bdb17923fa 100644 --- a/esphome/components/toshiba/climate.py +++ b/esphome/components/toshiba/climate.py @@ -14,6 +14,7 @@ MODELS = { "GENERIC": Model.MODEL_GENERIC, "RAC-PT1411HWRU-C": Model.MODEL_RAC_PT1411HWRU_C, "RAC-PT1411HWRU-F": Model.MODEL_RAC_PT1411HWRU_F, + "RAS-2819T": Model.MODEL_RAS_2819T, } CONFIG_SCHEMA = climate_ir.climate_ir_with_receiver_schema(ToshibaClimate).extend( diff --git a/esphome/components/toshiba/toshiba.cpp b/esphome/components/toshiba/toshiba.cpp index ff4241a81f..36e5a21ffa 100644 --- a/esphome/components/toshiba/toshiba.cpp +++ b/esphome/components/toshiba/toshiba.cpp @@ -1,4 +1,5 @@ #include "toshiba.h" +#include "esphome/components/remote_base/toshiba_ac_protocol.h" #include @@ -97,6 +98,282 @@ const std::vector RAC_PT1411HWRU_TEMPERATURE_F{0x10, 0x30, 0x00, 0x20, 0x22, 0x06, 0x26, 0x07, 0x05, 0x25, 0x04, 0x24, 0x0C, 0x2C, 0x0D, 0x2D, 0x09, 0x08, 0x28, 0x0A, 0x2A, 0x0B}; +// RAS-2819T protocol constants +const uint16_t RAS_2819T_HEADER1 = 0xC23D; +const uint8_t RAS_2819T_HEADER2 = 0xD5; +const uint8_t RAS_2819T_MESSAGE_LENGTH = 6; + +// RAS-2819T fan speed codes for rc_code_1 (bytes 2-3) +const uint16_t RAS_2819T_FAN_AUTO = 0xBF40; +const uint16_t RAS_2819T_FAN_QUIET = 0xFF00; +const uint16_t RAS_2819T_FAN_LOW = 0x9F60; +const uint16_t RAS_2819T_FAN_MEDIUM = 0x5FA0; +const uint16_t RAS_2819T_FAN_HIGH = 0x3FC0; + +// RAS-2819T fan speed codes for rc_code_2 (byte 1) +const uint8_t RAS_2819T_FAN2_AUTO = 0x66; +const uint8_t RAS_2819T_FAN2_QUIET = 0x01; +const uint8_t RAS_2819T_FAN2_LOW = 0x28; +const uint8_t RAS_2819T_FAN2_MEDIUM = 0x3C; +const uint8_t RAS_2819T_FAN2_HIGH = 0x50; + +// RAS-2819T second packet suffix bytes for rc_code_2 (bytes 3-5) +// These are fixed patterns, not actual checksums +struct Ras2819tPacketSuffix { + uint8_t byte3; + uint8_t byte4; + uint8_t byte5; +}; +const Ras2819tPacketSuffix RAS_2819T_SUFFIX_AUTO{0x00, 0x02, 0x3D}; +const Ras2819tPacketSuffix RAS_2819T_SUFFIX_QUIET{0x00, 0x02, 0xD8}; +const Ras2819tPacketSuffix RAS_2819T_SUFFIX_LOW{0x00, 0x02, 0xFF}; +const Ras2819tPacketSuffix RAS_2819T_SUFFIX_MEDIUM{0x00, 0x02, 0x13}; +const Ras2819tPacketSuffix RAS_2819T_SUFFIX_HIGH{0x00, 0x02, 0x27}; + +// RAS-2819T swing toggle command +const uint64_t RAS_2819T_SWING_TOGGLE = 0xC23D6B94E01F; + +// RAS-2819T single-packet commands +const uint64_t RAS_2819T_POWER_OFF_COMMAND = 0xC23D7B84E01F; + +// RAS-2819T known valid command patterns for validation +const std::array RAS_2819T_VALID_SINGLE_COMMANDS = { + RAS_2819T_POWER_OFF_COMMAND, // Power off + RAS_2819T_SWING_TOGGLE, // Swing toggle +}; + +const uint16_t RAS_2819T_VALID_HEADER1 = 0xC23D; +const uint8_t RAS_2819T_VALID_HEADER2 = 0xD5; + +const uint8_t RAS_2819T_DRY_BYTE2 = 0x1F; +const uint8_t RAS_2819T_DRY_BYTE3 = 0xE0; +const uint8_t RAS_2819T_DRY_TEMP_OFFSET = 0x24; + +const uint8_t RAS_2819T_AUTO_BYTE2 = 0x1F; +const uint8_t RAS_2819T_AUTO_BYTE3 = 0xE0; +const uint8_t RAS_2819T_AUTO_TEMP_OFFSET = 0x08; + +const uint8_t RAS_2819T_FAN_ONLY_TEMP = 0xE4; +const uint8_t RAS_2819T_FAN_ONLY_TEMP_INV = 0x1B; + +const uint8_t RAS_2819T_HEAT_TEMP_OFFSET = 0x0C; + +// RAS-2819T second packet fixed values +const uint8_t RAS_2819T_AUTO_DRY_FAN_BYTE = 0x65; +const uint8_t RAS_2819T_AUTO_DRY_SUFFIX = 0x3A; +const uint8_t RAS_2819T_HEAT_SUFFIX = 0x3B; + +// RAS-2819T temperature codes for 18-30°C +static const uint8_t RAS_2819T_TEMP_CODES[] = { + 0x10, // 18°C + 0x30, // 19°C + 0x20, // 20°C + 0x60, // 21°C + 0x70, // 22°C + 0x50, // 23°C + 0x40, // 24°C + 0xC0, // 25°C + 0xD0, // 26°C + 0x90, // 27°C + 0x80, // 28°C + 0xA0, // 29°C + 0xB0 // 30°C +}; + +// Helper functions for RAS-2819T protocol +// +// ===== RAS-2819T PROTOCOL DOCUMENTATION ===== +// +// The RAS-2819T uses a two-packet IR protocol with some exceptions for simple commands. +// +// PACKET STRUCTURE: +// All packets are 6 bytes (48 bits) transmitted with standard Toshiba timing. +// +// TWO-PACKET COMMANDS (Mode/Temperature/Fan changes): +// +// First Packet (rc_code_1): [C2 3D] [FAN_HI FAN_LO] [TEMP] [~TEMP] +// Byte 0-1: Header (always 0xC23D) +// Byte 2-3: Fan speed encoding (varies by mode, see fan tables below) +// Byte 4: Temperature + mode encoding +// Byte 5: Bitwise complement of temperature byte +// +// Second Packet (rc_code_2): [D5] [FAN2] [00] [SUF1] [SUF2] [SUF3] +// Byte 0: Header (always 0xD5) +// Byte 1: Fan speed secondary encoding +// Byte 2: Always 0x00 +// Byte 3-5: Fixed suffix pattern (depends on fan speed and mode) +// +// TEMPERATURE ENCODING: +// Base temp codes: 18°C=0x10, 19°C=0x30, 20°C=0x20, 21°C=0x60, 22°C=0x70, +// 23°C=0x50, 24°C=0x40, 25°C=0xC0, 26°C=0xD0, 27°C=0x90, +// 28°C=0x80, 29°C=0xA0, 30°C=0xB0 +// Mode offsets added to base temp: +// COOL: No offset +// HEAT: +0x0C (e.g., 24°C heat = 0x40 | 0x0C = 0x4C) +// AUTO: +0x08 (e.g., 24°C auto = 0x40 | 0x08 = 0x48) +// DRY: +0x24 (e.g., 24°C dry = 0x40 | 0x24 = 0x64) +// +// FAN SPEED ENCODING (First packet bytes 2-3): +// AUTO: 0xBF40, QUIET: 0xFF00, LOW: 0x9F60, MEDIUM: 0x5FA0, HIGH: 0x3FC0 +// Special cases: AUTO/DRY modes use 0x1FE0 instead +// +// SINGLE-PACKET COMMANDS: +// Power Off: 0xC23D7B84E01F (6 bytes, no second packet) +// Swing Toggle: 0xC23D6B94E01F (6 bytes, no second packet) +// +// MODE DETECTION (from first packet): +// - Check bytes 2-3: if 0x7B84 → OFF mode +// - Check bytes 2-3: if 0x1FE0 → AUTO/DRY/low-temp-COOL (distinguish by temp code) +// - Otherwise: COOL/HEAT/FAN_ONLY (distinguish by temp code and byte 5) + +/** + * Get fan speed encoding for RAS-2819T first packet (rc_code_1, bytes 2-3) + */ +static uint16_t get_ras_2819t_fan_code(climate::ClimateFanMode fan_mode) { + switch (fan_mode) { + case climate::CLIMATE_FAN_QUIET: + return RAS_2819T_FAN_QUIET; + case climate::CLIMATE_FAN_LOW: + return RAS_2819T_FAN_LOW; + case climate::CLIMATE_FAN_MEDIUM: + return RAS_2819T_FAN_MEDIUM; + case climate::CLIMATE_FAN_HIGH: + return RAS_2819T_FAN_HIGH; + case climate::CLIMATE_FAN_AUTO: + default: + return RAS_2819T_FAN_AUTO; + } +} + +/** + * Get fan speed encoding for RAS-2819T rc_code_2 packet (second packet) + */ +struct Ras2819tSecondPacketCodes { + uint8_t fan_byte; + Ras2819tPacketSuffix suffix; +}; + +static Ras2819tSecondPacketCodes get_ras_2819t_second_packet_codes(climate::ClimateFanMode fan_mode) { + switch (fan_mode) { + case climate::CLIMATE_FAN_QUIET: + return {RAS_2819T_FAN2_QUIET, RAS_2819T_SUFFIX_QUIET}; + case climate::CLIMATE_FAN_LOW: + return {RAS_2819T_FAN2_LOW, RAS_2819T_SUFFIX_LOW}; + case climate::CLIMATE_FAN_MEDIUM: + return {RAS_2819T_FAN2_MEDIUM, RAS_2819T_SUFFIX_MEDIUM}; + case climate::CLIMATE_FAN_HIGH: + return {RAS_2819T_FAN2_HIGH, RAS_2819T_SUFFIX_HIGH}; + case climate::CLIMATE_FAN_AUTO: + default: + return {RAS_2819T_FAN2_AUTO, RAS_2819T_SUFFIX_AUTO}; + } +} + +/** + * Get temperature code for RAS-2819T protocol + */ +static uint8_t get_ras_2819t_temp_code(float temperature) { + int temp_index = static_cast(temperature) - 18; + if (temp_index < 0 || temp_index >= static_cast(sizeof(RAS_2819T_TEMP_CODES))) { + ESP_LOGW(TAG, "Temperature %.1f°C out of range [18-30°C], defaulting to 24°C", temperature); + return 0x40; // Default to 24°C + } + + return RAS_2819T_TEMP_CODES[temp_index]; +} + +/** + * Decode temperature from RAS-2819T temp code + */ +static float decode_ras_2819t_temperature(uint8_t temp_code) { + uint8_t base_temp_code = temp_code & 0xF0; + + // Find the code in the temperature array + for (size_t temp_index = 0; temp_index < sizeof(RAS_2819T_TEMP_CODES); temp_index++) { + if (RAS_2819T_TEMP_CODES[temp_index] == base_temp_code) { + return static_cast(temp_index + 18); // 18°C is the minimum + } + } + + ESP_LOGW(TAG, "Unknown temp code: 0x%02X, defaulting to 24°C", base_temp_code); + return 24.0f; // Default to 24°C +} + +/** + * Decode fan speed from RAS-2819T IR codes + */ +static climate::ClimateFanMode decode_ras_2819t_fan_mode(uint16_t fan_code) { + switch (fan_code) { + case RAS_2819T_FAN_QUIET: + return climate::CLIMATE_FAN_QUIET; + case RAS_2819T_FAN_LOW: + return climate::CLIMATE_FAN_LOW; + case RAS_2819T_FAN_MEDIUM: + return climate::CLIMATE_FAN_MEDIUM; + case RAS_2819T_FAN_HIGH: + return climate::CLIMATE_FAN_HIGH; + case RAS_2819T_FAN_AUTO: + default: + return climate::CLIMATE_FAN_AUTO; + } +} + +/** + * Validate RAS-2819T IR command structure and content + */ +static bool is_valid_ras_2819t_command(uint64_t rc_code_1, uint64_t rc_code_2 = 0) { + // Check header of first packet + uint16_t header1 = (rc_code_1 >> 32) & 0xFFFF; + if (header1 != RAS_2819T_VALID_HEADER1) { + return false; + } + + // Single packet commands + if (rc_code_2 == 0) { + for (uint64_t valid_cmd : RAS_2819T_VALID_SINGLE_COMMANDS) { + if (rc_code_1 == valid_cmd) { + return true; + } + } + // Additional validation for unknown single packets + return false; + } + + // Two-packet commands - validate second packet header + uint8_t header2 = (rc_code_2 >> 40) & 0xFF; + if (header2 != RAS_2819T_VALID_HEADER2) { + return false; + } + + // Validate temperature complement in first packet (byte 4 should be ~byte 5) + uint8_t temp_byte = (rc_code_1 >> 8) & 0xFF; + uint8_t temp_complement = rc_code_1 & 0xFF; + if (temp_byte != static_cast(~temp_complement)) { + return false; + } + + // Validate fan speed combinations make sense + uint16_t fan_code = (rc_code_1 >> 16) & 0xFFFF; + uint8_t fan2_byte = (rc_code_2 >> 32) & 0xFF; + + // Check if fan codes are from known valid patterns + bool valid_fan_combo = false; + if (fan_code == RAS_2819T_FAN_AUTO && fan2_byte == RAS_2819T_FAN2_AUTO) + valid_fan_combo = true; + if (fan_code == RAS_2819T_FAN_QUIET && fan2_byte == RAS_2819T_FAN2_QUIET) + valid_fan_combo = true; + if (fan_code == RAS_2819T_FAN_LOW && fan2_byte == RAS_2819T_FAN2_LOW) + valid_fan_combo = true; + if (fan_code == RAS_2819T_FAN_MEDIUM && fan2_byte == RAS_2819T_FAN2_MEDIUM) + valid_fan_combo = true; + if (fan_code == RAS_2819T_FAN_HIGH && fan2_byte == RAS_2819T_FAN2_HIGH) + valid_fan_combo = true; + if (fan_code == 0x1FE0 && fan2_byte == RAS_2819T_AUTO_DRY_FAN_BYTE) + valid_fan_combo = true; // AUTO/DRY + + return valid_fan_combo; +} + void ToshibaClimate::setup() { if (this->sensor_) { this->sensor_->add_on_state_callback([this](float state) { @@ -126,16 +403,43 @@ void ToshibaClimate::setup() { this->minimum_temperature_ = this->temperature_min_(); this->maximum_temperature_ = this->temperature_max_(); this->swing_modes_ = this->toshiba_swing_modes_(); + + // Ensure swing mode is always initialized to a valid value + if (this->swing_modes_.empty() || this->swing_modes_.find(this->swing_mode) == this->swing_modes_.end()) { + // No swing support for this model or current swing mode not supported, reset to OFF + this->swing_mode = climate::CLIMATE_SWING_OFF; + } + + // Ensure mode is valid - ESPHome should only use standard climate modes + if (this->mode != climate::CLIMATE_MODE_OFF && this->mode != climate::CLIMATE_MODE_HEAT && + this->mode != climate::CLIMATE_MODE_COOL && this->mode != climate::CLIMATE_MODE_HEAT_COOL && + this->mode != climate::CLIMATE_MODE_DRY && this->mode != climate::CLIMATE_MODE_FAN_ONLY) { + ESP_LOGW(TAG, "Invalid mode detected during setup, resetting to OFF"); + this->mode = climate::CLIMATE_MODE_OFF; + } + + // Ensure fan mode is valid + if (!this->fan_mode.has_value()) { + ESP_LOGW(TAG, "Fan mode not set during setup, defaulting to AUTO"); + this->fan_mode = climate::CLIMATE_FAN_AUTO; + } + // Never send nan to HA if (std::isnan(this->target_temperature)) this->target_temperature = 24; + // Log final state for debugging HA errors + ESP_LOGV(TAG, "Setup complete - Mode: %d, Fan: %s, Swing: %d, Temp: %.1f", static_cast(this->mode), + this->fan_mode.has_value() ? std::to_string(static_cast(this->fan_mode.value())).c_str() : "NONE", + static_cast(this->swing_mode), this->target_temperature); } void ToshibaClimate::transmit_state() { if (this->model_ == MODEL_RAC_PT1411HWRU_C || this->model_ == MODEL_RAC_PT1411HWRU_F) { - transmit_rac_pt1411hwru_(); + this->transmit_rac_pt1411hwru_(); + } else if (this->model_ == MODEL_RAS_2819T) { + this->transmit_ras_2819t_(); } else { - transmit_generic_(); + this->transmit_generic_(); } } @@ -230,7 +534,7 @@ void ToshibaClimate::transmit_generic_() { auto transmit = this->transmitter_->transmit(); auto *data = transmit.get_data(); - encode_(data, message, message_length, 1); + this->encode_(data, message, message_length, 1); transmit.perform(); } @@ -348,15 +652,12 @@ void ToshibaClimate::transmit_rac_pt1411hwru_() { message[11] += message[index]; } } - ESP_LOGV(TAG, "*** Generated codes: 0x%.2X%.2X%.2X%.2X%.2X%.2X 0x%.2X%.2X%.2X%.2X%.2X%.2X", message[0], message[1], - message[2], message[3], message[4], message[5], message[6], message[7], message[8], message[9], message[10], - message[11]); // load first block of IR code and repeat it once - encode_(data, &message[0], RAC_PT1411HWRU_MESSAGE_LENGTH, 1); + this->encode_(data, &message[0], RAC_PT1411HWRU_MESSAGE_LENGTH, 1); // load second block of IR code, if present if (message[6] != 0) { - encode_(data, &message[6], RAC_PT1411HWRU_MESSAGE_LENGTH, 0); + this->encode_(data, &message[6], RAC_PT1411HWRU_MESSAGE_LENGTH, 0); } transmit.perform(); @@ -366,19 +667,19 @@ void ToshibaClimate::transmit_rac_pt1411hwru_() { data->space(TOSHIBA_PACKET_SPACE); switch (this->swing_mode) { case climate::CLIMATE_SWING_VERTICAL: - encode_(data, &RAC_PT1411HWRU_SWING_VERTICAL[0], RAC_PT1411HWRU_MESSAGE_LENGTH, 1); + this->encode_(data, &RAC_PT1411HWRU_SWING_VERTICAL[0], RAC_PT1411HWRU_MESSAGE_LENGTH, 1); break; case climate::CLIMATE_SWING_OFF: default: - encode_(data, &RAC_PT1411HWRU_SWING_OFF[0], RAC_PT1411HWRU_MESSAGE_LENGTH, 1); + this->encode_(data, &RAC_PT1411HWRU_SWING_OFF[0], RAC_PT1411HWRU_MESSAGE_LENGTH, 1); } data->space(TOSHIBA_PACKET_SPACE); transmit.perform(); if (this->sensor_) { - transmit_rac_pt1411hwru_temp_(true, false); + this->transmit_rac_pt1411hwru_temp_(true, false); } } @@ -430,15 +731,217 @@ void ToshibaClimate::transmit_rac_pt1411hwru_temp_(const bool cs_state, const bo // Byte 5: Footer lower/bitwise complement of byte 4 message[5] = ~message[4]; - ESP_LOGV(TAG, "*** Generated code: 0x%.2X%.2X%.2X%.2X%.2X%.2X", message[0], message[1], message[2], message[3], - message[4], message[5]); // load IR code and repeat it once - encode_(data, message, RAC_PT1411HWRU_MESSAGE_LENGTH, 1); + this->encode_(data, message, RAC_PT1411HWRU_MESSAGE_LENGTH, 1); transmit.perform(); } } +void ToshibaClimate::transmit_ras_2819t_() { + // Handle swing mode transmission for RAS-2819T + // Note: RAS-2819T uses a toggle command, so we need to track state changes + + // Check if ONLY swing mode changed (and no other climate parameters) + bool swing_changed = (this->swing_mode != this->last_swing_mode_); + bool mode_changed = (this->mode != this->last_mode_); + bool fan_changed = (this->fan_mode != this->last_fan_mode_); + bool temp_changed = (abs(this->target_temperature - this->last_target_temperature_) > 0.1f); + + bool only_swing_changed = swing_changed && !mode_changed && !fan_changed && !temp_changed; + + if (only_swing_changed) { + // Send ONLY swing toggle command (like the physical remote does) + auto swing_transmit = this->transmitter_->transmit(); + auto *swing_data = swing_transmit.get_data(); + + // Convert toggle command to bytes for transmission + uint8_t swing_message[RAS_2819T_MESSAGE_LENGTH]; + swing_message[0] = (RAS_2819T_SWING_TOGGLE >> 40) & 0xFF; + swing_message[1] = (RAS_2819T_SWING_TOGGLE >> 32) & 0xFF; + swing_message[2] = (RAS_2819T_SWING_TOGGLE >> 24) & 0xFF; + swing_message[3] = (RAS_2819T_SWING_TOGGLE >> 16) & 0xFF; + swing_message[4] = (RAS_2819T_SWING_TOGGLE >> 8) & 0xFF; + swing_message[5] = RAS_2819T_SWING_TOGGLE & 0xFF; + + // Use single packet transmission WITH repeat (like regular commands) + this->encode_(swing_data, swing_message, RAS_2819T_MESSAGE_LENGTH, 1); + swing_transmit.perform(); + + // Update all state tracking + this->last_swing_mode_ = this->swing_mode; + this->last_mode_ = this->mode; + this->last_fan_mode_ = this->fan_mode; + this->last_target_temperature_ = this->target_temperature; + + // Immediately publish the state change to Home Assistant + this->publish_state(); + + return; // Exit early - don't send climate command + } + + // If we get here, send the regular climate command (temperature/mode/fan) + uint8_t message1[RAS_2819T_MESSAGE_LENGTH] = {0}; + uint8_t message2[RAS_2819T_MESSAGE_LENGTH] = {0}; + float temperature = + clamp(this->target_temperature, TOSHIBA_RAS_2819T_TEMP_C_MIN, TOSHIBA_RAS_2819T_TEMP_C_MAX); + + // Build first packet (RAS_2819T_HEADER1 + 4 bytes) + message1[0] = (RAS_2819T_HEADER1 >> 8) & 0xFF; + message1[1] = RAS_2819T_HEADER1 & 0xFF; + + // Handle OFF mode + if (this->mode == climate::CLIMATE_MODE_OFF) { + // Extract bytes from power off command constant + message1[2] = (RAS_2819T_POWER_OFF_COMMAND >> 24) & 0xFF; + message1[3] = (RAS_2819T_POWER_OFF_COMMAND >> 16) & 0xFF; + message1[4] = (RAS_2819T_POWER_OFF_COMMAND >> 8) & 0xFF; + message1[5] = RAS_2819T_POWER_OFF_COMMAND & 0xFF; + // No second packet for OFF + } else { + // Get temperature and fan encoding + uint8_t temp_code = get_ras_2819t_temp_code(temperature); + + // Get fan speed encoding for rc_code_1 + climate::ClimateFanMode effective_fan_mode = this->fan_mode.value(); + + // Dry mode only supports AUTO fan speed + if (this->mode == climate::CLIMATE_MODE_DRY) { + effective_fan_mode = climate::CLIMATE_FAN_AUTO; + if (this->fan_mode.value() != climate::CLIMATE_FAN_AUTO) { + ESP_LOGW(TAG, "Dry mode only supports AUTO fan speed, forcing AUTO"); + } + } + + uint16_t fan_code = get_ras_2819t_fan_code(effective_fan_mode); + + // Mode and temperature encoding + switch (this->mode) { + case climate::CLIMATE_MODE_COOL: + // All cooling temperatures support fan speed control + message1[2] = (fan_code >> 8) & 0xFF; + message1[3] = fan_code & 0xFF; + message1[4] = temp_code; + message1[5] = ~temp_code; + break; + + case climate::CLIMATE_MODE_HEAT: + // Heating supports fan speed control + message1[2] = (fan_code >> 8) & 0xFF; + message1[3] = fan_code & 0xFF; + // Heat mode adds offset to temperature code + message1[4] = temp_code | RAS_2819T_HEAT_TEMP_OFFSET; + message1[5] = ~(temp_code | RAS_2819T_HEAT_TEMP_OFFSET); + break; + + case climate::CLIMATE_MODE_HEAT_COOL: + // Auto mode uses fixed encoding + message1[2] = RAS_2819T_AUTO_BYTE2; + message1[3] = RAS_2819T_AUTO_BYTE3; + message1[4] = temp_code | RAS_2819T_AUTO_TEMP_OFFSET; + message1[5] = ~(temp_code | RAS_2819T_AUTO_TEMP_OFFSET); + break; + + case climate::CLIMATE_MODE_DRY: + // Dry mode uses fixed encoding and forces AUTO fan + message1[2] = RAS_2819T_DRY_BYTE2; + message1[3] = RAS_2819T_DRY_BYTE3; + message1[4] = temp_code | RAS_2819T_DRY_TEMP_OFFSET; + message1[5] = ~message1[4]; + break; + + case climate::CLIMATE_MODE_FAN_ONLY: + // Fan only mode supports fan speed control + message1[2] = (fan_code >> 8) & 0xFF; + message1[3] = fan_code & 0xFF; + message1[4] = RAS_2819T_FAN_ONLY_TEMP; + message1[5] = RAS_2819T_FAN_ONLY_TEMP_INV; + break; + + default: + // Default case supports fan speed control + message1[2] = (fan_code >> 8) & 0xFF; + message1[3] = fan_code & 0xFF; + message1[4] = temp_code; + message1[5] = ~temp_code; + break; + } + + // Build second packet (RAS_2819T_HEADER2 + 4 bytes) + message2[0] = RAS_2819T_HEADER2; + + // Get fan speed encoding for rc_code_2 + Ras2819tSecondPacketCodes second_packet_codes = get_ras_2819t_second_packet_codes(effective_fan_mode); + + // Determine header byte 2 and fan encoding based on mode + switch (this->mode) { + case climate::CLIMATE_MODE_COOL: + message2[1] = second_packet_codes.fan_byte; + message2[2] = 0x00; + message2[3] = second_packet_codes.suffix.byte3; + message2[4] = second_packet_codes.suffix.byte4; + message2[5] = second_packet_codes.suffix.byte5; + break; + + case climate::CLIMATE_MODE_HEAT: + message2[1] = second_packet_codes.fan_byte; + message2[2] = 0x00; + message2[3] = second_packet_codes.suffix.byte3; + message2[4] = 0x00; + message2[5] = RAS_2819T_HEAT_SUFFIX; + break; + + case climate::CLIMATE_MODE_HEAT_COOL: + case climate::CLIMATE_MODE_DRY: + // Auto/Dry modes use fixed values regardless of fan setting + message2[1] = RAS_2819T_AUTO_DRY_FAN_BYTE; + message2[2] = 0x00; + message2[3] = 0x00; + message2[4] = 0x00; + message2[5] = RAS_2819T_AUTO_DRY_SUFFIX; + break; + + case climate::CLIMATE_MODE_FAN_ONLY: + message2[1] = second_packet_codes.fan_byte; + message2[2] = 0x00; + message2[3] = second_packet_codes.suffix.byte3; + message2[4] = 0x00; + message2[5] = RAS_2819T_HEAT_SUFFIX; + break; + + default: + message2[1] = second_packet_codes.fan_byte; + message2[2] = 0x00; + message2[3] = second_packet_codes.suffix.byte3; + message2[4] = second_packet_codes.suffix.byte4; + message2[5] = second_packet_codes.suffix.byte5; + break; + } + } + + // Log final messages being transmitted + + // Transmit using proper Toshiba protocol timing + auto transmit = this->transmitter_->transmit(); + auto *data = transmit.get_data(); + + // Use existing Toshiba encode function for proper timing + this->encode_(data, message1, RAS_2819T_MESSAGE_LENGTH, 1); + + if (this->mode != climate::CLIMATE_MODE_OFF) { + // Send second packet with gap + this->encode_(data, message2, RAS_2819T_MESSAGE_LENGTH, 0); + } + + transmit.perform(); + + // Update all state tracking after successful transmission + this->last_swing_mode_ = this->swing_mode; + this->last_mode_ = this->mode; + this->last_fan_mode_ = this->fan_mode; + this->last_target_temperature_ = this->target_temperature; +} + uint8_t ToshibaClimate::is_valid_rac_pt1411hwru_header_(const uint8_t *message) { const std::vector header{RAC_PT1411HWRU_MESSAGE_HEADER0, RAC_PT1411HWRU_CS_HEADER, RAC_PT1411HWRU_SWING_HEADER}; @@ -464,11 +967,11 @@ bool ToshibaClimate::compare_rac_pt1411hwru_packets_(const uint8_t *message1, co bool ToshibaClimate::is_valid_rac_pt1411hwru_message_(const uint8_t *message) { uint8_t checksum = 0; - switch (is_valid_rac_pt1411hwru_header_(message)) { + switch (this->is_valid_rac_pt1411hwru_header_(message)) { case RAC_PT1411HWRU_MESSAGE_HEADER0: case RAC_PT1411HWRU_CS_HEADER: case RAC_PT1411HWRU_SWING_HEADER: - if (is_valid_rac_pt1411hwru_header_(message) && (message[2] == static_cast(~message[3])) && + if (this->is_valid_rac_pt1411hwru_header_(message) && (message[2] == static_cast(~message[3])) && (message[4] == static_cast(~message[5]))) { return true; } @@ -490,7 +993,103 @@ bool ToshibaClimate::is_valid_rac_pt1411hwru_message_(const uint8_t *message) { return false; } +bool ToshibaClimate::process_ras_2819t_command_(const remote_base::ToshibaAcData &toshiba_data) { + // Check for power-off command (single packet) + if (toshiba_data.rc_code_2 == 0 && toshiba_data.rc_code_1 == RAS_2819T_POWER_OFF_COMMAND) { + this->mode = climate::CLIMATE_MODE_OFF; + ESP_LOGI(TAG, "Mode: OFF"); + this->publish_state(); + return true; + } + + // Check for swing toggle command (single packet) + if (toshiba_data.rc_code_2 == 0 && toshiba_data.rc_code_1 == RAS_2819T_SWING_TOGGLE) { + // Toggle swing mode + if (this->swing_mode == climate::CLIMATE_SWING_VERTICAL) { + this->swing_mode = climate::CLIMATE_SWING_OFF; + ESP_LOGI(TAG, "Swing: OFF"); + } else { + this->swing_mode = climate::CLIMATE_SWING_VERTICAL; + ESP_LOGI(TAG, "Swing: VERTICAL"); + } + this->publish_state(); + return true; + } + + // Handle regular two-packet commands (mode/temperature/fan changes) + if (toshiba_data.rc_code_2 != 0) { + // Convert to byte array for easier processing + uint8_t message1[6], message2[6]; + for (uint8_t i = 0; i < 6; i++) { + message1[i] = (toshiba_data.rc_code_1 >> (40 - i * 8)) & 0xFF; + message2[i] = (toshiba_data.rc_code_2 >> (40 - i * 8)) & 0xFF; + } + + // Decode the protocol using message1 (rc_code_1) + uint8_t temp_code = message1[4]; + + // Decode mode - check bytes 2-3 pattern and temperature code + if ((message1[2] == 0x7B) && (message1[3] == 0x84)) { + // OFF mode has specific pattern + this->mode = climate::CLIMATE_MODE_OFF; + ESP_LOGI(TAG, "Mode: OFF"); + } else if ((message1[2] == 0x1F) && (message1[3] == 0xE0)) { + // 0x1FE0 pattern is used for AUTO, DRY, and low-temp COOL + if ((temp_code & 0x0F) == 0x08) { + this->mode = climate::CLIMATE_MODE_HEAT_COOL; + ESP_LOGI(TAG, "Mode: AUTO"); + } else if ((temp_code & 0x0F) == 0x04) { + this->mode = climate::CLIMATE_MODE_DRY; + ESP_LOGI(TAG, "Mode: DRY"); + } else { + this->mode = climate::CLIMATE_MODE_COOL; + ESP_LOGI(TAG, "Mode: COOL (low temp)"); + } + } else { + // Variable fan speed patterns - decode by temperature code + if ((temp_code & 0x0F) == 0x0C) { + this->mode = climate::CLIMATE_MODE_HEAT; + ESP_LOGI(TAG, "Mode: HEAT"); + } else if (message1[5] == 0x1B) { + this->mode = climate::CLIMATE_MODE_FAN_ONLY; + ESP_LOGI(TAG, "Mode: FAN_ONLY"); + } else { + this->mode = climate::CLIMATE_MODE_COOL; + ESP_LOGI(TAG, "Mode: COOL"); + } + } + + // Decode fan speed from rc_code_1 + uint16_t fan_code = (message1[2] << 8) | message1[3]; + this->fan_mode = decode_ras_2819t_fan_mode(fan_code); + + // Decode temperature + if (this->mode != climate::CLIMATE_MODE_OFF && this->mode != climate::CLIMATE_MODE_FAN_ONLY) { + this->target_temperature = decode_ras_2819t_temperature(temp_code); + } + + this->publish_state(); + return true; + } else { + ESP_LOGD(TAG, "Unknown single-packet RAS-2819T command: 0x%" PRIX64, toshiba_data.rc_code_1); + return false; + } +} + bool ToshibaClimate::on_receive(remote_base::RemoteReceiveData data) { + // Try modern ToshibaAcProtocol decoder first (handles RAS-2819T and potentially others) + remote_base::ToshibaAcProtocol toshiba_protocol; + auto decode_result = toshiba_protocol.decode(data); + + if (decode_result.has_value()) { + auto toshiba_data = decode_result.value(); + // Validate and process RAS-2819T commands + if (is_valid_ras_2819t_command(toshiba_data.rc_code_1, toshiba_data.rc_code_2)) { + return this->process_ras_2819t_command_(toshiba_data); + } + } + + // Fall back to generic processing for older protocols uint8_t message[18] = {0}; uint8_t message_length = TOSHIBA_HEADER_LENGTH, temperature_code = 0; @@ -499,11 +1098,11 @@ bool ToshibaClimate::on_receive(remote_base::RemoteReceiveData data) { return false; } // Read incoming bits into buffer - if (!decode_(&data, message, message_length)) { + if (!this->decode_(&data, message, message_length)) { return false; } // Determine incoming message protocol version and/or length - if (is_valid_rac_pt1411hwru_header_(message)) { + if (this->is_valid_rac_pt1411hwru_header_(message)) { // We already received four bytes message_length = RAC_PT1411HWRU_MESSAGE_LENGTH - 4; } else if ((message[0] ^ message[1] ^ message[2]) != message[3]) { @@ -514,11 +1113,11 @@ bool ToshibaClimate::on_receive(remote_base::RemoteReceiveData data) { message_length = message[2] + 2; } // Decode the remaining bytes - if (!decode_(&data, &message[4], message_length)) { + if (!this->decode_(&data, &message[4], message_length)) { return false; } // If this is a RAC-PT1411HWRU message, we expect the first packet a second time and also possibly a third packet - if (is_valid_rac_pt1411hwru_header_(message)) { + if (this->is_valid_rac_pt1411hwru_header_(message)) { // There is always a space between packets if (!data.expect_item(TOSHIBA_BIT_MARK, TOSHIBA_GAP_SPACE)) { return false; @@ -527,7 +1126,7 @@ bool ToshibaClimate::on_receive(remote_base::RemoteReceiveData data) { if (!data.expect_item(TOSHIBA_HEADER_MARK, TOSHIBA_HEADER_SPACE)) { return false; } - if (!decode_(&data, &message[6], RAC_PT1411HWRU_MESSAGE_LENGTH)) { + if (!this->decode_(&data, &message[6], RAC_PT1411HWRU_MESSAGE_LENGTH)) { return false; } // If this is a RAC-PT1411HWRU message, there may also be a third packet. @@ -535,25 +1134,25 @@ bool ToshibaClimate::on_receive(remote_base::RemoteReceiveData data) { if (data.expect_item(TOSHIBA_BIT_MARK, TOSHIBA_GAP_SPACE)) { // Validate header 3 data.expect_item(TOSHIBA_HEADER_MARK, TOSHIBA_HEADER_SPACE); - if (decode_(&data, &message[12], RAC_PT1411HWRU_MESSAGE_LENGTH)) { - if (!is_valid_rac_pt1411hwru_message_(&message[12])) { + if (this->decode_(&data, &message[12], RAC_PT1411HWRU_MESSAGE_LENGTH)) { + if (!this->is_valid_rac_pt1411hwru_message_(&message[12])) { // If a third packet was received but the checksum is not valid, fail return false; } } } - if (!compare_rac_pt1411hwru_packets_(&message[0], &message[6])) { + if (!this->compare_rac_pt1411hwru_packets_(&message[0], &message[6])) { // If the first two packets don't match each other, fail return false; } - if (!is_valid_rac_pt1411hwru_message_(&message[0])) { + if (!this->is_valid_rac_pt1411hwru_message_(&message[0])) { // If the first packet isn't valid, fail return false; } } // Header has been verified, now determine protocol version and set the climate component properties - switch (is_valid_rac_pt1411hwru_header_(message)) { + switch (this->is_valid_rac_pt1411hwru_header_(message)) { // Power, temperature, mode, fan speed case RAC_PT1411HWRU_MESSAGE_HEADER0: // Get the mode @@ -608,7 +1207,7 @@ bool ToshibaClimate::on_receive(remote_base::RemoteReceiveData data) { break; } // Get the target temperature - if (is_valid_rac_pt1411hwru_message_(&message[12])) { + if (this->is_valid_rac_pt1411hwru_message_(&message[12])) { temperature_code = (message[4] >> 4) | (message[14] & RAC_PT1411HWRU_FLAG_FRAC) | (message[15] & RAC_PT1411HWRU_FLAG_NEG); if (message[15] & RAC_PT1411HWRU_FLAG_FAH) { diff --git a/esphome/components/toshiba/toshiba.h b/esphome/components/toshiba/toshiba.h index 83e85c34db..d76833f406 100644 --- a/esphome/components/toshiba/toshiba.h +++ b/esphome/components/toshiba/toshiba.h @@ -1,6 +1,7 @@ #pragma once #include "esphome/components/climate_ir/climate_ir.h" +#include "esphome/components/remote_base/toshiba_ac_protocol.h" namespace esphome { namespace toshiba { @@ -10,6 +11,7 @@ enum Model { MODEL_GENERIC = 0, // Temperature range is from 17 to 30 MODEL_RAC_PT1411HWRU_C = 1, // Temperature range is from 16 to 30 MODEL_RAC_PT1411HWRU_F = 2, // Temperature range is from 16 to 30 + MODEL_RAS_2819T = 3, // RAS-2819T protocol variant, temperature range 18 to 30 }; // Supported temperature ranges @@ -19,6 +21,8 @@ const float TOSHIBA_RAC_PT1411HWRU_TEMP_C_MIN = 16.0; const float TOSHIBA_RAC_PT1411HWRU_TEMP_C_MAX = 30.0; const float TOSHIBA_RAC_PT1411HWRU_TEMP_F_MIN = 60.0; const float TOSHIBA_RAC_PT1411HWRU_TEMP_F_MAX = 86.0; +const float TOSHIBA_RAS_2819T_TEMP_C_MIN = 18.0; +const float TOSHIBA_RAS_2819T_TEMP_C_MAX = 30.0; class ToshibaClimate : public climate_ir::ClimateIR { public: @@ -35,6 +39,9 @@ class ToshibaClimate : public climate_ir::ClimateIR { void transmit_generic_(); void transmit_rac_pt1411hwru_(); void transmit_rac_pt1411hwru_temp_(bool cs_state = true, bool cs_send_update = true); + void transmit_ras_2819t_(); + // Process RAS-2819T IR command data + bool process_ras_2819t_command_(const remote_base::ToshibaAcData &toshiba_data); // Returns the header if valid, else returns zero uint8_t is_valid_rac_pt1411hwru_header_(const uint8_t *message); // Returns true if message is a valid RAC-PT1411HWRU IR message, regardless if first or second packet @@ -43,11 +50,26 @@ class ToshibaClimate : public climate_ir::ClimateIR { bool compare_rac_pt1411hwru_packets_(const uint8_t *message1, const uint8_t *message2); bool on_receive(remote_base::RemoteReceiveData data) override; + private: + // RAS-2819T state tracking for swing mode optimization + climate::ClimateSwingMode last_swing_mode_{climate::CLIMATE_SWING_OFF}; + climate::ClimateMode last_mode_{climate::CLIMATE_MODE_OFF}; + optional last_fan_mode_{}; + float last_target_temperature_{24.0f}; + float temperature_min_() { - return (this->model_ == MODEL_GENERIC) ? TOSHIBA_GENERIC_TEMP_C_MIN : TOSHIBA_RAC_PT1411HWRU_TEMP_C_MIN; + if (this->model_ == MODEL_RAC_PT1411HWRU_C || this->model_ == MODEL_RAC_PT1411HWRU_F) + return TOSHIBA_RAC_PT1411HWRU_TEMP_C_MIN; + if (this->model_ == MODEL_RAS_2819T) + return TOSHIBA_RAS_2819T_TEMP_C_MIN; + return TOSHIBA_GENERIC_TEMP_C_MIN; // Default to GENERIC for unknown models } float temperature_max_() { - return (this->model_ == MODEL_GENERIC) ? TOSHIBA_GENERIC_TEMP_C_MAX : TOSHIBA_RAC_PT1411HWRU_TEMP_C_MAX; + if (this->model_ == MODEL_RAC_PT1411HWRU_C || this->model_ == MODEL_RAC_PT1411HWRU_F) + return TOSHIBA_RAC_PT1411HWRU_TEMP_C_MAX; + if (this->model_ == MODEL_RAS_2819T) + return TOSHIBA_RAS_2819T_TEMP_C_MAX; + return TOSHIBA_GENERIC_TEMP_C_MAX; // Default to GENERIC for unknown models } std::set toshiba_swing_modes_() { return (this->model_ == MODEL_GENERIC) diff --git a/tests/components/toshiba/common_ras2819t.yaml b/tests/components/toshiba/common_ras2819t.yaml new file mode 100644 index 0000000000..32081fca98 --- /dev/null +++ b/tests/components/toshiba/common_ras2819t.yaml @@ -0,0 +1,13 @@ +remote_transmitter: + pin: ${tx_pin} + carrier_duty_percent: 50% + +remote_receiver: + id: rcvr + pin: ${rx_pin} + +climate: + - platform: toshiba + name: "RAS-2819T Climate" + model: RAS-2819T + receiver_id: rcvr diff --git a/tests/components/toshiba/test_ras2819t.esp32-ard.yaml b/tests/components/toshiba/test_ras2819t.esp32-ard.yaml new file mode 100644 index 0000000000..00805baa01 --- /dev/null +++ b/tests/components/toshiba/test_ras2819t.esp32-ard.yaml @@ -0,0 +1,5 @@ +substitutions: + tx_pin: GPIO5 + rx_pin: GPIO4 + +<<: !include common_ras2819t.yaml diff --git a/tests/components/toshiba/test_ras2819t.esp32-c3-ard.yaml b/tests/components/toshiba/test_ras2819t.esp32-c3-ard.yaml new file mode 100644 index 0000000000..00805baa01 --- /dev/null +++ b/tests/components/toshiba/test_ras2819t.esp32-c3-ard.yaml @@ -0,0 +1,5 @@ +substitutions: + tx_pin: GPIO5 + rx_pin: GPIO4 + +<<: !include common_ras2819t.yaml diff --git a/tests/components/toshiba/test_ras2819t.esp32-c3-idf.yaml b/tests/components/toshiba/test_ras2819t.esp32-c3-idf.yaml new file mode 100644 index 0000000000..00805baa01 --- /dev/null +++ b/tests/components/toshiba/test_ras2819t.esp32-c3-idf.yaml @@ -0,0 +1,5 @@ +substitutions: + tx_pin: GPIO5 + rx_pin: GPIO4 + +<<: !include common_ras2819t.yaml diff --git a/tests/components/toshiba/test_ras2819t.esp32-idf.yaml b/tests/components/toshiba/test_ras2819t.esp32-idf.yaml new file mode 100644 index 0000000000..00805baa01 --- /dev/null +++ b/tests/components/toshiba/test_ras2819t.esp32-idf.yaml @@ -0,0 +1,5 @@ +substitutions: + tx_pin: GPIO5 + rx_pin: GPIO4 + +<<: !include common_ras2819t.yaml diff --git a/tests/components/toshiba/test_ras2819t.esp8266-ard.yaml b/tests/components/toshiba/test_ras2819t.esp8266-ard.yaml new file mode 100644 index 0000000000..00805baa01 --- /dev/null +++ b/tests/components/toshiba/test_ras2819t.esp8266-ard.yaml @@ -0,0 +1,5 @@ +substitutions: + tx_pin: GPIO5 + rx_pin: GPIO4 + +<<: !include common_ras2819t.yaml From 2b832e9ee8df636076898750162c1259ead4ae5d Mon Sep 17 00:00:00 2001 From: mrtoy-me <118446898+mrtoy-me@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:55:07 +1000 Subject: [PATCH 166/201] [cap1188] remove delays in setup (#11317) Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- esphome/components/cap1188/cap1188.cpp | 34 +++++++++++++++++++------- esphome/components/cap1188/cap1188.h | 2 ++ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/esphome/components/cap1188/cap1188.cpp b/esphome/components/cap1188/cap1188.cpp index 584ff896c5..683e5cf487 100644 --- a/esphome/components/cap1188/cap1188.cpp +++ b/esphome/components/cap1188/cap1188.cpp @@ -8,17 +8,30 @@ namespace cap1188 { static const char *const TAG = "cap1188"; void CAP1188Component::setup() { - // Reset device using the reset pin - if (this->reset_pin_ != nullptr) { - this->reset_pin_->setup(); - this->reset_pin_->digital_write(false); - delay(100); // NOLINT - this->reset_pin_->digital_write(true); - delay(100); // NOLINT - this->reset_pin_->digital_write(false); - delay(100); // NOLINT + this->disable_loop(); + + // no reset pin + if (this->reset_pin_ == nullptr) { + this->finish_setup_(); + return; } + // reset pin configured so reset before finishing setup + this->reset_pin_->setup(); + this->reset_pin_->digital_write(false); + // delay after reset pin write + this->set_timeout(100, [this]() { + this->reset_pin_->digital_write(true); + // delay after reset pin write + this->set_timeout(100, [this]() { + this->reset_pin_->digital_write(false); + // delay after reset pin write + this->set_timeout(100, [this]() { this->finish_setup_(); }); + }); + }); +} + +void CAP1188Component::finish_setup_() { // Check if CAP1188 is actually connected this->read_byte(CAP1188_PRODUCT_ID, &this->cap1188_product_id_); this->read_byte(CAP1188_MANUFACTURE_ID, &this->cap1188_manufacture_id_); @@ -44,6 +57,9 @@ void CAP1188Component::setup() { // Speed up a bit this->write_byte(CAP1188_STAND_BY_CONFIGURATION, 0x30); + + // Setup successful, so enable loop + this->enable_loop(); } void CAP1188Component::dump_config() { diff --git a/esphome/components/cap1188/cap1188.h b/esphome/components/cap1188/cap1188.h index baefd1c48f..297c601b05 100644 --- a/esphome/components/cap1188/cap1188.h +++ b/esphome/components/cap1188/cap1188.h @@ -49,6 +49,8 @@ class CAP1188Component : public Component, public i2c::I2CDevice { void loop() override; protected: + void finish_setup_(); + std::vector channels_{}; uint8_t touch_threshold_{0x20}; uint8_t allow_multiple_touches_{0x80}; From fe9db75c27a663bbbee5202381386ae81395a36b Mon Sep 17 00:00:00 2001 From: tomaszduda23 Date: Fri, 17 Oct 2025 15:02:37 +0200 Subject: [PATCH 167/201] [nrf52] add xiao_ble board (#10698) Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> --- esphome/components/debug/debug_zephyr.cpp | 52 ++++++++++++++++++- esphome/components/nrf52/__init__.py | 13 +++++ esphome/components/nrf52/boards.py | 10 +++- esphome/components/zephyr/__init__.py | 27 ++++++---- .../components/nrf52/test.nrf52-xiao-ble.yaml | 7 +++ .../build_components_base.nrf52-xiao-ble.yaml | 15 ++++++ 6 files changed, 112 insertions(+), 12 deletions(-) create mode 100644 tests/components/nrf52/test.nrf52-xiao-ble.yaml create mode 100644 tests/test_build_components/build_components_base.nrf52-xiao-ble.yaml diff --git a/esphome/components/debug/debug_zephyr.cpp b/esphome/components/debug/debug_zephyr.cpp index 9a361b158f..231b39a711 100644 --- a/esphome/components/debug/debug_zephyr.cpp +++ b/esphome/components/debug/debug_zephyr.cpp @@ -25,10 +25,37 @@ static void show_reset_reason(std::string &reset_reason, bool set, const char *r reset_reason += reason; } -inline uint32_t read_mem_u32(uintptr_t addr) { +static inline uint32_t read_mem_u32(uintptr_t addr) { return *reinterpret_cast(addr); // NOLINT(performance-no-int-to-ptr) } +static inline uint8_t read_mem_u8(uintptr_t addr) { + return *reinterpret_cast(addr); // NOLINT(performance-no-int-to-ptr) +} + +// defines from https://github.com/adafruit/Adafruit_nRF52_Bootloader which prints those information +constexpr uint32_t SD_MAGIC_NUMBER = 0x51B1E5DB; +constexpr uintptr_t MBR_SIZE = 0x1000; +constexpr uintptr_t SOFTDEVICE_INFO_STRUCT_OFFSET = 0x2000; +constexpr uintptr_t SD_ID_OFFSET = SOFTDEVICE_INFO_STRUCT_OFFSET + 0x10; +constexpr uintptr_t SD_VERSION_OFFSET = SOFTDEVICE_INFO_STRUCT_OFFSET + 0x14; + +static inline bool is_sd_present() { + return read_mem_u32(SOFTDEVICE_INFO_STRUCT_OFFSET + MBR_SIZE + 4) == SD_MAGIC_NUMBER; +} +static inline uint32_t sd_id_get() { + if (read_mem_u8(MBR_SIZE + SOFTDEVICE_INFO_STRUCT_OFFSET) > (SD_ID_OFFSET - SOFTDEVICE_INFO_STRUCT_OFFSET)) { + return read_mem_u32(MBR_SIZE + SD_ID_OFFSET); + } + return 0; +} +static inline uint32_t sd_version_get() { + if (read_mem_u8(MBR_SIZE + SOFTDEVICE_INFO_STRUCT_OFFSET) > (SD_VERSION_OFFSET - SOFTDEVICE_INFO_STRUCT_OFFSET)) { + return read_mem_u32(MBR_SIZE + SD_VERSION_OFFSET); + } + return 0; +} + std::string DebugComponent::get_reset_reason_() { uint32_t cause; auto ret = hwinfo_get_reset_cause(&cause); @@ -271,6 +298,29 @@ void DebugComponent::get_device_info_(std::string &device_info) { NRF_UICR->NRFFW[0]); ESP_LOGD(TAG, "MBR param page addr 0x%08x, UICR param page addr 0x%08x", read_mem_u32(MBR_PARAM_PAGE_ADDR), NRF_UICR->NRFFW[1]); + if (is_sd_present()) { + uint32_t const sd_id = sd_id_get(); + uint32_t const sd_version = sd_version_get(); + + uint32_t ver[3]; + ver[0] = sd_version / 1000000; + ver[1] = (sd_version - ver[0] * 1000000) / 1000; + ver[2] = (sd_version - ver[0] * 1000000 - ver[1] * 1000); + + ESP_LOGD(TAG, "SoftDevice: S%u %u.%u.%u", sd_id, ver[0], ver[1], ver[2]); +#ifdef USE_SOFTDEVICE_ID +#ifdef USE_SOFTDEVICE_VERSION + if (USE_SOFTDEVICE_ID != sd_id || USE_SOFTDEVICE_VERSION != ver[0]) { + ESP_LOGE(TAG, "Built for SoftDevice S%u %u.x.y. It may crash due to mismatch of bootloader version.", + USE_SOFTDEVICE_ID, USE_SOFTDEVICE_VERSION); + } +#else + if (USE_SOFTDEVICE_ID != sd_id) { + ESP_LOGE(TAG, "Built for SoftDevice S%u. It may crash due to mismatch of bootloader version.", USE_SOFTDEVICE_ID); + } +#endif +#endif + } #endif } diff --git a/esphome/components/nrf52/__init__.py b/esphome/components/nrf52/__init__.py index 84e505a90a..727607933d 100644 --- a/esphome/components/nrf52/__init__.py +++ b/esphome/components/nrf52/__init__.py @@ -1,5 +1,6 @@ from __future__ import annotations +import logging from pathlib import Path from esphome import pins @@ -48,6 +49,7 @@ from .gpio import nrf52_pin_to_code # noqa CODEOWNERS = ["@tomaszduda23"] AUTO_LOAD = ["zephyr"] IS_TARGET_PLATFORM = True +_LOGGER = logging.getLogger(__name__) def set_core_data(config: ConfigType) -> ConfigType: @@ -127,6 +129,10 @@ def _validate_mcumgr(config): def _final_validate(config): if CONF_DFU in config: _validate_mcumgr(config) + if config[KEY_BOOTLOADER] == BOOTLOADER_ADAFRUIT: + _LOGGER.warning( + "Selected generic Adafruit bootloader. The board might crash. Consider settings `bootloader:`" + ) FINAL_VALIDATE_SCHEMA = _final_validate @@ -157,6 +163,13 @@ async def to_code(config: ConfigType) -> None: if config[KEY_BOOTLOADER] == BOOTLOADER_MCUBOOT: cg.add_define("USE_BOOTLOADER_MCUBOOT") else: + if "_sd" in config[KEY_BOOTLOADER]: + bootloader = config[KEY_BOOTLOADER].split("_") + sd_id = bootloader[2][2:] + cg.add_define("USE_SOFTDEVICE_ID", int(sd_id)) + if (len(bootloader)) > 3: + sd_version = bootloader[3][1:] + cg.add_define("USE_SOFTDEVICE_VERSION", int(sd_version)) # make sure that firmware.zip is created # for Adafruit_nRF52_Bootloader cg.add_platformio_option("board_upload.protocol", "nrfutil") diff --git a/esphome/components/nrf52/boards.py b/esphome/components/nrf52/boards.py index 8e5fb2a23d..6064fe844a 100644 --- a/esphome/components/nrf52/boards.py +++ b/esphome/components/nrf52/boards.py @@ -11,10 +11,18 @@ from .const import ( BOARDS_ZEPHYR = { "adafruit_itsybitsy_nrf52840": { KEY_BOOTLOADER: [ + BOOTLOADER_ADAFRUIT_NRF52_SD140_V6, + BOOTLOADER_ADAFRUIT, + BOOTLOADER_ADAFRUIT_NRF52_SD132, + BOOTLOADER_ADAFRUIT_NRF52_SD140_V7, + ] + }, + "xiao_ble": { + KEY_BOOTLOADER: [ + BOOTLOADER_ADAFRUIT_NRF52_SD140_V7, BOOTLOADER_ADAFRUIT, BOOTLOADER_ADAFRUIT_NRF52_SD132, BOOTLOADER_ADAFRUIT_NRF52_SD140_V6, - BOOTLOADER_ADAFRUIT_NRF52_SD140_V7, ] }, } diff --git a/esphome/components/zephyr/__init__.py b/esphome/components/zephyr/__init__.py index ff4644163e..634c99876b 100644 --- a/esphome/components/zephyr/__init__.py +++ b/esphome/components/zephyr/__init__.py @@ -222,18 +222,25 @@ def copy_files(): ] in ["xiao_ble"]: fake_board_manifest = """ { -"frameworks": [ - "zephyr" -], -"name": "esphome nrf52", -"upload": { - "maximum_ram_size": 248832, - "maximum_size": 815104 -}, -"url": "https://esphome.io/", -"vendor": "esphome" + "frameworks": [ + "zephyr" + ], + "name": "esphome nrf52", + "upload": { + "maximum_ram_size": 248832, + "maximum_size": 815104, + "speed": 115200 + }, + "url": "https://esphome.io/", + "vendor": "esphome", + "build": { + "softdevice": { + "sd_fwid": "0x00B6" + } + } } """ + write_file_if_changed( CORE.relative_build_path(f"boards/{zephyr_data()[KEY_BOARD]}.json"), fake_board_manifest, diff --git a/tests/components/nrf52/test.nrf52-xiao-ble.yaml b/tests/components/nrf52/test.nrf52-xiao-ble.yaml new file mode 100644 index 0000000000..3fe80209b6 --- /dev/null +++ b/tests/components/nrf52/test.nrf52-xiao-ble.yaml @@ -0,0 +1,7 @@ +nrf52: + dfu: + reset_pin: + number: 14 + inverted: true + mode: + output: true diff --git a/tests/test_build_components/build_components_base.nrf52-xiao-ble.yaml b/tests/test_build_components/build_components_base.nrf52-xiao-ble.yaml new file mode 100644 index 0000000000..2f3f91d957 --- /dev/null +++ b/tests/test_build_components/build_components_base.nrf52-xiao-ble.yaml @@ -0,0 +1,15 @@ +esphome: + name: componenttestnrf52 + friendly_name: $component_name + +nrf52: + board: xiao_ble + +logger: + level: VERY_VERBOSE + +packages: + component_under_test: !include + file: $component_test_file + vars: + component_test_file: $component_test_file From 6d09e68b2e9d7c13940962427f69128d62b92471 Mon Sep 17 00:00:00 2001 From: B48D81EFCC <111175947+B48D81EFCC@users.noreply.github.com> Date: Fri, 17 Oct 2025 17:11:51 +0200 Subject: [PATCH 168/201] [bh1900nux] Add bh1900nux temperature Sensor (#8631) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Andreas Riehl Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> --- CODEOWNERS | 1 + esphome/components/bh1900nux/__init__.py | 0 esphome/components/bh1900nux/bh1900nux.cpp | 54 +++++++++++++++++++ esphome/components/bh1900nux/bh1900nux.h | 18 +++++++ esphome/components/bh1900nux/sensor.py | 34 ++++++++++++ tests/components/bh1900nux/common.yaml | 6 +++ .../bh1900nux/test.esp32-c3-idf.yaml | 4 ++ .../components/bh1900nux/test.esp32-idf.yaml | 4 ++ .../bh1900nux/test.esp8266-ard.yaml | 4 ++ .../components/bh1900nux/test.rp2040-ard.yaml | 4 ++ 10 files changed, 129 insertions(+) create mode 100644 esphome/components/bh1900nux/__init__.py create mode 100644 esphome/components/bh1900nux/bh1900nux.cpp create mode 100644 esphome/components/bh1900nux/bh1900nux.h create mode 100644 esphome/components/bh1900nux/sensor.py create mode 100644 tests/components/bh1900nux/common.yaml create mode 100644 tests/components/bh1900nux/test.esp32-c3-idf.yaml create mode 100644 tests/components/bh1900nux/test.esp32-idf.yaml create mode 100644 tests/components/bh1900nux/test.esp8266-ard.yaml create mode 100644 tests/components/bh1900nux/test.rp2040-ard.yaml diff --git a/CODEOWNERS b/CODEOWNERS index 03ea5d0e47..b5cefa1e0c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -62,6 +62,7 @@ esphome/components/bedjet/fan/* @jhansche esphome/components/bedjet/sensor/* @javawizard @jhansche esphome/components/beken_spi_led_strip/* @Mat931 esphome/components/bh1750/* @OttoWinter +esphome/components/bh1900nux/* @B48D81EFCC esphome/components/binary_sensor/* @esphome/core esphome/components/bk72xx/* @kuba2k2 esphome/components/bl0906/* @athom-tech @jesserockz @tarontop diff --git a/esphome/components/bh1900nux/__init__.py b/esphome/components/bh1900nux/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/esphome/components/bh1900nux/bh1900nux.cpp b/esphome/components/bh1900nux/bh1900nux.cpp new file mode 100644 index 0000000000..96a06adaa0 --- /dev/null +++ b/esphome/components/bh1900nux/bh1900nux.cpp @@ -0,0 +1,54 @@ +#include "esphome/core/log.h" +#include "bh1900nux.h" + +namespace esphome { +namespace bh1900nux { + +static const char *const TAG = "bh1900nux.sensor"; + +// I2C Registers +static const uint8_t TEMPERATURE_REG = 0x00; +static const uint8_t CONFIG_REG = 0x01; // Not used and supported yet +static const uint8_t TEMPERATURE_LOW_REG = 0x02; // Not used and supported yet +static const uint8_t TEMPERATURE_HIGH_REG = 0x03; // Not used and supported yet +static const uint8_t SOFT_RESET_REG = 0x04; + +// I2C Command payloads +static const uint8_t SOFT_RESET_PAYLOAD = 0x01; // Soft Reset value + +static const float SENSOR_RESOLUTION = 0.0625f; // Sensor resolution per bit in degrees celsius + +void BH1900NUXSensor::setup() { + // Initialize I2C device + i2c::ErrorCode result_code = + this->write_register(SOFT_RESET_REG, &SOFT_RESET_PAYLOAD, 1); // Software Reset to check communication + if (result_code != i2c::ERROR_OK) { + this->mark_failed(ESP_LOG_MSG_COMM_FAIL); + return; + } +} + +void BH1900NUXSensor::update() { + uint8_t temperature_raw[2]; + if (this->read_register(TEMPERATURE_REG, temperature_raw, 2) != i2c::ERROR_OK) { + ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL); + return; + } + + // Combined raw value, unsigned and unaligned 16 bit + // Temperature is represented in just 12 bits, shift needed + int16_t raw_temperature_register_value = encode_uint16(temperature_raw[0], temperature_raw[1]); + raw_temperature_register_value >>= 4; + float temperature_value = raw_temperature_register_value * SENSOR_RESOLUTION; // Apply sensor resolution + + this->publish_state(temperature_value); +} + +void BH1900NUXSensor::dump_config() { + LOG_SENSOR("", "BH1900NUX", this); + LOG_I2C_DEVICE(this); + LOG_UPDATE_INTERVAL(this); +} + +} // namespace bh1900nux +} // namespace esphome diff --git a/esphome/components/bh1900nux/bh1900nux.h b/esphome/components/bh1900nux/bh1900nux.h new file mode 100644 index 0000000000..fd7f8848d6 --- /dev/null +++ b/esphome/components/bh1900nux/bh1900nux.h @@ -0,0 +1,18 @@ +#pragma once + +#include "esphome/core/component.h" +#include "esphome/components/sensor/sensor.h" +#include "esphome/components/i2c/i2c.h" + +namespace esphome { +namespace bh1900nux { + +class BH1900NUXSensor : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice { + public: + void setup() override; + void update() override; + void dump_config() override; +}; + +} // namespace bh1900nux +} // namespace esphome diff --git a/esphome/components/bh1900nux/sensor.py b/esphome/components/bh1900nux/sensor.py new file mode 100644 index 0000000000..5e1c0395af --- /dev/null +++ b/esphome/components/bh1900nux/sensor.py @@ -0,0 +1,34 @@ +import esphome.codegen as cg +from esphome.components import i2c, sensor +import esphome.config_validation as cv +from esphome.const import ( + DEVICE_CLASS_TEMPERATURE, + STATE_CLASS_MEASUREMENT, + UNIT_CELSIUS, +) + +DEPENDENCIES = ["i2c"] +CODEOWNERS = ["@B48D81EFCC"] + +sensor_ns = cg.esphome_ns.namespace("bh1900nux") +BH1900NUXSensor = sensor_ns.class_( + "BH1900NUXSensor", cg.PollingComponent, i2c.I2CDevice +) + +CONFIG_SCHEMA = ( + sensor.sensor_schema( + BH1900NUXSensor, + accuracy_decimals=1, + unit_of_measurement=UNIT_CELSIUS, + device_class=DEVICE_CLASS_TEMPERATURE, + state_class=STATE_CLASS_MEASUREMENT, + ) + .extend(cv.polling_component_schema("60s")) + .extend(i2c.i2c_device_schema(0x48)) +) + + +async def to_code(config): + var = await sensor.new_sensor(config) + await cg.register_component(var, config) + await i2c.register_i2c_device(var, config) diff --git a/tests/components/bh1900nux/common.yaml b/tests/components/bh1900nux/common.yaml new file mode 100644 index 0000000000..3438418702 --- /dev/null +++ b/tests/components/bh1900nux/common.yaml @@ -0,0 +1,6 @@ +sensor: + - platform: bh1900nux + i2c_id: i2c_bus + name: Temperature Living Room + address: 0x48 + update_interval: 30s diff --git a/tests/components/bh1900nux/test.esp32-c3-idf.yaml b/tests/components/bh1900nux/test.esp32-c3-idf.yaml new file mode 100644 index 0000000000..9990d96d29 --- /dev/null +++ b/tests/components/bh1900nux/test.esp32-c3-idf.yaml @@ -0,0 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-c3-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/bh1900nux/test.esp32-idf.yaml b/tests/components/bh1900nux/test.esp32-idf.yaml new file mode 100644 index 0000000000..b47e39c389 --- /dev/null +++ b/tests/components/bh1900nux/test.esp32-idf.yaml @@ -0,0 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/bh1900nux/test.esp8266-ard.yaml b/tests/components/bh1900nux/test.esp8266-ard.yaml new file mode 100644 index 0000000000..4a98b9388a --- /dev/null +++ b/tests/components/bh1900nux/test.esp8266-ard.yaml @@ -0,0 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp8266-ard.yaml + +<<: !include common.yaml diff --git a/tests/components/bh1900nux/test.rp2040-ard.yaml b/tests/components/bh1900nux/test.rp2040-ard.yaml new file mode 100644 index 0000000000..319a7c71a6 --- /dev/null +++ b/tests/components/bh1900nux/test.rp2040-ard.yaml @@ -0,0 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/rp2040-ard.yaml + +<<: !include common.yaml From f5774cc1384fd3ec79b750b49e9a0e9b34a36cac Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 17 Oct 2025 08:20:31 -1000 Subject: [PATCH 169/201] [debug] Replace std::map with struct array for ESP32 chip features (#11307) --- esphome/components/debug/debug_esp32.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/esphome/components/debug/debug_esp32.cpp b/esphome/components/debug/debug_esp32.cpp index b1dfe1bc9a..1c3dc3699b 100644 --- a/esphome/components/debug/debug_esp32.cpp +++ b/esphome/components/debug/debug_esp32.cpp @@ -11,8 +11,6 @@ #include #include -#include - #ifdef USE_ARDUINO #include #endif @@ -125,7 +123,12 @@ void DebugComponent::log_partition_info_() { uint32_t DebugComponent::get_free_heap_() { return heap_caps_get_free_size(MALLOC_CAP_INTERNAL); } -static const std::map CHIP_FEATURES = { +struct ChipFeature { + int bit; + const char *name; +}; + +static constexpr ChipFeature CHIP_FEATURES[] = { {CHIP_FEATURE_BLE, "BLE"}, {CHIP_FEATURE_BT, "BT"}, {CHIP_FEATURE_EMB_FLASH, "EMB Flash"}, @@ -170,11 +173,13 @@ void DebugComponent::get_device_info_(std::string &device_info) { esp_chip_info(&info); const char *model = ESPHOME_VARIANT; std::string features; - for (auto feature : CHIP_FEATURES) { - if (info.features & feature.first) { - features += feature.second; + + // Check each known feature bit + for (const auto &feature : CHIP_FEATURES) { + if (info.features & feature.bit) { + features += feature.name; features += ", "; - info.features &= ~feature.first; + info.features &= ~feature.bit; } } if (info.features != 0) From ba6c8c87c236d77c5d216a9919d6c1bf7d9725fd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 17 Oct 2025 08:20:55 -1000 Subject: [PATCH 170/201] [dashboard] Fix binary download with packages using secrets after Path migration (#11313) --- esphome/dashboard/settings.py | 11 ++++- tests/dashboard/test_settings.py | 62 ++++++++++++++++++++++++++ tests/dashboard/test_web_server.py | 71 ++++++++++++++++++++++++++++++ 3 files changed, 143 insertions(+), 1 deletion(-) diff --git a/esphome/dashboard/settings.py b/esphome/dashboard/settings.py index 35b67c0d23..6035b4a1d6 100644 --- a/esphome/dashboard/settings.py +++ b/esphome/dashboard/settings.py @@ -10,6 +10,10 @@ from esphome.helpers import get_bool_env from .util.password import password_hash +# Sentinel file name used for CORE.config_path when dashboard initializes. +# This ensures .parent returns the config directory instead of root. +_DASHBOARD_SENTINEL_FILE = "___DASHBOARD_SENTINEL___.yaml" + class DashboardSettings: """Settings for the dashboard.""" @@ -48,7 +52,12 @@ class DashboardSettings: self.config_dir = Path(args.configuration) self.absolute_config_dir = self.config_dir.resolve() self.verbose = args.verbose - CORE.config_path = self.config_dir / "." + # Set to a sentinel file so .parent gives us the config directory. + # Previously this was `os.path.join(self.config_dir, ".")` which worked because + # os.path.dirname("/config/.") returns "/config", but Path("/config/.").parent + # normalizes to Path("/config") first, then .parent returns Path("/"), breaking + # secret resolution. Using a sentinel file ensures .parent gives the correct directory. + CORE.config_path = self.config_dir / _DASHBOARD_SENTINEL_FILE @property def relative_url(self) -> str: diff --git a/tests/dashboard/test_settings.py b/tests/dashboard/test_settings.py index c9097fe5e2..91a8ec70c3 100644 --- a/tests/dashboard/test_settings.py +++ b/tests/dashboard/test_settings.py @@ -2,11 +2,13 @@ from __future__ import annotations +from argparse import Namespace from pathlib import Path import tempfile import pytest +from esphome.core import CORE from esphome.dashboard.settings import DashboardSettings @@ -159,3 +161,63 @@ def test_rel_path_with_numeric_args(dashboard_settings: DashboardSettings) -> No result = dashboard_settings.rel_path("123", "456.789") expected = dashboard_settings.config_dir / "123" / "456.789" assert result == expected + + +def test_config_path_parent_resolves_to_config_dir(tmp_path: Path) -> None: + """Test that CORE.config_path.parent resolves to config_dir after parse_args. + + This is a regression test for issue #11280 where binary download failed + when using packages with secrets after the Path migration in 2025.10.0. + + The issue was that after switching from os.path to Path: + - Before: os.path.dirname("/config/.") → "/config" + - After: Path("/config/.").parent → Path("/") (normalized first!) + + The fix uses a sentinel file so .parent returns the correct directory: + - Fixed: Path("/config/___DASHBOARD_SENTINEL___.yaml").parent → Path("/config") + """ + # Create test directory structure with secrets and packages + config_dir = tmp_path / "config" + config_dir.mkdir() + + # Create secrets.yaml with obviously fake test values + secrets_file = config_dir / "secrets.yaml" + secrets_file.write_text( + "wifi_ssid: TEST-DUMMY-SSID\n" + "wifi_password: not-a-real-password-just-for-testing\n" + ) + + # Create package file that uses secrets + package_file = config_dir / "common.yaml" + package_file.write_text( + "wifi:\n ssid: !secret wifi_ssid\n password: !secret wifi_password\n" + ) + + # Create main device config that includes the package + device_config = config_dir / "test-device.yaml" + device_config.write_text( + "esphome:\n name: test-device\n\npackages:\n common: !include common.yaml\n" + ) + + # Set up dashboard settings with our test config directory + settings = DashboardSettings() + args = Namespace( + configuration=str(config_dir), + password=None, + username=None, + ha_addon=False, + verbose=False, + ) + settings.parse_args(args) + + # Verify that CORE.config_path.parent correctly points to the config directory + # This is critical for secret resolution in yaml_util.py which does: + # main_config_dir = CORE.config_path.parent + # main_secret_yml = main_config_dir / "secrets.yaml" + assert CORE.config_path.parent == config_dir.resolve() + assert (CORE.config_path.parent / "secrets.yaml").exists() + assert (CORE.config_path.parent / "common.yaml").exists() + + # Verify that CORE.config_path itself uses the sentinel file + assert CORE.config_path.name == "___DASHBOARD_SENTINEL___.yaml" + assert not CORE.config_path.exists() # Sentinel file doesn't actually exist diff --git a/tests/dashboard/test_web_server.py b/tests/dashboard/test_web_server.py index 5bbe7e78fc..6c424e56d4 100644 --- a/tests/dashboard/test_web_server.py +++ b/tests/dashboard/test_web_server.py @@ -1,5 +1,6 @@ from __future__ import annotations +from argparse import Namespace import asyncio from collections.abc import Generator from contextlib import asynccontextmanager @@ -17,6 +18,8 @@ from tornado.ioloop import IOLoop from tornado.testing import bind_unused_port from tornado.websocket import WebSocketClientConnection, websocket_connect +from esphome import yaml_util +from esphome.core import CORE from esphome.dashboard import web_server from esphome.dashboard.const import DashboardEvent from esphome.dashboard.core import DASHBOARD @@ -1302,3 +1305,71 @@ async def test_dashboard_subscriber_refresh_event( # Give it a moment to clean up await asyncio.sleep(0.01) + + +@pytest.mark.asyncio +async def test_dashboard_yaml_loading_with_packages_and_secrets( + tmp_path: Path, +) -> None: + """Test dashboard YAML loading with packages referencing secrets. + + This is a regression test for issue #11280 where binary download failed + when using packages with secrets after the Path migration in 2025.10.0. + + This test verifies that CORE.config_path initialization in the dashboard + allows yaml_util.load_yaml() to correctly resolve secrets from packages. + """ + # Create test directory structure with secrets and packages + config_dir = tmp_path / "config" + config_dir.mkdir() + + # Create secrets.yaml with obviously fake test values + secrets_file = config_dir / "secrets.yaml" + secrets_file.write_text( + "wifi_ssid: TEST-DUMMY-SSID\n" + "wifi_password: not-a-real-password-just-for-testing\n" + ) + + # Create package file that uses secrets + package_file = config_dir / "common.yaml" + package_file.write_text( + "wifi:\n ssid: !secret wifi_ssid\n password: !secret wifi_password\n" + ) + + # Create main device config that includes the package + device_config = config_dir / "test-download-secrets.yaml" + device_config.write_text( + "esphome:\n name: test-download-secrets\n platform: ESP32\n board: esp32dev\n\n" + "packages:\n common: !include common.yaml\n" + ) + + # Initialize DASHBOARD settings with our test config directory + # This is what sets CORE.config_path - the critical code path for the bug + args = Namespace( + configuration=str(config_dir), + password=None, + username=None, + ha_addon=False, + verbose=False, + ) + DASHBOARD.settings.parse_args(args) + + # With the fix: CORE.config_path should be config_dir / "___DASHBOARD_SENTINEL___.yaml" + # so CORE.config_path.parent would be config_dir + # Without the fix: CORE.config_path is config_dir / "." which normalizes to config_dir + # so CORE.config_path.parent would be tmp_path (the parent of config_dir) + + # The fix ensures CORE.config_path.parent points to config_dir + assert CORE.config_path.parent == config_dir.resolve(), ( + f"CORE.config_path.parent should point to config_dir. " + f"Got {CORE.config_path.parent}, expected {config_dir.resolve()}. " + f"CORE.config_path is {CORE.config_path}" + ) + + # Now load the YAML with packages that reference secrets + # This is where the bug would manifest - yaml_util.load_yaml would fail + # to find secrets.yaml because CORE.config_path.parent pointed to the wrong place + config = yaml_util.load_yaml(device_config) + # If we get here, secret resolution worked! + assert "esphome" in config + assert config["esphome"]["name"] == "test-download-secrets" From 24243fb22ccb5c02ab826a5c68162fc132cc04d5 Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:23:49 -0400 Subject: [PATCH 171/201] [tests] Add i2c_id to mcp47a1 & mcp4725 and remove from isolation (#11324) --- script/analyze_component_buses.py | 2 -- tests/components/mcp4725/common.yaml | 1 + tests/components/mcp47a1/common.yaml | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index fc7d021cbe..98edfef145 100755 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -83,8 +83,6 @@ ISOLATED_COMPONENTS = { "openthread": "Conflicts with wifi: used by most components", "openthread_info": "Conflicts with wifi: used by most components", "matrix_keypad": "Needs isolation due to keypad", - "mcp4725": "no YAML config to specify i2c bus id", - "mcp47a1": "no YAML config to specify i2c bus id", "modbus_controller": "Defines multiple modbus buses for testing client/server functionality - conflicts with package modbus bus", "neopixelbus": "RMT type conflict with ESP32 Arduino/ESP-IDF headers (enum vs struct rmt_channel_t)", "packages": "cannot merge packages", diff --git a/tests/components/mcp4725/common.yaml b/tests/components/mcp4725/common.yaml index 871c2805a3..9352ebfd19 100644 --- a/tests/components/mcp4725/common.yaml +++ b/tests/components/mcp4725/common.yaml @@ -1,3 +1,4 @@ output: - platform: mcp4725 id: mcp4725_dac_output + i2c_id: i2c_bus diff --git a/tests/components/mcp47a1/common.yaml b/tests/components/mcp47a1/common.yaml index 3448fcfb31..5a5786ff0f 100644 --- a/tests/components/mcp47a1/common.yaml +++ b/tests/components/mcp47a1/common.yaml @@ -1,3 +1,4 @@ output: - platform: mcp47a1 id: output_mcp47a1 + i2c_id: i2c_bus From b61cec8e77edda72d1a3f2807b622293f3bab1fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Oct 2025 09:14:45 -1000 Subject: [PATCH 172/201] Bump github/codeql-action from 4.30.8 to 4.30.9 (#11326) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 9aa7856116..c24900d378 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -58,7 +58,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8 + uses: github/codeql-action/init@16140ae1a102900babc80a33c44059580f687047 # v4.30.9 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} @@ -86,6 +86,6 @@ jobs: exit 1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8 + uses: github/codeql-action/analyze@16140ae1a102900babc80a33c44059580f687047 # v4.30.9 with: category: "/language:${{matrix.language}}" From b3b65316f004b9c5ee783b0a8b140f3f955e54c3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 17 Oct 2025 13:05:44 -1000 Subject: [PATCH 173/201] [ci] Fix test_build_components missing test files with hyphen naming pattern (#11329) --- script/test_build_components.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/test_build_components.py b/script/test_build_components.py index c98d425447..df092c091d 100755 --- a/script/test_build_components.py +++ b/script/test_build_components.py @@ -99,7 +99,8 @@ def find_component_tests( if not comp_dir.is_dir(): continue - for test_file in comp_dir.glob("test.*.yaml"): + # Find test files matching test.*.yaml or test-*.yaml patterns + for test_file in comp_dir.glob("test[.-]*.yaml"): component_tests[comp_dir.name].append(test_file) return dict(component_tests) From b134d42e3b91512cdcdfe6b8f13f0e62ba0b2c9b Mon Sep 17 00:00:00 2001 From: Niall Douglas Date: Sat, 18 Oct 2025 02:47:18 +0200 Subject: [PATCH 174/201] [xgzp68xx] Add oversampling config and tidy up implementation. (#10306) Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> --- esphome/components/xgzp68xx/sensor.py | 19 ++++++ esphome/components/xgzp68xx/xgzp68xx.cpp | 80 ++++++++++++++++-------- esphome/components/xgzp68xx/xgzp68xx.h | 20 ++++++ tests/components/xgzp68xx/common.yaml | 1 + 4 files changed, 94 insertions(+), 26 deletions(-) diff --git a/esphome/components/xgzp68xx/sensor.py b/esphome/components/xgzp68xx/sensor.py index 74cef3bf7b..2b38392a02 100644 --- a/esphome/components/xgzp68xx/sensor.py +++ b/esphome/components/xgzp68xx/sensor.py @@ -3,6 +3,7 @@ from esphome.components import i2c, sensor import esphome.config_validation as cv from esphome.const import ( CONF_ID, + CONF_OVERSAMPLING, CONF_PRESSURE, CONF_TEMPERATURE, DEVICE_CLASS_PRESSURE, @@ -18,6 +19,17 @@ CODEOWNERS = ["@gcormier"] CONF_K_VALUE = "k_value" xgzp68xx_ns = cg.esphome_ns.namespace("xgzp68xx") +XGZP68XXOversampling = xgzp68xx_ns.enum("XGZP68XXOversampling") +OVERSAMPLING_OPTIONS = { + "256X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_256X, + "512X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_512X, + "1024X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_1024X, + "2048X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_2048X, + "4096X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_4096X, + "8192X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_8192X, + "16384X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_16384X, + "32768X": XGZP68XXOversampling.XGZP68XX_OVERSAMPLING_32768X, +} XGZP68XXComponent = xgzp68xx_ns.class_( "XGZP68XXComponent", cg.PollingComponent, i2c.I2CDevice ) @@ -31,6 +43,12 @@ CONFIG_SCHEMA = ( accuracy_decimals=1, device_class=DEVICE_CLASS_PRESSURE, state_class=STATE_CLASS_MEASUREMENT, + ).extend( + { + cv.Optional(CONF_OVERSAMPLING, default="4096X"): cv.enum( + OVERSAMPLING_OPTIONS, upper=True + ), + } ), cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema( unit_of_measurement=UNIT_CELSIUS, @@ -58,5 +76,6 @@ async def to_code(config): if pressure_config := config.get(CONF_PRESSURE): sens = await sensor.new_sensor(pressure_config) cg.add(var.set_pressure_sensor(sens)) + cg.add(var.set_pressure_oversampling(pressure_config[CONF_OVERSAMPLING])) cg.add(var.set_k_value(config[CONF_K_VALUE])) diff --git a/esphome/components/xgzp68xx/xgzp68xx.cpp b/esphome/components/xgzp68xx/xgzp68xx.cpp index 20a97cd04b..2b0824de0a 100644 --- a/esphome/components/xgzp68xx/xgzp68xx.cpp +++ b/esphome/components/xgzp68xx/xgzp68xx.cpp @@ -16,16 +16,49 @@ static const uint8_t SYSCONFIG_ADDRESS = 0xA5; static const uint8_t PCONFIG_ADDRESS = 0xA6; static const uint8_t READ_COMMAND = 0x0A; +[[maybe_unused]] static const char *oversampling_to_str(XGZP68XXOversampling oversampling) { + switch (oversampling) { + case XGZP68XX_OVERSAMPLING_256X: + return "256x"; + case XGZP68XX_OVERSAMPLING_512X: + return "512x"; + case XGZP68XX_OVERSAMPLING_1024X: + return "1024x"; + case XGZP68XX_OVERSAMPLING_2048X: + return "2048x"; + case XGZP68XX_OVERSAMPLING_4096X: + return "4096x"; + case XGZP68XX_OVERSAMPLING_8192X: + return "8192x"; + case XGZP68XX_OVERSAMPLING_16384X: + return "16384x"; + case XGZP68XX_OVERSAMPLING_32768X: + return "32768x"; + default: + return "UNKNOWN"; + } +} + void XGZP68XXComponent::update() { + // Do we need to change oversampling? + if (this->last_pressure_oversampling_ != this->pressure_oversampling_) { + uint8_t oldconfig = 0; + this->read_register(PCONFIG_ADDRESS, &oldconfig, 1); + uint8_t newconfig = (oldconfig & 0xf8) | (this->pressure_oversampling_ & 0x7); + this->write_register(PCONFIG_ADDRESS, &newconfig, 1); + ESP_LOGD(TAG, "oversampling to %s: oldconfig = 0x%x newconfig = 0x%x", + oversampling_to_str(this->pressure_oversampling_), oldconfig, newconfig); + this->last_pressure_oversampling_ = this->pressure_oversampling_; + } + // Request temp + pressure acquisition this->write_register(0x30, &READ_COMMAND, 1); // Wait 20mS per datasheet this->set_timeout("measurement", 20, [this]() { - uint8_t data[5]; - uint32_t pressure_raw; - uint16_t temperature_raw; - float pressure_in_pa, temperature; + uint8_t data[5] = {}; + uint32_t pressure_raw = 0; + uint16_t temperature_raw = 0; int success; // Read the sensor data @@ -42,23 +75,11 @@ void XGZP68XXComponent::update() { ESP_LOGV(TAG, "Got raw pressure=%" PRIu32 ", raw temperature=%u", pressure_raw, temperature_raw); ESP_LOGV(TAG, "K value is %u", this->k_value_); - // The most significant bit of both pressure and temperature will be 1 to indicate a negative value. - // This is directly from the datasheet, and the calculations below will handle this. - if (pressure_raw > pow(2, 23)) { - // Negative pressure - pressure_in_pa = (pressure_raw - pow(2, 24)) / (float) (this->k_value_); - } else { - // Positive pressure - pressure_in_pa = pressure_raw / (float) (this->k_value_); - } + // Sign extend the pressure + float pressure_in_pa = (float) (((int32_t) pressure_raw << 8) >> 8); + pressure_in_pa /= (float) (this->k_value_); - if (temperature_raw > pow(2, 15)) { - // Negative temperature - temperature = (float) (temperature_raw - pow(2, 16)) / 256.0f; - } else { - // Positive temperature - temperature = (float) temperature_raw / 256.0f; - } + float temperature = ((float) (int16_t) temperature_raw) / 256.0f; if (this->pressure_sensor_ != nullptr) this->pressure_sensor_->publish_state(pressure_in_pa); @@ -69,20 +90,27 @@ void XGZP68XXComponent::update() { } void XGZP68XXComponent::setup() { - uint8_t config; + uint8_t config1 = 0, config2 = 0; // Display some sample bits to confirm we are talking to the sensor - this->read_register(SYSCONFIG_ADDRESS, &config, 1); - ESP_LOGCONFIG(TAG, - "Gain value is %d\n" - "XGZP68xx started!", - (config >> 3) & 0b111); + if (i2c::ErrorCode::ERROR_OK != this->read_register(SYSCONFIG_ADDRESS, &config1, 1)) { + this->mark_failed(); + return; + } + if (i2c::ErrorCode::ERROR_OK != this->read_register(PCONFIG_ADDRESS, &config2, 1)) { + this->mark_failed(); + return; + } + ESP_LOGD(TAG, "sys_config 0x%x, p_config 0x%x", config1, config2); } void XGZP68XXComponent::dump_config() { ESP_LOGCONFIG(TAG, "XGZP68xx:"); LOG_SENSOR(" ", "Temperature: ", this->temperature_sensor_); LOG_SENSOR(" ", "Pressure: ", this->pressure_sensor_); + if (this->pressure_sensor_ != nullptr) { + ESP_LOGCONFIG(TAG, " Oversampling: %s", oversampling_to_str(this->pressure_oversampling_)); + } LOG_I2C_DEVICE(this); if (this->is_failed()) { ESP_LOGE(TAG, " Connection failed"); diff --git a/esphome/components/xgzp68xx/xgzp68xx.h b/esphome/components/xgzp68xx/xgzp68xx.h index 1bb7304b15..ce9cfd6b78 100644 --- a/esphome/components/xgzp68xx/xgzp68xx.h +++ b/esphome/components/xgzp68xx/xgzp68xx.h @@ -7,11 +7,29 @@ namespace esphome { namespace xgzp68xx { +/// Enum listing all oversampling options for the XGZP68XX. +enum XGZP68XXOversampling : uint8_t { + XGZP68XX_OVERSAMPLING_256X = 0b100, + XGZP68XX_OVERSAMPLING_512X = 0b101, + XGZP68XX_OVERSAMPLING_1024X = 0b000, + XGZP68XX_OVERSAMPLING_2048X = 0b001, + XGZP68XX_OVERSAMPLING_4096X = 0b010, + XGZP68XX_OVERSAMPLING_8192X = 0b011, + XGZP68XX_OVERSAMPLING_16384X = 0b110, + XGZP68XX_OVERSAMPLING_32768X = 0b111, + + XGZP68XX_OVERSAMPLING_UNKNOWN = (uint8_t) -1, +}; + class XGZP68XXComponent : public PollingComponent, public sensor::Sensor, public i2c::I2CDevice { public: SUB_SENSOR(temperature) SUB_SENSOR(pressure) void set_k_value(uint16_t k_value) { this->k_value_ = k_value; } + /// Set the pressure oversampling value. Defaults to 4096X. + void set_pressure_oversampling(XGZP68XXOversampling pressure_oversampling) { + this->pressure_oversampling_ = pressure_oversampling; + } void update() override; void setup() override; @@ -21,6 +39,8 @@ class XGZP68XXComponent : public PollingComponent, public sensor::Sensor, public /// Internal method to read the pressure from the component after it has been scheduled. void read_pressure_(); uint16_t k_value_; + XGZP68XXOversampling pressure_oversampling_{XGZP68XX_OVERSAMPLING_4096X}; + XGZP68XXOversampling last_pressure_oversampling_{XGZP68XX_OVERSAMPLING_UNKNOWN}; }; } // namespace xgzp68xx diff --git a/tests/components/xgzp68xx/common.yaml b/tests/components/xgzp68xx/common.yaml index f76b1de508..00e51e764c 100644 --- a/tests/components/xgzp68xx/common.yaml +++ b/tests/components/xgzp68xx/common.yaml @@ -6,3 +6,4 @@ sensor: name: Pressure Temperature pressure: name: Differential pressure + oversampling: 1024x From bfeade1e2bcb1372fed563f813a24032cbb7d04b Mon Sep 17 00:00:00 2001 From: Leonardo Rivera Date: Fri, 17 Oct 2025 22:13:33 -0300 Subject: [PATCH 175/201] [remote_base] Add Symphony IR protocol (encode/decode) with command_repeats support (#10777) --- esphome/components/remote_base/__init__.py | 46 +++++++ .../remote_base/symphony_protocol.cpp | 120 ++++++++++++++++++ .../remote_base/symphony_protocol.h | 44 +++++++ .../remote_receiver/common-actions.yaml | 5 + .../remote_transmitter/common-buttons.yaml | 6 + 5 files changed, 221 insertions(+) create mode 100644 esphome/components/remote_base/symphony_protocol.cpp create mode 100644 esphome/components/remote_base/symphony_protocol.h diff --git a/esphome/components/remote_base/__init__.py b/esphome/components/remote_base/__init__.py index 42ebae77f7..ccf16a8beb 100644 --- a/esphome/components/remote_base/__init__.py +++ b/esphome/components/remote_base/__init__.py @@ -1056,6 +1056,52 @@ async def sony_action(var, config, args): cg.add(var.set_nbits(template_)) +# Symphony +SymphonyData, SymphonyBinarySensor, SymphonyTrigger, SymphonyAction, SymphonyDumper = ( + declare_protocol("Symphony") +) +SYMPHONY_SCHEMA = cv.Schema( + { + cv.Required(CONF_DATA): cv.hex_uint32_t, + cv.Required(CONF_NBITS): cv.int_range(min=1, max=32), + cv.Optional(CONF_COMMAND_REPEATS, default=2): cv.uint8_t, + } +) + + +@register_binary_sensor("symphony", SymphonyBinarySensor, SYMPHONY_SCHEMA) +def symphony_binary_sensor(var, config): + cg.add( + var.set_data( + cg.StructInitializer( + SymphonyData, + ("data", config[CONF_DATA]), + ("nbits", config[CONF_NBITS]), + ) + ) + ) + + +@register_trigger("symphony", SymphonyTrigger, SymphonyData) +def symphony_trigger(var, config): + pass + + +@register_dumper("symphony", SymphonyDumper) +def symphony_dumper(var, config): + pass + + +@register_action("symphony", SymphonyAction, SYMPHONY_SCHEMA) +async def symphony_action(var, config, args): + template_ = await cg.templatable(config[CONF_DATA], args, cg.uint32) + cg.add(var.set_data(template_)) + template_ = await cg.templatable(config[CONF_NBITS], args, cg.uint32) + cg.add(var.set_nbits(template_)) + template_ = await cg.templatable(config[CONF_COMMAND_REPEATS], args, cg.uint8) + cg.add(var.set_repeats(template_)) + + # Raw def validate_raw_alternating(value): assert isinstance(value, list) diff --git a/esphome/components/remote_base/symphony_protocol.cpp b/esphome/components/remote_base/symphony_protocol.cpp new file mode 100644 index 0000000000..34b5dba07f --- /dev/null +++ b/esphome/components/remote_base/symphony_protocol.cpp @@ -0,0 +1,120 @@ +#include "symphony_protocol.h" +#include "esphome/core/log.h" + +namespace esphome { +namespace remote_base { + +static const char *const TAG = "remote.symphony"; + +// Reference implementation and timing details: +// IRremoteESP8266 ir_Symphony.cpp +// https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Symphony.cpp +// The implementation below mirrors the constant bit-time mapping and +// footer-gap handling used there. + +// Symphony protocol timing specifications (tuned to handset captures) +static const uint32_t BIT_ZERO_HIGH_US = 460; // short +static const uint32_t BIT_ZERO_LOW_US = 1260; // long +static const uint32_t BIT_ONE_HIGH_US = 1260; // long +static const uint32_t BIT_ONE_LOW_US = 460; // short +static const uint32_t CARRIER_FREQUENCY = 38000; + +// IRremoteESP8266 reference: kSymphonyFooterGap = 4 * (mark + space) +static const uint32_t FOOTER_GAP_US = 4 * (BIT_ZERO_HIGH_US + BIT_ZERO_LOW_US); +// Typical inter-frame gap (~34.8 ms observed) +static const uint32_t INTER_FRAME_GAP_US = 34760; + +void SymphonyProtocol::encode(RemoteTransmitData *dst, const SymphonyData &data) { + dst->set_carrier_frequency(CARRIER_FREQUENCY); + ESP_LOGD(TAG, "Sending Symphony: data=0x%0*X nbits=%u repeats=%u", (data.nbits + 3) / 4, (uint32_t) data.data, + data.nbits, data.repeats); + // Each bit produces a mark+space (2 entries). We fold the inter-frame/footer gap + // into the last bit's space of each frame to avoid over-length gaps. + dst->reserve(data.nbits * 2u * data.repeats); + + for (uint8_t repeats = 0; repeats < data.repeats; repeats++) { + // Data bits (MSB first) + for (uint32_t mask = 1UL << (data.nbits - 1); mask != 0; mask >>= 1) { + const bool is_last_bit = (mask == 1); + const bool is_last_frame = (repeats == (data.repeats - 1)); + if (is_last_bit) { + // Emit last bit's mark; replace its space with the proper gap + if (data.data & mask) { + dst->mark(BIT_ONE_HIGH_US); + } else { + dst->mark(BIT_ZERO_HIGH_US); + } + dst->space(is_last_frame ? FOOTER_GAP_US : INTER_FRAME_GAP_US); + } else { + if (data.data & mask) { + dst->item(BIT_ONE_HIGH_US, BIT_ONE_LOW_US); + } else { + dst->item(BIT_ZERO_HIGH_US, BIT_ZERO_LOW_US); + } + } + } + } +} + +optional SymphonyProtocol::decode(RemoteReceiveData src) { + auto is_valid_len = [](uint8_t nbits) -> bool { return nbits == 8 || nbits == 12 || nbits == 16; }; + + RemoteReceiveData s = src; // copy + SymphonyData out{0, 0, 1}; + + for (; out.nbits < 32; out.nbits++) { + if (s.expect_mark(BIT_ONE_HIGH_US)) { + if (!s.expect_space(BIT_ONE_LOW_US)) { + // Allow footer gap immediately after the last mark + if (s.peek_space_at_least(FOOTER_GAP_US)) { + uint8_t bits_with_this = out.nbits + 1; + if (is_valid_len(bits_with_this)) { + out.data = (out.data << 1UL) | 1UL; + out.nbits = bits_with_this; + return out; + } + } + return {}; + } + // Successfully consumed a '1' bit (mark + space) + out.data = (out.data << 1UL) | 1UL; + continue; + } else if (s.expect_mark(BIT_ZERO_HIGH_US)) { + if (!s.expect_space(BIT_ZERO_LOW_US)) { + // Allow footer gap immediately after the last mark + if (s.peek_space_at_least(FOOTER_GAP_US)) { + uint8_t bits_with_this = out.nbits + 1; + if (is_valid_len(bits_with_this)) { + out.data = (out.data << 1UL) | 0UL; + out.nbits = bits_with_this; + return out; + } + } + return {}; + } + // Successfully consumed a '0' bit (mark + space) + out.data = (out.data << 1UL) | 0UL; + continue; + } else { + // Completed a valid-length frame followed by a footer gap + if (is_valid_len(out.nbits) && s.peek_space_at_least(FOOTER_GAP_US)) { + return out; + } + return {}; + } + } + + if (is_valid_len(out.nbits) && s.peek_space_at_least(FOOTER_GAP_US)) { + return out; + } + + return {}; +} + +void SymphonyProtocol::dump(const SymphonyData &data) { + const int32_t hex_width = (data.nbits + 3) / 4; // pad to nibble width + ESP_LOGI(TAG, "Received Symphony: data=0x%0*X, nbits=%d", hex_width, (uint32_t) data.data, data.nbits); +} + +} // namespace remote_base +} // namespace esphome diff --git a/esphome/components/remote_base/symphony_protocol.h b/esphome/components/remote_base/symphony_protocol.h new file mode 100644 index 0000000000..7e77a268ba --- /dev/null +++ b/esphome/components/remote_base/symphony_protocol.h @@ -0,0 +1,44 @@ +#pragma once + +#include "esphome/core/component.h" +#include "remote_base.h" + +#include + +namespace esphome { +namespace remote_base { + +struct SymphonyData { + uint32_t data; + uint8_t nbits; + uint8_t repeats{1}; + + bool operator==(const SymphonyData &rhs) const { return data == rhs.data && nbits == rhs.nbits; } +}; + +class SymphonyProtocol : public RemoteProtocol { + public: + void encode(RemoteTransmitData *dst, const SymphonyData &data) override; + optional decode(RemoteReceiveData src) override; + void dump(const SymphonyData &data) override; +}; + +DECLARE_REMOTE_PROTOCOL(Symphony) + +template class SymphonyAction : public RemoteTransmitterActionBase { + public: + TEMPLATABLE_VALUE(uint32_t, data) + TEMPLATABLE_VALUE(uint8_t, nbits) + TEMPLATABLE_VALUE(uint8_t, repeats) + + void encode(RemoteTransmitData *dst, Ts... x) override { + SymphonyData data{}; + data.data = this->data_.value(x...); + data.nbits = this->nbits_.value(x...); + data.repeats = this->repeats_.value(x...); + SymphonyProtocol().encode(dst, data); + } +}; + +} // namespace remote_base +} // namespace esphome diff --git a/tests/components/remote_receiver/common-actions.yaml b/tests/components/remote_receiver/common-actions.yaml index ca7713f58a..c2dc2f0c29 100644 --- a/tests/components/remote_receiver/common-actions.yaml +++ b/tests/components/remote_receiver/common-actions.yaml @@ -143,6 +143,11 @@ on_sony: - logger.log: format: "on_sony: %lu %u" args: ["long(x.data)", "x.nbits"] +on_symphony: + then: + - logger.log: + format: "on_symphony: 0x%lX %u" + args: ["long(x.data)", "x.nbits"] on_toshiba_ac: then: - logger.log: diff --git a/tests/components/remote_transmitter/common-buttons.yaml b/tests/components/remote_transmitter/common-buttons.yaml index 3be4bf3cca..58127d1ab4 100644 --- a/tests/components/remote_transmitter/common-buttons.yaml +++ b/tests/components/remote_transmitter/common-buttons.yaml @@ -53,6 +53,12 @@ button: remote_transmitter.transmit_sony: data: 0xABCDEF nbits: 12 + - platform: template + name: Symphony + on_press: + remote_transmitter.transmit_symphony: + data: 0xE88 + nbits: 12 - platform: template name: Panasonic on_press: From 85f1019d90a7e5d6eeafda94e6aec0b519fe4b21 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 17 Oct 2025 17:21:38 -1000 Subject: [PATCH 176/201] [tests] Migrate remote_transmitter/receiver to common bus definitions (#11325) --- script/analyze_component_buses.py | 11 ++++++++++- tests/components/ballu/common.yaml | 5 +---- tests/components/ballu/test.esp8266-ard.yaml | 4 ++-- tests/components/climate_ir_lg/common.yaml | 5 +---- .../climate_ir_lg/test.esp32-c3-idf.yaml | 4 ++-- .../components/climate_ir_lg/test.esp32-idf.yaml | 4 ++-- .../climate_ir_lg/test.esp8266-ard.yaml | 4 ++-- tests/components/coolix/common.yaml | 5 +---- tests/components/coolix/test.esp32-c3-idf.yaml | 4 ++-- tests/components/coolix/test.esp32-idf.yaml | 4 ++-- tests/components/coolix/test.esp8266-ard.yaml | 4 ++-- tests/components/daikin/common.yaml | 5 +---- tests/components/daikin/test.esp8266-ard.yaml | 4 ++-- tests/components/daikin_arc/common.yaml | 15 --------------- .../components/daikin_arc/test.esp8266-ard.yaml | 6 +++--- tests/components/daikin_brc/common.yaml | 5 +---- .../components/daikin_brc/test.esp32-c3-idf.yaml | 4 ++-- tests/components/daikin_brc/test.esp32-idf.yaml | 4 ++-- .../components/daikin_brc/test.esp8266-ard.yaml | 4 ++-- tests/components/delonghi/common.yaml | 5 +---- tests/components/delonghi/test.esp32-c3-idf.yaml | 4 ++-- tests/components/delonghi/test.esp32-idf.yaml | 4 ++-- tests/components/delonghi/test.esp8266-ard.yaml | 4 ++-- tests/components/emmeti/common.yaml | 11 +---------- tests/components/emmeti/test.esp32-idf.yaml | 6 +++--- tests/components/emmeti/test.esp8266-ard.yaml | 6 +++--- tests/components/fujitsu_general/common.yaml | 5 +---- .../fujitsu_general/test.esp32-c3-idf.yaml | 4 ++-- .../fujitsu_general/test.esp32-idf.yaml | 4 ++-- .../fujitsu_general/test.esp8266-ard.yaml | 4 ++-- tests/components/gree/common.yaml | 5 +---- tests/components/gree/test.esp32-c3-idf.yaml | 4 ++-- tests/components/gree/test.esp32-idf.yaml | 4 ++-- tests/components/gree/test.esp8266-ard.yaml | 4 ++-- tests/components/heatpumpir/common.yaml | 7 +++---- tests/components/heatpumpir/test.bk72xx-ard.yaml | 4 ++-- tests/components/heatpumpir/test.esp32-ard.yaml | 4 ++-- .../components/heatpumpir/test.esp8266-ard.yaml | 4 ++-- tests/components/hitachi_ac344/common.yaml | 5 +---- .../hitachi_ac344/test.bk72xx-ard.yaml | 4 ++-- .../hitachi_ac344/test.esp32-c3-idf.yaml | 4 ++-- .../components/hitachi_ac344/test.esp32-idf.yaml | 4 ++-- .../hitachi_ac344/test.esp8266-ard.yaml | 4 ++-- tests/components/hitachi_ac424/common.yaml | 5 +---- .../hitachi_ac424/test.bk72xx-ard.yaml | 4 ++-- .../hitachi_ac424/test.esp32-c3-idf.yaml | 4 ++-- .../components/hitachi_ac424/test.esp32-idf.yaml | 4 ++-- .../hitachi_ac424/test.esp8266-ard.yaml | 4 ++-- tests/components/midea/common.yaml | 6 +----- tests/components/midea/test.esp32-ard.yaml | 4 +--- tests/components/midea/test.esp8266-ard.yaml | 4 +--- tests/components/midea_ir/common.yaml | 5 +---- tests/components/midea_ir/test.esp32-c3-idf.yaml | 3 +++ tests/components/midea_ir/test.esp32-idf.yaml | 3 +++ tests/components/midea_ir/test.esp8266-ard.yaml | 3 +++ tests/components/mitsubishi/common.yaml | 5 +---- .../components/mitsubishi/test.esp32-c3-idf.yaml | 3 +++ tests/components/mitsubishi/test.esp32-idf.yaml | 3 +++ .../components/mitsubishi/test.esp8266-ard.yaml | 3 +++ tests/components/noblex/common.yaml | 9 --------- tests/components/noblex/test.esp32-c3-idf.yaml | 4 ++++ tests/components/noblex/test.esp32-idf.yaml | 4 ++++ tests/components/noblex/test.esp8266-ard.yaml | 4 ++++ tests/components/prometheus/common.yaml | 5 +---- .../components/prometheus/test.esp32-c3-idf.yaml | 4 +++- tests/components/prometheus/test.esp32-idf.yaml | 2 +- .../components/prometheus/test.esp8266-ard.yaml | 4 +++- tests/components/tcl112/common.yaml | 5 +---- tests/components/tcl112/test.esp32-c3-idf.yaml | 4 ++-- tests/components/tcl112/test.esp32-idf.yaml | 4 ++-- tests/components/tcl112/test.esp8266-ard.yaml | 4 ++-- tests/components/toshiba/common.yaml | 5 +---- tests/components/toshiba/test.esp32-c3-idf.yaml | 4 ++-- tests/components/toshiba/test.esp32-idf.yaml | 4 ++-- tests/components/toshiba/test.esp8266-ard.yaml | 4 ++-- tests/components/whirlpool/common.yaml | 5 +---- .../components/whirlpool/test.esp32-c3-idf.yaml | 4 ++-- tests/components/whirlpool/test.esp32-idf.yaml | 4 ++-- tests/components/whirlpool/test.esp8266-ard.yaml | 4 ++-- tests/components/whynter/common.yaml | 5 +---- tests/components/whynter/test.esp32-c3-idf.yaml | 4 ++-- tests/components/whynter/test.esp32-idf.yaml | 4 ++-- tests/components/whynter/test.esp8266-ard.yaml | 4 ++-- tests/components/yashima/common.yaml | 5 +---- tests/components/yashima/test.esp32-c3-idf.yaml | 4 ++-- tests/components/yashima/test.esp32-idf.yaml | 4 ++-- tests/components/yashima/test.esp8266-ard.yaml | 4 ++-- tests/components/zhlt01/common.yaml | 5 +---- tests/components/zhlt01/test.esp32-c3-idf.yaml | 4 ++-- tests/components/zhlt01/test.esp32-idf.yaml | 4 ++-- tests/components/zhlt01/test.esp8266-ard.yaml | 4 ++-- .../common/remote_receiver/esp32-c3-idf.yaml | 16 ++++++++++++++++ .../common/remote_receiver/esp32-idf.yaml | 16 ++++++++++++++++ .../common/remote_receiver/esp8266-ard.yaml | 12 ++++++++++++ .../common/remote_transmitter/bk72xx-ard.yaml | 11 +++++++++++ .../common/remote_transmitter/esp32-ard.yaml | 11 +++++++++++ .../common/remote_transmitter/esp32-c3-idf.yaml | 13 +++++++++++++ .../common/remote_transmitter/esp32-idf.yaml | 13 +++++++++++++ .../common/remote_transmitter/esp8266-ard.yaml | 11 +++++++++++ 99 files changed, 283 insertions(+), 236 deletions(-) create mode 100644 tests/test_build_components/common/remote_receiver/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/remote_receiver/esp32-idf.yaml create mode 100644 tests/test_build_components/common/remote_receiver/esp8266-ard.yaml create mode 100644 tests/test_build_components/common/remote_transmitter/bk72xx-ard.yaml create mode 100644 tests/test_build_components/common/remote_transmitter/esp32-ard.yaml create mode 100644 tests/test_build_components/common/remote_transmitter/esp32-c3-idf.yaml create mode 100644 tests/test_build_components/common/remote_transmitter/esp32-idf.yaml create mode 100644 tests/test_build_components/common/remote_transmitter/esp8266-ard.yaml diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index 98edfef145..d0882e22e9 100755 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -50,7 +50,14 @@ PACKAGE_DEPENDENCIES = { # Bus types that can be defined directly in config files # Components defining these directly cannot be grouped (they create unique bus IDs) -DIRECT_BUS_TYPES = ("i2c", "spi", "uart", "modbus") +DIRECT_BUS_TYPES = ( + "i2c", + "spi", + "uart", + "modbus", + "remote_transmitter", + "remote_receiver", +) # Signature for components with no bus requirements # These components can be merged with any other group @@ -68,6 +75,8 @@ BASE_BUS_COMPONENTS = { "uart", "modbus", "canbus", + "remote_transmitter", + "remote_receiver", } # Components that must be tested in isolation (not grouped or batched with others) diff --git a/tests/components/ballu/common.yaml b/tests/components/ballu/common.yaml index 52f86aa26a..178c39b8ce 100644 --- a/tests/components/ballu/common.yaml +++ b/tests/components/ballu/common.yaml @@ -1,7 +1,3 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: heatpumpir protocol: ballu @@ -10,3 +6,4 @@ climate: name: HeatpumpIR Climate min_temperature: 18 max_temperature: 30 + transmitter_id: xmitr diff --git a/tests/components/ballu/test.esp8266-ard.yaml b/tests/components/ballu/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/ballu/test.esp8266-ard.yaml +++ b/tests/components/ballu/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/climate_ir_lg/common.yaml b/tests/components/climate_ir_lg/common.yaml index c8f84411c0..da0d656b21 100644 --- a/tests/components/climate_ir_lg/common.yaml +++ b/tests/components/climate_ir_lg/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: climate_ir_lg name: LG Climate + transmitter_id: xmitr diff --git a/tests/components/climate_ir_lg/test.esp32-c3-idf.yaml b/tests/components/climate_ir_lg/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/climate_ir_lg/test.esp32-c3-idf.yaml +++ b/tests/components/climate_ir_lg/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/climate_ir_lg/test.esp32-idf.yaml b/tests/components/climate_ir_lg/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/climate_ir_lg/test.esp32-idf.yaml +++ b/tests/components/climate_ir_lg/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/climate_ir_lg/test.esp8266-ard.yaml b/tests/components/climate_ir_lg/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/climate_ir_lg/test.esp8266-ard.yaml +++ b/tests/components/climate_ir_lg/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/coolix/common.yaml b/tests/components/coolix/common.yaml index abe609c3ea..a1f68b8be0 100644 --- a/tests/components/coolix/common.yaml +++ b/tests/components/coolix/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: coolix name: Coolix Climate + transmitter_id: xmitr diff --git a/tests/components/coolix/test.esp32-c3-idf.yaml b/tests/components/coolix/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/coolix/test.esp32-c3-idf.yaml +++ b/tests/components/coolix/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/coolix/test.esp32-idf.yaml b/tests/components/coolix/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/coolix/test.esp32-idf.yaml +++ b/tests/components/coolix/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/coolix/test.esp8266-ard.yaml b/tests/components/coolix/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/coolix/test.esp8266-ard.yaml +++ b/tests/components/coolix/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/daikin/common.yaml b/tests/components/daikin/common.yaml index 27f381b422..fd73841686 100644 --- a/tests/components/daikin/common.yaml +++ b/tests/components/daikin/common.yaml @@ -1,7 +1,3 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: heatpumpir protocol: daikin @@ -10,3 +6,4 @@ climate: name: HeatpumpIR Climate min_temperature: 18 max_temperature: 30 + transmitter_id: xmitr diff --git a/tests/components/daikin/test.esp8266-ard.yaml b/tests/components/daikin/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/daikin/test.esp8266-ard.yaml +++ b/tests/components/daikin/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/daikin_arc/common.yaml b/tests/components/daikin_arc/common.yaml index 5c0510f6df..53df3cf911 100644 --- a/tests/components/daikin_arc/common.yaml +++ b/tests/components/daikin_arc/common.yaml @@ -1,18 +1,3 @@ -remote_transmitter: - pin: ${tx_pin} - carrier_duty_percent: 50% - id: tsvr - -remote_receiver: - id: rcvr - pin: - number: ${rx_pin} - inverted: true - mode: - input: true - pullup: true - tolerance: 40% - climate: - platform: daikin_arc name: Daikin AC diff --git a/tests/components/daikin_arc/test.esp8266-ard.yaml b/tests/components/daikin_arc/test.esp8266-ard.yaml index 5698a7ef5f..aa8651e556 100644 --- a/tests/components/daikin_arc/test.esp8266-ard.yaml +++ b/tests/components/daikin_arc/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ -substitutions: - tx_pin: GPIO0 - rx_pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml + remote_receiver: !include ../../test_build_components/common/remote_receiver/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/daikin_brc/common.yaml b/tests/components/daikin_brc/common.yaml index c9d7baa989..89786954ba 100644 --- a/tests/components/daikin_brc/common.yaml +++ b/tests/components/daikin_brc/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: daikin_brc name: Daikin_brc Climate + transmitter_id: xmitr diff --git a/tests/components/daikin_brc/test.esp32-c3-idf.yaml b/tests/components/daikin_brc/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/daikin_brc/test.esp32-c3-idf.yaml +++ b/tests/components/daikin_brc/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/daikin_brc/test.esp32-idf.yaml b/tests/components/daikin_brc/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/daikin_brc/test.esp32-idf.yaml +++ b/tests/components/daikin_brc/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/daikin_brc/test.esp8266-ard.yaml b/tests/components/daikin_brc/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/daikin_brc/test.esp8266-ard.yaml +++ b/tests/components/daikin_brc/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/delonghi/common.yaml b/tests/components/delonghi/common.yaml index 8e9a1293d7..c3935adcbd 100644 --- a/tests/components/delonghi/common.yaml +++ b/tests/components/delonghi/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: delonghi name: Delonghi Climate + transmitter_id: xmitr diff --git a/tests/components/delonghi/test.esp32-c3-idf.yaml b/tests/components/delonghi/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/delonghi/test.esp32-c3-idf.yaml +++ b/tests/components/delonghi/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/delonghi/test.esp32-idf.yaml b/tests/components/delonghi/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/delonghi/test.esp32-idf.yaml +++ b/tests/components/delonghi/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/delonghi/test.esp8266-ard.yaml b/tests/components/delonghi/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/delonghi/test.esp8266-ard.yaml +++ b/tests/components/delonghi/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/emmeti/common.yaml b/tests/components/emmeti/common.yaml index ac4201e19b..77f381ecf9 100644 --- a/tests/components/emmeti/common.yaml +++ b/tests/components/emmeti/common.yaml @@ -1,14 +1,5 @@ -remote_transmitter: - id: tx - pin: ${remote_transmitter_pin} - carrier_duty_percent: 100% - -remote_receiver: - id: rcvr - pin: ${remote_receiver_pin} - climate: - platform: emmeti name: Emmeti receiver_id: rcvr - transmitter_id: tx + transmitter_id: xmitr diff --git a/tests/components/emmeti/test.esp32-idf.yaml b/tests/components/emmeti/test.esp32-idf.yaml index 2689ff279e..b241dbd159 100644 --- a/tests/components/emmeti/test.esp32-idf.yaml +++ b/tests/components/emmeti/test.esp32-idf.yaml @@ -1,5 +1,5 @@ -substitutions: - remote_transmitter_pin: GPIO33 - remote_receiver_pin: GPIO32 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml + remote_receiver: !include ../../test_build_components/common/remote_receiver/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/emmeti/test.esp8266-ard.yaml b/tests/components/emmeti/test.esp8266-ard.yaml index 1c9baa4ea3..aa8651e556 100644 --- a/tests/components/emmeti/test.esp8266-ard.yaml +++ b/tests/components/emmeti/test.esp8266-ard.yaml @@ -1,5 +1,5 @@ -substitutions: - remote_transmitter_pin: GPIO0 - remote_receiver_pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml + remote_receiver: !include ../../test_build_components/common/remote_receiver/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/fujitsu_general/common.yaml b/tests/components/fujitsu_general/common.yaml index 3359b89f2a..51bd1441c0 100644 --- a/tests/components/fujitsu_general/common.yaml +++ b/tests/components/fujitsu_general/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: fujitsu_general name: Fujitsu General Climate + transmitter_id: xmitr diff --git a/tests/components/fujitsu_general/test.esp32-c3-idf.yaml b/tests/components/fujitsu_general/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/fujitsu_general/test.esp32-c3-idf.yaml +++ b/tests/components/fujitsu_general/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/fujitsu_general/test.esp32-idf.yaml b/tests/components/fujitsu_general/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/fujitsu_general/test.esp32-idf.yaml +++ b/tests/components/fujitsu_general/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/fujitsu_general/test.esp8266-ard.yaml b/tests/components/fujitsu_general/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/fujitsu_general/test.esp8266-ard.yaml +++ b/tests/components/fujitsu_general/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/gree/common.yaml b/tests/components/gree/common.yaml index c221184bbf..e706076034 100644 --- a/tests/components/gree/common.yaml +++ b/tests/components/gree/common.yaml @@ -1,8 +1,5 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: gree name: GREE model: generic + transmitter_id: xmitr diff --git a/tests/components/gree/test.esp32-c3-idf.yaml b/tests/components/gree/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/gree/test.esp32-c3-idf.yaml +++ b/tests/components/gree/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/gree/test.esp32-idf.yaml b/tests/components/gree/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/gree/test.esp32-idf.yaml +++ b/tests/components/gree/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/gree/test.esp8266-ard.yaml b/tests/components/gree/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/gree/test.esp8266-ard.yaml +++ b/tests/components/gree/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/heatpumpir/common.yaml b/tests/components/heatpumpir/common.yaml index d740f31518..a2779f9803 100644 --- a/tests/components/heatpumpir/common.yaml +++ b/tests/components/heatpumpir/common.yaml @@ -1,7 +1,3 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: heatpumpir protocol: mitsubishi_heavy_zm @@ -10,6 +6,7 @@ climate: name: HeatpumpIR Climate Mitsubishi min_temperature: 18 max_temperature: 30 + transmitter_id: xmitr - platform: heatpumpir protocol: daikin horizontal_default: mleft @@ -17,6 +14,7 @@ climate: name: HeatpumpIR Climate Daikin min_temperature: 18 max_temperature: 30 + transmitter_id: xmitr - platform: heatpumpir protocol: panasonic_altdke horizontal_default: mright @@ -24,3 +22,4 @@ climate: name: HeatpumpIR Climate Panasonic min_temperature: 18 max_temperature: 30 + transmitter_id: xmitr diff --git a/tests/components/heatpumpir/test.bk72xx-ard.yaml b/tests/components/heatpumpir/test.bk72xx-ard.yaml index 06e1aea364..6cce191825 100644 --- a/tests/components/heatpumpir/test.bk72xx-ard.yaml +++ b/tests/components/heatpumpir/test.bk72xx-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO6 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/bk72xx-ard.yaml <<: !include common.yaml diff --git a/tests/components/heatpumpir/test.esp32-ard.yaml b/tests/components/heatpumpir/test.esp32-ard.yaml index 7b012aa64c..01009de071 100644 --- a/tests/components/heatpumpir/test.esp32-ard.yaml +++ b/tests/components/heatpumpir/test.esp32-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/heatpumpir/test.esp8266-ard.yaml b/tests/components/heatpumpir/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/heatpumpir/test.esp8266-ard.yaml +++ b/tests/components/heatpumpir/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac344/common.yaml b/tests/components/hitachi_ac344/common.yaml index 960f032035..797e7875e5 100644 --- a/tests/components/hitachi_ac344/common.yaml +++ b/tests/components/hitachi_ac344/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: hitachi_ac344 name: Hitachi Climate + transmitter_id: xmitr diff --git a/tests/components/hitachi_ac344/test.bk72xx-ard.yaml b/tests/components/hitachi_ac344/test.bk72xx-ard.yaml index 06e1aea364..6cce191825 100644 --- a/tests/components/hitachi_ac344/test.bk72xx-ard.yaml +++ b/tests/components/hitachi_ac344/test.bk72xx-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO6 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/bk72xx-ard.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp32-c3-idf.yaml b/tests/components/hitachi_ac344/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/hitachi_ac344/test.esp32-c3-idf.yaml +++ b/tests/components/hitachi_ac344/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp32-idf.yaml b/tests/components/hitachi_ac344/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/hitachi_ac344/test.esp32-idf.yaml +++ b/tests/components/hitachi_ac344/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac344/test.esp8266-ard.yaml b/tests/components/hitachi_ac344/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/hitachi_ac344/test.esp8266-ard.yaml +++ b/tests/components/hitachi_ac344/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac424/common.yaml b/tests/components/hitachi_ac424/common.yaml index ad904c73a3..615bda4544 100644 --- a/tests/components/hitachi_ac424/common.yaml +++ b/tests/components/hitachi_ac424/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: hitachi_ac424 name: Hitachi Climate + transmitter_id: xmitr diff --git a/tests/components/hitachi_ac424/test.bk72xx-ard.yaml b/tests/components/hitachi_ac424/test.bk72xx-ard.yaml index 06e1aea364..6cce191825 100644 --- a/tests/components/hitachi_ac424/test.bk72xx-ard.yaml +++ b/tests/components/hitachi_ac424/test.bk72xx-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO6 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/bk72xx-ard.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp32-c3-idf.yaml b/tests/components/hitachi_ac424/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/hitachi_ac424/test.esp32-c3-idf.yaml +++ b/tests/components/hitachi_ac424/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp32-idf.yaml b/tests/components/hitachi_ac424/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/hitachi_ac424/test.esp32-idf.yaml +++ b/tests/components/hitachi_ac424/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/hitachi_ac424/test.esp8266-ard.yaml b/tests/components/hitachi_ac424/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/hitachi_ac424/test.esp8266-ard.yaml +++ b/tests/components/hitachi_ac424/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/midea/common.yaml b/tests/components/midea/common.yaml index a0909401ff..fec85aee96 100644 --- a/tests/components/midea/common.yaml +++ b/tests/components/midea/common.yaml @@ -2,10 +2,6 @@ wifi: ssid: MySSID password: password1 -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: midea id: midea_unit @@ -16,7 +12,7 @@ climate: x.set_mode(CLIMATE_MODE_FAN_ONLY); on_state: - logger.log: State changed! - transmitter_id: + transmitter_id: xmitr period: 1s num_attempts: 5 timeout: 2s diff --git a/tests/components/midea/test.esp32-ard.yaml b/tests/components/midea/test.esp32-ard.yaml index b78163199a..1e3fe0ff51 100644 --- a/tests/components/midea/test.esp32-ard.yaml +++ b/tests/components/midea/test.esp32-ard.yaml @@ -1,7 +1,5 @@ -substitutions: - pin: GPIO2 - packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-ard.yaml uart: !include ../../test_build_components/common/uart/esp32-ard.yaml <<: !include common.yaml diff --git a/tests/components/midea/test.esp8266-ard.yaml b/tests/components/midea/test.esp8266-ard.yaml index dc276e274c..9825ff85a1 100644 --- a/tests/components/midea/test.esp8266-ard.yaml +++ b/tests/components/midea/test.esp8266-ard.yaml @@ -1,7 +1,5 @@ -substitutions: - pin: GPIO15 - packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/midea_ir/common.yaml b/tests/components/midea_ir/common.yaml index e8d89cecc2..e4cc4bb19c 100644 --- a/tests/components/midea_ir/common.yaml +++ b/tests/components/midea_ir/common.yaml @@ -1,8 +1,5 @@ -remote_transmitter: - pin: 4 - carrier_duty_percent: 50% - climate: - platform: midea_ir name: Midea IR use_fahrenheit: true + transmitter_id: xmitr diff --git a/tests/components/midea_ir/test.esp32-c3-idf.yaml b/tests/components/midea_ir/test.esp32-c3-idf.yaml index dade44d145..43d5343715 100644 --- a/tests/components/midea_ir/test.esp32-c3-idf.yaml +++ b/tests/components/midea_ir/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/midea_ir/test.esp32-idf.yaml b/tests/components/midea_ir/test.esp32-idf.yaml index dade44d145..e891f9dc85 100644 --- a/tests/components/midea_ir/test.esp32-idf.yaml +++ b/tests/components/midea_ir/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/midea_ir/test.esp8266-ard.yaml b/tests/components/midea_ir/test.esp8266-ard.yaml index dade44d145..4bed2f03e5 100644 --- a/tests/components/midea_ir/test.esp8266-ard.yaml +++ b/tests/components/midea_ir/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/mitsubishi/common.yaml b/tests/components/mitsubishi/common.yaml index c0fc959c5b..4a2deda163 100644 --- a/tests/components/mitsubishi/common.yaml +++ b/tests/components/mitsubishi/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: 4 - carrier_duty_percent: 50% - climate: - platform: mitsubishi name: Mitsubishi + transmitter_id: xmitr diff --git a/tests/components/mitsubishi/test.esp32-c3-idf.yaml b/tests/components/mitsubishi/test.esp32-c3-idf.yaml index dade44d145..43d5343715 100644 --- a/tests/components/mitsubishi/test.esp32-c3-idf.yaml +++ b/tests/components/mitsubishi/test.esp32-c3-idf.yaml @@ -1 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mitsubishi/test.esp32-idf.yaml b/tests/components/mitsubishi/test.esp32-idf.yaml index dade44d145..e891f9dc85 100644 --- a/tests/components/mitsubishi/test.esp32-idf.yaml +++ b/tests/components/mitsubishi/test.esp32-idf.yaml @@ -1 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/mitsubishi/test.esp8266-ard.yaml b/tests/components/mitsubishi/test.esp8266-ard.yaml index dade44d145..4bed2f03e5 100644 --- a/tests/components/mitsubishi/test.esp8266-ard.yaml +++ b/tests/components/mitsubishi/test.esp8266-ard.yaml @@ -1 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/noblex/common.yaml b/tests/components/noblex/common.yaml index f5e471a9a7..8053d84d4b 100644 --- a/tests/components/noblex/common.yaml +++ b/tests/components/noblex/common.yaml @@ -1,12 +1,3 @@ -remote_receiver: - id: rcvr - pin: 4 - dump: all - -remote_transmitter: - pin: 2 - carrier_duty_percent: 50% - sensor: - platform: template id: noblex_ac_sensor diff --git a/tests/components/noblex/test.esp32-c3-idf.yaml b/tests/components/noblex/test.esp32-c3-idf.yaml index dade44d145..fe77c44eed 100644 --- a/tests/components/noblex/test.esp32-c3-idf.yaml +++ b/tests/components/noblex/test.esp32-c3-idf.yaml @@ -1 +1,5 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml + remote_receiver: !include ../../test_build_components/common/remote_receiver/esp32-c3-idf.yaml + <<: !include common.yaml diff --git a/tests/components/noblex/test.esp32-idf.yaml b/tests/components/noblex/test.esp32-idf.yaml index dade44d145..b241dbd159 100644 --- a/tests/components/noblex/test.esp32-idf.yaml +++ b/tests/components/noblex/test.esp32-idf.yaml @@ -1 +1,5 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml + remote_receiver: !include ../../test_build_components/common/remote_receiver/esp32-idf.yaml + <<: !include common.yaml diff --git a/tests/components/noblex/test.esp8266-ard.yaml b/tests/components/noblex/test.esp8266-ard.yaml index dade44d145..aa8651e556 100644 --- a/tests/components/noblex/test.esp8266-ard.yaml +++ b/tests/components/noblex/test.esp8266-ard.yaml @@ -1 +1,5 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml + remote_receiver: !include ../../test_build_components/common/remote_receiver/esp8266-ard.yaml + <<: !include common.yaml diff --git a/tests/components/prometheus/common.yaml b/tests/components/prometheus/common.yaml index 9a16088ba0..a9354ebe3c 100644 --- a/tests/components/prometheus/common.yaml +++ b/tests/components/prometheus/common.yaml @@ -128,13 +128,10 @@ valve: optimistic: true has_position: true -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: climate_ir_lg name: LG Climate + transmitter_id: xmitr prometheus: include_internal: true diff --git a/tests/components/prometheus/test.esp32-c3-idf.yaml b/tests/components/prometheus/test.esp32-c3-idf.yaml index f00bca5947..fedeaf822a 100644 --- a/tests/components/prometheus/test.esp32-c3-idf.yaml +++ b/tests/components/prometheus/test.esp32-c3-idf.yaml @@ -1,5 +1,7 @@ substitutions: verify_ssl: "false" - pin: GPIO2 + +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/prometheus/test.esp32-idf.yaml b/tests/components/prometheus/test.esp32-idf.yaml index d60caadb05..e590417623 100644 --- a/tests/components/prometheus/test.esp32-idf.yaml +++ b/tests/components/prometheus/test.esp32-idf.yaml @@ -1,8 +1,8 @@ substitutions: verify_ssl: "false" - pin: GPIO2 packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml spi: !include ../../test_build_components/common/spi/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/prometheus/test.esp8266-ard.yaml b/tests/components/prometheus/test.esp8266-ard.yaml index 6ee1831769..bae76751e8 100644 --- a/tests/components/prometheus/test.esp8266-ard.yaml +++ b/tests/components/prometheus/test.esp8266-ard.yaml @@ -1,5 +1,7 @@ substitutions: verify_ssl: "false" - pin: GPIO5 + +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/tcl112/common.yaml b/tests/components/tcl112/common.yaml index 0e43de4a4a..1074712f94 100644 --- a/tests/components/tcl112/common.yaml +++ b/tests/components/tcl112/common.yaml @@ -1,7 +1,3 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - sensor: - platform: template id: tcl112_sensor @@ -13,3 +9,4 @@ climate: supports_heat: true supports_cool: true sensor: tcl112_sensor + transmitter_id: xmitr diff --git a/tests/components/tcl112/test.esp32-c3-idf.yaml b/tests/components/tcl112/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/tcl112/test.esp32-c3-idf.yaml +++ b/tests/components/tcl112/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/tcl112/test.esp32-idf.yaml b/tests/components/tcl112/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/tcl112/test.esp32-idf.yaml +++ b/tests/components/tcl112/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/tcl112/test.esp8266-ard.yaml b/tests/components/tcl112/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/tcl112/test.esp8266-ard.yaml +++ b/tests/components/tcl112/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/toshiba/common.yaml b/tests/components/toshiba/common.yaml index 79a833980e..ba96c0628d 100644 --- a/tests/components/toshiba/common.yaml +++ b/tests/components/toshiba/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: toshiba name: Toshiba Climate + transmitter_id: xmitr diff --git a/tests/components/toshiba/test.esp32-c3-idf.yaml b/tests/components/toshiba/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/toshiba/test.esp32-c3-idf.yaml +++ b/tests/components/toshiba/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/toshiba/test.esp32-idf.yaml b/tests/components/toshiba/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/toshiba/test.esp32-idf.yaml +++ b/tests/components/toshiba/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/toshiba/test.esp8266-ard.yaml b/tests/components/toshiba/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/toshiba/test.esp8266-ard.yaml +++ b/tests/components/toshiba/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/whirlpool/common.yaml b/tests/components/whirlpool/common.yaml index 804c1aac26..6d55db1f08 100644 --- a/tests/components/whirlpool/common.yaml +++ b/tests/components/whirlpool/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: whirlpool name: Whirlpool Climate + transmitter_id: xmitr diff --git a/tests/components/whirlpool/test.esp32-c3-idf.yaml b/tests/components/whirlpool/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/whirlpool/test.esp32-c3-idf.yaml +++ b/tests/components/whirlpool/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/whirlpool/test.esp32-idf.yaml b/tests/components/whirlpool/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/whirlpool/test.esp32-idf.yaml +++ b/tests/components/whirlpool/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/whirlpool/test.esp8266-ard.yaml b/tests/components/whirlpool/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/whirlpool/test.esp8266-ard.yaml +++ b/tests/components/whirlpool/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/whynter/common.yaml b/tests/components/whynter/common.yaml index 04ad6bed54..63df11dd91 100644 --- a/tests/components/whynter/common.yaml +++ b/tests/components/whynter/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: whynter name: Whynter Climate + transmitter_id: xmitr diff --git a/tests/components/whynter/test.esp32-c3-idf.yaml b/tests/components/whynter/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/whynter/test.esp32-c3-idf.yaml +++ b/tests/components/whynter/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/whynter/test.esp32-idf.yaml b/tests/components/whynter/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/whynter/test.esp32-idf.yaml +++ b/tests/components/whynter/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/whynter/test.esp8266-ard.yaml b/tests/components/whynter/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/whynter/test.esp8266-ard.yaml +++ b/tests/components/whynter/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/yashima/common.yaml b/tests/components/yashima/common.yaml index bfe181f1a6..431c27ebb3 100644 --- a/tests/components/yashima/common.yaml +++ b/tests/components/yashima/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: yashima name: Yashima Climate + transmitter_id: xmitr diff --git a/tests/components/yashima/test.esp32-c3-idf.yaml b/tests/components/yashima/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/yashima/test.esp32-c3-idf.yaml +++ b/tests/components/yashima/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/yashima/test.esp32-idf.yaml b/tests/components/yashima/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/yashima/test.esp32-idf.yaml +++ b/tests/components/yashima/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/yashima/test.esp8266-ard.yaml b/tests/components/yashima/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/yashima/test.esp8266-ard.yaml +++ b/tests/components/yashima/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/components/zhlt01/common.yaml b/tests/components/zhlt01/common.yaml index 0adbe77325..d0fd531c87 100644 --- a/tests/components/zhlt01/common.yaml +++ b/tests/components/zhlt01/common.yaml @@ -1,7 +1,4 @@ -remote_transmitter: - pin: ${pin} - carrier_duty_percent: 50% - climate: - platform: zhlt01 name: ZH/LT-01 Climate + transmitter_id: xmitr diff --git a/tests/components/zhlt01/test.esp32-c3-idf.yaml b/tests/components/zhlt01/test.esp32-c3-idf.yaml index 7b012aa64c..43d5343715 100644 --- a/tests/components/zhlt01/test.esp32-c3-idf.yaml +++ b/tests/components/zhlt01/test.esp32-c3-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-c3-idf.yaml <<: !include common.yaml diff --git a/tests/components/zhlt01/test.esp32-idf.yaml b/tests/components/zhlt01/test.esp32-idf.yaml index 7b012aa64c..e891f9dc85 100644 --- a/tests/components/zhlt01/test.esp32-idf.yaml +++ b/tests/components/zhlt01/test.esp32-idf.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO2 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml <<: !include common.yaml diff --git a/tests/components/zhlt01/test.esp8266-ard.yaml b/tests/components/zhlt01/test.esp8266-ard.yaml index f5097fcf5f..4bed2f03e5 100644 --- a/tests/components/zhlt01/test.esp8266-ard.yaml +++ b/tests/components/zhlt01/test.esp8266-ard.yaml @@ -1,4 +1,4 @@ -substitutions: - pin: GPIO5 +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp8266-ard.yaml <<: !include common.yaml diff --git a/tests/test_build_components/common/remote_receiver/esp32-c3-idf.yaml b/tests/test_build_components/common/remote_receiver/esp32-c3-idf.yaml new file mode 100644 index 0000000000..ad5acedf55 --- /dev/null +++ b/tests/test_build_components/common/remote_receiver/esp32-c3-idf.yaml @@ -0,0 +1,16 @@ +# Common remote_receiver configuration for ESP32-C3 IDF tests +# Provides a shared remote receiver that all components can use +# Components will auto-use this receiver if they don't specify receiver_id + +substitutions: + remote_receiver_pin: GPIO5 + +remote_receiver: + - id: rcvr + pin: ${remote_receiver_pin} + dump: all + tolerance: 25% + clock_resolution: 2000000 + filter_symbols: 2 + receive_symbols: 4 + rmt_symbols: 64 diff --git a/tests/test_build_components/common/remote_receiver/esp32-idf.yaml b/tests/test_build_components/common/remote_receiver/esp32-idf.yaml new file mode 100644 index 0000000000..2905e22233 --- /dev/null +++ b/tests/test_build_components/common/remote_receiver/esp32-idf.yaml @@ -0,0 +1,16 @@ +# Common remote_receiver configuration for ESP32 IDF tests +# Provides a shared remote receiver that all components can use +# Components will auto-use this receiver if they don't specify receiver_id + +substitutions: + remote_receiver_pin: GPIO32 + +remote_receiver: + - id: rcvr + pin: ${remote_receiver_pin} + dump: all + tolerance: 25% + clock_resolution: 2000000 + filter_symbols: 2 + receive_symbols: 4 + rmt_symbols: 64 diff --git a/tests/test_build_components/common/remote_receiver/esp8266-ard.yaml b/tests/test_build_components/common/remote_receiver/esp8266-ard.yaml new file mode 100644 index 0000000000..e2472d00c5 --- /dev/null +++ b/tests/test_build_components/common/remote_receiver/esp8266-ard.yaml @@ -0,0 +1,12 @@ +# Common remote_receiver configuration for ESP8266 Arduino tests +# Provides a shared remote receiver that all components can use +# Components will auto-use this receiver if they don't specify receiver_id + +substitutions: + remote_receiver_pin: GPIO5 + +remote_receiver: + id: rcvr + pin: ${remote_receiver_pin} + dump: all + tolerance: 25% diff --git a/tests/test_build_components/common/remote_transmitter/bk72xx-ard.yaml b/tests/test_build_components/common/remote_transmitter/bk72xx-ard.yaml new file mode 100644 index 0000000000..b951b8713f --- /dev/null +++ b/tests/test_build_components/common/remote_transmitter/bk72xx-ard.yaml @@ -0,0 +1,11 @@ +# Common remote_transmitter configuration for BK72XX Arduino tests +# Provides a shared remote transmitter that all components can use +# Components will auto-use this transmitter if they don't specify transmitter_id + +substitutions: + remote_transmitter_pin: GPIO6 + +remote_transmitter: + id: xmitr + pin: ${remote_transmitter_pin} + carrier_duty_percent: 50% diff --git a/tests/test_build_components/common/remote_transmitter/esp32-ard.yaml b/tests/test_build_components/common/remote_transmitter/esp32-ard.yaml new file mode 100644 index 0000000000..4378e328af --- /dev/null +++ b/tests/test_build_components/common/remote_transmitter/esp32-ard.yaml @@ -0,0 +1,11 @@ +# Common remote_transmitter configuration for ESP32 Arduino tests +# Provides a shared remote transmitter that all components can use +# Components will auto-use this transmitter if they don't specify transmitter_id + +substitutions: + remote_transmitter_pin: GPIO2 + +remote_transmitter: + id: xmitr + pin: ${remote_transmitter_pin} + carrier_duty_percent: 50% diff --git a/tests/test_build_components/common/remote_transmitter/esp32-c3-idf.yaml b/tests/test_build_components/common/remote_transmitter/esp32-c3-idf.yaml new file mode 100644 index 0000000000..b6b9a87fe1 --- /dev/null +++ b/tests/test_build_components/common/remote_transmitter/esp32-c3-idf.yaml @@ -0,0 +1,13 @@ +# Common remote_transmitter configuration for ESP32-C3 IDF tests +# Provides a shared remote transmitter that all components can use +# Components will auto-use this transmitter if they don't specify transmitter_id + +substitutions: + remote_transmitter_pin: GPIO2 + +remote_transmitter: + - id: xmitr + pin: ${remote_transmitter_pin} + carrier_duty_percent: 50% + clock_resolution: 2000000 + rmt_symbols: 64 diff --git a/tests/test_build_components/common/remote_transmitter/esp32-idf.yaml b/tests/test_build_components/common/remote_transmitter/esp32-idf.yaml new file mode 100644 index 0000000000..1d771b3edd --- /dev/null +++ b/tests/test_build_components/common/remote_transmitter/esp32-idf.yaml @@ -0,0 +1,13 @@ +# Common remote_transmitter configuration for ESP32 IDF tests +# Provides a shared remote transmitter that all components can use +# Components will auto-use this transmitter if they don't specify transmitter_id + +substitutions: + remote_transmitter_pin: GPIO2 + +remote_transmitter: + - id: xmitr + pin: ${remote_transmitter_pin} + carrier_duty_percent: 50% + clock_resolution: 2000000 + rmt_symbols: 64 diff --git a/tests/test_build_components/common/remote_transmitter/esp8266-ard.yaml b/tests/test_build_components/common/remote_transmitter/esp8266-ard.yaml new file mode 100644 index 0000000000..3be59c7997 --- /dev/null +++ b/tests/test_build_components/common/remote_transmitter/esp8266-ard.yaml @@ -0,0 +1,11 @@ +# Common remote_transmitter configuration for ESP8266 Arduino tests +# Provides a shared remote transmitter that all components can use +# Components will auto-use this transmitter if they don't specify transmitter_id + +substitutions: + remote_transmitter_pin: GPIO2 + +remote_transmitter: + id: xmitr + pin: ${remote_transmitter_pin} + carrier_duty_percent: 50% From d5c36eaf2a3f4cf020a77ce6cd8213b014038e7c Mon Sep 17 00:00:00 2001 From: Juan Antonio Aldea Date: Sat, 18 Oct 2025 09:40:54 +0200 Subject: [PATCH 177/201] [tests] Remove superfluous else-blocks from lambdas (#11322) Co-authored-by: J. Nick Koston --- .../components/absolute_humidity/common.yaml | 6 ++---- tests/components/analog_threshold/common.yaml | 3 +-- tests/components/binary_sensor/common.yaml | 3 +-- .../components/binary_sensor_map/common.yaml | 9 +++------ tests/components/combination/common.yaml | 6 ++---- tests/components/duty_time/common.yaml | 3 +-- tests/components/endstop/common.yaml | 3 +-- tests/components/lock/common.yaml | 3 +-- tests/components/mqtt/common.yaml | 20 +++++++------------ tests/components/pid/common.yaml | 3 +-- tests/components/prometheus/common.yaml | 18 ++++++----------- tests/components/template/common-base.yaml | 18 ++++++----------- .../batch_delay_zero_rapid_transitions.yaml | 11 +++++----- 13 files changed, 37 insertions(+), 69 deletions(-) diff --git a/tests/components/absolute_humidity/common.yaml b/tests/components/absolute_humidity/common.yaml index 87a99f5206..026f88654f 100644 --- a/tests/components/absolute_humidity/common.yaml +++ b/tests/components/absolute_humidity/common.yaml @@ -8,14 +8,12 @@ sensor: lambda: |- if (millis() > 10000) { return 0.6; - } else { - return 0.0; } + return 0.0; - platform: template id: template_temperature lambda: |- if (millis() > 10000) { return 42.0; - } else { - return 0.0; } + return 0.0; diff --git a/tests/components/analog_threshold/common.yaml b/tests/components/analog_threshold/common.yaml index 44d79756b5..26c401b92a 100644 --- a/tests/components/analog_threshold/common.yaml +++ b/tests/components/analog_threshold/common.yaml @@ -5,9 +5,8 @@ sensor: lambda: |- if (millis() > 10000) { return 42.0; - } else { - return 0.0; } + return 0.0; update_interval: 15s binary_sensor: diff --git a/tests/components/binary_sensor/common.yaml b/tests/components/binary_sensor/common.yaml index 2b4a006352..ed6322768f 100644 --- a/tests/components/binary_sensor/common.yaml +++ b/tests/components/binary_sensor/common.yaml @@ -23,9 +23,8 @@ binary_sensor: - lambda: |- if (id(some_binary_sensor).state) { return x; - } else { - return {}; } + return {}; - settle: 100ms - timeout: 10s diff --git a/tests/components/binary_sensor_map/common.yaml b/tests/components/binary_sensor_map/common.yaml index 2fed5ae515..c054022583 100644 --- a/tests/components/binary_sensor_map/common.yaml +++ b/tests/components/binary_sensor_map/common.yaml @@ -4,25 +4,22 @@ binary_sensor: lambda: |- if (millis() > 10000) { return true; - } else { - return false; } + return false; - platform: template id: bin2 lambda: |- if (millis() > 20000) { return true; - } else { - return false; } + return false; - platform: template id: bin3 lambda: |- if (millis() > 30000) { return true; - } else { - return false; } + return false; sensor: - platform: binary_sensor_map diff --git a/tests/components/combination/common.yaml b/tests/components/combination/common.yaml index 62246190af..0e5d512d08 100644 --- a/tests/components/combination/common.yaml +++ b/tests/components/combination/common.yaml @@ -4,17 +4,15 @@ sensor: lambda: |- if (millis() > 10000) { return 0.6; - } else { - return 0.0; } + return 0.0; - platform: template id: template_temperature2 lambda: |- if (millis() > 20000) { return 0.8; - } else { - return 0.0; } + return 0.0; - platform: combination type: kalman name: Kalman-filtered temperature diff --git a/tests/components/duty_time/common.yaml b/tests/components/duty_time/common.yaml index 28fa4afd1c..761d10f16a 100644 --- a/tests/components/duty_time/common.yaml +++ b/tests/components/duty_time/common.yaml @@ -4,9 +4,8 @@ binary_sensor: lambda: |- if (millis() > 10000) { return true; - } else { - return false; } + return false; sensor: - platform: duty_time diff --git a/tests/components/endstop/common.yaml b/tests/components/endstop/common.yaml index 341fbf7260..b92b1e13b9 100644 --- a/tests/components/endstop/common.yaml +++ b/tests/components/endstop/common.yaml @@ -4,9 +4,8 @@ binary_sensor: lambda: |- if (millis() > 10000) { return true; - } else { - return false; } + return false; switch: - platform: template diff --git a/tests/components/lock/common.yaml b/tests/components/lock/common.yaml index 1ee88a239a..9ba7f34857 100644 --- a/tests/components/lock/common.yaml +++ b/tests/components/lock/common.yaml @@ -17,9 +17,8 @@ lock: lambda: |- if (millis() > 10000) { return LOCK_STATE_LOCKED; - } else { - return LOCK_STATE_UNLOCKED; } + return LOCK_STATE_UNLOCKED; optimistic: true assumed_state: false on_unlock: diff --git a/tests/components/mqtt/common.yaml b/tests/components/mqtt/common.yaml index 1ab8872fdb..3f1b83bb01 100644 --- a/tests/components/mqtt/common.yaml +++ b/tests/components/mqtt/common.yaml @@ -72,10 +72,9 @@ binary_sensor: if (id(template_sens).state > 30) { // Garage Door is open. return true; - } else { - // Garage Door is closed. - return false; } + // Garage Door is closed. + return false; on_state: - mqtt.publish: topic: some/topic/binary_sensor @@ -217,9 +216,8 @@ cover: lambda: |- if (id(some_binary_sensor).state) { return COVER_OPEN; - } else { - return COVER_CLOSED; } + return COVER_CLOSED; open_action: - logger.log: open_action close_action: @@ -321,9 +319,8 @@ lock: lambda: |- if (id(some_binary_sensor).state) { return LOCK_STATE_LOCKED; - } else { - return LOCK_STATE_UNLOCKED; } + return LOCK_STATE_UNLOCKED; lock_action: - logger.log: lock_action unlock_action: @@ -360,9 +357,8 @@ sensor: lambda: |- if (id(some_binary_sensor).state) { return 42.0; - } else { - return 0.0; } + return 0.0; update_interval: 60s on_value: - mqtt.publish: @@ -390,9 +386,8 @@ switch: lambda: |- if (id(some_binary_sensor).state) { return true; - } else { - return false; } + return false; turn_on_action: - logger.log: turn_on_action turn_off_action: @@ -436,9 +431,8 @@ valve: lambda: |- if (id(some_binary_sensor).state) { return VALVE_OPEN; - } else { - return VALVE_CLOSED; } + return VALVE_CLOSED; alarm_control_panel: - platform: template diff --git a/tests/components/pid/common.yaml b/tests/components/pid/common.yaml index 5f7762872f..262e75591e 100644 --- a/tests/components/pid/common.yaml +++ b/tests/components/pid/common.yaml @@ -27,9 +27,8 @@ sensor: lambda: |- if (millis() > 10000) { return 42.0; - } else { - return 0.0; } + return 0.0; update_interval: 60s climate: diff --git a/tests/components/prometheus/common.yaml b/tests/components/prometheus/common.yaml index a9354ebe3c..cf46e882a7 100644 --- a/tests/components/prometheus/common.yaml +++ b/tests/components/prometheus/common.yaml @@ -35,9 +35,8 @@ sensor: lambda: |- if (millis() > 10000) { return 42.0; - } else { - return 0.0; } + return 0.0; update_interval: 60s text_sensor: @@ -49,9 +48,8 @@ text_sensor: lambda: |- if (millis() > 10000) { return {"Hello World"}; - } else { - return {"Goodbye (cruel) World"}; } + return {"Goodbye (cruel) World"}; update_interval: 60s binary_sensor: @@ -60,9 +58,8 @@ binary_sensor: lambda: |- if (millis() > 10000) { return true; - } else { - return false; } + return false; switch: - platform: template @@ -70,9 +67,8 @@ switch: lambda: |- if (millis() > 10000) { return true; - } else { - return false; } + return false; optimistic: true fan: @@ -85,9 +81,8 @@ cover: lambda: |- if (millis() > 10000) { return COVER_OPEN; - } else { - return COVER_CLOSED; } + return COVER_CLOSED; lock: - platform: template @@ -95,9 +90,8 @@ lock: lambda: |- if (millis() > 10000) { return LOCK_STATE_LOCKED; - } else { - return LOCK_STATE_UNLOCKED; } + return LOCK_STATE_UNLOCKED; optimistic: true select: diff --git a/tests/components/template/common-base.yaml b/tests/components/template/common-base.yaml index 48537d21bc..ea812532d4 100644 --- a/tests/components/template/common-base.yaml +++ b/tests/components/template/common-base.yaml @@ -59,9 +59,8 @@ binary_sensor: - lambda: |- if (id(other_binary_sensor).state) { return x; - } else { - return {}; } + return {}; - settle: 500ms - timeout: 5s @@ -72,9 +71,8 @@ sensor: lambda: |- if (id(some_binary_sensor).state) { return 42.0; - } else { - return 0.0; } + return 0.0; update_interval: 60s filters: - calibrate_linear: @@ -183,9 +181,8 @@ switch: lambda: |- if (id(some_binary_sensor).state) { return true; - } else { - return false; } + return false; turn_on_action: - logger.log: "turn_on_action" turn_off_action: @@ -203,9 +200,8 @@ cover: lambda: |- if (id(some_binary_sensor).state) { return COVER_OPEN; - } else { - return COVER_CLOSED; } + return COVER_CLOSED; open_action: - logger.log: open_action close_action: @@ -238,9 +234,8 @@ lock: lambda: |- if (id(some_binary_sensor).state) { return LOCK_STATE_LOCKED; - } else { - return LOCK_STATE_UNLOCKED; } + return LOCK_STATE_UNLOCKED; lock_action: - logger.log: lock_action unlock_action: @@ -255,9 +250,8 @@ valve: lambda: |- if (id(some_binary_sensor).state) { return VALVE_OPEN; - } else { - return VALVE_CLOSED; } + return VALVE_CLOSED; open_action: - logger.log: open_action close_action: diff --git a/tests/integration/fixtures/batch_delay_zero_rapid_transitions.yaml b/tests/integration/fixtures/batch_delay_zero_rapid_transitions.yaml index 32cacfaa79..f7b0fdcb63 100644 --- a/tests/integration/fixtures/batch_delay_zero_rapid_transitions.yaml +++ b/tests/integration/fixtures/batch_delay_zero_rapid_transitions.yaml @@ -34,10 +34,9 @@ binary_sensor: ESP_LOGD("test", "Button ON at %u", now); } return true; - } else { - // Only log state change - if (id(ir_remote_button).state) { - ESP_LOGD("test", "Button OFF at %u", now); - } - return false; } + // Only log state change + if (id(ir_remote_button).state) { + ESP_LOGD("test", "Button OFF at %u", now); + } + return false; From 91a10d0e3672f148aa1fcf88346285534ef09071 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 18 Oct 2025 02:36:30 -1000 Subject: [PATCH 178/201] [total_daily_energy] Fix ID conflicts in component test configuration (#11337) --- tests/components/total_daily_energy/common.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/components/total_daily_energy/common.yaml b/tests/components/total_daily_energy/common.yaml index ae4d30408b..dd7e648da6 100644 --- a/tests/components/total_daily_energy/common.yaml +++ b/tests/components/total_daily_energy/common.yaml @@ -17,10 +17,10 @@ sensor: name: HLW8012 Voltage power: name: HLW8012 Power - id: hlw8012_power + id: total_daily_energy_hlw8012_power energy: name: HLW8012 Energy - id: hlw8012_energy + id: total_daily_energy_hlw8012_energy update_interval: 15s current_resistor: 0.001 ohm voltage_divider: 2351 @@ -29,4 +29,4 @@ sensor: model: hlw8012 - platform: total_daily_energy name: HLW8012 Total Daily Energy - power_id: hlw8012_power + power_id: total_daily_energy_hlw8012_power From ae010fd6f18515dda58d39902ab49771ccb0a782 Mon Sep 17 00:00:00 2001 From: tomaszduda23 Date: Sat, 18 Oct 2025 19:32:12 +0200 Subject: [PATCH 179/201] [dashboard] fix migration to Path (#11342) Co-authored-by: J. Nick Koston --- esphome/dashboard/web_server.py | 3 +- tests/dashboard/test_web_server.py | 194 +++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 1 deletion(-) diff --git a/esphome/dashboard/web_server.py b/esphome/dashboard/web_server.py index a79c67c3d2..804a2b99af 100644 --- a/esphome/dashboard/web_server.py +++ b/esphome/dashboard/web_server.py @@ -1058,7 +1058,8 @@ class DownloadBinaryRequestHandler(BaseHandler): "download", f"{storage_json.name}-{file_name}", ) - path = storage_json.firmware_bin_path.with_name(file_name) + + path = storage_json.firmware_bin_path.parent.joinpath(file_name) if not path.is_file(): args = ["esphome", "idedata", settings.rel_path(configuration)] diff --git a/tests/dashboard/test_web_server.py b/tests/dashboard/test_web_server.py index 6c424e56d4..385841b1c8 100644 --- a/tests/dashboard/test_web_server.py +++ b/tests/dashboard/test_web_server.py @@ -35,6 +35,26 @@ from esphome.zeroconf import DiscoveredImport from .common import get_fixture_path +def get_build_path(base_path: Path, device_name: str) -> Path: + """Get the build directory path for a device. + + This is a test helper that constructs the standard ESPHome build directory + structure. Note: This helper does NOT perform path traversal sanitization + because it's only used in tests where we control the inputs. The actual + web_server.py code handles sanitization in DownloadBinaryRequestHandler.get() + via file_name.replace("..", "").lstrip("/"). + + Args: + base_path: The base temporary path (typically tmp_path from pytest) + device_name: The name of the device (should not contain path separators + in production use, but tests may use it for specific scenarios) + + Returns: + Path to the build directory (.esphome/build/device_name) + """ + return base_path / ".esphome" / "build" / device_name + + class DashboardTestHelper: def __init__(self, io_loop: IOLoop, client: AsyncHTTPClient, port: int) -> None: self.io_loop = io_loop @@ -417,6 +437,180 @@ async def test_download_binary_handler_idedata_fallback( assert response.body == b"bootloader content" +@pytest.mark.asyncio +@pytest.mark.usefixtures("mock_ext_storage_path") +async def test_download_binary_handler_subdirectory_file( + dashboard: DashboardTestHelper, + tmp_path: Path, + mock_storage_json: MagicMock, +) -> None: + """Test the DownloadBinaryRequestHandler.get with file in subdirectory (nRF52 case). + + This is a regression test for issue #11343 where the Path migration broke + downloads for nRF52 firmware files in subdirectories like 'zephyr/zephyr.uf2'. + + The issue was that with_name() doesn't accept path separators: + - Before: path = storage_json.firmware_bin_path.with_name(file_name) + ValueError: Invalid name 'zephyr/zephyr.uf2' + - After: path = storage_json.firmware_bin_path.parent.joinpath(file_name) + Works correctly with subdirectory paths + """ + # Create a fake nRF52 build structure with firmware in subdirectory + build_dir = get_build_path(tmp_path, "nrf52-device") + zephyr_dir = build_dir / "zephyr" + zephyr_dir.mkdir(parents=True) + + # Create the main firmware binary (would be in build root) + firmware_file = build_dir / "firmware.bin" + firmware_file.write_bytes(b"main firmware") + + # Create the UF2 file in zephyr subdirectory (nRF52 specific) + uf2_file = zephyr_dir / "zephyr.uf2" + uf2_file.write_bytes(b"nRF52 UF2 firmware content") + + # Mock storage JSON + mock_storage = Mock() + mock_storage.name = "nrf52-device" + mock_storage.firmware_bin_path = firmware_file + mock_storage_json.load.return_value = mock_storage + + # Request the UF2 file with subdirectory path + response = await dashboard.fetch( + "/download.bin?configuration=nrf52-device.yaml&file=zephyr/zephyr.uf2", + method="GET", + ) + assert response.code == 200 + assert response.body == b"nRF52 UF2 firmware content" + assert response.headers["Content-Type"] == "application/octet-stream" + assert "attachment" in response.headers["Content-Disposition"] + # Download name should be device-name + full file path + assert "nrf52-device-zephyr/zephyr.uf2" in response.headers["Content-Disposition"] + + +@pytest.mark.asyncio +@pytest.mark.usefixtures("mock_ext_storage_path") +async def test_download_binary_handler_subdirectory_file_url_encoded( + dashboard: DashboardTestHelper, + tmp_path: Path, + mock_storage_json: MagicMock, +) -> None: + """Test the DownloadBinaryRequestHandler.get with URL-encoded subdirectory path. + + Verifies that URL-encoded paths (e.g., zephyr%2Fzephyr.uf2) are correctly + decoded and handled, and that custom download names work with subdirectories. + """ + # Create a fake build structure with firmware in subdirectory + build_dir = get_build_path(tmp_path, "test") + zephyr_dir = build_dir / "zephyr" + zephyr_dir.mkdir(parents=True) + + firmware_file = build_dir / "firmware.bin" + firmware_file.write_bytes(b"content") + + uf2_file = zephyr_dir / "zephyr.uf2" + uf2_file.write_bytes(b"content") + + # Mock storage JSON + mock_storage = Mock() + mock_storage.name = "test_device" + mock_storage.firmware_bin_path = firmware_file + mock_storage_json.load.return_value = mock_storage + + # Request with URL-encoded path and custom download name + response = await dashboard.fetch( + "/download.bin?configuration=test.yaml&file=zephyr%2Fzephyr.uf2&download=custom_name.bin", + method="GET", + ) + assert response.code == 200 + assert "custom_name.bin" in response.headers["Content-Disposition"] + + +@pytest.mark.asyncio +@pytest.mark.usefixtures("mock_ext_storage_path") +@pytest.mark.parametrize( + "attack_path", + [ + pytest.param("../../../secrets.yaml", id="basic_traversal"), + pytest.param("..%2F..%2F..%2Fsecrets.yaml", id="url_encoded"), + pytest.param("zephyr/../../../secrets.yaml", id="traversal_with_prefix"), + pytest.param("/etc/passwd", id="absolute_path"), + pytest.param("//etc/passwd", id="double_slash_absolute"), + pytest.param("....//secrets.yaml", id="multiple_dots"), + ], +) +async def test_download_binary_handler_path_traversal_protection( + dashboard: DashboardTestHelper, + tmp_path: Path, + mock_storage_json: MagicMock, + attack_path: str, +) -> None: + """Test that DownloadBinaryRequestHandler prevents path traversal attacks. + + Verifies that attempts to use '..' in file paths are sanitized to prevent + accessing files outside the build directory. Tests multiple attack vectors. + """ + # Create build structure + build_dir = get_build_path(tmp_path, "test") + build_dir.mkdir(parents=True) + firmware_file = build_dir / "firmware.bin" + firmware_file.write_bytes(b"firmware content") + + # Create a sensitive file outside the build directory that should NOT be accessible + sensitive_file = tmp_path / "secrets.yaml" + sensitive_file.write_bytes(b"secret: my_secret_password") + + # Mock storage JSON + mock_storage = Mock() + mock_storage.name = "test_device" + mock_storage.firmware_bin_path = firmware_file + mock_storage_json.load.return_value = mock_storage + + # Attempt path traversal attack - should be blocked + with pytest.raises(HTTPClientError) as exc_info: + await dashboard.fetch( + f"/download.bin?configuration=test.yaml&file={attack_path}", + method="GET", + ) + # Should get 404 (file not found after sanitization) or 500 (idedata fails) + assert exc_info.value.code in (404, 500) + + +@pytest.mark.asyncio +@pytest.mark.usefixtures("mock_ext_storage_path") +async def test_download_binary_handler_multiple_subdirectory_levels( + dashboard: DashboardTestHelper, + tmp_path: Path, + mock_storage_json: MagicMock, +) -> None: + """Test downloading files from multiple subdirectory levels. + + Verifies that joinpath correctly handles multi-level paths like 'build/output/firmware.bin'. + """ + # Create nested directory structure + build_dir = get_build_path(tmp_path, "test") + nested_dir = build_dir / "build" / "output" + nested_dir.mkdir(parents=True) + + firmware_file = build_dir / "firmware.bin" + firmware_file.write_bytes(b"main") + + nested_file = nested_dir / "firmware.bin" + nested_file.write_bytes(b"nested firmware content") + + # Mock storage JSON + mock_storage = Mock() + mock_storage.name = "test_device" + mock_storage.firmware_bin_path = firmware_file + mock_storage_json.load.return_value = mock_storage + + response = await dashboard.fetch( + "/download.bin?configuration=test.yaml&file=build/output/firmware.bin", + method="GET", + ) + assert response.code == 200 + assert response.body == b"nested firmware content" + + @pytest.mark.asyncio async def test_edit_request_handler_post_invalid_file( dashboard: DashboardTestHelper, From 865663ce5f4f59301efccf4477f3efe76aec3d1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 18 Oct 2025 11:48:25 -1000 Subject: [PATCH 180/201] Bump aioesphomeapi from 42.0.0 to 42.1.0 (#11350) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 92ab24e754..2f25905d94 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==42.0.0 +aioesphomeapi==42.1.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From acef2085d9fb1224df316271727ceaa1414bf332 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 18 Oct 2025 23:11:36 +0000 Subject: [PATCH 181/201] Bump aioesphomeapi from 42.1.0 to 42.2.0 (#11352) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2f25905d94..ec7794c75a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==42.1.0 +aioesphomeapi==42.2.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.18.15 # dashboard_import From c11a9bb97f6f14a4fc8b7b307110e38cff2fbda0 Mon Sep 17 00:00:00 2001 From: Spectre5 <31610422+Spectre5@users.noreply.github.com> Date: Sat, 18 Oct 2025 18:13:57 -0700 Subject: [PATCH 182/201] Change all temperature offsets to temperature_delta (#11347) --- esphome/components/bme680_bsec/__init__.py | 2 +- esphome/components/bme68x_bsec2/__init__.py | 2 +- esphome/components/scd4x/sensor.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/esphome/components/bme680_bsec/__init__.py b/esphome/components/bme680_bsec/__init__.py index 330dc4dd9c..8a8d74b5f3 100644 --- a/esphome/components/bme680_bsec/__init__.py +++ b/esphome/components/bme680_bsec/__init__.py @@ -41,7 +41,7 @@ CONFIG_SCHEMA = cv.All( cv.Schema( { cv.GenerateID(): cv.declare_id(BME680BSECComponent), - cv.Optional(CONF_TEMPERATURE_OFFSET, default=0): cv.temperature, + cv.Optional(CONF_TEMPERATURE_OFFSET, default=0): cv.temperature_delta, cv.Optional(CONF_IAQ_MODE, default="STATIC"): cv.enum( IAQ_MODE_OPTIONS, upper=True ), diff --git a/esphome/components/bme68x_bsec2/__init__.py b/esphome/components/bme68x_bsec2/__init__.py index f4235b31b4..e421efb2d6 100644 --- a/esphome/components/bme68x_bsec2/__init__.py +++ b/esphome/components/bme68x_bsec2/__init__.py @@ -139,7 +139,7 @@ CONFIG_SCHEMA_BASE = ( cv.Optional(CONF_SUPPLY_VOLTAGE, default="3.3V"): cv.enum( VOLTAGE_OPTIONS, upper=True ), - cv.Optional(CONF_TEMPERATURE_OFFSET, default=0): cv.temperature, + cv.Optional(CONF_TEMPERATURE_OFFSET, default=0): cv.temperature_delta, cv.Optional( CONF_STATE_SAVE_INTERVAL, default="6hours" ): cv.positive_time_period_minutes, diff --git a/esphome/components/scd4x/sensor.py b/esphome/components/scd4x/sensor.py index 6b2188cd5a..ec90234ac3 100644 --- a/esphome/components/scd4x/sensor.py +++ b/esphome/components/scd4x/sensor.py @@ -81,7 +81,7 @@ CONFIG_SCHEMA = ( cv.int_range(min=0, max=0xFFFF, max_included=False), ), cv.Optional(CONF_AMBIENT_PRESSURE_COMPENSATION): cv.pressure, - cv.Optional(CONF_TEMPERATURE_OFFSET, default="4°C"): cv.temperature, + cv.Optional(CONF_TEMPERATURE_OFFSET, default="4°C"): cv.temperature_delta, cv.Optional(CONF_AMBIENT_PRESSURE_COMPENSATION_SOURCE): cv.use_id( sensor.Sensor ), From a33ed5e47b6ab889028650141e06053624b56e1b Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Sat, 18 Oct 2025 22:25:53 -0500 Subject: [PATCH 183/201] [thermostat] Add humidity support (#11286) --- esphome/components/thermostat/climate.py | 59 +++++- .../thermostat/thermostat_climate.cpp | 168 +++++++++++++++++- .../thermostat/thermostat_climate.h | 53 +++++- tests/components/thermostat/common.yaml | 5 + 4 files changed, 278 insertions(+), 7 deletions(-) diff --git a/esphome/components/thermostat/climate.py b/esphome/components/thermostat/climate.py index 57abbc67b9..a928d208f3 100644 --- a/esphome/components/thermostat/climate.py +++ b/esphome/components/thermostat/climate.py @@ -71,9 +71,14 @@ from esphome.const import ( CONF_VISUAL, ) -CONF_PRESET_CHANGE = "preset_change" CONF_DEFAULT_PRESET = "default_preset" +CONF_HUMIDITY_CONTROL_DEHUMIDIFY_ACTION = "humidity_control_dehumidify_action" +CONF_HUMIDITY_CONTROL_HUMIDIFY_ACTION = "humidity_control_humidify_action" +CONF_HUMIDITY_CONTROL_OFF_ACTION = "humidity_control_off_action" +CONF_HUMIDITY_HYSTERESIS = "humidity_hysteresis" CONF_ON_BOOT_RESTORE_FROM = "on_boot_restore_from" +CONF_PRESET_CHANGE = "preset_change" +CONF_TARGET_HUMIDITY_CHANGE_ACTION = "target_humidity_change_action" CODEOWNERS = ["@kbx81"] @@ -241,6 +246,14 @@ def validate_thermostat(config): CONF_MAX_HEATING_RUN_TIME, CONF_SUPPLEMENTAL_HEATING_ACTION, ], + CONF_HUMIDITY_CONTROL_DEHUMIDIFY_ACTION: [ + CONF_HUMIDITY_CONTROL_OFF_ACTION, + CONF_HUMIDITY_SENSOR, + ], + CONF_HUMIDITY_CONTROL_HUMIDIFY_ACTION: [ + CONF_HUMIDITY_CONTROL_OFF_ACTION, + CONF_HUMIDITY_SENSOR, + ], } for config_trigger, req_triggers in requirements.items(): for req_trigger in req_triggers: @@ -338,7 +351,7 @@ def validate_thermostat(config): # Warn about using the removed CONF_DEFAULT_MODE and advise users if CONF_DEFAULT_MODE in config and config[CONF_DEFAULT_MODE] is not None: raise cv.Invalid( - f"{CONF_DEFAULT_MODE} is no longer valid. Please switch to using presets and specify a {CONF_DEFAULT_PRESET}." + f"{CONF_DEFAULT_MODE} is no longer valid. Please switch to using presets and specify a {CONF_DEFAULT_PRESET}" ) default_mode = config[CONF_DEFAULT_MODE] @@ -588,9 +601,24 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_SWING_VERTICAL_ACTION): automation.validate_automation( single=True ), + cv.Optional( + CONF_TARGET_HUMIDITY_CHANGE_ACTION + ): automation.validate_automation(single=True), cv.Optional( CONF_TARGET_TEMPERATURE_CHANGE_ACTION ): automation.validate_automation(single=True), + cv.Exclusive( + CONF_HUMIDITY_CONTROL_DEHUMIDIFY_ACTION, + group_of_exclusion="humidity_control", + ): automation.validate_automation(single=True), + cv.Exclusive( + CONF_HUMIDITY_CONTROL_HUMIDIFY_ACTION, + group_of_exclusion="humidity_control", + ): automation.validate_automation(single=True), + cv.Optional( + CONF_HUMIDITY_CONTROL_OFF_ACTION + ): automation.validate_automation(single=True), + cv.Optional(CONF_HUMIDITY_HYSTERESIS, default=1.0): cv.percentage, cv.Optional(CONF_DEFAULT_MODE, default=None): cv.valid, cv.Optional(CONF_DEFAULT_PRESET): cv.templatable(cv.string), cv.Optional(CONF_DEFAULT_TARGET_TEMPERATURE_HIGH): cv.temperature, @@ -882,12 +910,39 @@ async def to_code(config): config[CONF_SWING_VERTICAL_ACTION], ) cg.add(var.set_supports_swing_mode_vertical(True)) + if CONF_TARGET_HUMIDITY_CHANGE_ACTION in config: + await automation.build_automation( + var.get_humidity_change_trigger(), + [], + config[CONF_TARGET_HUMIDITY_CHANGE_ACTION], + ) if CONF_TARGET_TEMPERATURE_CHANGE_ACTION in config: await automation.build_automation( var.get_temperature_change_trigger(), [], config[CONF_TARGET_TEMPERATURE_CHANGE_ACTION], ) + if CONF_HUMIDITY_CONTROL_DEHUMIDIFY_ACTION in config: + cg.add(var.set_supports_dehumidification(True)) + await automation.build_automation( + var.get_humidity_control_dehumidify_action_trigger(), + [], + config[CONF_HUMIDITY_CONTROL_DEHUMIDIFY_ACTION], + ) + if CONF_HUMIDITY_CONTROL_HUMIDIFY_ACTION in config: + cg.add(var.set_supports_humidification(True)) + await automation.build_automation( + var.get_humidity_control_humidify_action_trigger(), + [], + config[CONF_HUMIDITY_CONTROL_HUMIDIFY_ACTION], + ) + if CONF_HUMIDITY_CONTROL_OFF_ACTION in config: + await automation.build_automation( + var.get_humidity_control_off_action_trigger(), + [], + config[CONF_HUMIDITY_CONTROL_OFF_ACTION], + ) + cg.add(var.set_humidity_hysteresis(config[CONF_HUMIDITY_HYSTERESIS])) if CONF_PRESET in config: for preset_config in config[CONF_PRESET]: diff --git a/esphome/components/thermostat/thermostat_climate.cpp b/esphome/components/thermostat/thermostat_climate.cpp index 784b3cfb50..18efe3984e 100644 --- a/esphome/components/thermostat/thermostat_climate.cpp +++ b/esphome/components/thermostat/thermostat_climate.cpp @@ -32,6 +32,7 @@ void ThermostatClimate::setup() { if (this->humidity_sensor_ != nullptr) { this->humidity_sensor_->add_on_state_callback([this](float state) { this->current_humidity = state; + this->switch_to_humidity_control_action_(this->compute_humidity_control_action_()); this->publish_state(); }); this->current_humidity = this->humidity_sensor_->state; @@ -84,6 +85,8 @@ void ThermostatClimate::refresh() { this->switch_to_supplemental_action_(this->compute_supplemental_action_()); this->switch_to_fan_mode_(this->fan_mode.value(), false); this->switch_to_swing_mode_(this->swing_mode, false); + this->switch_to_humidity_control_action_(this->compute_humidity_control_action_()); + this->check_humidity_change_trigger_(); this->check_temperature_change_trigger_(); this->publish_state(); } @@ -129,6 +132,11 @@ bool ThermostatClimate::hysteresis_valid() { return true; } +bool ThermostatClimate::humidity_hysteresis_valid() { + return !std::isnan(this->humidity_hysteresis_) && this->humidity_hysteresis_ >= 0.0f && + this->humidity_hysteresis_ < 100.0f; +} + bool ThermostatClimate::limit_setpoints_for_heat_cool() { return this->mode == climate::CLIMATE_MODE_HEAT_COOL || (this->mode == climate::CLIMATE_MODE_AUTO && this->supports_heat_cool_); @@ -189,6 +197,16 @@ void ThermostatClimate::validate_target_temperature_high() { } } +void ThermostatClimate::validate_target_humidity() { + if (std::isnan(this->target_humidity)) { + this->target_humidity = + (this->get_traits().get_visual_max_humidity() - this->get_traits().get_visual_min_humidity()) / 2.0f; + } else { + this->target_humidity = clamp(this->target_humidity, this->get_traits().get_visual_min_humidity(), + this->get_traits().get_visual_max_humidity()); + } +} + void ThermostatClimate::control(const climate::ClimateCall &call) { bool target_temperature_high_changed = false; @@ -235,6 +253,10 @@ void ThermostatClimate::control(const climate::ClimateCall &call) { this->validate_target_temperature(); } } + if (call.get_target_humidity().has_value()) { + this->target_humidity = call.get_target_humidity().value(); + this->validate_target_humidity(); + } // make any changes happen this->refresh(); } @@ -250,6 +272,9 @@ climate::ClimateTraits ThermostatClimate::traits() { if (this->humidity_sensor_ != nullptr) traits.add_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY); + if (this->supports_humidification_ || this->supports_dehumidification_) + traits.add_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY); + if (this->supports_auto_) traits.add_supported_mode(climate::CLIMATE_MODE_AUTO); if (this->supports_heat_cool_) @@ -423,6 +448,28 @@ climate::ClimateAction ThermostatClimate::compute_supplemental_action_() { return target_action; } +HumidificationAction ThermostatClimate::compute_humidity_control_action_() { + auto target_action = THERMOSTAT_HUMIDITY_CONTROL_ACTION_OFF; + // if hysteresis value or current_humidity is not valid, we go to OFF + if (std::isnan(this->current_humidity) || !this->humidity_hysteresis_valid()) { + return THERMOSTAT_HUMIDITY_CONTROL_ACTION_OFF; + } + + // ensure set point is valid before computing the action + this->validate_target_humidity(); + // everything has been validated so we can now safely compute the action + if (this->dehumidification_required_() && this->humidification_required_()) { + // this is bad and should never happen, so just stop. + // target_action = THERMOSTAT_HUMIDITY_CONTROL_ACTION_OFF; + } else if (this->supports_dehumidification_ && this->dehumidification_required_()) { + target_action = THERMOSTAT_HUMIDITY_CONTROL_ACTION_DEHUMIDIFY; + } else if (this->supports_humidification_ && this->humidification_required_()) { + target_action = THERMOSTAT_HUMIDITY_CONTROL_ACTION_HUMIDIFY; + } + + return target_action; +} + void ThermostatClimate::switch_to_action_(climate::ClimateAction action, bool publish_state) { // setup_complete_ helps us ensure an action is called immediately after boot if ((action == this->action) && this->setup_complete_) { @@ -596,6 +643,44 @@ void ThermostatClimate::trigger_supplemental_action_() { } } +void ThermostatClimate::switch_to_humidity_control_action_(HumidificationAction action) { + // setup_complete_ helps us ensure an action is called immediately after boot + if ((action == this->humidification_action_) && this->setup_complete_) { + // already in target mode + return; + } + + Trigger<> *trig = this->humidity_control_off_action_trigger_; + switch (action) { + case THERMOSTAT_HUMIDITY_CONTROL_ACTION_OFF: + // trig = this->humidity_control_off_action_trigger_; + ESP_LOGVV(TAG, "Switching to HUMIDIFICATION_OFF action"); + break; + case THERMOSTAT_HUMIDITY_CONTROL_ACTION_DEHUMIDIFY: + trig = this->humidity_control_dehumidify_action_trigger_; + ESP_LOGVV(TAG, "Switching to DEHUMIDIFY action"); + break; + case THERMOSTAT_HUMIDITY_CONTROL_ACTION_HUMIDIFY: + trig = this->humidity_control_humidify_action_trigger_; + ESP_LOGVV(TAG, "Switching to HUMIDIFY action"); + break; + case THERMOSTAT_HUMIDITY_CONTROL_ACTION_NONE: + default: + action = THERMOSTAT_HUMIDITY_CONTROL_ACTION_OFF; + // trig = this->humidity_control_off_action_trigger_; + } + + if (this->prev_humidity_control_trigger_ != nullptr) { + this->prev_humidity_control_trigger_->stop_action(); + this->prev_humidity_control_trigger_ = nullptr; + } + this->humidification_action_ = action; + this->prev_humidity_control_trigger_ = trig; + if (trig != nullptr) { + trig->trigger(); + } +} + void ThermostatClimate::switch_to_fan_mode_(climate::ClimateFanMode fan_mode, bool publish_state) { // setup_complete_ helps us ensure an action is called immediately after boot if ((fan_mode == this->prev_fan_mode_) && this->setup_complete_) { @@ -887,6 +972,20 @@ void ThermostatClimate::idle_on_timer_callback_() { this->switch_to_supplemental_action_(this->compute_supplemental_action_()); } +void ThermostatClimate::check_humidity_change_trigger_() { + if ((this->prev_target_humidity_ == this->target_humidity) && this->setup_complete_) { + return; // nothing changed, no reason to trigger + } else { + // save the new temperature so we can check it again later; the trigger will fire below + this->prev_target_humidity_ = this->target_humidity; + } + // trigger the action + Trigger<> *trig = this->humidity_change_trigger_; + if (trig != nullptr) { + trig->trigger(); + } +} + void ThermostatClimate::check_temperature_change_trigger_() { if (this->supports_two_points_) { // setup_complete_ helps us ensure an action is called immediately after boot @@ -996,6 +1095,32 @@ bool ThermostatClimate::supplemental_heating_required_() { (this->supplemental_action_ == climate::CLIMATE_ACTION_HEATING)); } +bool ThermostatClimate::dehumidification_required_() { + if (this->current_humidity > this->target_humidity + this->humidity_hysteresis_) { + // if the current humidity exceeds the target + hysteresis, dehumidification is required + return true; + } else if (this->current_humidity < this->target_humidity - this->humidity_hysteresis_) { + // if the current humidity is less than the target - hysteresis, dehumidification should stop + return false; + } + // if we get here, the current humidity is between target + hysteresis and target - hysteresis, + // so the action should not change + return this->humidification_action_ == THERMOSTAT_HUMIDITY_CONTROL_ACTION_DEHUMIDIFY; +} + +bool ThermostatClimate::humidification_required_() { + if (this->current_humidity < this->target_humidity - this->humidity_hysteresis_) { + // if the current humidity is below the target - hysteresis, humidification is required + return true; + } else if (this->current_humidity > this->target_humidity + this->humidity_hysteresis_) { + // if the current humidity is above the target + hysteresis, humidification should stop + return false; + } + // if we get here, the current humidity is between target - hysteresis and target + hysteresis, + // so the action should not change + return this->humidification_action_ == THERMOSTAT_HUMIDITY_CONTROL_ACTION_HUMIDIFY; +} + void ThermostatClimate::dump_preset_config_(const char *preset_name, const ThermostatClimateTargetTempConfig &config) { if (this->supports_heat_) { ESP_LOGCONFIG(TAG, " Default Target Temperature Low: %.1f°C", @@ -1152,8 +1277,12 @@ ThermostatClimate::ThermostatClimate() swing_mode_off_trigger_(new Trigger<>()), swing_mode_horizontal_trigger_(new Trigger<>()), swing_mode_vertical_trigger_(new Trigger<>()), + humidity_change_trigger_(new Trigger<>()), temperature_change_trigger_(new Trigger<>()), - preset_change_trigger_(new Trigger<>()) {} + preset_change_trigger_(new Trigger<>()), + humidity_control_dehumidify_action_trigger_(new Trigger<>()), + humidity_control_humidify_action_trigger_(new Trigger<>()), + humidity_control_off_action_trigger_(new Trigger<>()) {} void ThermostatClimate::set_default_preset(const std::string &custom_preset) { this->default_custom_preset_ = custom_preset; @@ -1217,6 +1346,9 @@ void ThermostatClimate::set_sensor(sensor::Sensor *sensor) { this->sensor_ = sen void ThermostatClimate::set_humidity_sensor(sensor::Sensor *humidity_sensor) { this->humidity_sensor_ = humidity_sensor; } +void ThermostatClimate::set_humidity_hysteresis(float humidity_hysteresis) { + this->humidity_hysteresis_ = std::clamp(humidity_hysteresis, 0.0f, 100.0f); +} void ThermostatClimate::set_use_startup_delay(bool use_startup_delay) { this->use_startup_delay_ = use_startup_delay; } void ThermostatClimate::set_supports_heat_cool(bool supports_heat_cool) { this->supports_heat_cool_ = supports_heat_cool; @@ -1284,6 +1416,18 @@ void ThermostatClimate::set_supports_swing_mode_vertical(bool supports_swing_mod void ThermostatClimate::set_supports_two_points(bool supports_two_points) { this->supports_two_points_ = supports_two_points; } +void ThermostatClimate::set_supports_dehumidification(bool supports_dehumidification) { + this->supports_dehumidification_ = supports_dehumidification; + if (supports_dehumidification) { + this->supports_humidification_ = false; + } +} +void ThermostatClimate::set_supports_humidification(bool supports_humidification) { + this->supports_humidification_ = supports_humidification; + if (supports_humidification) { + this->supports_dehumidification_ = false; + } +} Trigger<> *ThermostatClimate::get_cool_action_trigger() const { return this->cool_action_trigger_; } Trigger<> *ThermostatClimate::get_supplemental_cool_action_trigger() const { @@ -1317,8 +1461,18 @@ Trigger<> *ThermostatClimate::get_swing_mode_both_trigger() const { return this- Trigger<> *ThermostatClimate::get_swing_mode_off_trigger() const { return this->swing_mode_off_trigger_; } Trigger<> *ThermostatClimate::get_swing_mode_horizontal_trigger() const { return this->swing_mode_horizontal_trigger_; } Trigger<> *ThermostatClimate::get_swing_mode_vertical_trigger() const { return this->swing_mode_vertical_trigger_; } +Trigger<> *ThermostatClimate::get_humidity_change_trigger() const { return this->humidity_change_trigger_; } Trigger<> *ThermostatClimate::get_temperature_change_trigger() const { return this->temperature_change_trigger_; } Trigger<> *ThermostatClimate::get_preset_change_trigger() const { return this->preset_change_trigger_; } +Trigger<> *ThermostatClimate::get_humidity_control_dehumidify_action_trigger() const { + return this->humidity_control_dehumidify_action_trigger_; +} +Trigger<> *ThermostatClimate::get_humidity_control_humidify_action_trigger() const { + return this->humidity_control_humidify_action_trigger_; +} +Trigger<> *ThermostatClimate::get_humidity_control_off_action_trigger() const { + return this->humidity_control_off_action_trigger_; +} void ThermostatClimate::dump_config() { LOG_CLIMATE("", "Thermostat", this); @@ -1422,7 +1576,12 @@ void ThermostatClimate::dump_config() { " OFF: %s\n" " HORIZONTAL: %s\n" " VERTICAL: %s\n" - " Supports TWO SET POINTS: %s", + " Supports TWO SET POINTS: %s\n" + " Supported Humidity Parameters:\n" + " CURRENT: %s\n" + " TARGET: %s\n" + " DEHUMIDIFICATION: %s\n" + " HUMIDIFICATION: %s", YESNO(this->supports_fan_mode_on_), YESNO(this->supports_fan_mode_off_), YESNO(this->supports_fan_mode_auto_), YESNO(this->supports_fan_mode_low_), YESNO(this->supports_fan_mode_medium_), YESNO(this->supports_fan_mode_high_), @@ -1430,7 +1589,10 @@ void ThermostatClimate::dump_config() { YESNO(this->supports_fan_mode_diffuse_), YESNO(this->supports_fan_mode_quiet_), YESNO(this->supports_swing_mode_both_), YESNO(this->supports_swing_mode_off_), YESNO(this->supports_swing_mode_horizontal_), YESNO(this->supports_swing_mode_vertical_), - YESNO(this->supports_two_points_)); + YESNO(this->supports_two_points_), + YESNO(this->get_traits().has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)), + YESNO(this->supports_dehumidification_ || this->supports_humidification_), + YESNO(this->supports_dehumidification_), YESNO(this->supports_humidification_)); if (!this->preset_config_.empty()) { ESP_LOGCONFIG(TAG, " Supported PRESETS:"); diff --git a/esphome/components/thermostat/thermostat_climate.h b/esphome/components/thermostat/thermostat_climate.h index 526f07116e..363d2b09fc 100644 --- a/esphome/components/thermostat/thermostat_climate.h +++ b/esphome/components/thermostat/thermostat_climate.h @@ -13,6 +13,13 @@ namespace esphome { namespace thermostat { +enum HumidificationAction : uint8_t { + THERMOSTAT_HUMIDITY_CONTROL_ACTION_OFF = 0, + THERMOSTAT_HUMIDITY_CONTROL_ACTION_DEHUMIDIFY = 1, + THERMOSTAT_HUMIDITY_CONTROL_ACTION_HUMIDIFY = 2, + THERMOSTAT_HUMIDITY_CONTROL_ACTION_NONE, +}; + enum ThermostatClimateTimerIndex : uint8_t { THERMOSTAT_TIMER_COOLING_MAX_RUN_TIME = 0, THERMOSTAT_TIMER_COOLING_OFF = 1, @@ -90,6 +97,7 @@ class ThermostatClimate : public climate::Climate, public Component { void set_idle_minimum_time_in_sec(uint32_t time); void set_sensor(sensor::Sensor *sensor); void set_humidity_sensor(sensor::Sensor *humidity_sensor); + void set_humidity_hysteresis(float humidity_hysteresis); void set_use_startup_delay(bool use_startup_delay); void set_supports_auto(bool supports_auto); void set_supports_heat_cool(bool supports_heat_cool); @@ -115,6 +123,8 @@ class ThermostatClimate : public climate::Climate, public Component { void set_supports_swing_mode_horizontal(bool supports_swing_mode_horizontal); void set_supports_swing_mode_off(bool supports_swing_mode_off); void set_supports_swing_mode_vertical(bool supports_swing_mode_vertical); + void set_supports_dehumidification(bool supports_dehumidification); + void set_supports_humidification(bool supports_humidification); void set_supports_two_points(bool supports_two_points); void set_preset_config(climate::ClimatePreset preset, const ThermostatClimateTargetTempConfig &config); @@ -148,8 +158,12 @@ class ThermostatClimate : public climate::Climate, public Component { Trigger<> *get_swing_mode_horizontal_trigger() const; Trigger<> *get_swing_mode_off_trigger() const; Trigger<> *get_swing_mode_vertical_trigger() const; + Trigger<> *get_humidity_change_trigger() const; Trigger<> *get_temperature_change_trigger() const; Trigger<> *get_preset_change_trigger() const; + Trigger<> *get_humidity_control_dehumidify_action_trigger() const; + Trigger<> *get_humidity_control_humidify_action_trigger() const; + Trigger<> *get_humidity_control_off_action_trigger() const; /// Get current hysteresis values float cool_deadband(); float cool_overrun(); @@ -166,11 +180,13 @@ class ThermostatClimate : public climate::Climate, public Component { climate::ClimateFanMode locked_fan_mode(); /// Set point and hysteresis validation bool hysteresis_valid(); // returns true if valid + bool humidity_hysteresis_valid(); // returns true if valid bool limit_setpoints_for_heat_cool(); // returns true if set points should be further limited within visual range void validate_target_temperature(); void validate_target_temperatures(bool pin_target_temperature_high); void validate_target_temperature_low(); void validate_target_temperature_high(); + void validate_target_humidity(); protected: /// Override control to change settings of the climate device. @@ -192,11 +208,13 @@ class ThermostatClimate : public climate::Climate, public Component { /// Re-compute the required action of this climate controller. climate::ClimateAction compute_action_(bool ignore_timers = false); climate::ClimateAction compute_supplemental_action_(); + HumidificationAction compute_humidity_control_action_(); /// Switch the climate device to the given climate action. void switch_to_action_(climate::ClimateAction action, bool publish_state = true); void switch_to_supplemental_action_(climate::ClimateAction action); void trigger_supplemental_action_(); + void switch_to_humidity_control_action_(HumidificationAction action); /// Switch the climate device to the given climate fan mode. void switch_to_fan_mode_(climate::ClimateFanMode fan_mode, bool publish_state = true); @@ -207,6 +225,9 @@ class ThermostatClimate : public climate::Climate, public Component { /// Switch the climate device to the given climate swing mode. void switch_to_swing_mode_(climate::ClimateSwingMode swing_mode, bool publish_state = true); + /// Check if the humidity change trigger should be called. + void check_humidity_change_trigger_(); + /// Check if the temperature change trigger should be called. void check_temperature_change_trigger_(); @@ -243,6 +264,8 @@ class ThermostatClimate : public climate::Climate, public Component { bool heating_required_(); bool supplemental_cooling_required_(); bool supplemental_heating_required_(); + bool dehumidification_required_(); + bool humidification_required_(); void dump_preset_config_(const char *preset_name, const ThermostatClimateTargetTempConfig &config); @@ -259,6 +282,9 @@ class ThermostatClimate : public climate::Climate, public Component { /// The current supplemental action climate::ClimateAction supplemental_action_{climate::CLIMATE_ACTION_OFF}; + /// The current humidification action + HumidificationAction humidification_action_{THERMOSTAT_HUMIDITY_CONTROL_ACTION_NONE}; + /// Default standard preset to use on start up climate::ClimatePreset default_preset_{}; @@ -321,6 +347,12 @@ class ThermostatClimate : public climate::Climate, public Component { /// A false value means that the controller has no such support. bool supports_two_points_{false}; + /// Whether the controller supports dehumidification and/or humidification + /// + /// A false value means that the controller has no such support. + bool supports_dehumidification_{false}; + bool supports_humidification_{false}; + /// Flags indicating if maximum allowable run time was exceeded bool cooling_max_runtime_exceeded_{false}; bool heating_max_runtime_exceeded_{false}; @@ -331,9 +363,10 @@ class ThermostatClimate : public climate::Climate, public Component { /// setup_complete_ blocks modifying/resetting the temps immediately after boot bool setup_complete_{false}; - /// Store previously-known temperatures + /// Store previously-known humidity and temperatures /// - /// These are used to determine when the temperature change trigger/action needs to be called + /// These are used to determine when a temperature/humidity has changed + float prev_target_humidity_{NAN}; float prev_target_temperature_{NAN}; float prev_target_temperature_low_{NAN}; float prev_target_temperature_high_{NAN}; @@ -347,6 +380,9 @@ class ThermostatClimate : public climate::Climate, public Component { float heating_deadband_{0}; float heating_overrun_{0}; + /// Hysteresis values used for computing humidification action + float humidity_hysteresis_{0}; + /// Maximum allowable temperature deltas before engaging supplemental cooling/heating actions float supplemental_cool_delta_{0}; float supplemental_heat_delta_{0}; @@ -448,12 +484,24 @@ class ThermostatClimate : public climate::Climate, public Component { /// The trigger to call when the controller should switch the swing mode to "vertical". Trigger<> *swing_mode_vertical_trigger_{nullptr}; + /// The trigger to call when the target humidity changes. + Trigger<> *humidity_change_trigger_{nullptr}; + /// The trigger to call when the target temperature(s) change(es). Trigger<> *temperature_change_trigger_{nullptr}; /// The trigger to call when the preset mode changes Trigger<> *preset_change_trigger_{nullptr}; + /// The trigger to call when dehumidification is required + Trigger<> *humidity_control_dehumidify_action_trigger_{nullptr}; + + /// The trigger to call when humidification is required + Trigger<> *humidity_control_humidify_action_trigger_{nullptr}; + + /// The trigger to call when (de)humidification should stop + Trigger<> *humidity_control_off_action_trigger_{nullptr}; + /// A reference to the trigger that was previously active. /// /// This is so that the previous trigger can be stopped before enabling a new one @@ -462,6 +510,7 @@ class ThermostatClimate : public climate::Climate, public Component { Trigger<> *prev_fan_mode_trigger_{nullptr}; Trigger<> *prev_mode_trigger_{nullptr}; Trigger<> *prev_swing_mode_trigger_{nullptr}; + Trigger<> *prev_humidity_control_trigger_{nullptr}; /// Default custom preset to use on start up std::string default_custom_preset_{}; diff --git a/tests/components/thermostat/common.yaml b/tests/components/thermostat/common.yaml index d630a93efc..4aa87c0ac3 100644 --- a/tests/components/thermostat/common.yaml +++ b/tests/components/thermostat/common.yaml @@ -69,6 +69,11 @@ climate: - logger.log: swing_vertical_action swing_both_action: - logger.log: swing_both_action + humidity_control_humidify_action: + - logger.log: humidity_control_humidify_action + humidity_control_off_action: + - logger.log: humidity_control_off_action + humidity_hysteresis: 1.0 startup_delay: true supplemental_cooling_delta: 2.0 cool_deadband: 0.5 From 590f6ff70b06de89dcd49c796283178504574a95 Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Sun, 19 Oct 2025 01:20:11 -0500 Subject: [PATCH 184/201] [api] Update to use new climate API (#11357) --- esphome/components/api/api_connection.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index 1f3456a205..ea1e130092 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -661,11 +661,12 @@ uint16_t APIConnection::try_send_climate_info(EntityBase *entity, APIConnection ListEntitiesClimateResponse msg; auto traits = climate->get_traits(); // Flags set for backward compatibility, deprecated in 2025.11.0 - msg.supports_current_temperature = traits.get_supports_current_temperature(); - msg.supports_current_humidity = traits.get_supports_current_humidity(); - msg.supports_two_point_target_temperature = traits.get_supports_two_point_target_temperature(); - msg.supports_target_humidity = traits.get_supports_target_humidity(); - msg.supports_action = traits.get_supports_action(); + msg.supports_current_temperature = traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE); + msg.supports_current_humidity = traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY); + msg.supports_two_point_target_temperature = traits.has_feature_flags( + climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE); + msg.supports_target_humidity = traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY); + msg.supports_action = traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION); // Current feature flags and other supported parameters msg.feature_flags = traits.get_feature_flags(); msg.supported_modes = &traits.get_supported_modes_for_api_(); From 25f03074ab271f0f861548df4e2e634c67247410 Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Sun, 19 Oct 2025 03:10:07 -0500 Subject: [PATCH 185/201] [web_server] Update to use new climate API (#11363) --- esphome/components/web_server/web_server.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index f18f21b16b..1d08ef5a35 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -1325,7 +1325,7 @@ std::string WebServer::climate_json(climate::Climate *obj, JsonDetail start_conf root["max_temp"] = value_accuracy_to_string(traits.get_visual_max_temperature(), target_accuracy); root["min_temp"] = value_accuracy_to_string(traits.get_visual_min_temperature(), target_accuracy); root["step"] = traits.get_visual_target_temperature_step(); - if (traits.get_supports_action()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION)) { root["action"] = PSTR_LOCAL(climate_action_to_string(obj->action)); root["state"] = root["action"]; has_state = true; @@ -1345,14 +1345,15 @@ std::string WebServer::climate_json(climate::Climate *obj, JsonDetail start_conf if (traits.get_supports_swing_modes()) { root["swing_mode"] = PSTR_LOCAL(climate_swing_mode_to_string(obj->swing_mode)); } - if (traits.get_supports_current_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) { if (!std::isnan(obj->current_temperature)) { root["current_temperature"] = value_accuracy_to_string(obj->current_temperature, current_accuracy); } else { root["current_temperature"] = "NA"; } } - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { root["target_temperature_low"] = value_accuracy_to_string(obj->target_temperature_low, target_accuracy); root["target_temperature_high"] = value_accuracy_to_string(obj->target_temperature_high, target_accuracy); if (!has_state) { From b4d9fddd074481909824d3fe21b62323d912f5ca Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Sun, 19 Oct 2025 03:11:10 -0500 Subject: [PATCH 186/201] [mqtt] Update to use new climate API (#11360) --- esphome/components/mqtt/mqtt_climate.cpp | 30 ++++++++++++++---------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/esphome/components/mqtt/mqtt_climate.cpp b/esphome/components/mqtt/mqtt_climate.cpp index e16f097812..a6f4e0a201 100644 --- a/esphome/components/mqtt/mqtt_climate.cpp +++ b/esphome/components/mqtt/mqtt_climate.cpp @@ -17,11 +17,11 @@ void MQTTClimateComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCo // NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson auto traits = this->device_->get_traits(); // current_temperature_topic - if (traits.get_supports_current_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) { root[MQTT_CURRENT_TEMPERATURE_TOPIC] = this->get_current_temperature_state_topic(); } // current_humidity_topic - if (traits.get_supports_current_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)) { root[MQTT_CURRENT_HUMIDITY_TOPIC] = this->get_current_humidity_state_topic(); } // mode_command_topic @@ -45,7 +45,8 @@ void MQTTClimateComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCo if (traits.supports_mode(CLIMATE_MODE_HEAT_COOL)) modes.add("heat_cool"); - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { // temperature_low_command_topic root[MQTT_TEMPERATURE_LOW_COMMAND_TOPIC] = this->get_target_temperature_low_command_topic(); // temperature_low_state_topic @@ -61,7 +62,7 @@ void MQTTClimateComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCo root[MQTT_TEMPERATURE_STATE_TOPIC] = this->get_target_temperature_state_topic(); } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { // target_humidity_command_topic root[MQTT_TARGET_HUMIDITY_COMMAND_TOPIC] = this->get_target_humidity_command_topic(); // target_humidity_state_topic @@ -109,7 +110,7 @@ void MQTTClimateComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCo presets.add(preset); } - if (traits.get_supports_action()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION)) { // action_topic root[MQTT_ACTION_TOPIC] = this->get_action_state_topic(); } @@ -174,7 +175,8 @@ void MQTTClimateComponent::setup() { call.perform(); }); - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { this->subscribe(this->get_target_temperature_low_command_topic(), [this](const std::string &topic, const std::string &payload) { auto val = parse_number(payload); @@ -211,7 +213,7 @@ void MQTTClimateComponent::setup() { }); } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { this->subscribe(this->get_target_humidity_command_topic(), [this](const std::string &topic, const std::string &payload) { auto val = parse_number(payload); @@ -290,12 +292,14 @@ bool MQTTClimateComponent::publish_state_() { success = false; int8_t target_accuracy = traits.get_target_temperature_accuracy_decimals(); int8_t current_accuracy = traits.get_current_temperature_accuracy_decimals(); - if (traits.get_supports_current_temperature() && !std::isnan(this->device_->current_temperature)) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE) && + !std::isnan(this->device_->current_temperature)) { std::string payload = value_accuracy_to_string(this->device_->current_temperature, current_accuracy); if (!this->publish(this->get_current_temperature_state_topic(), payload)) success = false; } - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { std::string payload = value_accuracy_to_string(this->device_->target_temperature_low, target_accuracy); if (!this->publish(this->get_target_temperature_low_state_topic(), payload)) success = false; @@ -308,12 +312,14 @@ bool MQTTClimateComponent::publish_state_() { success = false; } - if (traits.get_supports_current_humidity() && !std::isnan(this->device_->current_humidity)) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY) && + !std::isnan(this->device_->current_humidity)) { std::string payload = value_accuracy_to_string(this->device_->current_humidity, 0); if (!this->publish(this->get_current_humidity_state_topic(), payload)) success = false; } - if (traits.get_supports_target_humidity() && !std::isnan(this->device_->target_humidity)) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY) && + !std::isnan(this->device_->target_humidity)) { std::string payload = value_accuracy_to_string(this->device_->target_humidity, 0); if (!this->publish(this->get_target_humidity_state_topic(), payload)) success = false; @@ -357,7 +363,7 @@ bool MQTTClimateComponent::publish_state_() { success = false; } - if (traits.get_supports_action()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION)) { const char *payload; switch (this->device_->action) { case CLIMATE_ACTION_OFF: From ddf1b67e49bc8859d3fa472582582960a1fbd06c Mon Sep 17 00:00:00 2001 From: Keith Burzinski Date: Sun, 19 Oct 2025 03:11:44 -0500 Subject: [PATCH 187/201] [prometheus] Update to use new climate API (#11361) --- esphome/components/prometheus/prometheus_handler.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/esphome/components/prometheus/prometheus_handler.cpp b/esphome/components/prometheus/prometheus_handler.cpp index 68ef18e5ce..6e7ed6f79f 100644 --- a/esphome/components/prometheus/prometheus_handler.cpp +++ b/esphome/components/prometheus/prometheus_handler.cpp @@ -916,7 +916,7 @@ void PrometheusHandler::climate_row_(AsyncResponseStream *stream, climate::Clima auto min_temp_value = value_accuracy_to_string(traits.get_visual_min_temperature(), target_accuracy); climate_value_row_(stream, obj, area, node, friendly_name, min_temp, min_temp_value); // now check optional traits - if (traits.get_supports_current_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_TEMPERATURE)) { std::string current_temp = "current_temperature"; if (std::isnan(obj->current_temperature)) { climate_failed_row_(stream, obj, area, node, friendly_name, current_temp, true); @@ -927,7 +927,7 @@ void PrometheusHandler::climate_row_(AsyncResponseStream *stream, climate::Clima climate_failed_row_(stream, obj, area, node, friendly_name, current_temp, false); } } - if (traits.get_supports_current_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_CURRENT_HUMIDITY)) { std::string current_humidity = "current_humidity"; if (std::isnan(obj->current_humidity)) { climate_failed_row_(stream, obj, area, node, friendly_name, current_humidity, true); @@ -938,7 +938,7 @@ void PrometheusHandler::climate_row_(AsyncResponseStream *stream, climate::Clima climate_failed_row_(stream, obj, area, node, friendly_name, current_humidity, false); } } - if (traits.get_supports_target_humidity()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TARGET_HUMIDITY)) { std::string target_humidity = "target_humidity"; if (std::isnan(obj->target_humidity)) { climate_failed_row_(stream, obj, area, node, friendly_name, target_humidity, true); @@ -949,7 +949,8 @@ void PrometheusHandler::climate_row_(AsyncResponseStream *stream, climate::Clima climate_failed_row_(stream, obj, area, node, friendly_name, target_humidity, false); } } - if (traits.get_supports_two_point_target_temperature()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_TWO_POINT_TARGET_TEMPERATURE | + climate::CLIMATE_REQUIRES_TWO_POINT_TARGET_TEMPERATURE)) { std::string target_temp_low = "target_temperature_low"; auto target_temp_low_value = value_accuracy_to_string(obj->target_temperature_low, target_accuracy); climate_value_row_(stream, obj, area, node, friendly_name, target_temp_low, target_temp_low_value); @@ -961,7 +962,7 @@ void PrometheusHandler::climate_row_(AsyncResponseStream *stream, climate::Clima auto target_temp_value = value_accuracy_to_string(obj->target_temperature, target_accuracy); climate_value_row_(stream, obj, area, node, friendly_name, target_temp, target_temp_value); } - if (traits.get_supports_action()) { + if (traits.has_feature_flags(climate::CLIMATE_SUPPORTS_ACTION)) { std::string climate_trait_category = "action"; const auto *climate_trait_value = climate::climate_action_to_string(obj->action); climate_setting_row_(stream, obj, area, node, friendly_name, climate_trait_category, climate_trait_value); From f3cdbd0a05aa3e2969c596b92522c1d1095f4e76 Mon Sep 17 00:00:00 2001 From: tomaszduda23 Date: Sun, 19 Oct 2025 19:39:48 +0200 Subject: [PATCH 188/201] [nrf52] fix task names in logs (#11367) --- esphome/components/logger/logger.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/esphome/components/logger/logger.h b/esphome/components/logger/logger.h index 2099520049..dc8e06e0c9 100644 --- a/esphome/components/logger/logger.h +++ b/esphome/components/logger/logger.h @@ -68,6 +68,9 @@ static constexpr char LOG_LEVEL_LETTER_CHARS[] = { // Maximum header size: 35 bytes fixed + 32 bytes tag + 16 bytes thread name = 83 bytes (45 byte safety margin) static constexpr uint16_t MAX_HEADER_SIZE = 128; +// "0x" + 2 hex digits per byte + '\0' +static constexpr size_t MAX_POINTER_REPRESENTATION = 2 + sizeof(void *) * 2 + 1; + #if defined(USE_ESP32) || defined(USE_ESP8266) || defined(USE_RP2040) || defined(USE_LIBRETINY) || defined(USE_ZEPHYR) /** Enum for logging UART selection * @@ -177,8 +180,11 @@ class Logger : public Component { inline void HOT format_log_to_buffer_with_terminator_(uint8_t level, const char *tag, int line, const char *format, va_list args, char *buffer, uint16_t *buffer_at, uint16_t buffer_size) { -#if defined(USE_ESP32) || defined(USE_LIBRETINY) || defined(USE_ZEPHYR) +#if defined(USE_ESP32) || defined(USE_LIBRETINY) this->write_header_to_buffer_(level, tag, line, this->get_thread_name_(), buffer, buffer_at, buffer_size); +#elif defined(USE_ZEPHYR) + char buff[MAX_POINTER_REPRESENTATION]; + this->write_header_to_buffer_(level, tag, line, this->get_thread_name_(buff), buffer, buffer_at, buffer_size); #else this->write_header_to_buffer_(level, tag, line, nullptr, buffer, buffer_at, buffer_size); #endif @@ -277,7 +283,11 @@ class Logger : public Component { #endif #if defined(USE_ESP32) || defined(USE_LIBRETINY) || defined(USE_ZEPHYR) - const char *HOT get_thread_name_() { + const char *HOT get_thread_name_( +#ifdef USE_ZEPHYR + char *buff +#endif + ) { #ifdef USE_ZEPHYR k_tid_t current_task = k_current_get(); #else @@ -291,7 +301,13 @@ class Logger : public Component { #elif defined(USE_LIBRETINY) return pcTaskGetTaskName(current_task); #elif defined(USE_ZEPHYR) - return k_thread_name_get(current_task); + const char *name = k_thread_name_get(current_task); + if (name) { + // zephyr print task names only if debug component is present + return name; + } + std::snprintf(buff, MAX_POINTER_REPRESENTATION, "%p", current_task); + return buff; #endif } } From 5e1019a6fa139a6839181153cdb9c3e293f94c56 Mon Sep 17 00:00:00 2001 From: tomaszduda23 Date: Sun, 19 Oct 2025 19:41:19 +0200 Subject: [PATCH 189/201] [nrf52, ble_nus] add logging over BLE (#9846) --- CODEOWNERS | 1 + esphome/components/ble_nus/__init__.py | 29 ++++ esphome/components/ble_nus/ble_nus.cpp | 157 ++++++++++++++++++ esphome/components/ble_nus/ble_nus.h | 37 +++++ .../components/zephyr_ble_server/__init__.py | 34 ++++ .../zephyr_ble_server/ble_server.cpp | 100 +++++++++++ .../components/zephyr_ble_server/ble_server.h | 19 +++ script/helpers_zephyr.py | 1 + .../ble_nus/test.nrf52-adafruit.yaml | 2 + .../components/ble_nus/test.nrf52-mcumgr.yaml | 2 + 10 files changed, 382 insertions(+) create mode 100644 esphome/components/ble_nus/__init__.py create mode 100644 esphome/components/ble_nus/ble_nus.cpp create mode 100644 esphome/components/ble_nus/ble_nus.h create mode 100644 esphome/components/zephyr_ble_server/__init__.py create mode 100644 esphome/components/zephyr_ble_server/ble_server.cpp create mode 100644 esphome/components/zephyr_ble_server/ble_server.h create mode 100644 tests/components/ble_nus/test.nrf52-adafruit.yaml create mode 100644 tests/components/ble_nus/test.nrf52-mcumgr.yaml diff --git a/CODEOWNERS b/CODEOWNERS index b5cefa1e0c..09bd15137a 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -70,6 +70,7 @@ esphome/components/bl0939/* @ziceva esphome/components/bl0940/* @dan-s-github @tobias- esphome/components/bl0942/* @dbuezas @dwmw2 esphome/components/ble_client/* @buxtronix @clydebarrow +esphome/components/ble_nus/* @tomaszduda23 esphome/components/bluetooth_proxy/* @bdraco @jesserockz esphome/components/bme280_base/* @esphome/core esphome/components/bme280_spi/* @apbodrov diff --git a/esphome/components/ble_nus/__init__.py b/esphome/components/ble_nus/__init__.py new file mode 100644 index 0000000000..9570005902 --- /dev/null +++ b/esphome/components/ble_nus/__init__.py @@ -0,0 +1,29 @@ +import esphome.codegen as cg +from esphome.components.zephyr import zephyr_add_prj_conf +import esphome.config_validation as cv +from esphome.const import CONF_ID, CONF_LOGS, CONF_TYPE + +AUTO_LOAD = ["zephyr_ble_server"] +CODEOWNERS = ["@tomaszduda23"] + +ble_nus_ns = cg.esphome_ns.namespace("ble_nus") +BLENUS = ble_nus_ns.class_("BLENUS", cg.Component) + +CONFIG_SCHEMA = cv.All( + cv.Schema( + { + cv.GenerateID(): cv.declare_id(BLENUS), + cv.Optional(CONF_TYPE, default=CONF_LOGS): cv.one_of( + *[CONF_LOGS], lower=True + ), + } + ).extend(cv.COMPONENT_SCHEMA), + cv.only_with_framework("zephyr"), +) + + +async def to_code(config): + var = cg.new_Pvariable(config[CONF_ID]) + zephyr_add_prj_conf("BT_NUS", True) + cg.add(var.set_expose_log(config[CONF_TYPE] == CONF_LOGS)) + await cg.register_component(var, config) diff --git a/esphome/components/ble_nus/ble_nus.cpp b/esphome/components/ble_nus/ble_nus.cpp new file mode 100644 index 0000000000..9c4d0a3938 --- /dev/null +++ b/esphome/components/ble_nus/ble_nus.cpp @@ -0,0 +1,157 @@ +#ifdef USE_ZEPHYR +#include "ble_nus.h" +#include +#include +#include "esphome/core/log.h" +#ifdef USE_LOGGER +#include "esphome/components/logger/logger.h" +#include "esphome/core/application.h" +#endif +#include + +namespace esphome::ble_nus { + +constexpr size_t BLE_TX_BUF_SIZE = 2048; + +// NOLINTBEGIN(cppcoreguidelines-avoid-non-const-global-variables) +BLENUS *global_ble_nus; +RING_BUF_DECLARE(global_ble_tx_ring_buf, BLE_TX_BUF_SIZE); +// NOLINTEND(cppcoreguidelines-avoid-non-const-global-variables) + +static const char *const TAG = "ble_nus"; + +size_t BLENUS::write_array(const uint8_t *data, size_t len) { + if (atomic_get(&this->tx_status_) == TX_DISABLED) { + return 0; + } + return ring_buf_put(&global_ble_tx_ring_buf, data, len); +} + +void BLENUS::connected(bt_conn *conn, uint8_t err) { + if (err == 0) { + global_ble_nus->conn_.store(bt_conn_ref(conn)); + } +} + +void BLENUS::disconnected(bt_conn *conn, uint8_t reason) { + if (global_ble_nus->conn_) { + bt_conn_unref(global_ble_nus->conn_.load()); + // Connection array is global static. + // Reference can be kept even if disconnected. + } +} + +void BLENUS::tx_callback(bt_conn *conn) { + atomic_cas(&global_ble_nus->tx_status_, TX_BUSY, TX_ENABLED); + ESP_LOGVV(TAG, "Sent operation completed"); +} + +void BLENUS::send_enabled_callback(bt_nus_send_status status) { + switch (status) { + case BT_NUS_SEND_STATUS_ENABLED: + atomic_set(&global_ble_nus->tx_status_, TX_ENABLED); +#ifdef USE_LOGGER + if (global_ble_nus->expose_log_) { + App.schedule_dump_config(); + } +#endif + ESP_LOGD(TAG, "NUS notification has been enabled"); + break; + case BT_NUS_SEND_STATUS_DISABLED: + atomic_set(&global_ble_nus->tx_status_, TX_DISABLED); + ESP_LOGD(TAG, "NUS notification has been disabled"); + break; + } +} + +void BLENUS::rx_callback(bt_conn *conn, const uint8_t *const data, uint16_t len) { + ESP_LOGD(TAG, "Received %d bytes.", len); +} + +void BLENUS::setup() { + bt_nus_cb callbacks = { + .received = rx_callback, + .sent = tx_callback, + .send_enabled = send_enabled_callback, + }; + + bt_nus_init(&callbacks); + + static bt_conn_cb conn_callbacks = { + .connected = BLENUS::connected, + .disconnected = BLENUS::disconnected, + }; + + bt_conn_cb_register(&conn_callbacks); + + global_ble_nus = this; +#ifdef USE_LOGGER + if (logger::global_logger != nullptr && this->expose_log_) { + logger::global_logger->add_on_log_callback( + [this](int level, const char *tag, const char *message, size_t message_len) { + this->write_array(reinterpret_cast(message), message_len); + const char c = '\n'; + this->write_array(reinterpret_cast(&c), 1); + }); + } + +#endif +} + +void BLENUS::dump_config() { + ESP_LOGCONFIG(TAG, "ble nus:"); + ESP_LOGCONFIG(TAG, " log: %s", YESNO(this->expose_log_)); + uint32_t mtu = 0; + bt_conn *conn = this->conn_.load(); + if (conn) { + mtu = bt_nus_get_mtu(conn); + } + ESP_LOGCONFIG(TAG, " MTU: %u", mtu); +} + +void BLENUS::loop() { + if (ring_buf_is_empty(&global_ble_tx_ring_buf)) { + return; + } + + if (!atomic_cas(&this->tx_status_, TX_ENABLED, TX_BUSY)) { + if (atomic_get(&this->tx_status_) == TX_DISABLED) { + ring_buf_reset(&global_ble_tx_ring_buf); + } + return; + } + + bt_conn *conn = this->conn_.load(); + if (conn) { + conn = bt_conn_ref(conn); + } + + if (nullptr == conn) { + atomic_cas(&this->tx_status_, TX_BUSY, TX_ENABLED); + return; + } + + uint32_t req_len = bt_nus_get_mtu(conn); + + uint8_t *buf; + uint32_t size = ring_buf_get_claim(&global_ble_tx_ring_buf, &buf, req_len); + + int err, err2; + + err = bt_nus_send(conn, buf, size); + err2 = ring_buf_get_finish(&global_ble_tx_ring_buf, size); + if (err2) { + // It should no happen. + ESP_LOGE(TAG, "Size %u exceeds valid bytes in the ring buffer (%d error)", size, err2); + } + if (err == 0) { + ESP_LOGVV(TAG, "Sent %d bytes", size); + } else { + ESP_LOGE(TAG, "Failed to send %d bytes (%d error)", size, err); + atomic_cas(&this->tx_status_, TX_BUSY, TX_ENABLED); + } + bt_conn_unref(conn); +} + +} // namespace esphome::ble_nus +#endif diff --git a/esphome/components/ble_nus/ble_nus.h b/esphome/components/ble_nus/ble_nus.h new file mode 100644 index 0000000000..e8cba32b4c --- /dev/null +++ b/esphome/components/ble_nus/ble_nus.h @@ -0,0 +1,37 @@ +#pragma once +#ifdef USE_ZEPHYR +#include "esphome/core/defines.h" +#include "esphome/core/component.h" +#include +#include + +namespace esphome::ble_nus { + +class BLENUS : public Component { + enum TxStatus { + TX_DISABLED, + TX_ENABLED, + TX_BUSY, + }; + + public: + void setup() override; + void dump_config() override; + void loop() override; + size_t write_array(const uint8_t *data, size_t len); + void set_expose_log(bool expose_log) { this->expose_log_ = expose_log; } + + protected: + static void send_enabled_callback(bt_nus_send_status status); + static void tx_callback(bt_conn *conn); + static void rx_callback(bt_conn *conn, const uint8_t *data, uint16_t len); + static void connected(bt_conn *conn, uint8_t err); + static void disconnected(bt_conn *conn, uint8_t reason); + + std::atomic conn_ = nullptr; + bool expose_log_ = false; + atomic_t tx_status_ = ATOMIC_INIT(TX_DISABLED); +}; + +} // namespace esphome::ble_nus +#endif diff --git a/esphome/components/zephyr_ble_server/__init__.py b/esphome/components/zephyr_ble_server/__init__.py new file mode 100644 index 0000000000..211941e984 --- /dev/null +++ b/esphome/components/zephyr_ble_server/__init__.py @@ -0,0 +1,34 @@ +import esphome.codegen as cg +from esphome.components.zephyr import zephyr_add_prj_conf +import esphome.config_validation as cv +from esphome.const import CONF_ESPHOME, CONF_ID, CONF_NAME, Framework +import esphome.final_validate as fv + +zephyr_ble_server_ns = cg.esphome_ns.namespace("zephyr_ble_server") +BLEServer = zephyr_ble_server_ns.class_("BLEServer", cg.Component) + +CONFIG_SCHEMA = cv.All( + cv.Schema( + { + cv.GenerateID(): cv.declare_id(BLEServer), + } + ).extend(cv.COMPONENT_SCHEMA), + cv.only_with_framework(Framework.ZEPHYR), +) + + +def _final_validate(_): + full_config = fv.full_config.get() + zephyr_add_prj_conf("BT_DEVICE_NAME", full_config[CONF_ESPHOME][CONF_NAME]) + + +FINAL_VALIDATE_SCHEMA = _final_validate + + +async def to_code(config): + var = cg.new_Pvariable(config[CONF_ID]) + zephyr_add_prj_conf("BT", True) + zephyr_add_prj_conf("BT_PERIPHERAL", True) + zephyr_add_prj_conf("BT_RX_STACK_SIZE", 1536) + # zephyr_add_prj_conf("BT_LL_SW_SPLIT", True) + await cg.register_component(var, config) diff --git a/esphome/components/zephyr_ble_server/ble_server.cpp b/esphome/components/zephyr_ble_server/ble_server.cpp new file mode 100644 index 0000000000..9f7e606a90 --- /dev/null +++ b/esphome/components/zephyr_ble_server/ble_server.cpp @@ -0,0 +1,100 @@ +#ifdef USE_ZEPHYR +#include "ble_server.h" +#include "esphome/core/defines.h" +#include "esphome/core/log.h" +#include +#include + +namespace esphome::zephyr_ble_server { + +static const char *const TAG = "zephyr_ble_server"; + +static struct k_work advertise_work; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) + +#define DEVICE_NAME CONFIG_BT_DEVICE_NAME +#define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1) + +static const struct bt_data AD[] = { + BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)), + BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN), +}; + +static const struct bt_data SD[] = { +#ifdef USE_OTA + BT_DATA_BYTES(BT_DATA_UUID128_ALL, 0x84, 0xaa, 0x60, 0x74, 0x52, 0x8a, 0x8b, 0x86, 0xd3, 0x4c, 0xb7, 0x1d, 0x1d, + 0xdc, 0x53, 0x8d), +#endif +}; + +const struct bt_le_adv_param *const ADV_PARAM = BT_LE_ADV_CONN; + +static void advertise(struct k_work *work) { + int rc = bt_le_adv_stop(); + if (rc) { + ESP_LOGE(TAG, "Advertising failed to stop (rc %d)", rc); + } + + rc = bt_le_adv_start(ADV_PARAM, AD, ARRAY_SIZE(AD), SD, ARRAY_SIZE(SD)); + if (rc) { + ESP_LOGE(TAG, "Advertising failed to start (rc %d)", rc); + return; + } + ESP_LOGI(TAG, "Advertising successfully started"); +} + +static void connected(struct bt_conn *conn, uint8_t err) { + if (err) { + ESP_LOGE(TAG, "Connection failed (err 0x%02x)", err); + } else { + ESP_LOGI(TAG, "Connected"); + } +} + +static void disconnected(struct bt_conn *conn, uint8_t reason) { + ESP_LOGI(TAG, "Disconnected (reason 0x%02x)", reason); + k_work_submit(&advertise_work); +} + +static void bt_ready(int err) { + if (err != 0) { + ESP_LOGE(TAG, "Bluetooth failed to initialise: %d", err); + } else { + k_work_submit(&advertise_work); + } +} + +BT_CONN_CB_DEFINE(conn_callbacks) = { + .connected = connected, + .disconnected = disconnected, +}; + +void BLEServer::setup() { + k_work_init(&advertise_work, advertise); + resume_(); +} + +void BLEServer::loop() { + if (this->suspended_) { + resume_(); + this->suspended_ = false; + } +} + +void BLEServer::resume_() { + int rc = bt_enable(bt_ready); + if (rc != 0) { + ESP_LOGE(TAG, "Bluetooth enable failed: %d", rc); + return; + } +} + +void BLEServer::on_shutdown() { + struct k_work_sync sync; + k_work_cancel_sync(&advertise_work, &sync); + bt_disable(); + this->suspended_ = true; +} + +} // namespace esphome::zephyr_ble_server + +#endif diff --git a/esphome/components/zephyr_ble_server/ble_server.h b/esphome/components/zephyr_ble_server/ble_server.h new file mode 100644 index 0000000000..1b32e9b58c --- /dev/null +++ b/esphome/components/zephyr_ble_server/ble_server.h @@ -0,0 +1,19 @@ +#pragma once +#ifdef USE_ZEPHYR +#include "esphome/core/component.h" + +namespace esphome::zephyr_ble_server { + +class BLEServer : public Component { + public: + void setup() override; + void loop() override; + void on_shutdown() override; + + protected: + void resume_(); + bool suspended_ = false; +}; + +} // namespace esphome::zephyr_ble_server +#endif diff --git a/script/helpers_zephyr.py b/script/helpers_zephyr.py index 922f1171b4..f72b335e64 100644 --- a/script/helpers_zephyr.py +++ b/script/helpers_zephyr.py @@ -25,6 +25,7 @@ int main() { return 0;} Path(zephyr_dir / "prj.conf").write_text( """ CONFIG_NEWLIB_LIBC=y +CONFIG_BT=y CONFIG_ADC=y """, encoding="utf-8", diff --git a/tests/components/ble_nus/test.nrf52-adafruit.yaml b/tests/components/ble_nus/test.nrf52-adafruit.yaml new file mode 100644 index 0000000000..20eec16956 --- /dev/null +++ b/tests/components/ble_nus/test.nrf52-adafruit.yaml @@ -0,0 +1,2 @@ +ble_nus: + type: logs diff --git a/tests/components/ble_nus/test.nrf52-mcumgr.yaml b/tests/components/ble_nus/test.nrf52-mcumgr.yaml new file mode 100644 index 0000000000..20eec16956 --- /dev/null +++ b/tests/components/ble_nus/test.nrf52-mcumgr.yaml @@ -0,0 +1,2 @@ +ble_nus: + type: logs From 40823df7bc5ac6818c6b2513151a34a3eee2ac92 Mon Sep 17 00:00:00 2001 From: Juan Antonio Aldea Date: Sun, 19 Oct 2025 19:47:31 +0200 Subject: [PATCH 190/201] make types sensors_t and sensor_type_t internal to StatsdComponent. (#11345) --- esphome/components/statsd/statsd.h | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/esphome/components/statsd/statsd.h b/esphome/components/statsd/statsd.h index 34f84cbe00..eab77a7a6e 100644 --- a/esphome/components/statsd/statsd.h +++ b/esphome/components/statsd/statsd.h @@ -28,21 +28,6 @@ namespace esphome { namespace statsd { -using sensor_type_t = enum { TYPE_SENSOR, TYPE_BINARY_SENSOR }; - -using sensors_t = struct { - const char *name; - sensor_type_t type; - union { -#ifdef USE_SENSOR - esphome::sensor::Sensor *sensor; -#endif -#ifdef USE_BINARY_SENSOR - esphome::binary_sensor::BinarySensor *binary_sensor; -#endif - }; -}; - class StatsdComponent : public PollingComponent { public: ~StatsdComponent(); @@ -71,6 +56,20 @@ class StatsdComponent : public PollingComponent { const char *prefix_; uint16_t port_; + using sensor_type_t = enum { TYPE_SENSOR, TYPE_BINARY_SENSOR }; + using sensors_t = struct { + const char *name; + sensor_type_t type; + union { +#ifdef USE_SENSOR + esphome::sensor::Sensor *sensor; +#endif +#ifdef USE_BINARY_SENSOR + esphome::binary_sensor::BinarySensor *binary_sensor; +#endif + }; + }; + std::vector sensors_; #ifdef USE_ESP8266 From 5db07c2d708c2eb15a1fa7f032735ac1fc907d66 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:31:40 -1000 Subject: [PATCH 191/201] [api][time] Refactor timezone update logic for cleaner code (#11327) --- esphome/components/api/api_connection.cpp | 9 ++------- esphome/components/time/real_time_clock.h | 8 ++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index ea1e130092..7dfefedd54 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -1082,13 +1082,8 @@ void APIConnection::on_get_time_response(const GetTimeResponse &value) { homeassistant::global_homeassistant_time->set_epoch_time(value.epoch_seconds); #ifdef USE_TIME_TIMEZONE if (value.timezone_len > 0) { - const std::string ¤t_tz = homeassistant::global_homeassistant_time->get_timezone(); - // Compare without allocating a string - if (current_tz.length() != value.timezone_len || - memcmp(current_tz.c_str(), value.timezone, value.timezone_len) != 0) { - homeassistant::global_homeassistant_time->set_timezone( - std::string(reinterpret_cast(value.timezone), value.timezone_len)); - } + homeassistant::global_homeassistant_time->set_timezone(reinterpret_cast(value.timezone), + value.timezone_len); } #endif } diff --git a/esphome/components/time/real_time_clock.h b/esphome/components/time/real_time_clock.h index 4b98a88975..7e60bbd234 100644 --- a/esphome/components/time/real_time_clock.h +++ b/esphome/components/time/real_time_clock.h @@ -27,6 +27,14 @@ class RealTimeClock : public PollingComponent { this->apply_timezone_(); } + /// Set the time zone from raw buffer, only if it differs from the current one. + void set_timezone(const char *tz, size_t len) { + if (this->timezone_.length() != len || memcmp(this->timezone_.c_str(), tz, len) != 0) { + this->timezone_.assign(tz, len); + this->apply_timezone_(); + } + } + /// Get the time zone currently in use. std::string get_timezone() { return this->timezone_; } #endif From f25af18655d626824fab1951041ac57b15accbde Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:34:34 -1000 Subject: [PATCH 192/201] [scheduler] Replace defer queue deque with vector to avoid 512-byte upfront allocation (#11305) --- esphome/core/scheduler.cpp | 36 +++++++++++++++++++------ esphome/core/scheduler.h | 54 ++++++++++++++++++++++++++++++++++---- 2 files changed, 77 insertions(+), 13 deletions(-) diff --git a/esphome/core/scheduler.cpp b/esphome/core/scheduler.cpp index 402084f306..0d4715f621 100644 --- a/esphome/core/scheduler.cpp +++ b/esphome/core/scheduler.cpp @@ -328,17 +328,30 @@ void HOT Scheduler::call(uint32_t now) { // Single-core platforms don't use this queue and fall back to the heap-based approach. // // Note: Items cancelled via cancel_item_locked_() are marked with remove=true but still - // processed here. They are removed from the queue normally via pop_front() but skipped - // during execution by should_skip_item_(). This is intentional - no memory leak occurs. - while (!this->defer_queue_.empty()) { - // The outer check is done without a lock for performance. If the queue - // appears non-empty, we lock and process an item. We don't need to check - // empty() again inside the lock because only this thread can remove items. + // processed here. They are skipped during execution by should_skip_item_(). + // This is intentional - no memory leak occurs. + // + // We use an index (defer_queue_front_) to track the read position instead of calling + // erase() on every pop, which would be O(n). The queue is processed once per loop - + // any items added during processing are left for the next loop iteration. + + // Snapshot the queue end point - only process items that existed at loop start + // Items added during processing (by callbacks or other threads) run next loop + // No lock needed: single consumer (main loop), stale read just means we process less this iteration + size_t defer_queue_end = this->defer_queue_.size(); + + while (this->defer_queue_front_ < defer_queue_end) { std::unique_ptr item; { LockGuard lock(this->lock_); - item = std::move(this->defer_queue_.front()); - this->defer_queue_.pop_front(); + // SAFETY: Moving out the unique_ptr leaves a nullptr in the vector at defer_queue_front_. + // This is intentional and safe because: + // 1. The vector is only cleaned up by cleanup_defer_queue_locked_() at the end of this function + // 2. Any code iterating defer_queue_ MUST check for nullptr items (see mark_matching_items_removed_ + // and has_cancelled_timeout_in_container_ in scheduler.h) + // 3. The lock protects concurrent access, but the nullptr remains until cleanup + item = std::move(this->defer_queue_[this->defer_queue_front_]); + this->defer_queue_front_++; } // Execute callback without holding lock to prevent deadlocks @@ -349,6 +362,13 @@ void HOT Scheduler::call(uint32_t now) { // Recycle the defer item after execution this->recycle_item_(std::move(item)); } + + // If we've consumed all items up to the snapshot point, clean up the dead space + // Single consumer (main loop), so no lock needed for this check + if (this->defer_queue_front_ >= defer_queue_end) { + LockGuard lock(this->lock_); + this->cleanup_defer_queue_locked_(); + } #endif /* not ESPHOME_THREAD_SINGLE */ // Convert the fresh timestamp from main loop to 64-bit for scheduler operations diff --git a/esphome/core/scheduler.h b/esphome/core/scheduler.h index 2237915e07..ad0ec0284e 100644 --- a/esphome/core/scheduler.h +++ b/esphome/core/scheduler.h @@ -264,6 +264,36 @@ class Scheduler { // Helper to recycle a SchedulerItem void recycle_item_(std::unique_ptr item); +#ifndef ESPHOME_THREAD_SINGLE + // Helper to cleanup defer_queue_ after processing + // IMPORTANT: Caller must hold the scheduler lock before calling this function. + inline void cleanup_defer_queue_locked_() { + // Check if new items were added by producers during processing + if (this->defer_queue_front_ >= this->defer_queue_.size()) { + // Common case: no new items - clear everything + this->defer_queue_.clear(); + } else { + // Rare case: new items were added during processing - compact the vector + // This only happens when: + // 1. A deferred callback calls defer() again, or + // 2. Another thread calls defer() while we're processing + // + // Move unprocessed items (added during this loop) to the front for next iteration + // + // SAFETY: Compacted items may include cancelled items (marked for removal via + // cancel_item_locked_() during execution). This is safe because should_skip_item_() + // checks is_item_removed_() before executing, so cancelled items will be skipped + // and recycled on the next loop iteration. + size_t remaining = this->defer_queue_.size() - this->defer_queue_front_; + for (size_t i = 0; i < remaining; i++) { + this->defer_queue_[i] = std::move(this->defer_queue_[this->defer_queue_front_ + i]); + } + this->defer_queue_.resize(remaining); + } + this->defer_queue_front_ = 0; + } +#endif /* not ESPHOME_THREAD_SINGLE */ + // Helper to check if item is marked for removal (platform-specific) // Returns true if item should be skipped, handles platform-specific synchronization // For ESPHOME_THREAD_MULTI_NO_ATOMICS platforms, the caller must hold the scheduler lock before calling this @@ -282,13 +312,18 @@ class Scheduler { // Helper to mark matching items in a container as removed // Returns the number of items marked for removal - // For ESPHOME_THREAD_MULTI_NO_ATOMICS platforms, the caller must hold the scheduler lock before calling this - // function. + // IMPORTANT: Caller must hold the scheduler lock before calling this function. template size_t mark_matching_items_removed_(Container &container, Component *component, const char *name_cstr, SchedulerItem::Type type, bool match_retry) { size_t count = 0; for (auto &item : container) { + // Skip nullptr items (can happen in defer_queue_ when items are being processed) + // The defer_queue_ uses index-based processing: items are std::moved out but left in the + // vector as nullptr until cleanup. Even though this function is called with lock held, + // the vector can still contain nullptr items from the processing loop. This check prevents crashes. + if (!item) + continue; if (this->matches_item_(item, component, name_cstr, type, match_retry)) { // Mark item for removal (platform-specific) #ifdef ESPHOME_THREAD_MULTI_ATOMICS @@ -311,6 +346,12 @@ class Scheduler { bool has_cancelled_timeout_in_container_(const Container &container, Component *component, const char *name_cstr, bool match_retry) const { for (const auto &item : container) { + // Skip nullptr items (can happen in defer_queue_ when items are being processed) + // The defer_queue_ uses index-based processing: items are std::moved out but left in the + // vector as nullptr until cleanup. If this function is called during defer queue processing, + // it will iterate over these nullptr items. This check prevents crashes. + if (!item) + continue; if (is_item_removed_(item.get()) && this->matches_item_(item, component, name_cstr, SchedulerItem::TIMEOUT, match_retry, /* skip_removed= */ false)) { @@ -324,9 +365,12 @@ class Scheduler { std::vector> items_; std::vector> to_add_; #ifndef ESPHOME_THREAD_SINGLE - // Single-core platforms don't need the defer queue and save 40 bytes of RAM - std::deque> defer_queue_; // FIFO queue for defer() calls -#endif /* ESPHOME_THREAD_SINGLE */ + // Single-core platforms don't need the defer queue and save ~32 bytes of RAM + // Using std::vector instead of std::deque avoids 512-byte chunked allocations + // Index tracking avoids O(n) erase() calls when draining the queue each loop + std::vector> defer_queue_; // FIFO queue for defer() calls + size_t defer_queue_front_{0}; // Index of first valid item in defer_queue_ (tracks consumed items) +#endif /* ESPHOME_THREAD_SINGLE */ uint32_t to_remove_{0}; // Memory pool for recycling SchedulerItem objects to reduce heap churn. From a0922bc8b0d1bf6260b946a442cfea3253a776f5 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:43:38 -1000 Subject: [PATCH 193/201] [ci] Add automated memory impact analysis for pull requests (#11242) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> --- .coveragerc | 1 + .github/workflows/ci.yml | 291 ++++++ esphome/__main__.py | 4 +- esphome/analyze_memory/__init__.py | 502 ++++++++++ esphome/analyze_memory/__main__.py | 6 + esphome/analyze_memory/cli.py | 408 ++++++++ esphome/analyze_memory/const.py | 903 ++++++++++++++++++ esphome/analyze_memory/helpers.py | 121 +++ esphome/platformio_api.py | 20 + script/analyze_component_buses.py | 14 +- script/ci_helpers.py | 23 + script/ci_memory_impact_comment.py | 570 +++++++++++ script/ci_memory_impact_extract.py | 281 ++++++ script/determine-jobs.py | 191 +++- script/helpers.py | 79 +- script/list-components.py | 10 +- script/split_components_for_ci.py | 10 +- .../ci_memory_impact_comment_template.j2 | 27 + .../ci_memory_impact_component_breakdown.j2 | 15 + script/templates/ci_memory_impact_macros.j2 | 8 + .../ci_memory_impact_symbol_changes.j2 | 51 + script/test_build_components.py | 21 +- tests/script/test_determine_jobs.py | 229 ++++- tests/unit_tests/test_platformio_api.py | 36 + 24 files changed, 3772 insertions(+), 49 deletions(-) create mode 100644 esphome/analyze_memory/__init__.py create mode 100644 esphome/analyze_memory/__main__.py create mode 100644 esphome/analyze_memory/cli.py create mode 100644 esphome/analyze_memory/const.py create mode 100644 esphome/analyze_memory/helpers.py create mode 100755 script/ci_helpers.py create mode 100755 script/ci_memory_impact_comment.py create mode 100755 script/ci_memory_impact_extract.py create mode 100644 script/templates/ci_memory_impact_comment_template.j2 create mode 100644 script/templates/ci_memory_impact_component_breakdown.j2 create mode 100644 script/templates/ci_memory_impact_macros.j2 create mode 100644 script/templates/ci_memory_impact_symbol_changes.j2 diff --git a/.coveragerc b/.coveragerc index f23592be24..c15e79a31b 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,4 +1,5 @@ [run] omit = esphome/components/* + esphome/analyze_memory/* tests/integration/* diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87e182fe4d..42f934de9d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -175,6 +175,7 @@ jobs: changed-components-with-tests: ${{ steps.determine.outputs.changed-components-with-tests }} directly-changed-components-with-tests: ${{ steps.determine.outputs.directly-changed-components-with-tests }} component-test-count: ${{ steps.determine.outputs.component-test-count }} + memory_impact: ${{ steps.determine.outputs.memory-impact }} steps: - name: Check out code from GitHub uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -204,6 +205,7 @@ jobs: echo "changed-components-with-tests=$(echo "$output" | jq -c '.changed_components_with_tests')" >> $GITHUB_OUTPUT echo "directly-changed-components-with-tests=$(echo "$output" | jq -c '.directly_changed_components_with_tests')" >> $GITHUB_OUTPUT echo "component-test-count=$(echo "$output" | jq -r '.component_test_count')" >> $GITHUB_OUTPUT + echo "memory-impact=$(echo "$output" | jq -c '.memory_impact')" >> $GITHUB_OUTPUT integration-tests: name: Run integration tests @@ -521,6 +523,292 @@ jobs: - uses: pre-commit-ci/lite-action@5d6cc0eb514c891a40562a58a8e71576c5c7fb43 # v1.1.0 if: always() + memory-impact-target-branch: + name: Build target branch for memory impact + runs-on: ubuntu-24.04 + needs: + - common + - determine-jobs + if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.memory_impact).should_run == 'true' + outputs: + ram_usage: ${{ steps.extract.outputs.ram_usage }} + flash_usage: ${{ steps.extract.outputs.flash_usage }} + cache_hit: ${{ steps.cache-memory-analysis.outputs.cache-hit }} + skip: ${{ steps.check-script.outputs.skip }} + steps: + - name: Check out target branch + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + ref: ${{ github.base_ref }} + + # Check if memory impact extraction script exists on target branch + # If not, skip the analysis (this handles older branches that don't have the feature) + - name: Check for memory impact script + id: check-script + run: | + if [ -f "script/ci_memory_impact_extract.py" ]; then + echo "skip=false" >> $GITHUB_OUTPUT + else + echo "skip=true" >> $GITHUB_OUTPUT + echo "::warning::ci_memory_impact_extract.py not found on target branch, skipping memory impact analysis" + fi + + # All remaining steps only run if script exists + - name: Generate cache key + id: cache-key + if: steps.check-script.outputs.skip != 'true' + run: | + # Get the commit SHA of the target branch + target_sha=$(git rev-parse HEAD) + + # Hash the build infrastructure files (all files that affect build/analysis) + infra_hash=$(cat \ + script/test_build_components.py \ + script/ci_memory_impact_extract.py \ + script/analyze_component_buses.py \ + script/merge_component_configs.py \ + script/ci_helpers.py \ + .github/workflows/ci.yml \ + | sha256sum | cut -d' ' -f1) + + # Get platform and components from job inputs + platform="${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}" + components='${{ toJSON(fromJSON(needs.determine-jobs.outputs.memory_impact).components) }}' + components_hash=$(echo "$components" | sha256sum | cut -d' ' -f1) + + # Combine into cache key + cache_key="memory-analysis-target-${target_sha}-${infra_hash}-${platform}-${components_hash}" + echo "cache-key=${cache_key}" >> $GITHUB_OUTPUT + echo "Cache key: ${cache_key}" + + - name: Restore cached memory analysis + id: cache-memory-analysis + if: steps.check-script.outputs.skip != 'true' + uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + with: + path: memory-analysis-target.json + key: ${{ steps.cache-key.outputs.cache-key }} + + - name: Cache status + if: steps.check-script.outputs.skip != 'true' + run: | + if [ "${{ steps.cache-memory-analysis.outputs.cache-hit }}" == "true" ]; then + echo "✓ Cache hit! Using cached memory analysis results." + echo " Skipping build step to save time." + else + echo "✗ Cache miss. Will build and analyze memory usage." + fi + + - name: Restore Python + if: steps.check-script.outputs.skip != 'true' && steps.cache-memory-analysis.outputs.cache-hit != 'true' + uses: ./.github/actions/restore-python + with: + python-version: ${{ env.DEFAULT_PYTHON }} + cache-key: ${{ needs.common.outputs.cache-key }} + + - name: Cache platformio + if: steps.check-script.outputs.skip != 'true' && steps.cache-memory-analysis.outputs.cache-hit != 'true' + uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + with: + path: ~/.platformio + key: platformio-memory-${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}-${{ hashFiles('platformio.ini') }} + + - name: Build, compile, and analyze memory + if: steps.check-script.outputs.skip != 'true' && steps.cache-memory-analysis.outputs.cache-hit != 'true' + id: build + run: | + . venv/bin/activate + components='${{ toJSON(fromJSON(needs.determine-jobs.outputs.memory_impact).components) }}' + platform="${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}" + + echo "Building with test_build_components.py for $platform with components:" + echo "$components" | jq -r '.[]' | sed 's/^/ - /' + + # Use test_build_components.py which handles grouping automatically + # Pass components as comma-separated list + component_list=$(echo "$components" | jq -r 'join(",")') + + echo "Compiling with test_build_components.py..." + + # Run build and extract memory with auto-detection of build directory for detailed analysis + # Use tee to show output in CI while also piping to extraction script + python script/test_build_components.py \ + -e compile \ + -c "$component_list" \ + -t "$platform" 2>&1 | \ + tee /dev/stderr | \ + python script/ci_memory_impact_extract.py \ + --output-env \ + --output-json memory-analysis-target.json + + - name: Save memory analysis to cache + if: steps.check-script.outputs.skip != 'true' && steps.cache-memory-analysis.outputs.cache-hit != 'true' && steps.build.outcome == 'success' + uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + with: + path: memory-analysis-target.json + key: ${{ steps.cache-key.outputs.cache-key }} + + - name: Extract memory usage for outputs + id: extract + if: steps.check-script.outputs.skip != 'true' + run: | + if [ -f memory-analysis-target.json ]; then + ram=$(jq -r '.ram_bytes' memory-analysis-target.json) + flash=$(jq -r '.flash_bytes' memory-analysis-target.json) + echo "ram_usage=${ram}" >> $GITHUB_OUTPUT + echo "flash_usage=${flash}" >> $GITHUB_OUTPUT + echo "RAM: ${ram} bytes, Flash: ${flash} bytes" + else + echo "Error: memory-analysis-target.json not found" + exit 1 + fi + + - name: Upload memory analysis JSON + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: memory-analysis-target + path: memory-analysis-target.json + if-no-files-found: warn + retention-days: 1 + + memory-impact-pr-branch: + name: Build PR branch for memory impact + runs-on: ubuntu-24.04 + needs: + - common + - determine-jobs + if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.memory_impact).should_run == 'true' + outputs: + ram_usage: ${{ steps.extract.outputs.ram_usage }} + flash_usage: ${{ steps.extract.outputs.flash_usage }} + steps: + - name: Check out PR branch + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Restore Python + uses: ./.github/actions/restore-python + with: + python-version: ${{ env.DEFAULT_PYTHON }} + cache-key: ${{ needs.common.outputs.cache-key }} + - name: Cache platformio + uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + with: + path: ~/.platformio + key: platformio-memory-${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}-${{ hashFiles('platformio.ini') }} + - name: Build, compile, and analyze memory + id: extract + run: | + . venv/bin/activate + components='${{ toJSON(fromJSON(needs.determine-jobs.outputs.memory_impact).components) }}' + platform="${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}" + + echo "Building with test_build_components.py for $platform with components:" + echo "$components" | jq -r '.[]' | sed 's/^/ - /' + + # Use test_build_components.py which handles grouping automatically + # Pass components as comma-separated list + component_list=$(echo "$components" | jq -r 'join(",")') + + echo "Compiling with test_build_components.py..." + + # Run build and extract memory with auto-detection of build directory for detailed analysis + # Use tee to show output in CI while also piping to extraction script + python script/test_build_components.py \ + -e compile \ + -c "$component_list" \ + -t "$platform" 2>&1 | \ + tee /dev/stderr | \ + python script/ci_memory_impact_extract.py \ + --output-env \ + --output-json memory-analysis-pr.json + - name: Upload memory analysis JSON + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + with: + name: memory-analysis-pr + path: memory-analysis-pr.json + if-no-files-found: warn + retention-days: 1 + + memory-impact-comment: + name: Comment memory impact + runs-on: ubuntu-24.04 + needs: + - common + - determine-jobs + - memory-impact-target-branch + - memory-impact-pr-branch + if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.memory_impact).should_run == 'true' && needs.memory-impact-target-branch.outputs.skip != 'true' + permissions: + contents: read + pull-requests: write + steps: + - name: Check out code + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + - name: Restore Python + uses: ./.github/actions/restore-python + with: + python-version: ${{ env.DEFAULT_PYTHON }} + cache-key: ${{ needs.common.outputs.cache-key }} + - name: Download target analysis JSON + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + name: memory-analysis-target + path: ./memory-analysis + continue-on-error: true + - name: Download PR analysis JSON + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + name: memory-analysis-pr + path: ./memory-analysis + continue-on-error: true + - name: Post or update PR comment + env: + GH_TOKEN: ${{ github.token }} + COMPONENTS: ${{ toJSON(fromJSON(needs.determine-jobs.outputs.memory_impact).components) }} + PLATFORM: ${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }} + TARGET_RAM: ${{ needs.memory-impact-target-branch.outputs.ram_usage }} + TARGET_FLASH: ${{ needs.memory-impact-target-branch.outputs.flash_usage }} + PR_RAM: ${{ needs.memory-impact-pr-branch.outputs.ram_usage }} + PR_FLASH: ${{ needs.memory-impact-pr-branch.outputs.flash_usage }} + TARGET_CACHE_HIT: ${{ needs.memory-impact-target-branch.outputs.cache_hit }} + run: | + . venv/bin/activate + + # Check if analysis JSON files exist + target_json_arg="" + pr_json_arg="" + + if [ -f ./memory-analysis/memory-analysis-target.json ]; then + echo "Found target analysis JSON" + target_json_arg="--target-json ./memory-analysis/memory-analysis-target.json" + else + echo "No target analysis JSON found" + fi + + if [ -f ./memory-analysis/memory-analysis-pr.json ]; then + echo "Found PR analysis JSON" + pr_json_arg="--pr-json ./memory-analysis/memory-analysis-pr.json" + else + echo "No PR analysis JSON found" + fi + + # Add cache flag if target was cached + cache_flag="" + if [ "$TARGET_CACHE_HIT" == "true" ]; then + cache_flag="--target-cache-hit" + fi + + python script/ci_memory_impact_comment.py \ + --pr-number "${{ github.event.pull_request.number }}" \ + --components "$COMPONENTS" \ + --platform "$PLATFORM" \ + --target-ram "$TARGET_RAM" \ + --target-flash "$TARGET_FLASH" \ + --pr-ram "$PR_RAM" \ + --pr-flash "$PR_FLASH" \ + $target_json_arg \ + $pr_json_arg \ + $cache_flag + ci-status: name: CI Status runs-on: ubuntu-24.04 @@ -535,6 +823,9 @@ jobs: - test-build-components-splitter - test-build-components-split - pre-commit-ci-lite + - memory-impact-target-branch + - memory-impact-pr-branch + - memory-impact-comment if: always() steps: - name: Success diff --git a/esphome/__main__.py b/esphome/__main__.py index d9bdfb175b..a0b7d16ae9 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -466,7 +466,9 @@ def write_cpp_file() -> int: def compile_program(args: ArgsProtocol, config: ConfigType) -> int: from esphome import platformio_api - _LOGGER.info("Compiling app...") + # NOTE: "Build path:" format is parsed by script/ci_memory_impact_extract.py + # If you change this format, update the regex in that script as well + _LOGGER.info("Compiling app... Build path: %s", CORE.build_path) rc = platformio_api.run_compile(config, CORE.verbose) if rc != 0: return rc diff --git a/esphome/analyze_memory/__init__.py b/esphome/analyze_memory/__init__.py new file mode 100644 index 0000000000..71e86e3788 --- /dev/null +++ b/esphome/analyze_memory/__init__.py @@ -0,0 +1,502 @@ +"""Memory usage analyzer for ESPHome compiled binaries.""" + +from collections import defaultdict +from dataclasses import dataclass, field +import logging +from pathlib import Path +import re +import subprocess +from typing import TYPE_CHECKING + +from .const import ( + CORE_SUBCATEGORY_PATTERNS, + DEMANGLED_PATTERNS, + ESPHOME_COMPONENT_PATTERN, + SECTION_TO_ATTR, + SYMBOL_PATTERNS, +) +from .helpers import ( + get_component_class_patterns, + get_esphome_components, + map_section_name, + parse_symbol_line, +) + +if TYPE_CHECKING: + from esphome.platformio_api import IDEData + +_LOGGER = logging.getLogger(__name__) + +# GCC global constructor/destructor prefix annotations +_GCC_PREFIX_ANNOTATIONS = { + "_GLOBAL__sub_I_": "global constructor for", + "_GLOBAL__sub_D_": "global destructor for", +} + +# GCC optimization suffix pattern (e.g., $isra$0, $part$1, $constprop$2) +_GCC_OPTIMIZATION_SUFFIX_PATTERN = re.compile(r"(\$(?:isra|part|constprop)\$\d+)") + +# C++ runtime patterns for categorization +_CPP_RUNTIME_PATTERNS = frozenset(["vtable", "typeinfo", "thunk"]) + +# libc printf/scanf family base names (used to detect variants like _printf_r, vfprintf, etc.) +_LIBC_PRINTF_SCANF_FAMILY = frozenset(["printf", "fprintf", "sprintf", "scanf"]) + +# Regex pattern for parsing readelf section headers +# Format: [ #] name type addr off size +_READELF_SECTION_PATTERN = re.compile( + r"\s*\[\s*\d+\]\s+([\.\w]+)\s+\w+\s+[\da-fA-F]+\s+[\da-fA-F]+\s+([\da-fA-F]+)" +) + +# Component category prefixes +_COMPONENT_PREFIX_ESPHOME = "[esphome]" +_COMPONENT_PREFIX_EXTERNAL = "[external]" +_COMPONENT_CORE = f"{_COMPONENT_PREFIX_ESPHOME}core" +_COMPONENT_API = f"{_COMPONENT_PREFIX_ESPHOME}api" + +# C++ namespace prefixes +_NAMESPACE_ESPHOME = "esphome::" +_NAMESPACE_STD = "std::" + +# Type alias for symbol information: (symbol_name, size, component) +SymbolInfoType = tuple[str, int, str] + + +@dataclass +class MemorySection: + """Represents a memory section with its symbols.""" + + name: str + symbols: list[SymbolInfoType] = field(default_factory=list) + total_size: int = 0 + + +@dataclass +class ComponentMemory: + """Tracks memory usage for a component.""" + + name: str + text_size: int = 0 # Code in flash + rodata_size: int = 0 # Read-only data in flash + data_size: int = 0 # Initialized data (flash + ram) + bss_size: int = 0 # Uninitialized data (ram only) + symbol_count: int = 0 + + @property + def flash_total(self) -> int: + """Total flash usage (text + rodata + data).""" + return self.text_size + self.rodata_size + self.data_size + + @property + def ram_total(self) -> int: + """Total RAM usage (data + bss).""" + return self.data_size + self.bss_size + + +class MemoryAnalyzer: + """Analyzes memory usage from ELF files.""" + + def __init__( + self, + elf_path: str, + objdump_path: str | None = None, + readelf_path: str | None = None, + external_components: set[str] | None = None, + idedata: "IDEData | None" = None, + ) -> None: + """Initialize memory analyzer. + + Args: + elf_path: Path to ELF file to analyze + objdump_path: Path to objdump binary (auto-detected from idedata if not provided) + readelf_path: Path to readelf binary (auto-detected from idedata if not provided) + external_components: Set of external component names + idedata: Optional PlatformIO IDEData object to auto-detect toolchain paths + """ + self.elf_path = Path(elf_path) + if not self.elf_path.exists(): + raise FileNotFoundError(f"ELF file not found: {elf_path}") + + # Auto-detect toolchain paths from idedata if not provided + if idedata is not None and (objdump_path is None or readelf_path is None): + objdump_path = objdump_path or idedata.objdump_path + readelf_path = readelf_path or idedata.readelf_path + _LOGGER.debug("Using toolchain paths from PlatformIO idedata") + + self.objdump_path = objdump_path or "objdump" + self.readelf_path = readelf_path or "readelf" + self.external_components = external_components or set() + + self.sections: dict[str, MemorySection] = {} + self.components: dict[str, ComponentMemory] = defaultdict( + lambda: ComponentMemory("") + ) + self._demangle_cache: dict[str, str] = {} + self._uncategorized_symbols: list[tuple[str, str, int]] = [] + self._esphome_core_symbols: list[ + tuple[str, str, int] + ] = [] # Track core symbols + self._component_symbols: dict[str, list[tuple[str, str, int]]] = defaultdict( + list + ) # Track symbols for all components + + def analyze(self) -> dict[str, ComponentMemory]: + """Analyze the ELF file and return component memory usage.""" + self._parse_sections() + self._parse_symbols() + self._categorize_symbols() + return dict(self.components) + + def _parse_sections(self) -> None: + """Parse section headers from ELF file.""" + result = subprocess.run( + [self.readelf_path, "-S", str(self.elf_path)], + capture_output=True, + text=True, + check=True, + ) + + # Parse section headers + for line in result.stdout.splitlines(): + # Look for section entries + if not (match := _READELF_SECTION_PATTERN.match(line)): + continue + + section_name = match.group(1) + size_hex = match.group(2) + size = int(size_hex, 16) + + # Map to standard section name + mapped_section = map_section_name(section_name) + if not mapped_section: + continue + + if mapped_section not in self.sections: + self.sections[mapped_section] = MemorySection(mapped_section) + self.sections[mapped_section].total_size += size + + def _parse_symbols(self) -> None: + """Parse symbols from ELF file.""" + result = subprocess.run( + [self.objdump_path, "-t", str(self.elf_path)], + capture_output=True, + text=True, + check=True, + ) + + # Track seen addresses to avoid duplicates + seen_addresses: set[str] = set() + + for line in result.stdout.splitlines(): + if not (symbol_info := parse_symbol_line(line)): + continue + + section, name, size, address = symbol_info + + # Skip duplicate symbols at the same address (e.g., C1/C2 constructors) + if address in seen_addresses or section not in self.sections: + continue + + self.sections[section].symbols.append((name, size, "")) + seen_addresses.add(address) + + def _categorize_symbols(self) -> None: + """Categorize symbols by component.""" + # First, collect all unique symbol names for batch demangling + all_symbols = { + symbol_name + for section in self.sections.values() + for symbol_name, _, _ in section.symbols + } + + # Batch demangle all symbols at once + self._batch_demangle_symbols(list(all_symbols)) + + # Now categorize with cached demangled names + for section_name, section in self.sections.items(): + for symbol_name, size, _ in section.symbols: + component = self._identify_component(symbol_name) + + if component not in self.components: + self.components[component] = ComponentMemory(component) + + comp_mem = self.components[component] + comp_mem.symbol_count += 1 + + # Update the appropriate size attribute based on section + if attr_name := SECTION_TO_ATTR.get(section_name): + setattr(comp_mem, attr_name, getattr(comp_mem, attr_name) + size) + + # Track uncategorized symbols + if component == "other" and size > 0: + demangled = self._demangle_symbol(symbol_name) + self._uncategorized_symbols.append((symbol_name, demangled, size)) + + # Track ESPHome core symbols for detailed analysis + if component == _COMPONENT_CORE and size > 0: + demangled = self._demangle_symbol(symbol_name) + self._esphome_core_symbols.append((symbol_name, demangled, size)) + + # Track all component symbols for detailed analysis + if size > 0: + demangled = self._demangle_symbol(symbol_name) + self._component_symbols[component].append( + (symbol_name, demangled, size) + ) + + def _identify_component(self, symbol_name: str) -> str: + """Identify which component a symbol belongs to.""" + # Demangle C++ names if needed + demangled = self._demangle_symbol(symbol_name) + + # Check for special component classes first (before namespace pattern) + # This handles cases like esphome::ESPHomeOTAComponent which should map to ota + if _NAMESPACE_ESPHOME in demangled: + # Check for special component classes that include component name in the class + # For example: esphome::ESPHomeOTAComponent -> ota component + for component_name in get_esphome_components(): + patterns = get_component_class_patterns(component_name) + if any(pattern in demangled for pattern in patterns): + return f"{_COMPONENT_PREFIX_ESPHOME}{component_name}" + + # Check for ESPHome component namespaces + match = ESPHOME_COMPONENT_PATTERN.search(demangled) + if match: + component_name = match.group(1) + # Strip trailing underscore if present (e.g., switch_ -> switch) + component_name = component_name.rstrip("_") + + # Check if this is an actual component in the components directory + if component_name in get_esphome_components(): + return f"{_COMPONENT_PREFIX_ESPHOME}{component_name}" + # Check if this is a known external component from the config + if component_name in self.external_components: + return f"{_COMPONENT_PREFIX_EXTERNAL}{component_name}" + # Everything else in esphome:: namespace is core + return _COMPONENT_CORE + + # Check for esphome core namespace (no component namespace) + if _NAMESPACE_ESPHOME in demangled: + # If no component match found, it's core + return _COMPONENT_CORE + + # Check against symbol patterns + for component, patterns in SYMBOL_PATTERNS.items(): + if any(pattern in symbol_name for pattern in patterns): + return component + + # Check against demangled patterns + for component, patterns in DEMANGLED_PATTERNS.items(): + if any(pattern in demangled for pattern in patterns): + return component + + # Special cases that need more complex logic + + # Check if spi_flash vs spi_driver + if "spi_" in symbol_name or "SPI" in symbol_name: + return "spi_flash" if "spi_flash" in symbol_name else "spi_driver" + + # libc special printf variants + if ( + symbol_name.startswith("_") + and symbol_name[1:].replace("_r", "").replace("v", "").replace("s", "") + in _LIBC_PRINTF_SCANF_FAMILY + ): + return "libc" + + # Track uncategorized symbols for analysis + return "other" + + def _batch_demangle_symbols(self, symbols: list[str]) -> None: + """Batch demangle C++ symbol names for efficiency.""" + if not symbols: + return + + # Try to find the appropriate c++filt for the platform + cppfilt_cmd = "c++filt" + + _LOGGER.info("Demangling %d symbols", len(symbols)) + _LOGGER.debug("objdump_path = %s", self.objdump_path) + + # Check if we have a toolchain-specific c++filt + if self.objdump_path and self.objdump_path != "objdump": + # Replace objdump with c++filt in the path + potential_cppfilt = self.objdump_path.replace("objdump", "c++filt") + _LOGGER.info("Checking for toolchain c++filt at: %s", potential_cppfilt) + if Path(potential_cppfilt).exists(): + cppfilt_cmd = potential_cppfilt + _LOGGER.info("✓ Using toolchain c++filt: %s", cppfilt_cmd) + else: + _LOGGER.info( + "✗ Toolchain c++filt not found at %s, using system c++filt", + potential_cppfilt, + ) + else: + _LOGGER.info("✗ Using system c++filt (objdump_path=%s)", self.objdump_path) + + # Strip GCC optimization suffixes and prefixes before demangling + # Suffixes like $isra$0, $part$0, $constprop$0 confuse c++filt + # Prefixes like _GLOBAL__sub_I_ need to be removed and tracked + symbols_stripped: list[str] = [] + symbols_prefixes: list[str] = [] # Track removed prefixes + for symbol in symbols: + # Remove GCC optimization markers + stripped = _GCC_OPTIMIZATION_SUFFIX_PATTERN.sub("", symbol) + + # Handle GCC global constructor/initializer prefixes + # _GLOBAL__sub_I_ -> extract for demangling + prefix = "" + for gcc_prefix in _GCC_PREFIX_ANNOTATIONS: + if stripped.startswith(gcc_prefix): + prefix = gcc_prefix + stripped = stripped[len(prefix) :] + break + + symbols_stripped.append(stripped) + symbols_prefixes.append(prefix) + + try: + # Send all symbols to c++filt at once + result = subprocess.run( + [cppfilt_cmd], + input="\n".join(symbols_stripped), + capture_output=True, + text=True, + check=False, + ) + except (subprocess.SubprocessError, OSError, UnicodeDecodeError) as e: + # On error, cache originals + _LOGGER.warning("Failed to batch demangle symbols: %s", e) + for symbol in symbols: + self._demangle_cache[symbol] = symbol + return + + if result.returncode != 0: + _LOGGER.warning( + "c++filt exited with code %d: %s", + result.returncode, + result.stderr[:200] if result.stderr else "(no error output)", + ) + # Cache originals on failure + for symbol in symbols: + self._demangle_cache[symbol] = symbol + return + + # Process demangled output + self._process_demangled_output( + symbols, symbols_stripped, symbols_prefixes, result.stdout, cppfilt_cmd + ) + + def _process_demangled_output( + self, + symbols: list[str], + symbols_stripped: list[str], + symbols_prefixes: list[str], + demangled_output: str, + cppfilt_cmd: str, + ) -> None: + """Process demangled symbol output and populate cache. + + Args: + symbols: Original symbol names + symbols_stripped: Stripped symbol names sent to c++filt + symbols_prefixes: Removed prefixes to restore + demangled_output: Output from c++filt + cppfilt_cmd: Path to c++filt command (for logging) + """ + demangled_lines = demangled_output.strip().split("\n") + failed_count = 0 + + for original, stripped, prefix, demangled in zip( + symbols, symbols_stripped, symbols_prefixes, demangled_lines + ): + # Add back any prefix that was removed + demangled = self._restore_symbol_prefix(prefix, stripped, demangled) + + # If we stripped a suffix, add it back to the demangled name for clarity + if original != stripped and not prefix: + demangled = self._restore_symbol_suffix(original, demangled) + + self._demangle_cache[original] = demangled + + # Log symbols that failed to demangle (stayed the same as stripped version) + if stripped == demangled and stripped.startswith("_Z"): + failed_count += 1 + if failed_count <= 5: # Only log first 5 failures + _LOGGER.warning("Failed to demangle: %s", original) + + if failed_count == 0: + _LOGGER.info("Successfully demangled all %d symbols", len(symbols)) + return + + _LOGGER.warning( + "Failed to demangle %d/%d symbols using %s", + failed_count, + len(symbols), + cppfilt_cmd, + ) + + @staticmethod + def _restore_symbol_prefix(prefix: str, stripped: str, demangled: str) -> str: + """Restore prefix that was removed before demangling. + + Args: + prefix: Prefix that was removed (e.g., "_GLOBAL__sub_I_") + stripped: Stripped symbol name + demangled: Demangled symbol name + + Returns: + Demangled name with prefix restored/annotated + """ + if not prefix: + return demangled + + # Successfully demangled - add descriptive prefix + if demangled != stripped and ( + annotation := _GCC_PREFIX_ANNOTATIONS.get(prefix) + ): + return f"[{annotation}: {demangled}]" + + # Failed to demangle - restore original prefix + return prefix + demangled + + @staticmethod + def _restore_symbol_suffix(original: str, demangled: str) -> str: + """Restore GCC optimization suffix that was removed before demangling. + + Args: + original: Original symbol name with suffix + demangled: Demangled symbol name without suffix + + Returns: + Demangled name with suffix annotation + """ + if suffix_match := _GCC_OPTIMIZATION_SUFFIX_PATTERN.search(original): + return f"{demangled} [{suffix_match.group(1)}]" + return demangled + + def _demangle_symbol(self, symbol: str) -> str: + """Get demangled C++ symbol name from cache.""" + return self._demangle_cache.get(symbol, symbol) + + def _categorize_esphome_core_symbol(self, demangled: str) -> str: + """Categorize ESPHome core symbols into subcategories.""" + # Special patterns that need to be checked separately + if any(pattern in demangled for pattern in _CPP_RUNTIME_PATTERNS): + return "C++ Runtime (vtables/RTTI)" + + if demangled.startswith(_NAMESPACE_STD): + return "C++ STL" + + # Check against patterns from const.py + for category, patterns in CORE_SUBCATEGORY_PATTERNS.items(): + if any(pattern in demangled for pattern in patterns): + return category + + return "Other Core" + + +if __name__ == "__main__": + from .cli import main + + main() diff --git a/esphome/analyze_memory/__main__.py b/esphome/analyze_memory/__main__.py new file mode 100644 index 0000000000..aa772c3ad4 --- /dev/null +++ b/esphome/analyze_memory/__main__.py @@ -0,0 +1,6 @@ +"""Main entry point for running the memory analyzer as a module.""" + +from .cli import main + +if __name__ == "__main__": + main() diff --git a/esphome/analyze_memory/cli.py b/esphome/analyze_memory/cli.py new file mode 100644 index 0000000000..1695a00c19 --- /dev/null +++ b/esphome/analyze_memory/cli.py @@ -0,0 +1,408 @@ +"""CLI interface for memory analysis with report generation.""" + +from collections import defaultdict +import sys + +from . import ( + _COMPONENT_API, + _COMPONENT_CORE, + _COMPONENT_PREFIX_ESPHOME, + _COMPONENT_PREFIX_EXTERNAL, + MemoryAnalyzer, +) + + +class MemoryAnalyzerCLI(MemoryAnalyzer): + """Memory analyzer with CLI-specific report generation.""" + + # Column width constants + COL_COMPONENT: int = 29 + COL_FLASH_TEXT: int = 14 + COL_FLASH_DATA: int = 14 + COL_RAM_DATA: int = 12 + COL_RAM_BSS: int = 12 + COL_TOTAL_FLASH: int = 15 + COL_TOTAL_RAM: int = 12 + COL_SEPARATOR: int = 3 # " | " + + # Core analysis column widths + COL_CORE_SUBCATEGORY: int = 30 + COL_CORE_SIZE: int = 12 + COL_CORE_COUNT: int = 6 + COL_CORE_PERCENT: int = 10 + + # Calculate table width once at class level + TABLE_WIDTH: int = ( + COL_COMPONENT + + COL_SEPARATOR + + COL_FLASH_TEXT + + COL_SEPARATOR + + COL_FLASH_DATA + + COL_SEPARATOR + + COL_RAM_DATA + + COL_SEPARATOR + + COL_RAM_BSS + + COL_SEPARATOR + + COL_TOTAL_FLASH + + COL_SEPARATOR + + COL_TOTAL_RAM + ) + + @staticmethod + def _make_separator_line(*widths: int) -> str: + """Create a separator line with given column widths. + + Args: + widths: Column widths to create separators for + + Returns: + Separator line like "----+---------+-----" + """ + return "-+-".join("-" * width for width in widths) + + # Pre-computed separator lines + MAIN_TABLE_SEPARATOR: str = _make_separator_line( + COL_COMPONENT, + COL_FLASH_TEXT, + COL_FLASH_DATA, + COL_RAM_DATA, + COL_RAM_BSS, + COL_TOTAL_FLASH, + COL_TOTAL_RAM, + ) + + CORE_TABLE_SEPARATOR: str = _make_separator_line( + COL_CORE_SUBCATEGORY, + COL_CORE_SIZE, + COL_CORE_COUNT, + COL_CORE_PERCENT, + ) + + def generate_report(self, detailed: bool = False) -> str: + """Generate a formatted memory report.""" + components = sorted( + self.components.items(), key=lambda x: x[1].flash_total, reverse=True + ) + + # Calculate totals + total_flash = sum(c.flash_total for _, c in components) + total_ram = sum(c.ram_total for _, c in components) + + # Build report + lines: list[str] = [] + + lines.append("=" * self.TABLE_WIDTH) + lines.append("Component Memory Analysis".center(self.TABLE_WIDTH)) + lines.append("=" * self.TABLE_WIDTH) + lines.append("") + + # Main table - fixed column widths + lines.append( + f"{'Component':<{self.COL_COMPONENT}} | {'Flash (text)':>{self.COL_FLASH_TEXT}} | {'Flash (data)':>{self.COL_FLASH_DATA}} | {'RAM (data)':>{self.COL_RAM_DATA}} | {'RAM (bss)':>{self.COL_RAM_BSS}} | {'Total Flash':>{self.COL_TOTAL_FLASH}} | {'Total RAM':>{self.COL_TOTAL_RAM}}" + ) + lines.append(self.MAIN_TABLE_SEPARATOR) + + for name, mem in components: + if mem.flash_total > 0 or mem.ram_total > 0: + flash_rodata = mem.rodata_size + mem.data_size + lines.append( + f"{name:<{self.COL_COMPONENT}} | {mem.text_size:>{self.COL_FLASH_TEXT - 2},} B | {flash_rodata:>{self.COL_FLASH_DATA - 2},} B | " + f"{mem.data_size:>{self.COL_RAM_DATA - 2},} B | {mem.bss_size:>{self.COL_RAM_BSS - 2},} B | " + f"{mem.flash_total:>{self.COL_TOTAL_FLASH - 2},} B | {mem.ram_total:>{self.COL_TOTAL_RAM - 2},} B" + ) + + lines.append(self.MAIN_TABLE_SEPARATOR) + lines.append( + f"{'TOTAL':<{self.COL_COMPONENT}} | {' ':>{self.COL_FLASH_TEXT}} | {' ':>{self.COL_FLASH_DATA}} | " + f"{' ':>{self.COL_RAM_DATA}} | {' ':>{self.COL_RAM_BSS}} | " + f"{total_flash:>{self.COL_TOTAL_FLASH - 2},} B | {total_ram:>{self.COL_TOTAL_RAM - 2},} B" + ) + + # Top consumers + lines.append("") + lines.append("Top Flash Consumers:") + for i, (name, mem) in enumerate(components[:25]): + if mem.flash_total > 0: + percentage = ( + (mem.flash_total / total_flash * 100) if total_flash > 0 else 0 + ) + lines.append( + f"{i + 1}. {name} ({mem.flash_total:,} B) - {percentage:.1f}% of analyzed flash" + ) + + lines.append("") + lines.append("Top RAM Consumers:") + ram_components = sorted(components, key=lambda x: x[1].ram_total, reverse=True) + for i, (name, mem) in enumerate(ram_components[:25]): + if mem.ram_total > 0: + percentage = (mem.ram_total / total_ram * 100) if total_ram > 0 else 0 + lines.append( + f"{i + 1}. {name} ({mem.ram_total:,} B) - {percentage:.1f}% of analyzed RAM" + ) + + lines.append("") + lines.append( + "Note: This analysis covers symbols in the ELF file. Some runtime allocations may not be included." + ) + lines.append("=" * self.TABLE_WIDTH) + + # Add ESPHome core detailed analysis if there are core symbols + if self._esphome_core_symbols: + lines.append("") + lines.append("=" * self.TABLE_WIDTH) + lines.append( + f"{_COMPONENT_CORE} Detailed Analysis".center(self.TABLE_WIDTH) + ) + lines.append("=" * self.TABLE_WIDTH) + lines.append("") + + # Group core symbols by subcategory + core_subcategories: dict[str, list[tuple[str, str, int]]] = defaultdict( + list + ) + + for symbol, demangled, size in self._esphome_core_symbols: + # Categorize based on demangled name patterns + subcategory = self._categorize_esphome_core_symbol(demangled) + core_subcategories[subcategory].append((symbol, demangled, size)) + + # Sort subcategories by total size + sorted_subcategories = sorted( + [ + (name, symbols, sum(s[2] for s in symbols)) + for name, symbols in core_subcategories.items() + ], + key=lambda x: x[2], + reverse=True, + ) + + lines.append( + f"{'Subcategory':<{self.COL_CORE_SUBCATEGORY}} | {'Size':>{self.COL_CORE_SIZE}} | " + f"{'Count':>{self.COL_CORE_COUNT}} | {'% of Core':>{self.COL_CORE_PERCENT}}" + ) + lines.append(self.CORE_TABLE_SEPARATOR) + + core_total = sum(size for _, _, size in self._esphome_core_symbols) + + for subcategory, symbols, total_size in sorted_subcategories: + percentage = (total_size / core_total * 100) if core_total > 0 else 0 + lines.append( + f"{subcategory:<{self.COL_CORE_SUBCATEGORY}} | {total_size:>{self.COL_CORE_SIZE - 2},} B | " + f"{len(symbols):>{self.COL_CORE_COUNT}} | {percentage:>{self.COL_CORE_PERCENT - 1}.1f}%" + ) + + # Top 15 largest core symbols + lines.append("") + lines.append(f"Top 15 Largest {_COMPONENT_CORE} Symbols:") + sorted_core_symbols = sorted( + self._esphome_core_symbols, key=lambda x: x[2], reverse=True + ) + + for i, (symbol, demangled, size) in enumerate(sorted_core_symbols[:15]): + lines.append(f"{i + 1}. {demangled} ({size:,} B)") + + lines.append("=" * self.TABLE_WIDTH) + + # Add detailed analysis for top ESPHome and external components + esphome_components = [ + (name, mem) + for name, mem in components + if name.startswith(_COMPONENT_PREFIX_ESPHOME) and name != _COMPONENT_CORE + ] + external_components = [ + (name, mem) + for name, mem in components + if name.startswith(_COMPONENT_PREFIX_EXTERNAL) + ] + + top_esphome_components = sorted( + esphome_components, key=lambda x: x[1].flash_total, reverse=True + )[:30] + + # Include all external components (they're usually important) + top_external_components = sorted( + external_components, key=lambda x: x[1].flash_total, reverse=True + ) + + # Check if API component exists and ensure it's included + api_component = None + for name, mem in components: + if name == _COMPONENT_API: + api_component = (name, mem) + break + + # Combine all components to analyze: top ESPHome + all external + API if not already included + components_to_analyze = list(top_esphome_components) + list( + top_external_components + ) + if api_component and api_component not in components_to_analyze: + components_to_analyze.append(api_component) + + if components_to_analyze: + for comp_name, comp_mem in components_to_analyze: + if not (comp_symbols := self._component_symbols.get(comp_name, [])): + continue + lines.append("") + lines.append("=" * self.TABLE_WIDTH) + lines.append(f"{comp_name} Detailed Analysis".center(self.TABLE_WIDTH)) + lines.append("=" * self.TABLE_WIDTH) + lines.append("") + + # Sort symbols by size + sorted_symbols = sorted(comp_symbols, key=lambda x: x[2], reverse=True) + + lines.append(f"Total symbols: {len(sorted_symbols)}") + lines.append(f"Total size: {comp_mem.flash_total:,} B") + lines.append("") + + # Show all symbols > 100 bytes for better visibility + large_symbols = [ + (sym, dem, size) for sym, dem, size in sorted_symbols if size > 100 + ] + + lines.append( + f"{comp_name} Symbols > 100 B ({len(large_symbols)} symbols):" + ) + for i, (symbol, demangled, size) in enumerate(large_symbols): + lines.append(f"{i + 1}. {demangled} ({size:,} B)") + + lines.append("=" * self.TABLE_WIDTH) + + return "\n".join(lines) + + def dump_uncategorized_symbols(self, output_file: str | None = None) -> None: + """Dump uncategorized symbols for analysis.""" + # Sort by size descending + sorted_symbols = sorted( + self._uncategorized_symbols, key=lambda x: x[2], reverse=True + ) + + lines = ["Uncategorized Symbols Analysis", "=" * 80] + lines.append(f"Total uncategorized symbols: {len(sorted_symbols)}") + lines.append( + f"Total uncategorized size: {sum(s[2] for s in sorted_symbols):,} bytes" + ) + lines.append("") + lines.append(f"{'Size':>10} | {'Symbol':<60} | Demangled") + lines.append("-" * 10 + "-+-" + "-" * 60 + "-+-" + "-" * 40) + + for symbol, demangled, size in sorted_symbols[:100]: # Top 100 + demangled_display = ( + demangled[:100] if symbol != demangled else "[not demangled]" + ) + lines.append(f"{size:>10,} | {symbol[:60]:<60} | {demangled_display}") + + if len(sorted_symbols) > 100: + lines.append(f"\n... and {len(sorted_symbols) - 100} more symbols") + + content = "\n".join(lines) + + if output_file: + with open(output_file, "w", encoding="utf-8") as f: + f.write(content) + else: + print(content) + + +def analyze_elf( + elf_path: str, + objdump_path: str | None = None, + readelf_path: str | None = None, + detailed: bool = False, + external_components: set[str] | None = None, +) -> str: + """Analyze an ELF file and return a memory report.""" + analyzer = MemoryAnalyzerCLI( + elf_path, objdump_path, readelf_path, external_components + ) + analyzer.analyze() + return analyzer.generate_report(detailed) + + +def main(): + """CLI entrypoint for memory analysis.""" + if len(sys.argv) < 2: + print("Usage: python -m esphome.analyze_memory ") + print("\nAnalyze memory usage from an ESPHome build directory.") + print("The build directory should contain firmware.elf and idedata will be") + print("loaded from ~/.esphome/.internal/idedata/.json") + print("\nExamples:") + print(" python -m esphome.analyze_memory ~/.esphome/build/my-device") + print(" python -m esphome.analyze_memory .esphome/build/my-device") + print(" python -m esphome.analyze_memory my-device # Short form") + sys.exit(1) + + build_dir = sys.argv[1] + + # Load build directory + import json + from pathlib import Path + + from esphome.platformio_api import IDEData + + build_path = Path(build_dir) + + # If no path separator in name, assume it's a device name + if "/" not in build_dir and not build_path.is_dir(): + # Try current directory first + cwd_path = Path.cwd() / ".esphome" / "build" / build_dir + if cwd_path.is_dir(): + build_path = cwd_path + print(f"Using build directory: {build_path}", file=sys.stderr) + else: + # Fall back to home directory + build_path = Path.home() / ".esphome" / "build" / build_dir + print(f"Using build directory: {build_path}", file=sys.stderr) + + if not build_path.is_dir(): + print(f"Error: {build_path} is not a directory", file=sys.stderr) + sys.exit(1) + + # Find firmware.elf + elf_file = None + for elf_candidate in [ + build_path / "firmware.elf", + build_path / ".pioenvs" / build_path.name / "firmware.elf", + ]: + if elf_candidate.exists(): + elf_file = str(elf_candidate) + break + + if not elf_file: + print(f"Error: firmware.elf not found in {build_dir}", file=sys.stderr) + sys.exit(1) + + # Find idedata.json - check current directory first, then home + device_name = build_path.name + idedata_candidates = [ + Path.cwd() / ".esphome" / "idedata" / f"{device_name}.json", + Path.home() / ".esphome" / "idedata" / f"{device_name}.json", + ] + + idedata = None + for idedata_path in idedata_candidates: + if not idedata_path.exists(): + continue + try: + with open(idedata_path, encoding="utf-8") as f: + raw_data = json.load(f) + idedata = IDEData(raw_data) + print(f"Loaded idedata from: {idedata_path}", file=sys.stderr) + break + except (json.JSONDecodeError, OSError) as e: + print(f"Warning: Failed to load idedata: {e}", file=sys.stderr) + + if not idedata: + print( + f"Warning: idedata not found (searched {idedata_candidates[0]} and {idedata_candidates[1]})", + file=sys.stderr, + ) + + analyzer = MemoryAnalyzerCLI(elf_file, idedata=idedata) + analyzer.analyze() + report = analyzer.generate_report() + print(report) + + +if __name__ == "__main__": + main() diff --git a/esphome/analyze_memory/const.py b/esphome/analyze_memory/const.py new file mode 100644 index 0000000000..c60b70aeec --- /dev/null +++ b/esphome/analyze_memory/const.py @@ -0,0 +1,903 @@ +"""Constants for memory analysis symbol pattern matching.""" + +import re + +# Pattern to extract ESPHome component namespaces dynamically +ESPHOME_COMPONENT_PATTERN = re.compile(r"esphome::([a-zA-Z0-9_]+)::") + +# Section mapping for ELF file sections +# Maps standard section names to their various platform-specific variants +SECTION_MAPPING = { + ".text": frozenset([".text", ".iram"]), + ".rodata": frozenset([".rodata"]), + ".data": frozenset([".data", ".dram"]), + ".bss": frozenset([".bss"]), +} + +# Section to ComponentMemory attribute mapping +# Maps section names to the attribute name in ComponentMemory dataclass +SECTION_TO_ATTR = { + ".text": "text_size", + ".rodata": "rodata_size", + ".data": "data_size", + ".bss": "bss_size", +} + +# Component identification rules +# Symbol patterns: patterns found in raw symbol names +SYMBOL_PATTERNS = { + "freertos": [ + "vTask", + "xTask", + "xQueue", + "pvPort", + "vPort", + "uxTask", + "pcTask", + "prvTimerTask", + "prvAddNewTaskToReadyList", + "pxReadyTasksLists", + "prvAddCurrentTaskToDelayedList", + "xEventGroupWaitBits", + "xRingbufferSendFromISR", + "prvSendItemDoneNoSplit", + "prvReceiveGeneric", + "prvSendAcquireGeneric", + "prvCopyItemAllowSplit", + "xEventGroup", + "xRingbuffer", + "prvSend", + "prvReceive", + "prvCopy", + "xPort", + "ulTaskGenericNotifyTake", + "prvIdleTask", + "prvInitialiseNewTask", + "prvIsYieldRequiredSMP", + "prvGetItemByteBuf", + "prvInitializeNewRingbuffer", + "prvAcquireItemNoSplit", + "prvNotifyQueueSetContainer", + "ucStaticTimerQueueStorage", + "eTaskGetState", + "main_task", + "do_system_init_fn", + "xSemaphoreCreateGenericWithCaps", + "vListInsert", + "uxListRemove", + "vRingbufferReturnItem", + "vRingbufferReturnItemFromISR", + "prvCheckItemFitsByteBuffer", + "prvGetCurMaxSizeAllowSplit", + "tick_hook", + "sys_sem_new", + "sys_arch_mbox_fetch", + "sys_arch_sem_wait", + "prvDeleteTCB", + "vQueueDeleteWithCaps", + "vRingbufferDeleteWithCaps", + "vSemaphoreDeleteWithCaps", + "prvCheckItemAvail", + "prvCheckTaskCanBeScheduledSMP", + "prvGetCurMaxSizeNoSplit", + "prvResetNextTaskUnblockTime", + "prvReturnItemByteBuf", + "vApplicationStackOverflowHook", + "vApplicationGetIdleTaskMemory", + "sys_init", + "sys_mbox_new", + "sys_arch_mbox_tryfetch", + ], + "xtensa": ["xt_", "_xt_", "xPortEnterCriticalTimeout"], + "heap": ["heap_", "multi_heap"], + "spi_flash": ["spi_flash"], + "rtc": ["rtc_", "rtcio_ll_"], + "gpio_driver": ["gpio_", "pins"], + "uart_driver": ["uart", "_uart", "UART"], + "timer": ["timer_", "esp_timer"], + "peripherals": ["periph_", "periman"], + "network_stack": [ + "vj_compress", + "raw_sendto", + "raw_input", + "etharp_", + "icmp_input", + "socket_ipv6", + "ip_napt", + "socket_ipv4_multicast", + "socket_ipv6_multicast", + "netconn_", + "recv_raw", + "accept_function", + "netconn_recv_data", + "netconn_accept", + "netconn_write_vectors_partly", + "netconn_drain", + "raw_connect", + "raw_bind", + "icmp_send_response", + "sockets", + "icmp_dest_unreach", + "inet_chksum_pseudo", + "alloc_socket", + "done_socket", + "set_global_fd_sets", + "inet_chksum_pbuf", + "tryget_socket_unconn_locked", + "tryget_socket_unconn", + "cs_create_ctrl_sock", + "netbuf_alloc", + ], + "ipv6_stack": ["nd6_", "ip6_", "mld6_", "icmp6_", "icmp6_input"], + "wifi_stack": [ + "ieee80211", + "hostap", + "sta_", + "ap_", + "scan_", + "wifi_", + "wpa_", + "wps_", + "esp_wifi", + "cnx_", + "wpa3_", + "sae_", + "wDev_", + "ic_", + "mac_", + "esf_buf", + "gWpaSm", + "sm_WPA", + "eapol_", + "owe_", + "wifiLowLevelInit", + "s_do_mapping", + "gScanStruct", + "ppSearchTxframe", + "ppMapWaitTxq", + "ppFillAMPDUBar", + "ppCheckTxConnTrafficIdle", + "ppCalTkipMic", + ], + "bluetooth": ["bt_", "ble_", "l2c_", "gatt_", "gap_", "hci_", "BT_init"], + "wifi_bt_coex": ["coex"], + "bluetooth_rom": ["r_ble", "r_lld", "r_llc", "r_llm"], + "bluedroid_bt": [ + "bluedroid", + "btc_", + "bta_", + "btm_", + "btu_", + "BTM_", + "GATT", + "L2CA_", + "smp_", + "gatts_", + "attp_", + "l2cu_", + "l2cb", + "smp_cb", + "BTA_GATTC_", + "SMP_", + "BTU_", + "BTA_Dm", + "GAP_Ble", + "BT_tx_if", + "host_recv_pkt_cb", + "saved_local_oob_data", + "string_to_bdaddr", + "string_is_bdaddr", + "CalConnectParamTimeout", + "transmit_fragment", + "transmit_data", + "event_command_ready", + "read_command_complete_header", + "parse_read_local_extended_features_response", + "parse_read_local_version_info_response", + "should_request_high", + "btdm_wakeup_request", + "BTA_SetAttributeValue", + "BTA_EnableBluetooth", + "transmit_command_futured", + "transmit_command", + "get_waiting_command", + "make_command", + "transmit_downward", + "host_recv_adv_packet", + "copy_extra_byte_in_db", + "parse_read_local_supported_commands_response", + ], + "crypto_math": [ + "ecp_", + "bignum_", + "mpi_", + "sswu", + "modp", + "dragonfly_", + "gcm_mult", + "__multiply", + "quorem", + "__mdiff", + "__lshift", + "__mprec_tens", + "ECC_", + "multiprecision_", + "mix_sub_columns", + "sbox", + "gfm2_sbox", + "gfm3_sbox", + "curve_p256", + "curve", + "p_256_init_curve", + "shift_sub_rows", + "rshift", + ], + "hw_crypto": ["esp_aes", "esp_sha", "esp_rsa", "esp_bignum", "esp_mpi"], + "libc": [ + "printf", + "scanf", + "malloc", + "free", + "memcpy", + "memset", + "strcpy", + "strlen", + "_dtoa", + "_fopen", + "__sfvwrite_r", + "qsort", + "__sf", + "__sflush_r", + "__srefill_r", + "_impure_data", + "_reclaim_reent", + "_open_r", + "strncpy", + "_strtod_l", + "__gethex", + "__hexnan", + "_setenv_r", + "_tzset_unlocked_r", + "__tzcalc_limits", + "select", + "scalbnf", + "strtof", + "strtof_l", + "__d2b", + "__b2d", + "__s2b", + "_Balloc", + "__multadd", + "__lo0bits", + "__atexit0", + "__smakebuf_r", + "__swhatbuf_r", + "_sungetc_r", + "_close_r", + "_link_r", + "_unsetenv_r", + "_rename_r", + "__month_lengths", + "tzinfo", + "__ratio", + "__hi0bits", + "__ulp", + "__any_on", + "__copybits", + "L_shift", + "_fcntl_r", + "_lseek_r", + "_read_r", + "_write_r", + "_unlink_r", + "_fstat_r", + "access", + "fsync", + "tcsetattr", + "tcgetattr", + "tcflush", + "tcdrain", + "__ssrefill_r", + "_stat_r", + "__hexdig_fun", + "__mcmp", + "_fwalk_sglue", + "__fpclassifyf", + "_setlocale_r", + "_mbrtowc_r", + "fcntl", + "__match", + "_lock_close", + "__c$", + "__func__$", + "__FUNCTION__$", + "DAYS_IN_MONTH", + "_DAYS_BEFORE_MONTH", + "CSWTCH$", + "dst$", + "sulp", + ], + "string_ops": ["strcmp", "strncmp", "strchr", "strstr", "strtok", "strdup"], + "memory_alloc": ["malloc", "calloc", "realloc", "free", "_sbrk"], + "file_io": [ + "fread", + "fwrite", + "fopen", + "fclose", + "fseek", + "ftell", + "fflush", + "s_fd_table", + ], + "string_formatting": [ + "snprintf", + "vsnprintf", + "sprintf", + "vsprintf", + "sscanf", + "vsscanf", + ], + "cpp_anonymous": ["_GLOBAL__N_", "n$"], + "cpp_runtime": ["__cxx", "_ZN", "_ZL", "_ZSt", "__gxx_personality", "_Z16"], + "exception_handling": ["__cxa_", "_Unwind_", "__gcc_personality", "uw_frame_state"], + "static_init": ["_GLOBAL__sub_I_"], + "mdns_lib": ["mdns"], + "phy_radio": [ + "phy_", + "rf_", + "chip_", + "register_chipv7", + "pbus_", + "bb_", + "fe_", + "rfcal_", + "ram_rfcal", + "tx_pwctrl", + "rx_chan", + "set_rx_gain", + "set_chan", + "agc_reg", + "ram_txiq", + "ram_txdc", + "ram_gen_rx_gain", + "rx_11b_opt", + "set_rx_sense", + "set_rx_gain_cal", + "set_chan_dig_gain", + "tx_pwctrl_init_cal", + "rfcal_txiq", + "set_tx_gain_table", + "correct_rfpll_offset", + "pll_correct_dcap", + "txiq_cal_init", + "pwdet_sar", + "pwdet_sar2_init", + "ram_iq_est_enable", + "ram_rfpll_set_freq", + "ant_wifirx_cfg", + "ant_btrx_cfg", + "force_txrxoff", + "force_txrx_off", + "tx_paon_set", + "opt_11b_resart", + "rfpll_1p2_opt", + "ram_dc_iq_est", + "ram_start_tx_tone", + "ram_en_pwdet", + "ram_cbw2040_cfg", + "rxdc_est_min", + "i2cmst_reg_init", + "temprature_sens_read", + "ram_restart_cal", + "ram_write_gain_mem", + "ram_wait_rfpll_cal_end", + "txcal_debuge_mode", + "ant_wifitx_cfg", + "reg_init_begin", + ], + "wifi_phy_pp": ["pp_", "ppT", "ppR", "ppP", "ppInstall", "ppCalTxAMPDULength"], + "wifi_lmac": ["lmac"], + "wifi_device": ["wdev", "wDev_"], + "power_mgmt": [ + "pm_", + "sleep", + "rtc_sleep", + "light_sleep", + "deep_sleep", + "power_down", + "g_pm", + ], + "memory_mgmt": [ + "mem_", + "memory_", + "tlsf_", + "memp_", + "pbuf_", + "pbuf_alloc", + "pbuf_copy_partial_pbuf", + ], + "hal_layer": ["hal_"], + "clock_mgmt": [ + "clk_", + "clock_", + "rtc_clk", + "apb_", + "cpu_freq", + "setCpuFrequencyMhz", + ], + "cache_mgmt": ["cache"], + "flash_ops": ["flash", "image_load"], + "interrupt_handlers": [ + "isr", + "interrupt", + "intr_", + "exc_", + "exception", + "port_IntStack", + ], + "wrapper_functions": ["_wrapper"], + "error_handling": ["panic", "abort", "assert", "error_", "fault"], + "authentication": ["auth"], + "ppp_protocol": ["ppp", "ipcp_", "lcp_", "chap_", "LcpEchoCheck"], + "dhcp": ["dhcp", "handle_dhcp"], + "ethernet_phy": [ + "emac_", + "eth_phy_", + "phy_tlk110", + "phy_lan87", + "phy_ip101", + "phy_rtl", + "phy_dp83", + "phy_ksz", + "lan87xx_", + "rtl8201_", + "ip101_", + "ksz80xx_", + "jl1101_", + "dp83848_", + "eth_on_state_changed", + ], + "threading": ["pthread_", "thread_", "_task_"], + "pthread": ["pthread"], + "synchronization": ["mutex", "semaphore", "spinlock", "portMUX"], + "math_lib": [ + "sin", + "cos", + "tan", + "sqrt", + "pow", + "exp", + "log", + "atan", + "asin", + "acos", + "floor", + "ceil", + "fabs", + "round", + ], + "random": ["rand", "random", "rng_", "prng"], + "time_lib": [ + "time", + "clock", + "gettimeofday", + "settimeofday", + "localtime", + "gmtime", + "mktime", + "strftime", + ], + "console_io": ["console_", "uart_tx", "uart_rx", "puts", "putchar", "getchar"], + "rom_functions": ["r_", "rom_"], + "compiler_runtime": [ + "__divdi3", + "__udivdi3", + "__moddi3", + "__muldi3", + "__ashldi3", + "__ashrdi3", + "__lshrdi3", + "__cmpdi2", + "__fixdfdi", + "__floatdidf", + ], + "libgcc": ["libgcc", "_divdi3", "_udivdi3"], + "boot_startup": ["boot", "start_cpu", "call_start", "startup", "bootloader"], + "bootloader": ["bootloader_", "esp_bootloader"], + "app_framework": ["app_", "initArduino", "setup", "loop", "Update"], + "weak_symbols": ["__weak_"], + "compiler_builtins": ["__builtin_"], + "vfs": ["vfs_", "VFS"], + "esp32_sdk": ["esp32_", "esp32c", "esp32s"], + "usb": ["usb_", "USB", "cdc_", "CDC"], + "i2c_driver": ["i2c_", "I2C"], + "i2s_driver": ["i2s_", "I2S"], + "spi_driver": ["spi_", "SPI"], + "adc_driver": ["adc_", "ADC"], + "dac_driver": ["dac_", "DAC"], + "touch_driver": ["touch_", "TOUCH"], + "pwm_driver": ["pwm_", "PWM", "ledc_", "LEDC"], + "rmt_driver": ["rmt_", "RMT"], + "pcnt_driver": ["pcnt_", "PCNT"], + "can_driver": ["can_", "CAN", "twai_", "TWAI"], + "sdmmc_driver": ["sdmmc_", "SDMMC", "sdcard", "sd_card"], + "temp_sensor": ["temp_sensor", "tsens_"], + "watchdog": ["wdt_", "WDT", "watchdog"], + "brownout": ["brownout", "bod_"], + "ulp": ["ulp_", "ULP"], + "psram": ["psram", "PSRAM", "spiram", "SPIRAM"], + "efuse": ["efuse", "EFUSE"], + "partition": ["partition", "esp_partition"], + "esp_event": ["esp_event", "event_loop", "event_callback"], + "esp_console": ["esp_console", "console_"], + "chip_specific": ["chip_", "esp_chip"], + "esp_system_utils": ["esp_system", "esp_hw", "esp_clk", "esp_sleep"], + "ipc": ["esp_ipc", "ipc_"], + "wifi_config": [ + "g_cnxMgr", + "gChmCxt", + "g_ic", + "TxRxCxt", + "s_dp", + "s_ni", + "s_reg_dump", + "packet$", + "d_mult_table", + "K", + "fcstab", + ], + "smartconfig": ["sc_ack_send"], + "rc_calibration": ["rc_cal", "rcUpdate"], + "noise_floor": ["noise_check"], + "rf_calibration": [ + "set_rx_sense", + "set_rx_gain_cal", + "set_chan_dig_gain", + "tx_pwctrl_init_cal", + "rfcal_txiq", + "set_tx_gain_table", + "correct_rfpll_offset", + "pll_correct_dcap", + "txiq_cal_init", + "pwdet_sar", + "rx_11b_opt", + ], + "wifi_crypto": [ + "pk_use_ecparams", + "process_segments", + "ccmp_", + "rc4_", + "aria_", + "mgf_mask", + "dh_group", + "ccmp_aad_nonce", + "ccmp_encrypt", + "rc4_skip", + "aria_sb1", + "aria_sb2", + "aria_is1", + "aria_is2", + "aria_sl", + "aria_a", + ], + "radio_control": ["fsm_input", "fsm_sconfreq"], + "pbuf": [ + "pbuf_", + ], + "event_group": ["xEventGroup"], + "ringbuffer": ["xRingbuffer", "prvSend", "prvReceive", "prvCopy"], + "provisioning": ["prov_", "prov_stop_and_notify"], + "scan": ["gScanStruct"], + "port": ["xPort"], + "elf_loader": [ + "elf_add", + "elf_add_note", + "elf_add_segment", + "process_image", + "read_encoded", + "read_encoded_value", + "read_encoded_value_with_base", + "process_image_header", + ], + "socket_api": [ + "sockets", + "netconn_", + "accept_function", + "recv_raw", + "socket_ipv4_multicast", + "socket_ipv6_multicast", + ], + "igmp": ["igmp_", "igmp_send", "igmp_input"], + "icmp6": ["icmp6_"], + "arp": ["arp_table"], + "ampdu": [ + "ampdu_", + "rcAmpdu", + "trc_onAmpduOp", + "rcAmpduLowerRate", + "ampdu_dispatch_upto", + ], + "ieee802_11": ["ieee802_11_", "ieee802_11_parse_elems"], + "rate_control": ["rssi_margin", "rcGetSched", "get_rate_fcc_index"], + "nan": ["nan_dp_", "nan_dp_post_tx", "nan_dp_delete_peer"], + "channel_mgmt": ["chm_init", "chm_set_current_channel"], + "trace": ["trc_init", "trc_onAmpduOp"], + "country_code": ["country_info", "country_info_24ghz"], + "multicore": ["do_multicore_settings"], + "Update_lib": ["Update"], + "stdio": [ + "__sf", + "__sflush_r", + "__srefill_r", + "_impure_data", + "_reclaim_reent", + "_open_r", + ], + "strncpy_ops": ["strncpy"], + "math_internal": ["__mdiff", "__lshift", "__mprec_tens", "quorem"], + "character_class": ["__chclass"], + "camellia": ["camellia_", "camellia_feistel"], + "crypto_tables": ["FSb", "FSb2", "FSb3", "FSb4"], + "event_buffer": ["g_eb_list_desc", "eb_space"], + "base_node": ["base_node_", "base_node_add_handler"], + "file_descriptor": ["s_fd_table"], + "tx_delay": ["tx_delay_cfg"], + "deinit": ["deinit_functions"], + "lcp_echo": ["LcpEchoCheck"], + "raw_api": ["raw_bind", "raw_connect"], + "checksum": ["process_checksum"], + "entry_management": ["add_entry"], + "esp_ota": ["esp_ota", "ota_", "read_otadata"], + "http_server": [ + "httpd_", + "parse_url_char", + "cb_headers_complete", + "delete_entry", + "validate_structure", + "config_save", + "config_new", + "verify_url", + "cb_url", + ], + "misc_system": [ + "alarm_cbs", + "start_up", + "tokens", + "unhex", + "osi_funcs_ro", + "enum_function", + "fragment_and_dispatch", + "alarm_set", + "osi_alarm_new", + "config_set_string", + "config_update_newest_section", + "config_remove_key", + "method_strings", + "interop_match", + "interop_database", + "__state_table", + "__action_table", + "s_stub_table", + "s_context", + "s_mmu_ctx", + "s_get_bus_mask", + "hli_queue_put", + "list_remove", + "list_delete", + "lock_acquire_generic", + "is_vect_desc_usable", + "io_mode_str", + "__c$20233", + "interface", + "read_id_core", + "subscribe_idle", + "unsubscribe_idle", + "s_clkout_handle", + "lock_release_generic", + "config_set_int", + "config_get_int", + "config_get_string", + "config_has_key", + "config_remove_section", + "osi_alarm_init", + "osi_alarm_deinit", + "fixed_queue_enqueue", + "fixed_queue_dequeue", + "fixed_queue_new", + "fixed_pkt_queue_enqueue", + "fixed_pkt_queue_new", + "list_append", + "list_prepend", + "list_insert_after", + "list_contains", + "list_get_node", + "hash_function_blob", + "cb_no_body", + "cb_on_body", + "profile_tab", + "get_arg", + "trim", + "buf$", + "process_appended_hash_and_sig$constprop$0", + "uuidType", + "allocate_svc_db_buf", + "_hostname_is_ours", + "s_hli_handlers", + "tick_cb", + "idle_cb", + "input", + "entry_find", + "section_find", + "find_bucket_entry_", + "config_has_section", + "hli_queue_create", + "hli_queue_get", + "hli_c_handler", + "future_ready", + "future_await", + "future_new", + "pkt_queue_enqueue", + "pkt_queue_dequeue", + "pkt_queue_cleanup", + "pkt_queue_create", + "pkt_queue_destroy", + "fixed_pkt_queue_dequeue", + "osi_alarm_cancel", + "osi_alarm_is_active", + "osi_sem_take", + "osi_event_create", + "osi_event_bind", + "alarm_cb_handler", + "list_foreach", + "list_back", + "list_front", + "list_clear", + "fixed_queue_try_peek_first", + "translate_path", + "get_idx", + "find_key", + "init", + "end", + "start", + "set_read_value", + "copy_address_list", + "copy_and_key", + "sdk_cfg_opts", + "leftshift_onebit", + "config_section_end", + "config_section_begin", + "find_entry_and_check_all_reset", + "image_validate", + "xPendingReadyList", + "vListInitialise", + "lock_init_generic", + "ant_bttx_cfg", + "ant_dft_cfg", + "cs_send_to_ctrl_sock", + "config_llc_util_funcs_reset", + "make_set_adv_report_flow_control", + "make_set_event_mask", + "raw_new", + "raw_remove", + "BTE_InitStack", + "parse_read_local_supported_features_response", + "__math_invalidf", + "tinytens", + "__mprec_tinytens", + "__mprec_bigtens", + "vRingbufferDelete", + "vRingbufferDeleteWithCaps", + "vRingbufferReturnItem", + "vRingbufferReturnItemFromISR", + "get_acl_data_size_ble", + "get_features_ble", + "get_features_classic", + "get_acl_packet_size_ble", + "get_acl_packet_size_classic", + "supports_extended_inquiry_response", + "supports_rssi_with_inquiry_results", + "supports_interlaced_inquiry_scan", + "supports_reading_remote_extended_features", + ], + "bluetooth_ll": [ + "lld_pdu_", + "ld_acl_", + "lld_stop_ind_handler", + "lld_evt_winsize_change", + "config_lld_evt_funcs_reset", + "config_lld_funcs_reset", + "config_llm_funcs_reset", + "llm_set_long_adv_data", + "lld_retry_tx_prog", + "llc_link_sup_to_ind_handler", + "config_llc_funcs_reset", + "lld_evt_rxwin_compute", + "config_btdm_funcs_reset", + "config_ea_funcs_reset", + "llc_defalut_state_tab_reset", + "config_rwip_funcs_reset", + "ke_lmp_rx_flooding_detect", + ], +} + +# Demangled patterns: patterns found in demangled C++ names +DEMANGLED_PATTERNS = { + "gpio_driver": ["GPIO"], + "uart_driver": ["UART"], + "network_stack": [ + "lwip", + "tcp", + "udp", + "ip4", + "ip6", + "dhcp", + "dns", + "netif", + "ethernet", + "ppp", + "slip", + ], + "wifi_stack": ["NetworkInterface"], + "nimble_bt": [ + "nimble", + "NimBLE", + "ble_hs", + "ble_gap", + "ble_gatt", + "ble_att", + "ble_l2cap", + "ble_sm", + ], + "crypto": ["mbedtls", "crypto", "sha", "aes", "rsa", "ecc", "tls", "ssl"], + "cpp_stdlib": ["std::", "__gnu_cxx::", "__cxxabiv"], + "static_init": ["__static_initialization"], + "rtti": ["__type_info", "__class_type_info"], + "web_server_lib": ["AsyncWebServer", "AsyncWebHandler", "WebServer"], + "async_tcp": ["AsyncClient", "AsyncServer"], + "mdns_lib": ["mdns"], + "json_lib": [ + "ArduinoJson", + "JsonDocument", + "JsonArray", + "JsonObject", + "deserialize", + "serialize", + ], + "http_lib": ["HTTP", "http_", "Request", "Response", "Uri", "WebSocket"], + "logging": ["log", "Log", "print", "Print", "diag_"], + "authentication": ["checkDigestAuthentication"], + "libgcc": ["libgcc"], + "esp_system": ["esp_", "ESP"], + "arduino": ["arduino"], + "nvs": ["nvs_", "_ZTVN3nvs", "nvs::"], + "filesystem": ["spiffs", "vfs"], + "libc": ["newlib"], +} + +# Patterns for categorizing ESPHome core symbols into subcategories +CORE_SUBCATEGORY_PATTERNS = { + "Component Framework": ["Component"], + "Application Core": ["Application"], + "Scheduler": ["Scheduler"], + "Component Iterator": ["ComponentIterator"], + "Helper Functions": ["Helpers", "helpers"], + "Preferences/Storage": ["Preferences", "ESPPreferences"], + "I/O Utilities": ["HighFrequencyLoopRequester"], + "String Utilities": ["str_"], + "Bit Utilities": ["reverse_bits"], + "Data Conversion": ["convert_"], + "Network Utilities": ["network", "IPAddress"], + "API Protocol": ["api::"], + "WiFi Manager": ["wifi::"], + "MQTT Client": ["mqtt::"], + "Logger": ["logger::"], + "OTA Updates": ["ota::"], + "Web Server": ["web_server::"], + "Time Management": ["time::"], + "Sensor Framework": ["sensor::"], + "Binary Sensor": ["binary_sensor::"], + "Switch Framework": ["switch_::"], + "Light Framework": ["light::"], + "Climate Framework": ["climate::"], + "Cover Framework": ["cover::"], +} diff --git a/esphome/analyze_memory/helpers.py b/esphome/analyze_memory/helpers.py new file mode 100644 index 0000000000..cb503b37c5 --- /dev/null +++ b/esphome/analyze_memory/helpers.py @@ -0,0 +1,121 @@ +"""Helper functions for memory analysis.""" + +from functools import cache +from pathlib import Path + +from .const import SECTION_MAPPING + +# Import namespace constant from parent module +# Note: This would create a circular import if done at module level, +# so we'll define it locally here as well +_NAMESPACE_ESPHOME = "esphome::" + + +# Get the list of actual ESPHome components by scanning the components directory +@cache +def get_esphome_components(): + """Get set of actual ESPHome components from the components directory.""" + # Find the components directory relative to this file + # Go up two levels from analyze_memory/helpers.py to esphome/ + current_dir = Path(__file__).parent.parent + components_dir = current_dir / "components" + + if not components_dir.exists() or not components_dir.is_dir(): + return frozenset() + + return frozenset( + item.name + for item in components_dir.iterdir() + if item.is_dir() + and not item.name.startswith(".") + and not item.name.startswith("__") + ) + + +@cache +def get_component_class_patterns(component_name: str) -> list[str]: + """Generate component class name patterns for symbol matching. + + Args: + component_name: The component name (e.g., "ota", "wifi", "api") + + Returns: + List of pattern strings to match against demangled symbols + """ + component_upper = component_name.upper() + component_camel = component_name.replace("_", "").title() + return [ + f"{_NAMESPACE_ESPHOME}{component_upper}Component", # e.g., esphome::OTAComponent + f"{_NAMESPACE_ESPHOME}ESPHome{component_upper}Component", # e.g., esphome::ESPHomeOTAComponent + f"{_NAMESPACE_ESPHOME}{component_camel}Component", # e.g., esphome::OtaComponent + f"{_NAMESPACE_ESPHOME}ESPHome{component_camel}Component", # e.g., esphome::ESPHomeOtaComponent + ] + + +def map_section_name(raw_section: str) -> str | None: + """Map raw section name to standard section. + + Args: + raw_section: Raw section name from ELF file (e.g., ".iram0.text", ".rodata.str1.1") + + Returns: + Standard section name (".text", ".rodata", ".data", ".bss") or None + """ + for standard_section, patterns in SECTION_MAPPING.items(): + if any(pattern in raw_section for pattern in patterns): + return standard_section + return None + + +def parse_symbol_line(line: str) -> tuple[str, str, int, str] | None: + """Parse a single symbol line from objdump output. + + Args: + line: Line from objdump -t output + + Returns: + Tuple of (section, name, size, address) or None if not a valid symbol. + Format: address l/g w/d F/O section size name + Example: 40084870 l F .iram0.text 00000000 _xt_user_exc + """ + parts = line.split() + if len(parts) < 5: + return None + + try: + # Validate and extract address + address = parts[0] + int(address, 16) + except ValueError: + return None + + # Look for F (function) or O (object) flag + if "F" not in parts and "O" not in parts: + return None + + # Find section, size, and name + for i, part in enumerate(parts): + if not part.startswith("."): + continue + + section = map_section_name(part) + if not section: + break + + # Need at least size field after section + if i + 1 >= len(parts): + break + + try: + size = int(parts[i + 1], 16) + except ValueError: + break + + # Need symbol name and non-zero size + if i + 2 >= len(parts) or size == 0: + break + + name = " ".join(parts[i + 2 :]) + return (section, name, size, address) + + return None diff --git a/esphome/platformio_api.py b/esphome/platformio_api.py index 9418c1c7d3..d59523a74a 100644 --- a/esphome/platformio_api.py +++ b/esphome/platformio_api.py @@ -374,3 +374,23 @@ class IDEData: return f"{self.cc_path[:-7]}addr2line.exe" return f"{self.cc_path[:-3]}addr2line" + + @property + def objdump_path(self) -> str: + # replace gcc at end with objdump + path = self.cc_path + return ( + f"{path[:-7]}objdump.exe" + if path.endswith(".exe") + else f"{path[:-3]}objdump" + ) + + @property + def readelf_path(self) -> str: + # replace gcc at end with readelf + path = self.cc_path + return ( + f"{path[:-7]}readelf.exe" + if path.endswith(".exe") + else f"{path[:-3]}readelf" + ) diff --git a/script/analyze_component_buses.py b/script/analyze_component_buses.py index d0882e22e9..78f5ca3344 100755 --- a/script/analyze_component_buses.py +++ b/script/analyze_component_buses.py @@ -34,6 +34,8 @@ from typing import Any # Add esphome to path sys.path.insert(0, str(Path(__file__).parent.parent)) +from helpers import BASE_BUS_COMPONENTS + from esphome import yaml_util from esphome.config_helpers import Extend, Remove @@ -67,18 +69,6 @@ NO_BUSES_SIGNATURE = "no_buses" # Isolated components have unique signatures and cannot be merged with others ISOLATED_SIGNATURE_PREFIX = "isolated_" -# Base bus components - these ARE the bus implementations and should not -# be flagged as needing migration since they are the platform/base components -BASE_BUS_COMPONENTS = { - "i2c", - "spi", - "uart", - "modbus", - "canbus", - "remote_transmitter", - "remote_receiver", -} - # Components that must be tested in isolation (not grouped or batched with others) # These have known build issues that prevent grouping # NOTE: This should be kept in sync with both test_build_components and split_components_for_ci.py diff --git a/script/ci_helpers.py b/script/ci_helpers.py new file mode 100755 index 0000000000..48b0e4bbfe --- /dev/null +++ b/script/ci_helpers.py @@ -0,0 +1,23 @@ +"""Common helper functions for CI scripts.""" + +from __future__ import annotations + +import os + + +def write_github_output(outputs: dict[str, str | int]) -> None: + """Write multiple outputs to GITHUB_OUTPUT or stdout. + + When running in GitHub Actions, writes to the GITHUB_OUTPUT file. + When running locally, writes to stdout for debugging. + + Args: + outputs: Dictionary of key-value pairs to write + """ + github_output = os.environ.get("GITHUB_OUTPUT") + if github_output: + with open(github_output, "a", encoding="utf-8") as f: + f.writelines(f"{key}={value}\n" for key, value in outputs.items()) + else: + for key, value in outputs.items(): + print(f"{key}={value}") diff --git a/script/ci_memory_impact_comment.py b/script/ci_memory_impact_comment.py new file mode 100755 index 0000000000..4e3fbb9086 --- /dev/null +++ b/script/ci_memory_impact_comment.py @@ -0,0 +1,570 @@ +#!/usr/bin/env python3 +"""Post or update a PR comment with memory impact analysis results. + +This script creates or updates a GitHub PR comment with memory usage changes. +It uses the GitHub CLI (gh) to manage comments and maintains a single comment +that gets updated on subsequent runs. +""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path +import subprocess +import sys + +from jinja2 import Environment, FileSystemLoader + +# Add esphome to path for analyze_memory import +sys.path.insert(0, str(Path(__file__).parent.parent)) + +# pylint: disable=wrong-import-position + +# Comment marker to identify our memory impact comments +COMMENT_MARKER = "" + +# Thresholds for emoji significance indicators (percentage) +OVERALL_CHANGE_THRESHOLD = 1.0 # Overall RAM/Flash changes +COMPONENT_CHANGE_THRESHOLD = 3.0 # Component breakdown changes + +# Display limits for tables +MAX_COMPONENT_BREAKDOWN_ROWS = 20 # Maximum components to show in breakdown table +MAX_CHANGED_SYMBOLS_ROWS = 30 # Maximum changed symbols to show +MAX_NEW_SYMBOLS_ROWS = 15 # Maximum new symbols to show +MAX_REMOVED_SYMBOLS_ROWS = 15 # Maximum removed symbols to show + +# Symbol display formatting +SYMBOL_DISPLAY_MAX_LENGTH = 100 # Max length before using
tag +SYMBOL_DISPLAY_TRUNCATE_LENGTH = 97 # Length to truncate in summary + +# Component change noise threshold +COMPONENT_CHANGE_NOISE_THRESHOLD = 2 # Ignore component changes ≤ this many bytes + +# Template directory +TEMPLATE_DIR = Path(__file__).parent / "templates" + + +def load_analysis_json(json_path: str) -> dict | None: + """Load memory analysis results from JSON file. + + Args: + json_path: Path to analysis JSON file + + Returns: + Dictionary with analysis results or None if file doesn't exist/can't be loaded + """ + json_file = Path(json_path) + if not json_file.exists(): + print(f"Analysis JSON not found: {json_path}", file=sys.stderr) + return None + + try: + with open(json_file, encoding="utf-8") as f: + return json.load(f) + except (json.JSONDecodeError, OSError) as e: + print(f"Failed to load analysis JSON: {e}", file=sys.stderr) + return None + + +def format_bytes(bytes_value: int) -> str: + """Format bytes value with comma separators. + + Args: + bytes_value: Number of bytes + + Returns: + Formatted string with comma separators (e.g., "1,234 bytes") + """ + return f"{bytes_value:,} bytes" + + +def format_change(before: int, after: int, threshold: float | None = None) -> str: + """Format memory change with delta and percentage. + + Args: + before: Memory usage before change (in bytes) + after: Memory usage after change (in bytes) + threshold: Optional percentage threshold for "significant" change. + If provided, adds supplemental emoji (🎉/🚨/🔸/✅) to chart icons. + If None, only shows chart icons (📈/📉/➡️). + + Returns: + Formatted string with delta and percentage + """ + delta = after - before + percentage = 0.0 if before == 0 else (delta / before) * 100 + + # Always use chart icons to show direction + if delta > 0: + delta_str = f"+{delta:,} bytes" + trend_icon = "📈" + # Add supplemental emoji based on threshold if provided + if threshold is not None: + significance = "🚨" if abs(percentage) > threshold else "🔸" + emoji = f"{trend_icon} {significance}" + else: + emoji = trend_icon + elif delta < 0: + delta_str = f"{delta:,} bytes" + trend_icon = "📉" + # Add supplemental emoji based on threshold if provided + if threshold is not None: + significance = "🎉" if abs(percentage) > threshold else "✅" + emoji = f"{trend_icon} {significance}" + else: + emoji = trend_icon + else: + delta_str = "+0 bytes" + emoji = "➡️" + + # Format percentage with sign + if percentage > 0: + pct_str = f"+{percentage:.2f}%" + elif percentage < 0: + pct_str = f"{percentage:.2f}%" + else: + pct_str = "0.00%" + + return f"{emoji} {delta_str} ({pct_str})" + + +def prepare_symbol_changes_data( + target_symbols: dict | None, pr_symbols: dict | None +) -> dict | None: + """Prepare symbol changes data for template rendering. + + Args: + target_symbols: Symbol name to size mapping for target branch + pr_symbols: Symbol name to size mapping for PR branch + + Returns: + Dictionary with changed, new, and removed symbols, or None if no changes + """ + if not target_symbols or not pr_symbols: + return None + + # Find all symbols that exist in both branches or only in one + all_symbols = set(target_symbols.keys()) | set(pr_symbols.keys()) + + # Track changes + changed_symbols: list[ + tuple[str, int, int, int] + ] = [] # (symbol, target_size, pr_size, delta) + new_symbols: list[tuple[str, int]] = [] # (symbol, size) + removed_symbols: list[tuple[str, int]] = [] # (symbol, size) + + for symbol in all_symbols: + target_size = target_symbols.get(symbol, 0) + pr_size = pr_symbols.get(symbol, 0) + + if target_size == 0 and pr_size > 0: + # New symbol + new_symbols.append((symbol, pr_size)) + elif target_size > 0 and pr_size == 0: + # Removed symbol + removed_symbols.append((symbol, target_size)) + elif target_size != pr_size: + # Changed symbol + delta = pr_size - target_size + changed_symbols.append((symbol, target_size, pr_size, delta)) + + if not changed_symbols and not new_symbols and not removed_symbols: + return None + + # Sort by size/delta + changed_symbols.sort(key=lambda x: abs(x[3]), reverse=True) + new_symbols.sort(key=lambda x: x[1], reverse=True) + removed_symbols.sort(key=lambda x: x[1], reverse=True) + + return { + "changed_symbols": changed_symbols, + "new_symbols": new_symbols, + "removed_symbols": removed_symbols, + } + + +def prepare_component_breakdown_data( + target_analysis: dict | None, pr_analysis: dict | None +) -> list[tuple[str, int, int, int]] | None: + """Prepare component breakdown data for template rendering. + + Args: + target_analysis: Component memory breakdown for target branch + pr_analysis: Component memory breakdown for PR branch + + Returns: + List of tuples (component, target_flash, pr_flash, delta), or None if no changes + """ + if not target_analysis or not pr_analysis: + return None + + # Combine all components from both analyses + all_components = set(target_analysis.keys()) | set(pr_analysis.keys()) + + # Filter to components that have changed (ignoring noise) + changed_components: list[ + tuple[str, int, int, int] + ] = [] # (comp, target_flash, pr_flash, delta) + for comp in all_components: + target_mem = target_analysis.get(comp, {}) + pr_mem = pr_analysis.get(comp, {}) + + target_flash = target_mem.get("flash_total", 0) + pr_flash = pr_mem.get("flash_total", 0) + + # Only include if component has meaningful change (above noise threshold) + delta = pr_flash - target_flash + if abs(delta) > COMPONENT_CHANGE_NOISE_THRESHOLD: + changed_components.append((comp, target_flash, pr_flash, delta)) + + if not changed_components: + return None + + # Sort by absolute delta (largest changes first) + changed_components.sort(key=lambda x: abs(x[3]), reverse=True) + + return changed_components + + +def create_comment_body( + components: list[str], + platform: str, + target_ram: int, + target_flash: int, + pr_ram: int, + pr_flash: int, + target_analysis: dict | None = None, + pr_analysis: dict | None = None, + target_symbols: dict | None = None, + pr_symbols: dict | None = None, + target_cache_hit: bool = False, +) -> str: + """Create the comment body with memory impact analysis using Jinja2 templates. + + Args: + components: List of component names (merged config) + platform: Platform name + target_ram: RAM usage in target branch + target_flash: Flash usage in target branch + pr_ram: RAM usage in PR branch + pr_flash: Flash usage in PR branch + target_analysis: Optional component breakdown for target branch + pr_analysis: Optional component breakdown for PR branch + target_symbols: Optional symbol map for target branch + pr_symbols: Optional symbol map for PR branch + target_cache_hit: Whether target branch analysis was loaded from cache + + Returns: + Formatted comment body + """ + # Set up Jinja2 environment + env = Environment( + loader=FileSystemLoader(TEMPLATE_DIR), + trim_blocks=True, + lstrip_blocks=True, + ) + + # Register custom filters + env.filters["format_bytes"] = format_bytes + env.filters["format_change"] = format_change + + # Prepare template context + context = { + "comment_marker": COMMENT_MARKER, + "platform": platform, + "target_ram": format_bytes(target_ram), + "pr_ram": format_bytes(pr_ram), + "target_flash": format_bytes(target_flash), + "pr_flash": format_bytes(pr_flash), + "ram_change": format_change( + target_ram, pr_ram, threshold=OVERALL_CHANGE_THRESHOLD + ), + "flash_change": format_change( + target_flash, pr_flash, threshold=OVERALL_CHANGE_THRESHOLD + ), + "target_cache_hit": target_cache_hit, + "component_change_threshold": COMPONENT_CHANGE_THRESHOLD, + } + + # Format components list + if len(components) == 1: + context["components_str"] = f"`{components[0]}`" + context["config_note"] = "a representative test configuration" + else: + context["components_str"] = ", ".join(f"`{c}`" for c in sorted(components)) + context["config_note"] = ( + f"a merged configuration with {len(components)} components" + ) + + # Prepare component breakdown if available + component_breakdown = "" + if target_analysis and pr_analysis: + changed_components = prepare_component_breakdown_data( + target_analysis, pr_analysis + ) + if changed_components: + template = env.get_template("ci_memory_impact_component_breakdown.j2") + component_breakdown = template.render( + changed_components=changed_components, + format_bytes=format_bytes, + format_change=format_change, + component_change_threshold=COMPONENT_CHANGE_THRESHOLD, + max_rows=MAX_COMPONENT_BREAKDOWN_ROWS, + ) + + # Prepare symbol changes if available + symbol_changes = "" + if target_symbols and pr_symbols: + symbol_data = prepare_symbol_changes_data(target_symbols, pr_symbols) + if symbol_data: + template = env.get_template("ci_memory_impact_symbol_changes.j2") + symbol_changes = template.render( + **symbol_data, + format_bytes=format_bytes, + format_change=format_change, + max_changed_rows=MAX_CHANGED_SYMBOLS_ROWS, + max_new_rows=MAX_NEW_SYMBOLS_ROWS, + max_removed_rows=MAX_REMOVED_SYMBOLS_ROWS, + symbol_max_length=SYMBOL_DISPLAY_MAX_LENGTH, + symbol_truncate_length=SYMBOL_DISPLAY_TRUNCATE_LENGTH, + ) + + if not target_analysis or not pr_analysis: + print("No ELF files provided, skipping detailed analysis", file=sys.stderr) + + context["component_breakdown"] = component_breakdown + context["symbol_changes"] = symbol_changes + + # Render main template + template = env.get_template("ci_memory_impact_comment_template.j2") + return template.render(**context) + + +def find_existing_comment(pr_number: str) -> str | None: + """Find existing memory impact comment on the PR. + + Args: + pr_number: PR number + + Returns: + Comment numeric ID if found, None otherwise + + Raises: + subprocess.CalledProcessError: If gh command fails + """ + print(f"DEBUG: Looking for existing comment on PR #{pr_number}", file=sys.stderr) + + # Use gh api to get comments directly - this returns the numeric id field + result = subprocess.run( + [ + "gh", + "api", + f"/repos/{{owner}}/{{repo}}/issues/{pr_number}/comments", + "--jq", + ".[] | {id, body}", + ], + capture_output=True, + text=True, + check=True, + ) + + print( + f"DEBUG: gh api comments output (first 500 chars):\n{result.stdout[:500]}", + file=sys.stderr, + ) + + # Parse comments and look for our marker + comment_count = 0 + for line in result.stdout.strip().split("\n"): + if not line: + continue + + try: + comment = json.loads(line) + comment_count += 1 + comment_id = comment.get("id") + print( + f"DEBUG: Checking comment {comment_count}: id={comment_id}", + file=sys.stderr, + ) + + body = comment.get("body", "") + if COMMENT_MARKER in body: + print( + f"DEBUG: Found existing comment with id={comment_id}", + file=sys.stderr, + ) + # Return the numeric id + return str(comment_id) + print("DEBUG: Comment does not contain marker", file=sys.stderr) + except json.JSONDecodeError as e: + print(f"DEBUG: JSON decode error: {e}", file=sys.stderr) + continue + + print( + f"DEBUG: No existing comment found (checked {comment_count} comments)", + file=sys.stderr, + ) + return None + + +def update_existing_comment(comment_id: str, comment_body: str) -> None: + """Update an existing comment. + + Args: + comment_id: Comment ID to update + comment_body: New comment body text + + Raises: + subprocess.CalledProcessError: If gh command fails + """ + print(f"DEBUG: Updating existing comment {comment_id}", file=sys.stderr) + result = subprocess.run( + [ + "gh", + "api", + f"/repos/{{owner}}/{{repo}}/issues/comments/{comment_id}", + "-X", + "PATCH", + "-f", + f"body={comment_body}", + ], + check=True, + capture_output=True, + text=True, + ) + print(f"DEBUG: Update response: {result.stdout}", file=sys.stderr) + + +def create_new_comment(pr_number: str, comment_body: str) -> None: + """Create a new PR comment. + + Args: + pr_number: PR number + comment_body: Comment body text + + Raises: + subprocess.CalledProcessError: If gh command fails + """ + print(f"DEBUG: Posting new comment on PR #{pr_number}", file=sys.stderr) + result = subprocess.run( + ["gh", "pr", "comment", pr_number, "--body", comment_body], + check=True, + capture_output=True, + text=True, + ) + print(f"DEBUG: Post response: {result.stdout}", file=sys.stderr) + + +def post_or_update_comment(pr_number: str, comment_body: str) -> None: + """Post a new comment or update existing one. + + Args: + pr_number: PR number + comment_body: Comment body text + + Raises: + subprocess.CalledProcessError: If gh command fails + """ + # Look for existing comment + existing_comment_id = find_existing_comment(pr_number) + + if existing_comment_id and existing_comment_id != "None": + update_existing_comment(existing_comment_id, comment_body) + else: + create_new_comment(pr_number, comment_body) + + print("Comment posted/updated successfully", file=sys.stderr) + + +def main() -> int: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Post or update PR comment with memory impact analysis" + ) + parser.add_argument("--pr-number", required=True, help="PR number") + parser.add_argument( + "--components", + required=True, + help='JSON array of component names (e.g., \'["api", "wifi"]\')', + ) + parser.add_argument("--platform", required=True, help="Platform name") + parser.add_argument( + "--target-ram", type=int, required=True, help="Target branch RAM usage" + ) + parser.add_argument( + "--target-flash", type=int, required=True, help="Target branch flash usage" + ) + parser.add_argument("--pr-ram", type=int, required=True, help="PR branch RAM usage") + parser.add_argument( + "--pr-flash", type=int, required=True, help="PR branch flash usage" + ) + parser.add_argument( + "--target-json", + help="Optional path to target branch analysis JSON (for detailed analysis)", + ) + parser.add_argument( + "--pr-json", + help="Optional path to PR branch analysis JSON (for detailed analysis)", + ) + parser.add_argument( + "--target-cache-hit", + action="store_true", + help="Indicates that target branch analysis was loaded from cache", + ) + + args = parser.parse_args() + + # Parse components from JSON + try: + components = json.loads(args.components) + if not isinstance(components, list): + print("Error: --components must be a JSON array", file=sys.stderr) + sys.exit(1) + except json.JSONDecodeError as e: + print(f"Error parsing --components JSON: {e}", file=sys.stderr) + sys.exit(1) + + # Load analysis JSON files + target_analysis = None + pr_analysis = None + target_symbols = None + pr_symbols = None + + if args.target_json: + target_data = load_analysis_json(args.target_json) + if target_data and target_data.get("detailed_analysis"): + target_analysis = target_data["detailed_analysis"].get("components") + target_symbols = target_data["detailed_analysis"].get("symbols") + + if args.pr_json: + pr_data = load_analysis_json(args.pr_json) + if pr_data and pr_data.get("detailed_analysis"): + pr_analysis = pr_data["detailed_analysis"].get("components") + pr_symbols = pr_data["detailed_analysis"].get("symbols") + + # Create comment body + # Note: Memory totals (RAM/Flash) are summed across all builds if multiple were run. + comment_body = create_comment_body( + components=components, + platform=args.platform, + target_ram=args.target_ram, + target_flash=args.target_flash, + pr_ram=args.pr_ram, + pr_flash=args.pr_flash, + target_analysis=target_analysis, + pr_analysis=pr_analysis, + target_symbols=target_symbols, + pr_symbols=pr_symbols, + target_cache_hit=args.target_cache_hit, + ) + + # Post or update comment + post_or_update_comment(args.pr_number, comment_body) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/script/ci_memory_impact_extract.py b/script/ci_memory_impact_extract.py new file mode 100755 index 0000000000..77d59417e3 --- /dev/null +++ b/script/ci_memory_impact_extract.py @@ -0,0 +1,281 @@ +#!/usr/bin/env python3 +"""Extract memory usage statistics from ESPHome build output. + +This script parses the PlatformIO build output to extract RAM and flash +usage statistics for a compiled component. It's used by the CI workflow to +compare memory usage between branches. + +The script reads compile output from stdin and looks for the standard +PlatformIO output format: + RAM: [==== ] 36.1% (used 29548 bytes from 81920 bytes) + Flash: [=== ] 34.0% (used 348511 bytes from 1023984 bytes) + +Optionally performs detailed memory analysis if a build directory is provided. +""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path +import re +import sys + +# Add esphome to path +sys.path.insert(0, str(Path(__file__).parent.parent)) + +# pylint: disable=wrong-import-position +from esphome.analyze_memory import MemoryAnalyzer +from esphome.platformio_api import IDEData +from script.ci_helpers import write_github_output + +# Regex patterns for extracting memory usage from PlatformIO output +_RAM_PATTERN = re.compile(r"RAM:\s+\[.*?\]\s+\d+\.\d+%\s+\(used\s+(\d+)\s+bytes") +_FLASH_PATTERN = re.compile(r"Flash:\s+\[.*?\]\s+\d+\.\d+%\s+\(used\s+(\d+)\s+bytes") +_BUILD_PATH_PATTERN = re.compile(r"Build path: (.+)") + + +def extract_from_compile_output( + output_text: str, +) -> tuple[int | None, int | None, str | None]: + """Extract memory usage and build directory from PlatformIO compile output. + + Supports multiple builds (for component groups or isolated components). + When test_build_components.py creates multiple builds, this sums the + memory usage across all builds. + + Looks for lines like: + RAM: [==== ] 36.1% (used 29548 bytes from 81920 bytes) + Flash: [=== ] 34.0% (used 348511 bytes from 1023984 bytes) + + Also extracts build directory from lines like: + INFO Compiling app... Build path: /path/to/build + + Args: + output_text: Compile output text (may contain multiple builds) + + Returns: + Tuple of (total_ram_bytes, total_flash_bytes, build_dir) or (None, None, None) if not found + """ + # Find all RAM and Flash matches (may be multiple builds) + ram_matches = _RAM_PATTERN.findall(output_text) + flash_matches = _FLASH_PATTERN.findall(output_text) + + if not ram_matches or not flash_matches: + return None, None, None + + # Sum all builds (handles multiple component groups) + total_ram = sum(int(match) for match in ram_matches) + total_flash = sum(int(match) for match in flash_matches) + + # Extract build directory from ESPHome's explicit build path output + # Look for: INFO Compiling app... Build path: /path/to/build + # Note: Multiple builds reuse the same build path (each overwrites the previous) + build_dir = None + if match := _BUILD_PATH_PATTERN.search(output_text): + build_dir = match.group(1).strip() + + return total_ram, total_flash, build_dir + + +def run_detailed_analysis(build_dir: str) -> dict | None: + """Run detailed memory analysis on build directory. + + Args: + build_dir: Path to ESPHome build directory + + Returns: + Dictionary with analysis results or None if analysis fails + """ + build_path = Path(build_dir) + if not build_path.exists(): + print(f"Build directory not found: {build_dir}", file=sys.stderr) + return None + + # Find firmware.elf + elf_path = None + for elf_candidate in [ + build_path / "firmware.elf", + build_path / ".pioenvs" / build_path.name / "firmware.elf", + ]: + if elf_candidate.exists(): + elf_path = str(elf_candidate) + break + + if not elf_path: + print(f"firmware.elf not found in {build_dir}", file=sys.stderr) + return None + + # Find idedata.json - check multiple locations + device_name = build_path.name + idedata_candidates = [ + # In .pioenvs for test builds + build_path / ".pioenvs" / device_name / "idedata.json", + # In .esphome/idedata for regular builds + Path.home() / ".esphome" / "idedata" / f"{device_name}.json", + # Check parent directories for .esphome/idedata (for test_build_components) + build_path.parent.parent.parent / "idedata" / f"{device_name}.json", + ] + + idedata = None + for idedata_path in idedata_candidates: + if not idedata_path.exists(): + continue + try: + with open(idedata_path, encoding="utf-8") as f: + raw_data = json.load(f) + idedata = IDEData(raw_data) + print(f"Loaded idedata from: {idedata_path}", file=sys.stderr) + break + except (json.JSONDecodeError, OSError) as e: + print( + f"Warning: Failed to load idedata from {idedata_path}: {e}", + file=sys.stderr, + ) + + analyzer = MemoryAnalyzer(elf_path, idedata=idedata) + components = analyzer.analyze() + + # Convert to JSON-serializable format + result = { + "components": { + name: { + "text": mem.text_size, + "rodata": mem.rodata_size, + "data": mem.data_size, + "bss": mem.bss_size, + "flash_total": mem.flash_total, + "ram_total": mem.ram_total, + "symbol_count": mem.symbol_count, + } + for name, mem in components.items() + }, + "symbols": {}, + } + + # Build symbol map + for section in analyzer.sections.values(): + for symbol_name, size, _ in section.symbols: + if size > 0: + demangled = analyzer._demangle_symbol(symbol_name) + result["symbols"][demangled] = size + + return result + + +def main() -> int: + """Main entry point.""" + parser = argparse.ArgumentParser( + description="Extract memory usage from ESPHome build output" + ) + parser.add_argument( + "--output-env", + action="store_true", + help="Output to GITHUB_OUTPUT environment file", + ) + parser.add_argument( + "--build-dir", + help="Optional build directory for detailed memory analysis (overrides auto-detection)", + ) + parser.add_argument( + "--output-json", + help="Optional path to save detailed analysis JSON", + ) + parser.add_argument( + "--output-build-dir", + help="Optional path to write the detected build directory", + ) + + args = parser.parse_args() + + # Read compile output from stdin + compile_output = sys.stdin.read() + + # Extract memory usage and build directory + ram_bytes, flash_bytes, detected_build_dir = extract_from_compile_output( + compile_output + ) + + if ram_bytes is None or flash_bytes is None: + print("Failed to extract memory usage from compile output", file=sys.stderr) + print("Expected lines like:", file=sys.stderr) + print( + " RAM: [==== ] 36.1% (used 29548 bytes from 81920 bytes)", + file=sys.stderr, + ) + print( + " Flash: [=== ] 34.0% (used 348511 bytes from 1023984 bytes)", + file=sys.stderr, + ) + return 1 + + # Count how many builds were found + num_builds = len(_RAM_PATTERN.findall(compile_output)) + + if num_builds > 1: + print( + f"Found {num_builds} builds - summing memory usage across all builds", + file=sys.stderr, + ) + print( + "WARNING: Detailed analysis will only cover the last build", + file=sys.stderr, + ) + + print(f"Total RAM: {ram_bytes} bytes", file=sys.stderr) + print(f"Total Flash: {flash_bytes} bytes", file=sys.stderr) + + # Determine which build directory to use (explicit arg overrides auto-detection) + build_dir = args.build_dir or detected_build_dir + + if detected_build_dir: + print(f"Detected build directory: {detected_build_dir}", file=sys.stderr) + if num_builds > 1: + print( + f" (using last of {num_builds} builds for detailed analysis)", + file=sys.stderr, + ) + + # Write build directory to file if requested + if args.output_build_dir and build_dir: + build_dir_path = Path(args.output_build_dir) + build_dir_path.parent.mkdir(parents=True, exist_ok=True) + build_dir_path.write_text(build_dir) + print(f"Wrote build directory to {args.output_build_dir}", file=sys.stderr) + + # Run detailed analysis if build directory available + detailed_analysis = None + if build_dir: + print(f"Running detailed analysis on {build_dir}", file=sys.stderr) + detailed_analysis = run_detailed_analysis(build_dir) + + # Save JSON output if requested + if args.output_json: + output_data = { + "ram_bytes": ram_bytes, + "flash_bytes": flash_bytes, + "detailed_analysis": detailed_analysis, + } + + output_path = Path(args.output_json) + output_path.parent.mkdir(parents=True, exist_ok=True) + with open(output_path, "w", encoding="utf-8") as f: + json.dump(output_data, f, indent=2) + print(f"Saved analysis to {args.output_json}", file=sys.stderr) + + if args.output_env: + # Output to GitHub Actions + write_github_output( + { + "ram_usage": ram_bytes, + "flash_usage": flash_bytes, + } + ) + else: + print(f"{ram_bytes},{flash_bytes}") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/script/determine-jobs.py b/script/determine-jobs.py index b000ecee3b..570b1a762c 100755 --- a/script/determine-jobs.py +++ b/script/determine-jobs.py @@ -10,7 +10,13 @@ what files have changed. It outputs JSON with the following structure: "clang_format": true/false, "python_linters": true/false, "changed_components": ["component1", "component2", ...], - "component_test_count": 5 + "component_test_count": 5, + "memory_impact": { + "should_run": "true/false", + "components": ["component1", "component2", ...], + "platform": "esp32-idf", + "use_merged_config": "true" + } } The CI workflow uses this information to: @@ -20,6 +26,7 @@ The CI workflow uses this information to: - Skip or run Python linters (ruff, flake8, pylint, pyupgrade) - Determine which components to test individually - Decide how to split component tests (if there are many) +- Run memory impact analysis whenever there are changed components (merged config), and also for core-only changes Usage: python script/determine-jobs.py [-b BRANCH] @@ -31,6 +38,8 @@ Options: from __future__ import annotations import argparse +from collections import Counter +from enum import StrEnum from functools import cache import json import os @@ -40,16 +49,47 @@ import sys from typing import Any from helpers import ( + BASE_BUS_COMPONENTS, CPP_FILE_EXTENSIONS, - ESPHOME_COMPONENTS_PATH, PYTHON_FILE_EXTENSIONS, changed_files, get_all_dependencies, + get_component_from_path, + get_component_test_files, get_components_from_integration_fixtures, + parse_test_filename, root_path, ) +class Platform(StrEnum): + """Platform identifiers for memory impact analysis.""" + + ESP8266_ARD = "esp8266-ard" + ESP32_IDF = "esp32-idf" + ESP32_C3_IDF = "esp32-c3-idf" + ESP32_C6_IDF = "esp32-c6-idf" + ESP32_S2_IDF = "esp32-s2-idf" + ESP32_S3_IDF = "esp32-s3-idf" + + +# Memory impact analysis constants +MEMORY_IMPACT_FALLBACK_COMPONENT = "api" # Representative component for core changes +MEMORY_IMPACT_FALLBACK_PLATFORM = Platform.ESP32_IDF # Most representative platform + +# Platform preference order for memory impact analysis +# Prefer newer platforms first as they represent the future of ESPHome +# ESP8266 is most constrained but many new features don't support it +MEMORY_IMPACT_PLATFORM_PREFERENCE = [ + Platform.ESP32_C6_IDF, # ESP32-C6 IDF (newest, supports Thread/Zigbee) + Platform.ESP8266_ARD, # ESP8266 Arduino (most memory constrained - best for impact analysis) + Platform.ESP32_IDF, # ESP32 IDF platform (primary ESP32 platform, most representative) + Platform.ESP32_C3_IDF, # ESP32-C3 IDF + Platform.ESP32_S2_IDF, # ESP32-S2 IDF + Platform.ESP32_S3_IDF, # ESP32-S3 IDF +] + + def should_run_integration_tests(branch: str | None = None) -> bool: """Determine if integration tests should run based on changed files. @@ -105,12 +145,9 @@ def should_run_integration_tests(branch: str | None = None) -> bool: # Check if any required components changed for file in files: - if file.startswith(ESPHOME_COMPONENTS_PATH): - parts = file.split("/") - if len(parts) >= 3: - component = parts[2] - if component in all_required_components: - return True + component = get_component_from_path(file) + if component and component in all_required_components: + return True return False @@ -224,10 +261,136 @@ def _component_has_tests(component: str) -> bool: Returns: True if the component has test YAML files """ - tests_dir = Path(root_path) / "tests" / "components" / component - if not tests_dir.exists(): - return False - return any(tests_dir.glob("test.*.yaml")) + return bool(get_component_test_files(component)) + + +def detect_memory_impact_config( + branch: str | None = None, +) -> dict[str, Any]: + """Determine memory impact analysis configuration. + + Always runs memory impact analysis when there are changed components, + building a merged configuration with all changed components (like + test_build_components.py does) to get comprehensive memory analysis. + + Args: + branch: Branch to compare against + + Returns: + Dictionary with memory impact analysis parameters: + - should_run: "true" or "false" + - components: list of component names to analyze + - platform: platform name for the merged build + - use_merged_config: "true" (always use merged config) + """ + + # Get actually changed files (not dependencies) + files = changed_files(branch) + + # Find all changed components (excluding core and base bus components) + changed_component_set: set[str] = set() + has_core_changes = False + + for file in files: + component = get_component_from_path(file) + if component: + # Skip base bus components as they're used across many builds + if component not in BASE_BUS_COMPONENTS: + changed_component_set.add(component) + elif file.startswith("esphome/"): + # Core ESPHome files changed (not component-specific) + has_core_changes = True + + # If no components changed but core changed, test representative component + force_fallback_platform = False + if not changed_component_set and has_core_changes: + print( + f"Memory impact: No components changed, but core files changed. " + f"Testing {MEMORY_IMPACT_FALLBACK_COMPONENT} component on {MEMORY_IMPACT_FALLBACK_PLATFORM}.", + file=sys.stderr, + ) + changed_component_set.add(MEMORY_IMPACT_FALLBACK_COMPONENT) + force_fallback_platform = True # Use fallback platform (most representative) + elif not changed_component_set: + # No components and no core changes + return {"should_run": "false"} + + # Find components that have tests and collect their supported platforms + components_with_tests: list[str] = [] + component_platforms_map: dict[ + str, set[Platform] + ] = {} # Track which platforms each component supports + + for component in sorted(changed_component_set): + # Look for test files on preferred platforms + test_files = get_component_test_files(component) + if not test_files: + continue + + # Check if component has tests for any preferred platform + available_platforms = [ + platform + for test_file in test_files + if (platform := parse_test_filename(test_file)[1]) != "all" + and platform in MEMORY_IMPACT_PLATFORM_PREFERENCE + ] + + if not available_platforms: + continue + + component_platforms_map[component] = set(available_platforms) + components_with_tests.append(component) + + # If no components have tests, don't run memory impact + if not components_with_tests: + return {"should_run": "false"} + + # Find common platforms supported by ALL components + # This ensures we can build all components together in a merged config + common_platforms = set(MEMORY_IMPACT_PLATFORM_PREFERENCE) + for component, platforms in component_platforms_map.items(): + common_platforms &= platforms + + # Select the most preferred platform from the common set + # Exception: for core changes, use fallback platform (most representative of codebase) + if force_fallback_platform: + platform = MEMORY_IMPACT_FALLBACK_PLATFORM + elif common_platforms: + # Pick the most preferred platform that all components support + platform = min(common_platforms, key=MEMORY_IMPACT_PLATFORM_PREFERENCE.index) + else: + # No common platform - pick the most commonly supported platform + # This allows testing components individually even if they can't be merged + # Count how many components support each platform + platform_counts = Counter( + p for platforms in component_platforms_map.values() for p in platforms + ) + # Pick the platform supported by most components, preferring earlier in MEMORY_IMPACT_PLATFORM_PREFERENCE + platform = max( + platform_counts.keys(), + key=lambda p: ( + platform_counts[p], + -MEMORY_IMPACT_PLATFORM_PREFERENCE.index(p), + ), + ) + + # Debug output + print("Memory impact analysis:", file=sys.stderr) + print(f" Changed components: {sorted(changed_component_set)}", file=sys.stderr) + print(f" Components with tests: {components_with_tests}", file=sys.stderr) + print( + f" Component platforms: {dict(sorted(component_platforms_map.items()))}", + file=sys.stderr, + ) + print(f" Common platforms: {sorted(common_platforms)}", file=sys.stderr) + print(f" Selected platform: {platform}", file=sys.stderr) + + return { + "should_run": "true", + "components": components_with_tests, + "platform": platform, + "use_merged_config": "true", + } def main() -> None: @@ -279,6 +442,9 @@ def main() -> None: if component not in directly_changed_components ] + # Detect components for memory impact analysis (merged config) + memory_impact = detect_memory_impact_config(args.branch) + # Build output output: dict[str, Any] = { "integration_tests": run_integration, @@ -292,6 +458,7 @@ def main() -> None: "component_test_count": len(changed_components_with_tests), "directly_changed_count": len(directly_changed_with_tests), "dependency_only_count": len(dependency_only_components), + "memory_impact": memory_impact, } # Output as JSON diff --git a/script/helpers.py b/script/helpers.py index 61306b9489..edde3d78af 100644 --- a/script/helpers.py +++ b/script/helpers.py @@ -29,6 +29,18 @@ YAML_FILE_EXTENSIONS = (".yaml", ".yml") # Component path prefix ESPHOME_COMPONENTS_PATH = "esphome/components/" +# Base bus components - these ARE the bus implementations and should not +# be flagged as needing migration since they are the platform/base components +BASE_BUS_COMPONENTS = { + "i2c", + "spi", + "uart", + "modbus", + "canbus", + "remote_transmitter", + "remote_receiver", +} + def parse_list_components_output(output: str) -> list[str]: """Parse the output from list-components.py script. @@ -46,6 +58,65 @@ def parse_list_components_output(output: str) -> list[str]: return [c.strip() for c in output.strip().split("\n") if c.strip()] +def parse_test_filename(test_file: Path) -> tuple[str, str]: + """Parse test filename to extract test name and platform. + + Test files follow the naming pattern: test..yaml or test-..yaml + + Args: + test_file: Path to test file + + Returns: + Tuple of (test_name, platform) + """ + parts = test_file.stem.split(".") + if len(parts) == 2: + return parts[0], parts[1] # test, platform + return parts[0], "all" + + +def get_component_from_path(file_path: str) -> str | None: + """Extract component name from a file path. + + Args: + file_path: Path to a file (e.g., "esphome/components/wifi/wifi.cpp") + + Returns: + Component name if path is in components directory, None otherwise + """ + if not file_path.startswith(ESPHOME_COMPONENTS_PATH): + return None + parts = file_path.split("/") + if len(parts) >= 3: + return parts[2] + return None + + +def get_component_test_files( + component: str, *, all_variants: bool = False +) -> list[Path]: + """Get test files for a component. + + Args: + component: Component name (e.g., "wifi") + all_variants: If True, returns all test files including variants (test-*.yaml). + If False, returns only base test files (test.*.yaml). + Default is False. + + Returns: + List of test file paths for the component, or empty list if none exist + """ + tests_dir = Path(root_path) / "tests" / "components" / component + if not tests_dir.exists(): + return [] + + if all_variants: + # Match both test.*.yaml and test-*.yaml patterns + return list(tests_dir.glob("test[.-]*.yaml")) + # Match only test.*.yaml (base tests) + return list(tests_dir.glob("test.*.yaml")) + + def styled(color: str | tuple[str, ...], msg: str, reset: bool = True) -> str: prefix = "".join(color) if isinstance(color, tuple) else color suffix = colorama.Style.RESET_ALL if reset else "" @@ -314,11 +385,9 @@ def _filter_changed_ci(files: list[str]) -> list[str]: # because changes in one file can affect other files in the same component. filtered_files = [] for f in files: - if f.startswith(ESPHOME_COMPONENTS_PATH): - # Check if file belongs to any of the changed components - parts = f.split("/") - if len(parts) >= 3 and parts[2] in component_set: - filtered_files.append(f) + component = get_component_from_path(f) + if component and component in component_set: + filtered_files.append(f) return filtered_files diff --git a/script/list-components.py b/script/list-components.py index 9abb2bc345..11533ceb30 100755 --- a/script/list-components.py +++ b/script/list-components.py @@ -4,7 +4,7 @@ from collections.abc import Callable from pathlib import Path import sys -from helpers import changed_files, git_ls_files +from helpers import changed_files, get_component_from_path, git_ls_files from esphome.const import ( KEY_CORE, @@ -30,11 +30,9 @@ def get_all_component_files() -> list[str]: def extract_component_names_array_from_files_array(files): components = [] for file in files: - file_parts = file.split("/") - if len(file_parts) >= 4: - component_name = file_parts[2] - if component_name not in components: - components.append(component_name) + component_name = get_component_from_path(file) + if component_name and component_name not in components: + components.append(component_name) return components diff --git a/script/split_components_for_ci.py b/script/split_components_for_ci.py index dff46d3619..6ba2598eda 100755 --- a/script/split_components_for_ci.py +++ b/script/split_components_for_ci.py @@ -28,6 +28,7 @@ from script.analyze_component_buses import ( create_grouping_signature, merge_compatible_bus_groups, ) +from script.helpers import get_component_test_files # Weighting for batch creation # Isolated components can't be grouped/merged, so they count as 10x @@ -45,17 +46,12 @@ def has_test_files(component_name: str, tests_dir: Path) -> bool: Args: component_name: Name of the component - tests_dir: Path to tests/components directory + tests_dir: Path to tests/components directory (unused, kept for compatibility) Returns: True if the component has test.*.yaml files """ - component_dir = tests_dir / component_name - if not component_dir.exists() or not component_dir.is_dir(): - return False - - # Check for test.*.yaml files - return any(component_dir.glob("test.*.yaml")) + return bool(get_component_test_files(component_name)) def create_intelligent_batches( diff --git a/script/templates/ci_memory_impact_comment_template.j2 b/script/templates/ci_memory_impact_comment_template.j2 new file mode 100644 index 0000000000..9fbf78e99f --- /dev/null +++ b/script/templates/ci_memory_impact_comment_template.j2 @@ -0,0 +1,27 @@ +{{ comment_marker }} +## Memory Impact Analysis + +**Components:** {{ components_str }} +**Platform:** `{{ platform }}` + +| Metric | Target Branch | This PR | Change | +|--------|--------------|---------|--------| +| **RAM** | {{ target_ram }} | {{ pr_ram }} | {{ ram_change }} | +| **Flash** | {{ target_flash }} | {{ pr_flash }} | {{ flash_change }} | +{% if component_breakdown %} +{{ component_breakdown }} +{% endif %} +{% if symbol_changes %} +{{ symbol_changes }} +{% endif %} +{%- if target_cache_hit %} + +> ⚡ Target branch analysis was loaded from cache (build skipped for faster CI). +{%- endif %} + +--- +> **Note:** This analysis measures **static RAM and Flash usage** only (compile-time allocation). +> **Dynamic memory (heap)** cannot be measured automatically. +> **⚠️ You must test this PR on a real device** to measure free heap and ensure no runtime memory issues. + +*This analysis runs automatically when components change. Memory usage is measured from {{ config_note }}.* diff --git a/script/templates/ci_memory_impact_component_breakdown.j2 b/script/templates/ci_memory_impact_component_breakdown.j2 new file mode 100644 index 0000000000..a781e5c546 --- /dev/null +++ b/script/templates/ci_memory_impact_component_breakdown.j2 @@ -0,0 +1,15 @@ + +
+📊 Component Memory Breakdown + +| Component | Target Flash | PR Flash | Change | +|-----------|--------------|----------|--------| +{% for comp, target_flash, pr_flash, delta in changed_components[:max_rows] -%} +{% set threshold = component_change_threshold if comp.startswith("[esphome]") else none -%} +| `{{ comp }}` | {{ target_flash|format_bytes }} | {{ pr_flash|format_bytes }} | {{ format_change(target_flash, pr_flash, threshold=threshold) }} | +{% endfor -%} +{% if changed_components|length > max_rows -%} +| ... | ... | ... | *({{ changed_components|length - max_rows }} more components not shown)* | +{% endif -%} + +
diff --git a/script/templates/ci_memory_impact_macros.j2 b/script/templates/ci_memory_impact_macros.j2 new file mode 100644 index 0000000000..9fb346a7c5 --- /dev/null +++ b/script/templates/ci_memory_impact_macros.j2 @@ -0,0 +1,8 @@ +{#- Macro for formatting symbol names in tables -#} +{%- macro format_symbol(symbol, max_length, truncate_length) -%} +{%- if symbol|length <= max_length -%} +`{{ symbol }}` +{%- else -%} +
{{ symbol[:truncate_length] }}...{{ symbol }}
+{%- endif -%} +{%- endmacro -%} diff --git a/script/templates/ci_memory_impact_symbol_changes.j2 b/script/templates/ci_memory_impact_symbol_changes.j2 new file mode 100644 index 0000000000..60f2f50e48 --- /dev/null +++ b/script/templates/ci_memory_impact_symbol_changes.j2 @@ -0,0 +1,51 @@ +{%- from 'ci_memory_impact_macros.j2' import format_symbol -%} + +
+🔍 Symbol-Level Changes (click to expand) + +{% if changed_symbols %} + +### Changed Symbols + +| Symbol | Target Size | PR Size | Change | +|--------|-------------|---------|--------| +{% for symbol, target_size, pr_size, delta in changed_symbols[:max_changed_rows] -%} +| {{ format_symbol(symbol, symbol_max_length, symbol_truncate_length) }} | {{ target_size|format_bytes }} | {{ pr_size|format_bytes }} | {{ format_change(target_size, pr_size) }} | +{% endfor -%} +{% if changed_symbols|length > max_changed_rows -%} +| ... | ... | ... | *({{ changed_symbols|length - max_changed_rows }} more changed symbols not shown)* | +{% endif -%} + +{% endif %} +{% if new_symbols %} + +### New Symbols (top {{ max_new_rows }}) + +| Symbol | Size | +|--------|------| +{% for symbol, size in new_symbols[:max_new_rows] -%} +| {{ format_symbol(symbol, symbol_max_length, symbol_truncate_length) }} | {{ size|format_bytes }} | +{% endfor -%} +{% if new_symbols|length > max_new_rows -%} +{% set total_new_size = new_symbols|sum(attribute=1) -%} +| *{{ new_symbols|length - max_new_rows }} more new symbols...* | *Total: {{ total_new_size|format_bytes }}* | +{% endif -%} + +{% endif %} +{% if removed_symbols %} + +### Removed Symbols (top {{ max_removed_rows }}) + +| Symbol | Size | +|--------|------| +{% for symbol, size in removed_symbols[:max_removed_rows] -%} +| {{ format_symbol(symbol, symbol_max_length, symbol_truncate_length) }} | {{ size|format_bytes }} | +{% endfor -%} +{% if removed_symbols|length > max_removed_rows -%} +{% set total_removed_size = removed_symbols|sum(attribute=1) -%} +| *{{ removed_symbols|length - max_removed_rows }} more removed symbols...* | *Total: {{ total_removed_size|format_bytes }}* | +{% endif -%} + +{% endif %} + +
diff --git a/script/test_build_components.py b/script/test_build_components.py index df092c091d..77c97a8773 100755 --- a/script/test_build_components.py +++ b/script/test_build_components.py @@ -39,6 +39,7 @@ from script.analyze_component_buses import ( merge_compatible_bus_groups, uses_local_file_references, ) +from script.helpers import get_component_test_files from script.merge_component_configs import merge_component_configs @@ -82,13 +83,14 @@ def show_disk_space_if_ci(esphome_command: str) -> None: def find_component_tests( - components_dir: Path, component_pattern: str = "*" + components_dir: Path, component_pattern: str = "*", base_only: bool = False ) -> dict[str, list[Path]]: """Find all component test files. Args: components_dir: Path to tests/components directory component_pattern: Glob pattern for component names + base_only: If True, only find base test files (test.*.yaml), not variant files (test-*.yaml) Returns: Dictionary mapping component name to list of test files @@ -99,9 +101,10 @@ def find_component_tests( if not comp_dir.is_dir(): continue - # Find test files matching test.*.yaml or test-*.yaml patterns - for test_file in comp_dir.glob("test[.-]*.yaml"): - component_tests[comp_dir.name].append(test_file) + # Get test files using helper function + test_files = get_component_test_files(comp_dir.name, all_variants=not base_only) + if test_files: + component_tests[comp_dir.name] = test_files return dict(component_tests) @@ -931,6 +934,7 @@ def test_components( continue_on_fail: bool, enable_grouping: bool = True, isolated_components: set[str] | None = None, + base_only: bool = False, ) -> int: """Test components with optional intelligent grouping. @@ -944,6 +948,7 @@ def test_components( These are tested WITHOUT --testing-mode to enable full validation (pin conflicts, etc). This is used in CI for directly changed components to catch issues that would be missed with --testing-mode. + base_only: If True, only test base test files (test.*.yaml), not variant files (test-*.yaml) Returns: Exit code (0 for success, 1 for failure) @@ -961,7 +966,7 @@ def test_components( # Find all component tests all_tests = {} for pattern in component_patterns: - all_tests.update(find_component_tests(tests_dir, pattern)) + all_tests.update(find_component_tests(tests_dir, pattern, base_only)) if not all_tests: print(f"No components found matching: {component_patterns}") @@ -1122,6 +1127,11 @@ def main() -> int: "These are tested WITHOUT --testing-mode to enable full validation. " "Used in CI for directly changed components to catch pin conflicts and other issues.", ) + parser.add_argument( + "--base-only", + action="store_true", + help="Only test base test files (test.*.yaml), not variant files (test-*.yaml)", + ) args = parser.parse_args() @@ -1140,6 +1150,7 @@ def main() -> int: continue_on_fail=args.continue_on_fail, enable_grouping=not args.no_grouping, isolated_components=isolated_components, + base_only=args.base_only, ) diff --git a/tests/script/test_determine_jobs.py b/tests/script/test_determine_jobs.py index 0559d116be..b479fc03c5 100644 --- a/tests/script/test_determine_jobs.py +++ b/tests/script/test_determine_jobs.py @@ -17,6 +17,9 @@ script_dir = os.path.abspath( ) sys.path.insert(0, script_dir) +# Import helpers module for patching +import helpers # noqa: E402 + spec = importlib.util.spec_from_file_location( "determine_jobs", os.path.join(script_dir, "determine-jobs.py") ) @@ -59,15 +62,29 @@ def mock_subprocess_run() -> Generator[Mock, None, None]: yield mock +@pytest.fixture +def mock_changed_files() -> Generator[Mock, None, None]: + """Mock changed_files for memory impact detection.""" + with patch.object(determine_jobs, "changed_files") as mock: + # Default to empty list + mock.return_value = [] + yield mock + + def test_main_all_tests_should_run( mock_should_run_integration_tests: Mock, mock_should_run_clang_tidy: Mock, mock_should_run_clang_format: Mock, mock_should_run_python_linters: Mock, mock_subprocess_run: Mock, + mock_changed_files: Mock, capsys: pytest.CaptureFixture[str], + monkeypatch: pytest.MonkeyPatch, ) -> None: """Test when all tests should run.""" + # Ensure we're not in GITHUB_ACTIONS mode for this test + monkeypatch.delenv("GITHUB_ACTIONS", raising=False) + mock_should_run_integration_tests.return_value = True mock_should_run_clang_tidy.return_value = True mock_should_run_clang_format.return_value = True @@ -100,6 +117,9 @@ def test_main_all_tests_should_run( assert output["component_test_count"] == len( output["changed_components_with_tests"] ) + # memory_impact should be present + assert "memory_impact" in output + assert output["memory_impact"]["should_run"] == "false" # No files changed def test_main_no_tests_should_run( @@ -108,9 +128,14 @@ def test_main_no_tests_should_run( mock_should_run_clang_format: Mock, mock_should_run_python_linters: Mock, mock_subprocess_run: Mock, + mock_changed_files: Mock, capsys: pytest.CaptureFixture[str], + monkeypatch: pytest.MonkeyPatch, ) -> None: """Test when no tests should run.""" + # Ensure we're not in GITHUB_ACTIONS mode for this test + monkeypatch.delenv("GITHUB_ACTIONS", raising=False) + mock_should_run_integration_tests.return_value = False mock_should_run_clang_tidy.return_value = False mock_should_run_clang_format.return_value = False @@ -136,6 +161,9 @@ def test_main_no_tests_should_run( assert output["changed_components"] == [] assert output["changed_components_with_tests"] == [] assert output["component_test_count"] == 0 + # memory_impact should be present + assert "memory_impact" in output + assert output["memory_impact"]["should_run"] == "false" def test_main_list_components_fails( @@ -169,9 +197,14 @@ def test_main_with_branch_argument( mock_should_run_clang_format: Mock, mock_should_run_python_linters: Mock, mock_subprocess_run: Mock, + mock_changed_files: Mock, capsys: pytest.CaptureFixture[str], + monkeypatch: pytest.MonkeyPatch, ) -> None: """Test with branch argument.""" + # Ensure we're not in GITHUB_ACTIONS mode for this test + monkeypatch.delenv("GITHUB_ACTIONS", raising=False) + mock_should_run_integration_tests.return_value = False mock_should_run_clang_tidy.return_value = True mock_should_run_clang_format.return_value = False @@ -216,6 +249,9 @@ def test_main_with_branch_argument( assert output["component_test_count"] == len( output["changed_components_with_tests"] ) + # memory_impact should be present + assert "memory_impact" in output + assert output["memory_impact"]["should_run"] == "false" def test_should_run_integration_tests( @@ -403,10 +439,15 @@ def test_main_filters_components_without_tests( mock_should_run_clang_format: Mock, mock_should_run_python_linters: Mock, mock_subprocess_run: Mock, + mock_changed_files: Mock, capsys: pytest.CaptureFixture[str], tmp_path: Path, + monkeypatch: pytest.MonkeyPatch, ) -> None: """Test that components without test files are filtered out.""" + # Ensure we're not in GITHUB_ACTIONS mode for this test + monkeypatch.delenv("GITHUB_ACTIONS", raising=False) + mock_should_run_integration_tests.return_value = False mock_should_run_clang_tidy.return_value = False mock_should_run_clang_format.return_value = False @@ -440,9 +481,10 @@ def test_main_filters_components_without_tests( airthings_dir = tests_dir / "airthings_ble" airthings_dir.mkdir(parents=True) - # Mock root_path to use tmp_path + # Mock root_path to use tmp_path (need to patch both determine_jobs and helpers) with ( patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), patch("sys.argv", ["determine-jobs.py"]), ): # Clear the cache since we're mocking root_path @@ -459,3 +501,188 @@ def test_main_filters_components_without_tests( assert set(output["changed_components_with_tests"]) == {"wifi", "sensor"} # component_test_count should be based on components with tests assert output["component_test_count"] == 2 + # memory_impact should be present + assert "memory_impact" in output + assert output["memory_impact"]["should_run"] == "false" + + +# Tests for detect_memory_impact_config function + + +def test_detect_memory_impact_config_with_common_platform(tmp_path: Path) -> None: + """Test memory impact detection when components share a common platform.""" + # Create test directory structure + tests_dir = tmp_path / "tests" / "components" + + # wifi component with esp32-idf test + wifi_dir = tests_dir / "wifi" + wifi_dir.mkdir(parents=True) + (wifi_dir / "test.esp32-idf.yaml").write_text("test: wifi") + + # api component with esp32-idf test + api_dir = tests_dir / "api" + api_dir.mkdir(parents=True) + (api_dir / "test.esp32-idf.yaml").write_text("test: api") + + # Mock changed_files to return wifi and api component changes + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), + patch.object(determine_jobs, "changed_files") as mock_changed_files, + ): + mock_changed_files.return_value = [ + "esphome/components/wifi/wifi.cpp", + "esphome/components/api/api.cpp", + ] + determine_jobs._component_has_tests.cache_clear() + + result = determine_jobs.detect_memory_impact_config() + + assert result["should_run"] == "true" + assert set(result["components"]) == {"wifi", "api"} + assert result["platform"] == "esp32-idf" # Common platform + assert result["use_merged_config"] == "true" + + +def test_detect_memory_impact_config_core_only_changes(tmp_path: Path) -> None: + """Test memory impact detection with core-only changes (no component changes).""" + # Create test directory structure with fallback component + tests_dir = tmp_path / "tests" / "components" + + # api component (fallback component) with esp32-idf test + api_dir = tests_dir / "api" + api_dir.mkdir(parents=True) + (api_dir / "test.esp32-idf.yaml").write_text("test: api") + + # Mock changed_files to return only core files (no component files) + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), + patch.object(determine_jobs, "changed_files") as mock_changed_files, + ): + mock_changed_files.return_value = [ + "esphome/core/application.cpp", + "esphome/core/component.h", + ] + determine_jobs._component_has_tests.cache_clear() + + result = determine_jobs.detect_memory_impact_config() + + assert result["should_run"] == "true" + assert result["components"] == ["api"] # Fallback component + assert result["platform"] == "esp32-idf" # Fallback platform + assert result["use_merged_config"] == "true" + + +def test_detect_memory_impact_config_no_common_platform(tmp_path: Path) -> None: + """Test memory impact detection when components have no common platform.""" + # Create test directory structure + tests_dir = tmp_path / "tests" / "components" + + # wifi component only has esp32-idf test + wifi_dir = tests_dir / "wifi" + wifi_dir.mkdir(parents=True) + (wifi_dir / "test.esp32-idf.yaml").write_text("test: wifi") + + # logger component only has esp8266-ard test + logger_dir = tests_dir / "logger" + logger_dir.mkdir(parents=True) + (logger_dir / "test.esp8266-ard.yaml").write_text("test: logger") + + # Mock changed_files to return both components + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), + patch.object(determine_jobs, "changed_files") as mock_changed_files, + ): + mock_changed_files.return_value = [ + "esphome/components/wifi/wifi.cpp", + "esphome/components/logger/logger.cpp", + ] + determine_jobs._component_has_tests.cache_clear() + + result = determine_jobs.detect_memory_impact_config() + + # Should pick the most frequently supported platform + assert result["should_run"] == "true" + assert set(result["components"]) == {"wifi", "logger"} + # When no common platform, picks most commonly supported + # esp8266-ard is preferred over esp32-idf in the preference list + assert result["platform"] in ["esp32-idf", "esp8266-ard"] + assert result["use_merged_config"] == "true" + + +def test_detect_memory_impact_config_no_changes(tmp_path: Path) -> None: + """Test memory impact detection when no files changed.""" + # Mock changed_files to return empty list + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), + patch.object(determine_jobs, "changed_files") as mock_changed_files, + ): + mock_changed_files.return_value = [] + determine_jobs._component_has_tests.cache_clear() + + result = determine_jobs.detect_memory_impact_config() + + assert result["should_run"] == "false" + + +def test_detect_memory_impact_config_no_components_with_tests(tmp_path: Path) -> None: + """Test memory impact detection when changed components have no tests.""" + # Create test directory structure + tests_dir = tmp_path / "tests" / "components" + + # Create component directory but no test files + custom_component_dir = tests_dir / "my_custom_component" + custom_component_dir.mkdir(parents=True) + + # Mock changed_files to return component without tests + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), + patch.object(determine_jobs, "changed_files") as mock_changed_files, + ): + mock_changed_files.return_value = [ + "esphome/components/my_custom_component/component.cpp", + ] + determine_jobs._component_has_tests.cache_clear() + + result = determine_jobs.detect_memory_impact_config() + + assert result["should_run"] == "false" + + +def test_detect_memory_impact_config_skips_base_bus_components(tmp_path: Path) -> None: + """Test that base bus components (i2c, spi, uart) are skipped.""" + # Create test directory structure + tests_dir = tmp_path / "tests" / "components" + + # i2c component (should be skipped as it's a base bus component) + i2c_dir = tests_dir / "i2c" + i2c_dir.mkdir(parents=True) + (i2c_dir / "test.esp32-idf.yaml").write_text("test: i2c") + + # wifi component (should not be skipped) + wifi_dir = tests_dir / "wifi" + wifi_dir.mkdir(parents=True) + (wifi_dir / "test.esp32-idf.yaml").write_text("test: wifi") + + # Mock changed_files to return both i2c and wifi + with ( + patch.object(determine_jobs, "root_path", str(tmp_path)), + patch.object(helpers, "root_path", str(tmp_path)), + patch.object(determine_jobs, "changed_files") as mock_changed_files, + ): + mock_changed_files.return_value = [ + "esphome/components/i2c/i2c.cpp", + "esphome/components/wifi/wifi.cpp", + ] + determine_jobs._component_has_tests.cache_clear() + + result = determine_jobs.detect_memory_impact_config() + + # Should only include wifi, not i2c + assert result["should_run"] == "true" + assert result["components"] == ["wifi"] + assert "i2c" not in result["components"] diff --git a/tests/unit_tests/test_platformio_api.py b/tests/unit_tests/test_platformio_api.py index 07948cc6ad..13ef3516e4 100644 --- a/tests/unit_tests/test_platformio_api.py +++ b/tests/unit_tests/test_platformio_api.py @@ -387,6 +387,42 @@ def test_idedata_addr2line_path_unix(setup_core: Path) -> None: assert result == "/usr/bin/addr2line" +def test_idedata_objdump_path_windows(setup_core: Path) -> None: + """Test IDEData.objdump_path on Windows.""" + raw_data = {"prog_path": "/path/to/firmware.elf", "cc_path": "C:\\tools\\gcc.exe"} + idedata = platformio_api.IDEData(raw_data) + + result = idedata.objdump_path + assert result == "C:\\tools\\objdump.exe" + + +def test_idedata_objdump_path_unix(setup_core: Path) -> None: + """Test IDEData.objdump_path on Unix.""" + raw_data = {"prog_path": "/path/to/firmware.elf", "cc_path": "/usr/bin/gcc"} + idedata = platformio_api.IDEData(raw_data) + + result = idedata.objdump_path + assert result == "/usr/bin/objdump" + + +def test_idedata_readelf_path_windows(setup_core: Path) -> None: + """Test IDEData.readelf_path on Windows.""" + raw_data = {"prog_path": "/path/to/firmware.elf", "cc_path": "C:\\tools\\gcc.exe"} + idedata = platformio_api.IDEData(raw_data) + + result = idedata.readelf_path + assert result == "C:\\tools\\readelf.exe" + + +def test_idedata_readelf_path_unix(setup_core: Path) -> None: + """Test IDEData.readelf_path on Unix.""" + raw_data = {"prog_path": "/path/to/firmware.elf", "cc_path": "/usr/bin/gcc"} + idedata = platformio_api.IDEData(raw_data) + + result = idedata.readelf_path + assert result == "/usr/bin/readelf" + + def test_patch_structhash(setup_core: Path) -> None: """Test patch_structhash monkey patches platformio functions.""" # Create simple namespace objects to act as modules From fdecda3d65a5474be4d9ccaf0ea3ee56f84548d2 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:48:14 -1000 Subject: [PATCH 194/201] [light] Use bitmask instead of std::set for color modes (#11348) --- esphome/components/api/api.proto | 2 +- esphome/components/api/api_connection.cpp | 4 +- esphome/components/api/api_options.proto | 10 + esphome/components/api/api_pb2.h | 2 +- esphome/components/light/color_mode.h | 195 ++++++++++++++++++ esphome/components/light/light_call.cpp | 53 ++--- esphome/components/light/light_call.h | 5 +- .../components/light/light_json_schema.cpp | 1 - esphome/components/light/light_state.cpp | 3 - esphome/components/light/light_traits.h | 30 +-- script/api_protobuf/api_protobuf.py | 18 +- tests/integration/test_light_calls.py | 44 +++- 12 files changed, 308 insertions(+), 59 deletions(-) diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index 753adc3592..d202486cfa 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -506,7 +506,7 @@ message ListEntitiesLightResponse { string name = 3; reserved 4; // Deprecated: was string unique_id - repeated ColorMode supported_color_modes = 12 [(container_pointer) = "std::set"]; + repeated ColorMode supported_color_modes = 12 [(container_pointer_no_template) = "light::ColorModeMask"]; // next four supports_* are for legacy clients, newer clients should use color modes // Deprecated in API version 1.6 bool legacy_supports_brightness = 5 [deprecated=true]; diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index 7dfefedd54..6334815678 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -453,7 +453,6 @@ uint16_t APIConnection::try_send_light_state(EntityBase *entity, APIConnection * bool is_single) { auto *light = static_cast(entity); LightStateResponse resp; - auto traits = light->get_traits(); auto values = light->remote_values; auto color_mode = values.get_color_mode(); resp.state = values.is_on(); @@ -477,7 +476,8 @@ uint16_t APIConnection::try_send_light_info(EntityBase *entity, APIConnection *c auto *light = static_cast(entity); ListEntitiesLightResponse msg; auto traits = light->get_traits(); - msg.supported_color_modes = &traits.get_supported_color_modes_for_api_(); + // Pass pointer to ColorModeMask so the iterator can encode actual ColorMode enum values + msg.supported_color_modes = &traits.get_supported_color_modes(); if (traits.supports_color_capability(light::ColorCapability::COLOR_TEMPERATURE) || traits.supports_color_capability(light::ColorCapability::COLD_WARM_WHITE)) { msg.min_mireds = traits.get_min_mireds(); diff --git a/esphome/components/api/api_options.proto b/esphome/components/api/api_options.proto index ead8ac0bbc..6b33408e2f 100644 --- a/esphome/components/api/api_options.proto +++ b/esphome/components/api/api_options.proto @@ -70,4 +70,14 @@ extend google.protobuf.FieldOptions { // init(size) before adding elements. This eliminates std::vector template overhead // and is ideal when the exact size is known before populating the array. optional bool fixed_vector = 50013 [default=false]; + + // container_pointer_no_template: Use a non-template container type for repeated fields + // Similar to container_pointer, but for containers that don't take template parameters. + // The container type is used as-is without appending element type. + // The container must have: + // - begin() and end() methods returning iterators + // - empty() method + // Example: [(container_pointer_no_template) = "light::ColorModeMask"] + // generates: const light::ColorModeMask *supported_color_modes{}; + optional string container_pointer_no_template = 50014; } diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index 5603204801..ed49498176 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -790,7 +790,7 @@ class ListEntitiesLightResponse final : public InfoResponseProtoMessage { #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "list_entities_light_response"; } #endif - const std::set *supported_color_modes{}; + const light::ColorModeMask *supported_color_modes{}; float min_mireds{0.0f}; float max_mireds{0.0f}; std::vector effects{}; diff --git a/esphome/components/light/color_mode.h b/esphome/components/light/color_mode.h index e524763c9f..a26f917167 100644 --- a/esphome/components/light/color_mode.h +++ b/esphome/components/light/color_mode.h @@ -104,5 +104,200 @@ constexpr ColorModeHelper operator|(ColorModeHelper lhs, ColorMode rhs) { return static_cast(static_cast(lhs) | static_cast(rhs)); } +// Type alias for raw color mode bitmask values +using color_mode_bitmask_t = uint16_t; + +// Constants for ColorMode count and bit range +static constexpr int COLOR_MODE_COUNT = 10; // UNKNOWN through RGB_COLD_WARM_WHITE +static constexpr int MAX_BIT_INDEX = sizeof(color_mode_bitmask_t) * 8; // Number of bits in bitmask type + +// Compile-time array of all ColorMode values in declaration order +// Bit positions (0-9) map directly to enum declaration order +static constexpr ColorMode COLOR_MODES[COLOR_MODE_COUNT] = { + ColorMode::UNKNOWN, // bit 0 + ColorMode::ON_OFF, // bit 1 + ColorMode::BRIGHTNESS, // bit 2 + ColorMode::WHITE, // bit 3 + ColorMode::COLOR_TEMPERATURE, // bit 4 + ColorMode::COLD_WARM_WHITE, // bit 5 + ColorMode::RGB, // bit 6 + ColorMode::RGB_WHITE, // bit 7 + ColorMode::RGB_COLOR_TEMPERATURE, // bit 8 + ColorMode::RGB_COLD_WARM_WHITE, // bit 9 +}; + +/// Map ColorMode enum values to bit positions (0-9) +/// Bit positions follow the enum declaration order +static constexpr int mode_to_bit(ColorMode mode) { + // Linear search through COLOR_MODES array + // Compiler optimizes this to efficient code since array is constexpr + for (int i = 0; i < COLOR_MODE_COUNT; ++i) { + if (COLOR_MODES[i] == mode) + return i; + } + return 0; +} + +/// Map bit positions (0-9) to ColorMode enum values +/// Bit positions follow the enum declaration order +static constexpr ColorMode bit_to_mode(int bit) { + // Direct lookup in COLOR_MODES array + return (bit >= 0 && bit < COLOR_MODE_COUNT) ? COLOR_MODES[bit] : ColorMode::UNKNOWN; +} + +/// Helper to compute capability bitmask at compile time +static constexpr color_mode_bitmask_t compute_capability_bitmask(ColorCapability capability) { + color_mode_bitmask_t mask = 0; + uint8_t cap_bit = static_cast(capability); + + // Check each ColorMode to see if it has this capability + for (int bit = 0; bit < COLOR_MODE_COUNT; ++bit) { + uint8_t mode_val = static_cast(bit_to_mode(bit)); + if ((mode_val & cap_bit) != 0) { + mask |= (1 << bit); + } + } + return mask; +} + +// Number of ColorCapability enum values +static constexpr int COLOR_CAPABILITY_COUNT = 6; + +/// Compile-time lookup table mapping ColorCapability to bitmask +/// This array is computed at compile time using constexpr +static constexpr color_mode_bitmask_t CAPABILITY_BITMASKS[] = { + compute_capability_bitmask(ColorCapability::ON_OFF), // 1 << 0 + compute_capability_bitmask(ColorCapability::BRIGHTNESS), // 1 << 1 + compute_capability_bitmask(ColorCapability::WHITE), // 1 << 2 + compute_capability_bitmask(ColorCapability::COLOR_TEMPERATURE), // 1 << 3 + compute_capability_bitmask(ColorCapability::COLD_WARM_WHITE), // 1 << 4 + compute_capability_bitmask(ColorCapability::RGB), // 1 << 5 +}; + +/// Bitmask for storing a set of ColorMode values efficiently. +/// Replaces std::set to eliminate red-black tree overhead (~586 bytes). +class ColorModeMask { + public: + constexpr ColorModeMask() = default; + + /// Support initializer list syntax: {ColorMode::RGB, ColorMode::WHITE} + constexpr ColorModeMask(std::initializer_list modes) { + for (auto mode : modes) { + this->add(mode); + } + } + + constexpr void add(ColorMode mode) { this->mask_ |= (1 << mode_to_bit(mode)); } + + /// Add multiple modes at once using initializer list + constexpr void add(std::initializer_list modes) { + for (auto mode : modes) { + this->add(mode); + } + } + + constexpr bool contains(ColorMode mode) const { return (this->mask_ & (1 << mode_to_bit(mode))) != 0; } + + constexpr size_t size() const { + // Count set bits using Brian Kernighan's algorithm + // More efficient for sparse bitmasks (typical case: 2-4 modes out of 10) + uint16_t n = this->mask_; + size_t count = 0; + while (n) { + n &= n - 1; // Clear the least significant set bit + count++; + } + return count; + } + + constexpr bool empty() const { return this->mask_ == 0; } + + /// Iterator support for API encoding + class Iterator { + public: + using iterator_category = std::forward_iterator_tag; + using value_type = ColorMode; + using difference_type = std::ptrdiff_t; + using pointer = const ColorMode *; + using reference = ColorMode; + + constexpr Iterator(color_mode_bitmask_t mask, int bit) : mask_(mask), bit_(bit) { advance_to_next_set_bit_(); } + + constexpr ColorMode operator*() const { return bit_to_mode(bit_); } + + constexpr Iterator &operator++() { + ++bit_; + advance_to_next_set_bit_(); + return *this; + } + + constexpr bool operator==(const Iterator &other) const { return bit_ == other.bit_; } + + constexpr bool operator!=(const Iterator &other) const { return !(*this == other); } + + private: + constexpr void advance_to_next_set_bit_() { bit_ = ColorModeMask::find_next_set_bit(mask_, bit_); } + + color_mode_bitmask_t mask_; + int bit_; + }; + + constexpr Iterator begin() const { return Iterator(mask_, 0); } + constexpr Iterator end() const { return Iterator(mask_, MAX_BIT_INDEX); } + + /// Get the raw bitmask value for API encoding + constexpr color_mode_bitmask_t get_mask() const { return this->mask_; } + + /// Find the next set bit in a bitmask starting from a given position + /// Returns the bit position, or MAX_BIT_INDEX if no more bits are set + static constexpr int find_next_set_bit(color_mode_bitmask_t mask, int start_bit) { + int bit = start_bit; + while (bit < MAX_BIT_INDEX && !(mask & (1 << bit))) { + ++bit; + } + return bit; + } + + /// Find the first set bit in a bitmask and return the corresponding ColorMode + /// Used for optimizing compute_color_mode_() intersection logic + static constexpr ColorMode first_mode_from_mask(color_mode_bitmask_t mask) { + return bit_to_mode(find_next_set_bit(mask, 0)); + } + + /// Check if a ColorMode is present in a raw bitmask value + /// Useful for checking intersection results without creating a temporary ColorModeMask + static constexpr bool mask_contains(color_mode_bitmask_t mask, ColorMode mode) { + return (mask & (1 << mode_to_bit(mode))) != 0; + } + + /// Check if any mode in the bitmask has a specific capability + /// Used for checking if a light supports a capability (e.g., BRIGHTNESS, RGB) + bool has_capability(ColorCapability capability) const { + // Lookup the pre-computed bitmask for this capability and check intersection with our mask + // ColorCapability values: 1, 2, 4, 8, 16, 32 -> array indices: 0, 1, 2, 3, 4, 5 + // We need to convert the power-of-2 value to an index + uint8_t cap_val = static_cast(capability); +#if defined(__GNUC__) || defined(__clang__) + // Use compiler intrinsic for efficient bit position lookup (O(1) vs O(log n)) + int index = __builtin_ctz(cap_val); +#else + // Fallback for compilers without __builtin_ctz + int index = 0; + while (cap_val > 1) { + cap_val >>= 1; + ++index; + } +#endif + return (this->mask_ & CAPABILITY_BITMASKS[index]) != 0; + } + + private: + // Using uint16_t instead of uint32_t for more efficient iteration (fewer bits to scan). + // Currently only 10 ColorMode values exist, so 16 bits is sufficient. + // Can be changed to uint32_t if more than 16 color modes are needed in the future. + // Note: Due to struct padding, uint16_t and uint32_t result in same LightTraits size (12 bytes). + color_mode_bitmask_t mask_{0}; +}; + } // namespace light } // namespace esphome diff --git a/esphome/components/light/light_call.cpp b/esphome/components/light/light_call.cpp index 915b8fdf89..af193e1f11 100644 --- a/esphome/components/light/light_call.cpp +++ b/esphome/components/light/light_call.cpp @@ -406,7 +406,7 @@ void LightCall::transform_parameters_() { } } ColorMode LightCall::compute_color_mode_() { - auto supported_modes = this->parent_->get_traits().get_supported_color_modes(); + const auto &supported_modes = this->parent_->get_traits().get_supported_color_modes(); int supported_count = supported_modes.size(); // Some lights don't support any color modes (e.g. monochromatic light), leave it at unknown. @@ -425,20 +425,19 @@ ColorMode LightCall::compute_color_mode_() { // If no color mode is specified, we try to guess the color mode. This is needed for backward compatibility to // pre-colormode clients and automations, but also for the MQTT API, where HA doesn't let us know which color mode // was used for some reason. - std::set suitable_modes = this->get_suitable_color_modes_(); + // Compute intersection of suitable and supported modes using bitwise AND + color_mode_bitmask_t intersection = this->get_suitable_color_modes_mask_() & supported_modes.get_mask(); - // Don't change if the current mode is suitable. - if (suitable_modes.count(current_mode) > 0) { + // Don't change if the current mode is in the intersection (suitable AND supported) + if (ColorModeMask::mask_contains(intersection, current_mode)) { ESP_LOGI(TAG, "'%s': color mode not specified; retaining %s", this->parent_->get_name().c_str(), LOG_STR_ARG(color_mode_to_human(current_mode))); return current_mode; } // Use the preferred suitable mode. - for (auto mode : suitable_modes) { - if (supported_modes.count(mode) == 0) - continue; - + if (intersection != 0) { + ColorMode mode = ColorModeMask::first_mode_from_mask(intersection); ESP_LOGI(TAG, "'%s': color mode not specified; using %s", this->parent_->get_name().c_str(), LOG_STR_ARG(color_mode_to_human(mode))); return mode; @@ -451,7 +450,7 @@ ColorMode LightCall::compute_color_mode_() { LOG_STR_ARG(color_mode_to_human(color_mode))); return color_mode; } -std::set LightCall::get_suitable_color_modes_() { +color_mode_bitmask_t LightCall::get_suitable_color_modes_mask_() { bool has_white = this->has_white() && this->white_ > 0.0f; bool has_ct = this->has_color_temperature(); bool has_cwww = @@ -459,36 +458,44 @@ std::set LightCall::get_suitable_color_modes_() { bool has_rgb = (this->has_color_brightness() && this->color_brightness_ > 0.0f) || (this->has_red() || this->has_green() || this->has_blue()); -// Build key from flags: [rgb][cwww][ct][white] + // Build key from flags: [rgb][cwww][ct][white] #define KEY(white, ct, cwww, rgb) ((white) << 0 | (ct) << 1 | (cwww) << 2 | (rgb) << 3) uint8_t key = KEY(has_white, has_ct, has_cwww, has_rgb); switch (key) { case KEY(true, false, false, false): // white only - return {ColorMode::WHITE, ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::COLD_WARM_WHITE, - ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::WHITE, ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, + ColorMode::COLD_WARM_WHITE, ColorMode::RGB_COLD_WARM_WHITE}) + .get_mask(); case KEY(false, true, false, false): // ct only - return {ColorMode::COLOR_TEMPERATURE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::COLD_WARM_WHITE, - ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::COLOR_TEMPERATURE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::COLD_WARM_WHITE, + ColorMode::RGB_COLD_WARM_WHITE}) + .get_mask(); case KEY(true, true, false, false): // white + ct - return {ColorMode::COLD_WARM_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask( + {ColorMode::COLD_WARM_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}) + .get_mask(); case KEY(false, false, true, false): // cwww only - return {ColorMode::COLD_WARM_WHITE, ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::COLD_WARM_WHITE, ColorMode::RGB_COLD_WARM_WHITE}).get_mask(); case KEY(false, false, false, false): // none - return {ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE, ColorMode::RGB, - ColorMode::WHITE, ColorMode::COLOR_TEMPERATURE, ColorMode::COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE, + ColorMode::RGB, ColorMode::WHITE, ColorMode::COLOR_TEMPERATURE, ColorMode::COLD_WARM_WHITE}) + .get_mask(); case KEY(true, false, false, true): // rgb + white - return {ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}) + .get_mask(); case KEY(false, true, false, true): // rgb + ct case KEY(true, true, false, true): // rgb + white + ct - return {ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}).get_mask(); case KEY(false, false, true, true): // rgb + cwww - return {ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::RGB_COLD_WARM_WHITE}).get_mask(); case KEY(false, false, false, true): // rgb only - return {ColorMode::RGB, ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, ColorMode::RGB_COLD_WARM_WHITE}; + return ColorModeMask({ColorMode::RGB, ColorMode::RGB_WHITE, ColorMode::RGB_COLOR_TEMPERATURE, + ColorMode::RGB_COLD_WARM_WHITE}) + .get_mask(); default: - return {}; // conflicting flags + return 0; // conflicting flags } #undef KEY diff --git a/esphome/components/light/light_call.h b/esphome/components/light/light_call.h index d3a526b136..6931b58b9d 100644 --- a/esphome/components/light/light_call.h +++ b/esphome/components/light/light_call.h @@ -1,7 +1,6 @@ #pragma once #include "light_color_values.h" -#include namespace esphome { @@ -186,8 +185,8 @@ class LightCall { //// Compute the color mode that should be used for this call. ColorMode compute_color_mode_(); - /// Get potential color modes for this light call. - std::set get_suitable_color_modes_(); + /// Get potential color modes bitmask for this light call. + color_mode_bitmask_t get_suitable_color_modes_mask_(); /// Some color modes also can be set using non-native parameters, transform those calls. void transform_parameters_(); diff --git a/esphome/components/light/light_json_schema.cpp b/esphome/components/light/light_json_schema.cpp index 010e130612..e754c453b5 100644 --- a/esphome/components/light/light_json_schema.cpp +++ b/esphome/components/light/light_json_schema.cpp @@ -43,7 +43,6 @@ void LightJSONSchema::dump_json(LightState &state, JsonObject root) { } auto values = state.remote_values; - auto traits = state.get_output()->get_traits(); const auto color_mode = values.get_color_mode(); const char *mode_str = get_color_mode_json_str(color_mode); diff --git a/esphome/components/light/light_state.cpp b/esphome/components/light/light_state.cpp index 1d139e49e7..979dc2f5a1 100644 --- a/esphome/components/light/light_state.cpp +++ b/esphome/components/light/light_state.cpp @@ -191,11 +191,9 @@ void LightState::current_values_as_brightness(float *brightness) { this->current_values.as_brightness(brightness, this->gamma_correct_); } void LightState::current_values_as_rgb(float *red, float *green, float *blue, bool color_interlock) { - auto traits = this->get_traits(); this->current_values.as_rgb(red, green, blue, this->gamma_correct_, false); } void LightState::current_values_as_rgbw(float *red, float *green, float *blue, float *white, bool color_interlock) { - auto traits = this->get_traits(); this->current_values.as_rgbw(red, green, blue, white, this->gamma_correct_, false); } void LightState::current_values_as_rgbww(float *red, float *green, float *blue, float *cold_white, float *warm_white, @@ -209,7 +207,6 @@ void LightState::current_values_as_rgbct(float *red, float *green, float *blue, white_brightness, this->gamma_correct_); } void LightState::current_values_as_cwww(float *cold_white, float *warm_white, bool constant_brightness) { - auto traits = this->get_traits(); this->current_values.as_cwww(cold_white, warm_white, this->gamma_correct_, constant_brightness); } void LightState::current_values_as_ct(float *color_temperature, float *white_brightness) { diff --git a/esphome/components/light/light_traits.h b/esphome/components/light/light_traits.h index a45301d148..c83d8ad2a9 100644 --- a/esphome/components/light/light_traits.h +++ b/esphome/components/light/light_traits.h @@ -2,7 +2,6 @@ #include "esphome/core/helpers.h" #include "color_mode.h" -#include namespace esphome { @@ -19,18 +18,17 @@ class LightTraits { public: LightTraits() = default; - const std::set &get_supported_color_modes() const { return this->supported_color_modes_; } - void set_supported_color_modes(std::set supported_color_modes) { - this->supported_color_modes_ = std::move(supported_color_modes); + const ColorModeMask &get_supported_color_modes() const { return this->supported_color_modes_; } + void set_supported_color_modes(ColorModeMask supported_color_modes) { + this->supported_color_modes_ = supported_color_modes; + } + void set_supported_color_modes(std::initializer_list modes) { + this->supported_color_modes_ = ColorModeMask(modes); } - bool supports_color_mode(ColorMode color_mode) const { return this->supported_color_modes_.count(color_mode); } + bool supports_color_mode(ColorMode color_mode) const { return this->supported_color_modes_.contains(color_mode); } bool supports_color_capability(ColorCapability color_capability) const { - for (auto mode : this->supported_color_modes_) { - if (mode & color_capability) - return true; - } - return false; + return this->supported_color_modes_.has_capability(color_capability); } ESPDEPRECATED("get_supports_brightness() is deprecated, use color modes instead.", "v1.21") @@ -59,19 +57,9 @@ class LightTraits { void set_max_mireds(float max_mireds) { this->max_mireds_ = max_mireds; } protected: -#ifdef USE_API - // The API connection is a friend class to access internal methods - friend class api::APIConnection; - // This method returns a reference to the internal color modes set. - // It is used by the API to avoid copying data when encoding messages. - // Warning: Do not use this method outside of the API connection code. - // It returns a reference to internal data that can be invalidated. - const std::set &get_supported_color_modes_for_api_() const { return this->supported_color_modes_; } -#endif - - std::set supported_color_modes_{}; float min_mireds_{0}; float max_mireds_{0}; + ColorModeMask supported_color_modes_{}; }; } // namespace light diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index 4936434fc2..2f83b0bd79 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -1415,7 +1415,13 @@ class RepeatedTypeInfo(TypeInfo): super().__init__(field) # Check if this is a pointer field by looking for container_pointer option self._container_type = get_field_opt(field, pb.container_pointer, "") - self._use_pointer = bool(self._container_type) + # Check for non-template container pointer + self._container_no_template = get_field_opt( + field, pb.container_pointer_no_template, "" + ) + self._use_pointer = bool(self._container_type) or bool( + self._container_no_template + ) # Check if this should use FixedVector instead of std::vector self._use_fixed_vector = get_field_opt(field, pb.fixed_vector, False) @@ -1434,12 +1440,18 @@ class RepeatedTypeInfo(TypeInfo): @property def cpp_type(self) -> str: + if self._container_no_template: + # Non-template container: use type as-is without appending template parameters + return f"const {self._container_no_template}*" if self._use_pointer and self._container_type: # For pointer fields, use the specified container type - # If the container type already includes the element type (e.g., std::set) - # use it as-is, otherwise append the element type + # Two cases: + # 1. "std::set" - Full type with template params, use as-is + # 2. "std::set" - No <>, append the element type if "<" in self._container_type and ">" in self._container_type: + # Has template parameters specified, use as-is return f"const {self._container_type}*" + # No <> at all, append element type return f"const {self._container_type}<{self._ti.cpp_type}>*" if self._use_fixed_vector: return f"FixedVector<{self._ti.cpp_type}>" diff --git a/tests/integration/test_light_calls.py b/tests/integration/test_light_calls.py index af90ddbe86..0eaf5af91b 100644 --- a/tests/integration/test_light_calls.py +++ b/tests/integration/test_light_calls.py @@ -8,6 +8,7 @@ import asyncio from typing import Any from aioesphomeapi import LightState +from aioesphomeapi.model import ColorMode import pytest from .types import APIClientConnectedFactory, RunCompiledFunction @@ -35,10 +36,51 @@ async def test_light_calls( # Get the light entities entities = await client.list_entities_services() lights = [e for e in entities[0] if e.object_id.startswith("test_")] - assert len(lights) >= 2 # Should have RGBCW and RGB lights + assert len(lights) >= 3 # Should have RGBCW, RGB, and Binary lights rgbcw_light = next(light for light in lights if "RGBCW" in light.name) rgb_light = next(light for light in lights if "RGB Light" in light.name) + binary_light = next(light for light in lights if "Binary" in light.name) + + # Test color mode encoding: Verify supported_color_modes contains actual ColorMode enum values + # not bit positions. This is critical - the iterator must convert bit positions to actual + # ColorMode enum values for API encoding. + + # RGBCW light (rgbww platform) should support RGB_COLD_WARM_WHITE mode + assert ColorMode.RGB_COLD_WARM_WHITE in rgbcw_light.supported_color_modes, ( + f"RGBCW light missing RGB_COLD_WARM_WHITE mode. Got: {rgbcw_light.supported_color_modes}" + ) + # Verify it's the actual enum value, not bit position + assert ColorMode.RGB_COLD_WARM_WHITE.value in [ + mode.value for mode in rgbcw_light.supported_color_modes + ], ( + f"RGBCW light has wrong color mode values. Expected {ColorMode.RGB_COLD_WARM_WHITE.value} " + f"(RGB_COLD_WARM_WHITE), got: {[mode.value for mode in rgbcw_light.supported_color_modes]}" + ) + + # RGB light should support RGB mode + assert ColorMode.RGB in rgb_light.supported_color_modes, ( + f"RGB light missing RGB color mode. Got: {rgb_light.supported_color_modes}" + ) + # Verify it's the actual enum value, not bit position + assert ColorMode.RGB.value in [ + mode.value for mode in rgb_light.supported_color_modes + ], ( + f"RGB light has wrong color mode values. Expected {ColorMode.RGB.value} (RGB), got: " + f"{[mode.value for mode in rgb_light.supported_color_modes]}" + ) + + # Binary light (on/off only) should support ON_OFF mode + assert ColorMode.ON_OFF in binary_light.supported_color_modes, ( + f"Binary light missing ON_OFF color mode. Got: {binary_light.supported_color_modes}" + ) + # Verify it's the actual enum value, not bit position + assert ColorMode.ON_OFF.value in [ + mode.value for mode in binary_light.supported_color_modes + ], ( + f"Binary light has wrong color mode values. Expected {ColorMode.ON_OFF.value} (ON_OFF), got: " + f"{[mode.value for mode in binary_light.supported_color_modes]}" + ) async def wait_for_state_change(key: int, timeout: float = 1.0) -> Any: """Wait for a state change for the given entity key.""" From 09b2ad071bdadad82d20080d2352c577b131eebd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:49:13 -1000 Subject: [PATCH 195/201] [esp32_ble_client] Remove duplicate MAC address extraction in set_address() (#11358) --- esphome/components/esp32_ble_client/ble_client_base.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/esphome/components/esp32_ble_client/ble_client_base.h b/esphome/components/esp32_ble_client/ble_client_base.h index f2edd6c2b3..7f0ae3b83e 100644 --- a/esphome/components/esp32_ble_client/ble_client_base.h +++ b/esphome/components/esp32_ble_client/ble_client_base.h @@ -61,12 +61,7 @@ class BLEClientBase : public espbt::ESPBTClient, public Component { this->address_str_ = ""; } else { char buf[18]; - uint8_t mac[6] = { - (uint8_t) ((this->address_ >> 40) & 0xff), (uint8_t) ((this->address_ >> 32) & 0xff), - (uint8_t) ((this->address_ >> 24) & 0xff), (uint8_t) ((this->address_ >> 16) & 0xff), - (uint8_t) ((this->address_ >> 8) & 0xff), (uint8_t) ((this->address_ >> 0) & 0xff), - }; - format_mac_addr_upper(mac, buf); + format_mac_addr_upper(this->remote_bda_, buf); this->address_str_ = buf; } } From 57e98ec3fc95104e37984d1a6f25c10a80298c23 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:49:58 -1000 Subject: [PATCH 196/201] [wifi] Replace std::vector with std::unique_ptr for WiFi scan buffer (#11364) --- esphome/components/wifi/wifi_component_esp_idf.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/esphome/components/wifi/wifi_component_esp_idf.cpp b/esphome/components/wifi/wifi_component_esp_idf.cpp index 951f5803a6..ce1cc961d0 100644 --- a/esphome/components/wifi/wifi_component_esp_idf.cpp +++ b/esphome/components/wifi/wifi_component_esp_idf.cpp @@ -776,13 +776,12 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { } uint16_t number = it.number; - std::vector records(number); - err = esp_wifi_scan_get_ap_records(&number, records.data()); + auto records = std::make_unique(number); + err = esp_wifi_scan_get_ap_records(&number, records.get()); if (err != ESP_OK) { ESP_LOGW(TAG, "esp_wifi_scan_get_ap_records failed: %s", esp_err_to_name(err)); return; } - records.resize(number); scan_result_.init(number); for (int i = 0; i < number; i++) { From bda7676e3a52ef2426177f8bb4422cc47c5d6354 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:51:41 -1000 Subject: [PATCH 197/201] [bluetooth_proxy] Merge duplicate loops in get_connection_() (#11359) --- .../components/bluetooth_proxy/bluetooth_proxy.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp b/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp index cd7261d5e5..34e0aa93a3 100644 --- a/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +++ b/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp @@ -155,16 +155,12 @@ esp32_ble_tracker::AdvertisementParserType BluetoothProxy::get_advertisement_par BluetoothConnection *BluetoothProxy::get_connection_(uint64_t address, bool reserve) { for (uint8_t i = 0; i < this->connection_count_; i++) { auto *connection = this->connections_[i]; - if (connection->get_address() == address) + uint64_t conn_addr = connection->get_address(); + + if (conn_addr == address) return connection; - } - if (!reserve) - return nullptr; - - for (uint8_t i = 0; i < this->connection_count_; i++) { - auto *connection = this->connections_[i]; - if (connection->get_address() == 0) { + if (reserve && conn_addr == 0) { connection->send_service_ = INIT_SENDING_SERVICES; connection->set_address(address); // All connections must start at INIT @@ -175,7 +171,6 @@ BluetoothConnection *BluetoothProxy::get_connection_(uint64_t address, bool rese return connection; } } - return nullptr; } From 0266c897c9d33f62be4888ec5def9b71a96f5bd8 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:53:00 -1000 Subject: [PATCH 198/201] [mdns] Use std::unique_ptr for TXT records to reduce ESP32 flash usage (#11362) --- esphome/components/mdns/mdns_esp32.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index f2cb2d3ef5..c02bfcbadb 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -31,18 +31,17 @@ void MDNSComponent::setup() { mdns_instance_name_set(this->hostname_.c_str()); for (const auto &service : services) { - std::vector txt_records; - for (const auto &record : service.txt_records) { - mdns_txt_item_t it{}; + auto txt_records = std::make_unique(service.txt_records.size()); + for (size_t i = 0; i < service.txt_records.size(); i++) { + const auto &record = service.txt_records[i]; // key and value are either compile-time string literals in flash or pointers to dynamic_txt_values_ // Both remain valid for the lifetime of this function, and ESP-IDF makes internal copies - it.key = MDNS_STR_ARG(record.key); - it.value = MDNS_STR_ARG(record.value); - txt_records.push_back(it); + txt_records[i].key = MDNS_STR_ARG(record.key); + txt_records[i].value = MDNS_STR_ARG(record.value); } uint16_t port = const_cast &>(service.port).value(); err = mdns_service_add(nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port, - txt_records.data(), txt_records.size()); + txt_records.get(), service.txt_records.size()); if (err != ESP_OK) { ESP_LOGW(TAG, "Failed to register service %s: %s", MDNS_STR_ARG(service.service_type), esp_err_to_name(err)); From 85babe85e4e97dfe3abd5bb4656ea86102118698 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 08:59:47 -1000 Subject: [PATCH 199/201] [sensor] Optimize sliding window filters to eliminate heap fragmentation (#11282) --- esphome/components/sensor/__init__.py | 60 ++- esphome/components/sensor/filter.cpp | 312 +++++++------- esphome/components/sensor/filter.h | 217 +++++++--- tests/components/sensor/common.yaml | 101 +++++ tests/components/sensor/test.esp8266-ard.yaml | 1 + tests/integration/README.md | 75 ++++ .../fixtures/sensor_filters_batch_window.yaml | 58 +++ .../fixtures/sensor_filters_nan_handling.yaml | 84 ++++ .../fixtures/sensor_filters_ring_buffer.yaml | 115 +++++ ...sensor_filters_ring_buffer_wraparound.yaml | 72 ++++ .../sensor_filters_sliding_window.yaml | 123 ++++++ tests/integration/state_utils.py | 167 ++++++++ .../test_sensor_filters_ring_buffer.py | 151 +++++++ .../test_sensor_filters_sliding_window.py | 395 ++++++++++++++++++ 14 files changed, 1697 insertions(+), 234 deletions(-) create mode 100644 tests/components/sensor/common.yaml create mode 100644 tests/components/sensor/test.esp8266-ard.yaml create mode 100644 tests/integration/fixtures/sensor_filters_batch_window.yaml create mode 100644 tests/integration/fixtures/sensor_filters_nan_handling.yaml create mode 100644 tests/integration/fixtures/sensor_filters_ring_buffer.yaml create mode 100644 tests/integration/fixtures/sensor_filters_ring_buffer_wraparound.yaml create mode 100644 tests/integration/fixtures/sensor_filters_sliding_window.yaml create mode 100644 tests/integration/state_utils.py create mode 100644 tests/integration/test_sensor_filters_ring_buffer.py create mode 100644 tests/integration/test_sensor_filters_sliding_window.py diff --git a/esphome/components/sensor/__init__.py b/esphome/components/sensor/__init__.py index bf13217787..d9724a741d 100644 --- a/esphome/components/sensor/__init__.py +++ b/esphome/components/sensor/__init__.py @@ -251,6 +251,9 @@ MaxFilter = sensor_ns.class_("MaxFilter", Filter) SlidingWindowMovingAverageFilter = sensor_ns.class_( "SlidingWindowMovingAverageFilter", Filter ) +StreamingMinFilter = sensor_ns.class_("StreamingMinFilter", Filter) +StreamingMaxFilter = sensor_ns.class_("StreamingMaxFilter", Filter) +StreamingMovingAverageFilter = sensor_ns.class_("StreamingMovingAverageFilter", Filter) ExponentialMovingAverageFilter = sensor_ns.class_( "ExponentialMovingAverageFilter", Filter ) @@ -452,14 +455,21 @@ async def skip_initial_filter_to_code(config, filter_id): return cg.new_Pvariable(filter_id, config) -@FILTER_REGISTRY.register("min", MinFilter, MIN_SCHEMA) +@FILTER_REGISTRY.register("min", Filter, MIN_SCHEMA) async def min_filter_to_code(config, filter_id): - return cg.new_Pvariable( - filter_id, - config[CONF_WINDOW_SIZE], - config[CONF_SEND_EVERY], - config[CONF_SEND_FIRST_AT], - ) + window_size: int = config[CONF_WINDOW_SIZE] + send_every: int = config[CONF_SEND_EVERY] + send_first_at: int = config[CONF_SEND_FIRST_AT] + + # Optimization: Use streaming filter for batch windows (window_size == send_every) + # Saves 99.98% memory for large windows (e.g., 20KB → 4 bytes for window_size=5000) + if window_size == send_every: + # Use streaming filter - O(1) memory instead of O(n) + rhs = StreamingMinFilter.new(window_size, send_first_at) + return cg.Pvariable(filter_id, rhs, StreamingMinFilter) + # Use sliding window filter - maintains ring buffer + rhs = MinFilter.new(window_size, send_every, send_first_at) + return cg.Pvariable(filter_id, rhs, MinFilter) MAX_SCHEMA = cv.All( @@ -474,14 +484,18 @@ MAX_SCHEMA = cv.All( ) -@FILTER_REGISTRY.register("max", MaxFilter, MAX_SCHEMA) +@FILTER_REGISTRY.register("max", Filter, MAX_SCHEMA) async def max_filter_to_code(config, filter_id): - return cg.new_Pvariable( - filter_id, - config[CONF_WINDOW_SIZE], - config[CONF_SEND_EVERY], - config[CONF_SEND_FIRST_AT], - ) + window_size: int = config[CONF_WINDOW_SIZE] + send_every: int = config[CONF_SEND_EVERY] + send_first_at: int = config[CONF_SEND_FIRST_AT] + + # Optimization: Use streaming filter for batch windows (window_size == send_every) + if window_size == send_every: + rhs = StreamingMaxFilter.new(window_size, send_first_at) + return cg.Pvariable(filter_id, rhs, StreamingMaxFilter) + rhs = MaxFilter.new(window_size, send_every, send_first_at) + return cg.Pvariable(filter_id, rhs, MaxFilter) SLIDING_AVERAGE_SCHEMA = cv.All( @@ -498,16 +512,20 @@ SLIDING_AVERAGE_SCHEMA = cv.All( @FILTER_REGISTRY.register( "sliding_window_moving_average", - SlidingWindowMovingAverageFilter, + Filter, SLIDING_AVERAGE_SCHEMA, ) async def sliding_window_moving_average_filter_to_code(config, filter_id): - return cg.new_Pvariable( - filter_id, - config[CONF_WINDOW_SIZE], - config[CONF_SEND_EVERY], - config[CONF_SEND_FIRST_AT], - ) + window_size: int = config[CONF_WINDOW_SIZE] + send_every: int = config[CONF_SEND_EVERY] + send_first_at: int = config[CONF_SEND_FIRST_AT] + + # Optimization: Use streaming filter for batch windows (window_size == send_every) + if window_size == send_every: + rhs = StreamingMovingAverageFilter.new(window_size, send_first_at) + return cg.Pvariable(filter_id, rhs, StreamingMovingAverageFilter) + rhs = SlidingWindowMovingAverageFilter.new(window_size, send_every, send_first_at) + return cg.Pvariable(filter_id, rhs, SlidingWindowMovingAverageFilter) EXPONENTIAL_AVERAGE_SCHEMA = cv.All( diff --git a/esphome/components/sensor/filter.cpp b/esphome/components/sensor/filter.cpp index 3241ae28af..1eb0b84964 100644 --- a/esphome/components/sensor/filter.cpp +++ b/esphome/components/sensor/filter.cpp @@ -32,50 +32,76 @@ void Filter::initialize(Sensor *parent, Filter *next) { this->next_ = next; } -// MedianFilter -MedianFilter::MedianFilter(size_t window_size, size_t send_every, size_t send_first_at) - : send_every_(send_every), send_at_(send_every - send_first_at), window_size_(window_size) {} -void MedianFilter::set_send_every(size_t send_every) { this->send_every_ = send_every; } -void MedianFilter::set_window_size(size_t window_size) { this->window_size_ = window_size; } -optional MedianFilter::new_value(float value) { - while (this->queue_.size() >= this->window_size_) { - this->queue_.pop_front(); - } - this->queue_.push_back(value); - ESP_LOGVV(TAG, "MedianFilter(%p)::new_value(%f)", this, value); +// SlidingWindowFilter +SlidingWindowFilter::SlidingWindowFilter(size_t window_size, size_t send_every, size_t send_first_at) + : window_size_(window_size), send_every_(send_every), send_at_(send_every - send_first_at) { + // Allocate ring buffer once at initialization + this->window_.init(window_size); +} +optional SlidingWindowFilter::new_value(float value) { + // Add value to ring buffer + if (this->window_count_ < this->window_size_) { + // Buffer not yet full - just append + this->window_.push_back(value); + this->window_count_++; + } else { + // Buffer full - overwrite oldest value (ring buffer) + this->window_[this->window_head_] = value; + this->window_head_++; + if (this->window_head_ >= this->window_size_) { + this->window_head_ = 0; + } + } + + // Check if we should send a result if (++this->send_at_ >= this->send_every_) { this->send_at_ = 0; - - float median = NAN; - if (!this->queue_.empty()) { - // Copy queue without NaN values - std::vector median_queue; - median_queue.reserve(this->queue_.size()); - for (auto v : this->queue_) { - if (!std::isnan(v)) { - median_queue.push_back(v); - } - } - - sort(median_queue.begin(), median_queue.end()); - - size_t queue_size = median_queue.size(); - if (queue_size) { - if (queue_size % 2) { - median = median_queue[queue_size / 2]; - } else { - median = (median_queue[queue_size / 2] + median_queue[(queue_size / 2) - 1]) / 2.0f; - } - } - } - - ESP_LOGVV(TAG, "MedianFilter(%p)::new_value(%f) SENDING %f", this, value, median); - return median; + float result = this->compute_result(); + ESP_LOGVV(TAG, "SlidingWindowFilter(%p)::new_value(%f) SENDING %f", this, value, result); + return result; } return {}; } +// SortedWindowFilter +FixedVector SortedWindowFilter::get_window_values_() { + // Copy window without NaN values using FixedVector (no heap allocation) + // Returns unsorted values - caller will use std::nth_element for partial sorting as needed + FixedVector values; + values.init(this->window_count_); + for (size_t i = 0; i < this->window_count_; i++) { + float v = this->window_[i]; + if (!std::isnan(v)) { + values.push_back(v); + } + } + return values; +} + +// MedianFilter +float MedianFilter::compute_result() { + FixedVector values = this->get_window_values_(); + if (values.empty()) + return NAN; + + size_t size = values.size(); + size_t mid = size / 2; + + if (size % 2) { + // Odd number of elements - use nth_element to find middle element + std::nth_element(values.begin(), values.begin() + mid, values.end()); + return values[mid]; + } + // Even number of elements - need both middle elements + // Use nth_element to find upper middle element + std::nth_element(values.begin(), values.begin() + mid, values.end()); + float upper = values[mid]; + // Find the maximum of the lower half (which is now everything before mid) + float lower = *std::max_element(values.begin(), values.begin() + mid); + return (lower + upper) / 2.0f; +} + // SkipInitialFilter SkipInitialFilter::SkipInitialFilter(size_t num_to_ignore) : num_to_ignore_(num_to_ignore) {} optional SkipInitialFilter::new_value(float value) { @@ -91,136 +117,39 @@ optional SkipInitialFilter::new_value(float value) { // QuantileFilter QuantileFilter::QuantileFilter(size_t window_size, size_t send_every, size_t send_first_at, float quantile) - : send_every_(send_every), send_at_(send_every - send_first_at), window_size_(window_size), quantile_(quantile) {} -void QuantileFilter::set_send_every(size_t send_every) { this->send_every_ = send_every; } -void QuantileFilter::set_window_size(size_t window_size) { this->window_size_ = window_size; } -void QuantileFilter::set_quantile(float quantile) { this->quantile_ = quantile; } -optional QuantileFilter::new_value(float value) { - while (this->queue_.size() >= this->window_size_) { - this->queue_.pop_front(); - } - this->queue_.push_back(value); - ESP_LOGVV(TAG, "QuantileFilter(%p)::new_value(%f), quantile:%f", this, value, this->quantile_); + : SortedWindowFilter(window_size, send_every, send_first_at), quantile_(quantile) {} - if (++this->send_at_ >= this->send_every_) { - this->send_at_ = 0; +float QuantileFilter::compute_result() { + FixedVector values = this->get_window_values_(); + if (values.empty()) + return NAN; - float result = NAN; - if (!this->queue_.empty()) { - // Copy queue without NaN values - std::vector quantile_queue; - for (auto v : this->queue_) { - if (!std::isnan(v)) { - quantile_queue.push_back(v); - } - } + size_t position = ceilf(values.size() * this->quantile_) - 1; + ESP_LOGVV(TAG, "QuantileFilter(%p)::position: %zu/%zu", this, position + 1, values.size()); - sort(quantile_queue.begin(), quantile_queue.end()); - - size_t queue_size = quantile_queue.size(); - if (queue_size) { - size_t position = ceilf(queue_size * this->quantile_) - 1; - ESP_LOGVV(TAG, "QuantileFilter(%p)::position: %zu/%zu", this, position + 1, queue_size); - result = quantile_queue[position]; - } - } - - ESP_LOGVV(TAG, "QuantileFilter(%p)::new_value(%f) SENDING %f", this, value, result); - return result; - } - return {}; + // Use nth_element to find the quantile element (O(n) instead of O(n log n)) + std::nth_element(values.begin(), values.begin() + position, values.end()); + return values[position]; } // MinFilter -MinFilter::MinFilter(size_t window_size, size_t send_every, size_t send_first_at) - : send_every_(send_every), send_at_(send_every - send_first_at), window_size_(window_size) {} -void MinFilter::set_send_every(size_t send_every) { this->send_every_ = send_every; } -void MinFilter::set_window_size(size_t window_size) { this->window_size_ = window_size; } -optional MinFilter::new_value(float value) { - while (this->queue_.size() >= this->window_size_) { - this->queue_.pop_front(); - } - this->queue_.push_back(value); - ESP_LOGVV(TAG, "MinFilter(%p)::new_value(%f)", this, value); - - if (++this->send_at_ >= this->send_every_) { - this->send_at_ = 0; - - float min = NAN; - for (auto v : this->queue_) { - if (!std::isnan(v)) { - min = std::isnan(min) ? v : std::min(min, v); - } - } - - ESP_LOGVV(TAG, "MinFilter(%p)::new_value(%f) SENDING %f", this, value, min); - return min; - } - return {}; -} +float MinFilter::compute_result() { return this->find_extremum_>(); } // MaxFilter -MaxFilter::MaxFilter(size_t window_size, size_t send_every, size_t send_first_at) - : send_every_(send_every), send_at_(send_every - send_first_at), window_size_(window_size) {} -void MaxFilter::set_send_every(size_t send_every) { this->send_every_ = send_every; } -void MaxFilter::set_window_size(size_t window_size) { this->window_size_ = window_size; } -optional MaxFilter::new_value(float value) { - while (this->queue_.size() >= this->window_size_) { - this->queue_.pop_front(); - } - this->queue_.push_back(value); - ESP_LOGVV(TAG, "MaxFilter(%p)::new_value(%f)", this, value); - - if (++this->send_at_ >= this->send_every_) { - this->send_at_ = 0; - - float max = NAN; - for (auto v : this->queue_) { - if (!std::isnan(v)) { - max = std::isnan(max) ? v : std::max(max, v); - } - } - - ESP_LOGVV(TAG, "MaxFilter(%p)::new_value(%f) SENDING %f", this, value, max); - return max; - } - return {}; -} +float MaxFilter::compute_result() { return this->find_extremum_>(); } // SlidingWindowMovingAverageFilter -SlidingWindowMovingAverageFilter::SlidingWindowMovingAverageFilter(size_t window_size, size_t send_every, - size_t send_first_at) - : send_every_(send_every), send_at_(send_every - send_first_at), window_size_(window_size) {} -void SlidingWindowMovingAverageFilter::set_send_every(size_t send_every) { this->send_every_ = send_every; } -void SlidingWindowMovingAverageFilter::set_window_size(size_t window_size) { this->window_size_ = window_size; } -optional SlidingWindowMovingAverageFilter::new_value(float value) { - while (this->queue_.size() >= this->window_size_) { - this->queue_.pop_front(); - } - this->queue_.push_back(value); - ESP_LOGVV(TAG, "SlidingWindowMovingAverageFilter(%p)::new_value(%f)", this, value); - - if (++this->send_at_ >= this->send_every_) { - this->send_at_ = 0; - - float sum = 0; - size_t valid_count = 0; - for (auto v : this->queue_) { - if (!std::isnan(v)) { - sum += v; - valid_count++; - } +float SlidingWindowMovingAverageFilter::compute_result() { + float sum = 0; + size_t valid_count = 0; + for (size_t i = 0; i < this->window_count_; i++) { + float v = this->window_[i]; + if (!std::isnan(v)) { + sum += v; + valid_count++; } - - float average = NAN; - if (valid_count) { - average = sum / valid_count; - } - - ESP_LOGVV(TAG, "SlidingWindowMovingAverageFilter(%p)::new_value(%f) SENDING %f", this, value, average); - return average; } - return {}; + return valid_count ? sum / valid_count : NAN; } // ExponentialMovingAverageFilter @@ -543,5 +472,78 @@ optional ToNTCTemperatureFilter::new_value(float value) { return temp; } +// StreamingFilter (base class) +StreamingFilter::StreamingFilter(size_t window_size, size_t send_first_at) + : window_size_(window_size), send_first_at_(send_first_at) {} + +optional StreamingFilter::new_value(float value) { + // Process the value (child class tracks min/max/sum/etc) + this->process_value(value); + + this->count_++; + + // Check if we should send (handle send_first_at for first value) + bool should_send = false; + if (this->first_send_ && this->count_ >= this->send_first_at_) { + should_send = true; + this->first_send_ = false; + } else if (!this->first_send_ && this->count_ >= this->window_size_) { + should_send = true; + } + + if (should_send) { + float result = this->compute_batch_result(); + // Reset for next batch + this->count_ = 0; + this->reset_batch(); + ESP_LOGVV(TAG, "StreamingFilter(%p)::new_value(%f) SENDING %f", this, value, result); + return result; + } + + return {}; +} + +// StreamingMinFilter +void StreamingMinFilter::process_value(float value) { + // Update running minimum (ignore NaN values) + if (!std::isnan(value)) { + this->current_min_ = std::isnan(this->current_min_) ? value : std::min(this->current_min_, value); + } +} + +float StreamingMinFilter::compute_batch_result() { return this->current_min_; } + +void StreamingMinFilter::reset_batch() { this->current_min_ = NAN; } + +// StreamingMaxFilter +void StreamingMaxFilter::process_value(float value) { + // Update running maximum (ignore NaN values) + if (!std::isnan(value)) { + this->current_max_ = std::isnan(this->current_max_) ? value : std::max(this->current_max_, value); + } +} + +float StreamingMaxFilter::compute_batch_result() { return this->current_max_; } + +void StreamingMaxFilter::reset_batch() { this->current_max_ = NAN; } + +// StreamingMovingAverageFilter +void StreamingMovingAverageFilter::process_value(float value) { + // Accumulate sum (ignore NaN values) + if (!std::isnan(value)) { + this->sum_ += value; + this->valid_count_++; + } +} + +float StreamingMovingAverageFilter::compute_batch_result() { + return this->valid_count_ > 0 ? this->sum_ / this->valid_count_ : NAN; +} + +void StreamingMovingAverageFilter::reset_batch() { + this->sum_ = 0.0f; + this->valid_count_ = 0; +} + } // namespace sensor } // namespace esphome diff --git a/esphome/components/sensor/filter.h b/esphome/components/sensor/filter.h index 49d83e5b4b..57bb06b517 100644 --- a/esphome/components/sensor/filter.h +++ b/esphome/components/sensor/filter.h @@ -44,11 +44,75 @@ class Filter { Sensor *parent_{nullptr}; }; +/** Base class for filters that use a sliding window of values. + * + * Uses a ring buffer to efficiently maintain a fixed-size sliding window without + * reallocations or pop_front() overhead. Eliminates deque fragmentation issues. + */ +class SlidingWindowFilter : public Filter { + public: + SlidingWindowFilter(size_t window_size, size_t send_every, size_t send_first_at); + + optional new_value(float value) final; + + protected: + /// Called by new_value() to compute the filtered result from the current window + virtual float compute_result() = 0; + + /// Access the sliding window values (ring buffer implementation) + /// Use: for (size_t i = 0; i < window_count_; i++) { float val = window_[i]; } + FixedVector window_; + size_t window_head_{0}; ///< Index where next value will be written + size_t window_count_{0}; ///< Number of valid values in window (0 to window_size_) + size_t window_size_; ///< Maximum window size + size_t send_every_; ///< Send result every N values + size_t send_at_; ///< Counter for send_every +}; + +/** Base class for Min/Max filters. + * + * Provides a templated helper to find extremum values efficiently. + */ +class MinMaxFilter : public SlidingWindowFilter { + public: + using SlidingWindowFilter::SlidingWindowFilter; + + protected: + /// Helper to find min or max value in window, skipping NaN values + /// Usage: find_extremum_>() for min, find_extremum_>() for max + template float find_extremum_() { + float result = NAN; + Compare comp; + for (size_t i = 0; i < this->window_count_; i++) { + float v = this->window_[i]; + if (!std::isnan(v)) { + result = std::isnan(result) ? v : (comp(v, result) ? v : result); + } + } + return result; + } +}; + +/** Base class for filters that need a sorted window (Median, Quantile). + * + * Extends SlidingWindowFilter to provide a helper that filters out NaN values. + * Derived classes use std::nth_element for efficient partial sorting. + */ +class SortedWindowFilter : public SlidingWindowFilter { + public: + using SlidingWindowFilter::SlidingWindowFilter; + + protected: + /// Helper to get non-NaN values from the window (not sorted - caller will use nth_element) + /// Returns empty FixedVector if all values are NaN + FixedVector get_window_values_(); +}; + /** Simple quantile filter. * - * Takes the quantile of the last values and pushes it out every . + * Takes the quantile of the last values and pushes it out every . */ -class QuantileFilter : public Filter { +class QuantileFilter : public SortedWindowFilter { public: /** Construct a QuantileFilter. * @@ -61,25 +125,18 @@ class QuantileFilter : public Filter { */ explicit QuantileFilter(size_t window_size, size_t send_every, size_t send_first_at, float quantile); - optional new_value(float value) override; - - void set_send_every(size_t send_every); - void set_window_size(size_t window_size); - void set_quantile(float quantile); + void set_quantile(float quantile) { this->quantile_ = quantile; } protected: - std::deque queue_; - size_t send_every_; - size_t send_at_; - size_t window_size_; + float compute_result() override; float quantile_; }; /** Simple median filter. * - * Takes the median of the last values and pushes it out every . + * Takes the median of the last values and pushes it out every . */ -class MedianFilter : public Filter { +class MedianFilter : public SortedWindowFilter { public: /** Construct a MedianFilter. * @@ -89,18 +146,10 @@ class MedianFilter : public Filter { * on startup being published on the first *raw* value, so with no filter applied. Must be less than or equal to * send_every. */ - explicit MedianFilter(size_t window_size, size_t send_every, size_t send_first_at); - - optional new_value(float value) override; - - void set_send_every(size_t send_every); - void set_window_size(size_t window_size); + using SortedWindowFilter::SortedWindowFilter; protected: - std::deque queue_; - size_t send_every_; - size_t send_at_; - size_t window_size_; + float compute_result() override; }; /** Simple skip filter. @@ -123,9 +172,9 @@ class SkipInitialFilter : public Filter { /** Simple min filter. * - * Takes the min of the last values and pushes it out every . + * Takes the min of the last values and pushes it out every . */ -class MinFilter : public Filter { +class MinFilter : public MinMaxFilter { public: /** Construct a MinFilter. * @@ -135,25 +184,17 @@ class MinFilter : public Filter { * on startup being published on the first *raw* value, so with no filter applied. Must be less than or equal to * send_every. */ - explicit MinFilter(size_t window_size, size_t send_every, size_t send_first_at); - - optional new_value(float value) override; - - void set_send_every(size_t send_every); - void set_window_size(size_t window_size); + using MinMaxFilter::MinMaxFilter; protected: - std::deque queue_; - size_t send_every_; - size_t send_at_; - size_t window_size_; + float compute_result() override; }; /** Simple max filter. * - * Takes the max of the last values and pushes it out every . + * Takes the max of the last values and pushes it out every . */ -class MaxFilter : public Filter { +class MaxFilter : public MinMaxFilter { public: /** Construct a MaxFilter. * @@ -163,18 +204,10 @@ class MaxFilter : public Filter { * on startup being published on the first *raw* value, so with no filter applied. Must be less than or equal to * send_every. */ - explicit MaxFilter(size_t window_size, size_t send_every, size_t send_first_at); - - optional new_value(float value) override; - - void set_send_every(size_t send_every); - void set_window_size(size_t window_size); + using MinMaxFilter::MinMaxFilter; protected: - std::deque queue_; - size_t send_every_; - size_t send_at_; - size_t window_size_; + float compute_result() override; }; /** Simple sliding window moving average filter. @@ -182,7 +215,7 @@ class MaxFilter : public Filter { * Essentially just takes takes the average of the last window_size values and pushes them out * every send_every. */ -class SlidingWindowMovingAverageFilter : public Filter { +class SlidingWindowMovingAverageFilter : public SlidingWindowFilter { public: /** Construct a SlidingWindowMovingAverageFilter. * @@ -192,18 +225,10 @@ class SlidingWindowMovingAverageFilter : public Filter { * on startup being published on the first *raw* value, so with no filter applied. Must be less than or equal to * send_every. */ - explicit SlidingWindowMovingAverageFilter(size_t window_size, size_t send_every, size_t send_first_at); - - optional new_value(float value) override; - - void set_send_every(size_t send_every); - void set_window_size(size_t window_size); + using SlidingWindowFilter::SlidingWindowFilter; protected: - std::deque queue_; - size_t send_every_; - size_t send_at_; - size_t window_size_; + float compute_result() override; }; /** Simple exponential moving average filter. @@ -476,5 +501,81 @@ class ToNTCTemperatureFilter : public Filter { double c_; }; +/** Base class for streaming filters (batch windows where window_size == send_every). + * + * When window_size equals send_every, we don't need a sliding window. + * This base class handles the common batching logic. + */ +class StreamingFilter : public Filter { + public: + StreamingFilter(size_t window_size, size_t send_first_at); + + optional new_value(float value) final; + + protected: + /// Called by new_value() to process each value in the batch + virtual void process_value(float value) = 0; + + /// Called by new_value() to compute the result after collecting window_size values + virtual float compute_batch_result() = 0; + + /// Called by new_value() to reset internal state after sending a result + virtual void reset_batch() = 0; + + size_t window_size_; + size_t count_{0}; + size_t send_first_at_; + bool first_send_{true}; +}; + +/** Streaming min filter for batch windows (window_size == send_every). + * + * Uses O(1) memory instead of O(n) by tracking only the minimum value. + */ +class StreamingMinFilter : public StreamingFilter { + public: + using StreamingFilter::StreamingFilter; + + protected: + void process_value(float value) override; + float compute_batch_result() override; + void reset_batch() override; + + float current_min_{NAN}; +}; + +/** Streaming max filter for batch windows (window_size == send_every). + * + * Uses O(1) memory instead of O(n) by tracking only the maximum value. + */ +class StreamingMaxFilter : public StreamingFilter { + public: + using StreamingFilter::StreamingFilter; + + protected: + void process_value(float value) override; + float compute_batch_result() override; + void reset_batch() override; + + float current_max_{NAN}; +}; + +/** Streaming moving average filter for batch windows (window_size == send_every). + * + * Uses O(1) memory instead of O(n) by tracking only sum and count. + */ +class StreamingMovingAverageFilter : public StreamingFilter { + public: + using StreamingFilter::StreamingFilter; + + protected: + void process_value(float value) override; + float compute_batch_result() override; + void reset_batch() override; + + float sum_{0.0f}; + size_t valid_count_{0}; +}; + } // namespace sensor } // namespace esphome diff --git a/tests/components/sensor/common.yaml b/tests/components/sensor/common.yaml new file mode 100644 index 0000000000..ace7d0a38a --- /dev/null +++ b/tests/components/sensor/common.yaml @@ -0,0 +1,101 @@ +sensor: + # Source sensor for testing filters + - platform: template + name: "Source Sensor" + id: source_sensor + lambda: return 42.0; + update_interval: 1s + + # Streaming filters (window_size == send_every) - uses StreamingFilter base class + - platform: copy + source_id: source_sensor + name: "Streaming Min Filter" + filters: + - min: + window_size: 10 + send_every: 10 # Batch window → StreamingMinFilter + + - platform: copy + source_id: source_sensor + name: "Streaming Max Filter" + filters: + - max: + window_size: 10 + send_every: 10 # Batch window → StreamingMaxFilter + + - platform: copy + source_id: source_sensor + name: "Streaming Moving Average Filter" + filters: + - sliding_window_moving_average: + window_size: 10 + send_every: 10 # Batch window → StreamingMovingAverageFilter + + # Sliding window filters (window_size != send_every) - uses SlidingWindowFilter base class with ring buffer + - platform: copy + source_id: source_sensor + name: "Sliding Min Filter" + filters: + - min: + window_size: 10 + send_every: 5 # Sliding window → MinFilter with ring buffer + + - platform: copy + source_id: source_sensor + name: "Sliding Max Filter" + filters: + - max: + window_size: 10 + send_every: 5 # Sliding window → MaxFilter with ring buffer + + - platform: copy + source_id: source_sensor + name: "Sliding Median Filter" + filters: + - median: + window_size: 10 + send_every: 5 # Sliding window → MedianFilter with ring buffer + + - platform: copy + source_id: source_sensor + name: "Sliding Quantile Filter" + filters: + - quantile: + window_size: 10 + send_every: 5 + quantile: 0.9 # Sliding window → QuantileFilter with ring buffer + + - platform: copy + source_id: source_sensor + name: "Sliding Moving Average Filter" + filters: + - sliding_window_moving_average: + window_size: 10 + send_every: 5 # Sliding window → SlidingWindowMovingAverageFilter with ring buffer + + # Edge cases + - platform: copy + source_id: source_sensor + name: "Large Batch Window Min" + filters: + - min: + window_size: 1000 + send_every: 1000 # Large batch → StreamingMinFilter (4 bytes, not 4KB) + + - platform: copy + source_id: source_sensor + name: "Small Sliding Window" + filters: + - median: + window_size: 3 + send_every: 1 # Frequent output → MedianFilter with 3-element ring buffer + + # send_first_at parameter test + - platform: copy + source_id: source_sensor + name: "Early Send Filter" + filters: + - max: + window_size: 10 + send_every: 10 + send_first_at: 1 # Send after first value diff --git a/tests/components/sensor/test.esp8266-ard.yaml b/tests/components/sensor/test.esp8266-ard.yaml new file mode 100644 index 0000000000..dade44d145 --- /dev/null +++ b/tests/components/sensor/test.esp8266-ard.yaml @@ -0,0 +1 @@ +<<: !include common.yaml diff --git a/tests/integration/README.md b/tests/integration/README.md index 8fce81bb80..2a6b6fe564 100644 --- a/tests/integration/README.md +++ b/tests/integration/README.md @@ -7,6 +7,7 @@ This directory contains end-to-end integration tests for ESPHome, focusing on te - `conftest.py` - Common fixtures and utilities - `const.py` - Constants used throughout the integration tests - `types.py` - Type definitions for fixtures and functions +- `state_utils.py` - State handling utilities (e.g., `InitialStateHelper`, `build_key_to_entity_mapping`) - `fixtures/` - YAML configuration files for tests - `test_*.py` - Individual test files @@ -26,6 +27,32 @@ The `yaml_config` fixture automatically loads YAML configurations based on the t - `reserved_tcp_port` - Reserves a TCP port by holding the socket open until ESPHome needs it - `unused_tcp_port` - Provides the reserved port number for each test +### Helper Utilities + +#### InitialStateHelper (`state_utils.py`) + +The `InitialStateHelper` class solves a common problem in integration tests: when an API client connects, ESPHome automatically broadcasts the current state of all entities. This can interfere with tests that want to track only new state changes triggered by test actions. + +**What it does:** +- Tracks all entities (except stateless ones like buttons) +- Swallows the first state broadcast for each entity +- Forwards all subsequent state changes to your test callback +- Provides `wait_for_initial_states()` to synchronize before test actions + +**When to use it:** +- Any test that triggers entity state changes and needs to verify them +- Tests that would otherwise see duplicate or unexpected states +- Tests that need clean separation between initial state and test-triggered changes + +**Implementation details:** +- Uses `(device_id, key)` tuples to uniquely identify entities across devices +- Automatically excludes `ButtonInfo` entities (stateless) +- Provides debug logging to track state reception (use `--log-cli-level=DEBUG`) +- Safe for concurrent use with multiple entity types + +**Future work:** +Consider converting existing integration tests to use `InitialStateHelper` for more reliable state tracking and to eliminate race conditions related to initial state broadcasts. + ### Writing Tests The simplest way to write a test is to use the `run_compiled` and `api_client_connected` fixtures: @@ -125,6 +152,54 @@ async def test_my_sensor( ``` ##### State Subscription Pattern + +**Recommended: Using InitialStateHelper** + +When an API client connects, ESPHome automatically sends the current state of all entities. The `InitialStateHelper` (from `state_utils.py`) handles this by swallowing these initial states and only forwarding subsequent state changes to your test callback: + +```python +from .state_utils import InitialStateHelper + +# Track state changes with futures +loop = asyncio.get_running_loop() +states: dict[int, EntityState] = {} +state_future: asyncio.Future[EntityState] = loop.create_future() + +def on_state(state: EntityState) -> None: + """This callback only receives NEW state changes, not initial states.""" + states[state.key] = state + # Check for specific condition using isinstance + if isinstance(state, SensorState) and state.state == expected_value: + if not state_future.done(): + state_future.set_result(state) + +# Get entities and set up state synchronization +entities, services = await client.list_entities_services() +initial_state_helper = InitialStateHelper(entities) + +# Subscribe with the wrapper that filters initial states +client.subscribe_states(initial_state_helper.on_state_wrapper(on_state)) + +# Wait for all initial states to be broadcast +try: + await initial_state_helper.wait_for_initial_states() +except TimeoutError: + pytest.fail("Timeout waiting for initial states") + +# Now perform your test actions - on_state will only receive new changes +# ... trigger state changes ... + +# Wait for expected state +try: + result = await asyncio.wait_for(state_future, timeout=5.0) +except asyncio.TimeoutError: + pytest.fail(f"Expected state not received. Got: {list(states.values())}") +``` + +**Legacy: Manual State Tracking** + +If you need to handle initial states manually (not recommended for new tests): + ```python # Track state changes with futures loop = asyncio.get_running_loop() diff --git a/tests/integration/fixtures/sensor_filters_batch_window.yaml b/tests/integration/fixtures/sensor_filters_batch_window.yaml new file mode 100644 index 0000000000..58a254c215 --- /dev/null +++ b/tests/integration/fixtures/sensor_filters_batch_window.yaml @@ -0,0 +1,58 @@ +esphome: + name: test-batch-window-filters + +host: +api: + batch_delay: 0ms # Disable batching to receive all state updates +logger: + level: DEBUG + +# Template sensor that we'll use to publish values +sensor: + - platform: template + name: "Source Sensor" + id: source_sensor + accuracy_decimals: 2 + + # Batch window filters (window_size == send_every) - use streaming filters + - platform: copy + source_id: source_sensor + name: "Min Sensor" + id: min_sensor + filters: + - min: + window_size: 5 + send_every: 5 + send_first_at: 1 + + - platform: copy + source_id: source_sensor + name: "Max Sensor" + id: max_sensor + filters: + - max: + window_size: 5 + send_every: 5 + send_first_at: 1 + + - platform: copy + source_id: source_sensor + name: "Moving Avg Sensor" + id: moving_avg_sensor + filters: + - sliding_window_moving_average: + window_size: 5 + send_every: 5 + send_first_at: 1 + +# Button to trigger publishing test values +button: + - platform: template + name: "Publish Values Button" + id: publish_button + on_press: + - lambda: |- + // Publish 10 values: 1.0, 2.0, ..., 10.0 + for (int i = 1; i <= 10; i++) { + id(source_sensor).publish_state(float(i)); + } diff --git a/tests/integration/fixtures/sensor_filters_nan_handling.yaml b/tests/integration/fixtures/sensor_filters_nan_handling.yaml new file mode 100644 index 0000000000..fcb12cfde5 --- /dev/null +++ b/tests/integration/fixtures/sensor_filters_nan_handling.yaml @@ -0,0 +1,84 @@ +esphome: + name: test-nan-handling + +host: +api: + batch_delay: 0ms # Disable batching to receive all state updates +logger: + level: DEBUG + +sensor: + - platform: template + name: "Source NaN Sensor" + id: source_nan_sensor + accuracy_decimals: 2 + + - platform: copy + source_id: source_nan_sensor + name: "Min NaN Sensor" + id: min_nan_sensor + filters: + - min: + window_size: 5 + send_every: 5 + send_first_at: 1 + + - platform: copy + source_id: source_nan_sensor + name: "Max NaN Sensor" + id: max_nan_sensor + filters: + - max: + window_size: 5 + send_every: 5 + send_first_at: 1 + +script: + - id: publish_nan_values_script + then: + - sensor.template.publish: + id: source_nan_sensor + state: 10.0 + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: !lambda 'return NAN;' + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: 5.0 + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: !lambda 'return NAN;' + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: 15.0 + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: 8.0 + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: !lambda 'return NAN;' + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: 12.0 + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: 3.0 + - delay: 20ms + - sensor.template.publish: + id: source_nan_sensor + state: !lambda 'return NAN;' + +button: + - platform: template + name: "Publish NaN Values Button" + id: publish_nan_button + on_press: + - script.execute: publish_nan_values_script diff --git a/tests/integration/fixtures/sensor_filters_ring_buffer.yaml b/tests/integration/fixtures/sensor_filters_ring_buffer.yaml new file mode 100644 index 0000000000..ea7a326b8d --- /dev/null +++ b/tests/integration/fixtures/sensor_filters_ring_buffer.yaml @@ -0,0 +1,115 @@ +esphome: + name: test-sliding-window-filters + +host: +api: + batch_delay: 0ms # Disable batching to receive all state updates +logger: + level: DEBUG + +# Template sensor that we'll use to publish values +sensor: + - platform: template + name: "Source Sensor" + id: source_sensor + accuracy_decimals: 2 + + # ACTUAL sliding window filters (window_size != send_every) - use ring buffers + # Window of 5, send every 2 values + - platform: copy + source_id: source_sensor + name: "Sliding Min Sensor" + id: sliding_min_sensor + filters: + - min: + window_size: 5 + send_every: 2 + send_first_at: 1 + + - platform: copy + source_id: source_sensor + name: "Sliding Max Sensor" + id: sliding_max_sensor + filters: + - max: + window_size: 5 + send_every: 2 + send_first_at: 1 + + - platform: copy + source_id: source_sensor + name: "Sliding Median Sensor" + id: sliding_median_sensor + filters: + - median: + window_size: 5 + send_every: 2 + send_first_at: 1 + + - platform: copy + source_id: source_sensor + name: "Sliding Moving Avg Sensor" + id: sliding_moving_avg_sensor + filters: + - sliding_window_moving_average: + window_size: 5 + send_every: 2 + send_first_at: 1 + +# Button to trigger publishing test values +script: + - id: publish_values_script + then: + # Publish 10 values: 1.0, 2.0, ..., 10.0 + # With window_size=5, send_every=2, send_first_at=1: + # - Output at position 1: window=[1], min=1, max=1, median=1, avg=1 + # - Output at position 3: window=[1,2,3], min=1, max=3, median=2, avg=2 + # - Output at position 5: window=[1,2,3,4,5], min=1, max=5, median=3, avg=3 + # - Output at position 7: window=[3,4,5,6,7], min=3, max=7, median=5, avg=5 + # - Output at position 9: window=[5,6,7,8,9], min=5, max=9, median=7, avg=7 + - sensor.template.publish: + id: source_sensor + state: 1.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 2.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 3.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 4.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 5.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 6.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 7.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 8.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 9.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 10.0 + +button: + - platform: template + name: "Publish Values Button" + id: publish_button + on_press: + - script.execute: publish_values_script diff --git a/tests/integration/fixtures/sensor_filters_ring_buffer_wraparound.yaml b/tests/integration/fixtures/sensor_filters_ring_buffer_wraparound.yaml new file mode 100644 index 0000000000..bd5980160b --- /dev/null +++ b/tests/integration/fixtures/sensor_filters_ring_buffer_wraparound.yaml @@ -0,0 +1,72 @@ +esphome: + name: test-ring-buffer-wraparound + +host: +api: + batch_delay: 0ms # Disable batching to receive all state updates +logger: + level: DEBUG + +sensor: + - platform: template + name: "Source Wraparound Sensor" + id: source_wraparound + accuracy_decimals: 2 + + - platform: copy + source_id: source_wraparound + name: "Wraparound Min Sensor" + id: wraparound_min_sensor + filters: + - min: + window_size: 3 + send_every: 3 + send_first_at: 1 + +script: + - id: publish_wraparound_script + then: + # Publish 9 values to test ring buffer wraparound + # Values: 10, 20, 30, 5, 25, 15, 40, 35, 20 + - sensor.template.publish: + id: source_wraparound + state: 10.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 20.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 30.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 5.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 25.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 15.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 40.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 35.0 + - delay: 20ms + - sensor.template.publish: + id: source_wraparound + state: 20.0 + +button: + - platform: template + name: "Publish Wraparound Button" + id: publish_wraparound_button + on_press: + - script.execute: publish_wraparound_script diff --git a/tests/integration/fixtures/sensor_filters_sliding_window.yaml b/tests/integration/fixtures/sensor_filters_sliding_window.yaml new file mode 100644 index 0000000000..2055118811 --- /dev/null +++ b/tests/integration/fixtures/sensor_filters_sliding_window.yaml @@ -0,0 +1,123 @@ +esphome: + name: test-sliding-window-filters + +host: +api: + batch_delay: 0ms # Disable batching to receive all state updates +logger: + level: DEBUG + +# Template sensor that we'll use to publish values +sensor: + - platform: template + name: "Source Sensor" + id: source_sensor + accuracy_decimals: 2 + + # Min filter sensor + - platform: copy + source_id: source_sensor + name: "Min Sensor" + id: min_sensor + filters: + - min: + window_size: 5 + send_every: 5 + send_first_at: 1 + + # Max filter sensor + - platform: copy + source_id: source_sensor + name: "Max Sensor" + id: max_sensor + filters: + - max: + window_size: 5 + send_every: 5 + send_first_at: 1 + + # Median filter sensor + - platform: copy + source_id: source_sensor + name: "Median Sensor" + id: median_sensor + filters: + - median: + window_size: 5 + send_every: 5 + send_first_at: 1 + + # Quantile filter sensor (90th percentile) + - platform: copy + source_id: source_sensor + name: "Quantile Sensor" + id: quantile_sensor + filters: + - quantile: + window_size: 5 + send_every: 5 + send_first_at: 1 + quantile: 0.9 + + # Moving average filter sensor + - platform: copy + source_id: source_sensor + name: "Moving Avg Sensor" + id: moving_avg_sensor + filters: + - sliding_window_moving_average: + window_size: 5 + send_every: 5 + send_first_at: 1 + +# Script to publish values with delays +script: + - id: publish_values_script + then: + - sensor.template.publish: + id: source_sensor + state: 1.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 2.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 3.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 4.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 5.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 6.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 7.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 8.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 9.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor + state: 10.0 + +# Button to trigger publishing test values +button: + - platform: template + name: "Publish Values Button" + id: publish_button + on_press: + - script.execute: publish_values_script diff --git a/tests/integration/state_utils.py b/tests/integration/state_utils.py new file mode 100644 index 0000000000..58d6d2790f --- /dev/null +++ b/tests/integration/state_utils.py @@ -0,0 +1,167 @@ +"""Shared utilities for ESPHome integration tests - state handling.""" + +from __future__ import annotations + +import asyncio +import logging + +from aioesphomeapi import ButtonInfo, EntityInfo, EntityState + +_LOGGER = logging.getLogger(__name__) + + +def build_key_to_entity_mapping( + entities: list[EntityInfo], entity_names: list[str] +) -> dict[int, str]: + """Build a mapping from entity keys to entity names. + + Args: + entities: List of entity info objects from the API + entity_names: List of entity names to search for in object_ids + + Returns: + Dictionary mapping entity keys to entity names + """ + key_to_entity: dict[int, str] = {} + for entity in entities: + obj_id = entity.object_id.lower() + for entity_name in entity_names: + if entity_name in obj_id: + key_to_entity[entity.key] = entity_name + break + return key_to_entity + + +class InitialStateHelper: + """Helper to wait for initial states before processing test states. + + When an API client connects, ESPHome sends the current state of all entities. + This helper wraps the user's state callback and swallows the first state for + each entity, then forwards all subsequent states to the user callback. + + Usage: + entities, services = await client.list_entities_services() + helper = InitialStateHelper(entities) + client.subscribe_states(helper.on_state_wrapper(user_callback)) + await helper.wait_for_initial_states() + """ + + def __init__(self, entities: list[EntityInfo]) -> None: + """Initialize the helper. + + Args: + entities: All entities from list_entities_services() + """ + # Set of (device_id, key) tuples waiting for initial state + # Buttons are stateless, so exclude them + self._wait_initial_states = { + (entity.device_id, entity.key) + for entity in entities + if not isinstance(entity, ButtonInfo) + } + # Keep entity info for debugging - use (device_id, key) tuple + self._entities_by_id = { + (entity.device_id, entity.key): entity for entity in entities + } + + # Log all entities + _LOGGER.debug( + "InitialStateHelper: Found %d total entities: %s", + len(entities), + [(type(e).__name__, e.object_id) for e in entities], + ) + + # Log which ones we're waiting for + _LOGGER.debug( + "InitialStateHelper: Waiting for %d entities (excluding ButtonInfo): %s", + len(self._wait_initial_states), + [self._entities_by_id[k].object_id for k in self._wait_initial_states], + ) + + # Log which ones we're NOT waiting for + not_waiting = { + (e.device_id, e.key) for e in entities + } - self._wait_initial_states + if not_waiting: + not_waiting_info = [ + f"{type(self._entities_by_id[k]).__name__}:{self._entities_by_id[k].object_id}" + for k in not_waiting + ] + _LOGGER.debug( + "InitialStateHelper: NOT waiting for %d entities: %s", + len(not_waiting), + not_waiting_info, + ) + + # Create future in the running event loop + self._initial_states_received = asyncio.get_running_loop().create_future() + # If no entities to wait for, mark complete immediately + if not self._wait_initial_states: + self._initial_states_received.set_result(True) + + def on_state_wrapper(self, user_callback): + """Wrap a user callback to track initial states. + + Args: + user_callback: The user's state callback function + + Returns: + Wrapped callback that swallows first state per entity, forwards rest + """ + + def wrapper(state: EntityState) -> None: + """Swallow initial state per entity, forward subsequent states.""" + # Create entity identifier tuple + entity_id = (state.device_id, state.key) + + # Log which entity is sending state + if entity_id in self._entities_by_id: + entity = self._entities_by_id[entity_id] + _LOGGER.debug( + "Received state for %s (type: %s, device_id: %s, key: %d)", + entity.object_id, + type(entity).__name__, + state.device_id, + state.key, + ) + + # If this entity is waiting for initial state + if entity_id in self._wait_initial_states: + # Remove from waiting set + self._wait_initial_states.discard(entity_id) + + _LOGGER.debug( + "Swallowed initial state for %s, %d entities remaining", + self._entities_by_id[entity_id].object_id + if entity_id in self._entities_by_id + else entity_id, + len(self._wait_initial_states), + ) + + # Check if we've now seen all entities + if ( + not self._wait_initial_states + and not self._initial_states_received.done() + ): + _LOGGER.debug("All initial states received") + self._initial_states_received.set_result(True) + + # Don't forward initial state to user + return + + # Forward subsequent states to user callback + _LOGGER.debug("Forwarding state to user callback") + user_callback(state) + + return wrapper + + async def wait_for_initial_states(self, timeout: float = 5.0) -> None: + """Wait for all initial states to be received. + + Args: + timeout: Maximum time to wait in seconds + + Raises: + asyncio.TimeoutError: If initial states aren't received within timeout + """ + await asyncio.wait_for(self._initial_states_received, timeout=timeout) diff --git a/tests/integration/test_sensor_filters_ring_buffer.py b/tests/integration/test_sensor_filters_ring_buffer.py new file mode 100644 index 0000000000..c8be8edce0 --- /dev/null +++ b/tests/integration/test_sensor_filters_ring_buffer.py @@ -0,0 +1,151 @@ +"""Test sensor ring buffer filter functionality (window_size != send_every).""" + +from __future__ import annotations + +import asyncio + +from aioesphomeapi import EntityState, SensorState +import pytest + +from .state_utils import InitialStateHelper, build_key_to_entity_mapping +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@pytest.mark.asyncio +async def test_sensor_filters_ring_buffer( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test that ring buffer filters (window_size != send_every) work correctly.""" + loop = asyncio.get_running_loop() + + # Track state changes for each sensor + sensor_states: dict[str, list[float]] = { + "sliding_min": [], + "sliding_max": [], + "sliding_median": [], + "sliding_moving_avg": [], + } + + # Futures to track when we receive expected values + all_updates_received = loop.create_future() + + def on_state(state: EntityState) -> None: + """Track sensor state updates.""" + if not isinstance(state, SensorState): + return + + # Skip NaN values + if state.missing_state: + return + + # Get the sensor name from the key mapping + sensor_name = key_to_sensor.get(state.key) + if not sensor_name or sensor_name not in sensor_states: + return + + sensor_states[sensor_name].append(state.state) + + # Check if we've received enough updates from all sensors + # With send_every=2, send_first_at=1, we expect 5 outputs per sensor + if ( + len(sensor_states["sliding_min"]) >= 5 + and len(sensor_states["sliding_max"]) >= 5 + and len(sensor_states["sliding_median"]) >= 5 + and len(sensor_states["sliding_moving_avg"]) >= 5 + and not all_updates_received.done() + ): + all_updates_received.set_result(True) + + async with ( + run_compiled(yaml_config), + api_client_connected() as client, + ): + # Get entities first to build key mapping + entities, services = await client.list_entities_services() + + # Build key-to-sensor mapping + key_to_sensor = build_key_to_entity_mapping( + entities, + [ + "sliding_min", + "sliding_max", + "sliding_median", + "sliding_moving_avg", + ], + ) + + # Set up initial state helper with all entities + initial_state_helper = InitialStateHelper(entities) + + # Subscribe to state changes with wrapper + client.subscribe_states(initial_state_helper.on_state_wrapper(on_state)) + + # Wait for initial states to be sent before pressing button + try: + await initial_state_helper.wait_for_initial_states() + except TimeoutError: + pytest.fail("Timeout waiting for initial states") + + # Find the publish button + publish_button = next( + (e for e in entities if "publish_values_button" in e.object_id.lower()), + None, + ) + assert publish_button is not None, "Publish Values Button not found" + + # Press the button to publish test values + client.button_command(publish_button.key) + + # Wait for all sensors to receive their values + try: + await asyncio.wait_for(all_updates_received, timeout=10.0) + except TimeoutError: + # Provide detailed failure info + pytest.fail( + f"Timeout waiting for updates. Received states:\n" + f" min: {sensor_states['sliding_min']}\n" + f" max: {sensor_states['sliding_max']}\n" + f" median: {sensor_states['sliding_median']}\n" + f" moving_avg: {sensor_states['sliding_moving_avg']}" + ) + + # Verify we got 5 outputs per sensor (positions 1, 3, 5, 7, 9) + assert len(sensor_states["sliding_min"]) == 5, ( + f"Min sensor should have 5 values, got {len(sensor_states['sliding_min'])}: {sensor_states['sliding_min']}" + ) + assert len(sensor_states["sliding_max"]) == 5 + assert len(sensor_states["sliding_median"]) == 5 + assert len(sensor_states["sliding_moving_avg"]) == 5 + + # Verify the values at each output position + # Position 1: window=[1] + assert sensor_states["sliding_min"][0] == pytest.approx(1.0) + assert sensor_states["sliding_max"][0] == pytest.approx(1.0) + assert sensor_states["sliding_median"][0] == pytest.approx(1.0) + assert sensor_states["sliding_moving_avg"][0] == pytest.approx(1.0) + + # Position 3: window=[1,2,3] + assert sensor_states["sliding_min"][1] == pytest.approx(1.0) + assert sensor_states["sliding_max"][1] == pytest.approx(3.0) + assert sensor_states["sliding_median"][1] == pytest.approx(2.0) + assert sensor_states["sliding_moving_avg"][1] == pytest.approx(2.0) + + # Position 5: window=[1,2,3,4,5] + assert sensor_states["sliding_min"][2] == pytest.approx(1.0) + assert sensor_states["sliding_max"][2] == pytest.approx(5.0) + assert sensor_states["sliding_median"][2] == pytest.approx(3.0) + assert sensor_states["sliding_moving_avg"][2] == pytest.approx(3.0) + + # Position 7: window=[3,4,5,6,7] (ring buffer wrapped) + assert sensor_states["sliding_min"][3] == pytest.approx(3.0) + assert sensor_states["sliding_max"][3] == pytest.approx(7.0) + assert sensor_states["sliding_median"][3] == pytest.approx(5.0) + assert sensor_states["sliding_moving_avg"][3] == pytest.approx(5.0) + + # Position 9: window=[5,6,7,8,9] (ring buffer wrapped) + assert sensor_states["sliding_min"][4] == pytest.approx(5.0) + assert sensor_states["sliding_max"][4] == pytest.approx(9.0) + assert sensor_states["sliding_median"][4] == pytest.approx(7.0) + assert sensor_states["sliding_moving_avg"][4] == pytest.approx(7.0) diff --git a/tests/integration/test_sensor_filters_sliding_window.py b/tests/integration/test_sensor_filters_sliding_window.py new file mode 100644 index 0000000000..b0688a6536 --- /dev/null +++ b/tests/integration/test_sensor_filters_sliding_window.py @@ -0,0 +1,395 @@ +"""Test sensor sliding window filter functionality.""" + +from __future__ import annotations + +import asyncio + +from aioesphomeapi import EntityState, SensorState +import pytest + +from .state_utils import InitialStateHelper, build_key_to_entity_mapping +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@pytest.mark.asyncio +async def test_sensor_filters_sliding_window( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test that sliding window filters (min, max, median, quantile, moving_average) work correctly.""" + loop = asyncio.get_running_loop() + + # Track state changes for each sensor + sensor_states: dict[str, list[float]] = { + "min_sensor": [], + "max_sensor": [], + "median_sensor": [], + "quantile_sensor": [], + "moving_avg_sensor": [], + } + + # Futures to track when we receive expected values + min_received = loop.create_future() + max_received = loop.create_future() + median_received = loop.create_future() + quantile_received = loop.create_future() + moving_avg_received = loop.create_future() + + def on_state(state: EntityState) -> None: + """Track sensor state updates.""" + if not isinstance(state, SensorState): + return + + # Skip NaN values + if state.missing_state: + return + + # Get the sensor name from the key mapping + sensor_name = key_to_sensor.get(state.key) + if not sensor_name or sensor_name not in sensor_states: + return + + sensor_states[sensor_name].append(state.state) + + # Check if we received the expected final value + # After publishing 10 values [1.0, 2.0, ..., 10.0], the window has the last 5: [2, 3, 4, 5, 6] + # Filters send at position 1 and position 6 (send_every=5 means every 5th value after first) + if ( + sensor_name == "min_sensor" + and state.state == pytest.approx(2.0) + and not min_received.done() + ): + min_received.set_result(True) + elif ( + sensor_name == "max_sensor" + and state.state == pytest.approx(6.0) + and not max_received.done() + ): + max_received.set_result(True) + elif ( + sensor_name == "median_sensor" + and state.state == pytest.approx(4.0) + and not median_received.done() + ): + # Median of [2, 3, 4, 5, 6] = 4 + median_received.set_result(True) + elif ( + sensor_name == "quantile_sensor" + and state.state == pytest.approx(6.0) + and not quantile_received.done() + ): + # 90th percentile of [2, 3, 4, 5, 6] = 6 + quantile_received.set_result(True) + elif ( + sensor_name == "moving_avg_sensor" + and state.state == pytest.approx(4.0) + and not moving_avg_received.done() + ): + # Average of [2, 3, 4, 5, 6] = 4 + moving_avg_received.set_result(True) + + async with ( + run_compiled(yaml_config), + api_client_connected() as client, + ): + # Get entities first to build key mapping + entities, services = await client.list_entities_services() + + # Build key-to-sensor mapping + key_to_sensor = build_key_to_entity_mapping( + entities, + [ + "min_sensor", + "max_sensor", + "median_sensor", + "quantile_sensor", + "moving_avg_sensor", + ], + ) + + # Set up initial state helper with all entities + initial_state_helper = InitialStateHelper(entities) + + # Subscribe to state changes with wrapper + client.subscribe_states(initial_state_helper.on_state_wrapper(on_state)) + + # Wait for initial states to be sent before pressing button + try: + await initial_state_helper.wait_for_initial_states() + except TimeoutError: + pytest.fail("Timeout waiting for initial states") + + # Find the publish button + publish_button = next( + (e for e in entities if "publish_values_button" in e.object_id.lower()), + None, + ) + assert publish_button is not None, "Publish Values Button not found" + + # Press the button to publish test values + client.button_command(publish_button.key) + + # Wait for all sensors to receive their final values + try: + await asyncio.wait_for( + asyncio.gather( + min_received, + max_received, + median_received, + quantile_received, + moving_avg_received, + ), + timeout=10.0, + ) + except TimeoutError: + # Provide detailed failure info + pytest.fail( + f"Timeout waiting for expected values. Received states:\n" + f" min: {sensor_states['min_sensor']}\n" + f" max: {sensor_states['max_sensor']}\n" + f" median: {sensor_states['median_sensor']}\n" + f" quantile: {sensor_states['quantile_sensor']}\n" + f" moving_avg: {sensor_states['moving_avg_sensor']}" + ) + + # Verify we got the expected values + # With batch_delay: 0ms, we should receive all outputs + # Filters output at positions 1 and 6 (send_every: 5) + assert len(sensor_states["min_sensor"]) == 2, ( + f"Min sensor should have 2 values, got {len(sensor_states['min_sensor'])}: {sensor_states['min_sensor']}" + ) + assert len(sensor_states["max_sensor"]) == 2, ( + f"Max sensor should have 2 values, got {len(sensor_states['max_sensor'])}: {sensor_states['max_sensor']}" + ) + assert len(sensor_states["median_sensor"]) == 2 + assert len(sensor_states["quantile_sensor"]) == 2 + assert len(sensor_states["moving_avg_sensor"]) == 2 + + # Verify the first output (after 1 value: [1]) + assert sensor_states["min_sensor"][0] == pytest.approx(1.0), ( + f"First min should be 1.0, got {sensor_states['min_sensor'][0]}" + ) + assert sensor_states["max_sensor"][0] == pytest.approx(1.0), ( + f"First max should be 1.0, got {sensor_states['max_sensor'][0]}" + ) + assert sensor_states["median_sensor"][0] == pytest.approx(1.0), ( + f"First median should be 1.0, got {sensor_states['median_sensor'][0]}" + ) + assert sensor_states["moving_avg_sensor"][0] == pytest.approx(1.0), ( + f"First moving avg should be 1.0, got {sensor_states['moving_avg_sensor'][0]}" + ) + + # Verify the second output (after 6 values, window has [2, 3, 4, 5, 6]) + assert sensor_states["min_sensor"][1] == pytest.approx(2.0), ( + f"Second min should be 2.0, got {sensor_states['min_sensor'][1]}" + ) + assert sensor_states["max_sensor"][1] == pytest.approx(6.0), ( + f"Second max should be 6.0, got {sensor_states['max_sensor'][1]}" + ) + assert sensor_states["median_sensor"][1] == pytest.approx(4.0), ( + f"Second median should be 4.0, got {sensor_states['median_sensor'][1]}" + ) + assert sensor_states["moving_avg_sensor"][1] == pytest.approx(4.0), ( + f"Second moving avg should be 4.0, got {sensor_states['moving_avg_sensor'][1]}" + ) + + +@pytest.mark.asyncio +async def test_sensor_filters_nan_handling( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test that sliding window filters handle NaN values correctly.""" + loop = asyncio.get_running_loop() + + # Track states + min_states: list[float] = [] + max_states: list[float] = [] + + # Future to track completion + filters_completed = loop.create_future() + + def on_state(state: EntityState) -> None: + """Track sensor state updates.""" + if not isinstance(state, SensorState): + return + + # Skip NaN values + if state.missing_state: + return + + sensor_name = key_to_sensor.get(state.key) + + if sensor_name == "min_nan": + min_states.append(state.state) + elif sensor_name == "max_nan": + max_states.append(state.state) + + # Check if both have received their final values + # With batch_delay: 0ms, we should receive 2 outputs each + if ( + len(min_states) >= 2 + and len(max_states) >= 2 + and not filters_completed.done() + ): + filters_completed.set_result(True) + + async with ( + run_compiled(yaml_config), + api_client_connected() as client, + ): + # Get entities first to build key mapping + entities, services = await client.list_entities_services() + + # Build key-to-sensor mapping + key_to_sensor = build_key_to_entity_mapping(entities, ["min_nan", "max_nan"]) + + # Set up initial state helper with all entities + initial_state_helper = InitialStateHelper(entities) + + # Subscribe to state changes with wrapper + client.subscribe_states(initial_state_helper.on_state_wrapper(on_state)) + + # Wait for initial states + try: + await initial_state_helper.wait_for_initial_states() + except TimeoutError: + pytest.fail("Timeout waiting for initial states") + + # Find the publish button + publish_button = next( + (e for e in entities if "publish_nan_values_button" in e.object_id.lower()), + None, + ) + assert publish_button is not None, "Publish NaN Values Button not found" + + # Press the button + client.button_command(publish_button.key) + + # Wait for filters to process + try: + await asyncio.wait_for(filters_completed, timeout=10.0) + except TimeoutError: + pytest.fail( + f"Timeout waiting for NaN handling. Received:\n" + f" min_states: {min_states}\n" + f" max_states: {max_states}" + ) + + # Verify NaN values were ignored + # With batch_delay: 0ms, we should receive both outputs (at positions 1 and 6) + # Position 1: window=[10], min=10, max=10 + # Position 6: window=[NaN, 5, NaN, 15, 8], ignoring NaN -> [5, 15, 8], min=5, max=15 + assert len(min_states) == 2, ( + f"Should have 2 min states, got {len(min_states)}: {min_states}" + ) + assert len(max_states) == 2, ( + f"Should have 2 max states, got {len(max_states)}: {max_states}" + ) + + # First output + assert min_states[0] == pytest.approx(10.0), ( + f"First min should be 10.0, got {min_states[0]}" + ) + assert max_states[0] == pytest.approx(10.0), ( + f"First max should be 10.0, got {max_states[0]}" + ) + + # Second output - verify NaN values were ignored + assert min_states[1] == pytest.approx(5.0), ( + f"Second min should ignore NaN and return 5.0, got {min_states[1]}" + ) + assert max_states[1] == pytest.approx(15.0), ( + f"Second max should ignore NaN and return 15.0, got {max_states[1]}" + ) + + +@pytest.mark.asyncio +async def test_sensor_filters_ring_buffer_wraparound( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test that ring buffer correctly wraps around when window fills up.""" + loop = asyncio.get_running_loop() + + min_states: list[float] = [] + + test_completed = loop.create_future() + + def on_state(state: EntityState) -> None: + """Track min sensor states.""" + if not isinstance(state, SensorState): + return + + # Skip NaN values + if state.missing_state: + return + + sensor_name = key_to_sensor.get(state.key) + + if sensor_name == "wraparound_min": + min_states.append(state.state) + # With batch_delay: 0ms, we should receive all 3 outputs + if len(min_states) >= 3 and not test_completed.done(): + test_completed.set_result(True) + + async with ( + run_compiled(yaml_config), + api_client_connected() as client, + ): + # Get entities first to build key mapping + entities, services = await client.list_entities_services() + + # Build key-to-sensor mapping + key_to_sensor = build_key_to_entity_mapping(entities, ["wraparound_min"]) + + # Set up initial state helper with all entities + initial_state_helper = InitialStateHelper(entities) + + # Subscribe to state changes with wrapper + client.subscribe_states(initial_state_helper.on_state_wrapper(on_state)) + + # Wait for initial state + try: + await initial_state_helper.wait_for_initial_states() + except TimeoutError: + pytest.fail("Timeout waiting for initial state") + + # Find the publish button + publish_button = next( + (e for e in entities if "publish_wraparound_button" in e.object_id.lower()), + None, + ) + assert publish_button is not None, "Publish Wraparound Button not found" + + # Press the button + # Will publish: 10, 20, 30, 5, 25, 15, 40, 35, 20 + client.button_command(publish_button.key) + + # Wait for completion + try: + await asyncio.wait_for(test_completed, timeout=10.0) + except TimeoutError: + pytest.fail(f"Timeout waiting for wraparound test. Received: {min_states}") + + # Verify outputs + # With window_size=3, send_every=3, we get outputs at positions 1, 4, 7 + # Position 1: window=[10], min=10 + # Position 4: window=[20, 30, 5], min=5 + # Position 7: window=[15, 40, 35], min=15 + # With batch_delay: 0ms, we should receive all 3 outputs + assert len(min_states) == 3, ( + f"Should have 3 states, got {len(min_states)}: {min_states}" + ) + assert min_states[0] == pytest.approx(10.0), ( + f"First min should be 10.0, got {min_states[0]}" + ) + assert min_states[1] == pytest.approx(5.0), ( + f"Second min should be 5.0, got {min_states[1]}" + ) + assert min_states[2] == pytest.approx(15.0), ( + f"Third min should be 15.0, got {min_states[2]}" + ) From e9933126400193e9e3cb9ea950044c7e3058b9d3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 09:15:47 -1000 Subject: [PATCH 200/201] [core] Fix IndexError when OTA devices cannot be resolved (#11311) --- esphome/__main__.py | 4 +- tests/unit_tests/test_main.py | 78 +++++++++++++++++++---------------- 2 files changed, 45 insertions(+), 37 deletions(-) diff --git a/esphome/__main__.py b/esphome/__main__.py index a0b7d16ae9..982e00f5e1 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -185,7 +185,9 @@ def choose_upload_log_host( else: resolved.append(device) if not resolved: - _LOGGER.error("All specified devices: %s could not be resolved.", defaults) + raise EsphomeError( + f"All specified devices {defaults} could not be resolved. Is the device connected to the network?" + ) return resolved # No devices specified, show interactive chooser diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index 59d0433aa4..73dfe359f0 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -321,12 +321,14 @@ def test_choose_upload_log_host_with_serial_device_no_ports( ) -> None: """Test SERIAL device when no serial ports are found.""" setup_core() - result = choose_upload_log_host( - default="SERIAL", - check_default=None, - purpose=Purpose.UPLOADING, - ) - assert result == [] + with pytest.raises( + EsphomeError, match="All specified devices .* could not be resolved" + ): + choose_upload_log_host( + default="SERIAL", + check_default=None, + purpose=Purpose.UPLOADING, + ) assert "No serial ports found, skipping SERIAL device" in caplog.text @@ -367,12 +369,14 @@ def test_choose_upload_log_host_with_ota_device_with_api_config() -> None: """Test OTA device when API is configured (no upload without OTA in config).""" setup_core(config={CONF_API: {}}, address="192.168.1.100") - result = choose_upload_log_host( - default="OTA", - check_default=None, - purpose=Purpose.UPLOADING, - ) - assert result == [] + with pytest.raises( + EsphomeError, match="All specified devices .* could not be resolved" + ): + choose_upload_log_host( + default="OTA", + check_default=None, + purpose=Purpose.UPLOADING, + ) def test_choose_upload_log_host_with_ota_device_with_api_config_logging() -> None: @@ -405,12 +409,14 @@ def test_choose_upload_log_host_with_ota_device_no_fallback() -> None: """Test OTA device with no valid fallback options.""" setup_core() - result = choose_upload_log_host( - default="OTA", - check_default=None, - purpose=Purpose.UPLOADING, - ) - assert result == [] + with pytest.raises( + EsphomeError, match="All specified devices .* could not be resolved" + ): + choose_upload_log_host( + default="OTA", + check_default=None, + purpose=Purpose.UPLOADING, + ) @pytest.mark.usefixtures("mock_choose_prompt") @@ -615,21 +621,19 @@ def test_choose_upload_log_host_empty_defaults_list() -> None: @pytest.mark.usefixtures("mock_no_serial_ports", "mock_no_mqtt_logging") -def test_choose_upload_log_host_all_devices_unresolved( - caplog: pytest.LogCaptureFixture, -) -> None: +def test_choose_upload_log_host_all_devices_unresolved() -> None: """Test when all specified devices cannot be resolved.""" setup_core() - result = choose_upload_log_host( - default=["SERIAL", "OTA"], - check_default=None, - purpose=Purpose.UPLOADING, - ) - assert result == [] - assert ( - "All specified devices: ['SERIAL', 'OTA'] could not be resolved." in caplog.text - ) + with pytest.raises( + EsphomeError, + match=r"All specified devices \['SERIAL', 'OTA'\] could not be resolved", + ): + choose_upload_log_host( + default=["SERIAL", "OTA"], + check_default=None, + purpose=Purpose.UPLOADING, + ) @pytest.mark.usefixtures("mock_no_serial_ports", "mock_no_mqtt_logging") @@ -762,12 +766,14 @@ def test_choose_upload_log_host_no_address_with_ota_config() -> None: """Test OTA device when OTA is configured but no address is set.""" setup_core(config={CONF_OTA: {}}) - result = choose_upload_log_host( - default="OTA", - check_default=None, - purpose=Purpose.UPLOADING, - ) - assert result == [] + with pytest.raises( + EsphomeError, match="All specified devices .* could not be resolved" + ): + choose_upload_log_host( + default="OTA", + check_default=None, + purpose=Purpose.UPLOADING, + ) @dataclass From 25f3b6a959992c4664bde1603100d455359da88c Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 19 Oct 2025 09:17:33 -1000 Subject: [PATCH 201/201] [mqtt] Reduce flash usage by optimizing ArduinoJson assignments (#11340) --- esphome/components/mqtt/mqtt_client.cpp | 7 +-- esphome/components/mqtt/mqtt_component.cpp | 52 ++++++++-------------- 2 files changed, 20 insertions(+), 39 deletions(-) diff --git a/esphome/components/mqtt/mqtt_client.cpp b/esphome/components/mqtt/mqtt_client.cpp index 16f54ab8a0..9055b4421e 100644 --- a/esphome/components/mqtt/mqtt_client.cpp +++ b/esphome/components/mqtt/mqtt_client.cpp @@ -140,11 +140,8 @@ void MQTTClientComponent::send_device_info_() { #endif #ifdef USE_API_NOISE - if (api::global_api_server->get_noise_ctx()->has_psk()) { - root["api_encryption"] = "Noise_NNpsk0_25519_ChaChaPoly_SHA256"; - } else { - root["api_encryption_supported"] = "Noise_NNpsk0_25519_ChaChaPoly_SHA256"; - } + root[api::global_api_server->get_noise_ctx()->has_psk() ? "api_encryption" : "api_encryption_supported"] = + "Noise_NNpsk0_25519_ChaChaPoly_SHA256"; #endif }, 2, this->discovery_info_.retain); diff --git a/esphome/components/mqtt/mqtt_component.cpp b/esphome/components/mqtt/mqtt_component.cpp index 6ceaf219ff..eb6114008a 100644 --- a/esphome/components/mqtt/mqtt_component.cpp +++ b/esphome/components/mqtt/mqtt_component.cpp @@ -85,24 +85,20 @@ bool MQTTComponent::send_discovery_() { } // Fields from EntityBase - if (this->get_entity()->has_own_name()) { - root[MQTT_NAME] = this->friendly_name(); - } else { - root[MQTT_NAME] = ""; - } + root[MQTT_NAME] = this->get_entity()->has_own_name() ? this->friendly_name() : ""; + if (this->is_disabled_by_default()) root[MQTT_ENABLED_BY_DEFAULT] = false; if (!this->get_icon().empty()) root[MQTT_ICON] = this->get_icon(); - switch (this->get_entity()->get_entity_category()) { + const auto entity_category = this->get_entity()->get_entity_category(); + switch (entity_category) { case ENTITY_CATEGORY_NONE: break; case ENTITY_CATEGORY_CONFIG: - root[MQTT_ENTITY_CATEGORY] = "config"; - break; case ENTITY_CATEGORY_DIAGNOSTIC: - root[MQTT_ENTITY_CATEGORY] = "diagnostic"; + root[MQTT_ENTITY_CATEGORY] = entity_category == ENTITY_CATEGORY_CONFIG ? "config" : "diagnostic"; break; } @@ -113,20 +109,14 @@ bool MQTTComponent::send_discovery_() { if (this->command_retain_) root[MQTT_COMMAND_RETAIN] = true; - if (this->availability_ == nullptr) { - if (!global_mqtt_client->get_availability().topic.empty()) { - root[MQTT_AVAILABILITY_TOPIC] = global_mqtt_client->get_availability().topic; - if (global_mqtt_client->get_availability().payload_available != "online") - root[MQTT_PAYLOAD_AVAILABLE] = global_mqtt_client->get_availability().payload_available; - if (global_mqtt_client->get_availability().payload_not_available != "offline") - root[MQTT_PAYLOAD_NOT_AVAILABLE] = global_mqtt_client->get_availability().payload_not_available; - } - } else if (!this->availability_->topic.empty()) { - root[MQTT_AVAILABILITY_TOPIC] = this->availability_->topic; - if (this->availability_->payload_available != "online") - root[MQTT_PAYLOAD_AVAILABLE] = this->availability_->payload_available; - if (this->availability_->payload_not_available != "offline") - root[MQTT_PAYLOAD_NOT_AVAILABLE] = this->availability_->payload_not_available; + const Availability &avail = + this->availability_ == nullptr ? global_mqtt_client->get_availability() : *this->availability_; + if (!avail.topic.empty()) { + root[MQTT_AVAILABILITY_TOPIC] = avail.topic; + if (avail.payload_available != "online") + root[MQTT_PAYLOAD_AVAILABLE] = avail.payload_available; + if (avail.payload_not_available != "offline") + root[MQTT_PAYLOAD_NOT_AVAILABLE] = avail.payload_not_available; } const MQTTDiscoveryInfo &discovery_info = global_mqtt_client->get_discovery_info(); @@ -145,10 +135,8 @@ bool MQTTComponent::send_discovery_() { if (discovery_info.object_id_generator == MQTT_DEVICE_NAME_OBJECT_ID_GENERATOR) root[MQTT_OBJECT_ID] = node_name + "_" + this->get_default_object_id_(); - std::string node_friendly_name = App.get_friendly_name(); - if (node_friendly_name.empty()) { - node_friendly_name = node_name; - } + const std::string &friendly_name_ref = App.get_friendly_name(); + const std::string &node_friendly_name = friendly_name_ref.empty() ? node_name : friendly_name_ref; std::string node_area = App.get_area(); JsonObject device_info = root[MQTT_DEVICE].to(); @@ -158,13 +146,9 @@ bool MQTTComponent::send_discovery_() { #ifdef ESPHOME_PROJECT_NAME device_info[MQTT_DEVICE_SW_VERSION] = ESPHOME_PROJECT_VERSION " (ESPHome " ESPHOME_VERSION ")"; const char *model = std::strchr(ESPHOME_PROJECT_NAME, '.'); - if (model == nullptr) { // must never happen but check anyway - device_info[MQTT_DEVICE_MODEL] = ESPHOME_BOARD; - device_info[MQTT_DEVICE_MANUFACTURER] = ESPHOME_PROJECT_NAME; - } else { - device_info[MQTT_DEVICE_MODEL] = model + 1; - device_info[MQTT_DEVICE_MANUFACTURER] = std::string(ESPHOME_PROJECT_NAME, model - ESPHOME_PROJECT_NAME); - } + device_info[MQTT_DEVICE_MODEL] = model == nullptr ? ESPHOME_BOARD : model + 1; + device_info[MQTT_DEVICE_MANUFACTURER] = + model == nullptr ? ESPHOME_PROJECT_NAME : std::string(ESPHOME_PROJECT_NAME, model - ESPHOME_PROJECT_NAME); #else device_info[MQTT_DEVICE_SW_VERSION] = ESPHOME_VERSION " (" + App.get_compilation_time() + ")"; device_info[MQTT_DEVICE_MODEL] = ESPHOME_BOARD;