Voice PE controls devices, but won't play any media, including tts

For some context, I migrated from a Home Assistant Green, to a Home Assistant container from the TrueNAS app catalog, where I originally set up my Home Assistant Voice Preview Edition (Voice PE). My speaker worked just fine in that setup, but I ran in to many other issues running Home Assistant this way, so I finally gave up and moved to a VM running HAOS, restoring a backup from the TrueNAS application.

After some futzing, this solved most of my issues, but I can’t get my Voice PE to work correctly. When I connect it directly to Home Assistant, it can at least control devices, but it won’t respond audibly other than the wake sound, and I’m unable to play any kind of media on it (even speech-to-text). When I adopt it in ESPHome it’s even worse, it seems to respond to my voice but it immediately stops listening; basic control doesn’t even work.

One strange thing I’ve noticed, when it shows up as adoptable in Home Assistant, it goes through some kind of loading screen, then immediately fails to “Entity not available.” It also always gets re-added to Home Assistant with the name that I specified (“Office Speaker”) which I find somewhat odd after a factory reset. One final note, when I go in to the device’s settings, and click “Set up voice assistant,” it shows the initial loading screen, then crashes to “The voice assistant is unable to connect to Home Assistant.”

I’ve made sure my internal IP is correct, the VM is attached to a “bridge” network and mDNS is working, I’ve tested media/tts playback on other devices (over Google Cast) and that works fine, I’ve tried resetting it a number of times, removing it from Home Assistant every time of course, I’ve tried updating it via USB, I’ve set up “ESPHome Device Builder” and taken control there to see if anything useful would appear, but no matter what it doesn’t seem to work.

I did some research and found that it could be related to missing MIME types, but I’ve also wondered if it might be something about some kind of “ghost” entity that it’s trying to reference after being migrated from a TrueNAS app to a VM.

Would appreciate some help!

Solved it! Based on the strangeness of the automatic name (“Office Speaker”), I started researching how that works. Found a “esphome” directory in my HAOS config directory, and there, an archive folder with a backup of the Voice PE settings.

To fix it, I removed the device from Home Assistant, deleted the archived file, restarted Home Assistant, reset the Voice PE, reconnected it, and now it’s working great!