🎉 live server seems to be working now

This commit is contained in:
2026-05-14 14:29:57 +02:00
commit d72e439fd9
181 changed files with 47406 additions and 0 deletions

162
esphome/speaker.yaml Normal file
View File

@@ -0,0 +1,162 @@
substitutions:
name: "audio-test"
friendly_name: "Audio Test"
# AP fallback password (8+ chars)
ap_password: "SYOMYqzKWbfl"
esphome:
name: ${name}
friendly_name: ${friendly_name}
on_boot:
priority: 600.0
then:
# PCM5102 SCK pin is tied to GND on the breakout; this GPIO is also
# soldered to that node, so we hold it LOW to avoid driving against GND.
- output.turn_off: sck_pin_low
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
psram:
mode: quad
speed: 80MHz
logger:
api:
encryption:
key: !secret api_encryption_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: none
ap:
ssid: "${friendly_name} Fallback"
password: ${ap_password}
captive_portal:
http_request:
timeout: 10s
verify_ssl: false
output:
- platform: gpio
pin: GPIO15
id: sck_pin_low
i2s_audio:
id: i2s_bus
i2s_lrclk_pin: GPIO18 # A0 -> LCK
i2s_bclk_pin: GPIO16 # A2 -> BCK
speaker:
- platform: i2s_audio
id: pcm5102_dac
i2s_audio_id: i2s_bus
i2s_dout_pin: GPIO17 # A1 -> DIN
dac_type: external
sample_rate: 48000
bits_per_sample: 16bit
channel: stereo
timeout: never
buffer_duration: 100ms
- platform: mixer
id: audio_mixer
output_speaker: pcm5102_dac
num_channels: 2
task_stack_in_psram: true
source_speakers:
- id: announcement_mixer_input
timeout: never
- id: media_mixer_input
timeout: never
- platform: resampler
id: media_resampler
output_speaker: media_mixer_input
sample_rate: 48000
bits_per_sample: 16
- platform: resampler
id: announcement_resampler
output_speaker: announcement_mixer_input
sample_rate: 48000
bits_per_sample: 16
sendspin:
id: sendspin_hub
task_stack_in_psram: false
media_source:
- platform: http_request
id: http_media_source
buffer_size: 500000
- platform: http_request
id: http_announcement_source
buffer_size: 250000
- platform: sendspin
id: sendspin_media_source
media_player:
- platform: sendspin
id: sendspin_group_media_player
- platform: speaker_source
id: external_media_player
name: "Media Player"
media_pipeline:
format: FLAC
num_channels: 2
sample_rate: 48000
speaker: media_resampler
sources:
- http_media_source
- sendspin_media_source
announcement_pipeline:
format: FLAC
num_channels: 1
sample_rate: 48000
speaker: announcement_resampler
sources:
- http_announcement_source
on_mute:
- mixer_speaker.apply_ducking:
id: media_mixer_input
decibel_reduction: 51
duration: 0.4s
- mixer_speaker.apply_ducking:
id: announcement_mixer_input
decibel_reduction: 51
duration: 0.4s
on_unmute:
- mixer_speaker.apply_ducking:
id: media_mixer_input
decibel_reduction: 0
duration: 0.4s
- mixer_speaker.apply_ducking:
id: announcement_mixer_input
decibel_reduction: 0
duration: 0.4s
external_components:
- source:
# https://github.com/esphome/esphome/pull/14933
type: git
url: https://github.com/kahrendt/esphome
ref: 7a6cf5c8472b7e2fa18ee0fc314f66a80d249e32
components: [const, media_source, sendspin]
- source:
# https://github.com/esphome/esphome/pull/12429
type: git
url: https://github.com/esphome/esphome
ref: ff8ce89556748509d7ee8724e12d9d43d3c8c1e8
refresh: 0s
components: [http_request]