Music server for ESPHOME speakers (unsupported by Music Assistant)

Would love to hear real experience, what do you use for your ESP speakers as a server for your local music library?

With the Home Assistant’s standard tools we can play files one by one, it can’t play a folder or playlist, and I understand why.

Music Assistant doesn’t support playback on ESPHome speakers.

Many services such as Plex are based on third party sites. I have a local music library and don’t want to depend on a third party site to listen to it.

So, I’m looking for a solution:
a completely local and standalone;
that doesn’t use paid or third-party services;
that supports ESPHOME speakers;
with playlists, random playback, by artist, genre, all the usual stuff.

Is there no such thing, or am I looking in the wrong place?

Logitech Media Server

LMS and PicorePlayer is probably the most flexible and has bridges to most platforms. Squeezelite installed on players is the best solution. I do not use ESPHome speakers and would need some research.

Thank you for your reply. Yes, I have researched that Squeezelite gives more possibilities as a media player. But on the other hand, ESPHome allows you to make not just a speaker as a source of music and voice messages, but also to embed climate sensors, buttons, LED indicators for notifications and statuses, time or weather displays, voice assistant and so on. As far as I understand, Squeezelite is a firmware with fixed features, while ESPHome allows a lot of customizations. By assembling ESPHome firmware from components I can make a very flexible device in its functions and settings.

Might be worth joining some of the other threads. I think a lot of other people are doing the same thing. You have got me interested and will investigate. I have around twenty speakers/ players in my LMS network; I need to expand my knowledge

Well, it’s just a weird position to be in. Home Assistant created Voice Assistant as a great alternative to off-the-shelf smart speakers. It’s not hard to make such a device yourself from very cheap components, and that’s great, especially since it can all work autonomously without using any brand’s cloud services. But at the same time, the use of such a homemade speaker is limited by the fact that I can’t make it play music from my collections, as it can’t play playlists. All that can be successfully used at the moment are streams of internet radio stations.
You have to agree, this lack of functionality can be frustrating, as it feels like an unfinished product. I’m looking for solutions, but so far I haven’t found any movement in that direction. Of course, everything depends a lot on the developers of Home Assistant and ESPHome.
I understand that to play playlists obviously you need to know at least the current playback position, track duration, which is not implemented now. All Home Assistant does is to send a link to the media file to ESPHome speacer and does not (and cannot) control further playback. All we see is the status: play or idle. We can’t see why the status has changed. We don’t see the tags of the media file, we generally don’t know what media file is currently playing if the speaker has a play status. And this is a dead end for use with most media servers. Unless they create a continuous stream from the folders we specified. In fact, we have to create some sort of our own internet radio station.
Or ESPHome speaker will at least start letting us know what it is doing at the moment, more than just play or idle.

Andrey I have been on a similar mission … not ESP hardware, but trying to get a music player and Voice Assist running together on the same RasPi hardware.

I do understand your conclusion because it is most often mentioned in association with piCorePlayer (squeezelite on a minimal OS), there are so many similar-named products, and the many hardware devices released over the years to work with Logitech Media Server. Squeezelite is software client which can run on many hardware platforms including RasPi and ESP32.

I can feel the total frustration in your Mar 11 post - and I have been there more often than I want to remember - so I expect that you do realise Voice Assistant is a work in progress, and is nowhere as simple as you suggested.

I am also particularly frustrated that
(a) wyoming-satellite (on RasPi) uses a speaker but provides no media_player interface, and
(b) playlist don’t work for local files. Apparently that’s OK because the developers only listen to spotify and streamed radio :wink:

1 Like

I had long forgotten about this, but in fact this topic is no longer actual since Music Assistant already supports ESP speakers.

I’ve played around with voice assistant, but I haven’t found a serious use for it. We need a powerful server to make the response time adequate, you need to mess around with models or use paid cloud services. We need to name each entity correctly so that HASS understands what I want it to do. I don’t need it enough to devote a lot of time to it. I was primarily interested in the music part. When I created this thread, MASS didn’t support ESP speakers yet, but after some time I found out that they appeared in the list of supported, and now I’ve configured the Music Assistant and Jellyfin media server, so the music issue is solved. As for the voice assistant I haven’t dived into the subject yet, it’s serious and for the long-term )

Hello, can you point me out to some documentation or tutorial on how to pair esphome speaker and MusicAssistant? I only can use squizelite with Music Assistant. I know there was an issue in github regarding adding back support for esphome speakers, but I can’t find it anymore.Thank you

@ge0rge86 Music Assistant have native support of Home Assistant MediaPlayers, it’s on “Player providers” section of MA config


You have to “Add player provider”, choose “Home Asssistant” and then add your devices (player entities)

1 Like