chore: initial baseline before refactoring
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.
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
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:
|
||||
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user