Tivo Control over IP
JohnMichnr
Posts: 279
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.
0
Comments
http://tivocommunity.com/tivo-vb/showthread.php?t=392385
Don't know if that helps - not what you really wanted.
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.
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"
}
(copied from a TiVo forum link previously posted and placed in arrays)
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.
http://www.tivo.com/assets/images/abouttivo/resources/downloads/brochures/TiVo_TCP_Network_Remote_Control_Protocol_073108.pdf
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