Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions firmware/esphome/packages/sendspin-addon-voice-assist.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

media_player:
- id: !extend external_media_player
announcement_pipeline:
sources:
- announcement_audio_file_source
media_pipeline:
sources:
- audio_file_source
Expand All @@ -29,11 +32,11 @@ media_player:
decibel_reduction: 0
duration: 1.0s



media_source:
- platform: audio_file
id: audio_file_source
- platform: audio_file
id: announcement_audio_file_source

audio_file:
- id: timer_finished_sound
Expand Down
29 changes: 21 additions & 8 deletions firmware/esphome/packages/sendspin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,17 @@
# Requires substitutions:
# - task_stack_in_psram
# - friendly_name
# Optional substitutions:
# - media_player_led_control: "true" (default) — set to "false"
# when voice-assist.yaml is also included, to avoid conflicts
# with voice-assist LED state management.
# Requires i2s_audio to be configured in main config
# !! Requires ESPHome 2026.5.0 or later for latest sendspin features and optimizations !!
# !! at the moment this would only build with ESPHome (Dev) but should be available in ESPHome (main) by the mid-May !!
# ============================================================

substitutions:
media_player_led_control: "true"
media_source_buffer_size: 200000

globals:
Expand Down Expand Up @@ -86,12 +91,16 @@ media_player:
- lambda: |-
id(announcement_triggered) = true;
id(current_volume) = id(external_media_player).volume;
- light.turn_on:
id: rgb_front_led
blue: 100%
red: 0%
green: 100%
brightness: 50%
- if:
condition:
lambda: return ${media_player_led_control};
then:
- light.turn_on:
id: rgb_front_led
blue: 100%
red: 0%
green: 100%
brightness: 50%
- mixer_speaker.apply_ducking:
id: media_mixer_input
decibel_reduction: 40
Expand All @@ -112,8 +121,12 @@ media_player:
- media_player.volume_set:
id: external_media_player
volume: !lambda "return id(current_volume);"
- light.turn_off:
id: rgb_front_led
- if:
condition:
lambda: return ${media_player_led_control};
then:
- light.turn_off:
id: rgb_front_led
- lambda: id(announcement_triggered) = false;

on_state:
Expand Down
1 change: 1 addition & 0 deletions firmware/esphome/packages/voice-assist-sendspin.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
substitutions:
# Voice Assistant Configuration
wake_word: okay_nabu
media_player_led_control: "false" # disable media-player LED control; voice-assist manages LEDs
speaker_volume: 60%
voice_assist_idle_phase_id: '1'
voice_assist_listening_phase_id: '2'
Expand Down
Loading