The forked_daapd integration allows you to control your 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 forked-daapd server built with libwebsockets enabled, version >= 27.0.


Adding forked-daapd to your Home Assistant instance can be done via the user interface, by taking the following steps:

  • Browse to your Home Assistant instance.
  • In the sidebar click on Configuration.
  • From the configuration menu select: Integrations.

forked-daapd can be auto-discovered by Home Assistant. If an instance was found, it will be shown in the top of the list of integrations as “Discovered”. If that is the case click on the Configure button to start setting up the discovered instance.

If there wasn’t any discovered automatically, don’t worry! You can set up a manual integration entry:

  • In the bottom right, click on the Add Integration button.
  • From the list, search and select “forked-daapd”.
  • Follow the instruction on screen to complete the set up.

After completing, the forked-daapd integration will be immediately available for use.


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


As forked-daapd 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.