Home Assistant
The SnapDog integration shows your zones in Home Assistant as media players. It talks to the REST API and listens to the WebSocket API, so state changes appear without polling.
The integration lives in its own repository, SnapDogRocks/snapdog-homeassistant. It is not yet part of the HACS default list and not part of Home Assistant core. Until it is, you install it as a custom repository or copy it by hand. Both ways are supported.
What you get
Section titled “What you get”- One media player per zone: play, pause, stop, next and previous, seek, volume, mute, shuffle and repeat, with title, artist, album, position and the playlist that is playing.
- A media browser with the playlists of the server and their tracks. You can also pick a playlist by name as the source of a zone.
- Search in the media browser for tracks, albums, playlists and radio stations, and covers in the browser, in search results and for the track on air.
- Actions to create, rename, fill, reorder and delete playlists on the media server (
snapdog.create_playlistand five more). The server has to allow it withplaylist_write = truein its[subsonic]section. - One device for the server and one per zone. Entities are unavailable while the WebSocket is down, and the state is read again when it comes back.
Search, covers and the playlist actions need version 0.2.0 of the integration.
Clients as devices, the equalizer and speaker correction are not part of the integration yet.
Requirements
Section titled “Requirements”- Home Assistant 2026.10 or newer.
- SnapDog 0.31.0 or newer. The integration needs the stable
playlist_id, theby-idplaylist endpoints and theplaylists_changedevent from that release. - Network access from Home Assistant to the SnapDog server (port
5555by default). - The API key, if you enabled Bearer authentication in
snapdog.toml([http].api_keys).
The integration installs its Python library pysnapdog from PyPI when Home Assistant loads it. The Home Assistant host therefore needs access to PyPI for the first start.
Install with HACS (custom repository)
Section titled “Install with HACS (custom repository)”This is the recommended way. HACS installs from the GitHub releases and shows updates.
- Open HACS in Home Assistant, choose the menu in the top right and select Custom repositories.
- Enter
https://github.com/SnapDogRocks/snapdog-homeassistantas the repository and Integration as the type, then select Add. - Search for SnapDog in HACS, open it and select Download.
- Restart Home Assistant.
Install by hand
Section titled “Install by hand”Use this if you do not run HACS. You will not get update notices.
- Download the source archive of the latest release from the releases page.
- Copy the folder
custom_components/snapdoginto thecustom_componentsfolder of your Home Assistant configuration directory. Create that folder if it does not exist. - Restart Home Assistant.
Set up the integration
Section titled “Set up the integration”- Go to Settings → Devices & services → Add integration and search for SnapDog.
- Enter the host name or IP address of the SnapDog server, the port and, if you use one, the API key.
- Confirm. Every zone becomes a media player, and the server becomes a device that the zones belong to.
When the integration becomes official
Section titled “When the integration becomes official”Two steps are planned once enough people have used it: inclusion in the HACS default list, which makes the manual repository entry unnecessary, and later a proposal for Home Assistant core. Your settings and entities stay as they are in both cases. This page will describe the change when it happens.
Problems
Section titled “Problems”Report problems at snapdog-homeassistant/issues and include the Home Assistant version, the SnapDog version and the log lines of the custom_components.snapdog logger.