[Release - Updated 03/06/2019] Squeezebox Integration (Logitech Media Server)


#41

Heya. Are you running the latest version? (I updated the code in Feb this year to make the server calls asynchronous to try to solve a similar issue) Also, are there any errors in the logs?


#42

Hi @bikesquid, this has been working for me without issue on the latest firmware. The only thing I can think of might be that if there are connection issues between the HE Hub and the LMS Server it could be possible that the server polling requests are building up. This could be exhausting the HE Hub's request thread pool (what it probably uses to call out to web endpoints like LMS Server).

If you update the connect app from Github, I have pushed an update to the code which adds a simple mechanism to prevent multiple server polling requests building up. Could you try this version and see if it fixes your issue?

If the issue is slow or intermittent connectivity between your HE Hub and your LMS Server then you will now see the occasion warning message in the log:

Skipping getServerStatus() as previous command has not yet completed

As you can probably tell, I have to guess the best way of working with the HE Hub as there is no documentation that describes the internal behaviour of the HE Hub, and the source is closed. I've tested this on my system and it works (but it worked before so not that useful a test maybe).


#43

@xap, don't think I got any 'update code' message... (I'll figure that out later), but I'm runing code from 14/10/18, so I'll start with updating... by which I assume I copy/paste code as there's no update function for user apps (that I can find). Likely that's my problem,.. odd that it didn't surface till a couple weeks ago tho. In case it helps, on clients trying to connect to the hub IP I get connection refused errors, which by my understanding sounds connected. I'll update and report back. Cheers.


#44

So, there isn't any automated notification from HE when a new version of a user app is released. But you can subscribe to this topic; I make sure to update the first post and title when I release a code update.

It sounds like you may be getting issues with the connection between your HE Hub and your LMS Server.

When two computers interact over the network what happens is that one computer initiates the communication by connecting to the other computer using its address and a 'port' number (from 1 to 65535). Think of it a bit like the computer is a street, and each port is a door on that street. Typically, there are three kinds of errors you see when one computer is unable to talk to another:

No Route to Host

  • there is no computer at the specified address
  • there is a problem with the networking such that the other address is unreachable

Connection Timed Out (or something similar).

  • there is no computer at the specified address
  • there is a computer at the specified address but it has a firewall which is blocking the interaction

Connection Refused

  • there is a computer at the specified address but it is not running any application that is listening for connections on the specified port (remember, that number from 1 to 65535?)

There are other errors, but these are probably the most common you might see with home networking issues.

If you are trying to connect to the HE Hub and getting Connection Refused errors, it would indicate that either you are connecting using the wrong port number, or the address you are using is not actually the HE Hub's address, or the HE Hub is not accepting connections because it has crashed or is rebooting etc.


#45

understood. I'll get back to you once it's run for a day or two....
cheers!


#46

ok @xap, as you predicted I'm getting this: Skipping getServerStatus() as previous command has not yet completed

Now what to do about it?
FYI MY LMS server is running on a synology box that's pretty beefy and not presenting any other connectivity issues i can see, but if you know what to look for on that box that would be helpful I'm wiling! I have verified the port is correct and accessible. The synology is not throwing any network errors I can see....


#47

I'm also seeing this in logs, looks like for each player....:
dev:1372019-04-07 03:00:10.248 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_xap_Squeezebox_Player_169.configure() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl, java.lang.String, null, null) values: [192.168.86.39:9002, b8:27:eb:41:f2:1d, null, null] Possible solutions: configure(java.lang.Object, java.lang.Object, java.lang.Object) (configure)

And BTW, it is still effectively 'locking up' requiring the ol' power cycle fix.


#48

Ah, as you were on quite an old version you need to have updated the player driver as well.


#49

My guess is that something had changed on your network. Are your hub and lms server connected via a wired network or wireless? Have you changed any network settings, or firewall/security settings on the nas box? Are you able to control the players from Hubutat at all?


#50

Crap! Duh....


#51

O[quote="xap, post:49, topic:4489, full:true"]
My guess is that something had changed on your network. Are your hub and lms server connected via a wired network or wireless? Have you changed any network settings, or firewall/security settings on the nas box? Are you able to control the players from Hubutat at all?
[/quote]

All steady for a long time, other than the recent HE updates. I'll pull my head out and update the device driver and well see....


#52

@bikesquid Please could you update your connect app from Github again? I noticed that the sync mechanism I had implemented could sometimes end up in a non-recoverable state where it would constantly think the server polling was busy when it wasn't. I have simplified this such that it will just warn if there are overlapping requests rather than try and block polling requests.


#53

You got it @xap, just the app or driver too?... nevermind, date/time stamp told me what I needed.... updated, should I look for something specific in logs? I"m not seeing anything alarming after fixing the driver the other day.


#54

Thanks. Nothing specific, it should all work happily. If there are connection issues between the hub and LMS it should tell you in the logs. Hopefully no more hub hang ups. Let me know how it goes :slight_smile:


#55

sadly @xap got another hang last night... here's the logs before/after. Everything is hard wired and the NAS is serving up other files at the same time, so I don't think it's a NAS connectivity thing.... ideas? It was around 6pm last night we had to ye'ol reboot....

app:212019-04-11 07:20:20.082 am warnReceived error response [408] : Read timed out

app:212019-04-11 07:20:10.116 am warnReceived error response [408] : Read timed out

app:212019-04-11 07:20:10.024 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-11 07:20:00.047 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-11 07:19:50.024 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-11 03:05:13.880 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-11 02:06:52.153 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-11 02:06:30.368 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-11 02:06:10.170 am warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-10 06:25:52.553 pm warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-10 06:25:40.983 pm warnOverlapping getServerStatus() requests, check network connectivity between HE Hub and LMS Server or consider increasing refresh interval.

app:212019-04-10 03:05:10.462 am warnSkipping getServerStatus() as previous command has not yet completed

app:212019-04-10 02:06:32.410 am warnSkipping getServerStatus() as previous command has not yet completed


#56

I have removed a couple plugins from the LMS that I'm not using which might be involved... DNLA, AirPlay, and upnp, none of which are being used... now all disabled. - Just an FYI


#57

Thank you so much for this!

I am a long time Vera user and just got a Hubitat to play with and this is the first thing I installed for the text-to-speech capabilities. I have a Touch and a Boom, but also plan on running Squeeze Player on dashboard tablets throughout the house. This is working great so far.


#58

I think I figured out one issue, tho it's a relatively new change it's causing some of my issues.

I've got the NAS (where LMS is run from) setup to shutdown overnight. So it appears that the squeezebox integration in hubitat is stacking up network requests.

So @xap I wonder if there is there a way to configure (or add) 'active hours' to this app?


#59

That's not a change I'd be enthusiastic about. It would mean that during those hours the devices would effectively be broken, dependant rules etc simply wouldn't work. Which doesn't really fit the way that the hub seems intended to work.

Shutting down the nas seems a little extreme. Have you compared the energy level it uses when it's idle (usually the disks go to sleep) Vs the energy it uses to shut down and then spin up again?


#60

The NAS setup isn't about power, but it's not important to this issues really. I'm getting lock-ups of the hubitat that go away if I disable this squeezebox integration app. My suggestion was about trying to work though that rather NAS usage. I agree it's not an elegant solution... if it's a solution at all I don't know.

I don't even know if that's part of the lockup issue really....

But I'm seeing a lockup now and then still, tho less frequent. I've removed all the squeeze devices but one, that has improved but not eliminated the issue. Just trying to find a way past the issue.
Appreciate the app and your efforts to help, but I'm going to have to disable it if I keep getting lockups... which is a shame as I like the options it opens up for automations. don't know what else to do....
Cheers.