I have an M5Stack Atom Echo as a speaker for wake word Voice Assist. What I am looking to do is to use this as the input device, but for the output (response), I want that to be piped to a different speaker (different speaker for each atom echo device). I am gathering that the yaml config needs to be modified however I am so new to this that it is far above my head at the moment. I would love it if someone who has figured this out would be willing to share their setup, documentation, tutorials, or anything.
#M5Stack Atom Echo as mic, other media_player as response speaker
1 messages ยท Page 1 of 1 (latest)
After the "on_tts_start:" section I added this
on_tts_end:
- homeassistant.service:
service: media_player.play_media
data:
entity_id: media_player.vlc_telnet
media_content_id: !lambda 'return x;'
media_content_type: music
announce: "true"
It now responds on a speaker connected a speaker connected to the headphone jack.
ok, so I'm very new to ESPHome... (first ever device).
I have ESPHome in the side bar of homeassistant, and if I go there, I see the atom echo.
Currently, my assumption is to click 'edit' on the device there and to add the config in the yaml.
To make it take effect, what do I need to do? Save it? Install?
Un-plug and re-plug? restart HA? (sorry for my ignorance).
You think your method would work for any media_player? (connected via wifi)
Please go to YouTube and watch couple "ESPHome for newbies" videos. That will save you and others plenty of time.
If you do not wish to waste your time, you are not required to answer any of my questions.
You especially should not waste your time to answer if you're not going to provide anything useful.
The only person here that can manage how you spend your time is you. ๐
Well, i hope to save not only my time, but yours and everyone else too. There's no offense in my suggestion - there's just too many tutorials out there to ignore them. And by watching them you'll have much more comprehensive and full understanding of ESPHome, than from scattered comments here. ๐
formatBCE is trying to teach you how to fish, instead of just handing you a fish.
Homeassistant is a collection of primitive things that we get to glue together.
Youtube videos are a very good way to have your hand held. And it can help us help you if you were to come back and say "I watched this video <link> and I don't understand X"
But getting snarky with someones attempt to guide you to self sufficiency isn't going to win you any friends or support
ESP home has it's own discord as well, so getting any support for ESPhome here is a bonus ๐
To answer your question, you would click "install" after updating the yaml, and then you would choose your install method
https://discord.gg/M9Gs7K4t <- this is the ESP home discord. They're very helpful over there as well
I specifically asked for documentation, tutorials, etc that people found helpful. I have been searching and reading, and watching, and trying for days prior to posting.
When you teach someone to fish... You don't just hand them a rod and say "now go fish".
It actually involves a guided hands on approach.
What would have been more helpful to me is... "here is some specific documentation that is helpful for your specific needs", or... "this is a specific video I watched that was helpful".
he didn't hand you a rod
he said go watch some videos on how to fish
You're asking for specific answers to vague questions
you're expecting to say "i'm hungry for fish" and have someone tell you "go to these gps coordinates with this equipment at this time of day with this bait etc"
Want to learn to fish? Simple: go learn it. Now you know how to fish.
but it comes accross that you're not even sure what kind of fish you want to eat
If it comes across that I am unfamiliar with that I'm doing, that's because I intentionally made that known.
I'm not interested in continuing this conversation. I started in good faith, but it seems you're frustrated and prefer to lash out than to hear the help
It's very clear you have no idea what you're doing
I asked for help from people who are willing to point me in the right direction. I wasn't hoping for just a bunch of criticism.
You got that
You were given a valid suggestion. Perhaps you misread the tone, and assumed somone was being derisive or condescending, but that's not the case
The suggestion was made to watch some tutorials because you'll likely learn what you need faster than waiting for someone to care enough to hold your hand
It wasn't personal, it's a common suggestion
What I read was: "go figure it out on your own and stop wasting my time" from someone who didn't have to answer at all.
You can choose to interpret it that way
And, I have been watching them... Many of them, and I'm still stuck.
Do you think you could have maybe asked "Do you have a tutorial you'd recommend?"
instead of complaining that they tried to help?
That was the initial question... I posted that prior to the answer.
What specifically are you stuck on now
1.) my m5stack atom echo constantly is unresponsive.
2.) Use the atom echo as a wake work voice assistant. (got this working, but see 1.)
3.) I'd like to modify the config to output the tts response to a media_player entity rather than using the on board speaker.
I followed a tutorial for the 2nd bullet, and it works even though it's highly unreliable. It did t go over editing the config, or any of that.
For the 3rd. Bullet, I have watched many intro videos to esphome and am at a loss for how to manage the config, or even how the config works. I've been trying this for a couple days. I have put together a config that *should work, it installs, it validates, but... The device stays offline after.
The only way I'm able to get it to do anything is if I specifically follow the $13 atom echo alexa replacement tutorial.
So, it may be that your atom is having trouble staying connected to the network
What I would like is some documentation that covers working with atom echo in this capacity, and what the various parts of the config do.
General documentation on working with the config and what it does/how it works that isn't built on assumed knowledge.
What you might want to try is "Manual download"
There isn't any documentation on it
it's all in the ESPHome docs
you have to put together the primitives
that's the documentation you're asking for
There is no assumed knowledge because that's the repository for all that knowledge
Are you using the little white atom_s3 echo from m5stack?
M5stack atom echo, esp32, c008-c
m5stack-store
ATOM ECHO is a programmable smart speaker.This eps32 AIoT Development Kit has a microphone and speaker for AI voice interaction light and small. It can be access AWS, Baidu, ESPHome and Home Assistant - the year of voice,and other cloud platforms, it can also be used in realizing voice control, storytelling and others.
looks like what I have
my config: https://hastebin.com/share/ededirojoj.yaml
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.
it validates, it installs, but then it stays offline
based on this: https://github.com/esphome/firmware/blob/807c9b576a7b8e32d78e40b7af98922256586001/wake-word-voice-assistant/m5stack-atom-echo.yaml
That's the config I have that is working right now
I put that file in my esphome config directory
Following this tutorial I am able to get it online and working, however, after working for a day and changing nothing, it will stop responding and only timeout or flash red.
and restart esphome
Hmm, I haven't had that happen myself
but that makes me think it's not staying on your wifi
do you have a mixed 2.4/6ghz wifi that uses the same ap name for both?
my network is behind adguard home, would that cause issues?
I have 2.4 and 5ghz that share same ssid
the wifi
that's' the problem
I had a similar issue with my shelly dimmers
they'd go offline if I had the same SSID for 2.4 and 5GHz
There is a foolish way here, m5 generates a text sensor, and every conversation response text is displayed on the ha frontend. You just need to call the automation tts text. You can use any media player for TTS. As long as you are willing.
I turned off 5Ghz and all those problems went away
Also, I want to take what the first response provided, and integrate it with the config you pasted, or that I pasted...
see in my gist
there is on_tts_start
you would put that code in the same area, formatting in YAML is essential, the spaces/indents matter
so, if you look at the config I posted, is it wrong?
looks correct to me
formatting wise
as for it working, I can't say. but the format looks correct
ESPHome wont compile it if it's wrong
it will tell you
but get your wifi sorted, and this will all be easier
just re-configured the wifi and it worked, now I have this:
clicking adopt:
skip:
clicking close, I now have this... but it remains completely unresponsive.
clicking close, I now have this... but it remains completely unresponsive.
See what logs say on the online device ๐
I ended up doing the manual download and installing with web.esphome.io
according to my Access Point mapping, the atom echo has an excellent connection to the 2.4ghz wifi.
when you say manual download and install... you had a .bin file?
Here's a specific question:
When I install the config on the atom and it uses a package:
substitutions:
name: atom_echo_mancave-a0d114
friendly_name: Atom Echo
packages:
m5stack.atom-echo-wake-word-voice-assistant: github://esphome/firmware/wake-word-voice-assistant/m5stack-atom-echo.yaml@main
How do I add something like this to the config:
on_tts_end:
- homeassistant.service:
service: media_player.play_media
data:
entity_id: media_player.vlc_telnet
media_content_id: !lambda 'return x;'
media_content_type: music
announce: "true"
When I open the config, it is a really short truncated config. My assumption is that it's relying on the package for the rest of the things. So, I'm confused how to customize the config and also use a package.
So you need to use the full yaml, which is why I linked mine
and yes, I mean the bin file. you want the newer formated file type, and then you can click the 'Install' link on the web.esphome.io site after plugging in your atom
Just so that I'm understanding...
1.) I click edit on the device in the ESPHome tab of homeassistant.
2.) I paste the full YAML
3.) I modify things to match my setup
4.) I save
5.) I hit install
6.) I choose plugged into this computer
7.) when it is done, I hit close.
Here are issues I've been having trying to do this:
1.) invalid authentication key
2.) unable to resolve IP
3.) offline
4.) online, but also... a new discovered device as well? (I only have 1)
I have done a lot of things, and while they all are a bit difficult to understand up front, this one so far takes the cake.
I think I am really close... I am trying to use an existing amazon echo as my speaker, so... added complexity. ugh
Also, it must be said: I appreciate all the help. Much appreciated. Sorry for the frustrated start.
I got it working with sonos... but alexa echo I think has an extra layer of complexity due to limitations of playing locally hosted mp3... Ugh
My working config.
https://hastebin.com/share/noveniceri.yaml
Hastebin is a free web-based pastebin service for storing and sharing text and code snippets with anyone. Get started now.