5f01411780
Initial snapshot of Home Assistant config (HAOS 2026.4.4)
prior to dashboard restructuring and helper YAML migration.
Pre-commit cleanup applied:
- Removed blueprints/switch_manager/ (9.4 MB stale, component already gone)
- Removed .storage/switch_manager
- Removed home-assistant.log.{1,old,fault}
- Removed zigbee2mqtt/configuration_backup_v{1..4}.yaml
- Removed zigbee2mqtt/database.db.tmp.2024-09-27 (1.5y old)
- Created empty themes/ to satisfy configuration.yaml include
.gitignore uses allowlist strategy for .storage/ to keep
all tokens, keys, and PINs out of version control.
201 lines
4.0 KiB
YAML
201 lines
4.0 KiB
YAML
esphome:
|
|
name: esp32s3
|
|
friendly_name: ReSpeakerv3
|
|
platformio_options:
|
|
board_build.flash_mode: dio
|
|
board_build.mcu: esp32s3
|
|
# on_boot:
|
|
# then:
|
|
# - if:
|
|
# condition:
|
|
# switch.is_on:
|
|
# then:
|
|
# - voice_assistant.start_continuous:
|
|
|
|
|
|
esp32:
|
|
board: esp32-s3-devkitc-1
|
|
variant: esp32s3
|
|
framework:
|
|
type: esp-idf
|
|
version: recommended
|
|
|
|
logger:
|
|
# level: VERY_VERBOSE
|
|
|
|
api:
|
|
|
|
ota:
|
|
- platform: esphome
|
|
|
|
wifi:
|
|
ssid: "nuclide"
|
|
password: "tapirnase"
|
|
|
|
captive_portal:
|
|
|
|
external_components:
|
|
- source: github://QingWind6/ESPHome_XIAO-ESP32S3
|
|
|
|
i2s_audio_xiao:
|
|
i2s_lrclk_pin: GPIO7
|
|
i2s_bclk_pin: GPIO8
|
|
i2s_mclk_pin: GPIO9
|
|
|
|
|
|
microphone:
|
|
- platform: i2s_audio_xiao
|
|
id: xiao_mic
|
|
adc_type: external
|
|
i2s_din_pin: GPIO44
|
|
pdm: false
|
|
bits_per_sample: 32bit
|
|
channel: left
|
|
|
|
speaker:
|
|
- platform: i2s_audio_xiao
|
|
id: xiao_speaker
|
|
dac_type: external
|
|
i2s_dout_pin: GPIO43
|
|
mode: stereo
|
|
|
|
voice_assistant:
|
|
microphone: xiao_mic
|
|
use_wake_word: true
|
|
noise_suppression_level: 0
|
|
auto_gain: 0dBFS
|
|
volume_multiplier: 1
|
|
speaker: xiao_speaker
|
|
id: assist
|
|
on_listening:
|
|
- light.turn_on:
|
|
id: led
|
|
blue: 100%
|
|
red: 0%
|
|
green: 0%
|
|
effect: "Slow Pulse"
|
|
on_stt_vad_end:
|
|
- light.turn_on:
|
|
id: led
|
|
blue: 100%
|
|
red: 0%
|
|
green: 0%
|
|
effect: "Fast Pulse"
|
|
on_tts_start:
|
|
- light.turn_on:
|
|
id: led
|
|
blue: 100%
|
|
red: 0%
|
|
green: 0%
|
|
brightness: 100%
|
|
effect: none
|
|
on_end:
|
|
- delay: 100ms
|
|
- wait_until:
|
|
not:
|
|
speaker.is_playing:
|
|
- script.execute: reset_led
|
|
on_error:
|
|
- light.turn_on:
|
|
id: led
|
|
red: 100%
|
|
green: 0%
|
|
blue: 0%
|
|
brightness: 100%
|
|
effect: none
|
|
- delay: 1s
|
|
- script.execute: reset_led
|
|
on_client_connected:
|
|
- if:
|
|
condition:
|
|
switch.is_on: use_wake_word
|
|
then:
|
|
- voice_assistant.start_continuous:
|
|
- script.execute: reset_led
|
|
on_client_disconnected:
|
|
- if:
|
|
condition:
|
|
switch.is_on: use_wake_word
|
|
then:
|
|
- voice_assistant.stop:
|
|
- light.turn_off: led
|
|
|
|
light:
|
|
- platform: esp32_rmt_led_strip
|
|
id: led
|
|
name: None
|
|
disabled_by_default: true
|
|
entity_category: config
|
|
pin: GPIO1
|
|
default_transition_length: 0s
|
|
chipset: ws2812
|
|
num_leds: 1
|
|
rgb_order: grb
|
|
rmt_channel: 0
|
|
effects:
|
|
- pulse:
|
|
name: "Slow Pulse"
|
|
transition_length: 250ms
|
|
update_interval: 250ms
|
|
min_brightness: 50%
|
|
max_brightness: 100%
|
|
- pulse:
|
|
name: "Fast Pulse"
|
|
transition_length: 100ms
|
|
update_interval: 100ms
|
|
min_brightness: 50%
|
|
max_brightness: 100%
|
|
|
|
output:
|
|
- platform: ledc
|
|
id: light_output
|
|
pin: GPIO21
|
|
inverted: true
|
|
|
|
|
|
script:
|
|
- id: reset_led
|
|
then:
|
|
- if:
|
|
condition:
|
|
- switch.is_on: use_wake_word
|
|
- switch.is_on: use_listen_light
|
|
then:
|
|
- light.turn_on:
|
|
id: led
|
|
effect: none
|
|
|
|
else:
|
|
- light.turn_off:
|
|
id: led
|
|
|
|
|
|
switch:
|
|
- platform: template
|
|
name: Use wake word
|
|
id: use_wake_word
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
entity_category: config
|
|
on_turn_on:
|
|
- lambda: id(assist).set_use_wake_word(true);
|
|
- if:
|
|
condition:
|
|
not:
|
|
- voice_assistant.is_running
|
|
then:
|
|
- voice_assistant.start_continuous
|
|
on_turn_off:
|
|
- voice_assistant.stop
|
|
- lambda: id(assist).set_use_wake_word(false);
|
|
|
|
- platform: template
|
|
name: Use Listen Light
|
|
id: use_listen_light
|
|
optimistic: true
|
|
restore_mode: RESTORE_DEFAULT_ON
|
|
entity_category: config
|
|
on_turn_on:
|
|
- script.execute: reset_led
|
|
on_turn_off:
|
|
- script.execute: reset_led |