diff --git a/src/data/integration.ts b/src/data/integration.ts index 115e4fda1f..846751e07c 100644 --- a/src/data/integration.ts +++ b/src/data/integration.ts @@ -38,7 +38,14 @@ export interface IntegrationManifest { homekit?: { models: string[] }; integration_type?: IntegrationType; loggers?: string[]; - quality_scale?: "bronze" | "gold" | "internal" | "platinum" | "silver"; + quality_scale?: + | "bronze" + | "gold" + | "internal" + | "platinum" + | "silver" + | "custom" + | "no_score"; iot_class: | "assumed_state" | "cloud_polling" diff --git a/src/panels/config/integrations/ha-config-integration-page.ts b/src/panels/config/integrations/ha-config-integration-page.ts index 6a72748029..14a3282e92 100644 --- a/src/panels/config/integrations/ha-config-integration-page.ts +++ b/src/panels/config/integrations/ha-config-integration-page.ts @@ -108,6 +108,9 @@ import { fileDownload } from "../../../util/file_download"; import type { DataEntryFlowProgressExtended } from "./ha-config-integrations"; import { showAddIntegrationDialog } from "./show-add-integration-dialog"; +type MedalColor = "gold" | "silver" | "bronze" | "platinum"; +const MEDAL_COLORS = ["bronze", "silver", "gold", "platinum"]; + export const renderConfigEntryError = ( hass: HomeAssistant, entry: ConfigEntry @@ -341,7 +344,7 @@ class HaConfigIntegrationPage extends SubscribeMixin(LitElement) { ? html`
${this._manifest.version}
` : nothing} ${this._manifest?.quality_scale && - this._manifest?.quality_scale !== "internal" + MEDAL_COLORS.includes(this._manifest.quality_scale) ? html`
${this.hass.localize( - `ui.panel.config.integrations.config_entry.${this._manifest.quality_scale}_quality`, + `ui.panel.config.integrations.config_entry.${this._manifest.quality_scale as MedalColor}_quality`, { quality_scale: html`