Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
AS ESPHome yaml for home assistant
#21
Here is mine yaml file now trying to make the speaker a media_player. with the file of filip mine assistant cannot make long answers.

script:
esphome:
name: as
friendly_name: AS
platformio_options:
board_build.flash_mode: dio
on_boot:
- light.turn_on:
id: led_ww
red: 100%
green: 9%
blue: 86%
brightness: 60%
effect: fast pulse
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
sdkconfig_options:
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"
CONFIG_AUDIO_BOARD_CUSTOM: "y"

psram:
mode: octal # quad for N8R2 and octal for N16R8
speed: 80MHz

# Enable logging
logger:
hardware_uart: USB_SERIAL_JTAG

# Enable Home Assistant API
api:
encryption:
key: "yourkey"
on_client_connected:
then:
- delay: 50ms
- light.turn_off: led_ww
- micro_wake_word.start:
on_client_disconnected:
then:
- voice_assistant.stop:

ota:
- platform: esphome
password: "yourpassword"

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
reboot_timeout: 10min
power_save_mode: none
ap:
ssid: "Esp32-S3-Wake-Word"
password: "hiplahopla"

captive_portal:

button:
- platform: restart
name: "Restart"
id: but_rest

switch:
- platform: template
id: mute
name: mute
optimistic: true
on_turn_on:
- micro_wake_word.stop:
- voice_assistant.stop:
- light.turn_on:
id: led_ww
red: 100%
green: 0%
blue: 0%
brightness: 100%
effect: Scan Effect 2
- delay: 8s
- light.turn_off:
id: led_ww
- light.turn_on:
id: led_ww
red: 100%
green: 0%
blue: 0%
brightness: 60%
- light.turn_on:
id: led_ww2
red: 100%
green: 0%
blue: 0%
brightness: 60%
on_turn_off:
- micro_wake_word.start:
- light.turn_on:
id: led_ww
red: 0%
green: 100%
blue: 0%
brightness: 100%
effect: Scan Effect
- delay: 8s
- light.turn_off:
id: led_ww
- light.turn_on:
id: led_ww
red: 100%
green: 9%
blue: 86%
brightness: 60%
- light.turn_on:
id: led_ww2
red: 0%
green: 0%
blue: 100%
brightness: 60%


light:
- platform: esp32_rmt_led_strip
id: led_ww
rgb_order: GRB
pin: GPIO15
num_leds: 3
rmt_channel: 0
chipset: ws2812
name: "On Board Light 1"
effects:
- pulse:
- pulse:
name: "Fast Pulse"
transition_length: 0.5s
update_interval: 0.5s
min_brightness: 0%
max_brightness: 100%
- addressable_color_wipe:
- addressable_scan:
name: "Scan Effect" # Aanhalingstekens voor consistentie
move_interval: 300ms
scan_width: 1
- addressable_scan:
name: "Scan Effect 2" # Aanhalingstekens voor consistentie
move_interval: 600ms
scan_width: 1

- platform: esp32_rmt_led_strip
id: led_ww2
rgb_order: RGB
pin: GPIO16
num_leds: 1
rmt_channel: 1
chipset: ws2812
name: "On Board Light 2"
effects:
- pulse:
- pulse:
name: "Fast Pulse"
transition_length: 0.5s
update_interval: 0.5s
min_brightness: 0%
max_brightness: 100%

number:
- platform: template
name: "Speaker Volume"
id: speaker_volume
optimistic: true
min_value: 0.0
max_value: 1.0
step: 0.01
initial_value: 0.6
restore_value: true # Nu correct!
unit_of_measurement: "Volume (%)"
set_action:
- lambda: |-
id(va_speaker).set_volume(x);

# Audio and Voice Assistant Config
i2s_audio:
- id: i2s_in
i2s_lrclk_pin: GPIO3
i2s_bclk_pin: GPIO2
- id: i2s_speaker
i2s_lrclk_pin: GPIO6
i2s_bclk_pin: GPIO7

microphone:
- platform: i2s_audio
id: va_mic
adc_type: external
i2s_din_pin: GPIO4
channel: left
pdm: false
i2s_audio_id: i2s_in
bits_per_sample: 32 bit

speaker:
platform: i2s_audio
id: va_speaker
i2s_audio_id: i2s_speaker
dac_type: external
i2s_dout_pin: GPIO8
channel: mono

micro_wake_word:
on_wake_word_detected:
- voice_assistant.start:
wake_word: !lambda return wake_word;
- light.turn_on:
id: led_ww2
red: 0%
green: 100%
blue: 0%
brightness: 100%
effect: fast pulse
models:
- model: alexa

voice_assistant:
id: va
microphone: va_mic
noise_suppression_level: 2.0
volume_multiplier: 6.0
speaker: va_speaker
on_stt_end:
then:
- light.turn_on:
id: led_ww2
red: 0%
green: 0%
blue: 100%
brightness: 100%
on_error:
- light.turn_on:
id: led_ww
red: 100%
green: 0%
blue: 0%
brightness: 60%
- delay: 2s
- micro_wake_word.start:
on_end:
then:
- light.turn_off: led_ww2
- delay: 2s
- light.turn_on: led_ww2
- wait_until:
not:
voice_assistant.is_running:
- micro_wake_word.start:
Reply
#22
The ymal fails to compile.

Compiling .pioenvs/as/src/esphome/components/template/switch/template_switch.o
src/esphome/components/psram/psram.cpp:5:10: fatal error: esp_psram.h: No such file or directory

*******************************************************************
* Looking for esp_psram.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:esp_psram.h"
* Web  > https://registry.platformio.org/search?q...sp_psram.h
*
*******************************************************************

#include <esp_psram.h>
          ^~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/as/src/esphome/components/psram/psram.o] Error 1
========================== [FAILED] Took 4.03 seconds ==========================
Reply
#23
because esphome is updated, just delete this line: rmt channel: 0
the new yaml file is:
Code:
esphome:
  name: as
  friendly_name: AS
  platformio_options:
    board_build.flash_mode: dio
  on_boot:
    - light.turn_on:
        id: led_ww
        blue: 100%
        brightness: 60%
        effect: fast pulse

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

    sdkconfig_options:
      CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
      CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
      CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"
      CONFIG_AUDIO_BOARD_CUSTOM: "y"
   
psram:
  mode: octal  # quad for N8R2 and octal for N16R8
  speed: 80MHz


# Enable logging
logger:
  hardware_uart: USB_SERIAL_JTAG

# Enable Home Assistant API
api:
  encryption:
    key: "TFpb+pBAvQIS1MVwaA7EoJ2DkpWE+79UvVro7yMyGdU="
  on_client_connected:
        then:
          - delay: 50ms
          - light.turn_off: led_ww
          - micro_wake_word.start:
  on_client_disconnected:
        then:
          - voice_assistant.stop:



ota:
  - platform: esphome
    password: "1245211a05eef56614a2ef5a3f3e971c"

wifi:
  ssid: "KinCony"
  password: "a12345678"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-S3-Wake-Word"
    password: "LJfUrdJk3svP"

captive_portal:


button:
  - platform: restart
    name: "Restart"
    id: but_rest

switch:
  - platform: template
    id: mute
    name: mute
    optimistic: true
    on_turn_on:
      - micro_wake_word.stop:
      - voice_assistant.stop:
      - light.turn_on:
          id: led_ww           
          red: 100%
          green: 0%
          blue: 0%
          brightness: 60%
          effect: fast pulse
      - delay: 2s
      - light.turn_off:
          id: led_ww
      - light.turn_on:
          id: led_ww           
          red: 100%
          green: 0%
          blue: 0%
          brightness: 30%
    on_turn_off:
      - micro_wake_word.start:
      - light.turn_on:
          id: led_ww           
          red: 0%
          green: 100%
          blue: 0%
          brightness: 60%
          effect: fast pulse
      - delay: 2s
      - light.turn_off:
          id: led_ww
   
light:
  - platform: esp32_rmt_led_strip
    id: led_ww
    rgb_order: RGB
    pin: GPIO16
    num_leds: 1
    chipset: ws2812
    name: "on board light"
    effects:
      - pulse:
      - pulse:
          name: "Fast Pulse"
          transition_length: 0.5s
          update_interval: 0.5s
          min_brightness: 0%
          max_brightness: 100%
         
         
# Audio and Voice Assistant Config         
i2s_audio:
  - id: i2s_in
    i2s_lrclk_pin: GPIO3  #WS
    i2s_bclk_pin: GPIO2 #SCK
  - id: i2s_speaker
    i2s_lrclk_pin: GPIO6  #LRC
    i2s_bclk_pin: GPIO7 #BLCK

microphone:
  - platform: i2s_audio
    id: va_mic
    adc_type: external
    i2s_din_pin: GPIO4 #SD pin on the INMP441
    channel: left
    pdm: false
    i2s_audio_id: i2s_in
    bits_per_sample: 32 bit
   
speaker:
    platform: i2s_audio
    id: va_speaker
    i2s_audio_id: i2s_speaker
    dac_type: external
    i2s_dout_pin: GPIO8   #  DIN Pin of the MAX98357A Audio Amplifier
    channel: mono

micro_wake_word:
  on_wake_word_detected:
    # then:
    - voice_assistant.start:
        wake_word: !lambda return wake_word;
    - light.turn_on:
        id: led_ww           
        red: 30%
        green: 30%
        blue: 70%
        brightness: 60%
        effect: fast pulse
  models:
    - model: github://esphome/micro-wake-word-models/models/v2/hey_jarvis.json
   
voice_assistant:
  id: va
  microphone: va_mic
  noise_suppression_level: 2.0
  volume_multiplier: 4.0
  speaker: va_speaker
  on_stt_end:
       then:
         - light.turn_off: led_ww
  on_error:
          - micro_wake_word.start: 
  on_end:
        then:
          - light.turn_off: led_ww
          - wait_until:
              not:
                voice_assistant.is_running:
          - micro_wake_word.start: 
it can be compiled.


Attached Files
.txt   AS-HA-2.txt (Size: 3.98 KB / Downloads: 297)
Reply
#24
I just received this product and had a few issues with the yaml file as provided. 

esp32_rmt_led_strip
    rgb_order: GRB
    rmt_channel: 0


The rgb_order on my unit was RGB, not GRB
also esp home builder is writing out on the rmt_channel line, I just commented it out.
I don't know if that is localized to my unit and haos install, but it might need to be corrected in main post if it isn't. 


Haven't been able to get it to answer me in assistant yet, but that is beyond the scope of this post. 

Thank you all for everything
Reply
#25
because ESPHome always update, sometimes need to change a little for yaml file.
sure, if you use by esphome, it work in locally without internet.
Reply
#26
Just wanted to let someone know. Hopefully will be easier for the next user when they follow directions. 
And the rmt_channel error seems like a depreciated feature that should be removed or commented out of code

Cheers!

Flip
Reply
#27
(11-12-2024, 05:23 PM)eyevisions Wrote: Dear,

it is possible that you use an open wake word from ha itself and not in the esp itself. I have now changed it to okay nabu which is already going better.

I have been working on the same thing for five days. It cannot respond to "hey Jarvis", I have installed openWakeWord, but can't integrate it. I watched a video where it is possible to change the wake word, but in my configuration, Wake Word doesn't show up for selection. I will appreciate any help to get it working. I have units but can't get any working after following all the instructions. Thanks
Reply


Forum Jump:


Users browsing this thread:
1 Guest(s)