#ESPHome Sendspin Configuration

1 messages ยท Page 1 of 1 (latest)

idle umbra
#

Hello folks, I've been having some issues getting my ESP32-S3 node working with sendspin. I think I've got the media_player entity working with normal media and announcements, but I can't get media from music assistant to play over sendspin. What could I be doing wrong? Are there any super basic configuration files I can reference to get it working as if it were a Voice PE satellite's sendspin does, but without all of the other lighting and speech detection fluff? Thanks ๐Ÿ™‚

Here's my configuration:

substitutions:
  name: home-assistant-media-office
  friendly_name: Home Assistant Media - Office

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

esp32:
  board: seeed_xiao_esp32s3
  framework:
    type: esp-idf

psram:
  mode: octal
  speed: 80MHz

api:
  encryption:
    key: !secret api_encryption_key
      
ota:
  platform: esphome
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: "office.ha-media-player.brins0.lan"

logger:
  level: DEBUG

# SendSpin is a 2026 native component, but ensure your 
# ESPHome version is up to date (2026.3.0+)
external_components:
  - source: github://pr#8065
    components: [i2s_audio]
    refresh: 0s
  - source: github://pr#12284
    components: [mdns, sendspin]
  - source: github://pr#12253
    components: [mixer]
  - source: github://pr#12258
    components: [media_player]

# 1. Define the I2S Audio Bus
i2s_audio:
  - id: i2s_output
    i2s_lrclk_pin: GPIO8  # D9 on XIAO
    i2s_bclk_pin: GPIO7   # D8 on XIAO

# 2. Define the Speaker Component
speaker:
  # Hardware speaker output
  - id: i2s_audio_speaker
    platform: i2s_audio
    sample_rate: 48000
    i2s_mode: primary
    i2s_dout_pin: GPIO9
    bits_per_sample: 16bit
    i2s_audio_id: i2s_output
    dac_type: external
    channel: stereo
    timeout: never
    use_apll: true
    buffer_duration: 250ms
    spdif_mode: true
  # Virtual speakers to combine the announcement and media streams 
  # together into one output
  - platform: mixer
    id: mixing_speaker
    output_speaker: i2s_audio_speaker
    num_channels: 2
    task_stack_in_psram: false
    source_speakers:
      - id: announcement_mixing_input
        timeout: never
      - id: media_mixing_input
        timeout: never
  # Virtual speakers to resample each pipelines' audio, if necessary, 
  # as the mixer speaker requires the same sample rate
  - platform: resampler
    id: announcement_resampling_speaker
    output_speaker: announcement_mixing_input
    sample_rate: 48000
    bits_per_sample: 16
  - platform: resampler
    id: media_resampling_speaker
    output_speaker: media_mixing_input
    sample_rate: 48000
    bits_per_sample: 16

# 3. Configure the Media Player with Announcement Pipeline
media_player:
  - platform: speaker
    id: output_media_player
    name: "Media Player"
    # Announcement pipeline allows HA to interrupt music for TTS/Alerts
    announcement_pipeline:
      format: FLAC     # FLAC is the least processor intensive codec
      num_channels: 1  # Stereo audio is unnecessary for announcements
      sample_rate: 48000
      speaker: announcement_resampling_speaker
    media_pipeline:
      format: FLAC     # FLAC is the least processor intensive codec
      num_channels: 2
      sample_rate: 48000
      speaker: media_resampling_speaker

# 4. Enable SendSpin for Multi-Room Sync
sendspin:
  id: sendspin_client
  task_stack_in_psram: false

# Typical board status LED
light:
  - platform: status_led
    name: "Status LED"
    pin:
      number: GPIO21
      inverted: true
idle umbra
#

Is anyone able to weigh in on the above, or direct me to some documentation about how to get sendspin working in esphome?

meager ermine
idle umbra
#

I've been farting around and I've got this config which appears to be working, albeit with no volume control in music assistant (not sure why)

meager ermine
idle umbra
#

should I replace the components in mine with those instead then?

meager ermine
#

yes

#

i did that so i don't have to change ALL my devices when they change.. (a lot of devices ๐Ÿ˜† )

idle umbra
#

do you happen to know why it may not show volume control in Music Assistant?

meager ermine
#

something in your yaml, you can look at those simple yamls i linked to

idle umbra
#

the sendspin section seems identical so I'm not sure why I'm going wrong

#

the media_player in home assistant has volume control

idle umbra
#

hmm, so I flashed it to another device, it's appered as a new one in music assistant, and it's fine now ๐Ÿ˜„

lethal rivet
#

@meager ermine is there a way to get Sendspin support for the tacchi pi?

lethal rivet
meager ermine
#

sometimes when adding a new player i have to restart the app music assistant, then it's there..

lethal rivet
#

Do you get voice assistant and Sendspin?

meager ermine
#

yes both

#

one of the only devices where sendspin makes sense because of the audio out

#

the other small ones like "muma" have so tiny a speaker that music would sound horrible ๐Ÿ˜† but i will most likely end up adding it to them all when sendspin is released