Skip to content

Releases: rusty4444/ha-lightfx

v1.1.12 — LightFX marker rendering and colour restore

Choose a tag to compare

@rusty4444 rusty4444 released this 09 Jul 22:20
e781f1e

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.12 for HACS/GitHub release alignment.

Verification

  • python -m compileall -q custom_components/ha_lightfx tests
  • python -m pytest tests -q — passed

v1.1.11

Choose a tag to compare

@rusty4444 rusty4444 released this 28 Jun 16:11
05b26fd

What's Changed

Full Changelog: v1.1.10...v1.1.11

v1.1.10 — Lovelace resource recovery & cleanup

Choose a tag to compare

@rusty4444 rusty4444 released this 24 Jun 21:37

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.customCards registration 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_entry method cleans up all HA LightFX Lovelace resources when the integration is fully removed from Home Assistant.
  • async_unload_entry now 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:

  1. Settings → Dashboards → Resources shows exactly one /ha_lightfx/ha-lightfx-card.js?v=1.1.10 entry
  2. The card picker shows a single HA LightFX card
  3. 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

Choose a tag to compare

@rusty4444 rusty4444 released this 19 Jun 21:30

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.9 for HACS/cache-busting.

Validation

  • npm run build:card
  • python -m pytest -q — 41 passed
  • python -m compileall -q custom_components tests
  • python -m json.tool hacs.json
  • python -m json.tool custom_components/ha_lightfx/manifest.json
  • git diff --check

Relates to #28. The issue remains open pending reporter confirmation.

v1.1.8 — Duplicate card picker cleanup

Choose a tag to compare

@rusty4444 rusty4444 released this 17 Jun 23:38
351712f

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.customCards registration, 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

Choose a tag to compare

@rusty4444 rusty4444 released this 15 Jun 03:27
5e1a3c1

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 id and name attributes, 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

  1. Update to v1.1.7 in HACS
  2. Restart Home Assistant
  3. Hard-refresh your browser (Ctrl+Shift+R / Cmd+Shift+R)
  4. Open your HA LightFX card — lights should appear as draggable dots on the grid
  5. In Developer Tools → WebSocket, verify only one /ha_lightfx/ha-lightfx-card.js?v=1.1.7 resource is listed (no older v=1.1.5/v=1.1.6 entries)

Addresses #28 — please confirm whether lights now show on the card.

v1.1.6

Choose a tag to compare

@rusty4444 rusty4444 released this 11 Jun 20:40

What's fixed

  • Removed unused _action field 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

Choose a tag to compare

@rusty4444 rusty4444 released this 07 Jun 19:25
0ac94be

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 classMap usage on layout buttons so the card does not fail during render.
  • Added fallback selection when a configured default_layout is stale or missing.
  • Made custom element registration idempotent to tolerate duplicate Lovelace resource loads.
  • Removed the event-loop blocking manifest.json read 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

Choose a tag to compare

@rusty4444 rusty4444 released this 07 Jun 03:34
330852b

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-pro review approved the change with no blocking findings.

v1.1.3

Choose a tag to compare

@rusty4444 rusty4444 released this 06 Jun 22:30

Fix

  • Restores all light attributes when stopping an effect — not just brightness, rgb_color, and color_temp. Now also restores hs_color, xy_color, white_value, color_temp_kelvin, effect, flash, transition, and profile.

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)