Merge branch 'main' of ssh://gitea.bramkelchtermans.be:2222/Bram/projects
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
esphome:
|
||||
name: assistant-desk
|
||||
friendly_name: Assistant Desk
|
||||
|
||||
esp32:
|
||||
board: esp32doit-devkit-v1
|
||||
framework:
|
||||
type: esp-idf
|
||||
|
||||
logger:
|
||||
level: DEBUG
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
password: ""
|
||||
|
||||
ota:
|
||||
password: ""
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "Bed-Scale Fallback Hotspot"
|
||||
password: !secret hotspot_password
|
||||
i2s_audio:
|
||||
- id: i2s_in
|
||||
i2s_lrclk_pin: GPIO26 #WS / LRC
|
||||
i2s_bclk_pin: GPIO25 #SCK /BCLK
|
||||
|
||||
microphone:
|
||||
- platform: i2s_audio
|
||||
adc_type: external
|
||||
pdm: false
|
||||
id: mic_i2s
|
||||
channel: right
|
||||
bits_per_sample: 32bit
|
||||
i2s_audio_id: i2s_in
|
||||
i2s_din_pin: GPIO33 #SD
|
||||
|
||||
speaker:
|
||||
- platform: i2s_audio
|
||||
id: my_speaker
|
||||
dac_type: external
|
||||
i2s_dout_pin: GPIO14 #DIN
|
||||
mode: stereo
|
||||
i2s_audio_id: i2s_in
|
||||
|
||||
voice_assistant:
|
||||
microphone: mic_i2s
|
||||
id: va
|
||||
noise_suppression_level: 2
|
||||
auto_gain: 31dBFS
|
||||
volume_multiplier: 4.0
|
||||
use_wake_word: false
|
||||
speaker: my_speaker
|
||||
|
||||
on_error:
|
||||
- if:
|
||||
condition:
|
||||
switch.is_on: use_wake_word
|
||||
then:
|
||||
- switch.turn_off: use_wake_word
|
||||
- switch.turn_on: use_wake_word
|
||||
|
||||
on_client_connected:
|
||||
- if:
|
||||
condition:
|
||||
switch.is_on: use_wake_word
|
||||
then:
|
||||
- voice_assistant.start_continuous:
|
||||
|
||||
on_client_disconnected:
|
||||
- if:
|
||||
condition:
|
||||
switch.is_on: use_wake_word
|
||||
then:
|
||||
- voice_assistant.stop:
|
||||
|
||||
binary_sensor:
|
||||
- platform: status
|
||||
name: API Connection
|
||||
id: api_connection
|
||||
filters:
|
||||
- delayed_on: 1s
|
||||
on_press:
|
||||
- if:
|
||||
condition:
|
||||
switch.is_on: use_wake_word
|
||||
then:
|
||||
- voice_assistant.start_continuous:
|
||||
on_release:
|
||||
- if:
|
||||
condition:
|
||||
switch.is_on: use_wake_word
|
||||
then:
|
||||
- voice_assistant.stop:
|
||||
|
||||
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(va).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(va).set_use_wake_word(false);
|
||||
Reference in New Issue
Block a user