Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JuPnP failing - causing devices to go offline #5892

Closed
morph166955 opened this issue Aug 5, 2019 · 383 comments
Closed

JuPnP failing - causing devices to go offline #5892

morph166955 opened this issue Aug 5, 2019 · 383 comments
Labels
bounty Issues with a Bountysource reward and the PRs that solve these external bug A problem or unintended behavior of an external library

Comments

@morph166955
Copy link
Contributor

morph166955 commented Aug 5, 2019

Refer to https://community.openhab.org/t/too-much-time-before-a-sonos-thing-becomes-definitively-online/62214

For no observed reason, JuPnP seems to fail randomly and cause things to go offline. Sonos speakers seem to be the biggest culprit. Once this condition is reached, all things that rely on JuPnP seem to fall offline quickly. I've seen this happen between 3 days and 2 weeks, no specific time length causes the failure.

This can be mitigated currently by having a rule monitor getThingStatusInfo(mything).getStatus().toString() and when it goes offline it executes "executeCommandLine(”/usr/bin/ssh -p 8101 -i /home/openhab/karaf_keys/openhab.id_rsa openhab@localhost bundle:restart org.jupnp", 120000)"

@wborn
Copy link
Member

wborn commented Sep 14, 2019

Do you think this issue should be solved in openhab-core or the jupnp library @lolodomo?

See also: eclipse-archived/smarthome#6779

@lolodomo
Copy link
Contributor

I am not 100% sure, my analysis was done several months ago. But I guess it is more a bug in the JUPnP library. If it was a bug in the openHAB core framework, I would have probably already fixed it.

@wborn wborn added the external bug A problem or unintended behavior of an external library label Sep 14, 2019
@wborn
Copy link
Member

wborn commented Sep 14, 2019

Thanks! It might help to also create an issue for this in the jupnp issue tracker.

@jaywiseman1971
Copy link

https://community.openhab.org/t/oh-2-4-0-m7-sonos-online-and-immediately-offline-again/59253/11

@jaywiseman1971
Copy link

jaywiseman1971 commented Jan 29, 2020

Sonos & jUPNP Bounty to Resolve Communication Errors on OpenHAB

Environment:
OpenHAB 2.4
Sonos Binding (tried 2.4Mx to 2.5.0.201903252254)
jUPNP Binding - 2.5.2

Sonos Devices:
10 Sonos One's (4 in pairs)
4 Sonos Amp's
Runining latest firmware on speakers and the latest Sonos Application version

This situation below has been happening to me and others for over a year now.

OpenHAB Forum Postings:

https://community.openhab.org/t/sonos-communication-error-after-speaker-firmware-update/84135
https://community.openhab.org/t/oh-2-4-0-m7-sonos-online-and-immediately-offline-again/59253
https://community.openhab.org/t/too-much-time-before-a-sonos-thing-becomes-definitively-online/62214
https://community.openhab.org/t/sonos-things-offline-after-some-time/88870

Scenarios:

  1. Fresh start of OH everything is fine between startup till around 24 hours with starting/stopping/pausing Sonos either via the Sonos App or rules for Sonos. After X hours; units will go into Communication Error states and sometimes recovery. What I have noticed when it does recovery; its exactly 10 minutes from when it went into Communication Error state. If a unit doesn't recovery then the rest of the units will soon after go into Communication Error state.

  2. Restarting the Sonos Binding does NOT recover the Sonos THINGS. They sit in a Error Handler State after a Sonos Binding restart.

  3. Restarting the jUPNP Binding does recover the Sonos THINGS but then puts other THINGS in a bad state which they do NOT recovery from. There is a posting about restarting JUPNP as a solution to the Sonos Communications Error state.

https://community.openhab.org/t/too-much-time-before-a-sonos-thing-becomes-definitively-online/62214/16

  1. There is a recommendation on the Sonos binding and a discussions about setting the TTL higher on the Sonos Devices which I tried and this did NOT resolve it.

https://community.openhab.org/t/oh-2-4-0-m7-sonos-online-and-immediately-offline-again/59253/9

I have turned on DEBUG logging on the Sonos binding and have NOT seen anything that shows a direct result of this Communication Error behaviour. I believe this issue to be a situation where both the 2 bindings (Sonos and jUPNP) are at fault partially.

Best, Jay

@cweitkamp
Copy link
Contributor

Thanks for adding the big bounty @jaywiseman1971!

For the bounty see: https://www.bountysource.com/issues/80365719-jupnp-failing-causing-devices-to-go-offline

@cweitkamp cweitkamp added the bounty Issues with a Bountysource reward and the PRs that solve these label Jan 31, 2020
@morph166955
Copy link
Contributor Author

I decided to turn on jupnp debugging for a few minutes while my Sonos PlayBar was in a bad state. Every second I get this message set:

2020-02-02 13:40:34.657 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://REDACTED:1400/DeviceProperties/Control
2020-02-02 13:40:34.657 [DEBUG] [org.jupnp.transport.spi.StreamClient] - Will not attempt request because it failed in the last 600 seconds: (OutgoingActionRequestMessage) POST http://REDACTED:1400/DeviceProperties/Control

Then, every 600 seconds I get:

2020-02-02 13:44:11.804 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://REDACTED:1400/DeviceProperties/Control
2020-02-02 13:44:21.804 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://REDACTED:1400/DeviceProperties/Control

2020-02-02 13:54:22.222 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://REDACTED:1400/DeviceProperties/Control
2020-02-02 13:54:32.222 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://REDACTED:1400/DeviceProperties/Control

A CURL (with POST) to the URL gives me:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault>s:ClientUPnPError401</s:Fault></s:Body></s:Envelope>
NOTE: I get this from ALL Sonos speakers I have. I'm not sure if I'm missing something on the query to get a bad authentication.

I have verified that I have <1ms ping times to the bar (no packet loss) and they are on the same network so the Sonos TTL=1 is not an issue here.

I let this go for about an hour with the same result. Then I restarted OH2. All of my speakers immediately came online and are stable. Given this, I do NOT believe the issue to be the Sonos itself as a "random" restart of OH2 should not clear out the issue on the Sonos.

Going through the debug of the OH2 restart it looks like OH2 effectively registers as an endpoint with the Sonos speaker. My assumption (since I can't just make one fail at will) is that this registration becomes invalid at some point. Assuming that this theory is correct, at this point I would suggest that the Sonos binding be modified to detect this issue and "self heal" by restarting the registration process with that specific speaker when the HTTP request to the control URL fails to reply.

@lolodomo
Copy link
Contributor

lolodomo commented Feb 3, 2020

Are you powering off sometimes your Sonos devices?

@morph166955
Copy link
Contributor Author

They are almost never powered off. Software upgrade reboots would be the exception. I don't think my playbar has been unplugged in over a year.

@morph166955
Copy link
Contributor Author

Is there any way to adjust the 600 second wait/hold timer on JuPnP so things at least come back faster when this happens?

@jaywiseman1971
Copy link

Is there anyway to exclude devices (Sonos Units) that the JuPnP binding tries to update the status on. Just another option to keep the Sonos devices online with openHAB.

Best, Jay

@lolodomo
Copy link
Contributor

lolodomo commented Feb 12, 2020

If the JUPnP library sees devices as offline then any binding using UPnP commands will not work properly for these devices. So the last suggestion makes no real sense IMHO.

@lolodomo
Copy link
Contributor

lolodomo commented Feb 12, 2020

Does this problem concern everybody or just few users ?
I never noticed it on my side. At the same time, I am not checking the status of my things all the day lol
If this problem concerns only few users, it might be a good idea to identify what could be the origin, Maybe something relative to an "unstable" network ?

@jaywiseman1971
Copy link

good idea to identify what could be the origin

I'd be happy to provide any logs you want; please let me know what logging you want DEBUG enabled on?

My network is extremely solid with 3 Unifi AP's and and 3 Sonos Connect's all on the same subnet. I never have music drop outs on my 14 Sonos units due to connectivity/routing. As you can see; below this has been happening for quite some time now.

Everything works fine when OH is restarted from scratch then unidentified things trigger the Sonos units to go offline into communication-error status. Sometimes they will recover (usually after 10 minutes). Certain Sonos related activities trigger a domino affect like starting and stopping Sonos units across the house (this starting/stopping can either be by the App or via OH rules) seems to make it worse quicker.

https://community.openhab.org/t/sonos-communication-error-after-speaker-firmware-update/84135
https://community.openhab.org/t/oh-2-4-0-m7-sonos-online-and-immediately-offline-again/59253
https://community.openhab.org/t/too-much-time-before-a-sonos-thing-becomes-definitively-online/62214
https://community.openhab.org/t/sonos-things-offline-after-some-time/88870

Best, Jay

@jaywiseman1971
Copy link

jaywiseman1971 commented Feb 12, 2020

Hey @lolodomo,

Just turned on DEBUG on org.jupnp binding and here's just a small snapshot which all my Sonos units are in communication error now.

2020-02-12 12:30:41.641 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:41.642 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:41.824 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.115:1400/DeviceProperties/Control 2020-02-12 12:30:41.875 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:41.875 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:42.090 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:42.091 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:42.363 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:42.363 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:42.591 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:42.591 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:42.713 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.119:1400/DeviceProperties/Control 2020-02-12 12:30:42.715 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.178:1400/DeviceProperties/Control 2020-02-12 12:30:42.842 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:42.842 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:43.091 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:43.092 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:43.342 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:43.342 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:43.592 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:43.592 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:43.845 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:43.846 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:44.093 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:44.093 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:44.343 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:44.343 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY **2020-02-12 12:30:44.439 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.145:1400/DeviceProperties/Control** **2020-02-12 12:30:44.441 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.74:1400/DeviceProperties/Control** 2020-02-12 12:30:44.593 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:44.594 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:44.845 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:44.845 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:45.038 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.65:50594 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:45.039 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:45.094 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:45.094 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY **2020-02-12 12:30:45.290 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.103:1400/DeviceProperties/Control** 2020-02-12 12:30:45.352 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:45.356 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:45.595 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:45.595 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:45.845 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.130:49611 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:45.845 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:45.902 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.230:40768 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:45.903 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) M-SEARCH 2020-02-12 12:30:46.520 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.130:1400/DeviceProperties/Control 2020-02-12 12:30:46.902 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.230:40768 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:46.903 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) M-SEARCH **2020-02-12 12:30:47.543 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.154:1400/DeviceProperties/Control** 2020-02-12 12:30:47.823 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.189:1400/DeviceProperties/Control 2020-02-12 12:30:47.902 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.230:40768 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:47.903 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) M-SEARCH 2020-02-12 12:30:48.352 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (StreamRequestMessage) GET http://192.168.0.169:7676/smp_2_ 2020-02-12 12:30:48.353 [WARN ] [p.protocol.RetrieveRemoteDescriptors] - Device descriptor retrieval failed, no response: http://192.168.0.169:7676/smp_2_ 2020-02-12 12:30:48.433 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:48.434 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:48.435 [DEBUG] [p.protocol.RetrieveRemoteDescriptors] - Sending device descriptor retrieval message: (StreamRequestMessage) GET http://192.168.0.169:7676/smp_2_ 2020-02-12 12:30:48.435 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (StreamRequestMessage) GET http://192.168.0.169:7676/smp_2_ 2020-02-12 12:30:48.454 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:48.454 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:48.474 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:48.474 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:48.495 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:48.495 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:48.939 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.158:1400/DeviceProperties/Control 2020-02-12 12:30:48.943 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (OutgoingActionRequestMessage) POST http://192.168.0.167:1400/DeviceProperties/Control 2020-02-12 12:30:50.002 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.20:63393 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.003 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) M-SEARCH 2020-02-12 12:30:50.003 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.21:63394 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.003 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) M-SEARCH 2020-02-12 12:30:50.039 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.65:50594 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.039 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY **2020-02-12 12:30:50.044 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.98:1400/DeviceProperties/Control** 2020-02-12 12:30:50.119 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.119 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:50.120 [DEBUG] [p.protocol.RetrieveRemoteDescriptors] - Sending device descriptor retrieval message: (StreamRequestMessage) GET http://192.168.0.169:7676/smp_11_ 2020-02-12 12:30:50.121 [DEBUG] [org.jupnp.transport.Router ] - Sending via TCP unicast stream: (StreamRequestMessage) GET http://192.168.0.169:7676/smp_11_ 2020-02-12 12:30:50.139 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.140 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:50.160 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.160 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:50.180 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.169:24234 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:50.181 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY **2020-02-12 12:30:51.825 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.115:1400/DeviceProperties/Control** **2020-02-12 12:30:52.714 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.119:1400/DeviceProperties/Control** **2020-02-12 12:30:52.715 [INFO ] [org.jupnp.transport.spi.StreamClient] - Timeout of 10 seconds while waiting for HTTP request to complete, aborting: (OutgoingActionRequestMessage) POST http://192.168.0.178:1400/DeviceProperties/Control** 2020-02-12 12:30:52.918 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.103:34240 on local interface: eth0 and address: 192.168.0.230 2020-02-12 12:30:52.918 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:52.919 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.103:34240 on local interface: eth1 and address: 192.168.0.230 2020-02-12 12:30:52.919 [DEBUG] [org.jupnp.transport.Router ] - Received asynchronous message: (IncomingDatagramMessage) NOTIFY 2020-02-12 12:30:52.919 [DEBUG] [upnp.transport.spi.MulticastReceiver] - UDP datagram received from: 192.168.0.103:34240 on local interface: eth0 and address: 192.168.0.230

If I copy/paste one of the /control URL's into a browser (http://192.168.0.158:1400/DeviceProperties/Control) - here's the result which is a upnp 401 error.

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body> <s:Fault> <faultcode>s:Client</faultcode> <faultstring>UPnPError</faultstring> <detail> <UPnPError xmlns="urn:schemas-upnp-org:control-1-0"> <errorCode>401</errorCode> </UPnPError> </detail> </s:Fault> </s:Body> </s:Envelope>

Best, Jay

@morph166955
Copy link
Contributor Author

morph166955 commented Feb 12, 2020

I agree that I don't believe this to be a networking issue. Among all of the other evidence, my playbar seems to be the biggest offender to this issue. The oddity here is that the playbar is actually the device I have connected via Ethernet. With the Sonos wifi mesh, all of the other Sonos devices connect to my network through the playbar. Those devices seem to not be impacted by the playbar going offline. And before it's asked, yes I have unplugged the playbar and moved the Ethernet wire to three other speakers in the house and there is no change in the behavior.

As far as noticing when it's offline, again I notice most on my playbar. I use the Neeo remote via my OH2 server to control volume in my livingroom (and everything else for that matter). When the playbar goes offline, I can't change the volume. So 9/10 times I notice it's offline because I'm jamming on the button and nothing is happening. The playbar has actually been offline for almost 48 hours now yet my other speakers are up and chugging passing their data through the playbar.

@lolodomo
Copy link
Contributor

lolodomo commented Feb 15, 2020

What would be the best solution to check on a long period if my Sonos things are sometimes going offline ?

Edit: change of thing state should be in events.log. I am going to check that.

@jaywiseman1971
Copy link

jaywiseman1971 commented Feb 15, 2020

Sonos things are sometimes going offline

Please make sure your running the latest firmware for Sonos; there are some folks that have not upgraded from v8.x to 10.6.1 which this is not affecting them.

How I monitor my sonos devices is two ways - OH network connection which never goes offline and one long Thing status monitoring rule. Here's the example of mine.

`
rule "Checking Physical Status of Sonos Units"
when
Thing "sonos:CONNECTAMP:RINCON_ABC123" changed or

 then

	var SonosThingGym = getThingStatusInfo("sonos:CONNECTAMP:RINCON_ABC123").getStatus()
		Thread::sleep(200) 


	// OFFLINE
	if (systemStarted.state != ON && gInternet.state == ON && SonosThingGym.toString() != 'ONLINE') { 
		
		logInfo("Sonos", "-----------------------------------------------------------------------------")
		logInfo("Sonos", 'SonosThingGym Status is ' + SonosThingGym.toString())
		logInfo("Sonos", "-----------------------------------------------------------------------------")
			
		if (systemStarted.state != ON && gInternet.state == ON && currHour.state != 1) { 

			val String subjectemailSonosThingGym	= "openHAB - SonosThingGym"	
			val String bodyemailSonosThingGym	= "openHAB - SonosThingGym is OFFLINE."
		
			sendMail(JaygMail, subjectemailSonosThingGym, bodyemailSonosThingGym)
				Thread::sleep(200)  
		}
	}	

end
`

Best, Jay

@lolodomo
Copy link
Contributor

My devices are with the firmware 10.6.1. I see no status change to OFFLINE for my 3 Sonos things in my file events.log since the beginnign of February.

@lolodomo
Copy link
Contributor

lolodomo commented Feb 15, 2020

One of my device is connected to my LAN with a RJ45 cable, the 2 others are connected to SonosNet without any physical connection (cable).

@jaywiseman1971
Copy link

jaywiseman1971 commented Feb 15, 2020

That's fine, I have the same setup.

What version of the jupnp and sonos binding are you using?

Best, Jay

@lolodomo
Copy link
Contributor

I am running the official openHAB distribution 2.5.1.

@lolodomo
Copy link
Contributor

bundle:list -s | grep onos
248 x Active x  80 x 2.5.1                   x org.openhab.binding.sonos
bundle:list -s | grep upnp
236 x Active x  80 x 2.5.2                   x org.jupnp
253 x Active x  80 x 2.5.0                   x org.openhab.core.config.discovery.upnp
260 x Active x  80 x 2.5.0                   x org.openhab.core.io.transport.upnp

@jaywiseman1971
Copy link

Can you confirm what version org.jupnp is under Karaf? If its higher than 2.5.2, I will upgrade my version to your level.

@jaywiseman1971
Copy link

I will try to manually upgrade mine to your same versions today.

@lolodomo
Copy link
Contributor

At my knowledge there was no recent changes.

@morph166955
Copy link
Contributor Author

I can say this only became an issue for me when I moved from 2.4 stable up to the nightly 2.5 release when it was very early in development. my Sonos is on 10.6.1. I'm on the current OH2 2.5 release.

My belief is that the issue is with JuPnP. I can have a device offline for days and restarting JuPnP instantly fixes the issue. I would expand the question to say "how many devices in your network use JuPnP" instead of just Sonos. For example, my Samsung TVs occasionally have this issue. It's less obvious because those are offline unless the TV is turned on.

@jaywiseman1971
Copy link

My belief is that the issue is with JuPnP

I have 224 Things in PaperUI; not all of them are tied to jupnp. Yes, I have the same issue with my Samsung binding also.

What is the karaf query to find out the exact number of jupnp tied things?

Best, Jay

@morph166955
Copy link
Contributor Author

I'll try to pull it in later and start to burn it in. I'm on 15 days now with 2.4.0RC1 and I have no devices that are in a permanent failed state. I'd agree, what ever broke all of this came after that.

@lolodomo
Copy link
Contributor

lolodomo commented Jul 19, 2020

2.4.0RC1 of the samsungTV binding in a 2.5.6 OH server ?
Your message means no permanent failed state but still temporary failed state? This is not expected.

@lolodomo
Copy link
Contributor

Just as a reminder: if you uninstall the samsungTV binding in a OH 2.5.6 server, you have 0 problem?

@morph166955
Copy link
Contributor Author

2.4.0RC1 of the samsungTV binding in a 2.5.6 OH server ?
Your message means no permanent failed state but still temporary failed state? This is not expected.

Both correct. As per discussions above, I have the jar from 2.4.0RC1 loaded on my 2.5.6 install. The sonos speakers still flap when the thread count rises suddenly but none of them completely die off like they do in newer code. I believe there are two issues here. 1) Samsung does something to cause the permanent failures. 2) there is a thread pool issue where exhaustion is occurring. This is causing the devices to flap and come right back.

@morph166955
Copy link
Contributor Author

Just as a reminder: if you uninstall the samsungTV binding in a OH 2.5.6 server, you have 0 problem?

I believe this only fixed #1 above. It's been a minute since I've tested this, I can try later to confirm.

@lolodomo
Copy link
Contributor

Sorry, what does it fix only ? Your link is wrong.

@morph166955
Copy link
Contributor Author

Sorry that wasnt supposed to link. I was just meaning issue 1 I noted in the post immediately above. I believe removal of Samsung only fixes the issue where the sonos speakers fall off and don't come back. I do not believe it fixes the issue where it falls off and returns after the JuPnP waitng period.

@lolodomo
Copy link
Contributor

Sorry that wasnt supposed to link. I was just meaning issue 1 I noted in the post immediately above. I believe removal of Samsung only fixes the issue where the sonos speakers fall off and don't come back. I do not believe it fixes the issue where it falls off and returns after the JuPnP waitng period.

This is very important to have a clear idea about that. The conclusion we got few months ago was that only a combination of the samsungTV and Sonos bindings was leading to the Sonos things going OFFLINE. If this is not the case, we have to know it.

I don't use the SamsungTV but I use the Sonos binding and I never encounter this problem for example.

If you encounter the OFFLINE effect even without the samsungTV binding, that could be due to your very big and unusual openHAB setup exhibiting resource leaks or bugs a normal user like me with only 3 Sonos things will never encounter.

@morph166955
Copy link
Contributor Author

I guess I should be somewhat glad I didn't have time to do much to my openhab over the past few weeks. After 3 weeks of waiting I had 3 Sonos speakers fall off and not come back. I normally end up restarting my openhab every 2 weeks or so for one reason or another. This is with the 2.4.0RC1 SamsungTV binding in place. I will say that this was definitely a longer amount of time to wait, it used to be closer to 4-8 days. I will now remove the samsungtv binding and see if it can stay stable at all.

openhab> bundle:list -s | grep -i jupnp
236 │ Active │ 80 │ 2.6.0.202004231654 │ org.jupnp
openhab> bundle:list -s | grep -i sonos
251 │ Active │ 80 │ 2.5.6 │ org.openhab.binding.sonos
openhab> bundle:list -s | grep -i samsungtv
294 │ Active │ 80 │ 2.4.0.RC1 │ org.openhab.binding.samsungtv
openhab>

@morph166955
Copy link
Contributor Author

With the SamsungTV binding completely removed:

2020-07-25 12:30:12.029 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:30:22.039 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE
2020-07-25 12:38:41.659 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:38:41.696 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:38:50.667 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE
2020-07-25 12:38:50.707 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE

openhab> bundle:list -s | grep -i samsungtv
openhab> bundle:list -s | grep -i sonos
251 │ Active │  80 │ 2.5.6                   │ org.openhab.binding.sonos
openhab> bundle:list -s | grep -i jupnp
236 │ Active │  80 │ 2.6.0.202004231654      │ org.jupnp
openhab> bundle:list -s | grep -i samsungtv
openhab>

@morph166955
Copy link
Contributor Author

To note for tracking, I've updated to 2.5.7 and have installed the 2.5.7 samsungtv binding

openhab> bundle:list -s | grep -i jupnp
239 │ Active │ 80 │ 2.6.0.202004231654 │ org.jupnp
openhab> bundle:list -s | grep -i sonos
253 │ Active │ 80 │ 2.5.7 │ org.openhab.binding.sonos
openhab> bundle:list -s | grep -i samsung
292 │ Active │ 80 │ 2.5.7 │ org.openhab.binding.samsungtv

@morph166955
Copy link
Contributor Author

morph166955 commented Aug 1, 2020

I tried to capture this graphically with Grafana. I hope this helps to explain what I'm seeing. To note, I very intentionally disabled some thread::sleep functions in my rules to cause the spikes to happen more frequently in the hopes to get more results in a shorter time. This compares CPU threads versus devices that are offline. Notice the 4 spikes on the yellow line, each is a sonos device going offline and coming back 10 seconds later. Each time they line up with the number of CPU threads spiking up quickly.

Capture

@lolodomo
Copy link
Contributor

lolodomo commented Aug 2, 2020

With the SamsungTV binding completely removed:

2020-07-25 12:30:12.029 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:30:22.039 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE
2020-07-25 12:38:41.659 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:38:41.696 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:38:50.667 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE
2020-07-25 12:38:50.707 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE

So your conclusion is the opposite of the one few months ago, that is the samsungtv has absolutely no impact on the problem ?

@lolodomo
Copy link
Contributor

lolodomo commented Aug 2, 2020

In case the problem is the number of threads, can you check how many java threads you have ?
In my case, around 195:

$ ps hH p 16658 | wc -l
195
$ ls /proc/16658/task | wc
    194     194    1132

@lolodomo
Copy link
Contributor

lolodomo commented Aug 2, 2020

And with top, I can see my total number of threads (in the system) is around 295 on my RPI running openHAB.
You have more than 2000 threads, that looks weird, doesn't it ?

@morph166955
Copy link
Contributor Author

With the SamsungTV binding completely removed:

2020-07-25 12:30:12.029 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:30:22.039 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE
2020-07-25 12:38:41.659 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:38:41.696 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network.
2020-07-25 12:38:50.667 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE
2020-07-25 12:38:50.707 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_REDACTED' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_REDACTED is not available in local network. to ONLINE

So your conclusion is the opposite of the one few months ago, that is the samsungtv has absolutely no impact on the problem ?

After all of this, I believe the samsungtv binding makes the failures happen more frequently. I believe that they will still happen just not as often. Remember, there are two issues. 1) devices falling off and coming back as soon as JuPnP waits. 2) devices falling off and not returning at all. With samsungtv 2.4.0RC1, it took close to 3 weeks for devices to fall off and not return. With the 2.5.x variants, that goes down to 6-10 days.

You are also correct, I have a substantially higher number of threads. I have some of my threadpools dialed up a bit because I had threadpool exhaustion happening, mostly on the rules side of the house. I'll admit the pools are probably larger than they need to be, but with the exception of this issue my system is incredibly stable so I've opted to not try and dial it down.

$ ls /proc/29875/task | wc
2099 2099 12331
$ ps hH p 29875 | wc -l
2090

My system has not had any issues handling the process load however, the host it is on has a good bit of juice.

@morph166955
Copy link
Contributor Author

Here was another capture from this morning.

Capture

@jgeraerts
Copy link

Hello,

I was debugging this issue a little further since i'm still having out of memory issues on 2.5.8. What i've found is that if the addresses change on my eth0 interface, jupnp is basically restarted. This happens quite frequently with ipv6 and privacy extensions.

So on https://github.com/openhab/openhab-core/blob/2.5.0/bundles/org.openhab.core.config.discovery.upnp/src/main/java/org/eclipse/smarthome/config/discovery/upnp/internal/UpnpDiscoveryService.java#L232 you will find

@Override
    public void onChanged(final List<CidrAddress> added, final List<CidrAddress> removed) {
        scheduler.execute(() -> {
            if (!removed.isEmpty()) {
                upnpService.getRegistry().removeAllRemoteDevices();
            }

            try {
                upnpService.getRouter().disable();
                upnpService.getRouter().enable();

                startScan();
            } catch (RouterException e) {
                logger.error("Could not restart UPnP network components.", e);
            }
        });
    }

which is called from NetUtilwhenever the addresses change. I suspect that this disable / enable cycle could be a cause of the enable/disable messages.

@lolodomo
Copy link
Contributor

lolodomo commented Sep 24, 2020

Interesting.
We could first add a log entry to be sure that this method is called and we will know at which time it occurs.
The call to removeAllRemoteDevices() could probably explain the things going OFFLINE. Maybe it is strange to erase all devices in case only one device IP changed. But maybe it is not so easy to filter what has to be removed.

@jgeraerts
Copy link

Here it was pretty apparent from the logs. I had an additional problem on my router configuration that the RouterAdvertisements expired after 2 minutes, something i had set to debug some unrelated problem but forgot to restore, so that caused the ipv6 addresses to be removed from the interface much more often.

2020-09-22 22:40:41.264 [DEBUG] [g.eclipse.smarthome.core.net.NetUtil] - added 0 network interfaces: []
2020-09-22 22:40:41.274 [DEBUG] [g.eclipse.smarthome.core.net.NetUtil] - removed 1 network interfaces: [fdb1:5ec4:5923:2:8f58:3018:214f:216a%eth0/64]
2020-09-22 22:40:45.332 [INFO ] [s.internal.handler.ZonePlayerHandler] - UPnP device RINCON_347E5CC5F52E01400 is absent (thing sonos:PLAY1:RINCON_347E5CC5F52E01400)
2020-09-22 22:40:45.332 [DEBUG] [org.jupnp.transport.Router          ] - Disabling network services...
2020-09-22 22:40:45.334 [DEBUG] [org.jupnp.transport.Router          ] - Stopping stream client connection management/pool
2020-09-22 22:40:45.339 [DEBUG] [org.jupnp.transport.Router          ] - Stopping stream server on address: /172.16.2.3
2020-09-22 22:40:45.349 [DEBUG] [org.jupnp.transport.Router          ] - Stopping multicast receiver on interface: eth0
2020-09-22 22:40:45.353 [DEBUG] [upnp.transport.spi.MulticastReceiver] - Leaving multicast group
2020-09-22 22:40:45.354 [DEBUG] [org.jupnp.transport.Router          ] - Stopping datagram I/O on address: /172.16.2.3
2020-09-22 22:40:45.355 [DEBUG] [upnp.transport.spi.MulticastReceiver] - Socket closed
2020-09-22 22:40:45.356 [DEBUG] [org.jupnp.transport.Router          ] - Starting networking services...
2020-09-22 22:40:45.356 [DEBUG] [.jupnp.transport.impl.DatagramIOImpl] - Socket closed
2020-09-22 22:40:45.358 [DEBUG] [org.jupnp.transport.Router          ] - Init multicast receiver on interface: eth0
2020-09-22 22:40:45.361 [DEBUG] [upnp.transport.spi.MulticastReceiver] - Creating wildcard socket (for receiving multicast datagrams) on port: 1900
2020-09-22 22:40:45.363 [DEBUG] [upnp.transport.spi.MulticastReceiver] - Joining multicast group: /239.255.255.250:1900 on network interface: eth0```

@morph166955
Copy link
Contributor Author

Just to note, my OH2 instance is statically IP'ed and all of my Sonos speakers have permanent assignments in my DHCP so they should never change addresses.

@morph166955
Copy link
Contributor Author

@lolodomo As 3.0.0 is working it's way out, and we really never found an answer to this, would it be possible for you to commit the change to JuPnP that created the org.jupnp:retryAfterSeconds variable so that it can be rolled into 3.0.0? While it's not a fix, it at least recovers me faster than 10 minutes. As we move to 3.0.0 having the 2.4.0 Samsung binding isn't really an option.

@morph166955
Copy link
Contributor Author

@lolodomo I'm going to close this as I think we resolved much of this with the recent #9495 fix.

@openhab-bot
Copy link
Collaborator

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/sonos-broadcasting-between-different-subnets/98739/40

@LordLiverpool2
Copy link

For the record, I have the same problem (OFFLINE (COMMUNICATION_ERROR): The UPnP device RINCON_xxxxxxxxxxxxxxxx is not yet registered). My Sonos devices are powered off when not used. Restarting the org.jupnp binding fixes it immediately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty Issues with a Bountysource reward and the PRs that solve these external bug A problem or unintended behavior of an external library
Projects
None yet
Development

No branches or pull requests