The forked_daapd integration allows you to control your OwnTone (previously forked-daapd) server from Home Assistant. This integration can control the forked-daapd outputs (zones) with limited playback control (play/pause, previous/next track) and media info support. Playlist manipulation is not supported.


The forked_daapd integration requires a OwnTone server built with libwebsockets enabled, version >= 27.0.


Adding forked-daapd to your Home Assistant instance can be done via the user interface, by using this My button:

forked-daapd can be auto-discovered by Home Assistant. If an instance was found, it will be shown as “Discovered”, which you can select to set it up right away.

Manual configuration steps


Once the forked-daapd integration is set up, outputs will automatically be loaded from the server and added to HA in real time.


As OwnTone supports playing audio input via a pipe, this integration supports the forwarding of basic player controls (play, pause, next track, previous track) directly to the pipe’s source. Currently only the pipe source librespot-java is supported. To use this, configure your forked-daapd server to autostart pipes and name your librespot-java pipe “librespot-java” (accompanying metadata is also supported through forked-daapd via a metadata pipe named”librespot-java.metadata”). The forked-daapd integration will find the librespot-java pipe in the database and will set it up as a source.


The forked-daapd integration will treat playlists in the database as sources. The number of playlists shown as sources can be set in the integration’s configuration options.