Only announce to HA when onboard completed
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Sun, 30 Nov 2025 14:02:01 +0000 (15:02 +0100)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Sun, 30 Nov 2025 14:02:01 +0000 (15:02 +0100)
music_assistant/controllers/webserver/controller.py

index 7d386cb7bd9eb6441a05e244c015b028d5f53dfe..0aa8aa8ea8c5d50a109d015d2acf6620fb1ce0aa 100644 (file)
@@ -1070,6 +1070,10 @@ class WebserverController(CoreController):
 
             self.logger.info("First admin user created: %s", username)
 
+            # Announce to Home Assistant now that onboarding is complete
+            if self.mass.running_as_hass_addon:
+                await self._announce_to_homeassistant()
+
             return web.json_response(
                 {
                     "success": True,
@@ -1151,6 +1155,12 @@ class WebserverController(CoreController):
 
     async def _announce_to_homeassistant(self) -> None:
         """Announce Music Assistant Ingress server to Home Assistant via Supervisor API."""
+        # Only announce if server is onboarded to prevent race condition
+        # where HA integration ignores servers that are not yet onboarded
+        if not self.mass.config.onboard_done:
+            self.logger.debug("Skipping HA announcement - server not yet onboarded")
+            return
+
         supervisor_token = os.environ["SUPERVISOR_TOKEN"]
         addon_hostname = os.environ["HOSTNAME"]