๐ What's New
Per-Device Segment Control Configuration
Resolves Issue #15 - Users can now configure different segment control modes for each RGBIC device!
New Features
- Per-Device Settings: Set individual segment modes (individual, grouped, disabled) for each RGBIC device
- Multi-Step Configuration: Intuitive workflow in Home Assistant UI:
- Set global segment control mode (fallback)
- Select which devices to customize
- Configure individual modes for each device
- Flexible Control: Some devices individual, others grouped, perfect control per-device
- Backward Compatible: Existing configurations continue to work without changes
Example
- LED Strip A (living room): Individual segments (different color per segment)
- LED Strip B (kitchen): Grouped segments (synchronized effects)
- Spotlight (bedroom): Disabled (no segment control needed)
Bug Fixes
- ๐ Fixed migration bug where segments reappeared despite "disabled" setting
- ๐ Fixed string matching bug in entity cleanup logic that could cause false positives
- ๐ Improved device ID extraction to handle both MAC address and numeric group formats
Under the Hood
- Added robust device ID extraction using longest-first matching
- Implemented per-device segment mode inheritance
- Enhanced entity cleanup logic with device-specific configuration
- Comprehensive test coverage for per-device functionality
๐ Configuration
Access per-device segment control settings:
- Go to Settings โ Devices & Services
- Click Govee integration โ Configure
- Set global segment mode (optional, default: Individual)
- Select RGBIC devices to customize (optional)
- Configure individual modes for each selected device
Devices not configured per-device will use the global setting.
๐ Documentation
See README.md for detailed configuration examples.
๐งช Testing
- 29 new unit tests added
- Comprehensive coverage of per-device logic
- Device ID extraction tested with MAC and numeric formats
- Migration patterns validated
โ Backward Compatibility
- No breaking changes
- Existing users see no change until they customize
- All existing entries continue to work as-is
Contributors: Per-device segment control was implemented based on user feedback from Issue #15. Thanks to @yorb and @hellertime for bringing the need for per-device control to our attention!