Releases: rusty4444/ha-lightfx
Release list
v1.1.12 — LightFX marker rendering and colour restore
v1.1.12 — LightFX marker rendering and colour restore
Fixed
- Render LightFX markers reliably in the Lovelace card using explicit SVG marker elements.
- Restore captured light colours using the recorded colour mode instead of sending conflicting colour attributes.
- Refresh the bundled frontend card with the marker-rendering fix.
Changed
- Bumped the integration manifest to
1.1.12for HACS/GitHub release alignment.
Verification
python -m compileall -q custom_components/ha_lightfx testspython -m pytest tests -q— passed
v1.1.11
What's Changed
- Fix LightFX card layout refresh timing by @rusty4444 in #40
Full Changelog: v1.1.10...v1.1.11
v1.1.10 — Lovelace resource recovery & cleanup
What's changed
This release ships two Lovelace resource fixes that should finally resolve the duplicate card picker entries and stale frontend code from #28.
Stale card resource recovery (#38)
- When a stale cached resource wins the browser load race, the card now detects it and patches the already-registered custom element instead of giving up.
window.customCardsregistration is hardened — stale resources that load before or after the current one collapse to a single picker entry.- Lovelace resource cleanup retries after startup, so installs where Lovelace initialises late can still self-heal stale versioned resources.
Resource cleanup on unload and remove (#39)
- A new
async_remove_entrymethod cleans up all HA LightFX Lovelace resources when the integration is fully removed from Home Assistant. async_unload_entrynow also cleans up resources, preventing orphaned entries from accumulating across reinstalls and upgrades.
Updating
Update HA LightFX through HACS → restart Home Assistant → hard-refresh your browser (Ctrl+Shift+R or Cmd+Shift+R).
After updating, check:
- Settings → Dashboards → Resources shows exactly one
/ha_lightfx/ha-lightfx-card.js?v=1.1.10entry - The card picker shows a single HA LightFX card
- Your existing card shows light dots
If you still see problems, please send browser console output plus the WebSocket response for ha_lightfx/layouts.
v1.1.9 — Lovelace resource cleanup
v1.1.9 — Lovelace resource cleanup
Changes
- Load the Lovelace resources storage collection before matching HA LightFX resources, so stale entries are visible and can be removed instead of appending another current resource.
- Match HA LightFX resource URLs by parsed path, including absolute URLs and cache-busting query strings.
- Replace existing HA LightFX card picker metadata when the current card loads, so old duplicate picker entries are cleaned up.
- Bump the integration manifest version to
1.1.9for HACS/cache-busting.
Validation
npm run build:cardpython -m pytest -q— 41 passedpython -m compileall -q custom_components testspython -m json.tool hacs.jsonpython -m json.tool custom_components/ha_lightfx/manifest.jsongit diff --check
Relates to #28. The issue remains open pending reporter confirmation.
v1.1.8 — Duplicate card picker cleanup
This release focuses on the duplicate HA LightFX card entries reported in issue #28 and adds better Lovelace resource diagnostics.
What's fixed
- The HA LightFX dashboard card now guards its
window.customCardsregistration, so loading more than one stale resource should not create multiple "HA LightFX" card picker entries. - Lovelace resource registration now checks the resources collection before iterating it, avoiding a silent setup failure on older or unusual Home Assistant/Lovelace resource shapes.
- Lovelace resource registration warnings are now visible in Home Assistant logs instead of being hidden at debug level, which should make remaining cache/resource problems much easier to diagnose.
Updating
Update HA LightFX through HACS, restart Home Assistant, then hard-refresh your browser. If the card picker still shows multiple HA LightFX entries, check Settings → Dashboards → Resources and remove any old /ha_lightfx/ha-lightfx-card.js entries that do not point at ?v=1.1.8.
v1.1.7 — Lovelace resource dedup & SVG render fix
What's new
- Lovelace resource dedup — if multiple HA LightFX card resource entries accumulate across updates, the integration now cleans them on setup, keeping only the current versioned URL. This prevents stale card module loads that can regress frontend fixes.
- Explicit SVG close tags — light dot and glow elements now use
</circle>instead of self-closing/>. This removes SVG DOM nesting issues that could cause lights to not render on the card. - Card control IDs — effect, colour, brightness, and speed inputs now have
idandnameattributes, clearing the browser console form-element warning. - Bump to v1.1.7 — versioned resource URL bumps so HACS forces a fresh card bundle download.
Testing
- Update to v1.1.7 in HACS
- Restart Home Assistant
- Hard-refresh your browser (Ctrl+Shift+R / Cmd+Shift+R)
- Open your HA LightFX card — lights should appear as draggable dots on the grid
- In Developer Tools → WebSocket, verify only one
/ha_lightfx/ha-lightfx-card.js?v=1.1.7resource is listed (no olderv=1.1.5/v=1.1.6entries)
Addresses #28 — please confirm whether lights now show on the card.
v1.1.6
What's fixed
- Removed unused
_actionfield from add/edit/remove light forms that caused issues with the latest card rendering (fixes #28)
Validation
- Python compile check passed.
- Test suite passed: 37 tests.
Notes for testing
After updating through HACS, hard-refresh the Home Assistant browser/app if the old card is still cached.
v1.1.5
What's fixed
- Fixed the latest Issue #28 frontend path where the backend returned layouts/lights correctly but the card could still render without visible lights.
- Fixed Lit
classMapusage on layout buttons so the card does not fail during render. - Added fallback selection when a configured
default_layoutis stale or missing. - Made custom element registration idempotent to tolerate duplicate Lovelace resource loads.
- Removed the event-loop blocking
manifest.jsonread during Lovelace resource registration by caching the manifest version. - Improved stop-effect restore for RGBW/RGBWW/white-capable lights.
Validation
- Card build passed with esbuild.
- Python compile check passed.
- Test suite passed: 37 tests.
Notes for testing
After updating through HACS, hard-refresh the Home Assistant browser/app if the old card is still cached. The Lovelace resource URL is versioned as v=1.1.5.
v1.1.4
What's fixed
- Fixed Lovelace card resource registration on current Home Assistant versions.
- Added a versioned card URL so browser/HACS cache refreshes after updates.
- Fixed the edit-light options flow translation placeholder error.
- Added debug layout/light counts to the WebSocket response path for easier troubleshooting.
- Updated tests for current Home Assistant config entry setup and added Lovelace resource coverage.
Validation
- Python compile check passed.
- Test suite passed: 32 tests.
- Card build passed with esbuild.
- DeepSeek
deepseek-v4-proreview approved the change with no blocking findings.
v1.1.3
Fix
- Restores all light attributes when stopping an effect — not just
brightness,rgb_color, andcolor_temp. Now also restoreshs_color,xy_color,white_value,color_temp_kelvin,effect,flash,transition, andprofile.
This fixes incomplete state restoration for Hue, LiFX, and Tuya lights that use color modes beyond the basic RGB/color_temp pair. The previous code only restored a subset, so lights came back in a different color mode than they started.
Related to issue #28
- State restoration gap fixed
- Lights not appearing on card issue still under investigation (see issue comments for required logs)