Jump to content

Receiver poweron/playto time-out feature request


Starlionblue

Recommended Posts

Starlionblue

Just bought a second hand Denon AVR-2312CI receiver. Works fine as a DLNA target for MediaBrowser but has one small snag. I've set it to have "active standby", in other words the network card stays on so that it can be woken up by a LAN client from e.g. iPhone even when off. It does indeed show up in MediaBrowser even when off.

 

If I try to play from MB to the receiver (DLNA PlayTo) when it is off, the receiver does not wake up. I get "The request was aborted. The operation timed out." in MB.

 

However if wake it first with the Denon iPhone app or similar, and then play from MB, everything is fine. Sometimes if I have tried PlayTo from MB and timed out, then turned on the receiver, the play will then start.

 

Would there be a way to have MB check that the the receiver is awake, wake up as needed, and then wait a defined interval before performing PlayTo? I know Denon and Marantz receivers use the same protocol so this would cover quite a few models. For reference, the apps Denonoff and DeRemote as the Denon Remote App all have wake up/standby functionality for Denon and Marantz receivers.

 

 

Find below the relevant MB log passages.


2014-07-09 10:01:27.5791 Error - App: Error getting response from http://169.254.255.72:8080/DeviceDescription.xml
Unable to connect to the remote server
System.Net.WebException
  at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
  at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
InnerException: System.Net.Sockets.SocketException
A connection attempt failed because the connected party did not properly respond after a period of time or established connection failed because connected host has failed to respond 169.254.255.72:8080
  at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
  at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)


2014-07-09 10:01:27.5911 Error - Dlna: Error creating play to controller
Unable to connect to the remote server
MediaBrowser.Model.Net.HttpException
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<Get>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.SsdpHttpClient.<GetDataAsync>d__b.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.Device.<CreateuPnpDeviceAsync>d__d6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.PlayToManager.<CreateController>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.PlayToManager.<>c__DisplayClass12.<<TryCreateController>b__10>d__14.MoveNext()
InnerException: System.Net.WebException
Unable to connect to the remote server
  at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
  at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
InnerException: System.Net.Sockets.SocketException
A connection attempt failed because the connected party did not properly respond after a period of time or established connection failed because connected host has failed to respond 169.254.255.72:8080
  at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
  at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)


2014-07-09 10:01:27.5791 Error - Dlna: Error creating play to controller
Unable to connect to the remote server
MediaBrowser.Model.Net.HttpException
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<Get>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.SsdpHttpClient.<GetDataAsync>d__b.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.Device.<CreateuPnpDeviceAsync>d__d6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.PlayToManager.<CreateController>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at MediaBrowser.Dlna.PlayTo.PlayToManager.<>c__DisplayClass12.<<TryCreateController>b__10>d__14.MoveNext()
InnerException: System.Net.WebException
Unable to connect to the remote server
  at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
  at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
InnerException: System.Net.Sockets.SocketException
A connection attempt failed because the connected party did not properly respond after a period of time or established connection failed because connected host has failed to respond 169.254.255.72:8080
  at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
  at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)



2014-07-09 10:06:32.8462 Info - Dlna: No matching device profile found. The default will need to be used.
DeviceDescription:
FriendlyName:DENON:[AVR-2312]
Manufacturer:DENON
ManufacturerUrl:http://www.denon.com
ModelDescription:AV SURROUND RECEIVER
ModelName:AVR-2312
ModelNumber:2312
ModelUrl:http://www.denon.com/
SerialNumber:0005CD257F04
2014-07-09 10:06:52.8497 Error - App: Error getting response from http://10.0.0.70:8080/AVTransport/ctrl
The request was aborted: The operation has timed out.
System.Net.WebException
  at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
  at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
  at MediaBrowser.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsync>d__7.MoveNext()
Edited by Starlionblue
Link to comment
Share on other sites

just did some quick searching and it's hard to find whether there's actually something in the upnp protocol for this, or whether they're just doing plain WOL commands. Either way we're going to need a new contributing developer who has the ability to test this to step up and build it.

  • Like 1
Link to comment
Share on other sites

Starlionblue

just did some quick searching and it's hard to find whether there's actually something in the upnp protocol for this, or whether they're just doing plain WOL commands. Either way we're going to need a new contributing developer who has the ability to test this to step up and build it.

 

Will gladly make a PayPal contribution to such a person.  :D

Link to comment
Share on other sites

I would be happy to contribute and test such a thing as I will need this feature too. But first I need to find a solution to the problem that my MediaBrowser installation does not find any PlayTo devices. Maybe someone can help fasten up the process here: http://mediabrowser.tv/community/index.php?/topic/8434-mediaserver-does-not-find-any-dlna-renderer-for-play-to-feature/

 

If I remember correctly the Denon App does send a command via http or telnet. The telnet protocol is described here and is nearly the same for all Denon and Marantz receivers with network functionality: http://usa.denon.com/us/downloads/pages/instructionmanual.aspx?FileName=DocumentMaster/US/AVR-3808CISerialProtocol_Ver5.2.0a.pdf

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...