Filter hidden media players out of the media player menu.

This commit is contained in:
Dermot Duffy
2023-02-12 17:30:30 -08:00
parent 1d826cf415
commit 8c1fa511b0
4 changed files with 143 additions and 55 deletions
+15 -1
View File
@@ -1,8 +1,11 @@
import { HomeAssistant } from 'custom-card-helpers';
import { localize } from '../localize/localize';
import { CameraConfig, CardWideConfig } from '../types';
import { EntityRegistryManager } from '../utils/ha/entity-registry';
import { Entity } from '../utils/ha/entity-registry/types';
import { RecordingSegmentsCache, RequestCache } from './cache';
import { CameraManagerEngine } from './engine';
import { CameraInitializationError } from './error';
import { FrigateCameraManagerEngine } from './frigate/engine-frigate';
import { GenericCameraManagerEngine } from './generic/engine-generic';
import { Engine } from './types';
@@ -51,7 +54,18 @@ export class CameraManagerEngineFactory {
const cameraEntity = cameraConfig.camera_entity;
if (cameraEntity) {
const entity = await this._entityRegistryManager.getEntity(hass, cameraEntity);
let entity: Entity | null;
try {
entity = await this._entityRegistryManager.getEntity(hass, cameraEntity);
} catch (e) {
// Throw a slightly friendlier exception (as a typo in the entity is
// likely to be a common failure mode).
throw new CameraInitializationError(
localize('error.no_camera_entity'),
cameraConfig,
);
}
switch (entity?.platform) {
case 'frigate':
engine = Engine.Frigate;