fix: Add missing capabilities to editor (#2366)

This commit is contained in:
Dermot Duffy
2026-02-21 19:58:15 -08:00
committed by GitHub
parent 5e867a8334
commit 87a85ce8d9
2 changed files with 35 additions and 44 deletions
+31 -43
View File
@@ -269,6 +269,7 @@ import { sideLoadHomeAssistantElements } from './ha/side-load-ha-elements.js';
import { HomeAssistant, LovelaceCardEditor } from './ha/types.js';
import { localize } from './localize/localize.js';
import editorStyle from './scss/editor.scss';
import type { CapabilityKey } from './types.js';
import { arrayMove, prettifyTitle } from './utils/basic.js';
import { getCameraID } from './utils/camera.js';
import { fireAdvancedCameraCardEvent } from './utils/fire-advanced-camera-card-event.js';
@@ -978,49 +979,36 @@ export class AdvancedCameraCardEditor extends LitElement implements LovelaceCard
},
];
private _capabilities: EditorSelectOption[] = [
{ value: '', label: '' },
{
value: 'live',
label: localize('config.cameras.capabilities.capabilities.live'),
},
{
value: 'substream',
label: localize('config.cameras.capabilities.capabilities.substream'),
},
{
value: 'clips',
label: localize('config.cameras.capabilities.capabilities.clips'),
},
{
value: 'recordings',
label: localize('config.cameras.capabilities.capabilities.recordings'),
},
{
value: 'snapshots',
label: localize('config.cameras.capabilities.capabilities.snapshots'),
},
{
value: 'favorite-events',
label: localize('config.cameras.capabilities.capabilities.favorite-events'),
},
{
value: 'favorite-recordings',
label: localize('config.cameras.capabilities.capabilities.favorite-recordings'),
},
{
value: 'seek',
label: localize('config.cameras.capabilities.capabilities.seek'),
},
{
value: 'ptz',
label: localize('config.cameras.capabilities.capabilities.ptz'),
},
{
value: 'menu',
label: localize('config.cameras.capabilities.capabilities.menu'),
},
];
private _capabilities: EditorSelectOption[] = (() => {
// 'satisfies' enforces all CapabilityKey values are present at compile time.
const labels = {
'2-way-audio': localize('config.cameras.capabilities.capabilities.2-way-audio'),
clips: localize('config.cameras.capabilities.capabilities.clips'),
'favorite-events': localize(
'config.cameras.capabilities.capabilities.favorite-events',
),
'favorite-recordings': localize(
'config.cameras.capabilities.capabilities.favorite-recordings',
),
live: localize('config.cameras.capabilities.capabilities.live'),
menu: localize('config.cameras.capabilities.capabilities.menu'),
ptz: localize('config.cameras.capabilities.capabilities.ptz'),
recordings: localize('config.cameras.capabilities.capabilities.recordings'),
'remote-control-entity': localize(
'config.cameras.capabilities.capabilities.remote-control-entity',
),
reviews: localize('config.cameras.capabilities.capabilities.reviews'),
seek: localize('config.cameras.capabilities.capabilities.seek'),
snapshots: localize('config.cameras.capabilities.capabilities.snapshots'),
substream: localize('config.cameras.capabilities.capabilities.substream'),
trigger: localize('config.cameras.capabilities.capabilities.trigger'),
} satisfies Record<CapabilityKey, string>;
return [
{ value: '', label: '' },
...Object.entries(labels).map(([value, label]) => ({ value, label })),
];
})();
private _forceableCapabilities: EditorSelectOption[] = [
{ value: '', label: '' },
+4 -1
View File
@@ -38,9 +38,12 @@
"menu": "Menu",
"ptz": "PTZ",
"recordings": "Recordings",
"remote-control-entity": "Remote Control Entity",
"reviews": "Reviews",
"seek": "Seeking",
"snapshots": "Snapshots",
"substream": "Substream"
"substream": "Substream",
"trigger": "Trigger"
},
"disable": "Disable",
"disable_except": "Disable except",