core icon indicating copy to clipboard operation
core copied to clipboard

Not able to select my assist_satellites for announce

Open gianlucasullazzo opened this issue 1 year ago • 3 comments

The problem

Hi team, I have:

  • 1 m5stack-atom-echo
  • 1 raspiaudio-muse-luxe
  • 1 esp32-s3-box-3

All of them are running ESP Home with the corresponding satellites. I'm not able to use the new action assist_satellite.announce since I get: Error handling message: Entity assist_satellite.m5stack_assist_satellite does not support this service. (home_assistant_error)

ESPHome version 2024.9.2 compiled on Oct 1 2024, 10:08:35

What version of Home Assistant Core has the issue?

core-2024.10.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Assist

Link to integration documentation on our website

https://www.home-assistant.io/integrations/assist_satellite#action-assist_satelliteannounce

Diagnostics information

No response

Example YAML snippet

action: assist_satellite.announce
target:
  entity_id: assist_satellite.m5stack_assist_satellite
data:
  message: hey there!

Anything in the logs that might be useful for us?

Registratore: homeassistant.helpers.script.websocket_api_script
Fonte: helpers/script.py:2026
Prima occorrenza: 16:29:56 (1 occorrenze)
Ultima registrazione: 16:29:56

websocket_api script: Error executing script. Error for call_service at pos 1: Entity assist_satellite.m5stack_assist_satellite does not support this service.

Additional information

No response

gianlucasullazzo avatar Oct 05 '24 14:10 gianlucasullazzo

Hey there @home-assistant/core, @synesthesiam, mind taking a look at this issue as it has been labeled with an integration (assist_satellite) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of assist_satellite can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign assist_satellite Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


assist_satellite documentation assist_satellite source (message by IssueLinks)

home-assistant[bot] avatar Oct 05 '24 14:10 home-assistant[bot]

The voice assistant component in ESPHome hasn't added support for announcements yet. This depends on a number of other components being updated, including the media player.

synesthesiam avatar Oct 06 '24 01:10 synesthesiam

Hi @synesthesiam, thanks for reply. So, at the moment, there is no way to use announces. Do u have and idea of the timing to make mentioned update on esphome components? I'm using a custom component to realize a kind of "voice actionable notification" but I don't likes it so much. I would prefer to use only native components and announces are a big part of my VAN project.

gianlucasullazzo avatar Oct 06 '24 07:10 gianlucasullazzo

Im waiting for this function as well, when does esphome get a update to make announcements via a satelite?

mija87 avatar Nov 09 '24 09:11 mija87

Can the esphome media player component be used to replace this functionality?

Wetzel402 avatar Nov 13 '24 18:11 Wetzel402

of course I mess with it for 2 days to find this out. all I need to replace alexa is timers, this {announcements), and media player. commenting for follow

sudoxreboot avatar Nov 20 '24 19:11 sudoxreboot

is the a temporary workaround for this? surely there is some kind of mechanism for making the m5stack make audio output since the whole assist pipeline works fine. for example i'm simply trying to add some kind of noise upon using the wakeword so that people know it is listening. (like every other voice assistant does) but I'm baffled as to how can go about doing this. assist_satillite was a way i thought i coudl do this. but apparently not.

thefunkygibbon avatar Dec 08 '24 19:12 thefunkygibbon

@thefunkygibbon, I replied to you on the ESPHome discord but I want to include this here for others to see also. I was able to play a wake sound on a standard ESP32 using the following config...

substitutions:
  device_name: "assist-kitchen"
  friendly_name: "assist-kitchen"
  device_description: "assist-kitchen"
  esp_board: "wemos_d1_mini32"
  framework_type: "esp-idf"
  din: "GPIO19"   # MAX98357A - DIN
  lrclk_mic: "GPIO16" # MAX98357A & ICS43434 - LRC/LRCL
  lrclk_amp: "GPIO23" # MAX98357A & ICS43434 - LRC/LRCL
  bclk_mic: "GPIO17"  # MAX98357A & ICS43434 - BCLK
  bclk_amp: "GPIO26"  # MAX98357A & ICS43434 - BCLK
  dout: "GPIO18"  # ICS43434 - DOUT
  l_r: "right"    # ICS43434 - L/R (3.3v = right / GND = left)

esphome:
  name: ${device_name}
  friendly_name: ${friendly_name}
  includes:
    # sounds must be converted
    # see https://esphome.io/guides/audio_clips_for_i2s.html
    - wake_sound.h

esp32:
  board: ${esp_board}
  framework:
    type: ${framework_type}
    version: recommended
  
logger:

captive_portal:

web_server:

api:
  encryption:
    key: ${api_key}

ota:
  - platform: esphome
    password: "36e011a812d79f51cb886ff8d171eda2"

wifi:
  ssid: 
  password: 

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-Mic-Speaker"
    password: "9vYvAFzzPjuc"

i2s_audio:
  - id: i2s_in
    i2s_lrclk_pin: ${lrclk_mic}
    i2s_bclk_pin: ${bclk_mic}
  - id: i2s_out
    i2s_lrclk_pin: ${lrclk_amp}
    i2s_bclk_pin: ${bclk_amp}

microphone:
  - platform: i2s_audio
    id: mic
    adc_type: external
    i2s_din_pin: ${dout}
    i2s_audio_id: i2s_in
    pdm: false

speaker:
  - platform: i2s_audio
    id: spk
    dac_type: external
    i2s_dout_pin: ${din}
    i2s_audio_id: i2s_out
    mode: mono

micro_wake_word:
  models:
    - model: hey_jarvis
  on_wake_word_detected:
    - wait_until:
        not:
          microphone.is_capturing:
    - speaker.play:
        id: spk
        data: !lambda return wake_sound_raw;
    - delay: 500ms
    - voice_assistant.start: 

voice_assistant:
  microphone: mic
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  speaker: spk
  id: va
  on_end:
    - delay: 100ms
    - voice_assistant.stop:
    - wait_until:
        not:
          voice_assistant.is_running:
    - if:
        condition:
          switch.is_off: mute
        then:
          - micro_wake_word.start:
  on_client_connected:
    - delay: 5s
    - if:
        condition:
          switch.is_off: mute
        then:
          - micro_wake_word.start:
  on_client_disconnected:
    - voice_assistant.stop:
    - micro_wake_word.stop:

button:
  - platform: restart
    id: restart_btn
    name: "${friendly_name} REBOOT"
          
switch:
  - platform: template
    id: mute
    name: "Mute microphone"
    optimistic: true
    on_turn_on: 
      - micro_wake_word.stop:
      - voice_assistant.stop:
    on_turn_off:
      - micro_wake_word.start

I tried adding an additional sound for timer_finished but couldn't get that working. I think it might be a hardware limitation issue.

Wetzel402 avatar Dec 09 '24 15:12 Wetzel402

thanks, I didn't notice the reply on discord, so i appriciate you posting here too. I've tried your code and and am still struggling to get it working on the m5stack device. I'll continue to tweek it to see if can get it working. I converted the wav into the .h file as the documentation suggests but still no luck.

thefunkygibbon avatar Dec 11 '24 10:12 thefunkygibbon

I'd also be interested in being able to use a Wyoming satellite with the announcement functionality

ESPHome issue: https://github.com/esphome/issues/issues/6319

andreas-bulling avatar Jan 01 '25 07:01 andreas-bulling

I agree with Andreas-bulling. I came her, to find out I cannot use my wyoming satellites as mediaplayers, to let them announce something.

simonsays-techtalk avatar Feb 03 '25 16:02 simonsays-techtalk

@andreas-bulling and @simonsays-techtalk, the new nabu media player addresses this and can be used with:

....
external_components:
  - source:
      type: git
      url: https://github.com/esphome/voice-kit
      ref: dev
    components:
      - media_player
      - micro_wake_word
      - microphone
      - nabu
      - voice_assistant
    refresh: 0s

voice_assistant:
  id: va
  microphone: mic1
  media_player: nabu_media_player
  micro_wake_word: mww
  noise_suppression_level: 1
  auto_gain: 31dBFS
  volume_multiplier: 4.0
...

Wetzel402 avatar Feb 03 '25 20:02 Wetzel402

The assist_satellite.start_conversation also not working, tried it with the new Home Assistant voice pe using newest firmware without manual change of code.

lweberru avatar Feb 09 '25 09:02 lweberru

I am working on mqtt integration, not sure if this is the way to go. At the moment I am barely able to send/receive some mqtt topics..

simonsays-techtalk avatar Feb 09 '25 13:02 simonsays-techtalk

Try this in your config:

substitutions:
  name: "m5stack-atom-echo-1"
packages:
  m5stack.atom-echo: github://esphome/wake-word-voice-assistants/m5stack-atom-echo/m5stack-atom-echo.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  
api:
  encryption:
    key: XXXXXXXXXXXXX

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Despite the 'wake word' in the packages line, this can be used to play back audio as a media player, and it can be used for the announce function as well.

Edit: But not for the start_conversation at this time.

cvwillegen avatar Apr 04 '25 13:04 cvwillegen

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.