Skip to content

Release 0.0.16-beta.3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Nov 20:31

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