#Ok, no problem
1 messages · Page 1 of 1 (latest)
is this a new one ?
Yeah
But give it a once over, I'm good at mistakes
So I don't really know what I'm talking about, but I noticed the stock yaml is inconsistent in how it calls for voice assistant to start. I used to have the same problem, and now I don't. I made a lot of changes to my yaml though for completely unrelated things, but one of the things I did change was make the calls to start consistent.
Maybe that's the problem, maybe not.
Hmm, worked once , not again
[11:02:03][D][voice_assistant:422]: State changed from STOPPING_MICROPHONE to AWAITING_RESPONSE
[11:02:04][D][voice_assistant:529]: Event Type: 4
[11:02:04][D][voice_assistant:557]: Speech recognised as: " Turn on backyard."
[11:02:04][D][voice_assistant:529]: Event Type: 5
[11:02:04][D][voice_assistant:562]: Intent started
[11:02:04][D][voice_assistant:529]: Event Type: 6
[11:02:04][D][voice_assistant:529]: Event Type: 7
[11:02:04][D][voice_assistant:585]: Response: "Turned on light"
[11:02:04][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:02:04][D][light:051]: Brightness: 100%
[11:02:04][D][light:059]: Red: 0%, Green: 0%, Blue: 100%
[11:02:04][D][light:109]: Effect: 'None'
[11:02:04][D][voice_assistant:529]: Event Type: 2
[11:02:04][D][voice_assistant:619]: Assist Pipeline ended
[11:02:04][D][i2s_audio.speaker:161]: Starting I2S Audio Speaker
[11:02:04][D][i2s_audio.speaker:164]: Started I2S Audio Speaker
[11:02:04][D][i2s_audio.speaker:167]: Stopping I2S Audio Speaker
[11:02:04][D][i2s_audio.speaker:178]: Stopped I2S Audio Speaker
[11:02:04][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:02:04][D][light:051]: Brightness: 60%
[11:02:04][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
Which part of the yaml makes it start listening again ?
is the switch for use wake word on?
It's handled internally through "start_continuous"
I think it's broken, internally
as long as "use wake word" is on, and "assist in progress" is off, it should start the loop again after doing the response
you mean in Assist setting ?
on the entity itself for the echo
yes it is on, just checked
and the "assist in progress" sensor is off?
yes, it is off
I did
is it scrolling now?
no
hold down the top button while watching the logs, should be about 10 seconds and you'll see movement
which top button ?
on the echo
INFO Processing expected disconnect from ESPHome API for m5stack-atom-echo-9d86ac @ 10.1.0.234
WARNING Disconnected from API
INFO Successfully connected to m5stack-atom-echo-9d86ac @ 10.1.0.234 in 3.184s
INFO Successful handshake with m5stack-atom-echo-9d86ac @ 10.1.0.234 in 0.288s
[11:14:06][D][voice_assistant:422]: State changed from IDLE to START_MICROPHONE
[11:14:06][D][voice_assistant:428]: Desired state set to WAIT_FOR_VAD
[11:14:06][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:14:06][D][light:051]: Brightness: 60%
[11:14:06][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
[11:14:06][D][esp-idf:000]: E (9186) I2S: i2s_driver_install(2026): I2S set clock failed
wait but it started scrolling
I gave it command that it didn't understand, then stopped
now it's stuck on this:
[11:16:46][D][i2s_audio.speaker:164]: Started I2S Audio Speaker
[11:17:26][D][i2s_audio.speaker:167]: Stopping I2S Audio Speaker
[11:17:26][D][i2s_audio.speaker:178]: Stopped I2S Audio Speaker
[11:17:26][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:17:26][D][light:051]: Brightness: 60%
[11:17:26][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
Alright. Push that top button for 1 second then release and see if it starts back up
doing that should run this part of the yaml under binary_sensor:
- delay: 1s
- script.execute: reset_led
- script.wait: reset_led
- voice_assistant.start_continuous:```
[11:16:46][D][i2s_audio.speaker:164]: Started I2S Audio Speaker
[11:17:26][D][i2s_audio.speaker:167]: Stopping I2S Audio Speaker
[11:17:26][D][i2s_audio.speaker:178]: Stopped I2S Audio Speaker
[11:17:26][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:17:26][D][light:051]: Brightness: 60%
[11:17:26][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
[11:19:07][D][binary_sensor:036]: 'Button': Sending state ON
[11:19:07][I][ota:117]: Boot seems successful, resetting boot loop counter.
[11:19:07][D][esp32.preferences:114]: Saving 1 preferences to flash...
[11:19:07][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[11:19:08][D][binary_sensor:036]: 'Button': Sending state OFF
[11:19:09][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:19:09][D][light:051]: Brightness: 60%
[11:19:09][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
scrolling or still just stopped there?
stopped
hmm it didnt' signal the stop and then start
I tried again, but it stopped at the same point
share the logs again, starting with button on
[11:24:27][D][binary_sensor:036]: 'Button': Sending state ON
[11:24:28][D][binary_sensor:036]: 'Button': Sending state OFF
[11:24:29][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:24:29][D][light:051]: Brightness: 60%
[11:24:29][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
so reset_led is executing
voice_assistant.stop: is not
I think whatever is happening internally with start_continuous is broken
There's only 1 other thing I can think to try, which is to change the platform
sec
what do you mean ?
I mean framework. At the top of the yaml you'll see it's framework type esp-idf
It can also be run as type arduino, with some other tweaks
Changing that will make it interpret/run code a little differently.
with the esp code
yeah jsut the device
I don't know that, it's a hunch
Alright this changes the platform to arduino. In arduino there's no such thing as "speaker" so we have to create a media_player and tell it to use that instead. The other changes are related to that.
All the original stuff is just commented out so you can see where the changes are.
You'll see it will add a media_player entity to echo, but you can't use it as a generic media player... it won't play anything while wake word is on.
do I need to reboot HA after Yaml change ?
no
if you watch the entity page for your echo in a different window you'll actually see the media player pop in
after installing the yaml and the echo reboots
Alright, sorry I don't know then. You may want to take the yaml all the way back to orginal and see if the people on the esphome discord that are smarter than me have any ideas
ok, thank you for your time, really appreciate trying to help
So, besides Atom Echo, what are some devices people use for this? Is there something like a nice standalone speaker that works ?
That's a good question and I know there's stuff out there. The only one I know for certain is the ESP Muse Luxe
https://www.amazon.com/RASPIAUDIO-ESPMUSE-Development-Speaker-Microphone/dp/B09N3S9S29
I haven't used it, don't know anybody who has. I don't know that it doesn't just have the same problem.
Hmm, you would think someone would jump on this and developed something
oh something I forgot to ask, if you still have that arduino framework on the echo... when you press that top button for at least 1/4 second and then release, it should stop voice assist, and then restart voice assist
[11:57:04][D][binary_sensor:036]: 'Button': Sending state ON
[11:57:06][D][binary_sensor:036]: 'Button': Sending state OFF
[11:57:07][D][light:036]: 'M5Stack Atom Echo 9d86ac' Setting:
[11:57:07][D][light:051]: Brightness: 60%
[11:57:07][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
It should look like this
[10:56:58][D][binary_sensor:036]: 'Button': Sending state OFF
[10:56:58][D][voice_assistant:522]: Signaling stop...
[10:56:58][D][voice_assistant:422]: State changed from STREAMING_MICROPHONE to STOP_MICROPHONE
[10:56:58][D][voice_assistant:428]: Desired state set to IDLE
[10:56:59][D][voice_assistant:529]: Event Type: 0
[10:56:59][E][voice_assistant:656]: Error: no_wake_word - No wake word detected
[10:56:59][D][voice_assistant:522]: Signaling stop...
[10:56:59][D][voice_assistant:422]: State changed from STOP_MICROPHONE to STOP_MICROPHONE
[10:56:59][D][voice_assistant:428]: Desired state set to IDLE
[10:56:59][D][voice_assistant:422]: State changed from STOP_MICROPHONE to STOPPING_MICROPHONE
[10:56:59][D][light:036]: 'Atom Echo Office' Setting:
[10:56:59][D][light:051]: Brightness: 100%
[10:56:59][D][light:059]: Red: 100%, Green: 0%, Blue: 0%
[10:56:59][D][voice_assistant:529]: Event Type: 2
[10:56:59][D][voice_assistant:619]: Assist Pipeline ended
[10:56:59][D][voice_assistant:422]: State changed from STOPPING_MICROPHONE to IDLE
[10:56:59][D][light:036]: 'Atom Echo Office' Setting:
[10:56:59][D][light:051]: Brightness: 60%
[10:56:59][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
[10:57:00][D][light:036]: 'Atom Echo Office' Setting:
[10:57:00][D][light:051]: Brightness: 60%
[10:57:00][D][light:059]: Red: 100%, Green: 89%, Blue: 71%
[10:57:00][D][voice_assistant:422]: State changed from IDLE to START_PIPELINE
[10:57:00][D][voice_assistant:428]: Desired state set to START_MICROPHONE```
It always stops at the same point, with both platforms
see how after my button press it reads "signaling stop"
yes, how come I don't get that ?
Mine is on arduino and that works
i forgot to check that with yours after chaning to arduino
My guess as to why it didn't work for you... you'll see these commands in the yaml "- voice_assistant.start_continuous:" That triggers the code-driven loop. I think there's an issue in that code, and it's getting stuck/hung/whatever you want to call it. So that brief button press calls this:
- delay: 1s
- script.execute: reset_led
- script.wait: reset_led
- voice_assistant.start_continuous:```
anything starting with voice_assistant is making requests of that code, which if it's stuck/hung/whatever wont' be responsive. the stuff starting with script is outside of that, and we did see the reset_led work.
you can try the button right after boot while the loop is still looping
and confirm that you see signal to stop, and then it starts looping again
and then maybe, while on the arduino framework, those signals will still work even if it stops looping. If it does, then you can try putting those signals in other places to have it automatically stop/start after every command
not a fix but a work-around.
So yours is working just fine ?
Mine was having the same problems, but I changed mine to arduino and I'm doing a bunch of stuff in node-red where I'm toggling the wake-word off and on a lot to handle custom responses
Now mine has a completely different problem, where on boot it throws an error about no wake word detected and spams that error as fast as it can process. I have to manually stop it and start it to get it to chill out any time it boots.
By the way, have you seen any errors in whisper logs?
I haven't looked
I remember reading some comment a while back about how he pipeline will stop if whisper gets upset or something to that effect
see if the add-on logs there look clean just to be sure
there is nothing logged
It can take a minute to load, there should be something..
No logbook events found.
it's faster-whisper logbook, right?
I have another echo, brand new, I might try another clean new install
yeah worth a shot
Rob's idea to remove esp_adf: at the bottom of the yaml is a good one but we had to do that when switching to arduino platform.
Am I doing it right? When I change the YAML, do I need to also install it to the echo ?
yes
you don't have to save it, you do have to install it
HAHAHA
save it is more like "save it for later"
can you message me directly? can do better copy paste and whatnot that way.
then send me your current yaml and whatever the error is when you try to install it
give me a minute, trying installing with that line and I'll see if it works
ok
failed install