Not able to select my assist_satellites for announce
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
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 closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign assist_satelliteRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove 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)
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.
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.
Im waiting for this function as well, when does esphome get a update to make announcements via a satelite?
Can the esphome media player component be used to replace this functionality?
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
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, 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.
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.
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
I agree with Andreas-bulling. I came her, to find out I cannot use my wyoming satellites as mediaplayers, to let them announce something.
@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
...
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.
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..
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.
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.