The ESPHome API server delivered asynchronous entity-state changes to a single connection (the entity's `server`), which every new connection reassigns. A second API client — a diagnostic tool, a second dashboard, or Home Assistant's own overlapping reconnect — therefore stole state delivery, leaving Home Assistant stuck on a stale state (e.g. `media_player` showing `playing` after playback had finished). `connection_lost` also stopped the shared music/TTS players for *any* dropped connection. - models.py: add a per-server connection registry and a `broadcast()` helper. - satellite.py: register/deregister connections in connection_made/_lost; only stop shared playback when the last client disconnects; handle the standard `SubscribeStatesRequest` by replaying current entity state to the subscriber. - entity.py: push playback-completion state via broadcast to all clients. Co-authored-by: Omar Amin <65174210+omaramin-2000@users.noreply.github.com> Co-authored-by: Florian Asche <github@florian-asche.de>