LMS Controls - Google Home / Home Assistant Voice Command for Squeezebox Players

Hi @ynot, first and foremost, thank you for the extensive effort you’ve clearly put into developing and distributing this package! I’ve been going through all the forums postings and trying to get my HA and LMS setup the way I want using the packages and directions that you have provided. At this point, I’m not interested in doing the voice control via DF and Google Assistant, but I may add that in later.

Right now, I would just like to get things working on my internal network without exposing HA to the internet.

I’m hoping you can help explain a few things, as maybe my expectations are wrong.

  1. I had to setup Lets Encrypt and get a cert as all the curl commands were setup around HTTPS. So I got a cert, configured HA to use HTTPS and my LMS controls started working. Now that I’m on HTTPS though, I can no longer send TTS announcements to my LMS players. This worked on HTTP. Should this work using HTTPS? Am I doing something wrong? I’ve seen many posts on these forums about HTTPS breaking TTS on LMS, so I’m starting to think that its just not possible?

  2. In your code (lmscontrols.yaml), you have Google devices registered as media players, the same as Squeezebox devices. This seems odd to me as the Google devices then show up in the list of devices that I can sync playback over in the Lovelace UI, however the LMS server doesn’t know anything about the Google devices and doesn’t play over them. Am I supposed to do something to setup my Google devices on LMS? Otherwise why are they listed as additional media players? Or did I setup something incorrectly?

Hi,

  1. Yes it appears TTS is broken when using https. Not sure if there is a working solution for this
  2. I use LMS plugin “Chromecast Bridge” which allows Google devices to appear as LMS players.

Hi @ynot, I have been following this thread although have not implemented it yet (laziness).

Just thought you might want or need to know that squeezebox is being refactored in home assistant core. It also has a new codeowner. There are a couple of interlinked pull requests but this is one https://github.com/home-assistant/core/pull/31748

1 Like

Thanks for the heads up. Sounds like much of the query and sync functionality will now be built-in.

Thanks for the info, I appreciate the response!

The plugin in LMS was the missing link for connecting my Google Mini as an LMS device, its been waay too long since I looked through those plugins. Didn’t even think to look there!

As for the HTTPS, that’s unfortunate. I was reviewing some logs in LMS and I think the issue is that the SSL cert isn’t registered on my LMS docker container, but I haven’t figured out how to do that yet. I’m still a pretty big newbie with allot of this stuff, but I’m learning as I go!

I got TTS working again on my Squeezebox players by using NGINX. I just followed @pinkywafer’s advice here:

This is for Home Assistant on Hassio though, using the NGINX Home Assistant SSL proxy add-on. But there seem to be other threads for using NGINX with Docker installations, so I guess it should be possible.

Edit: I should add, I also had to edit @ynot’s shell scripts to use http://

There’s also a thread about preserving the playlist before and after a TTS announcement (using TTS trashes the playlist otherwise):

Im trying to call a service in Developer Tools > Services

entity_id: media_player.squeezebox_radio
command: playlist
parameters:
 - play
 - Radio_2

LMS with home assistant works through the Lovelace GUI when selecting radio stations but not directly from the Services tools, am I missing something here.

I’m running 0.109.6

I am experimenting with LMS (so far really amazing how it works and ease of use) and have stumbled ont this amazing thread. I wonder: does anyone know what the service call is to use the transfer playback of Spotify to a player? I see the action within LMS and can use it, so I figure it should be accessible through a service call right?

Going through the scripts you can see how it’s done on LMS Controls at least. You have to send a request to spotify service with your query (what artist, song, playlist, etc) and the service returns a (or a set of) URI’s which you queue up to the player using the syntax shown in the scripts for LMS. Also there is a home assistant spotify integration which allows you to submit the URI using service call to any player defined in HA. The trick is knowing the URI.

1 Like

I see, but I understand that you’re basically figuring out what the state is of Spotify on said device and send that as a media query to LMS speaker through a command.

But if I understand correctly, it will play the same track, but not really transfer the music right? So play at the exact same timeframe and continue the same playlist.

Not a dealbreaker though, but would have been nice to have.

I just installed squeezebox server, Can anyone share a guide how to use it with HA? like how to start a playlist? i have chromecast bridge plugin :slight_smile:

Hey, just need to add the following to your configuration.yaml. It will add all of the players from your squeeze server. on your dashboard click on the player to open the player interface.

media_player:
  - platform: squeezebox
    host: IP_ADDRESS

Great! Thx =)
Can you share a automation you use for music/playlist?

This is old style. You can add the squeezebox simply via UI. This can be found in Settings/Integrations.

Hi guys, i ve just finished to configurate LMS and squeezelite on my rasbian. i have homeassistant running on rasbian (same raspberry 4 there is any guide can read to configurare lms controls on home assistant (no hassio)? i saw only regarding hassio.

Thanks!

Hi !
I’m looking for a way to choose which squeezebox I want to synchronize together, and which music source playing on which squeezebox.

In short, I would like to setup something like this:

This project seems to fit my needs, but I don’t want to expose my HA on the internet, et I don’t need vocal commands. Is there an easy way to configure LMS controls without all the google command side ?

Where could I find some informations ? Is there an other existing integration that does this ?

Yes you could certainly make this work without the voice side of things and without exposure of HA to the internet. Basically form the installation instruction on the Github:

  • Skip the duckdns part
  • Your URL will be a local URL instead of ducknds based one
  • Skip the Dialogflow stuff as well (for Google)

That should do it. The installation instructions at the Github are a bit dated but should be fine for the most part. Good luck.

@lucaera No guide, but install in a similar fashion should be good.

Thank you so much for your answer ! :pray: