TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Underground Playground > Developers Corner
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 07-23-2014, 10:00 AM   #1
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,183
Something actually happening on TiVo Developer Channel

Something is actually happening for "TiVo Developer Channel" web page:
http://developer.tivo.com/

I had to sign in to actually see something and there's a section called "Interactive I/O Docs" only visible after logging in. Not sure I understand exactly what it's all about but maybe someone with time on their hands can explore some more.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 07-23-2014, 12:12 PM   #2
davidblackledge
Registered lÜser
 
davidblackledge's Avatar
 
Join Date: Sep 2008
Location: NM
Posts: 245
Quote:
Originally Posted by moyekj View Post
Something is actually happening for "TiVo Developer Channel" web page:
http://developer.tivo.com/

I had to sign in to actually see something and there's a section called "Interactive I/O Docs" only visible after logging in. Not sure I understand exactly what it's all about but maybe someone with time on their hands can explore some more.
Without logging in I can see
http://developer.tivo.com/docs/read/...ogram_Overview
the tivo control apis documents...and those were all modified 4 weeks ago.
It's all the "mind" stuff.
__________________
EnterWebz.tv
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
+ air qual / lightning maps, minesweeper, 1p/2p card games...

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
David.Blackledge.com Solitaire/FreeCell, Calendar, Map...
hmedev.wikidot.com
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
davidblackledge is offline   Reply With Quote
Old 07-23-2014, 12:47 PM   #3
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,183
Yes, looks like all that stuff is new. I wish I had more time to look into some of it to see if there is anything beyond what already has been reverse engineered, but I won't have time to look into it for a while...

EDIT: At least it looks like there may be an official way to get SSL certificate + password for interacting with MindRPC without having to use tough reverse engineering methods of existing TiVo apps.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 07-24-2014, 01:26 AM   #4
telemark
Registered User
 
Join Date: Nov 2013
Posts: 711
Is it clear, whether different credentials unlock different levels of control?

I don't see how they'll issue keys for OSS without others reusing them.

I'm Not saying that closed source / compiled software is immune. But the hardware implementations the docs contemplate, at least they can pretend it's secured.
telemark is offline   Reply With Quote
Old 07-24-2014, 12:05 PM   #5
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,183
Yes, different credentials have different access levels for different partnerIds for sure. Using the Android and/or iOS PKCS12 certificates only gives me access to a limited set of MindRPC operations. The vast majority of operations return the following when trying to execute an unauthorized operation:

"The active partner ID does not have access to the operation."

So it looks like when partnerId credentials are generated there is a very specific set of operations that are allowed, so TiVo has full control over who gets permissions to do what. It would be wonderful to discover/reverse engineer a certificate + password for a partnerId with full access to all operations if there is one...
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by moyekj : 07-24-2014 at 12:10 PM.
moyekj is offline   Reply With Quote
Old 07-25-2014, 12:12 PM   #6
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,183
The TiVo Control API Reference document on page 5 I think accidentally gives the wrong uri for "uiNavigate" operation for coming out of standby mode:
"x-tivo:classicui:restartDvr"

I didn't know about that one and as I suspected it takes you to the reboot screen where you have to confirm using 3 thumbs down, enter. So in next kmttg release I'm taking advantage of this by having a macro to implement a "Reboot" button from kmttg (the macro automatically includes the 3 thumbs down, enter sequence as well). This will allow me to reboot series 4 or later DVRs from anywhere I have internet access which will be useful combined with the existing "Network Connect" button.

The list of documented operations in the above PDF is VERY minimal and nothing I didn't already know about, so doesn't look like TiVo intends to give us extensive control of a TiVo with this initiative (hardly surprised).
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by moyekj : 07-25-2014 at 12:20 PM.
moyekj is offline   Reply With Quote
Old 09-03-2014, 09:23 AM   #7
telemark
Registered User
 
Join Date: Nov 2013
Posts: 711
The edit dates updated yesterday, but I can't remember it well enough to tell if it's different.
The dates within the docs are not new.

The Dev Guide is a pretty good tutorial.
http://developer.tivo.com/files/TiVo...2014-06-18.pdf
telemark is offline   Reply With Quote
Old 10-16-2014, 01:46 AM   #8
telemark
Registered User
 
Join Date: Nov 2013
Posts: 711
Another update this last week:
http://developer.tivo.com/files/Cont...2014-10-08.pdf
telemark is offline   Reply With Quote
Old 10-16-2014, 08:54 AM   #9
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,183
Some interesting commands related to streaming are now there, such as:
streamingConnectionType
streamingDeviceType
streamingRequirements

Via RPC "schemaElementGet" operation I'm able to collect some info on the above structures, but there's no indication anywhere I could find on how to go about starting a stream, etc. Interesting that "webPlayer" is part of streamingDeviceType.

streamingConnectionType
Code:
{
   "rootElementName": "streamingConnectionType",
   "levelOfDetail": "medium",
   "IsFinal": true,
   "rootElementType": "enum",
   "enum": [{
      "description": "\n      Connection types available for streaming.\n    ",
      "name": "streamingConnectionType",
      "item": [
         {
            "description": "\n        Wide Area Network.\n      ",
            "name": "wan",
            "type": "enumItem"
         },
         {
            "description": "\n        Wireless connection (typically 802.11) to a router.\n      ",
            "name": "wifi",
            "type": "enumItem"
         },
         {
            "description": "\n        Available on any connectionType\n      ",
            "name": "any",
            "type": "enumItem"
         }
      ],
      "isFrozen": true,
      "type": "enum"
   }],
   "type": "schemaElement"
}
streamingDeviceType
Code:
{
   "rootElementName": "streamingDeviceType",
   "levelOfDetail": "medium",
   "IsFinal": true,
   "rootElementType": "enum",
   "enum": [{
      "isPersistent": true,
      "description": "\n      Device types available for streaming.\n    ",
      "name": "streamingDeviceType",
      "item": [
         {
            "description": "Phone running the Android operating system.",
            "name": "androidPhone",
            "type": "enumItem"
         },
         {
            "description": "High end phone running the Android operating system.",
            "name": "androidPhoneHigh",
            "type": "enumItem",
            "firstVersion": 11
         },
         {
            "description": "Low end phone running the Android operating system.",
            "name": "androidPhoneLow",
            "type": "enumItem",
            "firstVersion": 11
         },
         {
            "description": "Tablet running the Android operating system.",
            "name": "androidTablet",
            "type": "enumItem"
         },
         {
            "description": "High end tablet running the Android operating system.",
            "name": "androidTabletHigh",
            "type": "enumItem",
            "firstVersion": 11
         },
         {
            "description": "Low end tablet running the Android operating system.",
            "name": "androidTabletLow",
            "type": "enumItem",
            "firstVersion": 11
         },
         {
            "description": "Apple iPad.",
            "name": "iPad",
            "type": "enumItem"
         },
         {
            "description": "Apple iPhone.",
            "name": "iPhone",
            "type": "enumItem"
         },
         {
            "description": "Browser-based media player.",
            "name": "webPlayer",
            "type": "enumItem"
         },
         {
            "description": "\n        Set Top Box.\n      ",
            "name": "stb",
            "type": "enumItem"
         },
         {
            "description": "\n        Any mobile device.\n      ",
            "name": "mobileDevice",
            "type": "enumItem"
         },
         {
            "description": "\n        Any device.\n      ",
            "name": "any",
            "type": "enumItem"
         },
         {
            "alias": ["TVA_XBOX"],
            "description": "\n        An Xbox.\n      ",
            "name": "xbox",
            "type": "enumItem",
            "firstVersion": 12
         },
         {
            "description": "\n        Any nPVR device.\n      ",
            "name": "npvr",
            "type": "enumItem",
            "firstVersion": 13
         },
         {
            "description": "\n        Any Fire device.\n      ",
            "name": "fireDevice",
            "type": "enumItem",
            "firstVersion": 14
         },
         {
            "description": "\n        Any iOS device.\n      ",
            "name": "iosDevice",
            "type": "enumItem",
            "firstVersion": 14
         },
         {
            "description": "\n        Any Android device.\n      ",
            "name": "androidDevice",
            "type": "enumItem",
            "firstVersion": 14
         }
      ],
      "isFrozen": true,
      "type": "enum"
   }],
   "type": "schemaElement"
}
streamingRequirements
Code:
{
   "rootElementName": "streamingRequirements",
   "structure": [{
      "description": "\n       Contains streaming settings, typically defined by a linear provider\n       for a station.\n     ",
      "name": "streamingRequirements",
      "isFrozen": true,
      "fieldDefinition": [
         {
            "levelOfDetail": "low",
            "description": "\n        Streaming capabilities that are not allowed.\n        \n        Default: A streamingCapability is allowed unless specifically\n        listed as a Streaming Restriction.\n      ",
            "name": "streamingRestriction",
            "maxOccurs": "unbounded",
            "valueType": "streamingCapability",
            "type": "fieldDefinition",
            "minOccurs": 0
         },
         {
            "levelOfDetail": "low",
            "description": "\n        Device streaming restrictions (i.e. not allowed).\n        \n        Default: If not present, there are no device restrictions\n        defined (by the linear provider for this station).  If\n        multiple restrictions are present, the restrictions are the\n        union of all conditions.\n      ",
            "name": "streamingRestrictedOn",
            "maxOccurs": "unbounded",
            "valueType": "streamingAvailableOn",
            "type": "fieldDefinition",
            "minOccurs": 0
         }
      ],
      "type": "structure"
   }],
   "levelOfDetail": "medium",
   "IsFinal": true,
   "rootElementType": "structure",
   "type": "schemaElement"
}

__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old Yesterday, 04:56 PM   #10
bradleys
It'll be fine....
 
Join Date: Oct 2007
Posts: 1,938
This is very interesting. At a glance, this looks more like streaming connections from TiVo to external devices as opposed to streaming apps on TiVo.
__________________
TiVo S2 (Retired)
TiVo Series 3 (Sold)
TiVo HD (Sold)
TiVo Premier (2 TB Upgrade)
TiVo Roamio Plus
TiVo Mini
iPad TiVo app
TiVo Stream (Sold)
Personal Video Share powered by PyTiVo
bradleys is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVo® is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 12:47 AM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |