Skip to content

Releases: richkershaw/HA-LightDash

Release v0.17.0 - What's on the agenda?

12 Jun 12:52
4a04f15

Choose a tag to compare

This release has a user-requested feature: agenda cards. Using the same YAML as the popular today-card, you can now include calendar events on your LightDash dashboards!

Use the custom:today-card card type for a lightweight day-agenda card for calendar.* entities with past/current/future/all-day/multi-day event states, per-calendar colors, auto-palette fallback, configurable advance offset, time format, event limit, and fallback_color to specify defaults. The card updates every 5 minutes, and generates realistic dummy events for card previews in the YAML editor. You can also force a card height regardless of how many calendar entries there are.

Release v0.16.2

10 Jun 22:58
e14caeb

Choose a tag to compare

Weather forecast cards are now powered by the Home Assistant WebSocket API, bringing live forecast data to your dashboards with automatic background refreshes and a handful of stability fixes.

  • Live weather forecast via WebSocket: Weather-forecast cards now fetch forecast data directly from Home Assistant's weather.get_forecasts service using the WebSocket API, instead of relying on entity attributes. That means that up-to-date weather integrations without forecasts held as attributes will now work seamlessly, so forecast data is always fresh and works with all weather integrations — no more empty forecast sections.
  • Lazy-loaded forecasts: On page load, the current weather appears instantly while the forecast section loads in the background. No delay in seeing the current conditions.
  • Auto-refreshing forecast cards: When the weather entity updates (e.g. new forecast data arrives), the card re-renders itself automatically. No page refresh needed.
  • 30-minute forecast cache: Forecast data is cached for 30 minutes so repeated page loads or multi-dashboard setups don't hammer the WebSocket API. Cache is invalidated automatically on weather entity state changes.
  • Smart fallback: If the WebSocket call fails or the addon is offline, the card falls back to reading forecast data from the entity's attributes.forecast — existing dashboards keep working with no config changes.
  • Forecast polling loop fixed: The weather forecast card no longer re-fetches forecast data in an infinite loop. On the initial page load, the forecast fetches once in the background, then stays stable until a weather state change triggers a refresh.
  • Long-press dimmer crash fixed: Opening a dashboard with any light tile or light entity row no longer crashes the server with a KeyError. The dimmer popup now works as expected.
  • Cover popup crash fixed: The long-press cover position modal no longer crashes with a KeyError when auto-close is enabled.
  • Full-page swap on state update fixed: When an entity (like a cover) changes state, the live update no longer replaces the entire page body with just the state string (e.g. "open" or "opening").
  • Internal rendering engine refactored: The HTML and JavaScript that makes up every page is now kept in separate template files instead of being built with inline Python string concatenation. You won't notice any difference as a user - response times are unchanged - but future development will be much faster and less error-prone.
  • Clock updates moved to a shared script: The JavaScript that updates the clock on-screen is now loaded from a static file rather than inserted into every page, making pages slightly smaller and clock behaviour easier to tweak.

Release v0.14.0 - header badges, popup slider favourites, clock support for date display and fit-to-width

06 Jun 16:18
66278f1

Choose a tag to compare

Badges add compact context-aware controls to the top of any view — entity state at a glance, quick navigation, and conditional pills that appear and disappear based on what's happening in your home.

  • Entity badges: Add type: entity badges to any view and see the entity icon, name, and live state in a compact pill. Tap a light, switch, or binary sensor badge to toggle it on or off — state updates arrive in real time.
  • Shortcut badges: type: shortcut badges let you navigate to another view or open an external URL with a single tap. Perfect for quick links between dashboards or jumping to your Home Assistant frontend.
  • Entity-filter badges: type: entity-filter badges only show when their conditions are met — for example, a "Roof open" badge that appears only when cover.kitchen_roof is in the open state. The badge re-evaluates via SSE so it appears and disappears dynamically.
  • Badges in example configs: living_room.yaml now has entity badges for the porch and entryway lights plus a shortcut to "Other Rooms". kitchen.yaml has entity badges for kitchen lights and a filter badge for the roof.

Favourite brightness shortcuts let you tap preset values in the dimmer and cover modals, so you don't always have to drag the slider.

  • Favourite values for light and cover: You can now set favourite_values under lightdash: on any light tile, cover tile, or entity row — for example [25, 50, 75, 100]. Up to 4 values, each between 0 and 100. When you long-press to open the dimmer or cover modal, your presets appear as tap-able buttons on the left side. Tap one and the brightness or position is set immediately.
  • Browser JS syntax error fixed: The generated JavaScript had a brace/paren ordering issue in the favourite-buttons code, causing Uncaught SyntaxError: Unexpected token ')' in the browser console and preventing the modals from working. Closing brackets are now in the correct order.

Light and cover long-press modals now work with mouse clicks, making them testable on desktop browsers without touch emulation.

  • Mouse support for long-press modals: The light dimmer and cover position modals now respond to mousedown/mousemove/mouseup events alongside the existing touch events. Hold-click on any light tile or cover tile to open the modal, then drag the slider with your mouse. This makes testing possible with browser automation tools like Playwright without enabling touch emulation.

Clock auto-sizing gets more precise with percentage control and keeps text fitted as time ticks.

  • Fit-text with fine-tuning: clock_size: fit and date_fontsize: fit now accept a percentage suffix like "fit 75%" — auto-sizes text to fill the card width, then scales down to the specified percentage. Perfect when full-width is too wide.
  • Text stays fitted as clock ticks: The auto-sizing recalibrates every time the clock updates, so the time and date always fill the available width — even when the text length changes (e.g., seconds appearing).
  • Date line on clock cards: Set date_show: true under a lightdash subsection to show the current date below the time. Choose between default (long date), iso (YYYY-MM-DD), or locale (localised short date). The date has its own date_fontsize option, so the time and date can size independently.
  • Button cards for service calls: The button card works without an entity field — perfect for triggering arbitrary HA services with tap_action, target, and data.

Previous Release Notes for v0.12.4 (2026-06-06)

Lots of new features landed in the last release! Here's what was new:

  • Weather forecast card: Add a type: weather-forecast card to any dashboard and see current conditions plus upcoming weather. Choose daily (shows weekday, icon, and high/low range), hourly (shows time, icon, and temperature), or twice-daily. You can pick what shows under the current temperature — high/low, precipitation, or humidity — and limit how many forecast items appear.
  • Forecast from a separate sensor: Some weather integrations (like Pirate Weather) don't put forecast data in the entity itself. You can point forecast_entity at a template sensor that does have forecast data, while the main entity still drives current conditions.
  • Light dimmer on long-press: Hold your finger on any light tile or light entity row and a brightness slider pops up. Drag up or down to set brightness — your finger lifts and it's sent to Home Assistant. Tap the light icon to switch on or off (turning back on remembers your last brightness).
  • Cover position on long-press: Hold your finger on any cover tile or cover entity row and a position slider appears, alongside dedicated open, stop, and close buttons. Drag to any position, or tap the arrow buttons for full open or close.
  • Auto-revert to home screen: Set auto_revert_seconds under the lightdash: section and your dashboard will automatically return to the first view after a period of inactivity — perfect for wall-mounted tablets that should always show the main screen.
  • Auto-close popups: Set auto_close_modal_seconds and the dimmer and cover modals will dismiss themselves after a few seconds of inactivity, keeping your display clean.
  • Pick a theme: Add theme: name under lightdash: to choose from 10 visual styles — ha-dark, daylight, glass, hearth, ink, sage, soft, bauhaus, terminal, or the base style. Everything changes together: colours, fonts, spacing, and control styles.
  • Hide entity icons: Set icon: none on any entity row in an entities card and the icon disappears — the name and state shift left for a clean, compact, text-only look.
  • Accessibility improvements: Weather condition names and cover control buttons now have proper aria-label attributes for screen readers.

Release v0.12.4 - weather forecasts, cover control popups, auto-close views and popups

06 Jun 10:38
9d3c38c

Choose a tag to compare

Lots of new features have landed - thanks to @ jwheeler91 for the great suggestions!

Here's what's new:

  • Weather forecast card: Add a type: weather-forecast card to any dashboard and see current conditions plus upcoming weather. Choose daily (shows weekday, icon, and high/low range), hourly (shows time, icon, and temperature), or twice-daily. You can pick what shows under the current temperature — high/low, precipitation, or humidity — and limit how many forecast items appear.
  • Forecast from a separate sensor: Some weather integrations (like Pirate Weather) don't put forecast data in the entity itself. You can point forecast_entity at a template sensor that does have forecast data, while the main entity still drives current conditions.
  • Cover position on long-press: Hold your finger on any cover tile or cover entity row and a position slider appears, alongside dedicated open, stop, and close buttons. Drag to any position, or tap the arrow buttons for full open or close.
  • Auto-revert to home screen: Set auto_revert_seconds under the lightdash: section and your dashboard will automatically return to the first view after a period of inactivity — perfect for wall-mounted tablets that should always show the main screen.
  • Auto-close popups: Set auto_close_modal_seconds and the dimmer and cover modals will dismiss themselves after a few seconds of inactivity, keeping your display clean.
  • Accessibility improvements: Weather condition names and cover control buttons now have proper aria-label attributes for screen readers.

Release v0.10.17 - themes, entity icon options, better logging and more stable, lower memory performance

03 Jun 23:40
ba8600c

Choose a tag to compare

Release Notes for v0.10.17 (2026-06-04)

This release adds beautiful new themes you can assign in dashboard YAML, the ability to hide entity icons in entities cards for a cleaner, more compact look, plus improvements to reliability, fix bugs that could cause the addon to restart for no apparent reason, and adds privacy-first logging and diagnostic options to help with troubleshooting.

  • Hide entity icons: Set icon: none on any entity item in an entities card and the icon disappears. The entity name and state naturally shift to the left edge for a compact, text-only row.
  • Light dimmer: Long-press any light tile or entity row to open a brightness slider. Drag your finger up and down to adjust brightness — the value is sent to Home Assistant when you let go. Tap the light icon to toggle on/off (turning on restores the last brightness).
  • Dashboard themes: You can now pick a visual style for each dashboard. Add theme: name under the lightdash: key in your dashboard YAML, where name is one of: ha-dark (default), daylight, glass, hearth, ink, sage, soft, bauhaus, or terminal. Each theme is a complete redesign — colours, fonts, spacing, and control styles all change together.
  • Added global exception handlers that catch crashes which previously went completely silent — if Python hits an unhandled exception anywhere, it will now be logged at CRITICAL level with full details.
  • Added signal handlers for SIGTERM and SIGINT so the logs will show when the addon receives a shutdown signal from Home Assistant.
  • The heartbeat now fires after 60 seconds (instead of 5 minutes) to capture an early memory and client-count snapshot before the potential death window.

0.10.4

31 May 21:58
b44a723

Choose a tag to compare

Since v0.8.1, LightDash has gotten substantially leaner and more reliable. The app footprint is smaller (fewer dependencies, less memory), dashboards load dramatically faster by baking entity states directly into the page instead of fetching them one-by-one, and the icon SVGs now glow amber when lights are on and dim grey when off with smooth brightness transitions. On the reliability side, if Home Assistant restarts or the WebSocket drops, LightDash reconnects with smart backoff instead of spinning forever, and it stops retrying entirely if authentication fails. Lights toggled from outside LightDash (the HA app, automations, voice assistants) now correctly update the dashboard in real-time, and hidden-state tile cards more reliably show visual feedback when toggled.