Releases: 8none1/lednetwf_ble
Release 2.0.0
🎉 Version 2.0.0 - IOTBT Device Support & Enhanced Effects! 🎉
Version 2.0.0 brings major new device support and significant improvements to the effects system. This release represents months of development and testing to expand compatibility with the growing family of Zengge LEDnetWF devices.
🌟 What's New in 2.0.0
Full IOTBT Device Support
This is the headline feature of 2.0.0! IOTBT devices (advertising as IOTBT*) are now fully supported:
- Segment-based control - Devices with multiple segments can be controlled independently
- Music reactive modes - Full support for built-in microphone sound reactive effects
- Enhanced device detection - Improved auto-detection of IOTBT device capabilities
- Asynchronous capability loading - Device capabilities are pre-loaded for faster responsiveness
- Hue control fixes - Accurate colour representation on IOTBT devices
Enhanced Effects System
- Symphony Function Mode effects - New effect category support for compatible devices
- Settled Mode effects - Additional effect options with background colour support
- Static effects with foreground/background colours - More control over multi-colour static effects
- Data-driven command support - Improved SIMPLE effects handling with better BLE transport wrapping
- LED curtain light support - Added support for Symphony devices with curtain light configurations
Sound Reactive Improvements
- Sensitivity control - Adjust how responsive the sound reactive mode is to audio input
- Better music mode handling - Improved reliability of music reactive commands across device types
Code Quality & Documentation
- Comprehensive protocol documentation
- Removed deprecated code and cleaned up the integration
- Better device identification and initialization logging
⚠️ Important Upgrade Notice
If your devices don't work properly after upgrading, you will need to delete and re-add them.
This is because version 2.0.0 includes significant changes to how device capabilities are detected and stored. Existing devices may be missing metadata that is now required for full functionality.
How to Re-add Your Device
- Navigate to Settings → Devices & Services → LEDnetWF BLE
- Click on your device
- Click the three-dot menu (⋮) and select "Delete"
- Wait a moment - the device should be automatically rediscovered
- Click "Configure" to add it again
- Your device settings (LED count, chip type, colour order) will be auto-detected during setup
Still Having Problems?
If re-adding the device doesn't resolve your issue:
- Enable debug logging - See the Troubleshooting Guide for instructions
- Reproduce the problem - Try the actions that aren't working
- Download the logs - Disable debug logging to download the log file
- Open an issue - Report the problem at our Issues page with:
- Your device name (e.g., IOTBT65C, LEDnetWF1234)
- What's working and what isn't
- The debug log file attached
📋 Full Changelog
Added
- Full support for IOTBT segment-based devices
- IOTBT music reactive commands and service data parsing
- Sound reactive sensitivity control slider
- Symphony Function Mode effects
- Settled Mode effects with background colour support
- Static effects with foreground and background colours
- LED curtain light support for Symphony devices
- Data-driven command support for SIMPLE effects
- Asynchronous device capability pre-loading
- Comprehensive protocol documentation
Changed
- Enhanced BLE command wrapping for better transport reliability
- Improved device detection and initialization
- Updated option descriptions with bold formatting for device names
- Removed version suffix from manifest name
Fixed
- Hue control for IOTBT devices
- Audio/music mode for IOTBT devices
- Background light turn off logic for None brightness values
- Logical condition in DeviceData.is_supported method for model checks
Removed
- Deprecated LEDnetWF BLE v2 integration files (cleanup)
- Unused legacy code
🙏 Thank You
A huge thank you to everyone who:
- Tested the beta versions and provided feedback
- Reported issues with detailed logs
- Contributed code improvements (special thanks to @Jadua1010!)
- Helped document new device protocols
🚀 What's Next?
We'll continue to:
- Add support for new device models as they appear
- Improve effect handling and add new effects where supported
- Respond to community feedback and bug reports
Need Help? Check out our Troubleshooting Guide or open an issue.
Want to Support Development? Consider buying me a coffee to help with purchasing new devices for testing!
Release 2.0.0-beta4
v2.0.0-beta4 Bump version to 2.0.0-beta4
Release 2.0.0-beta3
v2.0.0-beta3 Bump version to 2.0.0-beta3
Release 2.0.0-beta2
v2.0.0-beta2 Bump version to 2.0.0-beta2
Release 2.0.0-beta1
v2.0.0-beta1 Bump version to 2.0.0-beta1
Release 1.1-beta1
v1.1-beta1 Bump version to 1.1-beta1
Release 1.0.0
🎉 Version 1.0 - Major Release! 🎉
We're thrilled to announce version 1.0 of the LEDnetWF BLE integration! This milestone release represents a significant transformation of how the integration works, delivering better reliability and a improved user experience.
🌟 What's New in 1.0
Passive Bluetooth Monitoring
- Automatic State Updates Without Active Connections - Your devices now update their state in Home Assistant automatically by listening to Bluetooth advertisements they broadcast every few seconds
- Survives Home Assistant Restarts - No more incorrect states after restarting Home Assistant! The integration immediately picks up the current state from advertisements
- Reduced Bluetooth Interference - By not maintaining constant connections, your Bluetooth network is free for other devices
- Real-Time Updates - Changes made via physical remotes or other apps are reflected in Home Assistant within seconds, even when disconnected
This feature works completely transparently in the background - no configuration needed!
Major User Experience Improvements
Smarter Effect Management:
- "Solid Color" Mode - Renamed "Static Effect 1" to "Solid Color" for clarity, and it now behaves like a simple color mode instead of an effect
- Reordered Effect Lists - The most useful options now appear first:
- 0x56/0x80 devices: Solid Color → Static Effects → Dynamic Effects → Sound Reactive → Cycle Modes
- 0x54/0x55/0x62 devices: Effect Off → Effects 1-21 → Candle Mode → Sound Reactive
- 0x5b devices: Effect Off → RGB Jump → Effects 0-20 → Candle Mode
- Smart Background Light Control - The background light entity is now only available when using static effects that actually support background colors (Static Effect 2-10), preventing accidental effect interruption
Better Background Color Handling:
- Background colors now initialize to match your current foreground color and brightness instead of blasting full-brightness white
Critical Bug Fixes
- Fixed effect state synchronization - Speed slider changes now correctly apply to the current effect, even when the effect was changed externally
- Fixed music mode crashes - Resolved UnboundLocalError when enabling sound reactive modes
- Improved callback system - Centralized callback registration prevents initialization race conditions
Enhanced Device Support
- Added support for devices advertising as "iotb" prefix
- Improved device detection and initialization
- Better handling of unknown device modes and effects
⚠️ Important Upgrade Notice
Due to significant changes in the underlying schema and control mechanisms, some devices may need to be deleted and re-added after upgrading to version 1.0:
- Navigate to Settings → Devices & Services → LEDnetWF BLE
- Click on your device
- Click the three-dot menu and select "Delete"
- The device should be automatically rediscovered
- Add it again through the integration
This one-time step ensures your device benefits from all the new features and improvements. Your device settings (LED count, chip type, color order) will be auto-detected during setup.
🙏 Getting to 1.0
Reaching version 1.0 is a huge milestone! This integration has evolved from a basic device controller to a robust, reliable system that truly integrates LEDnetWF devices into your smart home.
A massive thank you to everyone who has:
- Reported issues and provided feedback
- Tested beta versions
- Contributed code and documentation
📋 Full Changelog
Added
- Passive Bluetooth advertisement monitoring for real-time state updates
- Centralized callback registration system
- "Solid Color" effect mode (replacing confusing "Static Effect 1")
- Conditional background light availability based on effect type
- Support for "iotb" device name prefix
- Comprehensive debug logging for troubleshooting
- Smart background color initialization
Changed
- Effect lists now display in logical order instead of alphabetical
- Background brightness initializes to match foreground instead of maximum
- Improved manufacturer data parsing across all device models
- Better separation of concerns in model architecture
Fixed
- Effect state synchronization in speed slider
- Device state persistence across Home Assistant restarts
- UnboundLocalError when enabling music/sound reactive modes
- Callback initialization race conditions
- PEP 8 compliance issues
- Various edge cases in effect and color handling
🚀 What's Next?
With the solid foundation of version 1.0 in place, future updates will focus on:
- Supporting additional device models
- Adding advanced features for supported devices
- Further performance optimizations
- Community-requested enhancements
Thank you for being part of the LEDnetWF BLE community. Here's to version 1.0 and beyond! 🎊
Need Help? Check out our documentation or open an issue if you encounter any problems.
Want to Support Development? Consider buying me a coffee to help with purchasing new devices for testing and expanding support!
Release 0.0.16-beta.3
Release Notes
New Features
Background Color Support (0x56, 0x80 Models)
- Added support for background color control on devices that support it (models 0x56 and 0x80)
- Background colour is now exposed as a separate light entity under the same device
- The background light entity appears as "Background" under the device name
- Full RGB/HS color control for background layer
- Independent on/off control for background color
- Background brightness is preserved when turning off and on again
- Background color is included in all foreground color commands to maintain state
Note: I am seeing transient issues where the notifications from the device do not reflect the current background colour, but rather the previous colour. If you also see this problem disable live notifications updates from the device. See: https://github.com/8none1/lednetwf_ble?tab=readme-ov-file#advanced-settings
Improved 0x62 Device Support
- Complete JSON notification protocol implementation for 0x62 devices
- Fixed brightness drift issues during color changes
- Proper effect mode detection using mode byte as effect ID
- Correct speed conversion (inverted scale: device 0x1F=1%, 0x01=100%)
- Effect mode brightness now properly preserved (not read from notifications)
- "Effect Off" now correctly returns to RGB mode instead of null state
Better Error Handling
- Added proper error handling for devices that aren't ready during setup
- Improved connection error messages with user-friendly translations
- Better handling of out-of-connection-slots errors
- ConfigEntryNotReady exceptions for missing manufacturer data with helpful error messages
Code Quality Improvements
- Fixed type annotations (supported_color_modes returns set[ColorMode] not int)
- Removed unused imports and variables
- Fixed f-strings without placeholders
- Callback architecture for multiple entity state updates
- Better separation of concerns between foreground and background colors
Bug Fixes
0x62 Devices
- Fixed brightness clamping (was allowing values >255)
- Fixed initial brightness defaulting to 0
- Fixed effect speed not being properly converted from device format
- Fixed "Effect Off" returning None instead of proper RGB packet
- Fixed brightness being recalculated from RGB causing drift
- Fixed JSON parsing to distinguish device info vs state notifications
0x56/0x80 Devices
- Fixed notification parsing for GET_STATUS_PACKET responses
- Foreground color now at bytes 11-13, background at bytes 14-16
- Removed unreliable power state parsing from status notifications
- Background color no longer overwritten by notifications
General
- Fixed brightness preservation when turning on (no longer defaults to 0)
- Added small delay after registering notification handlers for BLE stack
- Improved initial state query timing on Home Assistant startup
Breaking Changes
None. This release is fully backward compatible with existing installations.
Known Issues
- After Home Assistant restart, devices may briefly show incorrect power state until first status query completes
- This will be addressed in a future release with better manufacturer data refresh handling
Translations
All new error messages have been translated to:
- English
- German (Deutsch)
- Spanish (Español)
- French (Français)
- Portuguese (Português)
Technical Details
Protocol Improvements
- JSON notification format:
{"code":0,"payload":"hex_string"}for state vs{"code":0,"payload":{...}}for device info - Effect IDs: mode byte doubles as effect ID (0x24-0x64 range)
- Speed encoding: inverted from intuitive (higher byte value = slower)
- Background color: bytes 13-16 in color command packets
- Status query:
GET_STATUS_PACKETcommand 0x0a with payload44 4a 4b 0f
Architecture Changes
- Instance-level callback list for multi-entity notifications
- Background light entity properly linked to parent device
- Enum objects stored (not values) for chip type and color order
- Safe defaults for unknown device modes
Testing
This release has been tested with:
- 0x56 devices with background color support ✅
- 0x62 devices with JSON protocol ✅
- 0x54, 0x55 devices (shared codebase with 0x62) ✅
- Various effect modes and speeds ✅
- Brightness preservation across power cycles ✅
- Background color persistence ✅
Installation
Via HACS (Recommended)
- Search for "LEDnetWF BLE" in HACS
- Click update to get this release
Manual Installation
- Download the latest release
- Copy the
custom_components/lednetwf_blefolder to your Home Assistantcustom_componentsdirectory - Restart Home Assistant
Upgrade Notes
If you have 0x56 or 0x80 devices, you will see a new "Background" light entity appear after upgrading. This is normal and expected. The entity provides independent control of the background LED color.
For best results after upgrading, especially if you encounter issues:
- Remove the device from Home Assistant
- Re-add it through the integration setup
- This ensures all new metadata is properly discovered
Credits
Special thanks to the community members who provided device logs, packet captures, and testing feedback that made these improvements possible.
What's Changed
New Contributors
Full Changelog: v0.0.16-beta.2...v0.0.16-beta.3
Release 0.0.16-beta.2
Improve effect handling in LEDNETWFLight and Model0x56 - Update available property to use 'is not None' for clarity. - Add logging for unknown effects in LEDNETWFLight. - Handle unknown effects gracefully in Model0x56's set_effect method.
Release 0.0.16-beta.1
Release Notes - Version 0.0.16-beta.1
This is a beta release. Please report bugs that you find. Read this page for guidance on using the beta release: https://github.com/8none1/lednetwf_ble/blob/main/betatest.md
🚀 Major Improvements
- Added new "Ignore notification data" configuration option to help troubleshoot connection issues
- Improved configuration flow to handle enum objects properly, fixing crashes during device setup
- Enhanced options flow with better validation and error handling
- Additional Device Support
- Fixed critical enum handling issues in models 0x53, 0x54, and 0x56
- Added segments detection and handling for devices that support multiple LED segments
🔧 Bug Fixes
Color and LED Settings
- Fixed RGB color extraction in model 0x54 notification handler (was creating tuple of bytes instead of individual integers)
- Resolved TypeError: 'ColorOrdering' object cannot be interpreted as an integer errors
- Fixed color order and LED type configuration crashes when updating device settings
Misc fixes
- Added validation for hex payload parsing to prevent crashes on invalid notification data
- Improved error handling in notification handlers with proper hex string validation
- Configuration Flow Fixes
- Fixed enum object vs string handling throughout the configuration system
- Resolved crashes when saving device options
- Improved default value handling in configuration forms
- Enhanced translation files for German, French, Spanish, Portuguese, and Chef languages
📚 Documentation Updates
- Updated README with comprehensive configuration options documentation
- Added detailed explanations of all configuration parameters
⚠️ Breaking Changes
Important for Upgraders:
Configuration flow now expects enum objects instead of strings - existing configurations will not be automatically migrated.
If you experience issues after upgrading, delete and re-add your devices to ensure proper metadata discovery, but they should continue to function normally if you don't.
🎯 Configuration Options Added
- Ignore Notification Data: Disable status updates from device for debugging
- Number of Segments: Configure multi-segment LED strip support
🐛 Known Issues Fixed
- Fixed crashes when devices return unexpected notification data formats
- Resolved issues with devices that don't support all color orderings
- Fixed problems with segment count detection on newer firmware versions