[No Longer Maintained] Squeezebox Integration (Logitech Media Server)

I'll tackle the first question...

On the devices page check the "X" @ the upper right arrow. That shows the 'Disable' column... check dem der tings that you want disabled and, as I understand it, they ain't gonna be involved in nothin no mo.

server doesn't go to sleep and I don't see many of that error in any case, so maybe a fluke. The last question I think answered with 'disabled' above, no?

That's really interesting. I didn't know about that disable function. The way that the app polls is to query the server for the list of players. For each one that is powered on and not excluded from the poll (via the device preference on each player) it asks the server for full details for that player. It looks up the device and then passes that detail to the player device code. I suspect that disabling the player device via the devices page won't stop that process. With the current version of my code I think you need to exclude the players via their preference setting. However, I'll have a look and see if I can detect if a device is disabled and if it is then I'll treat it as excluded from the polling. Watch this space for an update...

OK. I've pushed a change to the github repo. If you re-import the connect app then it won't try and poll details for player devices that have been disabled via the devices page.

There are 3 different ways now to exclude players (choose whichever one suits you best):

  1. Don't select the players to be integrated to HE when you are configuring the app (the app won't create devices for those players at all).

  2. Disable the player devices in the devices page - this will stop the app trying to get status details for those players but also stop you from using those devices at all.

  3. Select to "Exclude from polling" on each player device's preferences. This still allows you to control those players via HE and status will be updated once after sending each command but the player will not be periodically refreshed via the app. (recommended)

Cheers @xap. Really appreciate the efforts! I'll pull that update and we'll see what happens. Didn't realize the 'disable' X wouldn't disable the device :scream:! Sorry for making it even more complicated. Thought I was making it easier by disabling all the devices... hoping to see the unit stay stable for a couple days and then add back in the devices one at a time till either all were enabled or something goes boom.... Wish I could see something in the error logs to narrow down the issue, feels like poking in the dark at the moment. Crossing my fingers your latest efforts resolve the issue.
Thanks much for the support mate.. :beer: :beer:

1 Like

Got mine up and running in no time. thanks!!! unreal how much you can do with it. Thanks so much for your efforts! I have 13 players (mix of real and picore players as the real duets finally die).

1 Like

Would it be possible to add the Join capability to the squeezeplayer devices, similar to the discussion re. grouping Sonos speakers?

I'd like to be able to designate different sets of squeezplayers as named groups within Hubitat. This would be much more convenient than selecting different squeezeplayer devices (from 8, currently) as the targets for different alert rules in Hubitat.

You could use the sync command to group a set of players together and then control any one player in that group to control them all.

I'm not exactly sure what you are suggesting.

I sync & manage audio all the time from the Logitech Media Server web interface or from various apps (Squeezer on android, mostly). That's not my use case on the Hubitat.

Within HE, I'd like to set up several groups of players specifically for alerts. These groups would be different than my synchronized sets that are used for listening to audio.

For example, I'd want a group named "All" for audio alerts sent by HE about things like a water sensor anywhere in the house detecting a leak, but I don't want to keep all players synchronized and playing the same audio under normal conditions.

I'd want another group (2nd Floor + 3rd Floor) to send an audio alert when HE detects that the doorbell has rung (I use the SAGE doorbell sensor) -- that alert shouldn't be sent to the 1st floor squeezeplayer devices since the doorbell is audible there.

These named groups of players would be addressed as audio devices within the Hubitat Notifications or Safety Monitor apps, eliminating the need to enumerate each player for each rule that could generate an audio event.

Just found this, amazing work! I made a thing quite some time ago and still use LMS frequently. Going to find some time to play with this properly. :slight_smile:

1 Like

Pardon the rank newbie question, as I've never installed any user-created apps or drivers.

I get stuck in the instructions at:

"View app/squeezebox-connect.groovy in raw mode (just the source code text)"

That's the very first step. I have no idea where to find this.

Sorry...and thanks.

I think I found it.

  1. Navigate the Github repository for the project to find the file "squeezebox-connect.groovy" within the "app" folder. It's a very small repository, so you can use the "Go to files" option:

  2. Select the file:

3 This will show you the "processed" version. On that page, you can select "raw"

  1. Then copy the actual source code and paste it into HE as a new app.

You can also use the URL to a raw github page directly in HE, by going to Apps Code => New App => Import and entering (copying) the URL rather than the source code. HE will then download the page content.

I feel bad that you missed the post where I'd found it. Very kind of you to put this all together and I'm sure it will help many people.

I now have a working player on my dashboard that allows me to pause/play, change volume, and skip forward or back.

I haven't figured out yet how to select from my library from the dashboard. I'm working on it.

Still being a newbie, I need to teach myself about how I access all this stuff from dashboard icons:

Hi. If you mean how to browse your library from the dashboard then it's not possible. You would need to access the squeezebox server page instead.

Even to select favorites from the dashboard would be good. I'm pretty green. I'll keep digging.

Pulling album art was a piece of cake. Nice!

I've had some luck creating a rule that can be triggered with a button on a dashboard. The trouble is that in creating the rule, when choosing Control Music Player as the action, when I go to Select player command, I'm limited to the ones on the menu. But on the device there are more commands, such as Fav1 through Fav6. I can't figure out how to write the rule to play one of those Favorites, or utilize any of the commands not shown on the Select player command menu.

Can anyone help?

I think the problem is that RM 4.0 no longer has custom commands and I can't do this, from the instructions:

I don't know if anyone else is integrating these players with Google Home but I have been and the inability to tell Google that the players are not actually lights has been bugging me. I have changed the squeezebox-player-alarms-switch to squeezebox-player-child-switch. This altered child device driver is now used both for the optional alarms on/off switch and also to create an optional extra power switch for players. This is only really useful if you want to integrate the players to Google Home but just as on/off switches rather than dimmer bulbs.

If you want to upgrade to this version then you need to add the new child switch device driver.