here is my esphome config:
esphome:
name: esphome-web-e2db18
friendly_name: Adam's Room Mic
on_boot:
then:
- microphone.capture: external_mic
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome-Web-E2Db18"
password: "0vFG6ZMHfsXm"
i2s_audio:
i2s_lrclk_pin: GPIO16
i2s_bclk_pin: GPIO18
microphone:
- platform: i2s_audio
id: external_mic
adc_type: external
i2s_din_pin: GPIO17
pdm: false
channel: left
voice_assistant:
microphone: external_mic
use_wake_word: false
noise_suppression_level: 2
auto_gain: 31dBFS
volume_multiplier: 2.0
id: assist
on_listening:
- light.turn_on: led1
on_end:
- light.turn_off: led1
on_tts_end:
- homeassistant.service:
service: media_player.play_media
data:
entity_id: media_player.adam_s_room_one
media_content_id: !lambda 'return x;'
media_content_type: music
announce: "true"
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);
light:
- platform: monochromatic
output: led
id: led1
name: "LED"
output:
- platform: ledc
pin: GPIO23
id: led