ensure HA provider gets installed by default when running as addon
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Tue, 9 Dec 2025 16:39:40 +0000 (17:39 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Tue, 9 Dec 2025 16:39:40 +0000 (17:39 +0100)
music_assistant/controllers/config.py
music_assistant/mass.py

index 51298d5d2dc45d280ab124632c5e35f9684b2f95..5fb07266d004368f3edc4de95255793ece17307a 100644 (file)
@@ -910,7 +910,7 @@ class ConfigController:
         )
         default_config.validate()
         conf_key = f"{CONF_PROVIDERS}/{default_config.instance_id}"
-        self.set(conf_key, default_config.to_raw())
+        self.set_default(conf_key, default_config.to_raw())
 
     @api_command("config/core", required_role="admin")
     async def get_core_configs(self, include_values: bool = False) -> list[CoreConfig]:
index 4d5d252e7df1545ffb2483ef9147fb6e038a0f5b..475c941315b3dbc5581229dc541043f46c0f44e5 100644 (file)
@@ -810,6 +810,11 @@ class MusicAssistant:
                         icon_path = os.path.join(provider_path, "icon_monochrome.svg")
                         if await isfile(icon_path):
                             provider_manifest.icon_svg_monochrome = await get_icon_string(icon_path)
+                    # override Home Assistant provider if we're running as add-on
+                    if provider_manifest.domain == "hass" and self.running_as_hass_addon:
+                        provider_manifest.builtin = True
+                        provider_manifest.allow_disable = False
+
                     self._provider_manifests[provider_manifest.domain] = provider_manifest
                     LOGGER.debug("Loaded manifest for provider %s", provider_manifest.name)
                 except Exception as exc: