Starting with Home Assistant 2026.5, developers can now officially register Home Assistant custom dashboard strategies — making them discoverable directly in the UI, just like custom cards. This is a small but impactful change that removes one of the more annoying friction points in the custom frontend ecosystem. Whether you’re a developer building one or a user installing them via HACS, Home Assistant custom dashboard strategies are now a proper first-class citizen in the dashboard creation flow. Let’s break down what changed, how the new API works, and what it means for your homelab dashboard setup. 🏠
What Are Dashboard Strategies?
Before diving into the new registration mechanism, it’s worth clarifying what a dashboard strategy actually is.
In Home Assistant, a dashboard strategy is a JavaScript class that programmatically generates a full dashboard (or a single view) at runtime. Instead of manually defining every card and layout in YAML, a strategy can pull entity data, apply logic, and generate the dashboard structure dynamically. It’s the developer-facing equivalent of the “auto-generated” dashboards HA uses internally.
Custom strategies extend this concept: you write a JavaScript class, register it as a custom element with a specific tag format (ll-strategy-dashboard-<your-type>), and users can reference it in their YAML. This unlocks highly personalised, programmatic dashboards — imagine auto-generating floor-plan views per area, or filtering entities by device class automatically.
Home Assistant custom dashboard strategies have been available for a while, but until now they had no standard way to surface themselves in the UI. If you’ve been building them for Home Assistant, you’ll know how much potential they have — and how rough the developer experience has been until now.
The Old Workflow Was Painful 😤
Previously, onboarding a user to your custom strategy looked like this:
- Tell them to install your JS resource (manually, or via HACS)
- Tell them to create a blank dashboard
- Tell them to switch to YAML mode
- Tell them to paste in a YAML snippet referencing
custom:your-strategy
That’s four steps, two of which involve YAML editing — not exactly welcoming for non-technical users. Home Assistant custom dashboard strategies simply weren’t surfaced anywhere in the UI, so discovery was basically word-of-mouth or documentation link.
What’s New in 2026.5 🆕
Starting with Home Assistant 2026.5, Home Assistant custom dashboard strategies can now be registered with a friendly name, description, and documentation URL. Once registered, they appear in the New Dashboard dialog under the Community Dashboards section — right next to built-in options.
The registration is done via a new global array: window.customStrategies. You push an object into it describing your strategy, and HA picks it up automatically when the resource is loaded.
Here’s the registration call from the official announcement:
window.customStrategies = window.customStrategies || [];
window.customStrategies.push({
type: "my-demo",
strategyType: "dashboard",
name: "My demo dashboard",
description: "A starter dashboard generated from JavaScript.",
documentationURL: "https://example.com/my-demo-dashboard",
});
Let’s go through each field:
| Key | Required | Description |
|---|---|---|
type | ✅ | Your strategy type — without the custom: prefix |
strategyType | ✅ | Set to "dashboard" for full-dashboard strategies |
name | ✅ | Human-readable name shown in the UI |
description | ❌ optional | Short description shown in the dialog |
documentationURL | ❌ optional | Link to your docs (not yet displayed in the UI, reserved for future use) |
One important detail: this metadata is separate from the custom element itself. You still need to register your strategy class with the correct tag — ll-strategy-dashboard-<type> — using the standard custom elements API. The window.customStrategies.push() call is purely about discoverability.
Element Registration Still Required ⚠️
Don’t confuse the two registration steps. The new window.customStrategies mechanism only registers metadata. Your strategy JavaScript class still needs to be defined and registered as a custom element independently, like this:
class MyDemoDashboard {
static async generate(config, hass) {
// Return dashboard config object
return {
views: [
{
cards: [
{ type: "entities", entities: Object.keys(hass.states).slice(0, 5) }
]
}
]
};
}
}
customElements.define("ll-strategy-dashboard-my-demo", MyDemoDashboard);
Both the metadata push and the element definition should live in the same JS file — loaded as a Lovelace resource. Check the updated custom strategies documentation for complete examples with both steps together.
HACS Makes Distribution Easy 📦
If you’re planning to distribute a custom strategy publicly, HACS (Home Assistant Community Store) is the natural vehicle. HACS already handles custom cards and other Lovelace resources — and Home Assistant custom dashboard strategies fit into the same distribution model. Once users install your strategy via HACS, the resource is loaded automatically, the strategy registers itself, and it appears in the Community Dashboards section without any manual YAML editing.
This is a meaningful improvement for the ecosystem. It lowers the barrier for less technical users to try community-built Home Assistant custom dashboard strategies, and it gives developers a proper first-class discovery path rather than hoping users will find the right forum thread.
Practical Relevance for Homelab Users 🖥️
If you’re running Home Assistant on a homelab setup (like an N100 mini-PC), you may not be writing custom strategies yourself — but this update matters to you as a consumer. Home Assistant custom dashboard strategies for automatic area-based dashboards, device-class grouping, or energy monitoring are now easier to find, install, and try. The next time you open New Dashboard, look for the Community Dashboards section after installing a HACS resource that implements this API.
Speaking of dashboards — if you haven’t checked out the Home Assistant 2026.4 release and its new Areas dashboard features, it’s directly related context worth reading first.
Also, if you’re into custom UI hardware for Home Assistant, the approach to building dynamic interfaces shares some philosophy with touch-controlled dashboards on ESP32 with LVGL and ESPHome — different stack, same idea of generating layouts from data.
And if you’ve built your own custom Home Assistant card, the mental model for writing a dashboard strategy class is similar — just one level up in the hierarchy.
What’s Next?
The documentationURL field is already accepted but not yet shown in the strategy UI — the announcement notes it “may in the future.” This suggests further polish is planned for the Community Dashboards dialog in upcoming releases.
For now, Home Assistant custom dashboard strategies with proper registration support are live in 2026.5. If you’ve been waiting for a clean way to distribute or discover programmatic dashboards, this is the release to pay attention to.
👉 Full documentation: Custom Strategies — Home Assistant Developer Docs
