Merge pull request #1019 from dermotduffy/media-player-non-entity
Tolerate media players not in the entity registry
This commit is contained in:
+6
-3
@@ -1154,9 +1154,12 @@ class FrigateCard extends LitElement {
|
|||||||
|
|
||||||
// Filter out entities that are marked as hidden (this information is not
|
// Filter out entities that are marked as hidden (this information is not
|
||||||
// available in the HA state, only in the registry).
|
// available in the HA state, only in the registry).
|
||||||
this._mediaPlayers = [...mediaPlayerEntities.values()]
|
this._mediaPlayers = mediaPlayers.filter((entityID) => {
|
||||||
.filter((entity) => !entity.hidden_by)
|
// Specifically allow for media players that are not found in the entity registry:
|
||||||
.map((entity) => entity.entity_id);
|
// See: https://github.com/dermotduffy/frigate-hass-card/issues/1016
|
||||||
|
const entity = mediaPlayerEntities.get(entityID);
|
||||||
|
return !entity || !entity.hidden_by;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -43,7 +43,14 @@ export class EntityRegistryManager {
|
|||||||
): Promise<Map<string, Entity>> {
|
): Promise<Map<string, Entity>> {
|
||||||
const output: Map<string, Entity> = new Map();
|
const output: Map<string, Entity> = new Map();
|
||||||
const _storeEntity = async (entityID: string): Promise<void> => {
|
const _storeEntity = async (entityID: string): Promise<void> => {
|
||||||
const entity = await this.getEntity(hass, entityID);
|
let entity: Entity | null = null;
|
||||||
|
try {
|
||||||
|
entity = await this.getEntity(hass, entityID);
|
||||||
|
} catch {
|
||||||
|
// When asked to fetch multiple entities, ignore missing entities (they
|
||||||
|
// will just not feature in the output).
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (entity) {
|
if (entity) {
|
||||||
output.set(entityID, entity);
|
output.set(entityID, entity);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user