1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-11 14:23:47 +01:00
This commit is contained in:
J. Nick Koston
2025-10-09 13:33:29 -10:00
parent da30e5bc22
commit b2b572e1af

View File

@@ -190,6 +190,43 @@ Components tested individually when they:
- **i2c_low_freq** (10kHz): For sensors requiring slower I2C speeds - **i2c_low_freq** (10kHz): For sensors requiring slower I2C speeds
- **modbus**: Includes UART via package dependencies - **modbus**: Includes UART via package dependencies
### Making Components Groupable
Some components originally used `!extend` directives to add platform-specific parameters. These have been refactored to inline the full configuration, making them groupable:
**Before (non-groupable)**:
```yaml
# test.esp32-s3-idf.yaml
packages:
common: !include common.yaml
light:
- id: !extend led_strip1
use_dma: "true" # ESP32-S3 specific parameter
```
**After (groupable)**:
```yaml
# test.esp32-s3-idf.yaml
# Configuration is inlined instead of using !extend to make this component groupable.
# Using !extend prevents automatic component grouping in CI, requiring individual builds.
light:
- platform: esp32_rmt_led_strip
id: led_strip1
pin: ${pin1}
num_leds: 60
rgb_order: GRB
chipset: ws2812
use_dma: "true" # ESP32-S3 specific parameter inlined
```
**Migrated components**:
- `remote_receiver/test.esp32-s3-idf.yaml` - Inlined DMA configuration
- `remote_transmitter/test.esp32-s3-idf.yaml` - Inlined DMA configuration
- `esp32_rmt_led_strip/test.esp32-s3-idf.yaml` - Inlined DMA configuration for two LED strips
**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.
## Implementation Details ## Implementation Details
### Scripts ### Scripts