Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
pirey4
Visitor

How do you determine Roku model from an ECP app?

The Roku Remote app is able to determine the model of Roku players (e.g. Roku XDS Player, Roku 2 XS Player, etc.) it discovers. How is this done? I'm particular interested in determining which players are Roku 1 and which are Roku 2.

Thanks,

phil
0 Kudos
6 REPLIES 6
scyber
Visitor

Re: How do you determine Roku model from an ECP app?

My guess is that it is parsing the xml file provided on port 8060. Afterall that is the location address provided in the SSDP notify.
0 Kudos
pirey4
Visitor

Re: How do you determine Roku model from an ECP app?

"scyber" wrote:
My guess is that it is parsing the xml file provided on port 8060. Afterall that is the location address provided in the SSDP notify.

The only XML document returned by the player that I am familiar with is the Channel/App ID list.

Which XML document are you referring to and how do you retrieve it?

I thought the information might be encoded in the Serial # of the player or perhaps the MAC address of the player could be mapped to a model number. I have access to both the serial number and MAC address.

Thanks,

phil
0 Kudos
gonzotek
Visitor

Re: How do you determine Roku model from an ECP app?

"pirey4" wrote:
"scyber" wrote:
My guess is that it is parsing the xml file provided on port 8060. Afterall that is the location address provided in the SSDP notify.

The only XML document returned by the player that I am familiar with is the Channel/App ID list.

Which XML document are you referring to and how do you retrieve it?

I thought the information might be encoded in the Serial # of the player or perhaps the MAC address of the player could be mapped to a model number. I have access to both the serial number and MAC address.

Thanks,

phil
Hitting http://LOCAL_ROKU_IP:8060/ should return something similar to the following:

<?xml version="1.0"?>

<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:ms="urn:microsoft-com:wmc-1-0">

<specVersion>

<major>1</major>

<minor>0</minor>

</specVersion>

<device ms:X_MS_SupportsWMDRM="true">

<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMP-1.00</dlna:X_DLNADOC>

<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>

<friendlyName>Roku Streaming Player</friendlyName>

<manufacturer>Roku</manufacturer>

<manufacturerURL>http://www.roku.com/</manufacturerURL>

<modelDescription>Roku Streaming Player Network Media</modelDescription>

<modelName>Roku Streaming Player N1101</modelName>

<modelNumber>N1101</modelNumber>

<modelURL>http://www.roku.com/</modelURL>

<serialNumber>D0D02T00WXYZ</serialNumber>

<UDN>uuid:7F248787-B5DF-4C7B-8C9A-00DDEE3BWXYZ</UDN>

<UPC></UPC>

<serviceList>

<service>

<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>

<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>

<SCPDURL>/RenderCtl.xml</SCPDURL>

<controlURL>/UD/?0</controlURL>

<eventSubURL>/?0</eventSubURL>

</service>

<service>

<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>

<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>

<SCPDURL>/ConnMgr.xml</SCPDURL>

<controlURL>/UD/?1</controlURL>

<eventSubURL>/?1</eventSubURL>

</service>

<service>

<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>

<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>

<SCPDURL>/AvTransport.xml</SCPDURL>

<controlURL>/UD/?2</controlURL>

<eventSubURL>/?2</eventSubURL>

</service>

<service>

<serviceType>urn:roku-com:service:ecp:1</serviceType>

<serviceId>urn:roku-com:serviceId:ecp1.0</serviceId>

<controlURL></controlURL>

<eventSubURL></eventSubURL>

<SCPDURL>ecp_SCPD.xml</SCPDURL>

</service>

</serviceList>

<presentationURL>/</presentationURL>

</device>

</root>

You'll see both modelName and modelNumber are available in there.
Remoku.tv - A free web app for Roku Remote Control!
Want to control your Roku from nearly any phone, computer or tablet? Get started at http://help.remoku.tv
by Apps4TV - Applications for television and beyond: http://www.apps4tv.com
0 Kudos
pirey4
Visitor

Re: How do you determine Roku model from an ECP app?

Thanks scyber and gonzotek! What you suggested gives me just what I am looking for. I don't know how I missed hitting the port with no command.

phil
0 Kudos
EnTerr
Roku Guru

Re: How do you determine Roku model from an ECP app?

"pirey4" wrote:
I don't know how I missed hitting the port with no command.


It's undocumented 🙂
It would be nice if Roku bothered to include firmware version in that descriptor, hintity-hint
0 Kudos
pirey4
Visitor

Re: How do you determine Roku model from an ECP app?

"EnTerr" wrote:
"pirey4" wrote:
I don't know how I missed hitting the port with no command.


It's undocumented 🙂
It would be nice if Roku bothered to include firmware version in that descriptor, hintity-hint

Including the firmware version information in the <modelDescription> element would provide added value rather than rehashing information from other elements like it currently does.
0 Kudos