feat: Add card picker suggestion for camera entities (#2517)

Selecting a camera entity in the dashboard card picker now suggests
Advanced Camera Card under the Community section, so you can add it in
one click without searching for it manually.

Requires Home Assistant 2026.6 or later.

Docs:
https://developers.home-assistant.io/docs/frontend/custom-ui/custom-card#suggesting-your-card-for-an-entity

---------

Co-authored-by: dermotduffy <dermot.duffy@gmail.com>
This commit is contained in:
Paul Bottein
2026-06-30 17:45:13 -07:00
committed by dermotduffy
co-authored by dermotduffy
parent 7dc29865b8
commit b33c034810
6 changed files with 97 additions and 36 deletions
+8 -3
View File
@@ -14,6 +14,7 @@ import { styleMap } from 'lit/directives/style-map.js';
import 'web-dialog';
import { actionHandler } from './action-handler-directive.js';
import { ConfigManager } from './card-controller/config/config-manager';
import { CardController } from './card-controller/controller';
import type { IssueKey, IssueTriggerEventData } from './card-controller/issues/types.js';
import { resolveAutoHideState, type AutoHideState } from './components-lib/auto-hide.js';
@@ -47,7 +48,10 @@ import type { ConditionStateManagerGetEvent } from './condition-trigger/conditio
import type { StatusBarItem } from './config/schema/actions/types.js';
import type { MenuItem } from './config/schema/elements/custom/menu/types.js';
import type { AdvancedCameraCardConfig } from './config/schema/types.js';
import type { RawAdvancedCameraCardConfig } from './config/types.js';
import type {
PartialAdvancedCameraCardConfig,
RawAdvancedCameraCardConfig,
} from './config/types.js';
import { REPO_URL } from './const.js';
import type { HomeAssistant, LovelaceCardEditor } from './ha/types.js';
import { localize } from './localize/localize.js';
@@ -97,6 +101,7 @@ console.info(
description: localize('common.advanced_camera_card_description'),
preview: true,
documentationURL: REPO_URL,
getEntitySuggestion: ConfigManager.getEntitySuggestion,
});
// Expose currently-connected card instances on `window.advancedCameraCards` for
@@ -172,8 +177,8 @@ class AdvancedCameraCard extends LitElement {
public static getStubConfig(
_: HomeAssistant,
entities: string[],
): AdvancedCameraCardConfig {
return CardController.getStubConfig(entities);
): PartialAdvancedCameraCardConfig {
return ConfigManager.getStubConfig(entities);
}
public setConfig(config: RawAdvancedCameraCardConfig): void {