Skip to content

Releases: 8none1/lednetwf_ble

Release 2.0.0

17 Jan 08:56

Choose a tag to compare

🎉 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

  1. Navigate to SettingsDevices & ServicesLEDnetWF BLE
  2. Click on your device
  3. Click the three-dot menu (⋮) and select "Delete"
  4. Wait a moment - the device should be automatically rediscovered
  5. Click "Configure" to add it again
  6. 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:

  1. Enable debug logging - See the Troubleshooting Guide for instructions
  2. Reproduce the problem - Try the actions that aren't working
  3. Download the logs - Disable debug logging to download the log file
  4. 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

09 Dec 19:48

Choose a tag to compare

Release 2.0.0-beta4 Pre-release
Pre-release
v2.0.0-beta4

Bump version to 2.0.0-beta4

Release 2.0.0-beta3

08 Dec 17:49

Choose a tag to compare

Release 2.0.0-beta3 Pre-release
Pre-release
v2.0.0-beta3

Bump version to 2.0.0-beta3

Release 2.0.0-beta2

08 Dec 09:17

Choose a tag to compare

Release 2.0.0-beta2 Pre-release
Pre-release
v2.0.0-beta2

Bump version to 2.0.0-beta2

Release 2.0.0-beta1

07 Dec 21:45

Choose a tag to compare

Release 2.0.0-beta1 Pre-release
Pre-release
v2.0.0-beta1

Bump version to 2.0.0-beta1

Release 1.1-beta1

26 Nov 17:54

Choose a tag to compare

Release 1.1-beta1 Pre-release
Pre-release
v1.1-beta1

Bump version to 1.1-beta1

Release 1.0.0

23 Nov 18:41

Choose a tag to compare

🎉 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:

  1. Navigate to Settings → Devices & Services → LEDnetWF BLE
  2. Click on your device
  3. Click the three-dot menu and select "Delete"
  4. The device should be automatically rediscovered
  5. 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

22 Nov 20:31

Choose a tag to compare

Release 0.0.16-beta.3 Pre-release
Pre-release

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_PACKET command 0x0a with payload 44 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)

  1. Search for "LEDnetWF BLE" in HACS
  2. Click update to get this release

Manual Installation

  1. Download the latest release
  2. Copy the custom_components/lednetwf_ble folder to your Home Assistant custom_components directory
  3. 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:

  1. Remove the device from Home Assistant
  2. Re-add it through the integration setup
  3. 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

13 Nov 09:04

Choose a tag to compare

Release 0.0.16-beta.2 Pre-release
Pre-release
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

02 Oct 17:57

Choose a tag to compare

Release 0.0.16-beta.1 Pre-release
Pre-release

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