Tivo Control over IP
JohnMichnr
Junior Member
Hey - anybody out there doing any control of a Tivo unit over IP (port 31339)? I was just talking to a non-AV guy who said he was playing with it but was getting weird results.
Wondered if anybody out here was activley doing it or knows anythign about it.
Wondered if anybody out here was activley doing it or knows anythign about it.
Comments
-
Doesn't the tivo module on amx use IP for control natively? I've heard, though, it is just essentially IR over IP. The only feedback you get is if the unit is on or not.
-
From what I've seen of the protocol yeah - it is just IR over IP with some channel information.
-
I use it all the time. Basically just IR commands with a few extensions like 'teleport' to specific places in the menus etc, as well as the ability to tune directly to a channel without entering each digit, and the ability to read the channel state of each tuner for feedback. I have had no problem with it in the last year or so and have even been using it in my home for quite a while. Works good.
-
You wanna post a string or 2
-
Has anyone been able to get their hands on the official protocol or are you just dealing with bits and pieces you get from the various TiVo forums?
-
There is a company C macro that lists the codes, but they all seem to be on display here
http://tivocommunity.com/tivo-vb/showthread.php?t=392385
Don't know if that helps - not what you really wanted. -
Thanks John,
Unfortunately I've already been there and took whatever info was useful. I was just wondering if there was some sort of official documetation out there. It seems a little odd that TiVo will tells you this is possible, they gives you an onscreen prompt to permit remote access for this purpose and then they don't publish anything to expalin how to do it. Even if look at the link you provided they appear to be guessing and figuring things out via trial and error. -
Hi Gents,
Here in the UK we're stuck on TiVo version one but many have added an ethernet card and Tivoweb modules that hen become a web interface to tivo. Once this has been done, opening an IP client to send these strings works like a charm. My home system has been running like this for several years.
You'll see at the bottom of this list some preset calls. These are not stored in tivo, its just another feature that some kind hacker included to make a direct channel selection without going through the on-screen menus.
I hope this is useful.
Jim.
DEFINE_CALL 'TIVO CONTROLS' (TIVO_BUTTON)
{
SELECT
{
ACTIVE(TIVO_BUTTON=1): TIVO_SEND='play' // PLAY
ACTIVE(TIVO_BUTTON=2): TIVO_SEND='pause' // PAUSE
ACTIVE(TIVO_BUTTON=3): TIVO_SEND='slow' // SLOW
ACTIVE(TIVO_BUTTON=4): TIVO_SEND='forward' // FWD
ACTIVE(TIVO_BUTTON=5): TIVO_SEND='reverse' // REW
ACTIVE(TIVO_BUTTON=6): TIVO_SEND='skipforward' // SKIP FWD
ACTIVE(TIVO_BUTTON=7): TIVO_SEND='exit' // RETURN
ACTIVE(TIVO_BUTTON=10): TIVO_SEND='num0' // 0
ACTIVE(TIVO_BUTTON=11): TIVO_SEND='num1' // 1
ACTIVE(TIVO_BUTTON=12): TIVO_SEND='num2' // 2
ACTIVE(TIVO_BUTTON=13): TIVO_SEND='num3' // 3
ACTIVE(TIVO_BUTTON=14): TIVO_SEND='num4' // 4
ACTIVE(TIVO_BUTTON=15): TIVO_SEND='num5' // 5
ACTIVE(TIVO_BUTTON=16): TIVO_SEND='num6' // 6
ACTIVE(TIVO_BUTTON=17): TIVO_SEND='num7' // 7
ACTIVE(TIVO_BUTTON=18): TIVO_SEND='num8' // 8
ACTIVE(TIVO_BUTTON=19): TIVO_SEND='num9' // 9
ACTIVE(TIVO_BUTTON=20): TIVO_SEND='select' // SELECT or Enter
ACTIVE(TIVO_BUTTON=21): TIVO_SEND='up' // UP
ACTIVE(TIVO_BUTTON=22): TIVO_SEND='down' // DOWN
ACTIVE(TIVO_BUTTON=23): TIVO_SEND='left' // LEFT
ACTIVE(TIVO_BUTTON=24): TIVO_SEND='right' // RIGHT
ACTIVE(TIVO_BUTTON=30): TIVO_SEND='tivo' // TIVO
ACTIVE(TIVO_BUTTON=31): TIVO_SEND='standby' // OFF
ACTIVE(TIVO_BUTTON=32): TIVO_SEND='livetv' // LIVE TV
ACTIVE(TIVO_BUTTON=33): TIVO_SEND='auxbypass' // AUX
ACTIVE(TIVO_BUTTON=34): TIVO_SEND='vcrbypass' // VCR
ACTIVE(TIVO_BUTTON=35): TIVO_SEND='surfup' // CH. UP
ACTIVE(TIVO_BUTTON=36): TIVO_SEND='surfdown' // CH. DOWN
ACTIVE(TIVO_BUTTON=37): TIVO_SEND='tivo tivo' // Now Showing
ACTIVE(TIVO_BUTTON=38): TIVO_SEND='pageup' // Page up
ACTIVE(TIVO_BUTTON=39): TIVO_SEND='pagedown' // Page down
ACTIVE(TIVO_BUTTON=40): TIVO_SEND='record' // Record
ACTIVE(TIVO_BUTTON=41): TIVO_SEND='1/0/1' // BBC1 Direct
ACTIVE(TIVO_BUTTON=42): TIVO_SEND='1/0/3' // ITV Direct
ACTIVE(TIVO_BUTTON=43): TIVO_SEND='3/0/1' // Movie Direct
ACTIVE(TIVO_BUTTON=44): TIVO_SEND='5/0/1' // Sky News Direct
}
CALL 'TIVO_CONTROL'
}
DATA_EVENT[dvTIVOWEB]
{
ONLINE: (* Socket connected *)
{
ON[TIVO_CONNECTED]
SEND_STRING dvTIVOWEB,"'GET /sendkey/',TIVO_SEND,' HTTP/1.1',13,10,13,10,'Host: 192.168.0.150',13,10,13,10"
}
OFFLINE:
{
OFF[TIVO_CONNECTED]
CLEAR_BUFFER TIVO_BUFFER
}
STRING:
{
}
ONERROR:
{
IF(DATA.Number <> 0)
{
SEND_STRING 0,"getSocketError(DATA.Number)"
}
}
}
DEFINE_CALL 'TIVO_CONTROL'
{
CLEAR_BUFFER TIVO_BUFFER
IP_CLIENT_OPEN(dvTIVOWEB.Port,'192.168.0.150',80,IP_TCP)
SEND_COMMAND dvDEBUG,"'Tivo send =',TIVO_SEND"
} -
In case you guys ever get series 3 boxes here are those commands:
(copied from a TiVo forum link previously posted and placed in arrays)DEFINE_CONSTANT //COMMANDS CHAR TiVo_CMD[][12] = { 'UP', //1 'DOWN', //2 'LEFT', //3 'RIGHT', //4 'SELECT', //5 'TIVO', //6 'LIVETV', //7 'THUMBSUP', //8 'THUMBSDOWN', //9 'CHANNELUP', //10 'CHANNELDOWN', //11 'RECORD', //12 'DISPLAY', //13 'DIRECTV', //14 'NUM0', //15 'NUM1', //16 'NUM2', //17 'NUM3', //18 'NUM4', //19 'NUM5', //20 'NUM6', //21 'NUM7', //22 'NUM8', //23 'NUM9', //24 'ENTER', //25 'CLEAR', //26 'PLAY', //27 'PAUSE', //28 'SLOW', //29 'FORWARD', //30 'REVERSE', //31 'STANDBY', //32 'NOWSHOWING', //33 'REPLAY', //34 'ADVANCE', //35 'DELIMITER', //36 'GUIDE', //37 'INFO', //38 'WINDOW', //39 '', //40 '', //41 '', //42 '', //43 '', //44 '' //45 can go up to and include button 80 } ; DEFINE_CONSTANT //COMMAND TYPES CHAR TiVo_CMD_TYPE[][12] = { 'KEYBOARD', //1 //KEYBOARD - The current purpose and syntax of this command is unknown. 'TELEPORT', //2 //TELEPORT <PLACE>- I'm not sure why this command exists, because I believe anything that //TELEPORT does can also be accomplished via IRCODE. That said, the four currently known //places you can "teleport" to are TIVO, LIVETV, GUIDE, and NOWPLAYING. 'SETCH', //3 //SETCH <CHANNEL> - This command will change the channel on the current tuner being watched //to the channel number defined. If the current tuner is recording a program, it will change the other tuner. //If both tuners are recording, the channel will not change and the TiVo will respond with //"CH_FAILED RECORDING "Show Title". Using this command when a recording is being played back will result in "CH_FAILED NO_LIVE". 'FORCECH', //4 //FORCECH <CHANNEL> - This command will force the current tuner to the tune the desired channel regardless //of what it's doing. If a recording is being recorded it will cancel the recording and change the channel without confirmation. 'IRCODE' //5 //IRCODE <COMMAND> - IRCODE seems to mimic the old "sendkey" command in almost every way. While it can't handle multiple commands on one line, //almost all of the commands listed in sendkey.tcl are valid and working. } ;
For the most commands you'll need to create a string like 'IRCODE CHANNELUP'. The other type commands are for what they state in the comments. SETCH 305. -
Just saw a note on remote central acout people using something called command fusion for their DirectTV boxes. Not only is it offering control over IP, but also providing feedback (ie it lists their recorded items in a "now playing" list). How freaking cool would that be on the Tivo.
-
I just found an official TiVo doc for IP control.
http://www.tivo.com/assets/images/abouttivo/resources/downloads/brochures/TiVo_TCP_Network_Remote_Control_Protocol_073108.pdf -
This is still beta, they are soliciting comments. I'd sure like them to expose a URL to show the "program art" they now show on screen for each show. It appears absent in the docs...
-
tivo module
dont know if anyone still wants this or needs it, but here is something I whipped together and tested on a series 3 tivo. It has everything you would expect + a keyboard for text entry.
Jimmy
Leave a Comment
Categories
- All Categories
- 2.5K AMX General Discussion
- 922 AMX Technical Discussion
- 514 AMX Hardware
- 502 AMX Control Products
- 3 AMX Video Distribution Products
- 9 AMX Networked AV (SVSI) Products
- AMX Workspace & Collaboration Products
- 3.4K AMX Software
- 151 AMX Resource Management Suite Software
- 386 AMX Design Tools
- 2.4K NetLinx Studio
- 135 Duet/Cafe Duet
- 248 NetLinx Modules & Duet Modules
- 57 AMX RPM Forum
- 228 MODPEDIA - The Public Repository of Modules for Everyone
- 943 AMX Specialty Forums
- 2.6K AMXForums Archive
- 2.6K AMXForums Archive Threads
- 1.5K AMX Hardware
- 432 AMX Applications and Solutions
- 249 Residential Forum
- 182 Tips and Tricks
- 146 AMX Website/Forums
