Skip to content

Sendspin

The sendspin component adds support for Sendspin, a multi-room synchronized audio protocol. The hub manages the connection to a Sendspin server and distributes state updates to any Sendspin child components.

The device uses mDNS to discover Sendspin servers on the network, so mDNS traffic must not be blocked on your network. TCP port 8928 must also be reachable between the device and the server.

On its own, the hub does not expose any user-facing entities. Once a Sendspin server is present on the network, it will connect to the device and begin sending group state updates, but audio playback, control, and metadata require the corresponding child components to be configured as well.

This platform only works on ESP32-based chips.

WARNING

The Sendspin protocol is not yet finalized and this component is considered experimental. Breaking changes may occur in future ESPHome releases as the protocol and component evolve.

# Example configuration entry
sendspin:
  • id (Optional, ID): Manually specify the ID for this hub. Required if you want to reference this hub explicitly from child components.
  • task_stack_in_psram (Optional, boolean): Place the internal HTTP server task stack in PSRAM to reduce internal RAM usage. Requires the Psram component to be configured. Defaults to false.

This action switches the Sendspin client to the next active group.

on_...:
- sendspin.switch:
  • Sendspin Group Media Player: Exposes group-wide playback and volume controls as a Home Assistant media player entity.
  • Sendspin Media Source: Plays synchronized audio from a Sendspin group through a Speaker Source media player.
  • Sendspin Sensor: Exposes numeric metadata about the currently playing audio (track progress, track duration, etc.).
  • Sendspin Text Sensor: Exposes metadata about the currently playing audio (title, artist, album, etc.).