# TiVo UI Control via Telnet - No Hacking Required!



## Omikron

As many of you may have already heard, TiVo added support for Crestron systems back in software version 9.1 but there isn't a whole lot of information available about from TiVo or from Crestron.

After thinking about it for a small while, my curiosity was piqued, and I decided to try and figure out the protocol Crestron was using to talk to an unhacked TiVo, and how we non-Crestron users could somehow harness it.

As it turns out both the TiVo HD and Series3 units now listen on port 31339 for connections from a Crestron device. What is really interesting about this discovery is that this service is enabled and accessible by default on a stock Series3 running software 9.1 and up. There is NO HACKING REQUIRED to use this interface.

The protocol and its commands aren't published, but some heavy digging on Crestron and debugging the tivoapp binary resulted in some interested finds.

If you telnet into your TiVo on port 31339, you will be presented with the following:



Code:


CH_STATUS <CHANNEL> <STATUS>

This prompt reflects the current status of the TiVo and will tell you the current channel being watched, and if it's being recorded.

Once the telnet session is started, the following commands are available:

KEYBOARD - The current purpose and syntax of this command is unknown.

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 <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 <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 <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.

The following is a list of IRCODE commands that I have verified as working:



Code:


UP
DOWN
LEFT
RIGHT
SELECT
TIVO
LIVETV
THUMBSUP
THUMBSDOWN
CHANNELUP
CHANNELDOWN
RECORD
DISPLAY
DIRECTV
NUM0
NUM1
NUM2
NUM3
NUM4
NUM5
NUM6
NUM7
NUM8
NUM9
ENTER
CLEAR
PLAY
PAUSE
SLOW
FORWARD
REVERSE
STANDBY
NOWSHOWING
REPLAY
ADVANCE
DELIMITER
GUIDE

If take too long to type a command, it will result in COMMAND_TIMEOUT since the interface was designed to receive whole and complete commands, and was not designed to be used manually via telnet.

That's all I've found for now, but I'll be sure to post updates as they come along.


----------



## Omikron

[reserved Post]


----------



## bdraw

Wow, nice job!

Now why they hell didn't I ever think of that?
I just tried it and it works great, now we just need to figure out how to query information like current channel, current recording etc.


----------



## tivoupgrade

That is a really interesting discovery. Just played around with it a bit on one of my Series3 and it was simple and straightforward. Would be really interesting to see what additional information emerges and how this could be applied. 

Perhaps a JAVA application to remotely control the TiVo?

Perhaps a TiVoWebPlus module would give folks in 'hybrid' environments the ability to remotely control unhacked TiVos in their environment?

Could be fodder for a 'bounty' somewhere down the line?

Lou


----------



## StanSimmons

tivoupgrade said:


> That is a really interesting discovery. Just played around with it a bit on one of my Series3 and it was simple and straightforward. Would be really interesting to see what additional information emerges and how this could be applied.
> 
> Perhaps a JAVA application to remotely control the TiVo?
> 
> *Perhaps a TiVoWebPlus module would give folks in 'hybrid' environments the ability to remotely control unhacked TiVos in their environment?*
> 
> Could be fodder for a 'bounty' somewhere down the line?
> 
> Lou


It works on prom-hacked TiVoHD's too.


----------



## Omikron

It would appear that the <STATUS> field has 3 states: LOCAL, REMOTE, and RECORDING

It would appear so far that LOCAL refers to the current tuner being watched, REMOTE refers to the tuner not being watched, and RECORDING means that the current tuner is recording.

Can someone do some testing and confirm or refute this?


----------



## Omikron

bdraw said:


> Wow, nice job!
> 
> Now why they hell didn't I ever think of that?
> I just tried it and it works great, now we just need to figure out how to query information like current channel, current recording etc.


The current channel is automatically reported back anytime you connect or anytime the channel changes.


----------



## StanSimmons

interesting datapoint:



> SETCH 333
> CH_FAILED INVALID_CHANNEL


333 is an invalid channel.


----------



## StanSimmons

Omikron said:


> It would appear that the <STATUS> field has 3 states: LOCAL, REMOTE, and RECORDING
> 
> I*t would appear so far that LOCAL refers to the current tuner being watched, REMOTE refers to the tuner not being watched*, and RECORDING means that the current tuner is recording.
> 
> Can someone do some testing and confirm or refute this?


That looks to be the case:



> SETCH 357
> CH_STATUS 0357 REMOTE
> CH_STATUS 0357 LOCAL
> IRCODE CHANNELUP
> CH_STATUS 0363 LOCAL
> SETCH 357
> CH_STATUS 0357 REMOTE


----------



## Omikron

StanSimmons said:


> interesting datapoint:
> 
> 333 is an invalid channel.


I assume your TiVo doesn't have access to channel 333? It works fine on mine.

That said, here are some other possible responses I pulled from tivoapp:



Code:


INVALID_KEY
INVALID_COMMAND
MISSING_TELEPORT_NAME
CH_FAILED
MISSING_CHANNEL
MALFORMED_CHANNEL
LIVETV_READY
NO_LIVE
INVALID_CHANNEL
COMMAND_TIMEOUT


----------



## windracer

/subscribe

Pretty cool stuff! :up: I could really mess with my wife in the other room this way.


----------



## davezatz

Awesome find. I linked this thread and shot a quick video demo using my iPhone as a TiVo WiFi remote. Tons of potential here...


----------



## StanSimmons

Omikron said:


> I assume your TiVo doesn't have access to channel 333? It works fine on mine.


333 is not an active channel on my setup.


----------



## Omikron

StanSimmons said:


> 333 is not an active channel on my setup.


Well then that makes sense. ;-)


----------



## WinBear

You could "page" the person watching the TiVo in another part of the house by sending a pause, a thumbs up, and a thumbs down or something like that.


----------



## Omikron

WinBear said:


> You could "page" the person watching the TiVo in another part of the house by sending a pause, a thumbs up, and a thumbs down or something like that.


That...would be incredibly lazy! ;-)

I imagine in most houses where such a feature would be remotely useful are already big enough where they have an intercom system installed.


----------



## PaulS

/subscribe

Really cool stuff!

Pumping commands through CURL would probably avoid the problems of having the commands time-out.

Paired with some guide data, you could completely replace the TiVo's own scheduling functionality with a PC-based version. Redundant, but interesting.


----------



## KRKeegan

I am very interested in seeing how this develops. I agree with the general sentiment that there is probably some nice functionality that could be built using this, but I can't think of one yet.


----------



## Omikron

KRKeegan said:


> I am very interested in seeing how this develops. I agree with the general sentiment that there is probably some nice functionality that could be built using this, but I can't think of one yet.


Well, the only functionality I can think of is just TiVo control over TCP/IP which is exactly what it was designed for. The main advantage here is that we are now able to create our own interfaces for it. I imagine it won't be long before someone develops a small iPhone app that mimics TivoWebPlus's WebRemote module.

Some might also be interested in a Mac OS X Widget or a Windows Vista Gadget that does the same.


----------



## enthalpy

Nice. This makes so much sense. I can't wait to get home and try it.

But telnet? Will ssh work? telnet is so out of favor due to lack of security. My Nokia N810 doesn't have telnet built in.


----------



## ashu

Wait ... CoOperative Scheduling (between multiple HD/S3 TiVos), perchance!? 
Assuming access to the SP list, ToDo List et al can be wrangled. I don't see it yet in the above 'discovered' (?) set of commands


----------



## enthalpy

Omikron said:


> That...would be incredibly lazy! ;-)
> 
> I imagine in most houses where such a feature would be remotely useful are already big enough where they have an intercom system installed.


Oh, I know: instead of "I've fallen and I can't get up", I can send a SETCH 911, and if my girlfriend sees that the TV is tuned to 911, she'll know that's there's an emergency. ;-)


----------



## Omikron

enthalpy said:


> Nice. This makes so much sense. I can't wait to get home and try it.
> 
> But telnet? Will ssh work? telnet is so out of favor due to lack of security. My Nokia N810 doesn't have telnet built in.


SSH would definitely not work. In fact, I believe the actual protocol being used is RAW but Telnet is pretty darn close so that works too.

There is no security involved in this because, again, it's just remote control over TCP/IP. There is absolutely no reason to complicate matters by introducing authentication or encryption.


----------



## StanSimmons

Omikron said:


> SSH would definitely not work. *In fact, I believe the actual protocol being used is RAW* but Telnet is pretty darn close so that works too.
> 
> There is no security involved in this because, again, it's just remote control over TCP/IP. There is absolutely no reason to complicate matters by introducing authentication or encryption.


Perhaps nc (netcat) should be used instead of telnet then. Or puTTY on Windows....


----------



## Omikron

StanSimmons said:


> Perhaps nc (netcat) should be used instead of telnet then. Or puTTY on Windows....


If I recall correctly warewolf tried using netcat and it locked up the TiVo UI. puTTY works fine in RAW mode.


----------



## PaulS

ashu said:


> Wait ... CoOperative Scheduling (between multiple HD/S3 TiVos), perchance!?
> Assuming access to the SP list, ToDo List et al can be wrangled. I don't see it yet in the above 'discovered' (?) set of commands


Probably won't see it either.

However, that doesn't rule out co-operative scheduling. You'd probably have to hand over complete recording and scheduling control to the computer, though. In order to ensure that the TiVo and computer wouldn't try to start conflicting or over-lapping programs, the computer would likely have to have complete control. That means no SeasonPasses or ARWL's on the TiVo's.

You'd have to modify a computer application that had access to guide data (MythTV or something similar) so that it would emit telnet commands to one of your TiVo's, rather than try to record the program direct to disk with a tuner. You'd then additionally have to feed it a list of usable TiVo's to use (including how many tuners they have), as well as a list of programs to record (similar to a Season Pass Manager).

So, it's possible, but would be a significant bit of work...


----------



## Jasoco

Am I doing something wrong?

I'm on OS X. I open up my Terminal and type "telnet". I get the prompt.

>

What do I do from here? I try typing "open" and it asks for an IP. So I type "192.168.1.108:31339". Am I typing that wrong? 192.168.1.108 is my IP on my LAN, 31339 is the port. But it says "nodename nor servname provided, or not known".

If I leave off the port number it sits there "trying".

What exactly am I supposed to do? Do I have to turn something on first? Do I need to open a port on my router?


----------



## ThAbtO

I was able to use this on my THD and if I sent 'SETCH 4' it switches to ch 4, while 'SETCH 4 3' goes to ch 4.3, but when I tried to use a period or dash to set the digital channel and that didn't work.

FYI, This didn't work for the S2 though.


----------



## ThAbtO

Jasoco said:


> What do I do from here? I try typing "open" and it asks for an IP. So I type "192.168.1.108:31339". Am I typing that wrong? 192.168.1.108 is my IP on my LAN, 31339 is the port. But it says "nodename nor servname provided, or not known".
> 
> If I leave off the port number it sits there "trying".
> 
> What exactly am I supposed to do? Do I have to turn something on first? Do I need to open a port on my router?


Try using a space instead of a colon ':'


----------



## PaulS

Crestron has a page up about this "module" of theirs. You need to have a login to download the module, but they do have a screen shot, which should illustrate the functions that are currently supported :










Looks like most of the bases have already been covered, but not all of them. For instance, the Crestron image shows an "aspect" and an "info" control.


----------



## Omikron

ThAbtO said:


> I was able to use this on my THD and if I sent 'SETCH 4' it switches to ch 4, while 'SETCH 4 3' goes to ch 4.3, but when I tried to use a period or dash to set the digital channel and that didn't work.
> 
> FYI, This didn't work for the S2 though.


Sorry, I forgot to mention that tidbid about digital subchannels.

When using SETCH, a space is used as the delimiter, but when using IRCODE you can use DELIMITER as a delimiter.


----------



## ThAbtO

Omikron said:


> Sorry, I forgot to mention that tidbid about digital subchannels.
> 
> When using SETCH, a space is used as the delimiter, but when using IRCODE you can use DELIMITER as a delimiter.


Add these to your IRCODE commands:

INFO
WINDOW (aspect button)


----------



## Omikron

ThAbtO said:


> Add these to your IRCODE commands:
> 
> INFO
> WINDOW (aspect button)


I thought I had already added those, but that would not appear to be the case. I'll make sure to update my original post once I refresh all of the info tonight.


----------



## Omikron

Now, if someone wants to figure out what KEYBOARD does, please be my guest!


----------



## Jasoco

Sweet! It works. Now if only I had a use for it. 

Here's hoping someone creates an OS X app or Widget to do it too.


----------



## windracer

Hahaha ... I finally got a chance to play with this. Too cool. Not sure what I'd use it for, but definitely cool.

I could pull a Zatz and use SSH on my Treo 680 to connect to my Linux box at home, then telnet into the TiVo and change channels. Why? Well, why not?


----------



## Omikron

windracer said:


> Hahaha ... I finally got a chance to play with this. Too cool. Not sure what I'd use it for, but definitely cool.
> 
> I could pull a Zatz and use SSH on my Treo 680 to connect to my Linux box at home, then telnet into the TiVo and change channels. Why? Well, why not?


Or, if there is something important on and you absolutely HAVE to record it you could use a combination of "FORCECH XXX" and "IRCODE RECORD". ;-)


----------



## dcrowell77

Could KEYBOARD be used to maybe 'type' into character entry fields, e.g. the program or wishlist search boxes? That would be a lot easier than trying to figure out up-right-down-down-enter...


----------



## ThAbtO

I tried to figure out what emulation to use on NetTerm but all I could manage to do was lock up the Tivo.


----------



## Omikron

dcrowell77 said:


> Could KEYBOARD be used to maybe 'type' into character entry fields, e.g. the program or wishlist search boxes? That would be a lot easier than trying to figure out up-right-down-down-enter...


That would be nice...but last night I tried basic commands like "KEYBOARD TEST" AND "TEST" did not appear in the box. :-/

That said, I think we're on the right track but we may be missing the syntax.


----------



## yincrash

Anyone know if there is a code for closed captioning?


----------



## BrennanU

So this doesnt void the warranty or anything?


----------



## Omikron

yincrash said:


> Anyone know if there is a code for closed captioning?


Not a direct code, no.


----------



## Omikron

BrennanU said:


> So this doesnt void the warranty or anything?


I don't see how since you're not even opening the box...


----------



## yincrash

I tried copy and pasting
IRCODE INFO
IRCODE DOWN
IRCODE DOWN
IRCODE DOWN
IRCODE DOWN
IRCODE SELECT
IRCODE DOWN
IRCODE RIGHT
IRCODE UP
IRCODE SELECT

to toggle CC, however once it gets to the menu screen, it ignores the rest of the commands. i suppose they just get dropped.

i suppose if a program was written, it could be delayed pretty easily.


----------



## Omikron

yincrash said:


> I tried copy and pasting
> IRCODE INFO
> IRCODE DOWN
> IRCODE DOWN
> IRCODE DOWN
> IRCODE DOWN
> IRCODE SELECT
> IRCODE DOWN
> IRCODE RIGHT
> IRCODE UP
> IRCODE SELECT
> 
> to toggle CC, however once it gets to the menu screen, it ignores the rest of the commands. i suppose they just get dropped.
> 
> i suppose if a program was written, it could be delayed pretty easily.


Yeah, it's definitely a timing issue.


----------



## cgaspar

Omikron said:


> That would be nice...but last night I tried basic commands like "KEYBOARD TEST" AND "TEST" did not appear in the box. :-/
> 
> That said, I think we're on the right track but we may be missing the syntax.


I'd try simpler things, such as "KEYBOARD T", "KEYBOARD 84" (ASCII base10), "KEYBOARD 54" (ASCII hex), "KEYBOARD 0x54"


----------



## ThAbtO

I made all the commands into a txt file and can just mark/copy from notepad and then right-click in the telnet window from XP to paste. Works faster than I can type.


----------



## rbautch

Cool stuff. Great discovery, Omikron.


----------



## bizzy

So wierd. I wonder why 'nc' isn't working.

edit: oh, btw, it doesnt lock up my UI, though


----------



## ThAbtO

It doesn't lock up using telnet app, only when I tried it using NetTerm.


----------



## pzand

On the CH_STATUS <CHANNEL> <STATUS> message...

Rather than <STATUS> indicating the type of tuner, it would appear that <STATUS> indicates the "who done it". (<REASON>?)

REMOTE = because of an IR code received (either through the IRCODE command or from actual IR)
LOCAL = because of something local inside the device itself (First connect, SETCH, switch from any of the Tivo screens to LiveTV)
RECORDING = because we're recording something

???

If this is true, there's still no decent status indication of which tuner is actually doing what. Having a "STATUS" command to send to Tivo would be REALLY nice


----------



## Omikron

pzand said:


> On the CH_STATUS <CHANNEL> <STATUS> message...
> 
> Rather than <STATUS> indicating the type of tuner, it would appear that <STATUS> indicates the "who done it". (<REASON>?)
> 
> REMOTE = because of an IR code received (either through the IRCODE command or from actual IR)
> LOCAL = because of something local inside the device itself (First connect, SETCH, switch from any of the Tivo screens to LiveTV)
> RECORDING = because we're recording something
> 
> ???
> 
> If this is true, there's still no decent status indication of which tuner is actually doing what. Having a "STATUS" command to send to Tivo would be REALLY nice


That doesn't seem to be supported by what I've seen. If I monitor the status screen and change channels via the TiVo remote the status remains LOCAL. What have you seen that leads you in this direction?


----------



## pzand

The SETCH always returns LOCAL. IRCODE always returns REMOTE. Both seem to always change the tuner that I'm watching.

Edit: OK, scratch that. SETCH just returned REMOTE. 
I was watching the primary tuner and recording something on it. SETCH switched the tuners and returned REMOTE. So now I'm watching the remote tuner. Hmmm...

Edit2: SETCH again still returns REMOTE now. IRCODE CHANNELUP returns LOCAL, but I'm still watching the same tuner. Uhhhh?


----------



## Omikron

pzand said:


> The SETCH always returns LOCAL. IRCODE always returns REMOTE. Both seem to always change the tuner that I'm watching.
> 
> Edit: OK, scratch that. SETCH just returned REMOTE.
> I was watching the primary tuner and recording something on it. SETCH switched the tuners and returned REMOTE. So now I'm watching the remote tuner. Hmmm...
> 
> Edit2: SETCH again still returns REMOTE now. IRCODE CHANNELUP returns LOCAL, but I'm still watching the same tuner. Uhhhh?


Then perhaps there is still no clear-cut definition. :-/


----------



## pzand

Regardless of what the second parameter in the response means, what's clear is that this is an absolutely EXCELLENT find!!

This is going to make my Pronto 9600 soooo much better!


----------



## wmcbrine

Cool stuff.

Here's my first stab at a simulated remote... a Python app that requires GTK. Currently, you have to edit it to set TIVO_ADDRESS manually, and only IRCODE commands are supported.

This still needs a lot of work, but if people are cutting and pasting into a telnet app, I figure this is an improvement. 

[See sig for the latest version.]


----------



## MarkStega

I seem to have an issue on my HD; The commands seem to work and I get feedback from SETCH and IRCODE that seem appropriate, but that is followed about 2 seconds later by a "command timeout" message.

I do an "open" and immediately see "CH_STATUS 0841 LOCAL"

I then enter SETCH 0840 I first see "CH_STATUS 0840 REMOTE", then that is overwritten by "COMMAND_TIMEOUT".

I've tried both the Vista Telnet client and PuTTY. With PuTTY I tried both raw mode and TelNet.

I'm presuming the ENTER key is the appropriate key to send a command, yes?


----------



## windracer

MarkStega said:


> I then enter SETCH 0840 I first see "CH_STATUS 0840 REMOTE", then that is overwritten by "COMMAND_TIMEOUT".


You have to type fast. If you get COMMAND_TIMEOUT you need to start over typing your command again.


----------



## MarkStega

windracer said:


> You have to type fast. If you get COMMAND_TIMEOUT you need to start over typing your command again.


I am pasting the copmmands into the telnet client window and hitting enter. The commands are executing, for example, I get the ch_status if I do an up or down channel ircode command. It is after that acknowledgment that I am getting the timeout.


----------



## bicker

It probably times out waiting for your next command.


----------



## MarkStega

bicker said:


> It probably times out waiting for your next command.


So is everyone seeing this? If so, it seems like the 'proper' use pattern would be to connect, send the command, disconnect.


----------



## pzand

MarkStega,

This seems to be a "line-end" issue. Windows clients send <lf><cr> (0x0D,0x0A) at the end of each line. Tivo only sends/reacts to <lf> (0x0D). So when you paste your command, you actually send "SETCH 0840<lf><cr>". Tivo sees the <lf> and executes the SETCH 0840 command. It then sees the <cr> and thinks it's part of a next command. Since there is never a <lf> following it, it eventually times out.

The fact that is shows as overwriting in the telnet client (telnet/putty/etc) is a display thing. The client is actually seeing the <lf> at the end of the Tivo reply and using it as a <cr>. Yeah, it's messy 

Peter


----------



## wmcbrine

I don't seem to get COMMAND_TIMEOUT with my remote.py. (I realize the version I posted doesn't display any status codes... this was with a test version.) I found that the TiVo wants a CR (chr(13)) after each command... perhaps telnet is sending a CRLF, and the TiVo interprets the LF as the beginning of a command?

Edit: I was typing at the same time as Peter. However, he has CR and LF reversed -- CR = 13 (0x0D), LF = 10 (0x0A).


----------



## pzand

What he said. I have my <cr>'s and <lf>'s mixed up.


----------



## MarkStega

Thanks to both of you -- I even suspected that was the case ands tried to set the CR only option in the Vista TelNet client with the "unset crlf" command, but that didn't help.

I am writing a device driver for CQC and I can absolutely control each character sent, so I won't have an issue with that.


----------



## windracer

Is there a proper exit/quit commands? Using regular Microsoft Telnet, I can't seem to exit out via CTL-C or anything and have to just close the window.


----------



## yincrash

windracer said:


> Is there a proper exit/quit commands? Using regular Microsoft Telnet, I can't seem to exit out via CTL-C or anything and have to just close the window.


Since I believe it's just a raw TCP connection, the proper way to quit is to disconnect. Either by closing your telnet app or if your app has a disconnect button. I doubt that something like this would need any separate disconnect message to be sent for cleanup purposes or whatever.


----------



## BiloxiGeek

I'm pretty sure the Windows telnet client will take a Ctrl-] (close square bracket) to disconnect but leave the telnet client running. Then you can use "quit" to get back to the CLI.


----------



## morac

This is very cool, but it's also a little unnerving. Especially if you start allowing communication to the TiVo from outside your network. You could end up with drive by forced channel changes if you aren't careful.


----------



## bgiannes

so someone could write a program that could, control everything tivo does/records. You could have a program running external to tivo getting lineups info from web, and controling tivo in everyway? season passes, etc etc... Tivo would become a shell?


----------



## PaulS

bgiannes said:


> so someone could write a program that could, control everything tivo does/records. You could have a program running external to tivo getting lineups info from web, and controling tivo in everyway? season passes, etc etc... Tivo would become a shell?


Yup. Essentially, that's what Ashu is asking for above. Let the external computer be the smarts, and make the S3/THD a dumb CableCARD-enabled recorder.

I would imagine BeyondTV, with the ability to record 6 to 10 different tuners could handle this fairly simply, were they to write up a bit of glue code to do this.


----------



## tivoupgrade

PaulS said:


> Yup. Essentially, that's what Ashu is asking for above. Let the external computer be the smarts, and make the S3/THD a dumb CableCARD-enabled recorder.
> 
> I would imagine BeyondTV, with the ability to record 6 to 10 different tuners could handle this fairly simply, were they to write up a bit of glue code to do this.


Actually, that was me. The reason I suggested it be done in JAVA was so that it could work 'cross-platform' without much trouble. I'm sure there would be other ways to do it so it could run inside a browser, but since my coding skills pretty much end in with FORTRAN and shell scripting, I've not kept up on the cross-platform stuff so well.


----------



## bicker

Still, none of this gives us what I would consider the holy grail: The Now Playing List (and the ability to select from it by handle on a specific title), and/or the To Do List (etc.)


----------



## PaulS

tivoupgrade said:


> Actually, that was me. The reason I suggested it be done in JAVA was so that it could work 'cross-platform' without much trouble. I'm sure there would be other ways to do it so it could run inside a browser, but since my coding skills pretty much end in with FORTRAN and shell scripting, I've not kept up on the cross-platform stuff so well.


python would work just as well, and keep it platform agnostic.

Ashu's point was that you could enable co-operative scheduling between TiVo units using this. Have the computer do all of the scheduling and conflict resolution, and just have the TiVo's serve as tuners with storage. BeyondTV came to mind since they nearly already do all of this, except with internal tuners. It wouldn't be much of a stretch to issue a series of telnet commands to start a recording rather than a few driver calls to fiddle with a tuner.


----------



## tivoupgrade

PaulS said:


> python would work just as well, and keep it platform agnostic.
> 
> Ashu's point was that you could enable co-operative scheduling between TiVo units using this. Have the computer do all of the scheduling and conflict resolution, and just have the TiVo's serve as tuners with storage. BeyondTV came to mind since they nearly already do all of this, except with internal tuners. It wouldn't be much of a stretch to issue a series of telnet commands to start a recording rather than a few driver calls to fiddle with a tuner.


I like the idea of python; it is definitely enjoying a resurgence.

I smell a 'bounty' on the horizon; the one we did for the Neuros really didn't turn into anything, but I think that is because it was too complicated. Will give it some thought over the weekend and chime in again here if it makes sense...


----------



## pzand

bicker said:


> Still, none of this gives us what I would consider the holy grail: The Now Playing List (and the ability to select from it by handle on a specific title), and/or the To Do List (etc.)


Exactly.


----------



## reneg

Though I haven't played with ircode record yet, it seems problematic to me. I don't see an ircode to stop. If record is dependant upon the guide data in the Tivo, then there will be problems. What happens when you pass the Tivo a record ircode? Does it record the channel you are on for the duration of the program according to the guide data within the Tivo? If so, then trying to coordinate recording from a PC with odd start times for shows and padding just doesn't seem feasible from the outside from what I've seen so far. It would seem that the Tivo and PC guide data would have to be in sync.


----------



## PaulS

reneg said:


> Though I haven't played with ircode record yet, it seems problematic to me. I don't see an ircode to stop. If record is dependant upon the guide data in the Tivo, then there will be problems. What happens when you pass the Tivo a record ircode? Does it record the channel you are on for the duration of the program according to the guide data within the Tivo? If so, then trying to coordinate recording from a PC with odd start times for shows and padding just doesn't seem feasible from the outside from what I've seen so far. It would seem that the Tivo and PC guide data would have to be in sync.


Sounds very likely. You'd have to start playing games with recording back-to-back shows to effect padding, and using "FORCECH" to effect a stop function. Messy stuff.

Additionally, you'd have to worry about clock skew between the PC and the TiVo. If the IRCODE RECORD only records the current show on the current channel, what happens if the PC issues the command a minute too early ? You end up recording the wrong program.


----------



## bgiannes

could a prgram like vlcplayer be used to steam the on-screen display, to a remote location that has this remote control program? this would make tivo into a sling-box?


----------



## SuperC142

Omikron - this is awesome; thank you for posting!!

I think the biggest goldmine will be the KEYBOARD command. I'm wondering if there's some kind of escape code for literal characters. Such as the IRCODE command requiring NUM[n]. I've tried obvious stuff: "KEYA", "LETA", "KEY0x65", "\A", etc., etc., but can't get it yet. But when you think about it, it might need this to differentiate between literal strings and special keys (like "CTRL") so that it doesn't take the special keys literally. Just a thought.


----------



## wmcbrine

Even if we can't get "KEYBOARD" to do anything, we can still use port 31339 to get easier keyboard entry -- we just translate a string to the appropriate sequence of up, down, left, right, and select.


----------



## windracer

wmcbrine said:


> we just translate a string to the appropriate sequence of up, down, left, right, and select.


Yikes ... we'll need another utility to generate the strings!

With all of the different ouija board layouts, that could be "fun."


----------



## ThAbtO

windracer said:


> Is there a proper exit/quit commands? Using regular Microsoft Telnet, I can't seem to exit out via CTL-C or anything and have to just close the window.


After hitting Ctrl-], entering 'C' will close connection and 'O address' will open another without closing the telnet client. Hitting 'Q' will close the client though.


----------



## BiloxiGeek

wmcbrine said:


> Here's my first stab at a simulated remote...


That's a pretty good stab, remind me not to meet up with you in a dark alley!! 

Is there any way to have it display the current channel being shown?

Another button that might be nice to have is one that brings up the NPL by sending two 'TIVO' signals.


----------



## ThAbtO

BiloxiGeek said:


> Another button that might be nice to have is one that brings up the NPL by sending two 'TIVO' signals.


Just send in a 'TELEPORT NOWPLAYING' or 'IRCODE NOWPLAYING'


----------



## BiloxiGeek

ThAbtO said:


> Just send in a 'TELEPORT NOWPLAYING' or 'IRCODE NOWPLAYING'


That works once you replace NOWPLAYING with NOWSHOWING.

And using the remote.py with NOWPLAYING before I saw the difference just caused my TiVo HD to reboot.

I've modified the script lines 32 and 33 to be:



> buttons = (('Menu', 'TIVO', 0, 1, 0, 1), ('NPL', 'NOWSHOWING', 1, 2, 0, 1),
> ('Aspect', 'WINDOW', 0, 1, 1, 2),


It works good for getting straight to the NPL now.


----------



## BiloxiGeek

windracer said:


> Yikes ... we'll need another utility to generate the strings!
> 
> With all of the different ouija board layouts, that could be "fun."


Plus you have to either remember where you're at on the ouija board before the next character, or get the character in, then reverse course back to a known starting place before going for the next character. But I bet it would be cool as hell to watch as those commands stream into the TiVo.


----------



## ThAbtO

BiloxiGeek said:


> That works once you replace NOWPLAYING with NOWSHOWING.
> 
> And using the remote.py with NOWPLAYING before I saw the difference just caused my TiVo HD to reboot.


I looked at my list and I have:

IRCODE NOWSHOWING
TELEPORT NOWPLAYING


----------



## windracer

wmcbrine said:


> Here's my first stab at a simulated remote... a Python app that requires GTK.


Ha, cool. I got it working on my Eee PC. Nice.


----------



## KRKeegan

I finally thought of a good use for this, but I am not sure how accurate it would be.

Currently there is no way to delete a program on the TiVo without being in front of the TiVo(Or through something like slingbox). But now you can do the same thing with this feature, albeit in a very roundabout fashion, and there is a danger that you could delete the wrong item, but it would be possible.


----------



## bicker

That's great -- well -- all except for that deleting the wrong item part.


----------



## morac

Actually I thought of a number of uses for this, but all of them won't work unless you can actually view the results of the commands. At that point you might as well just use a Slingbox.

For example I thought a good idea would be to write a HME application to control one TiVo from another, but you'd be flying blind unless you set up some kind of close circuit feed to display your other TiVo.

So really it's only good for what it was originally designed to do.


BTW does anyone know what emulation it uses? I tried using the telnet command prompt in Windows XP, but the results displayed as gibberish. Hypertrm.exe worked (kind of), but I need to issue a command before I can see any status.


----------



## PaulS

morac said:


> BTW does anyone know what emulation it uses? I tried using the telnet command prompt in Windows XP, but the results displayed as gibberish. Hypertrm.exe worked (kind of), but I need to issue a command before I can see any status.


Worked fine for me with putty in RAW mode.


----------



## kcl

For this to be able to interface to an external driver (like in CQC), you would like to have some way to acknowledge the receipt of a valid message. From what I'm reading here, there's only a response for an invalid message. Without a validation message, you can't set up any reasonable handshaking within the driver. (For example, if there was an "acknowledge" switch and/or command that you could add to a command, that would do the job nicely.)


----------



## wmcbrine

For those who don't have PyGTK, here's a version based on Tkinter, so you only need the basic Python installation. Tested on Linux, Mac OS X and Windows. I've also included the PyGTK version in the archive, slightly trimmed and renamed "remote-gtk.pyw", but with no change in functionality. That's next...

[See sig for the latest version.]


----------



## spiralman

I threw together a simple little Python/Tkinter app for doing a "Search By Title."

To run it:
*Windows*: I think you need to rename tivo-search.py to tivo-search.pyw, then you can double-click it to run (it has to stay in the tivo-search folder, though)
*Mac OSX/Linux*: in a terminal, cd into tivo-search and run: python tivo-search.py

To Use it:
1) Type in your Tivo's IP address or hostname and click "Connect"
2) Type in the search you want to do and click "search." Listen to that keyboard type away!
3) You can re-search and it'll just clear the keyboard and start over.

Currently the "Disconnect" feature is broken. You'll have to quit and re-run it.

For the Python-literate, I implemented two modules with it: tivo.py (for sending commands to the tivo), and keyboard.py for navigating the On-Screen-Keyboard. I haven't put them in a proper package yet, though.

It's pretty hack-ish. I haven't figured out the KEYBOARD command, so I'm just doing navigation among the on screen keyboard.

The other missing piece is being able to figure out if you're on the "TiVo Central" page or not. If you are, sending an IRCODE/TELEPORT TIVO command takes you to the Now Playing, which you don't want. So, instead I send it to LiveTV first, and then back to Tivo Central, before navigating the menus.

Enjoy,
Thomas


----------



## pzand

Anyone marry this up with the "Now Playing" info that's available over http/https from TiVo yet?

https://<ip>/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying
username: tivo
password: <your MAK>


----------



## wmcbrine

spiralman said:


> 3) You can re-search and it'll just clear the keyboard and start over.


You could speed this up by sending IRCODE CLEAR instead of navigating to CLR and selecting it.


----------



## ThAbtO

pzand said:


> Anyone marry this up with the "Now Playing" info that's available over http/https from TiVo yet?
> 
> https://<ip>/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying
> username: tivo
> password: <your MAK>


I have a shorter line:

https://<tivo's IP>/nowplaying/index.html


----------



## Mr Markus

On the ideas for using the Telnet connection control, this would work well for any Sling type device so you can see your selections.

But, for those without a Sling, a simpler purpose is for remote power downs. The menu system selections shouldn't be changing (as compared to the NowPlaying list).

Any place with killer storms, it would give you the piece of mind your harddrives won't crash due to a power outage. Then when you get home from work, you can unplug your priceless TiVo if you don't trust your battery backup with surge protection.

Sure you might miss some recordings, but that's a small price for the piece of mind you TiVo is safe.

BTW, I didn't get it right using NetCat (nc) but PuTTy in RAW mode works just fine.


----------



## quango

You can't power down a TiVo without physically disconnecting the power supply; "standby mode" just switches off the video and audio outputs on the device, but otherwise it's "on" and potentially recording all the time.


----------



## BiloxiGeek

spiralman said:


> The other missing piece is being able to figure out if you're on the "TiVo Central" page or not. If you are, sending an IRCODE/TELEPORT TIVO command takes you to the Now Playing, which you don't want. So, instead I send it to LiveTV first, and then back to Tivo Central, before navigating the menus.
> 
> Enjoy,
> Thomas


I ran that while watching live tv and ending up in my To Do list. I heard it trying to enter characters but the screen was on Please Wait

Tried a second time after manually getting to the Search by Title page and then back to live tv so it would cached anything neccessary. Got to the ouija board and input AKKAHHA. The search term I had input was MISSISSIPPI. K and H are in the same relative positions to each other as S and P. So somewhere it got confused about where it was.

A third try with HOCKEY for the search term worked nicely.

Another try with MISSISSIPPI didn't even make it to the ouija board.

Tried using it while the ouija board was already on screen and it poked out MISSISSIPPI nicely.


----------



## gonzotek

ThAbtO said:


> I have a shorter line:
> 
> https://<tivo's IP>/nowplaying/index.html


That's formatted html. The longer URL requests XML, which is better for machine processing.


----------



## spiralman

BiloxiGeek said:


> Tried a second time after manually getting to the Search by Title page and then back to live tv so it would cached anything neccessary. Got to the ouija board and input AKKAHHA. The search term I had input was MISSISSIPPI. K and H are in the same relative positions to each other as S and P. So somewhere it got confused about where it was.


Inside tivo-search.py you'll find a line like "self.menusleeptime = 2", you can change that to a bigger number (it's in seconds, and you can do reals, like 2.5, etc). That's the amount of time it waits after going to LiveTV and the TiVo screen, and it sounds like yours might take a bit longer to show up than mine.

The keyboard module tries to remember where it left off when you do another search, but it sounds like, since you're doing things manually, it's getting a little lost. A safe bet is to put it back on "A," but that won't always work.

I forgot/didn't see the IRCODE CLEAR command, so, when i switch to using that, it should be a little more forgiving.

Thanks for the feedback,
Thomas


----------



## spiralman

I did a little tweaking, switching the clear to use the IRCODE CLEAR command, and I added a "Reset" button. If, after you do a search, you navigate at all on the TiVo remote, you can click "reset" in the search window and then re-search and it'll start over from the beginning (going to livetv, then tivo, etc).

With the new IRCODE CLEAR command, it should be possible to re-search without hitting "reset" as long as you're still on the search page, but I haven't tested that very thoroughly.

--Thomas


----------



## wmcbrine

This version combines the PyGTK and Tkinter versions -- it will first try Gtk, then fall back to Tk. If you have Gtk installed but prefer to use a Tk interface, give the "--force-tk" option on the command line (or, you could edit it to set use_gtk to False).

Any other command-line option will now be interpreted as the IP address to connect to, overriding the default.

The status messages from the TiVo are now shown at the bottom.

Finally, I had the positions of "Clear" and "Enter" swapped. Also, I've now labelled the TIVO button "TiVo" instead of "Menu".

[See sig for the latest version.]


----------



## snedecor

Has anyone tried....

UP
UP
DOWN
DOWN
LEFT
RIGHT
LEFT
RIGHT
A
B
SELECT
START

I tried it, but all I got was infinite lives????


----------



## Omikron

snedecor said:


> Has anyone tried....
> 
> UP
> UP
> DOWN
> DOWN
> LEFT
> RIGHT
> LEFT
> RIGHT
> A
> B
> SELECT
> START
> 
> I tried it, but all I got was infinite lives????


Maybe you didn't do it fast enough. If you do it really fast you get free Lifetime on the box. ;-)


----------



## BiloxiGeek

Gee, I thought maybe it was a easter egg code to get unlimited ammunition or 999 free lives in Doom.


----------



## morac

snedecor said:


> Has anyone tried....
> 
> UP
> UP
> DOWN
> DOWN
> LEFT
> RIGHT
> LEFT
> RIGHT
> A
> B
> SELECT
> START
> 
> I tried it, but all I got was infinite lives????


Try doing B, then A (and leave out SELECT).


----------



## duckfin

I made a quick and dirty (and I stress dirty) little program that lets you control your TiVo with your iPhone. Now if you lose your remote, someone can call it for you.
(I can also post the source if anyone is interested.)


----------



## jeffcox65

wmcbrine said:


> This version combines the PyGTK and Tkinter versions -- it will first try Gtk, then fall back to Tk. If you have Gtk installed but prefer to use a Tk interface, give the "--force-tk" option on the command line (or, you could edit it to set use_gtk to False).
> 
> Any other command-line option will now be interpreted as the IP address to connect to, overriding the default.
> 
> The status messages from the TiVo are now shown at the bottom.
> 
> Finally, I had the positions of "Clear" and "Enter" swapped. Also, I've now labelled the TIVO button "TiVo" instead of "Menu".


This is awesome!! Thank you!!


----------



## jeffcox65

duckfin said:


> I made a quick and dirty (and I stress dirty) little program that lets you control your TiVo with your iPhone. Now if you lose your remote, someone can call it for you.
> (I can also post the source if anyone is interested.)


Okay, this is exactly what I want -- this will be so awesome when I can get it to work.

But how do i get this .zip file working? My iPhone is jailbroken -- I've got the app in /Applications, but it doesn't show up as an icon and I can't get it to run.

What am I missing?


----------



## duckfin

jeffcox65 said:


> Okay, this is exactly what I want -- this will be so awesome when I can get it to work.
> 
> But how do i get this .zip file working? My iPhone is jailbroken -- I've got the app in /Applications, but it doesn't show up as an icon and I can't get it to run.
> 
> What am I missing?


Did you kill the SpringBoard process (or reboot the phone)? 
Make sure that the /Application/TiVoRemote.app/TiVoRemote file is executable (chmod 755 /Applications/TiVoRemote.app/TiVoRemote).


----------



## MurrayW

Any chance of getting this to work on a hacked series 2 DirecTiVo?


----------



## wmcbrine

Now it gets more interesting.  This version includes a "CC" button for closed caption toggling. It's not 100% reliable, but maybe 95%. I also added SPS30S (30-second skip toggle) and SPS9S (clock toggle) buttons to fill out the row.

[See sig for the latest version.]


----------



## duckfin

I've created a google code page for the iPhone TiVo Remote program.

http://tivoremote.googlecode.com

It has the source, and will have any newer versions.


----------



## wmcbrine

duckfin said:


> It has the source, and will have any newer versions.


Cool. I don't have an iPhone, but I can always read the source. 

I found a small problem in TiVoConnection.m:

sprintf(buffer, "IRCODE %s\r\n", cmd);

The TiVo only wants a '\r' -- the '\n' will just make it send back "COMMAND TIMEOUT" messages.


----------



## duckfin

wmcbrine said:


> Cool. I don't have an iPhone, but I can always read the source.
> 
> I found a small problem in TiVoConnection.m:
> 
> sprintf(buffer, "IRCODE %s\r\n", cmd);
> 
> The TiVo only wants a '\r' -- the '\n' will just make it send back "COMMAND TIMEOUT" messages.


Thanks!

(I guess if I looked at what the TiVo was sending back I would have noticed that. Shame on me.)

It is updated.


----------



## jeffcox65

duckfin said:


> I've created a google code page for the iPhone TiVo Remote program.
> 
> http://tivoremote.googlecode.com
> 
> It has the source, and will have any newer versions.


Thanks for this -- that's the best way to do it.

Works like a charm! Way to go! Thank you!


----------



## wmcbrine

This version has a keyboard entry function. Also, I had to rearrange the buttons to fit it in, which included moving Ch- to below Ch+, where it really belongs. (That was bugging me.)

Keyboard entry should work on any screen with a keyboard, with a few caveats. First, be sure the "Cols:" field is set to the correct number of columns -- that's 4 for the standard Search, but 5 for Swivel Search, for example. I've seen between 4 and 9 columns in various keyboards, so I've made that the range, with 4 as the default.

Second, be sure that the selector is on 'A' at the start. "Clear" does that automatically for the built-in menus, but tends not to for the HME menus (like Swivel Search).

Currently there's no support for mixed case; you'll have to handle that manually.

[See sig for the latest version.]


----------



## anticrust

@wmcbrine

VERY COOL! How about a stop button?


----------



## wmcbrine

What would a stop button do?


----------



## windracer

On the DVD units it'll stop DVD playback, but since the S2 boxes aren't supported ...


----------



## anticrust

wmcbrine said:


> What would a stop button do?


IRCODE STOP

It stops the playback of running show and returns you to the program info screen for that show. It's very useful for stopping and deleting a programs that you have seen before. Unless you are at the end of the show, the TiVo button returns you all the way to the TiVo Central screen (PITA).


----------



## wmcbrine

The left arrow key would do the same thing, no?


----------



## anticrust

Yeah, once the initial info layover disappears, but stop is definitively, stop. I know it's not included on the original TiVo remote, but I have it mapped on my Harmony remote and use it often. I'm sure I can add it myself (starting to learn python thanks to you ), but others may find it useful as well.


----------



## turnipsun

I just saw a video of the iPhone app on Gizmodo. So if anyone was interested to see what it looks like in action on an iPhone you can see...

http://gizmodo.com/388754/iphone--ipod-tivoremote-app-makes-telnet-control-easy


----------



## jeffcox65

wmcbrine said:


> This version has a keyboard entry function.


Ok, the CC function and now the keyboard entry are just downright FREAKY!! BUT THEY WORK! Truly Amazing!!!

Now here comes my wish...

Would there be any way of controlling your app with keyboard shortcuts? Like the keyboard arrows being the Left, Right, Up and Down functions? Maybe the Return key or the Spacebar could be "Select"? Or maybe Spacebar could be Pause?

Just dreamin' here...

- Jeff


----------



## anticrust

I tried changing the layout, but pooched the keyboard widgets. Any suggestions?


----------



## windracer

wmcbrine's remote app is really "tall" (it won't fit on my Eee PC's screen without scrolling, and even in 1024x768 on an external monitor it fills the screen top to bottom). Any chance of a landscape version? 

_edit:_ maybe it's time for me to actually learn some python ...


----------



## mrhack636

Duckfin, 
I got your app working on my iphone and I already started trying to make it look nicer with different gfx, only problem it all uses 1 button.
Anyway you could make it skinnable? In the link below is a bunch of tivo images you can use for the remote I'm sure it'd make it look 10times nicer.
http://stashbox.org/114261/tivoimages.zip

MrHack


----------



## wmcbrine

OK, here are some keyboard shortcuts. I've tried to make most of them logical. I had a hard time deciding whether Return should map to Enter or Select, and a few came out weird. Here's the list so far:

Arrow and number keys: same

t: TiVo
a: Aspect
i: Info
l: LiveTV
g: Guide

Return: Select
d: ThumbsDown
u: ThumbsUp

PgUp: ChannelUp
PgDn: ChannelDown
r: Record

p: Play
Space: Pause
f: Forward
v: Reverse
s: Skip
x: Replay
o: Slow

Esc: Clear
.: Enter

c: closed captions
q: quit

(I've put this in the archive, too.)

[See sig for the latest version.]


----------



## jeffcox65

wmcbrine said:


> OK, here are some keyboard shortcuts.


awesome! intuitive!

now i can watch tv and work on my laptop and do all of that tivo stuff without having to reach for the remote, or even lifting my hands off the keyboard.

YOU TOTALLY ROCK!

- Jeff


----------



## anticrust

@wmcbrine

WELL DONE!!! 

Question, since I'm changing the layout to 4 columns wide, how do I extend the text area (gtk.Entry) to occupy 3 columns? I've tried with no success.  

Also, I added and extra PLAY command at the end of the 'clock' and 'sps30' buttons just to clear the progress bar at the end.

def sps30(widget=None):
irsend('SELECT', 'PLAY', 'SELECT', 'NUM3', 'NUM0', 'SELECT', 'PLAY')

def sps9(widget=None):
irsend('SELECT', 'PLAY', 'SELECT', 'NUM9', 'SELECT', 'PLAY')

Thanks for all you work!


----------



## duckfin

mrhack636 said:


> Duckfin,
> I got your app working on my iphone and I already started trying to make it look nicer with different gfx, only problem it all uses 1 button.
> Anyway you could make it skinnable? In the link below is a bunch of tivo images you can use for the remote I'm sure it'd make it look 10times nicer.
> http://stashbox.org/114261/tivoimages.zip
> 
> MrHack


http://code.google.com/p/tivoremote/wiki/Interface has some information for customizing the appearance of the program (for the new .05 version). I spent way too much time today trying to figure out why Installer.app was not refreshing my repository (and after all that effort, I couldn't figure out if it is a problem with my repository, Installer.app, or my phone).

I was going to put off playing with your graphics till tomorrow, but I got on a roll. They certainly make a world of a difference.


----------



## PVR

Anyone planning on doing this in a compiled form? (VB, C or C++)?


----------



## wmcbrine

anticrust said:


> @wmcbrine
> 
> WELL DONE!!!


Thanks... feel free to donate. 



> _Question, since I'm changing the layout to 4 columns wide, how do I extend the text area (gtk.Entry) to occupy 3 columns? I've tried with no success. _


You may be looking in the wrong place -- judging by your screenshot, you're using Tk, not Gtk.



PVR said:


> Anyone planning on doing this in a compiled form? (VB, C or C++)?


Not me. Why?


----------



## wmcbrine

Landscape mode, activated via the command-line option "--landscape" (or edit it to set landscape = True).

[See sig for the latest version.]


----------



## sfxc13

Thanks wmcbrine. Love the program.


----------



## windracer

wmcbrine said:


> Landscape mode, activated via the command-line option "--landscape" (or edit it to set landscape = True).


Fits perfectly on my Eee's screen, nice!










Watching some of the macros like CC or SPS9S is pretty cool.


----------



## cseickel

Thanks for great work wmcbrine!

I created this modified layout to fit better on my screen. Turns out that you were uploading a new version with landscape option while I was hacking away at this, but I used a slightly different layout.

This is a mod of the 0.6 version, the button layout is just rearranged and some buttons resized to my preferences. Thought someone else might like the same layout I do.


----------



## dcrowell77

I just thought of another use for this feature beyond the obvious very-remote control applications. You could use the menu navigation features to build a poor-man's push protocol. Basically, walk through the Now Playing list, open a remote share, navigate to a file and queue up a transfer. Obviously, there are a lot of issues to deal with (share/folder/file ordering chief among them) and it wouldn't work while someone was trying to use the TiVo, but could be interesting...


----------



## mrhack636

duckfin the app looks much better now!
1 question, on my phone its using my summerboard wallpaper as the background. Anyway to switch it to black? Its pretty bright and doesn't look right with the buttons..

MrHack


----------



## duckfin

mrhack636 said:


> duckfin the app looks much better now!
> 1 question, on my phone its using my summerboard wallpaper as the background. Anyway to switch it to black? Its pretty bright and doesn't look right with the buttons..
> 
> MrHack


I have a new version which defaults to an opaque black background. You can also specify background image for each page in the remote.xml file (I have tested this, but do not have an image currently).

Thanks for letting me know about the issue.


----------



## PortlandPaw

This Series I, barely-into-Series-II hacker is truly envious! Imagine, new frontiers to explore! Great work and I'm really jealous!


----------



## wmcbrine

This adds some documentation (doc strings, comments) and command-line options, including short versions of the existing ones, and corrects the non-functioning of the '.' keyboard shortcut under Gtk. Also, in the last version, I changed from binding the keyboard shortcuts to all buttons in Gtk, to only one button; in retrospect, that was a mistake, so I've reverted it.

[See sig for the latest version.]


----------



## ivanpiro

Great work you guys! I've seen some very cool TiVo remotes posted here and I have tons of questions. How do you install the remote? Is there a FAQ? Can I run the remote from a Mac? How could I run the latest version using a Pocket PC? 

I've been able to Telnet via the PPC but it's a real pain with all the timeouts...


----------



## wmcbrine

ivanpiro said:


> How do you install the remote?


There's no installation. You just run it. However, you have to have Python installed first. Also, you have to specify the address of your TiVo, either on the command line, or by editing the remote.pyw file.



> _Is there a FAQ?_


This thread is what you get.



> _Can I run the remote from a Mac?_


Yes. (And it should already have Python installed.)



> _How could I run the latest version using a Pocket PC?_


I doubt that it will fit the screen, but you can try it. You just need to install Python:

http://pythonce.sourceforge.net/

Other sites seem to indicate that Tkinter is a separate package with that distro; you'll need that, too.


----------



## ivanpiro

Thank you very much! I'll be installing Python tonight.


----------



## duckfin

wmcbrine said:


> This adds some documentation (doc strings, comments) and command-line options, including short versions of the existing ones, and corrects the non-functioning of the '.' keyboard shortcut under Gtk. Also, in the last version, I changed from binding the keyboard shortcuts to all buttons in Gtk, to only one button; in retrospect, that was a mistake, so I've reverted it.


I am getting ready to add support to the iPhone program for automatically discovering TiVos to my program, which got me thinking about integrating more of the functionality that is already made available. With the Media Key, we can get a list of the videos that are on a TiVo, we should (maybe not in all circumstances) be able to figure out where those videos will appear on the 'Now Showing' screen. With these remote commands, we can automatically start playing any of the videos on the system.

I am nowhere near a TiVo right now, but this should be possible, right?


----------



## gonzotek

duckfin said:


> I am getting ready to add support to the iPhone program for automatically discovering TiVos to my program, which got me thinking about integrating more of the functionality that is already made available. With the Media Key, we can get a list of the videos that are on a TiVo, we should (maybe not in all circumstances) be able to figure out where those videos will appear on the 'Now Showing' screen. With these remote commands, we can automatically start playing any of the videos on the system.
> 
> I am nowhere near a TiVo right now, but this should be possible, right?


First problem that jumps to mind is the grouping and sorting available on the NPL. I don't think it's possible to know what those settings are set to, unless you are physically looking at the screen. If grouping is turned off, and the sorting is set to either date or alphabetical, AND the iphone or other networked app is made aware of which sort is being used, it could be possible. I don't know how close to 100% reliable we can get, a bunch testing would obviously be needed.


----------



## crazybox

Has anyone found any other telnet commands other then the ones Crestron is using. I know on crestron's roadmap is to be able to poll NPL and be able to select a show...


----------



## SeanC

I love the macros, CC works great, but I had to add a CLEAR to the end of the clock macro so it wouldn't change channels.


----------



## ivanpiro

Got it working on my DELL Pocket PC. Very nice indeed!!!

Now I control the TiVo HD (channel 3) feeding all coax connections in my home via WiFi remote. Too cool!

Thanks again,

Ivan


----------



## crazybox

pzand said:


> Anyone marry this up with the "Now Playing" info that's available over http/https from TiVo yet?
> 
> https://<ip>/TiVoConnect?Command=QueryContainer&Container=%2FNowPlaying
> username: tivo
> password: <your MAK>


I can not get this to work... am I doing something wrong? What is MAK?


----------



## ][ronMan

crazybox said:


> I can not get this to work... am I doing something wrong? What is MAK?


Your *Media Access Key*...

D


----------



## crazybox

Anyone know how to get the NPL XML file without using https? I am trying to do some crestron programming and doing a SSL is impossible so I was hoping someone knew of another way...


----------



## wmcbrine

No, no other way. Why do you say it's impossible?


----------



## gonzotek

crazybox said:


> Anyone know how to get the NPL XML file without using https? I am trying to do some crestron programming and doing a SSL is impossible so I was hoping someone knew of another way...


Use a PC as a proxy to pull it and republish it. Other than that, wmcbrine's right, you can't access it directly off the tivo without going through the security.


----------



## crazybox

wmcbrine said:


> No, no other way. Why do you say it's impossible?


Well not totally impossible but I would have to write the certificate and the encryption... I would also have to know what I was doing


----------



## ivanpiro

I must be missing something... What would be the point of establishing an SSL connection to your TiVo within your own private network, unless you wants to "pause" a program from work.

Just curious,

Ivan


----------



## crazybox

ivanpiro said:


> I must be missing something... What would be the point of establishing an SSL connection to your TiVo within your own private network, unless you wants to "pause" a program from work.
> 
> Just curious,
> 
> Ivan


I need the SSL connection to get the XML file for the Now playing list so that I can display it on my touch panel then be able to select it. The sort of fake the selection with IR commands. With the teleport function I can always get to NPL from anywhere.


----------



## wmcbrine

ivanpiro, you have to use SSL because that's the only way to fetch the NPL. It's not because we want to. You'd have to ask TiVo why they made it that way.

crazybox, I trust you've read post #153? This is a pretty risky approach IMHO.


----------



## crazybox

WMCbrine, I looked into this the XML says whether it is a folder or a video file... so you just put an identifier as a folder... so then you query the folder XML after the initial NPL query which it gives a link to. that way you can sort folder and use an indexing system so you know what entry it is on the NPL. You would have to use the teleport command and possibly IR up command so you know you are at the first entry. 

All this is good in talk. I have not even tried to write code for it because I am waiting until I can actually get to the XML directly from the crestron. This for my own home so I am not too concerned. I might just have to wait until crestron releases their next stage in the module so I can use it and see what all the direct telnet commands are. 

Until then I guess it is all wait and see...


----------



## ivanpiro

Ok. I get it now. And I was missing something indeed...


----------



## BiloxiGeek

Just had a thought. Anyone tried to get this working on a Chumby?? I always thought those things were pretty useless, but a Chumby with this python script actually makes some sense. It's wifi so no wires, it gets you on the LAN, and it has a touchscreen. If you could make the remote.py work with the Chumby touchscreen you'd have a LAN based remote sitting on the couch next to you.


----------



## wmcbrine

crazybox said:


> WMCbrine, I looked into this the XML says whether it is a folder or a video file...


Yeah, that's not the problem. The problem is that you don't know what state the TiVo's own view of the NPL is in -- folded or flat -- you can't determine it remotely, and you can't force it to a known state. So I'd be extremely reluctant to build anything that operated automatically on the NPL.

But if it's just for your own use, and you know the state, then I guess it doesn't matter. I almost never unfold the list here, or change the sort order, so I could assume those.


----------



## fyodor

What python interpreter are you using? I can't get it working my WM6 device.



ivanpiro said:


> Got it working on my DELL Pocket PC. Very nice indeed!!!
> 
> Now I control the TiVo HD (channel 3) feeding all coax connections in my home via WiFi remote. Too cool!
> 
> Thanks again,
> 
> Ivan


----------



## duckfin

wmcbrine said:


> Yeah, that's not the problem. The problem is that you don't know what state the TiVo's own view of the NPL is in -- folded or flat -- you can't determine it remotely, and you can't force it to a known state. So I'd be extremely reluctant to build anything that operated automatically on the NPL.
> 
> But if it's just for your own use, and you know the state, then I guess it doesn't matter. I almost never unfold the list here, or change the sort order, so I could assume those.


I've implemented this in the iPhone program. It is not ideal. The sorting/grouping options aren't a big deal. I'm sure I'm missing some specific sorting scenarios (a, an, the, lower case letters, etc.), but there are only four combinations of the sorting options. I don't know if people are changing these settings often (or ever), I know I don't.

The messy part is setting the wait times for the different commands. Once a screen has reached some point, it will queue channel, and up/down commands, but play and select don't get queued. Depending on what the TiVo is doing, or was recently doing, the load times for each screen can take a different amount of time. It is very difficult to recreate difficult scenarios.
(There are configuration options so anyone and everyone can try their hand at tuning the wait times. http://code.google.com/p/tivoremote/wiki/NowPlaying has information on the different settings.)

I don't think there was anything particularly tricky about this, but I'd be happy to answer any questions anyone has about implementing this in other languages.


----------



## snathanb

I can only run it if I set "use_gtk" to False. If I try to use GTK I get just a blank window with the IP address as the title bar, and it locks up.

All my other python/pyGTK apps seem to work ok. 
WindowsXp, Python 2.5, GTK 2.0


----------



## wmcbrine

snathanb said:


> I can only run it if I set "use_gtk" to False. If I try to use GTK I get just a blank window with the IP address as the title bar, and it locks up.


Curious. Let me know if you figure it out. I only have Gtk on Linux here.


----------



## jeffcox65

is anybody experiencing his or her TiVo box crashing from using any of these tools?

I'm using both the python script and the iPhone tool. (Both are completely amazing as far as I'm concerned. The NowPlaying list displays on my phone, I select any show, and my TiVo magically starts it up. Amazing.)

But every once in a while, the TiVo just shuts down and starts up again. This has only started happening since using this new way into the TiVo.

Am I the only one?


----------



## duckfin

jeffcox65 said:


> is anybody experiencing his or her TiVo box crashing from using any of these tools?
> 
> I'm using both the python script and the iPhone tool. (Both are completely amazing as far as I'm concerned. The NowPlaying list displays on my phone, I select any show, and my TiVo magically starts it up. Amazing.)
> 
> But every once in a while, the TiVo just shuts down and starts up again. This has only started happening since using this new way into the TiVo.
> 
> Am I the only one?


I heard someone was having a problem with the iPhone program messing up the video decoding. The person thought it had something to do with sending too many commands to the TiVo at once. I have since slowed down the frequency at which commands can be sent, but I haven't heard if it resolved the issue.

My first day of playing around with the telnet interface led to a TiVo restart. I don't know if it was some key sequence I sent (I was typing directly on the socket), or if there was something else involved. I haven't seen any problems since.
I may have been testing having multiple clients connecting to the TiVo at the same time when my crash occurred. Perhaps there is an issue with the TiVo handling multiple connections. (I think I remember the second connection evicting the first connection, which would be somewhat unusual socket behavior, I believe.)

I'm interested if you find out anything more.


----------



## ThAbtO

duckfin said:


> My first day of playing around with the telnet interface led to a TiVo restart. I don't know if it was some key sequence I sent (I was typing directly on the socket), or if there was something else involved. I haven't seen any problems since.
> I may have been testing having multiple clients connecting to the TiVo at the same time when my crash occurred. Perhaps there is an issue with the TiVo handling multiple connections. (I think I remember the second connection evicting the first connection, which would be somewhat unusual socket behavior, I believe.)
> 
> I'm interested if you find out anything more.


Perhaps it is the telnet client's emulation, I tried using another telnet client and the tivo rebooted, so it was back to the plain telnet.


----------



## wmcbrine

jeffcox65 said:


> Am I the only one?


I've had a total of three crashes (one spontaneous reboot, two lockups that I had to manually reboot from) while developing. One of those I can probably blame on a bug -- not in any released version -- in the keyboard simulator that caused a neverending stream of commands. But the other two seemed to be during normal usage. The only thing that _might_ be a factor was having multiple copies open simultaneously (i.e., multiple connections to port 31339). So, my advice is to avoid that; also, to minimize it rather than closing it and opening it again in a short time. I haven't had a crash since I adopted that policy.

But yeah, there's something a bit flaky on the TiVo side of this feature, I'm afraid.

Edit: I posted that before I read duckfin's response. Looks like we had similar experiences.


----------



## duckfin

I don't know if anyone else is trying to implement Now Playing type functionality, but I noticed today that sending a "TELEPORT NOWPLAYING" will produce "LIVETV_READY" when the TiVo has finished loading the Now Playing screen. So, instead of waiting an arbitrary period of time after sending an "IRCODE NOWSHOWING" command, programmatically, you can determine when next to send a command, which makes TELEPORT much better for scripting purposes.

(I've tried fiddling around with other parameters for the TELEPORT command but couldn't find anything. I wouldn't be surprised if there were more options, perhaps even one to start playing a recorded program.)


----------



## nocturne1

Mostly off-topic, but since there's iPhone related TiVo development talk in here, I might as well pitch it...

I would LOVE to have an iPhone app that can interface with TiVoCentral to search and setup recordings. The TCO website itself absolutely sucks on the iPhone, and having somewhat of a thin client running here would be a HUGE thing for me.

Of course, if TiVo would just make an iPhone friendly version of that site, we wouldn't need this. But seeing that they can't even make a decent version of it for regular browsers, I'm not holding my breath.

Anyways, that's my wish. And thanks to those who've been working on this telnet control - really cool stuff!


----------



## gonzotek

nocturne1 said:


> Mostly off-topic, but since there's iPhone related TiVo development talk in here, I might as well pitch it...
> 
> I would LOVE to have an iPhone app that can interface with TiVoCentral to search and setup recordings. The TCO website itself absolutely sucks on the iPhone, and having somewhat of a thin client running here would be a HUGE thing for me.
> 
> Of course, if TiVo would just make an iPhone friendly version of that site, we wouldn't need this. But seeing that they can't even make a decent version of it for regular browsers, I'm not holding my breath.
> 
> Anyways, that's my wish. And thanks to those who've been working on this telnet control - really cool stuff!


Maybe one of these other sites work better with an iPhone, they all have a TiVo Online Scheduling interface:
* MeeVee.com - Look for the TiVo icon while browsing.
* TVGuide.com - Select 'Record with TiVo.'
* Yahoo.com - Look for 'Record to TiVo' in TV listings.
* Zap2it.com - Select 'Record to TiVo.'

*http://www.tivo.com/mytivo/howto/ge...html?wt.z_links=howto-schedule-shows-from-web


----------



## wmcbrine

snathanb said:


> I can only run it if I set "use_gtk" to False. If I try to use GTK I get just a blank window with the IP address as the title bar, and it locks up.
> 
> All my other python/pyGTK apps seem to work ok.
> WindowsXp, Python 2.5, GTK 2.0


OK, I finally installed Gtk in Windows, duplicated this, and fixed it. Apparently you can't use gtk.gdk.threads_init() in Windows; you have to use gobject.threads_init(). 

Also in this version:
- Added CLEAR command to the end of the SPS30 and Clock strings.
- Added support for the numeric keypad (with or without NumLock).
- When I was adding keyboard shortcuts, I'd temporarily forgotten that there was another program that already had keyboard shortcuts to simulate the TiVo remote: the Simulator from the Java HME SDK. Now, I've added the shortcuts from that program, where they didn't conflict with the ones already in use. (Fortunately most of them were already the same.)

Edit: Slight problem with 0.9 -- some of the KP_* keys apparently aren't defined by Tkinter on all platforms. With 0.10, they'll be skipped there, but still work on the platforms where they are defined.

[See sig for the latest version.]


----------



## tivoq

A little off topic, we can now over the network

simulate the Tivo remote
pull a now showing list
transfer files in and out

all without prom hacking. What's left is getting Todo and direct remote scheduling (without the Tivo central delay). Is there any indication that Tivo will ever let us do that?


----------



## orev

Don't forget the ability to delete a show remotely.


----------



## SeanC

I've tried both 9 and 10 but can't seem to get them to work. On version 8 all I did was edit the tivo_address = line to reflect my tivo's IP address.

I did the same for both 9 and 10 but I can't run them. I renamed 10 to .py and ran it from a command prompt so I could get some output:

C:\Documents and Settings\Sean\Desktop>remote.py
Traceback (most recent call last):
File "C:\Documents and Settings\Sean\Desktop\remote.py", line 441, in <module>

sock.connect((tivo_address, 31339))
File "<string>", line 1, in connect
socket.error: (10060, 'Operation timed out')

Not sure what the problem is....


----------



## wmcbrine

Are you sure you have the right address?


----------



## SeanC

Yeah. I still have the old .8 it's edited to say the correct IP and it works.

.9 and .10 edited the same way, no response.


----------



## wmcbrine

Let me put it another way... that error is what I get (under Windows) if I put in a bogus address. I don't see any other way for it to arise.


----------



## SeanC

Ugh....

I've been having issues with my ISP so I had to recable the network to troubleshoot with them. I fogot that I moved my laptop to a different network than the Tivo....

Sorry about that.

I'll just be over in the corner hanging my head in shame......


----------



## tivorepo

Got it to work. I haven't had any issues so far but I haven't pushed it too hard yet.

Is there any way to make the shortcut keys global so that I don't have to have the remote control window in focus to use a shortcut key?


----------



## wmcbrine

This version tries to connect to the TiVo and exchange TCD beacons, to determine the TiVo's name, and uses that in the title bar instead of the address.

More significantly, if you don't specify the address (on the command line or by editing the file), it attempts to find suitable TiVos on your LAN automatically. If it finds only one, it connects; if more than one, it pops up a small window to let you choose. (I'm not crazy about this interface, BTW.) This feature relies on opening a fake HTTP server on a random port, so it may not get along with some firewalls.

Also, the "-h" option was broken.

[See sig for the latest version.]


----------



## snathanb

wmcbrine said:


> OK, I finally installed Gtk in Windows, duplicated this, and fixed it. Apparently you can't use gtk.gdk.threads_init() in Windows; you have to use gobject.threads_init().


Thanks for fixing that. I should have been able to spot that myself, but I'm accustomed to the C bindings to GTK, so I overlooked it.

Version 0.11 works great on my home network. I had to grant it an exception through Zone alarm, but afterwards it quickly located both my Series 3 tivos, allowing me to chose which to control.


----------



## hixeldice

if it would help anyone, i just downloaded the crestron module from their site - the zip archive contains a simpl windows file, a visiontools project, and a couple of other things.

PM me if you could do anything with this.

if not, i'll just dissect them and see if i can find anything out - i'm pretty handy with simpl and vtproe.


----------



## wrecklass

Just a *great big warning* to people trying this out. I have been using 0.8 through 0.11 versions and one thing I recently ran into is when closing down the tool I have had my TiVo suddenly stop responding to most of my real remote control functions and after about 30 seconds the TiVo reboots. It has happened to me twice in the past 24 hours with both 0.8 and 0.11.

Not sure what is going on, but it seems the software doesn't always close down the open session correctly and bang, you get reset.

I wonder if it wouldn't be a better idea to open the session when a command is being sent, and close the session once the command is finished. Rather than leaving a session open that apparently can get hosed up and cause drastic problems for the TiVo.

While I like this utility in general, I've had a couple of recordings messed up due to this problem. Use at your own risk!


----------



## SeanC

Good to know wrecklass.

Just as another data point, I've never had that happen to me.

I only have 1 S3 on my network, also I use the app very little, almost exclusively to turn closed captioning on and off. At most I think I've left the app running for 30 minutes.


----------



## wmcbrine

wrecklass said:


> ...I have had my TiVo suddenly stop responding to most of my real remote control functions and after about 30 seconds the TiVo reboots.


Discussed earlier in the thread.



> _Not sure what is going on, but it seems the software doesn't always close down the open session correctly_


On what do you base that?



> _I wonder if it wouldn't be a better idea to open the session when a command is being sent, and close the session once the command is finished._


I doubt it very much... I suspect that would make it worse (see earlier posts). It would also kill the status bar. Feel free to try it, though.


----------



## ehgreen

Lets see if I've got this right . . . .

A) This concept works ONLY on Series 3 machines, not even dual tuner Series 2?

B) Because of the lack of visability of where one is on the menu tree, effectively is limited to local usage, not trans=contentintal?

C) There is no API for a "Query List" function which will give back an ordered list or "Table of Contents" that could then be the basis for one to issue a command like "delete n"

Any pointers or suggestions would be appreciated !

ehg 
TiVo near Boston and the riches of 'GBH
Home near Los Angeles (cultural Wasteland)
Quarterly trips to download good stuff not broadcast there


----------



## wmcbrine

ehgreen said:


> A) This concept works ONLY on Series 3 machines, not even dual tuner Series 2?


Afraid so.

As I recall it, when Crestron integration was introduced, it was presented as something of a luxury feature -- hence fitting with the "high-end" Series 3. That we also get it on the TiVo HD could even be an oversight.

I know of no _technical_ reason for it not to be implemented on the S2... it just wasn't.



> _B) Because of the lack of visability of where one is on the menu tree, effectively is limited to local usage, not trans=contentintal?_


Um, yeah.



> _C) There is no API for a "Query List" function which will give back an ordered list or "Table of Contents" that could then be the basis for one to issue a command like "delete n"_


You can get a list -- not from this, but via the https server. You _could_ then use that as the basis for sending a series of commands to delete a program, if you were willing to make some assumptions about the state of the Now Playing menu. Personally, I'm not interested in pursuing that; it seems too risky, and not especially useful.


----------



## wmcbrine

In this version:

- Delay a tenth of a second between each command. I can't say this will fix the crashing, since I can't produce crashes at will, and haven't personally seen one in some time. But it won't hurt, and it might help.

- If no address is given, and the automatic TiVo finder doesn't work, put up a prompt for an address.

- Some of the new keyboard shortcuts added in 0.9 didn't work in Gtk.

- Eliminate potential hang up in the automatic TiVo finder.

- Sort TiVo names in the list window.

- The keyboard shortcut list from "-k" didn't look right in other than 80 columns.

[See sig for the latest version.]


----------



## ivanpiro

I've been using your ultra-cool remote on my DELL Pocket PC and I can't say enough about it... Most of time I don't even need to use the pointer as the directional keys take care of most TiVo HD viewing, anywhere in my house. 

Well, the on exception being the "skip" function. So the one thing I'd like to suggest is the option to assign the "skip" to the enter key. With that extra feature one would very seldom have to use the pointer.

Thanks for a great little program!


----------



## Prestond

ivanpiro said:


> Got it working on my DELL Pocket PC. Very nice indeed!!!
> 
> Now I control the TiVo HD (channel 3) feeding all coax connections in my home via WiFi remote. Too cool!
> 
> Thanks again,
> 
> Ivan


Ivan,

How did you get it to work on your pocket pc? I got Dell Axim with pocket pc 2003 installed...

Did you install some sort of python for pocket pc?

Sorry to be confused..


----------



## ivanpiro

Well, most of the credit goes to wmcbrine! In post #150, he explained how to do it.

I think I'm going to try running the remote on an abandoned classic PSP.


----------



## LoREvanescence

wmcbrine said:


> In this version:
> 
> - Delay a tenth of a second between each command. I can't say this will fix the crashing, since I can't produce crashes at will, and haven't personally seen one in some time. But it won't hurt, and it might help.
> 
> - If no address is given, and the automatic TiVo finder doesn't work, put up a prompt for an address.
> 
> - Some of the new keyboard shortcuts added in 0.9 didn't work in Gtk.
> 
> - Eliminate potential hang up in the automatic TiVo finder.
> 
> - Sort TiVo names in the list window.
> 
> - The keyboard shortcut list from "-k" didn't look right in other than 80 columns.


I just tried out this version of your program and could not get it to work. I installed python version 2.5.2 on my vista laptop, and when ever I attempt to run the remote.pyw file nothing happens. I get the little spinning wait icon for about 2 seconds, then it goes away. Nothing opens, no task is running. Any idea what I am doing wrong?


----------



## wmcbrine

No.

Try running it from the command line and see if there's an error message.


----------



## LoREvanescence

This is what I came up with:



Code:


>>> 
Traceback (most recent call last):
  File "C:\Users\Chris\Desktop\tivo-remote-0.12\remote.pyw", line 551, in <module>
    tivo_address, tivo_name = tivos[1]
IndexError: list index out of range
>>>


----------



## wmcbrine

Argh. Thanks. The autoconnect would fail when only a single eligible TiVo was found on the network.

Here's the fix.

[See sig for the latest version.]


----------



## LoREvanescence

wmcbrine said:


> Argh. Thanks. The autoconnect would fail when only a single eligible TiVo was found on the network.
> 
> Here's the fix.


Wow, I guess not many people only have a single TiVo. I'll most likely get a second one within a year or two of moving into my own home / apartment I hope to get later this summer. I just graduated from college this past month, and my S3 is all I got. Though, for the moment, it is set up along side my parents R10.

Thanks for the fix, I'll test it on on monday, I'm heading in to work soon, then I'm off camping for the weekend=)


----------



## SeanC

LoREvanescence said:


> Thanks for the fix, I'll test it on on monday, I'm heading in to work soon, then I'm off camping for the weekend=)


I can confirm that it works. I only have 1 and had a problem with the autodetect not working, but I was used to manually editing in my tivo's IP address anyway, so that's what I did.


----------



## wmcbrine

LoREvanescence said:


> Wow, I guess not many people only have a single TiVo.


No, it's just that you had to manually enter the address up until version 0.11 anyway, so people were used to that.


----------



## LoREvanescence

I just wanted to report that in 9.4 this UI control via Telnet or any application is now disabled. 

To enable it again, you have to go to Messages & Settings > Remote, CableCARD, & Devices > Network Remote Control

Then you have to enable it, by default, the option is set to disables.


----------



## morac

I think that's actually a good thing since it gives the user some protection against "telnet attacks", but there's still no security if you want to use it.


----------



## JonHB

morac said:


> I think that's actually a good thing since it gives the user some protection against "telnet attacks", but there's still no security if you want to use it.


It's not like your Tivo is sitting on a public IP. You only need to worry about telnet attacks from your own LAN machines. If you PC's are trying to hack into your Tivo, you have bigger problems!!


----------



## MickeS

I just found out about this telnet control. Nice. I was trying to see if someone had made a script to toggle the CC, clock and 30 sec skip, nice to see it was already done in the TiVo Remote app.


----------



## wmcbrine

So, what's the exact sequence for closed caption toggling in 9.4? I don't have 9.4 yet, but if someone will tell me the sequence, I can put it in a new version of my remote program, so the CC button will work on both old and new software.


----------



## davezatz

wmcbrine said:


> So, what's the exact sequence for closed caption toggling in 9.4? I don't have 9.4 yet, but if someone will tell me the sequence, I can put it in a new version of my remote program, so the CC button will work on both old and new software.


I believe it's Right, Down four times, Select, Clear.


----------



## wmcbrine

I assume that's "Right" in place of "Info"?

So, basically it's the same as the old version, but without the additional menu? Selecting the CC icon just toggles immediately?


----------



## davezatz

wmcbrine said:


> I assume that's "Right" in place of "Info"?
> 
> So, basically it's the same as the old version, but without the additional menu? Selecting the CC icon just toggles immediately?


Yeah - "Info" is better due to the three banner options and not everyone uses mine. Yeah, basically the same just no menu - just select it and it toggles. Through Settings you can adjust font, colors, etc. Unfortunately, toggling it on/off doesn't also clear the banner which is why I stuck that in there. I assume most folks would want it out of the way.


----------



## wmcbrine

OK, here's a version where the CC button should automatically work with both 9.3 and 9.4. It will also pop up an error window (saving you from having to run it from the command line just to see the error) if it fails to connect within five seconds; and, if 9.4 is detected on the target TiVo, it will even remind you where to re-enable the remote. Of course I haven't actually tested with 9.4 yet.

[See sig for latest version.]


----------



## garys

First off, THANK YOU for putting together the remote.pyw software. I just got 9.4 software and just downloaded remote 1.4. When using the keyboard to type in youtube searches (by the way, how great is that), I accidentally hit "kbd" while not on the A character. Result: The tivo froze up. Just FYI, some combination of keys that the remote.pyw software hit or some other factor cause the tivo to freeze. I know, totally unhelpful amount of information for debugging.


----------



## memn0ch

/subscribe


----------



## hks200

LoREvanescence said:


> I just wanted to report that in 9.4 this UI control via Telnet or any application is now disabled.
> 
> To enable it again, you have to go to Messages & Settings > Remote, CableCARD, & Devices > Network Remote Control
> 
> Then you have to enable it, by default, the option is set to disables.


Thanks for the post on the 9.4 having "Network Remote Control" being disabled by default. Just got the 9.4 upgrade and wasn't able to telnet to my TiVo until reading your post.


----------



## jhimmel

Hmmm...
I just uncovered a little snafu with this app.

I have two S3's. Both are in my basement. They feed into an HDMI matrix distribution and are controlled remotely through my whole-house IR system. So, one is set to Remote Address 1, the other is set to Remote Address 2.

I noticed that occasionally something was going wrong and one of my S3's would lose its Remote Address setting. Today I found the problem. If you go into your system info screen with this app, it resets the Remote Address to (0), just like if you used a real remote that was set to (0) and accessed the System info screen.

This may be far beyond the ability of the Telnet access, but thought I would ask -
Is there ANY possible way that the virtual remote could query the current Remote Address setting and try to preserve it?
Otherwise I'll just have to try and remember to stay away from the System Info screen when using it.

By the way, wmcbrine, I use this little app ALL the time. I have a TV monitor in my home office. It is usually on while I'm at the computer. It's very handy to have the virtual remote open on the side of my screen for TiVo control while I am at the computer.

Jim H.


----------



## wmcbrine

The changes in this version are all about making it work better on a Mac:

- Removed sorted() calls so that it's compatible with the Python 2.3 that comes with OS X < 10.5.
- Suppress the "console" window that's created by Tkinter.

I wanted to provide an .app, but I couldn't find a way to distribute one that didn't care about the Python version, unless I bundled the whole interpreter. So, instead, I invite Mac users to make their own: First, rename remote.pyw to "remote.py" (or perhaps "TiVo Remote.py"). Then, pull up the context menu, and select "Open With...". You should see an option* to "Build applet". Select that, and you're done. The new app will work like a normal Mac app, with no extra console windows.

Of course this version should work the same as always for Windows, Linux, etc.

* Or two options, if you've installed your own Python. Either will work.

[See sig for latest version.]


----------



## jhimmel

William,

Any thoughts of the resetting of the remote address? Any possible workaround?

Jim H.


----------



## wmcbrine

No, apart from the workaround you already found (i.e., don't do that), sorry. I'll keep your problem in mind, though.


----------



## Jeshimon

One thing I really wish we had was a MUTE button.

Using the KBD feature was fun to watch.


----------



## goodtrips

First off, love the remote app. Really amazing work, wmcbrine!

This might be a naive question, but is there anyway to enable remote access this app, and then have it execute locally on my home network?

My vision is to have the app be accessible via an HTML page hosted on the machine running the remote app, that would then execute the telnet commands directly to the TiVo. I am not sure if this breaks or exceeds the limitations of python to be able to execute local commands from an HTML interface, though. I'm confident there are security implications that I should be nervous about, but the proof of concept is too intriguing.

Why would anyone want do this? Remote scheduling would infinitely easier -- I imagine sending video output from the TiVo through a capture card on the computer, use webcam software to broadcast the images, and then have the remote functions next to it.

And then, well, there is always the pie-in-the-sky idea of turning the set-up into a homemade slingbox...


----------



## wmcbrine

There are no real limitations in Python, apart from speed.  But, the easiest way to do what you want is just to forward port 31339 from your router to the TiVo, and connect directly to the router's external address with the remote program. But as you note, there's no security there.


----------



## goodtrips

wmcbrine said:


> There are no real limitations in Python, apart from speed.  But, the easiest way to do what you want is just to forward port 31339 from your router to the TiVo, and connect directly to the router's external address with the remote program. But as you note, there's no security there.


Great idea, wmcbrine. I'll definitely give that shot to see if it works.

Also been doing some reading up on telnet over http options out there. I'm sure this is all beyond anything I could pull off myself, but intrigued nonetheless.


----------



## morac

goodtrips said:


> Great idea, wmcbrine. I'll definitely give that shot to see if it works.


I'd be a bit wary of doing that. Not that I think someone will try and control your TiVo, but with all the people poking and prodding at ports out there, there's a chance (albeit slim) that one might hit that port and go to the TiVo. Based on posts here, sometimes sending unexpected commands to the TiVo causes it to reboot.


----------



## pmiranda

I've just got to say this is SWEET! Goes well with the web interface to my Denon amp


----------



## jhimmel

Something strange has happened. The app no longer finds my machines automatically - I have to enter the address when it starts.

Any advice on where I should start looking for this problem?

This problem just started out of nowhere about two weeks ago, but I have been away so I am just posting now.

Jim H.


----------



## JonHB

pmiranda said:


> I've just got to say this is SWEET! Goes well with the web interface to my Denon amp


Is this an external web app or integral to the Denon amp itself? More info please!


----------



## pmiranda

Some Denon amps (like my 4806) have a built-in ethernet interface for streaming music and run a http server for web control. Multi-room source selection, volume, EQ settings, tuner control, etc. Wifi has better reach than any wireless remote I've found, so it works great throughout the house. I also run VNC on a PC with iTunes, so I have total remote control via any PC or laptop (or Palm TX) in the house


----------



## wmcbrine

jhimmel said:


> Something strange has happened. The app no longer finds my machines automatically - I have to enter the address when it starts.
> 
> Any advice on where I should start looking for this problem?


Firewall? The app opens a random port to listen for http requests from the TiVos. If the requests are blocked, it has to fall back to manual address entry.


----------



## jhimmel

wmcbrine said:


> Firewall? The app opens a random port to listen for http requests from the TiVos. If the requests are blocked, it has to fall back to manual address entry.


No, local firewall is off. Only my router NAT firewall is up - just like before.


----------



## SeanC

jhimmel said:


> Something strange has happened. The app no longer finds my machines automatically - I have to enter the address when it starts.


I only have 1 Tivo and I've had this happen in the past, an upgraded version took care of it then, now out of the blue, nothing has changed here, the app started asking for the IP address of my Tivo.

Since I only have the one I edited the IP address into the script, but it is weird that it just suddenly happens like this.


----------



## jhimmel

SeanC said:


> now out of the blue, nothing has changed here, the app started asking for the IP address of my Tivo.


That's pretty much what happened here. I can't think of anything that changed. Just all of a sudden, it started asking for address. I have looked around, but besides obvious network stuff (and it works fine once fed the address), I can't imagine where to look.

Jim H.


----------



## drivintin

I really want to take a look at porting this over to S2 boxes. Can someone that has telnet shell access help me out here?

From my understanding this is a daemon running that parses the telnet input into serial or IR commands. Can someone send me that file, and see if there are any related files that go with it.

Thanks!


----------



## Da Goon

it's not that simple. this is embedded within tivoapp. if you have a hacked S2, just use sendkeyplus (available from DDB).


----------



## drivintin

Da Goon said:


> it's not that simple. this is embedded within tivoapp. if you have a hacked S2, just use sendkeyplus (available from DDB).


haha, well mostly i want to be able to interface it with the iPhone, since my wife can't seem to help but loose every damn remote. (but never looses her phone)

do you know how in interacts with tivoapp? i thought it was actually interacting with the IR deamon.


----------



## goodtrips

wmcbrine, quick question--

I'm having trouble getting the app to run on tiger on a mac. I built the app per your instructions, but double clicking on the new application icon doesn't actually do anything. You can see a terminal window pop for a microsecond, but that's it. Do you have any other suggestions?


----------



## wmcbrine

No. (I have Tiger myself, BTW.) You shouldn't be seeing a terminal window at all.

Try running it from Terminal instead of the app, and see if there's an error message.


----------



## goodtrips

wmcbrine said:


> No. (I have Tiger myself, BTW.) You shouldn't be seeing a terminal window at all.
> 
> Try running it from Terminal instead of the app, and see if there's an error message.


This is the error I get from terminal:
LSOpenFromURLSpec() failed with error -10810 for the file /Users/xxxx/remote.app.

...it may not be a terminal window that pops up, to be fair. You can tell from the taskbar that something tries to load, but the process immediately shuts down before anything happens.


----------



## wmcbrine

What if you just run "./remote.py"?


----------



## goodtrips

Something loads in the taskbar for a split second, but then disappears... Is there any chance you can maybe post or PM me the compiled app that is working for you?


----------



## wmcbrine

I meant, run "./remote.py" from Terminal...

I can only give you a PPC app for the Python 2.3 that comes with Tiger, or a Universal app that requires a user-installed Python 2.5. However, I suspect it won't help.


----------



## pauldf78

i can not telnet in on port 31339 on a new Tivo HD XL.. can anyone else verify this?


----------



## ThAbtO

pauldf78 said:


> i can not telnet in on port 31339 on a new Tivo HD XL.. can anyone else verify this?


What version is it running? V9.4 has a switch in messages & Settings/ Settings/ Remote, Cablecards & Devices/ Network Remote Control


----------



## pauldf78

you're right my bad it works now


----------



## barrygordon

I am an old time Tivo Hacker who has not been around for a while. I currently do a lot of work writing applications for the Philips Pronto PRO line of remote controls. I no longer have a Tivo, and do not know if one will even work on the cable network I am on. I am interested in writing the Pronto TCPIP code for Tivo control. Has anyone started that yet?


----------



## W4ZOO

barrygordon said:


> I am an old time Tivo Hacker who has not been around for a while. I currently do a lot of work writing applications for the Philips Pronto PRO line of remote controls. I no longer have a Tivo, and do not know if one will even work on the cable network I am on. I am interested in writing the Pronto TCPIP code for Tivo control. Has anyone started that yet?


I have a Tivo HD and also have a Pronto TS9200, I have ZIP as far as Talent but would like keep up on wha your doing..

Ken

Only my second post but have been a long time reader


----------



## barrygordon

Sorry the 9200 does not do tcpip. Ionly work in that area and only with the 9400,9600,9800


----------



## mickever

This is probably a dumb question, from a non-programmer whose guide to Linux is appropriately addressed to Dummies, but...

Does the ability to Telnet open a backdoor to other possibilities? Could the Telnet crack in the Tivo HD's software armor present a Trojan Horse opportunity? I'm wondering, basically, if the underlying program architecture that allows Telnet could be exploited to transfer other utilities --- chief among them TivoWebPlus --- to the root directory? 

Or am I dreaming, guys? Anything to avoid a prom mod!


----------



## wmcbrine

mickever said:


> Does the ability to Telnet open a backdoor to other possibilities?


No.


----------



## MelSmith

Thank you very much wmcbrine for your TiVo Remote application, it is a godsend!

I have never used Python, but I could work out enough to make a few changes to the code for my own wants.

I have attached my modified version of remote.py here. Please let me know if this is of any interest to anyone.


----------



## wmcbrine

I tried to do Unicode "icons" like that as well, but few of them showed up under Windows, so I abandoned the effort.

P.S. Your changelog says "Added handling of '*', '-', and ' ' (space) characters to Text input", but space handling was already there. I don't agree that your layout is closer to the peanut's, either, but that's subjective. Anyway, I'm happy to see people tweaking it.


----------



## MelSmith

I figured Windows would probably have an issue, but that was not an issue for me. 

I know the changes are not perfect for everyone; but I thought I might as well share what I did, in hopes it would be of use to someone.

I toyed with the idea of using an image of a TiVo remote, and implementing working buttons in it; but that is too much learning for me at this point. 

Thanks again for one of the most useful applications I have ever seen!


----------



## DVDerek

wmcbrine said:


> The changes in this version are all about making it work better on a Mac:
> 
> - Removed sorted() calls so that it's compatible with the Python 2.3 that comes with OS X < 10.5.
> - Suppress the "console" window that's created by Tkinter.
> 
> I wanted to provide an .app, but I couldn't find a way to distribute one that didn't care about the Python version, unless I bundled the whole interpreter. So, instead, I invite Mac users to make their own: First, rename remote.pyw to "remote.py" (or perhaps "TiVo Remote.py"). Then, pull up the context menu. You should see an option* to "Build applet". Select that, and you're done. The new app will work like a normal Mac app, with no extra console windows.
> 
> Of course this version should work the same as always for Windows, Linux, etc.
> 
> * Or two options, if you've installed your own Python. Either will work.


I tried to create the stand alone application but there is not entry for "build applet" in my context menu. (OS X, 10.5.5). Am I missing something? Runs fine as remote.pyw from the terminal.


----------



## wmcbrine

You have to rename it so it ends in ".py" before "build applet" will appear in the menu. (I used ".pyw" because it suppresses the console window in Windows.)


----------



## DVDerek

wmcbrine said:


> You have to rename it so it ends in ".py" before "build applet" will appear in the menu. (I used ".pyw" because it suppresses the console window in Windows.)


Yeah, did that.









You can't tell from the picture, but I'm right clicking on "remote.py" which is associated with TextMate by default (not sure if that matters).


----------



## wmcbrine

Ah... look under "Open With".

Sorry about that. I've now edited the 0.15 post to reflect this.


----------



## Phasers

I lost (well my wife!!!!!!) my remote on my series 3, and this is the only thing keeping me going until tivo sends me a new one.

I can't believe I am using a $1500 laptop solely as a remote control for tivo but hey what can I say.

It took me 2 days to find this, and I realized how mch I was addicted.

*By the way if anyone hasn't enable the network remote control feature (Under settings somewhere) the info button on the front of the series 3 will work to input the 3 thumbs up when you have to confirm when you enable the feature*

Dude thanks so so so so so much!


----------



## Fofer

wmcbrine said:


> First, rename remote.pyw to "remote.py" (or perhaps "TiVo Remote.py"). Then, pull up the context menu, and select "Open With...". You should see an option* to "Build applet". Select that, and you're done.


I am running OS X 10.5.5 (Leopard,) I renamed it to TiVo Remote.py, and don't get that contextual menu. The only thing under "Open With" is "SubEthaEdit" and "Other..."










I know Python 2.5.1 is pre-installed with Leopard, do I need to install it again?


----------



## wmcbrine

Hmm... based on that link, it sounds like it only shows up if you've installed Xcode and/or a new Python. If I've misled anyone, it was unintentional; sorry.


----------



## Morfious

You can DL a version of python from here:

http://pythonmac.org/packages/py25-fat/dmg/python-2.5-macosx.dmg

The context menu will show up once it's installed.


----------



## snowjay

wmcbrine said:


> Hmm... based on that link, it sounds like it only shows up if you've installed Xcode and/or a new Python. If I've misled anyone, it was unintentional; sorry.


Yes you need Xcode installed for the Build Applet to show up.

Thanks for this app!


----------



## nwellner

I've only seen the Iphone remote App for jailbroken phones. Is there a chance there will be a version released in the Itunes app store? Or are there too many corporate implications with Tivo and Apple for this to happen?

*sorry if this has been mentioned, I scanned these 9 pages in this thread looking for the answer but didn't find it.


----------



## sanjonny

Am i just missing something, I can't figure out why there are programs that run on an iphone without needing to install python, but to do it on a windows i need to run python. 

I am using a new dell 4 series (the new mini ultra) that has limited memory and space and it looks like the program for the remote is extemely small, but python is like 15 megs. Why not compile this app into an exe so or make it into a yahoo gadget or java so people could run it anywhere without having to install python?

knowning nothing about it, it seems like that would make more sense and you would have many more people able to use the front end remote than requiring everyone to install python.

Am i just missing something? If there is an easy way to run this as an exe or something please let me know, i read all the responses thus far and can find nothing that explains why this is the way it is.


----------



## wmcbrine

I guess you're missing how trivial it is to install Python... plus the fact that it's a free program... among other things.

It's written in Python because I enjoy writing in Python. If you're not interested in installing Python, you're welcome not to use it. I don't care.


----------



## sanjonny

Look, I am not dissing python or anything, I know nothing about it. But it takes a minimum of 38mb from what I saw in the install package. So in order to run this on a majorly limited capacity machine, that seems like a lot of overhead. I don't have an iphone, but it seems to run the app on the iphone requires almost no overhead, like under 100k.

Does python not allow you to compile the code into executables? For the replays there is a similar backdoor for remote control that is run both thru a widget and also a html script, as a stand alone executable and also a java program. And that community is almost dead so I would figure that it shouldn't be that hard to port something out that could be used by a larger universe of users than those that have the technical competance and the overhead to be able to run python.

If this is ported to java, it could run almost anywhere and get a large following because then it could run on any java device, or if python lets you compile, you could port it out to windows, linux, CE, apple software or just about anything. 

I don't think it matter what language the code is written in, python ,c visual basic or whatever, usually you can port it out. I am just wondering why not do that, to be able to have it exposed to more users who would appreciate it?

You would probably get ten times as many people using it on multiple different platforms. More people who would be glad that you wrote it and more notoriety for yourself!


----------



## gonzotek

sanjonny said:


> Look, I am not dissing python or anything, I know nothing about it. But it takes a minimum of 38mb from what I saw in the install package. So in order to run this on a majorly limited capacity machine, that seems like a lot of overhead. I don't have an iphone, but it seems to run the app on the iphone requires almost no overhead, like under 100k.
> 
> Does python not allow you to compile the code into executables? For the replays there is a similar backdoor for remote control that is run both thru a widget and also a html script, as a stand alone executable and also a java program. And that community is almost dead so I would figure that it shouldn't be that hard to port something out that could be used by a larger universe of users than those that have the technical competance and the overhead to be able to run python.
> 
> If this is ported to java, it could run almost anywhere and get a large following because then it could run on any java device, or if python lets you compile, you could port it out to windows, linux, CE, apple software or just about anything.
> 
> I don't think it matter what language the code is written in, python ,c visual basic or whatever, usually you can port it out. I am just wondering why not do that, to be able to have it exposed to more users who would appreciate it?
> 
> You would probably get ten times as many people using it on multiple different platforms. More people who would be glad that you wrote it and more notoriety for yourself!


wmcbrine's a python developer. It's a language he's comfortable with. You're right, it doesn't matter what language the functionality is written in, the end result is more or less always a TiVo remote. It doesn't matter, except of course to the person who happens to be writing it.

I've been writing a small remote script in php and html/javascript for the iphone because I'm not currently interested in jailbreaking the phone or waiting for someone to release something in the store (I don't think there should be any reason apple/tivo would block it). Will this be useful for everyone? No, definitely not. It requires the iphone (although I plan on creating a stylesheet for normal browsers, right now it's custom designed for the iphone) and a php server running on a machine in the local network. But I plan on releasing what I've done pretty soon, so other people can use it if they want, either as a (hopefully) useful piece of software or as a learning tool/guide for some other project(perhaps a java jar?). Here's the kicker, I used wmcbrine's python implementation as a guide myself, since he was kind enough to allow us access to the source under the GPL. I don't know anything about the replay remote softwares, but I imagine they weren't all written by one person and perhaps the developers shared information about how to communicate with the replays?

There isn't a port in every language on every platform because no one has written one, yet. Do you know java, VB, or C#? Own a blackberry or android phone? What about the chumby? It's ok, if you don't program and don't own any of those. But instead of asking why wmcbrine's remote is only available in python you should consider asking if anyone is interested in writing for your platform of choice...maybe if some interested java developer sees the need, he'll step up and build it.


----------



## DVDerek

sanjonny said:


> Look, I am not dissing python or anything, I know nothing about it. But it takes a minimum of 38mb from what I saw in the install package. So in order to run this on a majorly limited capacity machine, that seems like a lot of overhead. I don't have an iphone, but it seems to run the app on the iphone requires almost no overhead, like under 100k.
> 
> ...
> 
> If this is ported to java, it could run almost anywhere and get a large following because then it could run on any java device, or if python lets you compile, you could port it out to windows, linux, CE, apple software or just about anything.
> 
> I don't think it matter what language the code is written in, python ,c visual basic or whatever, usually you can port it out. I am just wondering why not do that, to be able to have it exposed to more users who would appreciate it?


Let me get this straight... you're upset about 38MB? Hell, buy a 128MB USB stick and run it on there if you really don't have the space.

If not, since you seem to think it's so easy, you could just "port it out" yourself.


----------



## dswallow

sanjonny said:


> If this is ported to java, it could run almost anywhere and get a large following because then it could run on any java device, or if python lets you compile, you could port it out to windows, linux, CE, apple software or just about anything.


Well, if 38MB bothers you, then you must be totally shocked at the Java bloat.


----------



## sanjonny

dswallow said:


> Well, if 38MB bothers you, then you must be totally shocked at the Java bloat.


Yeah but java is already on the devices, hence the beauty of it. Python is something I never heard of until i read this forum, and I am no dumb bunny.

Nowadays people don't think about the beauty of minimalization of code. 38mb is bigger than many hard drives only a few years ago. Now I am probably older than most people reading this, but in the old days, there was not the need to put the development language on the machine to run the executable, and again, knowing nothing about python, I would guess there is a way to develop out a executable file. Otherwise what is the point? If not, why learn the language at all, when you could write this in C or something smaller?

All this app does is send telnet commands with what like 30 variations? And put a front end on it with standard buttons? I mean the command structure for that should be extremely small, like under 1 mb, and the biggest part would be if you were to do as somebody suggested by like putting the buttons overlaid on a picture of a tivo remote, of which the graphic should be the biggest part of the file.

Don't get me wrong, I am just surprised that for as huge as the tivo install base is, (what like 50X replay now, or maybe 2000X) there sure isn't that much of a code community out there or maybe they don't like to share and develop together like other communities, but being a recent convert, it is really surprising that somebody finds a development like this and there are not 15 different front ends to offer up the remote service which is very useful and that people seem to only be developing for the iphone and not all the other cool phones out there.

Is it that most tivo users have macs and iphones and so don't normally develop apps in more standard machine languages? i have no idea? I mean macs are not the best development machines, so maybe that is more understandable.

It just seems weird that techies would focus so much on the iphone which is really restricted compared to the cool things you can out out of my phone (a windows mobile device) or out of the blackberry and palm systems or especially the cool new developments available thru the android system (of which I will be buying one and playing around with it as soon as I get some time)

I guess I am just really surprised that there is so little really going on with hacking the tivos and development by user groups for them. I know there is lots for the older tivos and such, but still it seems weird to me so little goes on.

If I get time, I would be glad to write something up, I already have some built into my phone and my own development for the mini dell mentioned, and if I get those refined to releaseable, I would be glad to port them out, but I just don't usually have the hobby time to do that and others usually do. I wish I did, I miss the old days of doing this kind of stuff all the time.

But I would imagine someone out there does and most of us know how nice it is to have a lan network remote, especially if you use your dvr in multiple rooms and ir repeaters are sketchy. It was the first thing I looked for after installing my tivo.


----------



## gonzotek

sanjonny said:


> Yeah but java is already on the devices, hence the beauty of it. Python is something I never heard of until i read this forum, and I am no dumb bunny.
> 
> Nowadays people don't think about the beauty of minimalization of code. 38mb is bigger than many hard drives only a few years ago. Now I am probably older than most people reading this, but in the old days, there was not the need to put the development language on the machine to run the executable, and again, knowing nothing about python, I would guess there is a way to develop out a executable file. Otherwise what is the point? If not, why learn the language at all, when you could write this in C or something smaller?


Python is a scripting language. The point is, specifically, that you do not NEED to compile to run the code..You can make changes to it in an editor, restart the process and immediately see the results of the changes. It is possible to create executables out of python scripts, but doing that removes a lot of the advantages it provides (the aforementioned rapid development cycle, cross-platform capability, etc.). Wmcbrine's program, for instance, runs, without modification, on Macs, Windows, Linux, Solaris; and people have even gotten it to work on WinMo devices.



> All this app does is send telnet commands with what like 30 variations? And put a front end on it with standard buttons? I mean the command structure for that should be extremely small, like under 1 mb, and the biggest part would be if you were to do as somebody suggested by like putting the buttons overlaid on a picture of a tivo remote, of which the graphic should be the biggest part of the file.


Wmcbrine's latest release is only 21k of code. A Java jar would probably end up larger, and if you hadn't already had java installed you would be looking at a MUCH larger overall footprint.



> Don't get me wrong, I am just surprised that for as huge as the tivo install base is, (what like 50X replay now, or maybe 2000X) there sure isn't that much of a code community out there or maybe they don't like to share and develop together like other communities, but being a recent convert, it is really surprising that somebody finds a development like this and there are not 15 different front ends to offer up the remote service which is very useful and that people seem to only be developing for the iphone and not all the other cool phones out there.


Send me an android phone and a blackberry and I'll develop for them. I have an iPhone, so naturally I am most interested in software that works for it. I plan on having my script work with browsers other than the iPhone's Safari, but I am first and foremost interested in it working there, for that is my device.



> Is it that most tivo users have macs and iphones and so don't normally develop apps in more standard machine languages? i have no idea? I mean macs are not the best development machines, so maybe that is more understandable.


No Mac here, just the iphone. My understanding, though, is that people who have to code in multi-platform environments consider modern macs to be awesome platforms for development.



> It just seems weird that techies would focus so much on the iphone which is really restricted compared to the cool things you can out out of my phone (a windows mobile device) or out of the blackberry and palm systems or especially the cool new developments available thru the android system (of which I will be buying one and playing around with it as soon as I get some time)


I dumped WinMo for the iPhone because it was so clunky for so many tasks(unrelated to software development). Android just came on the scene a few days ago, officially. I wouldn't be at all surprised to see someone do some cool TiVo-related work with it sometime soon.



> I guess I am just really surprised that there is so little really going on with hacking the tivos and development by user groups for them. I know there is lots for the older tivos and such, but still it seems weird to me so little goes on.


The remote functionality doesn't exist in S2 TiVos, it is (so far) exclusively a S3 feature, and the bulk of the machines out there are S2 models. There are quite a few different pieces of software that work with TiVos, if you look around a bit. Transcoding software like pyTiVo (another python app) that can send video in many different formats to the TiVo, games, utilities, etc. All of these run on the network, outside of the TiVo software environment. 'Hacking' older TiVos was easy because the software in them wasn't locked down with hardware encryption, but most S2 and all S3 models are crippled in such a way that to modify the software the TiVos run requires de-soldering a prom and flashing it. This puts up a major barrier to most would-be hackers. For those that can handle doing that, people are still doing really cool stuff like installing a webserver with all kinds of cool additions into the TiVo box.



> If I get time, I would be glad to write something up, I already have some built into my phone and my own development for the mini dell mentioned, and if I get those refined to releaseable, I would be glad to port them out, but I just don't usually have the hobby time to do that and others usually do. I wish I did, I miss the old days of doing this kind of stuff all the time.


I wish I had more hobby time to code too .



> But I would imagine someone out there does and most of us know how nice it is to have a lan network remote, especially if you use your dvr in multiple rooms and ir repeaters are sketchy. It was the first thing I looked for after installing my tivo.


 You may want to try my script out when I can release it, if you have another machine in the lan that can run php. It would mean you wouldn't need to install anything at all on the mini. As I said, it's not an ideal solution for everyone: You need a machine to serve the script, running all the time (or at least as long as you wanted the remote), but if someone is already running a server-type machine in the lan for some other purpose (file server, etc.) it could be a good fit.


----------



## proudx

I'm using these commands to send a pause when my phone rings from my homeseer server. When the phone call is ended and disconnects tv is sent a play command. works great.

I got another good use for this tool. A scheduled automated reboot. While I reconize tivo has a history of not needing to be rebooted that much, seems as though performance and bug related issues could be masked/reduced by a simple weekly or monthy automated 3am reboot. Just have a script that macros into the menus and sends the right commands to restart it. Anyone try this yet?


----------



## Fofer

Make sure you also have OpenSSL installed.

More info here.


----------



## David Platt

Fofer said:


> Make sure you also have OpenSSL installed.
> 
> More info here.


Whoops, you got me on the ninja deletion.

my post said I had just installed the tivo app on a jailbroken iPhone and it was crashing. I updated Cydia and re-installed, and everything's fine now. Thanks, Fof!


----------



## jtkohl

wmcbrine said:


> I wanted to provide an .app, but I couldn't find a way to distribute one that didn't care about the Python version, unless I bundled the whole interpreter.


For Galleon, I package it up with PackageMaker and install a skeleton .app directory, then in a postflight script copy in the Java runtime stub from /Library/...

Maybe you could do something similar, perhaps a small script that execs the python interpreter, and keeps the .app-handling part of Finder happy?


----------



## wmcbrine

It's come to my attention that the TiVo HD XL has a Tivo Service Number that starts with 658, which wasn't recognized as a supported model -- I was only checking for 648 (Series 3) and 652 (regular TiVo HD). So, here's an update to support the XL.

[See sig for the latest version.]


----------



## bblue

On the Tivo HD XL, the sps9() function works fine, but the sps30() function doesn't seem to. After applying this during Play mode, the FF operates just as it always has. Any thoughts?


----------



## wmcbrine

Not sure I understand you. It's the Advance (Skip) button (the one with the arrow pointing to a line) that changes function, not FF.


----------



## bblue

You understood exactly, thanks!


----------



## citivolus

duckfin, great app!

Has anyone been able to get past the issue on the iPhone version where it reports "Connection Error, Unable to connect to socket".

This happens when trying to play a show directly from the Now Playing list. The other remote control functions work fine.

I have a TivoHD. I tried playing with the different timeouts in the remote.xml but no luck. This issue has been reported on the wiki as issue #19 and #23 for some time.

any ideas?


----------



## jeepguy_1980

Does this work with the new TiVo fw update?

I'm asking, b/c the software is not working for me but I had not ever tried using it until after the firmware update.


----------



## cobb

gonzotek said:


> I've been writing a small remote script in php and html/javascript for the iphone because I'm not currently interested in jailbreaking the phone or waiting for someone to release something in the store (I don't think there should be any reason apple/tivo would block it). Will this be useful for everyone? No, definitely not. It requires the iphone (although I plan on creating a stylesheet for normal browsers, right now it's custom designed for the iphone) and a php server running on a machine in the local network. But I plan on releasing what I've done pretty soon, so other people can use it if they want, either as a (hopefully) useful piece of software or as a learning tool/guide for some other project(perhaps a java jar?).


Gonzotek,
I'm hugely interested in your iphone web page code. 
Is it to a place that you can releasing it yet?
Does it implement the telnet tivo remote control commands?
Thanks,
Cobb


----------



## ThAbtO

Can you create a html and/or java version for my browser, with IP address window to set for the tivo/s?


----------



## gonzotek

jeepguy_1980 said:


> Does this work with the new TiVo fw update?
> 
> I'm asking, b/c the software is not working for me but I had not ever tried using it until after the firmware update.


There's a setting in the remote area of the tivo's settings menu that has the network remote functionality for this, OFF by default -- Follow the steps here to turn it on:
http://www.tivo.com/setupandsupport..._Integration_for_the_TiVo_Series3_HD_DVR.html
Let us know if that isn't the problem.


cobb said:


> Gonzotek,
> I'm hugely interested in your iphone web page code.
> Is it to a place that you can releasing it yet?
> Does it implement the telnet tivo remote control commands?
> Thanks,
> Cobb


I'll see what I can do this weekend, I've been cleaning up the look as I have time and it's pretty much how I want it now. Everything on a standard tivo remote is implemented now (but not macros or anything else beyond what you see on a normal tivo peanut). It'll require apache and php (or another web server that has php available). It will also be BYOS (bring your own security). I'm using a .htaccess file to password protect the directory. I know there are some major security issues with how I've implemented the functionality, and I know at least a few things I can and should plug up before letting someone else run the code.



ThAbtO said:


> Can you create a html and/or java version for my browser, with IP address window to set for the tivo/s?


I've hard-coded the ip address for my single THD, so far, but on my list of things that need finishing is to have a selectable list of the TiVos on the network that can be controlled. Also, right now, it relies very heavily on iphone/webkit-only css, but styling it for a desktop browser or other phone browser shouldn't be difficult.

Thanks for the interest, I will try hard to put something together that people can try out soon.

Oh yeah, it will be permissively licensed (BSD, I think) if that matters to anyone


----------



## wmcbrine

jeepguy_1980 said:


> Does this work with the new TiVo fw update?


Yes. (I couldn't answer until today.)



> _I'm asking, b/c the software is not working for me but I had not ever tried using it until after the firmware update._


See here for one possible explanation.

Edit: gonzotek beat me to it.


----------



## jeepguy_1980

I wrote a java applet to control my TiVo with the intention of making it into a Vista Sidebar gadget. I have never made a sidebar gadget before, but from what I have read, it's just an html document.

I did make a sample gadget that displayed text just to confirm this and it seems to be true. However, I have encountered two problems.

*One:* I am not able to make my applet appear in the gadget (I am just geting an 'X').

Does anyone know if it is even possible to load a java applet into a sidebar gadget?

*Two:* I discovered that java applet are only allowed to communicate with either the local computer or the host computer.

Does anyone know if an exception can be made for intranet communications? Or for sidebar gadgets?

My applet works just fine when I open it without using a web browser, so I know it's a browser limitation.


----------



## jeepguy_1980

Here is the java version I threw together if anyone wants to play with it. It's not really anything special and it still has a few bugs. I really wish I could figure out how to incorporate it into the sidebar.

Java Version


----------



## ThAbtO

jeepguy_1980 said:


> Here is the java version I threw together if anyone wants to play with it. It's not really anything special and it still has a few bugs. I really wish I could figure out how to incorporate it into the sidebar.
> 
> Java Version


Mow if only we can have this with a tivo remote image with working buttons.


----------



## jeepguy_1980

ThAbtO said:


> Mow if only we can have this with a tivo remote image with working buttons.


That wouldn't be too hard. I'm not sure if I could animate the buttons work in Java. I know I could in Flash. But I don't have a graphic to use and don't know how to make one. Plus, the program isn't of much value unless I can get it in the sidebar.


----------



## cobb

jeepguy_1980 said:


> That wouldn't be too hard. I'm not sure if I could animate the buttons work in Java. I know I could in Flash. But I don't have a graphic to use and don't know how to make one. Plus, the program isn't of much value unless I can get it in the sidebar.


Hey jeepguy,
I like your Java app. 
Wish I could help you on the sidebar issue, 
but if you're up for a little extra work I can point you to some really 
nice graphics for the buttons.

Check out http://code.google.com/p/tivoremote/

Its an iPhone app, and comes with this nice graphic
plus 34 graphics of all the individual buttons.









Unfortunately, that iphone app requires a jailbroken iphone, :down:
which is why i'm looking for nice web based version.


----------



## jeepguy_1980

Do you have those buttons all saved as individual images somewhere?


----------



## cobb

All you have to do is download the zip file: tivoRemote-0.23.zip

It contains individual pictures of ALL the tivo buttons in PNG format.


----------



## jeepguy_1980

Are these your graphics? If so, do I have permission to use them?

Edit: It appears to have a GPL license, so I guess that means I can use the graphics.


----------



## cobb

Those are not my graphics, but they are available under the GNU General Public License...

which from what I can tell gives you complete freedom to use them as long as you don't claim ownership of them and allow users of your program to freely copy/distribute them.


----------



## jeepguy_1980

Per your request. Updated with graphics.

Link to updated version


----------



## ciper

ACK. For petes sake add the *List* button PLEASE.

It's freaking bad enough I have to hack my old Sony remote to work with the Tivo HD but now the only other remote control method (besides the pos peanut) is also missing my favorite button?! My head asplode.


----------



## jeepguy_1980

ciper said:


> ACK. For petes sake add the *List* button PLEASE.
> 
> It's freaking bad enough I have to hack my old Sony remote to work with the Tivo HD but now the only other remote control method (besides the pos peanut) is also missing my favorite button?! My head asplode.


Are you talking about my remote?

What button is missing?

Also, there was one button that I'm wasn't sure what to map it to, if anyone knows, I'll fix my program.

This button


----------



## jeepguy_1980

PaulS said:


> Crestron has a page up about this "module" of theirs. You need to have a login to download the module, but they do have a screen shot, which should illustrate the functions that are currently supported :
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Looks like most of the bases have already been covered, but not all of them. For instance, the Crestron image shows an "aspect" and an "info" control.


This has an aspect button, but none of the IRCODE command listed affected the aspect. Does anyone know what the IRCODE for aspect is?


----------



## wmcbrine

Aspect = WINDOW

You might want to look at my remote.pyw; it's in there. "Window" is how this button was labelled when it first appeared on the peanut, IIRC, but it never did anything until it was assigned to aspect ratio control, starting with the HR10-250.

The button you couldn't identify is also the Window/Aspect button, BTW.

ciper: I haven't put the List button into my remote because, aside from the fact that it's not on most TiVo remotes, you can get the same functionality just by hitting the "TiVo" button twice. So "List" seems kinda pointless to me. And I have limited space in which to make buttons before the thing gets too big for some screens.


----------



## jeepguy_1980

wmcbrine said:


> Aspect = WINDOW
> 
> You might want to look at my remote.pyw, it's in there. "Window" is how this button was labelled when it first appeared on the peanut, IIRC, but it never did anything until it was assigned to aspect ratio control, starting with the HR10-250.
> 
> The button you couldn't identify is also the Window/Aspect button, BTW.


I probably sound dumb for this, but I couldn't get your program to run and I looked at the code in 010 editor a little bit. But then I just decided to write my own. My goal was/is to put a remote in my sidebar.

I do have python installed and I use it for pyTiVo, but for some reason your program doesn't do anything on my computer.

Edit: The Window button has been updated.


----------



## jeepguy_1980

I fixed a couple of bugs and added animation to the TiVo button to see what people think about applying it across all of the buttons, as well as an LED to indicate successful IR transmission (similar the real remote).

*Updated Remote*

Edit: The remote is now a single .jar file for your convenience.


----------



## goodtrips

jeepguy -- dying to try your app but am at a loss how to run it. i double click on the .jar file in mac osx 10.4. jar launcher opens briefly, but then closes and then nothing.

not sure how much of a stretch this is, but asking since you are using java -- having a javascript html version where you can manually define an IP address would be amazing.


----------



## ThAbtO

jeepguy_1980 said:


> I fixed a couple of bugs and added animation to the TiVo button to see what people think about applying it across all of the buttons, as well as an LED to indicate successful IR transmission (similar the real remote).
> 
> Updated Remote


I think the graphic need to be more compact. I tried to put my tivo remote on the scanner, but the curvature made the top and bottom blurry.


----------



## jeepguy_1980

goodtrips said:


> jeepguy -- dying to try your app but am at a loss how to run it. i double click on the .jar file in mac osx 10.4. jar launcher opens briefly, but then closes and then nothing.
> 
> not sure how much of a stretch this is, but asking since you are using java -- having a javascript html version where you can manually define an IP address would be amazing.


That was my original goal. However, browsers security prevents java applets running in a browser from communicating with any IPs other than the host computer and the local computer.

You cannot run the app from inside of the zip. You need to extract the files to a folder and then run the .jar. If that doesn't work, try this.



ThAbtO said:


> I think the graphic need to be more compact. I tried to put my tivo remote on the scanner, but the curvature made the top and bottom blurry.


I'm not sure what you mean by putting it on your scanner.


----------



## ThAbtO

jeepguy_1980 said:


> You cannot run the app from inside of the zip. You need to extract the files to a folder and then run the .jar.


I extracted the .jar file and the LIB folder to my desktop and can then run .jar.



jeepguy_1980 said:


> I'm not sure what you mean by putting it on your scanner.


I have a flatbed scanner (Lexmark X6570) which I put the remote face down upon. With the cover up, I put a sheet of paper on top of the remote and illuminate it with the room light.

How's this for a remote image  Its from the Tivo Store.


----------



## jeepguy_1980

ThAbtO said:


> I have a flatbed scanner (Lexmark X6570) which I put the remote face down upon. With the cover up, I put a sheet of paper on top of the remote and illuminate it with the room light.


You're saying you do this with your physical remote? I'm not sure how this is related to the size of my program, or how how the program is blurry at the top and bottom.

I guess I don't fully understand what you're saying.



ThAbtO said:


> How's this for a remote image  Its from the Tivo Store.


I was going to use the black image from their store, but it's not really a graphic. It's a photo and it has light reflecting off of it. Plus, the remote would have to be sliced into a bunch of square/rectangular images to piece them back together in Netbeans, b/c it automatically makes all of the buttons into squares.


----------



## ThAbtO

I scanned my tivo remote literally; but the curvature of the face prevents it from sitting flat thus the resulting image is blurred on the top and bottom.


----------



## ciper

wmcbrine said:


> ciper: I haven't put the List button into my remote because, aside from the fact that it's not on most TiVo remotes, you can get the same functionality just by hitting the "TiVo" button twice. So "List" seems kinda pointless to me. And I have limited space in which to make buttons before the thing gets too big for some screens.


You can press Tivo twice but it's slower because the Tivo has to load the main menu (with all its options and the background video) and then load the list (with the current recordings and a different background video). If you have a universal remote you should try programming the list button into it and use it for a while. It's an awesome feature once you get used to it.


----------



## jeepguy_1980

ciper said:


> You can press Tivo twice but it's slower because the Tivo has to load the main menu (with all its options and the background video) and then load the list (with the current recordings and a different background video). If you have a universal remote you should try programming the list button into it and use it for a while. It's an awesome feature once you get used to it.


When I double tap my TiVo button, it brings up the Now Playing list instantly.


----------



## ciper

jeepguy_1980 said:


> When I double tap my TiVo button, it brings up the Now Playing list instantly.


The list button brings it up even faster than instantly! It goes back in time slightly


----------



## jeepguy_1980

ciper said:


> The list button brings it up even faster than instantly! It goes back in time slightly


Make a list icon and I'll make a version of the remote for you that includes it.


----------



## ciper

I'll try to make a good looking button. 
Here is what the button looked like under TivoWebPlus on the peanut skin








Here is a picture of the button on the Sony remote


----------



## jeepguy_1980

Here you go.

My button really looks like crap. I am trying to get the psd version of the buttons used in the iPhone app, so that I can animate all of them. If I get them, I should also be able to edit the text and make a better looking list button.


----------



## ThAbtO

The numbers on the Java version does not work.


----------



## cobb

The numbers work, just not quite like the real remote.
On the Java version, the numbers appear in red next to the enter button.
It only sends the numbers to tivo when you hit the enter button.

Jeepguy, I like the animated TIvo button, but if I could change one thing,
I think I would have to go with ThAbtO...in making the button layout more 
compact. There's plenty of black empty space in the Java window; I would 
like to see the whole window get skinnier...this would let me make my TV 
window bigger but still not overlap the remote.










Oh, and a better window title  Like "Tivo Remote"


----------



## jeepguy_1980

cobb said:


> The numbers work, just not quite like the real remote.
> On the Java version, the numbers appear in red next to the enter button.
> It only sends the numbers to tivo when you hit the enter button.
> 
> Jeepguy, I like the animated TIvo button, but if I could change one thing,
> I think I would have to go with ThAbtO...in making the button layout more
> compact. There's plenty of black empty space in the Java window; I would
> like to see the whole window get skinnier...this would let me make my TV
> window bigger but still not overlap the remote.
> 
> Oh, and a better window title  Like "Tivo Remote"


I just updated the window title, I hadn't noticed that before. You can just re-download the same link.

I'll look into the possibility of reconfiguring the functionality of the number buttons and making the layout more compact. If anyone has a suggestion, make a jpg and post it.

I still haven't got a response on my request of the psd files for the buttons used in this app, so that will make animating the buttons a bit more difficult. Especially since I'm not good with graphics.


----------



## jeepguy_1980

I made it a little bit skinnier now.


----------



## cobb

Thanks jeepguy,
The "Netmote" is working great for me!

I don't have a problem with the number buttons.
I kind of like the way it is.
Its just not obvious to someone new, as they will typically be watching the TV when hitting the buttons and they won't see the little red numbers on the Netmote.

The last thing I would suggest is some way to remember Tivo's IP so that it doesn't prompt everytime you start. Auto-discovery of the Tivo would be great too  but I have no idea how hard that would be. A simply memory of the last IP used with no prompt would work fine for me.

Thanks again, 
cobb


----------



## MWR

Hi.

I have a TIVOHD and in windows telnet I don't seem to be able to connect with "o 192.168.1.4 31339." I get a "Could not open connection to the host, on port 31339: Connect failed." I'm sure that IP is my TIVO's IP. I tried turning off my connecting PC's firewall completely but it still acts that like port is not open. Any ideas?

thanks,
Mike


----------



## ThAbtO

MWR said:


> Hi.
> 
> I have a TIVOHD and in windows telnet I don't seem to be able to connect with "o 192.168.1.4 31339." I get a "Could not open connection to the host, on port 31339: Connect failed." I'm sure that IP is my TIVO's IP. I tried turning off my connecting PC's firewall completely but it still acts that like port is not open. Any ideas?
> 
> thanks,
> Mike


This could help fix that.



LoREvanescence said:


> I just wanted to report that in 9.4 this UI control via Telnet or any application is now disabled.
> 
> To enable it again, you have to go to Messages & Settings > Remote, CableCARD, & Devices > Network Remote Control
> 
> Then you have to enable it, by default, the option is set to disables.


----------



## MWR

Thank you!!!
I thought I read through the entire thread, but I missed that post.

Thanks,
MWR


----------



## MWR

Is there a telnet command to force the sound to DD5.1 instead of PCM? Basically using HDMI I want to by-pass the E-EDID autodetect and force DD5.1.

Thanks,
MWR


----------



## Pantsface

Thanks for all the hard work. What a great find and app(s)!!:up:


----------



## goofyneuf

Was there any response to this? I have encountered similar problems -- there is no standard "prompt" to wait for after submitting commands via telnet...

by "this" -- I was replying to the thread about whether there was any way to set the prompt so that an acknowledgement can be received for parsing with a Java-based driver.

Thanks!


----------



## Joe Q

Has anyone figured out a way of usng this Telnet capbility to allow one to Delete a recording?

Here is why I ask.
TivoDesktop will allow one to delete a recording that is on your PC's disk but NOT on the Tivo itself.

I find that scrolling around the Tivo's menu via the Tivo remote to be a bit tedious and slow when I am trying to clean up uneeded recordings.

Being able to do this via a Point and Click PC interface would be really useful.


See the enclosed markup as an example of the idea I am talking about.
I took a screen snapshot of the nowplaying list and added a Delete field on the left in Red.

Does not have to be a fancy web interface like the one I marked up but a simple text list and a checkbox would be just as good.

Ideas on how one could do this?

Thanks


----------



## ThAbtO

I found some things I can't do on the NetMote is when I press the numbers because they aren't as active like the other buttons. I.e.: Tivo + 2, or changing channels, ie: 4-3 just goes to channel 4.


----------



## wmcbrine

Jeepguy's remote appears to use the teleport feature for all channel changing, which means that the numbers don't work for anything else.

My remote just passes through the numbers as keystrokes, so they'll work everywhere.


----------



## jeepguy_1980

What IRCODE are you sending to the TiVo for each number?


I've also been thinking about starting a new IR code based project, but I'd like some input.

I want to take a Rabbit microcontroller and connect it to the IR Port on my Slingbox. Then when I use the remote in the SlingPlayer software, my Slingbox will send the IR signal to the Rabbit and the Rabbit will send IRCodes over my network. This way I don't have to have an ugly IRBlaster hanging out for my Slingbox.

I think the hardest thing will be figuring out how to decode the IR signals coming from the Slingbox. Does anyone have any ideas as to the best way to capture the IRsignals coming from the 2.5mm jack on the Slingbox?


----------



## wmcbrine

jeepguy_1980 said:


> What IRCODE are you sending to the TiVo for each number?


NUM0 through NUM9, of course.


----------



## jeepguy_1980

Thanks, My remote has been updated to use a keystroke method for inputting numbers.


----------



## ThAbtO

jeepguy_1980 said:


> Thanks, My remote has been updated to use a keystroke method for inputting numbers.


Is this the Java version? The file in your sig does not have the .jar that i was looking for.


----------



## jeepguy_1980

ThAbtO said:


> Is this the Java version? The file in your sig does not have the .jar that i was looking for.


Which .jar are you looking for? It links to my post with the latest version.


----------



## ThAbtO

Looking for the file with the single .jar file (with the lib folder), not the one in your sig because I found it contains all sorts of files, .class etc., which I don't know which to use. I have the last .jar file on my desktop which I can just open to use the Netmote.


----------



## jeepguy_1980

ThAbtO said:


> Looking for the file with the single .jar file (with the lib folder), not the one in your sig because I found it contains all sorts of files, .class etc., which I don't know which to use. I have the last .jar file on my desktop which I can just open to use the Netmote.


The one in my sig is a single .jar file. You just run it.


----------



## dougt

for what its worth, i posted a IPhone / IPod Touch Tivo Remote application and it was approved by Apple. Search for "Tivo Remote" in iTunes.

or check out www dot meer dot net /users/dougt/tivo_remote


----------



## Fofer

dougt said:


> for what its worth, i posted a IPhone / IPod Touch Tivo Remote application and it was approved by Apple. Search for "Tivo Remote" in iTunes.
> 
> or check out www dot meer dot net /users/dougt/tivo_remote


that's totally awesome and much appreciated. been using the jailbreak app for awhile now: http://code.google.com/p/tivoremote/

just bought yours.

any chance you can update the UI to have matching remote graphics? It certainly could be prettier.


----------



## gonzotek

dougt said:


> for what its worth, i posted a IPhone / IPod Touch Tivo Remote application and it was approved by Apple. Search for "Tivo Remote" in iTunes.
> 
> or check out www dot meer dot net /users/dougt/tivo_remote


Heh, I recognized your username from your moz-related stuff. Good work, I also already purchased a copy (even though I have my own home-baked php-served iphone tivo remote script  )

Suggestions/thoughts for future revisions: Macros (ie. select-play-select codes), a link to launch m.tivo.com, and displaying the NPL on the phone (via the NPL xml).

I was going to suggest removing the hyphen on "Search for TiVo's", but here's what TiVo itself has to say about pluralization :
http://www.tivo.com/abouttivo/resourcecenter/legalandcopyrightrequirements/legal_trademark.html


> 3. Trademarks are singular.
> Because a trademark is an adjective, it should never be used in the plural form. Instead, when necessary, the generic noun can be used as a plural.
> 
> Example:
> Correct: I want two TiVo® DVRs.
> Incorrect: I want two TiVos.


----------



## wmcbrine

gonzotek said:


> I was going to suggest removing the hyphen on "Search for TiVo's"


That's an apostrophe. 



TiVo said:


> 3. Trademarks are singular.
> Because a trademark is an adjective, it should never be used in the plural form. Instead, when necessary, the generic noun can be used as a plural.
> 
> Example:
> Correct: I want two TiVo® DVRs.
> Incorrect: I want two TiVos


Whoever wrote that was on crack.


----------



## dougt

@Fofer - no chance for remote graphics. Tivo does send back what channel you are watching or recording. However, i really couldn't figure out how to show that in the UI, or if it was really valuable. Thoughts here?

@gonzotek great ideas! I was thinking about a "record mode" where you could press what ever you wanted, and the remote app would just remember it, then it would allow you to save the entire sequence. like kbd macro in emacs, or something.

Fwiw, here are the bugs you guys suggested:
www dot meer dot net /users/dougt/tivo_remote/bugs

any suggestions/bugs, either email me or pm me. Thanks.


----------



## Fofer

dougt said:


> @Fofer - no chance for remote graphics. Tivo does send back what channel you are watching or recording. However, i really couldn't figure out how to show that in the UI, or if it was really valuable. Thoughts here?


@dougt, I didn't mean "remote graphics" in that sense. I meant, pretty up the UI of the remote control, so instead of "text bubbles" like you have:
















...that it could look more like the actual TiVo remote buttons, like so:

















(from the jailbreak app here.)

It would go a long way toward improving your app. I believe many of these graphic elements have been shared in this thread (and they are all included in the tivoRemote-0.23 package, available at the link above.)

Your app's icon could use some improvement too. 

I do think, though (since you mentioned it) that showing what channel you are watching or recording would be really cool and potentially valuable. Why not just include that on the top of the screen, in a thin banner?

And I'll also agree that a link to launch m.tivo.com, as well as a way to display the Now Playing List, would make your app the ultimate TiVo remote. :up:


----------



## dswallow

Hmmm... I think the regular text actually looks better overall. It has more to do with all the excess black space in the versions with the 3D-ish buttons.

Now if the remote could be made to look like the real thing like SlingBox uses, that'd be an improvement.


----------



## gonzotek

wmcbrine said:


> That's an apostrophe.


 My brain said apostrophe, but my fingers were on autopilot. That's my story anyway, and I'm sticking to it.



> Whoever wrote that was on crack.


If you think that's bad there was a TCF discussion that came up when I searched for 'tivo plural', I think it may have been what prompted the official trademark pluralization guidelines  :
http://www.tivocommunity.com/tivo-vb/showthread.php?t=371513


----------



## Fofer

dswallow said:


> Hmmm... I think the regular text actually looks better overall.


Well, I disagree. The current UI is ugly/bland. The jailbreak option looks much nicer to me and I find it easier to use, too. I like the excess black space, and how it matches the TiVo remote buttons.

That said, a toggle/preference that allows the user to select what they like (text vs. graphics) would be the best solution of all, IMHO.


----------



## jeepguy_1980

dswallow said:


> Hmmm... I think the regular text actually looks better overall. It has more to do with all the excess black space in the versions with the 3D-ish buttons.
> 
> Now if the remote could be made to look like the real thing like SlingBox uses, that'd be an improvement.


I've been wanting to do that, but I have no clue how to open up their .spr files. That's why I've decided that I'm going to use Sling's interface and setup a microcontroller to send all of the IR commands to my TiVo.


----------



## dougt

jeepguy_1980, what do you mean?


----------



## bfschroe

I see now that there is an iphone app that also allows searching using the iphone keyboard. This would imply that text entry is possible over the TCP protocol. Does anyone have any info on this?

thanks
Bruce


----------



## Fofer

bfschroe said:


> I see now that there is an iphone app that also allows searching using the iphone keyboard. This would imply that text entry is possible over the TCP protocol. Does anyone have any info on this?
> 
> thanks
> Bruce


Yeah, we're discussing it in this thread, in post just above yours, starting with post 339:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=6995384#post6995384

It doesn't imply that text entry (directly) is possible over the TCP protocol. That would be nice.

What this remote is doing is "queueing up" the directional commands so the cursor moves around and selects the characters for you. It's all made very clear in this demo video: http://www.meer.net/users/dougt/tivo_remote/tivoremote.mov

The text entry demo starts a little bit after halfway into the video.

And I can attest... it works really really well!


----------



## bfschroe

Now how did I miss that?
Sorry.

thanks
Bruce


----------



## Fofer

dougt said:


> any suggestions/bugs, either email me or pm me. Thanks.


Just emailed over, the iPhone remote is missing the "clear" key.


----------



## jhimmel

dswallow said:


> Hmmm... I think the regular text actually looks better overall. It has more to do with all the excess black space in the versions with the 3D-ish buttons.


I agree - I prefer the first one as well.

Jim h.


----------



## dougt

fofer, i will add the clear button to the next version.


----------



## jeepguy_1980

dougt said:


> jeepguy_1980, what do you mean?


I made an earlier post detailing this.

My plan is to take a microcontroller that I have lying around and connect it to the IR out port on my Slingbox using the 2.5mm jack. I already has a built in 802.11 antenna.

Whenever I tell Slingplayer to change the channel, it will send an IR signal, which my microcontroller will receive. The microcontroller will then convert that signal to an "IRCODE" and telnet the signal to my TiVo.

The only obstacle to this project, is going to be deciphering the signals from the 2.5mm jack.


----------



## Graymalkin

Trying the iPhone app now. It can find the TiVos I have, but it continues to search fruitlessly for more TiVos -- and it can't connect to the TiVos it does find.

Am I going to have to read this entire thread to find out what needs to be done to the TiVos? Or do you have a Web site somewhere?


----------



## wmcbrine

Graymalkin said:


> Am I going to have to read this entire thread to find out what needs to be done to the TiVos?


Try #324.


----------



## Graymalkin

wmcbrine said:


> Try #324.


That did the trick. Thanks!


----------



## liquid8

I'm putting together an app for this now. Great job everyone. I have a couple questions:

IRCODE NOWSHOWING or TELEPORT NOWPLAYING don't work at all for me. I am on Series3 with 11.0.01.2.648 if it makes a difference.

Also, what is DISPLAY? It seems to be the same as INFO.

Finally, was it found that you could keep a continuous connection somehow, or is it required to connect, send, disconnect? My app is pretty snappy doing that, but occasionally it hiccups, and hangs a bit.


----------



## sc_eric

I'm doing a job that has two Series 3's that are going to be controlled by Crestron. After initial setup on them, setting static IPs that on our network, I was not able to telnet into the port 31339. The receivers haven't been activated yet so I'm not sure if that's the reason why the port hasn't been enabled. Anyone run into this before?


----------



## Fofer

sc_eric said:


> I'm doing a job that has two Series 3's that are going to be controlled by Crestron. After initial setup on them, setting static IPs that on our network, I was not able to telnet into the port 31339. The receivers haven't been activated yet so I'm not sure if that's the reason why the port hasn't been enabled. Anyone run into this before?


mentioned many, many times in this thread:

Go to Messages & Settings > Remote, CableCARD, & Devices > Network Remote Control

Then you have to enable it (by default, the option is set to disabled)


----------



## sc_eric

Ok...sorry. I tried searching and didn't find it. And I didn't see anything about it in the first 5 pages of the thread.

Thanks for the info! Sorry again.


----------



## wmcbrine

It's not in the first five pages of the thread because the lockdown hadn't happened yet back then.


----------



## ThAbtO

sc_eric said:


> I'm doing a job that has two Series 3's that are going to be controlled by Crestron. After initial setup on them, setting static IPs that on our network, I was not able to telnet into the port 31339. The receivers haven't been activated yet so I'm not sure if that's the reason why the port hasn't been enabled. Anyone run into this before?


Wait until you get the update v11.


----------



## sstasinos

I was searching this morning and there is another iPhone app that can control a Tivo called DVR Remote. It costs a little more but it has some additional features and a pretty slick interface. It's been working good so far. I'll use it for a couple of days before giving a full review of it.

I wonder if this will open the floodgates for other Tivo remotes, which would be cool to see what other people might come up with.


----------



## Fofer

sstasinos said:


> I was searching this morning and there is another iPhone app that can control a Tivo called DVR Remote. It costs a little more but it has some additional features and a pretty slick interface. It's been working good so far. I'll use it for a couple of days before giving a full review of it.
> 
> I wonder if this will open the floodgates for other Tivo remotes, which would be cool to see what other people might come up with.


Cool! Link here: http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301759016&mt=8


----------



## jeepguy_1980

I just got a BB Storm and I might try making an app for that too.


----------



## Fofer

jeepguy_1980 said:


> You cannot run the app from inside of the zip. You need to extract the files to a folder and then run the .jar. If that doesn't work, try this.


I've extracted the files to the folder. But it's still not working for me over here. The .jar just launches... and then immediately quits.

Same if I try to run it from the command line (java -jar "TiVoDesktopRemote.jar") or with the newer file (java -jar "TiVoDesktopRemote_w_list.jar") ... this is the output I get:



Code:


Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group
	at tivodesktopremote.TiVoDesktopRemoteApp.startup(TiVoDesktopRemoteApp.java:19)
	at org.jdesktop.application.Application$1.run(Application.java:171)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

I'm running OS X 10.5.6, on a Unibody MacBook Pro. No other noticeable issues and I have lots of apps. What else can I do? Any more clues?


----------



## Boot

Fofer said:


> The .jar just launches... and then immediately quits.


Same here.


----------



## ThAbtO

Boot said:


> Same here.


Did you see the 'lib' folder, extract it to the same folder the .jar sits.


----------



## Boot

ThAbtO said:


> Did you see the 'lib' folder, extract it to the same folder the .jar sits.


No luck:



Code:


Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group
	at tivodesktopremote.TiVoDesktopRemoteApp.startup(TiVoDesktopRemoteApp.java:19)
	at org.jdesktop.application.Application$1.run(Application.java:171)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

I unzipped appframework-1.0.3.jar and swing-worker-1.1.jar to the same level as TiVoDesktopRemote_1.03b.jar.


----------



## ThAbtO

jeepguy_1980 said:


> Per your request. Updated with graphics.
> 
> Link to updated version





Boot said:


> Same here.


Found it!


----------



## jeepguy_1980

ThAbtO said:


> Found it!


So is it working for you now?

You shouldn't need the library folder anymore. At least not with any of the more recent versions.


----------



## ThAbtO

This version works, but the file with all the .class files didn't.


----------



## Fofer

ThAbtO said:


> Did you see the 'lib' folder, extract it to the same folder the .jar sits.


Yeah, did that. Still no luck.


----------



## GlowingApple

Hi everyone, just got a TiVo recently and joined the community here. It's great to see all the activity and interest!



gonzotek said:


> I've been writing a small remote script in php and html/javascript for the iphone because I'm not currently interested in jailbreaking the phone or waiting for someone to release something in the store (I don't think there should be any reason apple/tivo would block it).


After reading about the iPhone app a few pages back I was thinking along the same lines. As someone who would rather not hack my iPhone (again) now that the app store is available, making a javascript version that interfaces with a python script, php telnet code, etc would be great. I was thinking of hacking up something on my own, but if you already have something made, that would save a lot of work learning how php interacts with telnet. What's the status on this? I speak a fair amount of php, and xhtml/css, so I'd be willing to help out.

~Jayson


----------



## Fofer

There are already two TiVo remote control apps available for sale in the App Store.

RemoteT for $0.99, and DVR Remote for $2.99.


----------



## sfxc13

Thanks wmcbrine for all of your hard work.
This program really saved my ass last week when my batteries died.

I am now trying to install it on my Cell Phone. I get the prompt for an ip address. Then it just appears to stall as nothing happens. Any ideas?


----------



## gonzotek

GlowingApple said:


> Hi everyone, just got a TiVo recently and joined the community here. It's great to see all the activity and interest!
> 
> After reading about the iPhone app a few pages back I was thinking along the same lines. As someone who would rather not hack my iPhone (again) now that the app store is available, making a javascript version that interfaces with a python script, php telnet code, etc would be great. I was thinking of hacking up something on my own, but if you already have something made, that would save a lot of work learning how php interacts with telnet. What's the status on this? I speak a fair amount of php, and xhtml/css, so I'd be willing to help out.
> 
> ~Jayson


It's not as pretty as I'd like, but it is pretty much releasable for other people to tinker on. I never have much time to play, and I lost some interest when RemoteT was first released (with source), but the source for that is inexplicably gone now(I suspect it has to do with the iPhone SDK TOS). I will post the work I've accomplished thus far asap. Besides running on the iPhone, my script also works well in desktop browsers and makes a good sidebar-loading bookmark in firefox, for people (like me) who have the laptop at the couch 24/7.


----------



## Fofer

Fofer said:


> I've extracted the files to the folder. But it's still not working for me over here. The .jar just launches... and then immediately quits.


No help on this? (For me or Boot?) Does it depend on some other software... are we supposed to install something else? Some Developer Tools or something?

Right now, installing the java remote, on a brand new Mac running OS X 10.5.6 clean install, doesn't work. It launches and immediately quits. So any feedback on how to get it running will help out lots of folks new to this thread.


----------



## sfxc13

sfxc13 said:


> Thanks wmcbrine for all of your hard work.
> This program really saved my ass last week when my batteries died.
> 
> I am now trying to install it on my Cell Phone. I get the prompt for an ip address. Then it just appears to stall as nothing happens. Any ideas?


It does eventually run just takes a super long time to load. (And I think I might have to "interrupt" for it to work. Oh well. Not super useful, but would work in a pinch.

Any chance somebody has the old version where you hard coded in the address and it didn't search for anything?


----------



## wmcbrine

You can still hard-code the address if you want. (Just fill it in on the line that says tivo_address = ''.) However, the search only takes a second (literally) -- if the TiVos don't respond within that time, they're ignored. (I'm planning to make it two seconds if and when I do another version.)

Rather, any startup delay is probably due to loading Tk, which causes a noticeable delay even on my desktop. You can avoid that if you can use the Gtk interface instead.


----------



## wmcbrine

You may have seen that TiVo seemed to be moving away from their old beacon system in TiVo Desktop 2.7. Then, the other night, I found that beacons had stopped working on one of my TiVos, which made my remote program hang. It turned out to be a fluke, but it made me wonder if I shouldn't look into detecting TiVos the Zeroconf way. That's what this version is about.

I'd avoided this previously, because I liked the idea of having the remote self-contained in a single file (not counting the Python installation, of course). Now, I've bundled Zeroconf.py, which is twice the size of remote.pyw.  Anyway, the new system is simpler and cleaner, and may work in situations where the old one wouldn't. The downside is, it's a little slower on startup (about a one second delay for me).

The old system is still included, and will be used automatically if Zeroconf fails. You can also explicitly disable Zeroconf, either by using the "-z" command-line option, by setting have_zc to False in remote.pyw, or simply by removing Zeroconf.py. Of course you can still specify an address directly, too, and bypass any autodetection.

Other changes: Dropped support for the pre-9.4 closed caption toggling (eliminating version detection made it easier to incorporate Zeroconf); increased the old autodetection's timeout from 0.2 seconds (!) to 0.5 (it was occasionally missing a TiVo from the list here).

[See sig for the latest version.]


----------



## raghu1111

Fofer said:


> Go to Messages & Settings > Remote, CableCARD, & Devices > Network Remote Control
> 
> Then you have to enable it (by default, the option is set to disabled)


It would be better if this is mentioned in 'remote.pyw --help' (or when connection fails, in the error message). almost everyone trying for the first time will be bitten by it.

Thanks for the tool. Will run it after enabling 'Network Remote' on Tivo.


----------



## dougt

Where did you read that tivo is moving from their current (old?) beacon system? Or rather, what are they going to use instead. is there a new version of the "TiVo Connect Automatic Machine Discovery Protocol Specification" doc?


----------



## wmcbrine

In the TiVo Desktop 2.7 threads. They've reportedly dropped their old beacon program from that package, and are using only Bonjour now. There is no new published spec yet. But it was easy to figure out. I just ran Avahi Browser, and found the "_tivo-remote" service there.


----------



## artships

I can telnet to my prom-modded tivohd, still running 9.2a-01-2-652, but not to port 31339. There is no "Remote, CableCARD, & Devices > Network Remote Control" menu item. Is there a resource to toggle in the MFS? Or a service to start in rc.sysinit.author?


----------



## ThAbtO

The Network remote control in the menu feature did not appear until v11.0.


----------



## wmcbrine

Eh, not quite. I think that was in 9.4.  Meanwhile, the port worked without having to turn it on in some earlier versions -- according to Omikron in the first post of this thread, since 9.1. So it seems like it should work with artships' system. I have no experience with PROM-modded TiVo HD's, though.


----------



## JamieP

wmcbrine said:


> Eh, not quite. I think that was in 9.4.  Meanwhile, the port worked without having to turn it on in some earlier versions -- according to Omikron in the first post of this thread, since 9.1. So it seems like it should work with artships' system. I have no experience with PROM-modded TiVo HD's, though.


The feature can be turned off/on from the mothership. Artships should upgrade to a current software release. Normally this would happen automatically if not blocking updates. Running old software on a SA tivo is known to cause problems. As Bullwinkle would say, don't be a moron.


----------



## artships

Well, I certainly don't _want_ to be a moron.

Telneted in, *echo mls /SwSystem |tivosh* showed one partition with 9.2 on it and the other with 11 - Hey, I want that one! I assumed that if *bootpage -p* showed upgradesoftware=false that I should change it to upgradesoftware=true, so I did:


Code:


set x=`bootpage -p /dev/sda`
set y=`echo "$x" | sed 's/re=false/re=true/'`
bootpage -P "$y" /dev/sda

Rebooted. Oops. Stuck on "Welcome Powering up". Plugged the drive into mfslive and changed it back to false. Still stuck. Through mfslive, *bootpage -b* said 6, *bootpage -f* changed it to 3. Still stuck. Bummer.

Oh, and when I mount it from mfslive, the /var/log directory is unhelpfully empty.


----------



## Omikron

artships said:


> Well, I certainly don't _want_ to be a moron.
> 
> Telneted in, *echo mls /SwSystem |tivosh* showed one partition with 9.2 on it and the other with 11 - Hey, I want that one! I assumed that if *bootpage -p* showed upgradesoftware=false that I should change it to upgradesoftware=true, so I did:
> 
> 
> Code:
> 
> 
> set x=`bootpage -p /dev/sda`
> set y=`echo "$x" | sed 's/re=false/re=true/'`
> bootpage "$y" /dev/sda
> 
> Rebooted. Oops. Stuck on "Welcome Powering up". Plugged the drive into mfslive and changed it back to false. Still stuck. Through mfslive, *bootpage -b* said 6, *bootpage -f* changed it to 3. Still stuck. Bummer.
> 
> Oh, and when I mount it from mfslive, the /var/log directory is unhelpfully empty.


Maybe I'm missing something, but did you allow the TiVo to attempt the software update automatically on a hacked unit?

Normally, such an action should result in an unhacked, but usable system.


----------



## JamieP

I'm not convinced your bootpage edit was correct. I use "-P" when I want to change the bootpage kernel parameters. 

Flipping to the alternate partitions is never a good idea unless you know you have a working software version there compatible with your MFS. The fact that 11.0b is in /SwSystem does not mean it is installed in the alternate partitions.

Check your bootpage kernel parameters again. If you are never getting past the "Powering up" screen, chances are you just messed something up there.


----------



## artships

JamieP said:


> I use "-P" when I want to change the bootpage kernel parameters.


So do I, except when I write it here. Sorry. *bootpage -p* showed I got the command right. I'm not convinced though that it's not a flakey harddrive. Popped the original back in the tivo and it runs fine (ruling out a bad power supply but not ruling out buggered software). I just keep reminind myself I _like_ doing this stuff, mistakes and all. Thanks for you help!


----------



## JamieP

I guess it's time to hook up the serial console then. Or start over with a fresh image, let it upgrade, *then* hack.

It might make sense to take this over to DDB, since it doesn't have much to do with this thread topic anymore.


----------



## artships

Omikron said:


> Maybe I'm missing something, but did you allow the TiVo to attempt the software update automatically on a hacked unit?


If by _allow_ you mean, _would really wish it would happen, especially after several forced calls_, yes. I came to imagine that upgradesoftware=false inhibits such software updates, hence my mad determination to change it. I know that when I first hooked it up after getting it back from that fabulous guy who fixed it up for me (Thanks!) the first thing it wanted to do with the old disk in it was fetch fresh software (v11 - Woohoo!) and again when I put the old disk back into it this morning (v11.0b, IIRC).

I'll have to kick this around some more this weekend, as fixing the bigger disk is bound to be less time consuming than rescuing all the recordings. And besides, another problem or two and I'll have enough postings to be able to read the links at the bottom of other people's sigs. Now there's something to look forward to. Thanks for you help!


----------



## artships

Works now. Had to start over with a later gen06 file that works with the latest tivo software version. Like with most tivo hacks, it's installed and works. Just have to imagine what I want to do with it.


----------



## dragontivo

I'm in a little need of help on how to run this remote through Python. I downloaded and installed python, the latest version 3.1a1.

I downloaded the scripts and extracted the remote.pyw and the Zeroconf.py files. I tried running both of them directly but nothing happens. 

I also tried opening Python and opening the files from there, and running them. When I do that I get Invalid syntax messages. This is my first time trying to run Python scripts, so I'm sure I'm doing something wrong, would appreciate a pointer in the right direction.

Thanks!


----------



## wmcbrine

dragontivo said:


> I'm in a little need of help on how to run this remote through Python. I downloaded and installed python, the latest version 3.1a1.


Yeah, you need to stick to the 2.x series of Python for now. That's true for almost all Python software you'll come across -- don't use 3.x unless specified. Sorry about that; it's a confusing situation.


----------



## dragontivo

thanks for the quick response! i switch over and see how it goes.


----------



## kg08854

I was running this utility - and it was great - had a harddrive crash - trying to download it again, and now you need 10? posts inorder to follow the links? Whats up?


----------



## kg08854

I know this is anoying. Sorry


----------



## kg08854

Hopefully I will get to 10 quickly and not bother too manyfolks. 

Anyway - I found the remote very useful, at times even more reliable to an IR remote. I see that there is one for the IPHONE - would be nice if I could get it on the ATT tilt.


----------



## kg08854

I have also run pytivo, and have found it very useful as well


----------



## kg08854

Tried Gallion years ago, but stoped using it after awhile. I have been somewhat sucessful using PYTIVO to watch european video's (DVD's) streamed from one of my old PC's


----------



## wmcbrine

Yeah, it's kind of a weird anti-spam measure that they're doing now. I discovered it by accident recently when I came here with a new browser and hadn't logged in yet. Just one more reason why I need to set up a regular web page for the remote etc. (I already knew that only registered users could download.) Sorry about that.

I have two possible explanations for the restriction against _reading_ URLs in sigs:

1. By letting only regular posters see the URLs, they prevent them from being spidered. Getting Googlebot to spider the links (to increase page rank) is probably the prime reason spammers post nowadays -- they're not actually expecting people _here_ to follow obvious spam links.

2. It's a mistake, and they meant to restrict posting URLs in sigs rather than reading them.

Anyway, if you're going to post just to up your count (which I don't recommend), then you might want to do it in the Test section, where no one will complain.


----------



## Fofer

wmcbrine said:


> Anyway, if you're going to post just to up your count (which I don't recommend), then you might want to do it in the Test section, where no one will complain.


Posts in the Test section aren't included in post counts.


----------



## cremion

Does anyone know the IRCODE for previous channel by chance (if there is one)? Thanks!


----------



## ThAbtO

cremion said:


> Does anyone know the IRCODE for previous channel by chance (if there is one)? Thanks!


Pressing ENTER will go to the previous channel.


----------



## cremion

ThAbtO said:


> Pressing ENTER will go to the previous channel.


Oh, right...awesome, thanks!


----------



## cremion

I don't suppose anyone ever figured out how to work the KEYBOARD command...?


----------



## mwhaycraft

Fofer said:


> this is the output I get:
> 
> 
> 
> Code:
> 
> 
> Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group
> at tivodesktopremote.TiVoDesktopRemoteApp.startup(TiVoDesktopRemoteApp.java:19)
> at org.jdesktop.application.Application$1.run(Application.java:171)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
> at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
> 
> ...


Try upgrading to a newer version of java. I upgraded to Java 6 and now I can run this jar.


----------



## mwhaycraft

mwhaycraft said:


> Try upgrading to a newer version of java. I upgraded to Java 6 and now I can run this jar.


Then again i'd recommend #384 with python. The text isn't as pretty, but it's full featured. 
The keyboard shortcuts make it FASTER then the peanut remote itself!
I also like that the standby button is right there.

Kudos to wmcbrine for creating this program! And at only 741 lines of code, wow that's some powerful stuff!


----------



## cweb

There was some earlier mention of someone potentially doing a javascript version or one that works with the philips pronto professional remotes. 

Has anyone progressed on that?


----------



## GBTheater

CWEB,
Now you're talking. I've been searching for a couple of days and this thread seems to come the closest to what I'm trying to achieve.
I am a professional custom installer of the Philips Pronto line of controllers and am looking at how I can get 2-way control of Tivo Series 3 units. The Pronto does have 2-way communication ability through IP or RS-232. IP, it seems, would be the preferred method of communication.

So, has anyone out there got anything going yet in this area or am I going to have to try and create this from scratch using the information in this thread? Is there better information anywhere else?

Thanks,
Green Bay Custom Theater LLC
(The ONLY Pronto Level 3 Certified Installer in the United States)



cweb said:


> There was some earlier mention of someone potentially doing a javascript version or one that works with the philips pronto professional remotes.
> 
> Has anyone progressed on that?


----------



## GBTheater

pzand said:


> Regardless of what the second parameter in the response means, what's clear is that this is an absolutely EXCELLENT find!!
> 
> This is going to make my Pronto 9600 soooo much better!


PZAND, how is this going to make your Pronto 9600 soooo much better? Have you figured out a way to do 2-way communication using your Pronto?


----------



## sfxc13

Trying to do something similar to this with my hacked series 2 (want to be able to change channels via my pc.) Does anybody know of a way to install this hack onto a series 2 or another way to accomplish this?


----------



## djl25

AFAIK this hack does not work with series 2 units. If it's already hacked your best bet is to use sendkeyplus, there's even a module for it in TivoWebPlus 2.1.



sfxc13 said:


> Trying to do something similar to this with my hacked series 2 (want to be able to change channels via my pc.) Does anybody know of a way to install this hack onto a series 2 or another way to accomplish this?


----------



## sfxc13

djl25 said:


> AFAIK this hack does not work with series 2 units. If it's already hacked your best bet is to use sendkeyplus, there's even a module for it in TivoWebPlus 2.1.


The web remote of tivowebplus is handicapped by its requirement to send each key individually over the web. I'd like an application like this one which could control the sendkey commands quickly. Any thoughts?


----------



## djl25

I posted a script at the other forum called send_url.vbs that made it easy to send commands to Tivoweb from a batch file by opening IE in the background. Call it with something like:
send_url.vbs "<<tivoipaddress>>/sendkey/tivo"
Link is here (remove the X):
http://www.dealXdatabase.com/forum/showpost.php?p=297881&postcount=617

Kinda slow, however. I had another script lying around that let you do the same with a telnet session. Much faster IIRC, but it required you install w3sockets from dimac. Let me know if it would help you at all and I'll dig it out.



sfxc13 said:


> The web remote of tivowebplus is handicapped by its requirement to send each key individually over the web. I'd like an application like this one which could control the sendkey commands quickly. Any thoughts?


----------



## sfxc13

djl25 said:


> I had another script lying around that let you do the same with a telnet session. Much faster IIRC, but it required you install w3sockets from dimac. Let me know if it would help you at all and I'll dig it out.


This sounds exactly like what I am looking for. Would love to play with it if you can find it.
Thanks


----------



## djl25

Found it. I don't want to hijack this thread, so head over to DDB and check out http://dealdataXbase.com/forum/showthread.php?p=302976 (remove the X).



sfxc13 said:


> This sounds exactly like what I am looking for. Would love to play with it if you can find it.
> Thanks


----------



## Carlton Bale

GBTheater said:


> PZAND, how is this going to make your Pronto 9600 soooo much better? Have you figured out a way to do 2-way communication using your Pronto?


I'd also like to do IP control using a Pronto Professional remote. Anyone with any more details?


----------



## wilsongti

GBTheater said:


> CWEB,
> Now you're talking. I've been searching for a couple of days and this thread seems to come the closest to what I'm trying to achieve.
> I am a professional custom installer of the Philips Pronto line of controllers and am looking at how I can get 2-way control of Tivo Series 3 units. The Pronto does have 2-way communication ability through IP or RS-232. IP, it seems, would be the preferred method of communication.
> 
> So, has anyone out there got anything going yet in this area or am I going to have to try and create this from scratch using the information in this thread? Is there better information anywhere else?
> 
> Thanks,
> Green Bay Custom Theater LLC
> (The ONLY Pronto Level 3 Certified Installer in the United States)


GBTheater,
I am currently working on a 2-way tivo control for a TSU9400, it is nearly ready for prime time, hopefully in the next few weeks. It will have pricing for individual and professional use. It is currently in quality assurance testing now and in the process of being re-skinned since it is currently using the default philips buttons. I mostly do web development and adobe Flash/Flex apps so scripting is second nature. Also, how do you go about getting the level 3 certification?


----------



## GBTheater

wilsongti said:


> GBTheater,
> I am currently working on a 2-way tivo control for a TSU9400, it is nearly ready for prime time, hopefully in the next few weeks. It will have pricing for individual and professional use. It is currently in quality assurance testing now and in the process of being re-skinned since it is currently using the default philips buttons. I mostly do web development and adobe Flash/Flex apps so scripting is second nature. Also, how do you go about getting the level 3 certification?


Once you obtain your level 1 and level 2 certifications, you can request a level 3 certification. You then receive a Power Point with an XCF. The Power Point tells you what you need to do with the XCF and you have to answer 4 questions on the Power Point. You have one week to complete everything and submit back to Philips. They will review it and let you know if you passed.

You're actually setting up a medium complexity, 2-room system with Power Sense, IR emitters, and RS-232 control. They also want you to submit an example of a recent file you've completed for someone else and it must contain a Pronto Script module with 2-way feedback.


----------



## GBTheater

wilsongti said:


> GBTheater,
> I am currently working on a 2-way tivo control for a TSU9400, it is nearly ready for prime time, hopefully in the next few weeks. It will have pricing for individual and professional use. It is currently in quality assurance testing now and in the process of being re-skinned since it is currently using the default philips buttons. I mostly do web development and adobe Flash/Flex apps so scripting is second nature. Also, how do you go about getting the level 3 certification?


Wilson, please keep me posted on your progress. I am very interested in this module.


----------



## JonHB

GBTheater said:


> Wilson, please keep me posted on your progress. I am very interested in this module.


Using the Tivo telnet interface via the Pronto makes keypress/buttons lightning fast! Way better than the IR.

I have a module I did that is working, but it loses the socket connection when my TSU9600 goes into sleep mode. If I go back to the home menu and re-enter the activity, the socket is reset and functions fine.

If you would like a copy of this to try and work on the socket logic, you can download it here:
http://www.welfringer.com/homevision/pronto/tivotelnet.zip

Regards,
Jon


----------



## TexasGrillChef

Great Job for a good basic TV remote!

Lots of great ways to make improvements... but I must say... good job! 

TGC


----------



## jfh3

The Tivo Netmote jar file doesn't work for me - launches the ap, but nothing happens after I configure my Tivo IP address (yes, network control enabled on the Tivo)

How do I figure out why?


----------



## Carlton Bale

JonHB said:


> Using the Tivo telnet interface via the Pronto makes keypress/buttons lightning fast! Way better than the IR.
> 
> I have a module I did that is working, but it loses the socket connection when my TSU9600 goes into sleep mode. If I go back to the home menu and re-enter the activity, the socket is reset and functions fine.
> 
> If you would like a copy of this to try and work on the socket logic, you can download it here:
> http://www.welfringer.com/homevision/pronto/tivotelnet.zip
> 
> Regards,
> Jon


Great Jon, thanks for posting this! Looking forward to trying it out this weekend. If I can figure out any improvements, I'll post an update. What are your rules for modifying/reusing the code? Do all improvements need to contributed back publicly? Again, thanks all of your work on this.


----------



## JonHB

Carlton Bale said:


> Great Jon, thanks for posting this! Looking forward to trying it out this weekend. If I can figure out any improvements, I'll post an update. What are your rules for modifying/reusing the code? Do all improvements need to contributed back publicly? Again, thanks all of your work on this.


You may use it for any purposes you wish. I would just like to get copies back of any version that cleans up the socket issue and/or contains a prettier interface.


----------



## Softail95

Hello,

I cannot seem to get the Now Playing screen to operate properly with version 0.25... It downloads the list correctly, and I can scroll it and click it on my iTouch. But, when I select a program to view, it sends the TiVo HD to some other program and plays it. I have my TiVo set to Alphabetical with Grouping on. I set the TiVo remote ap likewise (Uses Groups=on,Sorts By Date=off). It seems like it might be ignoring the Sorts By Date setting on the remote..... So, I tried setting the TiVo and the remote to use Alphabetical sorting, but it still picks the wrong program... Anyone have any similar experience or help?


----------



## kharder

My problem with Now Playing list is that it times out for 2 of my TiVo's that have a lot of recorded shows. Is there another parameter I can set in remote.xml to increase the timeout. I have tried all the other parameters with no luck.


----------



## scrubskip

Hi, new to the board.

I was wondering if there was a way to extract the channel information from an XML file, like the Now Playing list. I tried putting different parameters into the TivoConnect web interface, but couldn't find anything. Also tried looking at the tivo.com website, but that didn't seem too scrapable.

With that information, you could make the iPhone remote able to just select a channel by name, rather than by number (just got comcast and the local HD channel numbers are hard to remember: 701, 702, etc instead of just being 5.1 or 12.1).


----------



## Fofer

scrubskip said:


> With that information, you could make the iPhone remote able to just select a channel by name


FWIW, the most full-featured (and elegant) TiVo Remote I've found so far for the iPhone is DVR Remote, and one of it's features is that you can set up "Favorite Channels" and choose them by name. It's $2.99 in the iTunes App Store.

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301759016&mt=8

There is also a "Lite" (free) version to sample, the Favorites are limited to 2 channels on that one.

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=303528135&mt=8


----------



## wmcbrine

scrubskip said:


> I was wondering if there was a way to extract the channel information from an XML file, like the Now Playing list.


The Now Playing list is all you get.


----------



## tweekerz

Just downloaded Python 2.6 and your files,

I love how the remote offers either one of My Tivos... This is a great option for when the wife hijacks (or at least, trys to) the remote.



wmcbrine said:


> Landscape mode, activated via the command-line option "--landscape" (or edit it to set landscape = True).
> 
> [See sig for the latest version.]


----------



## pjewell

Hi guys, I don't get it. I've tried everything in this forum and I still can't telnet in or use that Java remote that jeepguy posted. Ive got a DVR 48B3 and using windows vista. I've also tried using every available version of python available. HELP!!!!! 

It's quite embarrassing, but I got a new BlueRay player last weekend and found that it didn't play DIVX movies so I packed it up and returned it to the shop but what I didn't realise was that I'd packed my TIVO remote into the box instead of the blueray player's. Now the shop can't find the box and I'm stuck without a remote. And damn me I bought a blackberry storm instead of an IPhone so I can't even use that to control the thing. Please Help.


----------



## wmcbrine

pjewell said:


> Hi guys, I don't get it. I've tried everything in this forum and I still can't telnet in or use that Java remote that jeepguy posted. Ive got a DVR 48B3 and using windows vista. I've also tried using every available version of python available. HELP!!!!!


Well, Python won't help you run Jeepguy's remote; those are two different things... Other than that, you'll have to give us much more specific information about what problems you've encountered if you expect help. Saying "I tried it and it doesn't work" isn't helpful, because... you know... we tried it, and it _does_ work. 

I have no idea what a "DVR 48B3" is.



> _what I didn't realise was that I'd packed my TIVO remote into the box instead of the blueray player's._


You can order a replacement from TiVo, or some other places, or get a universal remote.


----------



## pjewell

Good news, the store found my remote. But I'm still interested in getting the remote from my computer working.

I figured you'd need more info and I realise that the java script and python are different things. The DVR 48B3 is the model of TiVo i'm using.

I can log into the "Now Playing" page using .ttps://ipaddress and then using the login tivo and password MAK. So I know the connection is working from laptop to tivo.

Now, when I try to telnet i type "telnet ipaddress port 31339" and I get "Could not open connection to host on ..... port 31339". And, if i try telnet ipaddress I get the same response.

I've added the port number to the firewall in UDP and TCP

Using python 2.5.4 and your remote2.pyw, I get after the restart line:
Traceback (most recent call last):
File "C:\Users\Paul\Downlads\Topfield n Tivo\remote2.pyw", line 211, in <module>
sock.connect((address, 31339))
File "<string>", line 1, in connect
gaierror: (11001, 'getaddrinfo failed')

And, lastly, when I use Jeepguys Java script. I can enter the ip address and when I connect, the buttons don't activate anything on the tivo.

Cheers,
Paul


----------



## wmcbrine

pjewell said:


> The DVR 48B3 is the model of TiVo i'm using.


Right, but, there is no such model name. Where are you getting that from? 

Ah, I think I just realized: it's the default "DVR Name" given to your TiVo if you don't rename it. But that's an individual, random name, not a model name. It's used to identify your TiVo on the LAN. It doesn't tell us what kind of TiVo you have.

The remote service only works with the Series 3 TiVos, including the TiVo HD and TiVo HDXL. (I don't know if the Australian version works.) The other common way to refer to them is by the first three digits of their TiVo Service Numbers: 648 (S3), 652 (HD), 658 (HDXL).

As outlined above, you also need to turn on the remote service on your TiVo. It's off by default.



> _your remote2.pyw_


Where did that "2" come from?


----------



## pjewell

Ah maybe the Aussie one doesn't work.... those settings don't exist in any of the menus that I could find.... it's definately a Tivo HD but other than that..


----------



## sanjonny

So I used the python version of the remote daily and love it, I have been trying to make some modifications and realized that if I looked on the board the modifications might have already been made so here I am. I constantly put my laptop to sleep and the tv telnet remote will not re initialize to control the tivo when I wake from hibernate (I don't know why of course) so I tried playing around in order to make my own button that would automatically rerun the script that runs to search out the tivo and reload the info. I know I could hard code it into the program and I think I did that about 6 months ago, then I got sidetracked and cannot remember if that test version is the one I am using or not. 

I cannot see the updated version because of posting restrictions so maybe somebody could tell me if this has been fixed yet or if not, help me to fix my looping issues, I know all the info is there, I just keep running it in the wrong order. I also discovered the java version tonight and tried it out but it seems not to work with my HD setup. I put in the proper ip address and hit connect but nothing else happens. The red light goes on but that is it. Running XP with all updates and wireless network.

Not wanting to reinvent the wheel, I am available to trouble shoot both programs, I just never logged in again and just now am reading private messages from a year ago. Any way, I am back and ready to help. What thoughts do you have?


----------



## paulbrown83

i've search around a good bit for this, but can't seem to find the answer. I can telnet into my tivo HD from a windows computer using telnet <tivo_ip> 31339 from the command prompt, and I can control it using the IRCODE commands. however, when I try to telnet to the tivo using the Mac Terminal, it immediately responds to my telnet command, saying "Connection closed by foreign host."

How would the mac terminal be any different (with respect to telnet) from a windows command prompt? has anyone noticed this behavior, and found a way around it? maybe i'm missing something simple here...


----------



## bizzy

sanjonny said:


> Not wanting to reinvent the wheel, I am available to trouble shoot both programs, I just never logged in again and just now am reading private messages from a year ago. Any way, I am back and ready to help. What thoughts do you have?


I thought you went off to "port out" the code to a language more acceptable to your preferences?


----------



## wmccain

*Back To The PROTOCOL Discussion*


liquid8 said:


> IRCODE NOWSHOWING or TELEPORT NOWPLAYING don't work at all for me. I am on Series3 with 11.0.01.2.648 if it makes a difference.
> 
> Also, what is DISPLAY? It seems to be the same as INFO.


Nobody ever responded to the above (post #360) so I thought that I would give it a whack.

1. IRCODE NOWSHOWING and/or TELEPORT NOWPLAYING may have worked at one time, but they don't work now. At least, not with 11.0d. Neither does IRCODE LIST (which you might think would work, since some older remotes have a button labeled "List" and the actual IR code for that button still works). IRCODE NOWSHOWING and IRCODE LIST produce the INVALID_KEY response. TELEPORT NOWPLAYING produces no response at all (it is ignored).

I tried all of the above both while watching live TV and while in the TiVo Central menu.

2. DISPLAY and INFO are apparently synonyms. So are TIVO and DIRECTV. ADVANCE and DELIMITER are probably also synonyms, since they are the same button on the remote (I have not tested this).

*Additional <COMMAND> Values for IRCODE*

INFO
STOP
WINDOW

These were all mentioned in posts after Omikron's original post, and they all work. Since Omikron's list was never updated, I am listing them all in one place _here_.


----------



## wmccain

*A Possible Clue on the KEYBOARD Command*

Like others before me, I have been frustrated in many attempts to get the KEYBOARD command to work. But I did notice a possible "clue".

If you send "'KEYBOARD', $0D" to the TiVo HD, it responds with just a standalone Carriage Return character (CR, $0D, 0x0D - take your pick of syntax). (The preceding command syntax is in the AMX Axcess/NetLinx format for compound strings. It means the string 'KEYBOARD', immediately followed by the CR character.) The same response occurs if you follow the text 'KEYBOARD' by a blank and some more text (any text).

Now the interesting thing about this observation, is that the TiVo HD _does_ respond to the KEYBOARD command, it does not just ignore it. And the response is *not* an error message. It is just the single CR character. This _suggests_ that maybe the TiVo HD is expecting a further command (from my AMX controller) with the actual text that is to be entered.

Alas, I could not get that to work. I tried sending two "command lines" in a single message ("'KEYBOARD', $0D, 'ABC', $0D") and I also tried waiting for the CR response from the TiVo and _then_ sending it one text character, or more than one text character, followed by a CR.

Nothing that I tried worked. But maybe somebody else can come up with some more ideas ... I really think this is an important "clue".


----------



## dfrick111

Hi,

We now can use this TiVo remote, a video capture card / usb, and Skype to do a nice slingbox. The problem has been how to control the tv but now, no problem.

I ordered one of those $7 usb capture cards - won't come till Monday. It has s-video in, and the TiVo does a nice job of making all the SD and HD channels look good out the s-video simultaneously.

Skype with auto-answer turned on should allow me and my contacts to watch the TiVo, and anyone with the remote app control it.

fun.


----------



## johnnynine

1. Is there a way to switch the current tuner?

2. Is there a way to request the current channel on each tuner? When I connect it only shows one channel, something like:

CH_STATUS 123 LOCAL

3. I noticed in an earlier post someone used the SETCH command to change channels and received a channel for both LOCAL and REMOTE, however I only get a response for LOCAL.

Thanks,
Johnny


----------



## ThAbtO

johnnynine said:


> 1. Is there a way to switch the current tuner?


LIVE TV button switches tuners.



johnnynine said:


> 2. Is there a way to request the current channel on each tuner? When I connect it only shows one channel, something like:
> 
> CH_STATUS 123 LOCAL
> 
> 3. I noticed in an earlier post someone used the SETCH command to change channels and received a channel for both LOCAL and REMOTE, however I only get a response for LOCAL.
> 
> Thanks,
> Johnny


For Example:

To set a tuner to 2.1 and the other to 7.2

SETCH 2 1
IRCODE LIVETV
SETCH 7 2

You would have to have CAPS LOCK'd and be a very fast typist or the entry would timeout fairly quickly.

I've done it using the commands on a Notepad file and doing copy/Paste works.


----------



## johnnynine

ThAbtO said:


> LIVE TV button switches tuners.


Excellent, thanks!



ThAbtO said:


> You would have to have CAPS LOCK'd and be a very fast typist or the entry would timeout fairly quickly.
> 
> I've done it using the commands on a Notepad file and doing copy/Paste works.


I'm writing a driver for the J9 Automation Engine so I'm sending the commands programmatically.

It looks like when you switch tuners you just get a single CH_STATUS command for the LOCAL channel, so you can't reliably know what channel is on the other tuner.

Johnny


----------



## jb1677

Thanks for the apps here guys, I had been looking for a Win32 app to do what I had been doing with the iphone for a while. The Python app (under windows) is working like a charm!


----------



## dddanmar

Hi everyone! 

I got a case of 'I really need something to do'itis on Sunday and started looking into what I could do with our Tivo short of pulling it apart. This thread came in very handy!

My blog post - examples, source and binaries for controlling a tivo with vb.NET, Python or PHP

dddanmar.net/?p=68

We wanted to stop having to find the remote, and two PCs are in the shed with the projector so I started on my desktop under Linux with Python / PHP / wbar / Apache to make a web remote and short cuts on my PC to change the channel. After awhile I swapped over and started building a vb.net application to go on my friends latop.

Its all been running now for a few days and its pretty sweet.

I plan on cleaning the vb.net code up, and getting the connection details as user editable instead of hard set for my home here. Grab the source zip if you just want to have a look, and all of the sources compile with free tools, either GNU or from .NETs express range.

I read earlier in the thread about how to do it in Python, so I'll post that one here:

import sys
import telnetlib

HOST = 192.168.1.104&#8243;
PORT = 31339&#8243;
tn = telnetlib.Telnet(HOST, PORT)
tn.write(SETCH 010&#8243; + chr(13))
tn.close()

Easy.


----------



## orangeboy

jhimmel said:


> Hmmm...
> I just uncovered a little snafu with this app.
> 
> I have two S3's. Both are in my basement. They feed into an HDMI matrix distribution and are controlled remotely through my whole-house IR system. So, one is set to Remote Address 1, the other is set to Remote Address 2.
> 
> I noticed that occasionally something was going wrong and one of my S3's would lose its Remote Address setting. Today I found the problem. If you go into your system info screen with this app, it resets the Remote Address to (0), just like if you used a real remote that was set to (0) and accessed the System info screen.
> 
> This may be far beyond the ability of the Telnet access, but thought I would ask -
> Is there ANY possible way that the virtual remote could query the current Remote Address setting and try to preserve it?
> Otherwise I'll just have to try and remember to stay away from the System Info screen when using it.
> 
> By the way, wmcbrine, I use this little app ALL the time. I have a TV monitor in my home office. It is usually on while I'm at the computer. It's very handy to have the virtual remote open on the side of my screen for TiVo control while I am at the computer.
> 
> Jim H.


A follow-up question: Does this app (TiVo Remote 0.17) emulate a TiVo remote with Address (0), and reset the DVR to address (0) as well, regardless of being in the System Information screen?


----------



## Fofer

I works over TCP/IP, not infared, so those IR remote codes do not apply.


----------



## orangeboy

Fofer said:


> I works over TCP/IP, not infared, so those IR remote codes do not apply.


Thanks. I had a situation where my DVR stopped responding to my remote, and I successfully tried to control it using the app. I navigated to System Information and found Remote Address (0), which would explain why Remote Address (x) stopped working. However, I now gather from the post I quoted, it wasn't that the app had reset the Remote Address by merely using it; the Remote Address was reset by navigating to the System Information screen using the app. I'll do more testing to satisfy my own curiosity. I played hell this morning trying to get my remotes (including a Harmony) working and using the proper addresses. A daunting effort when not knowing exactly what is going on!


----------



## bocktar

Haven't seen this on this thread...

IRCODE EXIT

Causes TiVo to go back to LiveTV from anywhere. Does not swap tuner if issued again. Appears to be a true exit command.

Tested and works on TiVo HD.

Is there another source for network commands that is more up to date?


----------



## Tanquen

TiVo Remote 0.17- Help.

Was just wondering what the PC keyboard short cuts are. Ive figured out most of them the arrows, P for Play and so on but when I use C for what I think is Clear it deletes the show Im on and the moves down several rungs and deletes another.  ???

Everything else so far is great. I use it when I want to make lots of changes as it is so much faster than my pronto pro that is using learned commands and going RF to IR. 

Thanks!


----------



## wmcbrine

ESC is clear. C is closed-caption toggle, a multi-code sequence.

You can see the full list by doing "remote.pyw -k" on the command line. There's a partial list in post #134, but it's outdated.


----------



## eht123

Here's hoping the software update to support the direct text entry on the new keypad remote also includes the corresponding telnet commands....


----------



## Fofer

FWIW, the new keypad remote is Bluetooth. But yes, updating the code to include corresponding telnet commands for specific text entry would be nice indeed.


----------



## pmiranda

It'd be nice to change the keyboard shortcuts then, since I'd have plans for all the letters, numbers, and many symbols.


----------



## orangeboy

pmiranda said:


> It'd be nice to change the keyboard shortcuts then, since I'd have plans for all the letters, numbers, and many symbols.


Shortcuts should be able to be supported using upper/lower case. Just <shift> or caps lock when you want to access a shortcut.


----------



## wmcbrine

The KEYBOARD command works on the TiVo Premiere. It works like this:

KEYBOARD H\r
KEYBOARD E\r
KEYBOARD L\r
KEYBOARD L\r
KEYBOARD O\r

More later.


----------



## wmcbrine

This version supports direct keyboard input on the Premiere (only, sorry). To use this mode, set the "Cols:" value to 0. It doesn't work in any HME apps yet, as far as I've seen. Where it doesn't work (including S3/HD), it will be safely ignored. I recommend using this mode whenever possible, since it's not only faster, but has less risk of side effects from the cursor being in the wrong place, or from arrows being read at the wrong time, after the TiVo has moved the cursor out of the search box.

This isn't as exciting as it might've been, given my other discovery of the night. 

This version also includes some Zeroconf fixes, and detection of Australian/NZ TiVos and the Premiere in non-Zeroconf mode.

[See sig for latest version.]


----------



## wmcbrine

What I haven't found yet are the telnet IRCODEs for the A/B/C/D buttons -- not the QWERTY ones, but the multi-colored ones on the Premiere remote just above the number pad.


----------



## Zaph32

Found that it will accept KEYBOARD SPACE but it doesn't type a space.


----------



## wmcbrine

Ah, thanks; in my eagerness, I neglected to test space and numbers. This version corrects that. (I just send IRCODE FORWARD for space now, as in the arrow-based keyboard code, and IRCODE NUM0 etc. for numbers.)

Also, I'm told that the IRCODEs for the new buttons are "ACTION_A", etc. Now I just have to figure out how to fit a four-button row into my three-column format. 

[See sig for latest version.]


----------



## wmcbrine

OK, finally, here's a version that's fully Premiere-ready. I've added A, B, C and D buttons, along with corresponding keyboard shortcuts. I've also added function key shortcuts to match what I've found with USB keyboards on the Premiere. "Aspect" has been relabelled "Zoom", as on the Premiere, with 'Z' as a keyboard shortcut for it.

Adding the new buttons entailed significant restructuring, which I've taken advantage of to reduce excess spacing -- despite having an extra row of buttons, this version is actually less tall than previous ones.

[See sig for latest version.]


----------



## wmcbrine

OK, in addition to being Premiere-ready, this new version does something it should've done a long time ago: uses a single window instead of destroying and creating multiple windows. It looks the same, but it eliminates the "losing focus" issue, and is slightly faster.

This should be the last new version for a while. Sorry for the glut. 

[See sig for latest version.]


----------



## bradleys

I am going to be building a remote system using an iPad and the Commandfusion software. This is interesting, I might play around with controling the Tivo using this meathod rather than the IR blaster... 

I wonder if the network connection sends any information back through the stream? It would be very neat if it could send the guide data or the now playing list to the remote and allow you to select what you want to watch from there!

I am sure that is far too much to ask for... But it sure would be cool!


----------



## wmccain

Do *not* issue the IRCODE EXIT command from an IP-based remote while in the new HD menu system on a TiVo Premiere! You will be _very sorry_ if you do so, as it causes nearly all IR commands to be disabled (from a "real IR remote" as well as from the IP-based remote).

Only the arrow buttons will still work. You will end up having to pull the power plug to reboot.

(However, the IRCODE EXIT command still functions normally, without any disastrous side-effects, if it is issued while an "old GUI" screen is displayed. This is the case even if the HD GUI is enabled, but you have navigated to one of the menus or information panels that is in the "old GUI" style simply because it has not yet been converted to the "new GUI".)


----------



## wmccain

Another annoying glitch that I have encountered when using IP-based remote control of the TiVo Premiere: If you navigate to the panel that has the checkboxes for specifying the resolutions that your TV supports, all IP-based commands are ignored on that panel. It appears to queue the ignored commands and they get executed later, after you exit the "resolutions" panel.

Even worse, once you have entered some IP-originated commands, most of the navigation buttons on the IR remote get ignored (or queued) as well. However, you can "escape" by pressing the TiVo button on the IR remote. (Unlike the problem with IRCODE EXIT that I reported above, a power-cord reboot is not required.)

However, you _can_ use IP-based commands to navigate to the "resolutions" panel, then pick up your IR remote and use it for all navigation and selections within that panel. In that case, everything works okay.


----------



## jfh3

wmcbrine said:


> OK, in addition to being Premiere-ready, this new version does something it should've done a long time ago: uses a single window instead of destroying and creating multiple windows. It looks the same, but it eliminates the "losing focus" issue, and is slightly faster.
> 
> This should be the last new version for a while. Sorry for the glut.


I can't get Tivo remote to run using 2.x or 3.x - not sure why it doesn't work. Is there an idiot's guide to running this ap somewhere?


----------



## wmcbrine

Nothing special is required. It's 2.x only. There are some installations of Python that don't come with Tkinter. If you're running it from the GUI and don't have an error message, run it from the command line. Otherwise, you haven't given me enough to go on.

There's no "idiot's guide", but I am working on a README (finally) for the next version. It also does a better job of capturing errors to report them to the GUI.


----------



## wmcbrine

In fact, it's up right now.

As noted above, changes in this version include stronger attempts to catch errors for display to the GUI, instead of leaving tracebacks on the console, and a README.txt file. Another big change is that, instead of posting it as an attachment here, I've opened a repo on GitHub:

http://github.com/wmcbrine/tivoremote

Direct download link:

http://github.com/downloads/wmcbrine/tivoremote/tivo-remote-0.22.zip

I also realized that the keyboard shortcut for the "C" button conflicted with the one for closed-caption toggling. So now there's no shortcut for CC, which is probably better anyway (it's one of those potentially dangerous multi-code sequences), if slightly less convenient.

This version also attempts to reconnect when it sees that the connection has been dropped, which isn't as useful as it sounds, since it takes a while for it to notice. And the code is restructured a bit to make it (I hope) easier to read.


----------



## Sidnicious

Don't forget *TELEPORT STANDBY*.


----------



## wmcbrine

I have a Python 3.x version if anyone needs one. Tkinter only, and no Zeroconf yet.


----------



## wmcbrine

11.0h arrived on my S3 this morning. It adds support for the new keyboard remote (and other USB keyboards), and I assumed that it would also support the KEYBOARD command via the telnet interface, as on the Premiere, since to me those features go hand in hand. Sadly, this appears not to be the case.  However, 11.0h does add support for the A/B/C/D buttons.


----------



## digger69

wmcbrine said:


> 11.0h arrived on my S3 this morning. It adds support for the new keyboard remote (and other USB keyboards), and I assumed that it would also support the KEYBOARD command via the telnet interface, as on the Premiere, since to me those features go hand in hand. Sadly, this appears not to be the case.  However, 11.0h does add support for the A/B/C/D buttons.


Very cool. I'm not too keen on the difference between the S3 and HD... should I hold out hope for usb keyboard support for my HD? Frankly, the usb keyboard support was the only compelling reason I could think of going to the premiere.... not worth the $$ imho.


----------



## wmcbrine

The HD is/will be the same as the S3 in terms of keyboard support. They're both going to 11.0h.


----------



## ThAbtO

wmcbrine said:


> The HD is/will be the same as the S3 in terms of keyboard support. They're both going to 11.0h.


THD under 11.0h and tried my PC USB wireless keyboard.

F1 = TiVo Button
F2 = Live TV
F3 = Live Guide
F4 = CLEAR
F5 = :up:
F6 = :down:
F7 = Channel UP
F8 = Channel DN
F9 = REC
F10 = Info 
Pause/Break = Pause button
ESC = CLEAR


Number keys work for entry on all 'TYPE' screen entries, amazon, youtube as well.
Alpha keys only work on ie: 'find program by title'


----------



## tiwizard

I love this thing! Works great for bugging whoever's on the TV


----------



## CTMCCURDY

Thanks to all for the info posted about the telnet feature. I have a TivoHD upgraded to 1TB and have been searching for a way to send letters to the ouija boards. I searched for days on how to use the KEYBOARD command - no luck. I finally tried IRCODE A on the "Search by Title" and Wishlist screens - much to my surprise it worked.   However, it didn't work on the "Tivo Search" and other screens. 

Sorry if this is not news, but I searched and didn't find IRCODE used this way anywhere else so I decided to post. Any suggestions for the telnet'ing to the other ouija boards?

Thanks


----------



## lessd

CTMCCURDY said:


> Thanks to all for the info posted about the telnet feature. I have a TivoHD upgraded to 1TB and have been searching for a way to send letters to the ouija boards. I searched for days on how to use the KEYBOARD command - no luck. I finally tried IRCODE A on the "Search by Title" and Wishlist screens - much to my surprise it worked.   However, it didn't work on the "Tivo Search" and other screens.
> 
> Sorry if this is not news, but I searched and didn't find IRCODE used this way anywhere else so I decided to post. Any suggestions for the telnet'ing to the other ouija boards?
> 
> Thanks


I use an inexpensive Wii keyboard, works great on the TiVo-HD with v11h


----------



## ThAbtO

CTMCCURDY said:


> I finally tried IRCODE A on the "Search by Title" and Wishlist screens - much to my surprise it worked.   However, it didn't work on the "Tivo Search" and other screens.


I just tried to do this on my THD and it worked, however only capitalized letters works and lower case letters produced an 'Invalid Key' Error.

Example: I just tried.....



Code:


IRCODE H
IRCODE E
IRCODE L
IRCODE L
IRCODE O
IRCODE SPACE
IRCODE T
IRCODE NUM1
IRCODE V
IRCODE NUM0

(if you copy the above and paste the above to a telnet window connected to a Tivo, the field works if it says 'HELLO T1V0'. On apps that won't work, you will only see '10')

and the Tivo showed 'HELLO TIVO' on the input search line of Wishlist/program search. (I didn't enter each line one by one, rather I pasted the whole thing to the telnet window all at once.)


----------



## wmcbrine

CTMCCURDY, the use of the KEYBOARD command is described in post #465 of this thread. It works just like you described for IRCODE, but it only works on the Premiere. Oh, and it _does_ work for HME apps (on the Premiere).


----------



## wmcbrine

Confirmed -- this new IRCODE method works on _both_ the Series 3 and Premiere, and it _does_ work in HME, too. (CTMCCURDY, you must've just run into one of the HME apps that wasn't updated yet.) So far, I can't see a difference between this and the KEYBOARD command, except for working on non-Premiere units.

I'll be updating my remote to use this now... thanks CTMCCURDY.


----------



## wmcbrine

Updated now. And since the new text entry method works (almost) everywhere, it's now the default (i.e., Cols is initially set to 0 rather than 4).


----------



## ThAbtO

If this one works with our Tivo, we can speak to it instead. 

Sit, Tivo, Sit! Good Tivo.


----------



## jimpmc

wmcbrine said:


> Updated now. And since the new text entry method works (almost) everywhere, it's now the default (i.e., Cols is initially set to 0 rather than 4).


Thanks for the update. I have a TiVo HD, but don't seem to be able to get any HME apps to work with the direct IRCODE approach (col=0). I tried YouTube, Rhapsody, Tivo Search, and Amazon. Which ones do work at this point? Does the IRCODE way work with HME on a Tivo HD running 11.0h?


----------



## ThAbtO

jimpmc said:


> Thanks for the update. I have a TiVo HD, but don't seem to be able to get any HME apps to work with the direct IRCODE approach (col=0). I tried YouTube, Rhapsody, Tivo Search, and Amazon. Which ones do work at this point? Does the IRCODE way work with HME on a Tivo HD running 11.0h?


It only works on the main Tivo menus ie: search by title, wishlists.


----------



## wmcbrine

No, it should now work in all the HME apps that have been updated to support it, and the same way in both 11.0h and 14.5. But, I'm surprised to see it not working in YouTube on my S3. The only one that I can say for sure works is Reversi. I'll have to investigate further. (I notice that the YouTube app makes a series of bongs, so it seems to be receiving _something_.)


----------



## CTMCCURDY

lessd said:


> I use an inexpensive Wii keyboard, works great on the TiVo-HD with v11h


Less than $20 from buy.com. Works really nice and only about 6" by 12". :up: Thanks lessd


----------



## wmcbrine

OK... it's almost like they went out of their way to mess this up. The IRCODE version of direct input returns both KEY_PRESS and KEY_RELEASE events to HME apps, as it should -- but as the real USB keyboards (including the Slide) and the KEYBOARD command do NOT do; they return only KEY_RELEASE. Perversely, it seems that getting the KEY_PRESS events actually breaks, e.g., the YouTube app, which responds to KEYBOARD (and to a real keyboard), but not to IRCODE. In fact the only app I can find that's handling everything correctly is my own Reversi, based on HME for Python.

I think having support for the built-in menus on S3/HD is more important than YouTube on the Premiere (only), so for now, I'll stick with IRCODE over KEYBOARD, while I hope for TiVo to fix this. Although, I could switch between them based on the type of TiVo or software version...


----------



## wtbaxter

Is there an alternative to using the Crestron protocol for programming a Series 3+ TiVo box?


----------



## wmcbrine

Eh, define "programming". Scheduling a recording? You could use the scheduling web site at tivo.com (or m.tivo.com), although you'd have to screen scrape.


----------



## MrGolden

wtbaxter said:


> Is there an alternative to using the Crestron protocol for programming a Series 3+ TiVo box?


If you're referring to Crestron programming, you should try http://tech.groups.yahoo.com/group/Crestron/.


----------



## Shaun5

Thanks to this thread, I have had port 31339 control working on my s3 HD for a year... I just upgraded to a premiere and control is still working, except for the arrow keys when I am in the video output screen (but I can use the ir arrow keys). If I exit the video output menu by pressing the left arrow key on the ir remote, all the instances I have pressed arrow keys are carried out in the other menu. Has anyone come across this?? I have firmware 14.5.


----------



## PacinoScar

is there a program where i can run a remote control on my laptop? pls forgive me i just just found this thread today and only got through 7 pages so far so if someone could help that would be great


----------



## PacinoScar

hopefully


----------



## ThAbtO

PacinoScar said:


> is there a program where i can run a remote control on my laptop? pls forgive me i just just found this thread today and only got through 7 pages so far so if someone could help that would be great


Try reading back up a few replies to post #496, at the bottom is 'Tivo Remote' click on it.

but, I see you only have 4 posts, and you need 10 to be able to see links.

Note: This only works on Series 3/HD/HDXL/premiere and not on any Series 2 or earlier.


----------



## wmcbrine

PacinoScar said:


> is there a program where i can run a remote control on my laptop?


http://github.com/wmcbrine/tivoremote



> _ pls forgive me i just just found this thread today and only got through 7 pages so far_


It's covered in the first seven pages (although not that URL).

BTW, thinking that the thread is too long is a poor reason to make it longer.


----------



## uspino

I'm trying to set up my Hauppauge HD-PVR to send a command line channel change to the TiVo. The HD-PVR can start an external application or command line bat file, and adds the channel number as a command line parameter to trigger the channel change.

Is there a way I can get this to work? I've tried a simple bat script to telnet into the TiVo, but my programming skills are not good enough. Basically I need something like this:

telnet 192.168.0.181 31339 SETCH %%%, whereas the %%% number is manually set as a command line parameter. 

Help please!


----------



## uspino

OK I'm answering myself here. For anybody interested, I created a small vbs script that can be run with the channel number as argument. Just run "tivo.vbs 602" from a command prompt, or a shortcut in windows, and it will telnet into your Tivo and change channel to 602. You only need to modify the script with your Tivo's internal address.

I'm new to this, so the script is not very elegant (it quickly opens and closes a DOS window). If anybody can make it a little better or less intrusive, it would be greatly appreciated.

I've also made myself a simple but effective Windows Gadget using Launch Control (you can find version 1.6 in Windows Live Gadget Gallery). You can just add shortcuts to the tivo.vbs script with the channel number as argument, change the icon to that of a channel, and you have a nice Windows 7 Gadget remote. You can also add shortcuts to buttons (Live TV, et.) by editing the script accordingly.

Here's the script (copy and paste into Notebook and save as "tivo.vbs"):


'********************************************
' Name: Batch Telnet Script for TiVo & HD-PVR
' Description: Change channels in TiVo via command line 
' by executing this tivo.vbs followed by the channel number 
' as command line argument.
' By: uspino
' (c) 2010
'**************************************
'
'Use argument parameter as channel number
'
Dim ArgObj, var1
Set ArgObj = WScript.Arguments 
Set WshShell = WScript.CreateObject("WScript.Shell")
var1 = ArgObj(0) 
'
'
'Create the shell object
set oShell = CreateObject("WScript.Shell")
'
'Start up command prompt
oShell.run"cmd.exe"
WScript.Sleep 50
'
'Send keys to active window; change the IP address to that of your TiVo. Keep the port number.
oShell.SendKeys"telnet 192.168.1.153 31339"
'Emulate the enter key
oShell.SendKeys ("{Enter}")
WScript.Sleep 50
'
'Send the channel number to TiVo
oShell.SendKeys"SETCH "
oShell.SendKeys var1
oShell.SendKeys("{Enter}")
WScript.Sleep 50
'
'Exit and close window
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}")
Set objProcess = objWMI.InstancesOf("Win32_process") 
For each Process in objProcess 
If (instr(1,lcase(Process.name),lcase("telnet.exe")) > 0) then
Process.terminate 0
End If 
Next
oShell.SendKeys"exit{ENTER}"
oShell.SendKeys("{Enter}")
oShell.SendKeys"% "


----------



## uspino

The script ended up being complicated and unreliable, and I never liked the fact that it opend and closed a DOS window. So with the invaluable help of some nice folks at the AutoIt forums, I wrote an extremely simple application that does exactly what I wanted. This is the code:

TCPStartup()
$fp = TCPConnect($CmdLine[1], $CmdLine[2])
Sleep(300)
TCPSend($fp, "SETCH " & $CmdLine[3] & @CRLF)
Sleep(300)
$ack = TCPRecv($fp, 40)
TrayTip("TiVo Channel Change", $ack, 10, 0)
Sleep(2000)
TCPShutdown()

I compiled it into an exe (both 32 & 64bit) that can be downloaded here:

megaupload.com/?d=FEIJBUXC

To make sure that anybody else with a TiVo can use it, I used command line arguments for all the variables:

Usage: 
EXE + Yout TiVo LAN IP address + Telnet Port Number (usually 31339) + Channel Number

Example: 
C:\TivoChannelChanger.exe 192.168.1.153 31339 689

Your TiVo (located at 192.168.1.153 and accessed through port 31339) will change to channel 689 and you will see a small and short confirmation bubble on the Windows tray.

If you happen to have an HD-PVR for Media Center recording, here's how the Regsitry looks like:

[HKEY_LOCAL_MACHINE\SYSTEM\PSWTuner\HCW49SWT\Blaster]
"ActiveBlaster"=dword:00000002
"ExtAppArgs"="192.168.1.153 31339 %c"
"ExtAppName"="C:\\TiVoChannelChanger.exe"
"FlushOnChannelChange"=dword:00000000
"IntOpenMode"=dword:00000001
"PauseOnChannelChange"=dword:00000000


----------



## ThAbtO

This is quite limited to just changing channels when there is a lot more commands available.


----------



## uspino

ThAbtO said:


> This is quite limited to just changing channels when there is a lot more commands available.


I know, but it's all I needed. AutoIt is an outstanding freeware programming tool. If you look at the code in my post, it's so simple that there's plenty of things that can be done with just a few changes or additions. I encourage everybody to modify it to their needs.

I've created myself a small TiVo Remote Gadget for Windows 7 using Launch Control v1.6 gadget. It gives me access to my 5 news channels (with station logos) and basic playback/guide functions.


upload image


----------



## uspino

Here's a slightly different version. It reads the IP address and Port Number from an INI file (the INI file has to be in the same directory). Once you modify the INI file with your IP and Port (31339), you can use it with 2 line arguments, like this:

C:\TivoRemote.exe SETCH 689 (Changes TiVo to Channel 689)
C:\TivoRemote.exe IRCODE PAUSE (Pause button on TiVo remote)
C:\TivoRemote.exe IRCODE FORWARD (Forward button on TiVo remote)
C:\TivoRemote.exe IRCODE LIVETV (LiveTV button on TiVo remote)

...and so on. The application is as small as it can be. It provides a 2-second bubble with feedback on the Windows tray only when the SETCH command is used, so you can visually verify the change. Again, anybody can now build a TiVo Remote Gadget in Windows 7 using the Gallery Gadget I mentioned in the previous post, with shortcut to channels and/or buttons.

For anybody interested, here's also the AutoIt source code:

$WORKINGDIR = @ScriptDir ; Reads INI file from same directory as EXE file
$var1 = IniRead($WORKINGDIR & "\TiVoRemote.ini", "TiVo LAN IP and Port Number", "IP", "IP Address Not Found in INI file") ; Reads IP from INI file
$var2 = IniRead($WORKINGDIR & "\TiVoRemote.ini", "TiVo LAN IP and Port Number", "Port", "Port Number NotFound in INI file") ; ; Reads Port from INI file

TCPStartup() ; Opens Telnet Connection
$fp = TCPConnect($var1, $var2) ; Telnets TiVo at provided IP and Port Number

TCPSend($fp, $CmdLine[1] & " " & $CmdLine[2] & @CRLF) ; Sends Commands to TiVo
Sleep(390) ; Allows time to TiVo to return Local and Remote Channel Status
$ack = TCPRecv($fp, 40)

If $CmdLine[1] = "SETCH" Then ; Provides Windows Tray Bubble Feedback only on channel change
TrayTip("TiVo Channel Change", $ack, 10, 1)
Sleep(2000) ; Gives tray bubble 2 seconds to disappear
TCPShutdown()
Else
TCPShutdown()
EndIf
Exit

And here's the 32 and 64-bit EXE files, the necessary INI file and TiVo's PDF with the full list of commands.

http://www.megaupload.com/?d=GAX49JNB


----------



## wmcbrine

OK, I'm now back to using KEYBOARD for direct text on the Premiere (only), IRCODE elsewhere. Also, for those who haven't followed the discussions in the HME board: It turns out that KEYBOARD _does_ return a KEY_PRESS event to HME apps, but only if the app reports that it implements version 0.49 or later of the HME protocol. These events are very different from the IRCODE kind, and allow conveying mixed case and all symbols, just like a real keyboard. You have to send a shift key code first to get uppercase or the top-row symbols. An uppercase "A" would look like this:



Code:


KEYBOARD LSHIFT\r
KEYBOARD A\r

while a lowercase "a" would just omit the shift -- KEYBOARD itself still only takes uppercase letters.

In addition to A-Z and NUM0-9, the accepted key names for KEYBOARD are (I think) as follows:



Code:


MINUS
EQUALS
LBRACKET
RBRACKET
BACKSLASH
SEMICOLON
QUOTE
COMMA
PERIOD
SLASH
BACKQUOTE
SPACE
CAPS
LSHIFT
RSHIFT
LCONTROL
RCONTROL
LMETA
RMETA
KBDUP
KBDDOWN
KBDLEFT
KBDRIGHT
PAGEUP
PAGEDOWN
HOME
INSERT
BACKSPACE
DELETE
KBDENTER
ESCAPE

LSHIFT applies only to the next character; CAPS will shift into that mode until called again. Some of the codes are redundant with regular TiVo keys. Only about half of the symbols are defined -- the lower half. So, to send a question mark, you'd send LSHIFT, SLASH. For a plus sign, LSHIFT, EQUALS. CAPS does not modify symbols.

The lower-half symbols also work with IRCODE (and I've incorporated them into the direct text support for S3 and HD). I've had some mixed results while trying to use shift with IRCODE, but the bottom line is that it's not usable right now. (I'm still hoping that KEYBOARD will make its way to the S3 and HD.)

Version 0.24 of my remote program also fixes an issue where tabbing once to get to the text entry field no longer worked in Tk (since 0.20) -- reported by "MelSmith" -- and turns the "macro" keys from hardwired functions into a tuple, "MACROS".


----------



## wmcbrine

Now in addition to the symbols listed above, I'm finding all kinds of interesting new IRCODEs. I'm not sure when these were introduced, but they're available at least as far back as 11.0b:



Code:


CC_ON
CC_OFF

Direct closed-caption toggling! No more pulling up the Info screen to do it.



Code:


ASPECT_CORRECTION_FULL
ASPECT_CORRECTION_PANEL
ASPECT_CORRECTION_ZOOM
ASPECT_CORRECTION_WIDE_ZOOM

Direct Zoom mode setting. This is the only way to change the aspect from within the YouTube viewer, for example. (Finally! Yes, it works.) Also of note is "WIDE_ZOOM" -- available only via this code, AFAIK. It's an irregular stretch mode, where the sides of the picture are more distorted than the center.

There are a bunch more that are less interesting to me, like "VIDEO_MODE_FIXED_480i" (etc.), and "TUNER_SWITCH", but I haven't tested them yet.


----------



## StanSimmons

wmcbrine said:


> There are a bunch more that are less interesting to me, like "*VIDEO_MODE_FIXED_480i*" (etc.), and "TUNER_SWITCH", but I haven't tested them yet.


"VIDEO_MODE_FIXED_720p" would sure fix the problem I've been having where my crappy HDMI switch keeps knocking my TiVo's back to 480p.

I tried modifying an existing 'macro' of yours, but never could get the timing to be consistent when going thru 4 or 5 menu screens to get to the Video Output Format screen.


----------



## dswallow

wmcbrine said:


> Also of note is "WIDE_ZOOM" -- available only via this code, AFAIK. It's an irregular stretch mode, where the sides of the picture are more distorted than the center.


I swear I'm just about to lost it completely with the morons running TiVo. To implement this feature which was requested since day 1 of the HD DirecTV units appearance, and to not even provide a way for the user to access it is just, well, maddening.


----------



## mjh

Thank you so much for tivoremote. It's working fantastically except for a couple of things related to keyboard shortcuts - which I have become addicted to.

Questions: 

Space doesn't seem to be pausing for me. What I press the pause button in the GUI, it works as expected. But I've come accross some odd behavior when I'm watching live TV. Spacebar should just pause the program but it doesn't. Instead it does two things:
The TiVo will pause the current program
The TiVo will go to the prev channel displayed (unpaused)
It does this consistently, and I can't figure out anyway to just pause Live TV using a keyboard shortcut. 
When I'm looking at the guide using the standard remote, if I press (for example) 2enter, the guide will take me to channel 2 (or whatever's closest to it, like 2-1) in the guide w/o actually changing the channel. But in tivoremote, that will change the channel to channel 2 (or whatever's closest to it) and the guide will disappear. Is there some way to mimic the "2enter" behavior that the standard remote does in tivoremote?

Thanks.


----------



## wmcbrine

mjh said:


> Thank you so much for tivoremote.


Is that mine you're talking about, or Jeepguy's, or something else? You should also mention what kind of TiVo(s) you have. Oh, and what OS you're using.

Assuming it's mine: I can't reproduce your issues. However, I'll just remind you that the keyboard shortcut for the remote's "Enter" key is not, as one might expect, "Enter" (because that's mapped to "Select"), but rather "." (because that was available). If you entered a channel number in the guide and then pressed Select (Enter) instead of Enter (.), you might see what you're seeing.

But I have no explanation for what you're seeing with the space bar.


----------



## wmcbrine

dswallow said:


> To implement this feature which was requested since day 1 of the HD DirecTV units appearance, and to not even provide a way for the user to access it is just, well, maddening.


The WIDE_ZOOM mode is actually kind of awful, so I can see why they'd leave it out. The interesting thing is that they _did_ make it available via the network interface.

My guess is that, with the one-button interface to the Zoom modes, having to cycle through as many as three modes to get to where you wanted was just too much, and WIDE_ZOOM was easily the most expendable, to bring the Zoom button down to a reasonable level of inconvenience to use.

As for why they included it at all, I suspect it's a feature of the chipset.


----------



## wmcbrine

uspino said:


> And here's the 32 and 64-bit EXE files, the necessary INI file and *TiVo's PDF with the full list of commands.*


I wanted to highlight this, because I didn't really notice it until last night, when I finally looked at uspino's archive. TiVo has released official documentation! Did anyone else know this? The PDF is here:

http://www.tivo.com/assets/images/a...CP_Network_Remote_Control_Protocol_073108.pdf

I'm not sure when this happened -- the file itself is dated 2008, but this page, which links to it, seems to date it July 2010.

It doesn't cover anything we didn't already know (although it would have, if I hadn't just found CC_ON etc. by looking for strings in tivoapp -- _after_ uspino posted this, but before I noticed it), nor does it cover direct text input. But still, it's nice to see it officially.


----------



## wmcbrine

I did find one inaccuracy in the PDF:



TiVo said:


> The client may send as many IRCODE requests as desired. If requests arrive faster than the DVR can process them, the DVR queues the requests and processes them in the order they arrived.


Well, yes, that's how it _should_ work. But I think it would be more correct to say:



wmcbrine said:


> If requests arrive faster than the DVR can process them, the DVR may spontaneously reboot.


----------



## mjh

wmcbrine said:


> Is that mine you're talking about, or Jeepguy's, or something else?


Yes sorry. Didn't realize there were forks. As far as the other things you requested:

TiVo HDXL (stock)
Windows 7 Professional (running as non-admin)

Also, I'm using Python 2.7.1 as availble here: http://python.org/download/



> But I have no explanation for what you're seeing with the space bar.


The Readme says that this is tested on 2.3 through 2.6. I suppose I could backup to 2.6.x and see if this makes a difference.


----------



## wmcbrine

mjh said:


> Yes sorry. Didn't realize there were forks.


Not a fork; it's a totally different implementation, in Java. And there are others, too.



> _The Readme says that this is tested on 2.3 through 2.6. I suppose I could backup to 2.6.x and see if this makes a difference._


Very unlikely.

Was my comment about Enter vs. Select on point?


----------



## wmcbrine

I decided that the CC_ON codes were worth an update -- this actually is _much_ nicer than the old closed-caption toggling method; so far, it even seems not to leave any residue on the screen when I toggle them off, which happens all the time with the Info-menu method (even when just using a regular remote, and not the network interface).

Since it's CC_ON and CC_OFF instead of a direct toggle, the program has to assume a state at startup, so it assumes that captions are off. If they're already on, that just means that the first press of the CC button will turn them on again (redundantly), and after that the program and the TiVo will be in sync.

Note that there's no visual or aural feedback with this method, except the appearance or disappearance of the captions -- no menu pops up, no bongs or beeps sound. So, on programs with no captions, nothing will appear to happen at all.

http://github.com/wmcbrine/tivoremote


----------



## wmcbrine

Another bug in the TiVo document: Although it's never stated explicitly, "After a successful channel change, all open clients receive the CH_STATUS message" carries the distinct implication that multiple clients can be connected simultaneously. AFAICT, this has never been the case -- back in the day, just trying it caused crashes; now, the second client just gets immediately disconnected (and there's still occasional weirdness).

The document also fails to mention the Zeroconf announcements of the remote service.


----------



## DarthObiwan

I'm wondering what new things they have added or will be adding for the iPad app. They mention it will be able to start a recording up right away. I would imagine they would make it much easier than having to have your sorting/grouping options match perfectly.

I wrote a Windows Mobile 6.5 remote app for myself over Christmas. I may open source it once I get better auto-discovery. I ended up having to go the scan route since I could not find a good Zeroconf implementation for .NET CF. Unfortunately I could not do a Windows Phone 7 version at all, MS has kept TCP sockets closed for now. I do know it is one of the highest requested features and will probably make it into the update later this year


----------



## mjh

wmcbrine said:


> Was my comment about Enter vs. Select on point?


No. That didn't really change anything. I'm still experiencing the problem.


----------



## jafi

I've downloaded both the 1.03b and the 1.02b versions - I got one of them (1.02b I think) working with my Series 3 on a Dell Latitude D630 running XP pro. I was able to pull up my Now Playing list and start a recording playing and pause it. 

I accidentally dismissed the Netmote - and now I can't get either version of the Netmote to work with the Tivo again. I've tried both, shut off my firewall for testing. Is there a Windows service or process that needs to be killed/reset/restarted? (I haven't rebooted the laptop - though that's next). 

I configure Netmote with the IP address. I connect - and when I push a button on the Netmote I see the red indicator flash (which doesn't flash till I connect). 

I am able to connect directly to the series 3 via browser using the IP URL and the MAK as password. 

I do have the Tivo desktop installed - but that shouldn't interfere with Netmote?

I'm just baffled why it worked the first time - but not when I restarted a minute later.

FWIW - there's a great little browser based remote for the Roku player box called Remoku(google pops it right up). I run it in Chrome and seems to find/store the IP - I don't have to manually connect each time I use it.

Update: Rebooting fixed it - and both versions now work even after being closed and restarted. Would like to understand what was causing the problem before though.

Second update: Now Netmote (either version) isn't working again when I start and connect it. This is very frustrating.


----------



## MPSAN

I will never figure out why they will not let us delete a show. It would be nice to remove a recorded show without turning on the TV...especially if it is a big screen set in another room!


----------



## dswallow

MPSAN said:


> I will never figure out why they will not let us delete a show. It would be nice to remove a recorded show without turning on the TV...especially if it is a big screen set in another room!


If they let you delete a show they won't have the opportunity to pass along your delete request to retention in the hopes they can talk you out of it.


----------



## Fofer

You can delete a show, you just need to "upgrade" to a TiVo Premiere, and get an iPad, and then use the iPad app.


----------



## MPSAN

Well, there are still a few features of my ReplayTV's that I miss with the TIVO's!


----------



## ttocsmi

wmcbrine said:


> Another bug in the TiVo document: Although it's never stated explicitly, "After a successful channel change, all open clients receive the CH_STATUS message" carries the distinct implication that multiple clients can be connected simultaneously. AFAICT, this has never been the case -- back in the day, just trying it caused crashes; now, the second client just gets immediately disconnected (and there's still occasional weirdness).
> 
> The document also fails to mention the Zeroconf announcements of the remote service.


@wmcbrine - ahahahahahhhahhha!!!! now it works; i downloaded the .zip file (using the Downloads button) and it works just fine. really cool!!

thanks for your patience and for writing this code.


----------



## nathanm412

Thanks wmcbrine for this tool. I've been using it for a couple of years and really appreciate it.


----------



## morac

Is there a way to simulate holding down a button via the network interface? If not how does one jump to the beginning/end of a program on a Premiere that's set up to hold down the instant replay/skip button to jump to the beginning/end of a program?


----------



## ThAbtO

morac said:


> Is there a way to simulate holding down a button via the network interface? If not how does one jump to the beginning/end of a program on a Premiere that's set up to hold down the instant replay/skip button to jump to the beginning/end of a program?


Without the 30-Sec skip enabled, pressing ->| will jump to end, pressing it again will then jump to the beginning.. An alternate way is to press << or >> then each press of ->| will jump to the next white tic mark in that direction.

With 30-Sec skip, use the alternate.


----------



## morac

ThAbtO said:


> With 30-Sec skip, use the alternate.


So I guess the answer is that there is no way to simulate holding down the button.

I wonder if there is a special IRCODE to jump to the beginning/end. There must be since the iPad app can jump to any time in the playback stream.


----------



## jmemmott

I suspect someone is casing the forum spam filters. There is also a spam entry that reactived my Closed Captioning thread from last November in the ToGo forum with Russian "traffic stoplight" verbage and an entry in the HME for Python thread in the Developers forum about "PinayTV". All first posts, all about the same time this morning...


----------



## orangeboy

I've reported about half a dozen spam posts, which still remain on the boards. That russian one was one of them. I'm wondering if the "Report Post" function got clobbered with the hardware move done this past weekend...


----------



## StanSimmons

orangeboy said:


> I've reported about half a dozen spam posts, which still remain on the boards. That russian one was one of them. I'm wondering if the "Report Post" function got clobbered with the hardware move done this past weekend...


It sometimes takes a while for the mods to make time to kill off the less obvious spam messages.


----------



## grafton

thanks for the app any chance you'll be able to reconfigure to where it's standalone?


----------



## bbrown9

I don't see buttons for mute and volume. The PDF has IRCODEs listed for them. 

Any chance that they will be implemented in the future?

Another suggestion:
A Help button that displays the readme.txt file (for viewing keybaord shortcuts, etc)


----------



## orangeboy

bbrown9 said:


> I don't see buttons for mute and volume. The PDF has IRCODEs listed for them.
> 
> Any chance that they will be implemented in the future?
> 
> Another suggestion:
> A Help button that displays the readme.txt file (for viewing keybaord shortcuts, etc)


Mute and volume isn't controlled by the TiVo. So unless your TV or audio receiver is capable of accepting remote commands over the network, those functions can't be implemented.


----------



## bbrown9

BTW, I'm having the same problem with the spacebar that mjh reported.

1.The TiVo will pause the current program
2.The TiVo will go to the prev channel displayed (unpaused)

I'm also using python 2.7.1 on Windows (vista) if that's significant.


----------



## bbrown9

orangeboy said:


> Mute and volume isn't controlled by the TiVo. So unless your TV or audio receiver is capable of accepting remote commands over the network, those functions can't be implemented.


Then why does TiVo document IRCODEs for them? Also, I have those buttons on my remote and they work.


----------



## morac

bbrown9 said:


> Then why does TiVo document IRCODEs for them? Also, I have those buttons on my remote and they work.


The remote sends the IR codes for volume, mute and power to the TV and the TiVo, but the TiVo simply uses them to register that someone is using the remote. As for why it's in the documentation maybe they simply wanted to be thorough.


----------



## bbrown9

I was a little suprised that ESC implemented the CLEAR function. I expected it to implement a "leave this screen without doing anything" functionality (left button on most screens) and DEL for CLEAR.

Hmmm. I'm thinking I can just edit the remote.pyw file to customize them...


----------



## orangeboy

bbrown9 said:


> I was a little suprised that ESC implemented the CLEAR function. I expected it to implement a "leave this screen without doing anything" functionality (left button on most screens) and DEL for CLEAR.
> 
> Hmmm. I'm thinking I can just edit the remote.pyw file to customize them...


I customized the .pyw file to pass lowercase letters as uppercase letters so I can just type on my keyboard instead of using the text box. I also modified spacebar to send "SPACE" as well. I still haven't figured out backspace...


----------



## bbrown9

bbrown9 said:


> BTW, I'm having the same problem with the spacebar that mjh reported.
> 
> 1.The TiVo will pause the current program
> 2.The TiVo will go to the prev channel displayed (unpaused)
> 
> I'm also using python 2.7.1 on Windows (vista) if that's significant.


I figured this out! It's the focus_button!

I set the focus_button to 'A' instead of 'Enter' and pressing the spacebar now works as expected.


----------



## bbrown9

bbrown9 said:


> I figured this out! It's the focus_button!
> 
> I set the focus_button to 'A' instead of 'Enter' and pressing the spacebar now works as expected.


It's definitely in the python implementation. I downloaded python 2.7.1.4 from ActiveState and the spacebar works just fine (with the original remote.pyw).

http://www.activestate.com/activepython/downloads


----------



## cyphers72

The Premier and the Slide remotes both have new function color buttons (red, blue, green, yellow), and I haven't found any IRCODE equivalents for those. Anyone have new codes for those? They're used sparsely in the new Premier UI.


----------



## ThAbtO

cyphers72 said:


> The Premier and the Slide remotes both have new function color buttons (red, blue, green, yellow), and I haven't found any IRCODE equivalents for those. Anyone have new codes for those? They're used sparsely in the new Premier UI.


This is only a theory, but what if the codes are RED, BLUE, GREEN and YELLOW.


----------



## orangeboy

Code:


ACTION_A
ACTION_B
ACTION_C
ACTION_D

Edit: WTF? Outside of CODE blocks, the above gets Title Cased:
Action_a
Action_b
Action_c
Action_d


----------



## Fofer

Yeah, this forums corrects "all caps" posts... ostensibly to prevent "shouting."

Sometimes it can be annoying, but you've discovered a good workaround.


----------



## MelSmith

Hi all,

You used to be able to generate the * (asterisk) symbol in Wish List keyword creation by using the slow button or equivalent SLOW code, but this does not seem to work anymore. Does anyone know of a way to input a * without having to use the arrow buttons and select button when creating or editing a wish list keyword?

Cheers,

Rob


----------



## mrklaw

Just wanted to thank wmcbrine for the python app. Works great and it seems much more responsive than TiVo's own iPad app.


----------



## Fofer

Haven't played with this in a while.

I've downloaded wmcbrine's tivo-remote-0.25 from GitHub?

Now how do I launch remote.pyw on my Mac? Didn't there used to be a .jar file?

I am using Mac OS X 10.6.7.


----------



## pmiranda

mrklaw said:


> Just wanted to thank wmcbrine for the python app. Works great and it seems much more responsive than TiVo's own iPad app.


+1!

I just wish I could remember the keyboard shortcuts in the Windows app... maybe a little help popup button would help?


----------



## wmcbrine

Fofer said:


> Now how do I launch remote.pyw on my Mac? Didn't there used to be a .jar file?


No, there was never a .jar file. There's another remote in this thread that's written in Java, so of course that one comes in a .jar.

The ideal way to run it on a Mac is to build an applet. However, I couldn't find a version-agnostic way to do that (and I only have 10.4 here). You can do it yourself if you have XCode or third-party Python installed. Otherwise... pull up the context menu, and see if there's an option to run it there. OR, open a console, and run it that way: "python remote.pyw".


----------



## Fofer

Thank you for the reply... will play with this when I am home, tonight.


----------



## wmcbrine

bbrown9 said:


> BTW, I'm having the same problem with the spacebar that mjh reported.


OK, I finally fixed this... the change is in my repo now; I'll post a new release later.


----------



## wmcbrine

OK, this version incorporates the fix described above:

http://github.com/downloads/wmcbrine/tivoremote/tivo-remote-0.26.zip

Also, now that I finally have a new Mac running 10.6, I thought I'd try the applet thing again. Please let me know if this works for you; if it does, I can work up an improved version:

http://github.com/downloads/wmcbrine/tivoremote/remote-applet.zip


----------



## nyjklein

Mac version works great for me on 10.6.6, 2011 MacBook Pro.

Jeff


----------



## Fofer

Mac version works great for me on Mac OS X 10.6.7.

This is very convenient, I like it! Thanks for your wonderful work on this, wmcbrine!

Has there been any work shared on some "skins" for this program, to perhaps make it look prettier... like an actual remote? That'd be kinda cool...


----------



## wb3fsr

wmcbrine thank you for extensive work / development of your remote app. I use it daily and enjoy the interface.

I would like to sort the 'Tivo Suggestions' alphabetically... Is this possible?

Last, I use an app called 'Tivo Play List' written by David Cahoe for downloading shows to my PC. Randomly I lose communications with one or more Tivo's over the network. The app uses ports 80 & 443. So far the only recovery has been a reboot via the Tivo menu. Are there any code(s) that I could send to the Tivo to restart servicing of these ports short of a full reboot?

Running three Premiere's here.

Regards,

Ren


----------



## justen_m

Is the first post in this thread still valid? I'm probably smeeking, but I can't telnet into port 31339 on my TivoHD (11.0k firmware). I've tried from hyperterminal (XPP box) and telnet (Linux box) and I get no response. Networking is fine (all my Tivos and PCs can see each other, transfers to and from my Tivos and XP boxes work fine with TD 2.8.2, I can ping my Tivos from my all my PCs, etc). Is there something in the past 560+ posts that is relevant to my problem?


----------



## mcheavens

I did a quick and dirty update with one example of a smaller command line. If you just run the scripts (after compiled) it will give a msg box with the IRCODES as well as how to change the channel. I also added a simple example of "TiVo p" will pause the TiVo.

Not very clean and need to convert a lot of this to Functions, but it was a quick upgrade. Now if I could only think of why I started this project!

Here it is:
----------------
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=TiVo.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
$WORKINGDIR = @ScriptDir ; Reads INI file from same directory as EXE file
$var1 = IniRead($WORKINGDIR & "\TiVoRemote.ini", "TiVo LAN IP and Port Number", "IP", "IP Address Not Found in INI file") ; Reads IP from INI file
$var2 = IniRead($WORKINGDIR & "\TiVoRemote.ini", "TiVo LAN IP and Port Number", "Port", "Port Number NotFound in INI file") ; ; Reads Port from INI file
Global $ProgramName="TiVo Remote"
Global $PRGLine="TiVo"

If $CmdLine[0] = 0 Then
$Message= "Basic commands:" & @LF & _
"Currently all commands must be in all UPPER CASE!" & @LF & _
">>SETCH" & @LF & _
$PRGLine & " SETCH 13 will change the channel to 13 on the current LIVETV screen" & @LF & _
$PRGLine & " SETCH ""13 1"" Will change the channel to Digital 13-1" & @LF & _
">>IRCODES" & @LF & _
$PRGLine & " IRCODES xxxxxx" & @LF & _
">>xxxxxxx" & @LF & _
"Navigation: UP, DOWN, LEFT, RIGHT, SELECT, TIVO, LIVETV, GUIDE, INFO" & @LF & _
"Control Buttons: THUMBSUP, THUMBSDOWN, CHANNELUP, CHANNELDOWN, MUTE, VOLUMEDOWN, VOLUMEUP, INPUT" & @LF & _
"NOTE: Volume, Mute etc. are TV commands..." & @LF & _
"Video: VIDEO_MODE_FIXED_480i, VIDEO_MODE_FIXED_480p, VIDEO_MODE_FIXED_720p" & @LF & _
"VIDEO_MODE_FIXED_1080i, VIDEO_MODE_HYBRID, VIDEO_MODE_HYBRID_720p, VIDEO_MODE_HYBRID_1080i" & @LF & _
"VIDEO_MODE_NATIVE" & @LF & _
"Captioning: CC_ON, CC_OFF" & @LF & _
"OPTIONS" & @LF & _
"Aspect: ASPECT_CORRECTION_FULL, ASPECT_CORRECTION_PANEL, ASPECT_CORRECTION_ZOOM, ASPECT_CORRECTION_WIDE_ZOOM" & @LF & _
"TrickPlay: PLAY, FORWARD, REVERSE, PAUSE, SLOW, REPLAY, ADVANCE, RECORD" & @LF & _
"Number: NUM0, NUM1, NUM2, NUM3, NUM4, .... , NUM8, NUM9" & @LF & _
"ENTER, CLEAR" & @LF

MsgBox(0," TiVo-Remote Command Line Variables", $Message)
Exit
EndIf

TCPStartup() ; Opens Telnet Connection
$fp = TCPConnect($var1, $var2) ; Telnets TiVo at provided IP and Port Number

If $CmdLine[0]>0 And $CmdLine[1] = "p" Then
TCPSend($fp, "IRCODE" & " " & "PAUSE" & @CRLF) ; Sends Commands to TiVo
Sleep(390) ; Allows time to TiVo to return Local and Remote Channel Status
$ack = TCPRecv($fp, 40)
TCPShutdown()
Exit
EndIf

IF $CmdLine[0] = 1 Then
TCPSend($fp, $CmdLine[1] & " " & @CRLF) ; Sends Commands to TiVo
Sleep(390) ; Allows time to TiVo to return Local and Remote Channel Status
$ack = TCPRecv($fp, 40)
EndIf

IF $CmdLine[0] = 2 Then
TCPSend($fp, $CmdLine[1] & " " & $CmdLine[2] & @CRLF) ; Sends Commands to TiVo
Sleep(390) ; Allows time to TiVo to return Local and Remote Channel Status
$ack = TCPRecv($fp, 40)
EndIf

If $CmdLine[0]>0 And $CmdLine[1] = "SETCH" Then ; Provides Windows Tray Bubble Feedback only on channel change
TrayTip("TiVo Channel Change", $ack, 10, 1)
Sleep(3000) ; Gives tray bubble 2 seconds to disappear
TCPShutdown()
Exit
EndIf

If $CmdLine[0] > 0 Then
TCPShutdown()
EndIf
Exit


----------



## wmcbrine

justen_m said:


> Is there something in the past 560+ posts that is relevant to my problem?


Yes.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=6481187#post6481187


----------



## windracer

justen_m said:


> I'm probably smeeking, but I can't telnet into port 31339 on my TivoHD (11.0k firmware).


Did you enable Network Remote Control?

Messages & Settings > Settings > Remote, CableCARD & Devices > Network Remote Control


----------



## justen_m

windracer said:


> Did you enable Network Remote Control?
> 
> Messages & Settings > Settings > Remote, CableCARD & Devices > Network Remote Control


Nope. Thanks for the suggestion. I'll give it a try when I get home and get a chance. Seeing as I don't have any cablecards, I doubt I've ever entered that menu. Thanks to wmcbrine too, who pointed out the post (#209) where that was mentioned... almost three years ago.


----------



## jim.slimbo

I've checked in on conversations in tivocommunity many times since I got my Tivo Premier about 6 months ago but I just registered now so I could login to thank wmcbrine and anyone else who contributed to tivoremote.

I'm so happy to be able to use my netbook to enter Tivo text!

Bravo and thank you! :up:


----------



## ArthurPower

A big thank you to wmcbrine! I have been running Ubuntu as my primary OS on all my computers (both for my business and personal use) for 5+ years. I recently became an authorized Tivo dealer and have a couple Premiere's on my network now. I was looking for a way to control them from my PC's when I came across this thread. This app runs perfect on Ubuntu 10.10 and allows me to select which Tivo I want to control. Very nice! I made a custom launcher and logo, all I need to do is wrap it into a .deb install for easier installation. That is if it's OK with wmcbrine? 

Arthur


----------



## wmcbrine

"Custom launcher"? What's that do?


----------



## ArthurPower

Just a shortcut to start a program (in Ubuntu it's called a launcher). I put the remote application in a hidden folder inside the users directly where most programs are installed, then added a launcher with a nice Tivo logo and placed it in the main menu and on my desktop. 

Arthur


----------



## ArthurPower

I guess I shouldn't have used the word 'custom' it makes it sound like it was something special. It would just be nice to wrap the app into a .deb package so anyone using a Debian Linux distro can easily install it. I just want everything in the right place with a nice looking launcher to start it. 

Arthur


----------



## Jobius

wmcbrine said:


> Now in addition to the symbols listed above, I'm finding all kinds of interesting new IRCODEs. I'm not sure when these were introduced, but they're available at least as far back as 11.0b:
> 
> 
> 
> Code:
> 
> 
> CC_ON
> CC_OFF
> 
> Direct closed-caption toggling! No more pulling up the Info screen to do it.


So I get that this thread is about controlling the TiVo using telnet, but I've been looking for a way to toggle CC from an IR remote. Does the fact that these are listed as IRCODE mean that there's a corresponding, um, IR code? Any way of telling what it is?


----------



## wmcbrine

Jobius said:


> Does the fact that these are listed as IRCODE mean that there's a corresponding, um, IR code?


No, it does not.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=8399677#post8399677


----------



## Puf

I've been reading threads, playing with the interface, etc. Has someone figured out a way to determine whether (a) you are on livetv, (b) watching a pre-recorded show, (c) in the menus?

I'm using a control system and issuing commands from it. The HDMI is going through a switch and it appears that I need to reinitiate the HDCP handshake upon switching sources back to one of my Tivos. When I do, I don't want to change the channel, menu, etc. so I want to try to figure it out and issue a command that will reinitiate the HDCP connection without messing it up. The thinking is if on LiveTV, I swap tuners or hit info.


----------



## tzroberts

I am a little late in coming, but I love this thread. Have you guys had any issue in loosing IP control of TiVo when in certain menus, like the advertising menus? If so, is there a way around it or am I forced to use the IR remote to exit out? Thanks for any insight.


----------



## DougD

I have been testing out the python remote control programs by wmcbrine and orangeboys and really like them. Has anyone ported these to java? I have tried the java version from jeepguy_1980 but it doesn't seem to provide for keyboard entry.


----------



## wmcbrine

Why do you want it in Java?


----------



## DougD

I knowyou develop in Python but I normally don't have Python on my windows 7 machines.


----------



## moyekj

DougD said:


> I have been testing out the python remote control programs by wmcbrine and orangeboys and really like them. Has anyone ported these to java? I have tried the java version from jeepguy_1980 but it doesn't seem to provide for keyboard entry.


 For iPad protocol (Premiere units only) kmttg remote is all Java based and is more than just a simple remote control. However I don't see big deal about having python installed as it's a small, non-intrusive installation.


----------



## lrhorer

Oh, this is just too excellent to withstand!

I almost never do any searching or browsing on my TiVos. It leave it up to the Tivos to figure out what I like and what should and should not be recorded. The one exception is every couple of weeks or so I do a Search by Title for HD movies. I usually go to my Theater and use that TiVo for the search. It's always been a pain, though, because there is no way I can remember from the top of my head everything that has or has not been recorded and from what source. The source shouldn't make a difference, but in reality it does. AMC and others often edit the content of various movies. (This should be strictly illegal. It is highly offensive and deleterious to the medium.) Also, some channel's video streams are inferior. TCMHD, for example, often broadcasts videos of inferior quality or in pillar-boxed format. When I have a recording from one of those channels, and the same program gets broadcast on MGMHD, MAXHD, HBO, etc, I replace the old video.

Of course, I can always hit the TiVo button, go to the NPL or vidmgr, and look up the show in question, then hit <TiVo> => <DnArrow> => <DnArrow> => => => <DnArrow> => => <DnArrow> => => , enter the first couple of letters of the movie in question, and then hit <RtArrow> until I am back in the selection list. You get my point, I trust.

To alleviate this annoyance, I wrote a simple CGI script that displays all the videos on the server. I have a PC attached to the projector in the theater, so I can bring up the browser on one source and have the TiVo on the other. This worked, but it was a pain having to swap between sources - it takes a little while for the video to re-sync. What's worse, it meant I had to juggle two remotes and a keyboard. It was a bit better than switching in and out of the NPL, but it was still a pain.

Still searching for a solution, I tried using a laptop sitting next to me on the couch, or perched on my belly. This was a little better, but it was still a pain. I had to wear my bifocals so I could see both the laptop and the TV screen, and it's not comfortable trying to read and manage the laptop sitting next to me. Perched on my belly, it's difficult to find and hit the keys necessary to control the laptop.

A couple of weeks ago, however, I got a video capture card off e-bay for $20. I wasn't thinking of this application at the time, actually. I bought it to replace my old, faithful 1999 vintage Philips Series I TiVo which died a few weeks ago. I was using the TiVo to do occasional screen captures of the TiVo in the Theater. I realized last night, however, that it could serve a different function. Unlike the S1 TiVo, the live feed from the S3 TiVo can be displayed on the PC doing the capture. Now I have one window up with the screen capture, one with the TiVo Remote app, and one with a web browser pointed to the CGI scripts mentioned above. Using a remote desktop app, I can do this from any PC in the house.

It's just too, too cool.


----------



## lrhorer

Hey William,

I have a feature request for the TiVo Remote app. Could we get a little <Help> button that pops up a cheat-sheet for the keyboard shortcuts? Perhaps also tie it in to the "?" key on the keyboard?

Also, in your docs, you mention the Stop function (`). What does this do?


----------



## lrhorer

ArthurPower said:


> I guess I shouldn't have used the word 'custom' it makes it sound like it was something special. It would just be nice to wrap the app into a .deb package so anyone using a Debian Linux distro can easily install it. I just want everything in the right place with a nice looking launcher to start it.


Oh, you've got to be kidding me! A .deb package for an app that has only 1 script (2 if you count Zeroconf.py), no binaries, no compilation, no man page, no startup requirements, and no dependencies other than Python?


----------



## jfh3

I am trying to get remote.pyw to run on Windows 7 (x64)

I installed Python 2.7 and then clicked on remote to run it, but nothing happens.

I'm sure it's something simple, but I have no idea. Can anyone help?


----------



## wmcbrine

Open a command window and run it from there. Maybe then you'll see an error message.


----------



## Soapm

For us non technical people, how do I do this?

Once Python is installed on your system, *you should be able to just extract the TiVo Remote archive anywhere, and click on "remote.pyw", or run it from the command line*.

I don't know how to extract the file? Do you mean on the windows PC like using WinZip? And what you say click on remote, when I do it opens like a text file? Perhaps there were easier to follow instructions that I missed???


----------



## wmcbrine

Zip functionality is built in to Windows since XP; you don't need WinZip. But that's what "extract" means, yes. No idea why you're not seeing it run... hmm, are you trying to start it from within WinZip? Don't do that.


----------



## Soapm

My extractor doesn't recognize anything that needs to be extracted. Of the 3 files, none of them appear associated to the extraction software.

Edite... Nevermind, i didn't notice the download button on the right. I had just downloaded the 3 individual files. Now I get it to run but I have a S2 DT until my new premier arrives next week. It works now.


----------



## Be.steve

Since we'd all like to have a single unit to control, well... EVERYTHING... it would appear to me that it would be possible to write code that would control both the Tivo and any IR controlled device with a unit like ...Global-Cache-iTach-for-IR-Devices-WiFi-Wired-or-Wired-with-PoE-GCWFIP2IRx from HomeControls

Any comments from some of you masters of programming?


----------



## skavan

how quickly should I be expecting the TIVO to respond to the commands sent to it via IP?

It seems that there is a distinct delay between sending the command and seeing the response? It seems much slower than IR? Or is it just me?

Thanks.


----------



## pmiranda

Response should be very fast. In my system it responds faster than IR, going from my laptop, to a wireless router, through a switch, another router, and into my S3.


----------



## Fofer

Shouldn't be slow. Mine's pretty much immediate.


----------



## astrohip

Same here. Instant. As fast as the remote.


----------



## skavan

I'm an idiot of immense proportions. You wouldn't believe it if I told you!
All is well.

You can guess if you like...

s.


----------



## Fofer

Oh come on. Tell us.


----------



## skavan

here's a clue ... slingbox.


----------



## Fofer




----------



## skavan

ok ok...so my tivo is in a different room to my home office -- where i have been developing a homeseer based version of the tivo remote control.
To view the TIVO and ensure the system was performing over IP I fired up the slingplayer application which connects to a SlingBox that is connected by COmponent Video to the TIVO. The SlingBox streams the TIVO output to the Slingplayer in my office.

I would send a command to the TIVO while watching the SlingPlayer to see its effect. I was terribly puzzled by the apparent 3 second delay between issuing a command and seeing the TIVO react...until you factor in the latency in the streaming of the TIVO signal to the Slingplayer application.

It was happening in RT at the TIVO and taking 3 seconds to beam the signal to my PC.

OK...as I say, I was an idiot! Nonetheless, Hoemseer is now sending IP commands to the TIVO. Next up is to connect it to the HSTouch skin (attached).


----------



## astrohip

skavan said:


> ok ok...so my tivo is in a different room to my home office -- where i have been developing a homeseer based version of the tivo remote control.
> To view the TIVO and ensure the system was performing over IP I fired up the slingplayer application which connects to a SlingBox that is connected by COmponent Video to the TIVO. The SlingBox streams the TIVO output to the Slingplayer in my office.
> 
> I would send a command to the TIVO while watching the SlingPlayer to see its effect. I was terribly puzzled by the apparent 3 second delay between issuing a command and seeing the TIVO react...until you factor in the latency in the streaming of the TIVO signal to the Slingplayer application.
> 
> It was happening in RT at the TIVO and taking 3 seconds to beam the signal to my PC.
> 
> OK...as I say, I was an idiot! Nonetheless, Hoemseer is now sending IP commands to the TIVO. Next up is to connect it to the HSTouch skin (attached).


I'm not sure I understand everything you said, but I love that image. If that's a remote skin, I want one!

Is that something I can get to work with the Remote.pyw app I use?


----------



## astrohip

How do I get a TiVo name change to appear in TiVo Remote?

I hooked up a new Elite about a week ago. The first time I ran TiVo Remote it displayed what I am guessing is some sort of model #/name: DVR-658A. I have since renamed it, and that rename has populated down everywhere--the other TiVos, online, TiVo Desktop, etc. Everywhere except... TiVo Remote.

Is it cached somewhere? Or something else I need to do to get the name change to pass thru?

Thanks!


----------



## Ben321

I have TIVO Series-2 device. Will this work on that too? Or will I need to use a different TCP port number for telnet? Or is this simply impossible to do with a Series-2 device?

I've plugged in a "crossover" ethernet cable so I don't need to use a router. I want to telnet the device. But it won't even go on the network. Its first action to test if it's on a network is to check if it's on the INTERNET, which means connecting to TIVO's server. I don't have a way to get the internet service in my computer (via wireless) to be "shared" to my other network adapter (the one the ethernet is connected to). So my TIVO never "sees" the internet, so it REFUSES to connect to my LAN. How to I get it to join my LAN as a device on my network WITHOUT connecting to the internet? I want to do this telnet thing but I can't get it to work as long as it fails the "internet test". Is there any trick to get it to connect to my LAN without attempting to connect to the internet (which automatically causes it to disconnect from my LAN upon failure to connect to the internet)? It doesn't even respond to the PING 192.168.1.101 command sent from the windows command prompt. Collasoft MAC Scanner doesn't display the device. It's as if it isn't evven connected to my network though it DIRECTLY connected to my computer's ethernet port with a "crossover" ethernet cable.

Any help here would be GREATLY appreciated.


----------



## wmcbrine

astrohip said:


> How do I get a TiVo name change to appear in TiVo Remote?


If you're talking about my program, the names are definitely not cached; they're collected at startup. It's interesting that the situation you describe is even possible; I wouldn't have expected it.

Did you try rebooting the affected TiVo?



Ben321 said:


> I have TIVO Series-2 device. Will this work on that too? Or will I need to use a different TCP port number for telnet? Or is this simply impossible to do with a Series-2 device?


TiVo Inc. has not implemented the TCP/IP remote service for the Series 2. There's no technical reason they couldn't, AFAICT, but they didn't. And at this point, they won't. Sorry.


----------



## astrohip

wmcbrine said:


> If you're talking about my program, the names are definitely not cached; they're collected at startup. It's interesting that the situation you describe is even possible; I wouldn't have expected it.
> 
> Did you try rebooting the affected TiVo?


Yes, your program. Which I love and my wife could not live without. :up: I believe it rebooted yesterday during a power outage (note to self: why didn't the UPS work--need to look into that). I'll check tonight and see if that updated anything.


----------



## morac

astrohip said:


> Yes, your program. Which I love and my wife could not live without. :up: I believe it rebooted yesterday during a power outage (note to self: *why didn't the UPS work*--need to look into that). I'll check tonight and see if that updated anything.


If your UPS is like mine, then the battery is too old and needs to be replaced. Batteries in UPSes only last around 3 to 5 years.


----------



## motech

does anyone know if the zoom commands works over IP?
i don't see it anywhere&#8230;.

i hate that there is no exit button on tivo's.


----------



## wmcbrine

motech said:


> does anyone know if the zoom commands works over IP?
> i don't see it anywhere&#8230;.


Sure. The IRCODE for it is WINDOW, the original name for the "Zoom" button, which has also been named "Aspect" at times.

There's also a set of discrete codes to set the specific zoom mode, described a few pages up. These don't correspond to any remote buttons.



> _i hate that there is no exit button on tivo's._


What would that do?


----------



## motech

when in tivo central - how do you get out of tivo central without pressing live tv?
i say without pressing live tv because sometimes you are playing back a recorded show and press tivo central by mistake&#8230;. whats the best way to get back to the show you were watching ?


----------



## motech

and on top of that, if you are watching tv - and you press guide, whats the best way to get right of the guide?


----------



## windracer

motech said:


> when in tivo central - how do you get out of tivo central without pressing live tv? i say without pressing live tv because sometimes you are playing back a recorded show and press tivo central by mistake. whats the best way to get back to the show you were watching ?


If you have a Premiere, you would use Zoom because the recorded show you were watching will be in the video preview window still. If you have an older model TiVo, there's no way to quickly go back if you press the TiVo button. You'll need to go back to the NPL and resume playing the show.



motech said:


> and on top of that, if you are watching tv - and you press guide, whats the best way to get right of the guide?


Just press Guide again.


----------



## motech

ok so i figured those out a while ago.
i was just trying to make sure i didn't know of a better way.

i was also pointing out why i thought tivo needed an exit button


----------



## motech

actually what I'm hoping is that in 20.2 when in the new guide - zoom will work the same way it does in tivo central&#8230;basically as an exit button.


----------



## wmcbrine

"Clear" will remove the Guide, as well as other overlay displays (Info, Play bar, etc.). The left arrow lets you back out of most screens -- admittedly, not TiVo Central. However, I have a hard time picturing an Exit button working differently there. Conceptually, TiVo Central is the base level; there's nothing to exit to from there. You're asking for Live TV -- or a playing recording? -- to be treated as the base level instead.

Edit: Although, as I think of it, Live TV _is_ treated as the base level in one context: If you leave the TiVo on TiVo Central, it will eventually switch to Live TV, in an attempt to prevent burn-in.


----------



## motech

there should be one common button to get you back to a base level.
if you open guide, you have to press guide or clear or live tv to get back to tv.
that clear button is dangerous as if someone is used to pressing that to get out of a guide then they might push it by mistake when viewing the now playing list. which will then delete something they didn't want to delete.
if you are in tivo menus, you have a different set of buttons that will get you out of that menu. zoom, live tv, etc.
how does zoom make sense?

its just continuity I'm looking for.
im a crestron programmer and I'm trying to make this easy for my clients to understand.
so i have to tell them that when in guide, press guide again to get out. and when in tivo menus, press zoom to get out.

I'm hoping that in 20.2 the new guide is treated like the tivo menus, and zoom will exit back to whatever you are watching below it as well. that way zoom will work as an "exit" button the same way in both those scenarios.

keep in mind that cable, directv, dish, etc all have an exit button. and for good reason i think.


----------



## pcw132

Skavan,

I have both a tivo and a slingbox, the delay is not so much the slingbox as it is the component/composite connection vs the HDMI port. there seems to be a delay in responce if set to hdmi. as a test i had a hdmi to component device that when connected to the slingbox was much faster but still a small delay for the video/network sync on slingbox.



skavan said:


> ok ok...so my tivo is in a different room to my home office -- where i have been developing a homeseer based version of the tivo remote control.
> To view the TIVO and ensure the system was performing over IP I fired up the slingplayer application which connects to a SlingBox that is connected by COmponent Video to the TIVO. The SlingBox streams the TIVO output to the Slingplayer in my office.
> 
> I would send a command to the TIVO while watching the SlingPlayer to see its effect. I was terribly puzzled by the apparent 3 second delay between issuing a command and seeing the TIVO react...until you factor in the latency in the streaming of the TIVO signal to the Slingplayer application.
> 
> It was happening in RT at the TIVO and taking 3 seconds to beam the signal to my PC.
> 
> OK...as I say, I was an idiot! Nonetheless, Hoemseer is now sending IP commands to the TIVO. Next up is to connect it to the HSTouch skin (attached).


----------



## getgray

lrhorer said:


> live feed from the S3 TiVo can be displayed on the PC doing the capture.


 How did you get the live feed on your PC?


----------



## ffneil

?


----------



## ffneil

Does anyone use Cinemar's Main lobby to control TIVO?


----------



## ffneil

Does anyone use HomeSeer to control TIVO?


----------



## ffneil

---


----------



## Old Tom

I guess I have the same problem as post #585. 

I installed Python 2.7 under WinXP SP3 and downloaded remote.pyw (no un-zipping needed, since you seem to have change how you posted the files) but nothing happens. Running Process Explorer, I occasionally see pythonw.exe start but immediately shut down but even that doesn't happen most of the time. 

What am I missing?


----------



## wmcbrine

First of all, no, I haven't changed the packaging, and you should still be grabbing the zip file, from here: https://github.com/downloads/wmcbrine/tivoremote/tivo-remote-0.26.zip

But in this case, the only difference would be the absence of the Zeroconf module.

If you've seen the problem in #585, then you should also have seen my reply in #586: If nothing shows up, not even an error message, then run it from the command line so you can see the error there.


----------



## Old Tom

wmcbrine said:


> First of all, no, I haven't changed the packaging, and you should still be grabbing the zip file, from here: github.com/downloads/wmcbrine/tivoremote/tivo-remote-0.26.zip


SUCCESS!!! That did it! I had downloaded from github.com/wmcbrine/tivoremote which was the problem. I'd found that URL somewhere in the forum instead of the one you posted this time. The one I got first was, I guess, the source code but since the file names are the same and I'm totally new to Python I had no idea what was wrong.

Thanks!

Small grumble: I had to strip parts of the URLs in order to post this since this is only my second post.


----------



## robnturkey

Thanks for all the info on how to control Tivo. I've been following this thread for years, watching as new discoveries came to light.

I just finished my own mobile app, for the Windows Phone platform, called Tivo Command. It would have been much harder to build without the great technical info included here.

Btw, I'm also planning on speech enabling the app, using the new features available to developers on Windows Phone 8, available later this month.

If any of you have voice commands you'd like to use in the app, let me know. I'm alreading planning on commands like these:
 "Tivo, switch to AMC"
 "Tivo, change to channel 104"
 "Tivo, search on IMDB" ... "For what", TiVo asks ... "Breaking Bad"
 "Tivo, what's on HBO tonight?"
 "Tivo, when is the next episode of Dexter?"


----------



## lrhorer

"HAL, open the iPod bay doors, please..."


----------



## robnturkey

Sure thing! The speech part of that'll be easy, but I'll need the protocol docs for the pod doors. Which thread on here has that info.


----------



## DonGateley

It's absolutely illogical, insane and control freakish that I can't see your links until I've made ten posts. This should bring it up to 4.


----------



## DonGateley

Old Tom said:


> Small grumble: I had to strip parts of the URLs in order to post this since this is only my second post.


I really appreciate that you did that. I can't figure why they want us to fly blind for a while. Post links, maybe, but view them?


----------



## wmcbrine

Nearly two years on, it's time for another update to my remote. 

This version brings back the "Aspect" button, but as a control for the direct mode-changing codes (similar to the closed caption button), not a replacement for "Zoom". To make a place for this, I've dropped the SPS30S macro button.

I've upgraded the Mac version to a proper app bundle. It should work on OS X 10.6+. (I've given up on trying to build a more universal app, but the .pyw will still work even in 10.4.)

Some buttons now have an alternate, "graphical" rendering, via Unicode glyphs, selected by the "-g" command-line option. (This is on by default with the Mac app version.)

Bug: The Thumbs Down shortcut 'd' was overridden by the one for the 'D' button. Fix: The A/B/C/D shortcuts are now capital (shifted) keys.

Also, the Network Remote now has a new host -- I finally have a proper web site at:

http://wmcbrine.com/

Specifically, for the remote, at:

http://wmcbrine.com/tivo/#remote

This should be easier for people to deal with than GitHub, especially since they're discontinuing their download service. (The source code repository will still be available at GitHub; and in fact, it's the only place where you can get all the elements to build the Mac app.)

Please feel free to link to the new site.


----------



## Fofer

Awesome, thanks so much wmcbrine! I just downloaded the Mac app and it's working great for me on OS X 10.8.3. The new "graphical" rendering makes it a bit nicer to use. I appreciate it!


----------



## astrohip

In case I never said it, THANK YOU for this program. My wife religiously uses it. Before they conceived of a TiVo Mini, I created a remote TiVo TV by using an HDMI<>Ethernet adapter, run thru CAT-5 to the kitchen TV, using your program on her laptop to control her bedroom TiVo while watching the kitchen TV. She's happy, I'm happy.

Thank you! :up:


----------



## jwagner010

Is there a way to send a command through the Network Remote interface on the Tivo to start playing a particular show? I know I can send commands that emulate presses of the remote, but is there a way just to tell the tivo which show to start playing in a single command?


----------



## moyekj

jwagner010 said:


> Is there a way to send a command through the Network Remote interface on the Tivo to start playing a particular show? I know I can send commands that emulate presses of the remote, but is there a way just to tell the tivo which show to start playing in a single command?


 Not through telnet, no. But you can with series 4 units and RPC Remote such as used by iPad/Android apps & kmttg remote.


----------



## tzroberts

Has anyone played with the DirecTV TiVo? I am wondering if it accepts the same codes on port 31339 as other TiVos.
Thannks


----------



## wmcbrine

A new version of my remote control program:

The Mac app bundle is now signed (for compatibility with Gatekeeper), and sandboxed -- its only permissions are network access. This cost me $99, so please donate. 

GTK 3+ and ttk widgets for Tkinter are now supported, with fallbacks to the old APIs and options to select them. ttk often looks quite a bit nicer than the old Tk version. (ttk requires Python 2.7, AFAIK.)

Color highlights are now used for a few keys (A/B/C/D, Thumbs, Rec, Pause), where available (can be disabled by option).

The "graphical" button labels are now the default for most environments, selectable via option and, now, togglable at runtime by pressing "G" (capitalized -- lowercase "g" is still Guide).

Landscape mode can also now be toggled at runtime, by pressing "L" (capitalized -- lowercase "l" is still LiveTV). In addition, at startup, if the remote is too "tall" for the screen, it will switch to landscape mode automatically.

Restored shortcut keys for Aspect ("a") and CC ("c").

More robust Zeroconf.

http://wmcbrine.com/tivo/#remote


----------



## Fofer

Awesome, thanks so much wmcbrine! I'm traveling at the moment, but really excited to check it out when I get back home. To what address can I send a PayPal donation?


----------



## wmcbrine

Fofer said:


> To what address can I send a PayPal donation?


[email protected]

And there's a button at the bottom of this page.


----------



## ppeewang

A few bugs I noticed, wondering if it is just me or if anyone else experienced these:

1. using the latest version, for some reason arrow keys don't work anymore. Any ideas ?

2. I also noticed that I can't delete anything that I have uploaded to the Tivo. Anything recorded directly from TV deletes fine. this is on both the new and older version. This was working fine before.


----------



## wmcbrine

ppeewang said:


> A few bugs I noticed, wondering if it is just me or if anyone else experienced these:
> 
> 1. using the latest version, for some reason arrow keys don't work anymore. Any ideas ?
> 
> 2. I also noticed that I can't delete anything that I have uploaded to the Tivo. Anything recorded directly from TV deletes fine. this is on both the new and older version. This was working fine before.


http://www.tivocommunity.com/tivo-vb/showthread.php?t=515616


----------



## jgbrown54

I used this to creata an app for Windows that emulates a remote. See my post at TiVo Remote Control From PC.


----------



## wmcbrine

Of potential interest to users and developers of remote control apps: Remote Proxy.


----------



## wmcbrine

http://wmcbrine.com/tivo/#remote

The Aspect and CC buttons now pull down menus with all the options for each, instead of cycling through. The "Aspect" label has been shortened to "Aspt." to fit. The keyboard shortcuts still cycle as before.

On startup, the TiVo selector is now always displayed (unless an address is given on the command line), even when only a single TiVo is found; and the entry box is included after the list of TiVos, so you can always enter an address that's not on the list. These changes can help in some cases where the TiVos' announcements aren't making it through the network, or for connecting to things (like rproxy without Zeroconf) that aren't announcing.

Ports other than 31339 can now be specified, on the command line, in the entry window, etc. (via colon notation, e.g. "1.2.3.4:5678"), and are now recognized via Zeroconf. Although no TiVos use ports other than 31339, this feature can be useful with rproxy (q.v.). When no port is given, 31339 is the default.

For Tivos proxied via rproxy (and assuming that the proxy is announcing via Zeroconf), the entry for the original TiVo is now automatically removed from the list of TiVos available to connect to at startup (since you can't connect to it anyway).

The Mac app bundle now uses the default Python (2.7) instead of 2.6. This is necessary to get the benefits of ttk, but it drops support for OS X 10.6 in the resulting app. (You can still use the non-app version.) Let me know if this is an issue.


----------



## Fofer

Thanks for the update, wmcbrine! I'm liking the new "splash of color" on some of the buttons  :up:



wmcbrine said:


> On startup, the TiVo selector is now always displayed (unless an address is given on the command line), even when only a single TiVo is found; and the entry box is included after the list of TiVos, so you can always enter an address that's not on the list.


I am using the Mac app bundle and it's working fine. I've only got one TiVo and have never had an issue with its announcement not making it through the network. I wanted to avoid that new confirmatory click every time I launched the app, so I manually edited line #94 in the "Network Remote.pyw" file (inside Contents/Resources,) inserting my TiVo's IP address (and then also made sure my TiVo's IP address wouldn't change from that.)

Thanks again, for your work on this very useful app, and all the great assistance and explanation you provide.


----------



## wmcbrine

Fofer said:


> ... I manually edited line #94 in the "Network Remote.pyw" file (inside Contents/Resources,) inserting my TiVo's IP address


Huh... I'd have thought that would break the app signing, and OS X would therefore refuse to run it, but disturbingly, it doesn't.

Edit: It does at least say "a sealed resource is missing or invalid", but only if I inspect it. I guess it would only be blocked on first run. Ugh.


----------



## wmcbrine

http://wmcbrine.com/tivo/#remote

Just some workarounds for problems with rproxy, and a new icon for the OS X app.


----------



## dallyn

has anyone noticed problems with the telnet on a mini after the update that changed the timeout to 4 hours?

I can telnet in, but every command I try said command not recognized.

any ideas?


----------



## TerpBE

I recently got an Android phone and have been playing around with Tasker. Has anyone tried using Tasker to control their Tivo?

It seems like it SHOULD work using a tasker-enabled Telnet client, but for some reason none of the telnet clients I have tried seem to be able to "see" my Tivo. However, the Tivo app and other "Tivo remote" apps seem to work fine. Does anyone have any tips on accessing my Tivo via an android telnet client?

My initial thought for a task would be to automatically enable parental controls at a certain time (6:00 AM) so if my kids get up and turn on TV they'd be enabled even if I was up really late with them disabled. But there are endless possibilities for things to do with tasker:

- one-button enabling/disabling of parental controls

- if it's a weekday and my commute is longer than "X" minutes, tune to the local news when I wake up.

- If a twitter account announces a police chase, tune to a news channel and begin recording.

- etc, etc

Surely I can't be the first to think of using Tasker and Tivo. Has anyone been successful getting them to work together? (or even just telnetting commands from an android phone?)


----------



## Fofer

^^ I like where your head's at. Some great ideas there. Couple IFTTT.com with Tasker and TiVo and you've got yourself a winning combination right there!


----------



## wmcbrine

TerpBE said:


> It seems like it SHOULD work using a tasker-enabled Telnet client, but for some reason none of the telnet clients I have tried seem to be able to "see" my Tivo.


I know nothing about Tasker, but note that the remote service is on port 31339, not 23 (the standard telnet port). It doesn't really use the telnet protocol, either, although telnet clients generally work.


----------



## TerpBE

wmcbrine said:


> I know nothing about Tasker, but note that the remote service is on port 31339, not 23 (the standard telnet port). It doesn't really use the telnet protocol, either, although telnet clients generally work.


I was using 31339, but I'm still having problems. I've been in touch with the guy who wrote the tasker "Send/Expect" plugin, and he said he's going to try it himself. If I get it working, I'll post it here.


----------



## tzroberts

I have been using port 31339 to control my TiVo since series 3, I can't believe in Roamio Series 5, this is still not fixed in TiVo land.
The issue is, this port just stops working (no response, no control) once you enter into a "promo" menu. The most common "promo" menu are the charmin coupon or app in TiVo Central. 

If using port 31339 is the only way you are controlling your TiVo and you enter this menu, this is a big deal, especially if you are on the 3rd floor and your TiVo is in the basement viewed through a distribution system. The box either needs to be rebooted or if you still have a remote, pressing LiveTV will also allow the the port to work again.

I have tried bringing this to the attention of tech support, but they have no 
idea what I am talking about. Any else know of a work around or know who and how to request TiVo finally fix this?


----------



## telemark

tzroberts said:


> I have been using port 31339 to control my TiVo since series 3, I can't believe in Roamio Series 5, this is still not fixed in TiVo land.
> The issue is, this port just stops working (no response, no control) once you enter into a "promo" menu. The most common "promo" menu are the charmin coupon or app in TiVo Central.


What actual remote program are you using? I'm using a 31339 app, and I don't have this problem on Series 4 on 20.4.1 and can navigate Charmin and the Fall preview apps.


----------



## tzroberts

telemark said:


> What actual remote program are you using? I'm using a 31339 app, and I don't have this problem on Series 4 on 20.4.1 and can navigate Charmin and the Fall preview apps.


Thanks for the response.

I have tried my own programming and I have tried one from Crestron. Both have the same issue. Once I navigate into a level or two deep into the Charmin menu, I can no longer use port 31339. I tried to close the connection the port and then open it again, but as long as I am in the Charmin menu, I lose control. Of coarse I just tried it now and there is no "promo" Charmin menu, so I can't tell you how deep I get before loosing the port.


----------



## wmcbrine

http://wmcbrine.com/tivo/#remote

Added a "Back" button, an "Mcr." (Macros) button (including Clock and SPS30), and a "Vid." (Video mode) button to allow direct video mode setting. Keyboard shortcuts are now bound to all buttons in Tkinter (as they had already been in Gtk), eliminating the problem of clicking on a button and losing keyboard shortcuts. Plus new zeroconf, and new icon (again).


----------



## ppeewang

Thanks for the update! Thhe shortcut were a problem for me a while back.

one question, is it possible to incorporate a custom skip ? 

like skip ahead X minutes via a macro. kmttg has this type of feature
Thanks


----------



## wmcbrine

ppeewang said:


> one question, is it possible to incorporate a custom skip ?


Not with the "Crestron" protocol.



> _like skip ahead X minutes via a macro._


Well, with a macro, sure -- you can do anything with a macro.  You could make one that was just ['ADVANCE', 'ADVANCE', 'ADVANCE', 'ADVANCE']. But to me, it seems just as easy to hit the equals key four times... I can already skip faster that way than with the real remote.


----------



## wmcbrine

I'm not sure if this is generally known, but I got access to a THR-22 (DirecTV TiVo) the other day, and the port 31339 remote interface works there. I got a weird name for the TiVo in my network remote (and there seems to be no way to set the name), but otherwise it worked fine.


----------



## rgr

Great remote, love the simplicity!

Two questions:
1) I like how the "c" button toggles closed caption on/off. Can the button on the remote also do the same? Seems like extra work to click button, then select on off.

2) Is there an android app for this? I know there are others, but it'd e great to have a single interface between platforms.

Thanks!


----------



## wmcbrine

rgr said:


> 1) I like how the "c" button toggles closed caption on/off. Can the button on the remote also do the same? Seems like extra work to click button, then select on off.


That's how it worked before 0.29. The problem is, since 0.25 -- prior to that, this button was a true toggle, which sent a sequence of keys to navigate the Info menu -- I use the direct CC codes, IRCODE CC_ON and IRCODE CC_OFF. But the remote program has no way to determine what caption state the TiVo is in; so, to make this work as a toggle, I arbitrarily assumed a state at startup (off), and alternated the command sent, based on that state. Half the time, that starting assumption would be wrong, requiring an extra press to get the desired result (although the caption status syncs up after the first press). And you'd basically have to wait for a caption to appear (or not appear) to even know that you weren't in the right state yet.

That was always a kludge. Although the shortcut key still works that way (since I don't want to assign _two_ shortcut keys to caption control), the pull-down menu button now allows you to choose the new caption status directly, regardless of the current status, or the remote program's ignorance thereof. This is how it _should_ work.



> _2) Is there an android app for this? I know there are others, but it'd e great to have a single interface between platforms._


There's no Android version of my remote, no. There are a number of Android apps that use the Crestron interface, which are worth checking out -- although they're limited compared to the official TiVo app, they also lack some of its problems. I'd just do a search for "tivo" on the Play store to find them. But offhand, I know of RCX and DVR Commander, and an older one that's not on the store anymore. (Edit: As I think of it, I'm not sure DVR Commander doesn't use the iPad interface instead of Crestron. Anyway, it's an alternative to check out.)


----------



## ThAbtO

wmcbrine said:


> That's how it worked before 0.29. The problem is, since 0.25 -- prior to that, this button was a true toggle, which sent a sequence of keys to navigate the Info menu -- I use the direct CC codes, IRCODE CC_ON and IRCODE CC_OFF. But the remote program has no way to determine what caption state the TiVo is in; so, to make this work as a toggle, I arbitrarily assumed a state at startup (off), and alternated the command sent, based on that state.


You could have a toggle if you had the code for the function with simply math.
For example,

IRCODE_CC_on = 1,
IRCODE_CC_off = -1, 
CC_Toggle=-1
Press CC, 
if CC_Toggle = -1 sends "IRCODE CC_ON"
if CC_Toggle=1 sends "IRCODE CC_OFF"

then codes CC_Toggle = CC_Toggle * -1


----------



## wmcbrine

ThAbtO said:


> You could have a toggle if you had the code for the function with simply math.


You seem to have missed the point.


----------



## wmcbrine

Demo video of Network Remote:


----------



## MrGolden

Very nice!


----------



## Fofer

Well done video, thanks wmcbrine. I've been using Network Remote on my Mac for awhile now, but learned a few new things. Thanks again.  :up:


----------



## davidblackledge

wmcbrine said:


> Demo video of Network Remote:
> 
> [media]http://youtube.com/watch?v=OSAPzpQ9j6I[/media]


Pretty cool, thanks, wmcbrine... but I'm a little miffed that I don't see any of those 3 host names in my (since April) logs


----------



## wmcbrine

The real reason I did the video: They wanted it for the Mac App Store

https://itunes.apple.com/us/app/network-remote-for-tivo/id914331224?ls=1&mt=12

(since they don't have TiVos to test with). Free, for now, although I'm thinking about changing that, because it was a pain to get this thing on there. (In any case, I will continue to provide it via wmcbrine.com, as well, and it will remain open source.)

If you already have 0.31, there's no need to switch to the App Store version, unless you want automatic updates. The .pyw is the same, but the .app is much larger, due to App Store rules -- I had to bundle the Python interpreter, as well as provide a Retina-ready icon.


----------



## Fofer

Awesome! :up:


----------



## Fofer

So I downloaded the new version of "Network Remote for TiVo" from the Mac App Store. Even though I had renamed my previous version "TiVo Remote," the Mac App Store knew I had a previous version of this great app installed, and asked me if I wanted to download this new purchase to replace it. I clicked to confirm. And then it downloaded it, and replaced my old version with the new one. It even retained my name change, it was still on my system as "TiVo Remote." I found that interesting.

I then replaced the included icon with the one I like to use instead, the familiar TiVo guy icon. I'm sure there are copyright concerns why you can't use that for your app, but I like it on my system as it's easier to recognize in the OS X Dock.

That said, I now have the same issue I had before, where when I launch it, it asks (every time) to confirm my sole TiVo's IP address. I tried the below (as it worked before) but now, with the Mac App Store version, I can't edit the Network Remote.pyw file. I'm guessing that's because these files from the Mac App Store are more protected (ie: permission locked or something) so customers can't change them.



Fofer said:


> I've only got one TiVo and have never had an issue with its announcement not making it through the network. I wanted to avoid that new confirmatory click every time I launched the app, so I manually edited line #94 in the "Network Remote.pyw" file (inside Contents/Resources,) inserting my TiVo's IP address (and then also made sure my TiVo's IP address wouldn't change from that.)


Is there any way to add some setting or preference, that lets the user select an IP address and remember that setting across launches? (Perhaps if there's an IP change and it can't find that TiVo it would prompt the user again?) Or maybe just a simple options screen where this value can be set.

Because more often than not I just want to launch this app quickly, to pause/unpause the TiVo. This extra step slows that down and feels clunkier than it was before. If not, then I'll probably end up having to revert back to the DIY version on wmcbrine.com.

Thanks again for all your great work on this, wmcbrine.


----------



## davidblackledge

wmcbrine said:


> The real reason I did the video: They wanted it for the Mac App Store
> 
> https://itunes.apple.com/us/app/network-remote-for-tivo/id914331224?ls=1&mt=12
> 
> (since they don't have TiVos to test with). Free, for now, although I'm thinking about changing that, because it was a pain to get this thing on there.


That's great!
I wonder, if you make it a paid app, would you be the first person to actually make money on a 3rd party TiVo app (tablet or HME)?


----------



## wmcbrine

davidblackledge said:


> I wonder, if you make it a paid app, would you be the first person to actually make money on a 3rd party TiVo app (tablet or HME)?


I wouldn't even be the first person to make money on a TiVo remote in the Mac App Store.  That'd be the author of "Vomote".


----------



## ScottJ97

TELEPORT SEARCH works. Haven't seen that posted yet.


----------



## MikeA

I am using network control with my Tivo's (Premiere, Roamio, Roamio Plus) very successfully. I recently added some Tivo Mini's and it seems the telnet protocol is not complete on the Mini.
I can successfully perform all the IRCODE commands, but the SETCH command returns a CH_FAILED_INVALID_CHANNEL error. 
Anyone have any insight into this? Was it intentional?
Any help would be appreciated, since I rely on the SETCH command quite a bit, and want to use it on the Mini's.
Thanks
Mike


----------



## telemark

What does the CH_STATUS response format look like on the Mini?

On a non-Mini it looks like:
CH_STATUS 0002 0001 LOCAL


----------



## MikeA

This is what I get when I login to the Tivo Mini

Last login: Mon Nov 3 18:31:54 on ttys000
mikes-air:~ MikeAymar$ TELNET 192.168.0.159 31339
Trying 192.168.0.159...
Connected to tivo-a9200019059a983.
Escape character is '^]'.
CH_STATUS 0706 LOCAL

This is what I get when I try to do a SETCH command

SETCH 706
CH_FAILED INVALID_CHANNEL

Same result with FORCECH

FORCECH 706EOUT
CH_FAILED INVALID_CHANNEL

The IRCODE commands all work fine.
Seems like either a bug or a conscious design decision for some reason.

Any other ideas out there?
Thx
Mike


----------



## telemark

I'm not a Mini owner so I can't examine what's going on.

I'll point out though as a work around, you can use a network proxy. Whenever the proxy receives a SETCH, it would then rewrite it as an IRCODE sequence.


----------



## barrygordon

The only command from the IR remote I can not get to work over TCP/IP is ZOOM. The TiVO IP protocol document does not show this command. It is useful in that if while watching a recording and you pause the recording to check something in now showing or the guide, the zoom button on the IR remote puts the Main screen back to what was in the PIP window so you can continue. Has anyone found a way to do this simply over TCP/IP?


----------



## ScottJ97

barrygordon said:


> the only command from the ir remote i can not get to work over tcp/ip is zoom. The tivo ip protocol document does not show this command. It is useful in that if while watching a recording and you pause the recording to check something in now showing or the guide, the zoom button on the ir remote puts the main screen back to what was in the pip window so you can continue. Has anyone found a way to do this simply over tcp/ip?


ircode window

That should be all caps but this retarded editor converts it to lowercase.


----------



## barrygordon

Thanks. About 10 minutes ago I discovered that the Exit command works to do what I wanted. I will add WINDOW (Upper case) to my system to see what it does. Is There anywhere an accurate up to date list of all the commands that can be issued over the TCP interface? I am working from a Tivo IP Protocol document dated 2010


----------



## ThAbtO

Keyboard num 3
forcech 
setch 20 1
teleport nowplaying
teleport livetv
teleport guide
teleport tivo
ircode up
ircode down
ircode left
ircode right
ircode select
ircode tivo
ircode livetv
ircode thumbsup
ircode thumbsdown
ircode tivo
ircode channelup
ircode channeldown
ircode record
ircode display
ircode num0
ircode num1
ircode num2
ircode num3
ircode num4
ircode num5
ircode num6
ircode num7
ircode num8
ircode num9
ircode enter
ircode clear
ircode play
ircode pause
ircode slow
ircode forward
ircode reverse
ircode standby
ircode nowshowing
ircode replay
ircode advance
ircode delimiter
ircode guide
ircode info
ircode window
ircode directv
ircode stop
ircode cc_on
ircode cc_off
ircode aspect_correction_full
ircode aspect_correction_panel
ircode aspect_correction_zoom
ircode aspect_correction_wide_zoom
ircode a
ircode b
ircode c
ircode d
ircode e
ircode f
ircode g
ircode h
ircode i
ircode j
ircode k
ircode l
ircode m
ircode n
ircode o
ircode p
ircode q
ircode r
ircode s
ircode t
ircode u
ircode v
ircode w
ircode x
ircode y
ircode z

ircode minus
ircode equals
ircode lbracket
ircode rbracket
ircode backslash
ircode semicolon
ircode quote
ircode comma
ircode period
ircode slash
ircode backquote
ircode space
ircode caps
ircode lshift
ircode rshift
ircode lcontrol
ircode rcontrol
ircode lmeta
ircode rmeta
ircode kbdup
ircode kbddown
ircode kbdleft
ircode kbdright
ircode pageup
ircode pagedown
ircode home
ircode insert
ircode backspace
ircode delete
ircode kbdenter
ircode escape


----------



## barrygordon

Looks like the above list is missing IRCODE EXIT

Thanks again guys


----------



## tzroberts

Also missing IRCODE BACK
which does menu back


----------



## cenright

Anyone find a way to either force quickplay on/off or toggle it with a direct ir code? 

I am currently sending IRCODE PLAY IRCODE SELECT, but it will fail if any menu stuff is showing.


----------



## ThAbtO

Use CLEAR on a remote or IRCODE CLEAR to clear any onscreen "Stuff" beforehand.


----------



## cenright

Thanks ThAbtO

Toggling quickplay seems to be working great with this:

IRCODE CLEAR\r\nIRCODE PLAY\r\nIRCODE SELECT\r\n

Is there a certain delay required between successive commands?

I am finally adding all the features I used to have with a media center setup... Need a short skip for between downs for teams with hurry up offenses.

I was simulating a 16 second skip by sending a single string of:

IRCODE ADVANCE\r\nIRCODE REPLAY\r\nIRCODE REPLAY\r\n

I was testing on olympics between serves on beach volleyball and it seemed to work sometimes but other times it did not seem to honor the ADVANCE. Anyone else doing similar?


----------



## PumiceT

Is there a list of the keyboard commands for Network Remote? So far, I can tell that 30-sec skip is =, Instant Replay is -, play/pause is [space]. FF and REW seem to be ] and [, respectively.


----------



## wmcbrine

PumiceT said:


> Is there a list of the keyboard commands for Network Remote? So far, I can tell that 30-sec skip is =, Instant Replay is -, play/pause is [space]. FF and REW seem to be ] and [, respectively.


Yeah, it's in the README. Also under Help in the Mac version. Also displayable via a command-line option, "--keys".


----------



## ThAbtO

wmcbrine said:


> Yeah, it's in the README. Also under Help in the Mac version. Also displayable via a command-line option, "--keys".


They don't read those and then later complain that there is no manual.


----------



## PumiceT

wmcbrine said:


> Yeah, it's in the README. Also under Help in the Mac version. Also displayable via a command-line option, "--keys".


Thanks! Sorry for not noticing a README.


----------



## bdraw

Is there a way to query the power/standby state of a TiVo via TCP?

I noticed the protocol returns CH_STATUS when it is on live TV, but haven't been able to find any other way to tell if it is on when watching a recording.


----------



## davidblackledge

wmcbrine said:


> Now in addition to the symbols listed above, I'm finding all kinds of interesting new IRCODEs. I'm not sure when these were introduced, but they're available at least as far back as 11.0b:
> 
> ...
> 
> There are a bunch more that are less interesting to me, like "VIDEO_MODE_FIXED_480i" (etc.), and "TUNER_SWITCH", but I haven't tested them yet.


Zombie, yes, but I was working on something for my wife and getting into this subject finally.

1) how were you "finding" these new IRCODES? Maybe I missed some querying technique somewhere in the 35 pages of this thread?
2) This is the only mention of "TUNER_SWITCH" regarding this feature in the history of the Earth. If it's the tuner-swapping equivalent of SETCH, it might be very useful to what I was working on. Can you say any more about that? Is it an IRCODE, a command, what?


----------



## wmcbrine

davidblackledge said:


> 1) how were you "finding" these new IRCODES? Maybe I missed some querying technique somewhere in the 35 pages of this thread?


I scanned a copy of tivoapp for strings. Shh. 



> _2) This is the only mention of "TUNER_SWITCH" regarding this feature in the history of the Earth. If it's the tuner-swapping equivalent of SETCH, it might be very useful to what I was working on. Can you say any more about that? Is it an IRCODE, a command, what?_


I haven't tried it. But, almost everything is an IRCODE, except for KEYBOARD.


----------



## davidblackledge

wmcbrine said:


> I haven't tried it. But, almost everything is an IRCODE, except for KEYBOARD.


Interesting...yes, it is valid for IRCODE or KEYBOARD... evidenced in that bad arguments return "INVALID_KEY" but TUNER_SWITCH does not.

However it doesn't do anything at all on my 2-tuner premiere or my 6-tuner Roamio Plus.

FYI, the one useful thing I have for my intended project:
If you're watching "livetv:" stream in HME, "SETCH" (and I presume FORCECH) works to effect what livetv: is streaming.

All the other commands seem to be the same as just using the remote - it either takes you out of HME (teleport type keys) or is sent for HME to handle it.


----------



## richie_p

echo SETCH 108 | telnet 192.168.0.10 31339

change channel on command line.

Just integrated all controls into Home assistant and my amazon Echo can also control all of it as well using emulated hue. 

"Alexa, turn e4 on"


----------



## ThAbtO

richie_p said:


> "Alexa, turn e4 on"


Alexa, Order me a Pizza.


----------



## windracer

richie_p said:


> Just integrated all controls into Home assistant and my amazon Echo can also control all of it as well using emulated hue.


Interesting. I'll have to look into Home Assistant. The one (only one?) complex setup portion of my TiVo skill for the Echo is setting up the self-signed certificate and getting the Alexa server to "talk" to the alexa-app-server on your home network via HTTPS. I wonder if something like this could make that setup simpler ... (or might at least give me some ideas).


----------



## Mike Richardson

removed


----------



## windracer

Mike Richardson said:


> You can get free certificates from here: Let's Encrypt - Free SSL/TLS Certificates (that might reduce complexity vs. a self-signed one)
> 
> Your server would need to be publicly accessible though, but it looks like that's a requirement anyway for Alexa.


Yeah, that's what I'm doing myself but other people trying out my Alexa skill don't necessarily have their own domain and thus need to try self-signed certificates uploaded to the Alexa Developer site.

I've been playing around with Home Assistant today and have it pretty much working at home. It's neat as a centralized monitor and there are a lot of components to explore. I haven't gotten to the Alexa/Hue portion yet. All that being said, I don't think setting up HASS is any less complicated than the other hoops you have to jump through to get the TiVo Control skill working in the first place ... but I _was _able to get the Lambda HTTPS proxy function working (that I found reading about HASS), so that's another possible alternative.


----------



## Rick Bruno

richie_p said:


> echo SETCH 108 | telnet 192.168.0.10 31339
> 
> change channel on command line.
> 
> Just integrated all controls into Home assistant and my amazon Echo can also control all of it as well using emulated hue.
> 
> "Alexa, turn e4 on"


I'm trying to do this with Google Home, and IFTTT can you be of assistance?


----------



## Nick Stefanisko

I just got started on my THR22 Alexa skill. I need to look at this "Home Assistant" you guys are talking about. I don't really want to use the automation type, because then you have to create a Lambda function on AWS which is not free. Using a custom skill I have to say "Alexa, tell tivo living room put on BBC America" I have two tivos that are controllable through the one Alexa skill. It would be nice if there were some way to tell which Alexa device is making the request, then I could set living room or bedroom as the default for the device to eliminate extra words. 

The next step is to make it search. Has anyone tried something like "TELEPORT TIVOCENTRAL, IRCODE UP UP UP UP UP RIGHT RIGHT, KEYBOARD blahblahblah" to get to the search? I'm just trying to avoid failure if people know it won't work or is really slow etc. Once I get it done, I'll share the code. Though it does require an outwardly facing web server running PHP.


----------



## Fofer

Nick Stefanisko said:


> I don't really want to use the automation type, because then you have to create a Lambda function on AWS which is not free.


I just looked this up:



> First 1 million requests per month are free
> $0.20 per 1 million requests thereafter ($0.0000002 per request)


AWS Lambda | Pricing

Would that not be sufficient?


----------



## windracer

Nick Stefanisko said:


> The next step is to make it search. Has anyone tried something like "TELEPORT TIVOCENTRAL, IRCODE UP UP UP UP UP RIGHT RIGHT, KEYBOARD blahblahblah" to get to the search?


I have this working in my skill ... I can say "Alexa, tell TiVo to search for <phrase>" and it will go to the Search screen and type in the phrase. I'm using the AMAZON.Movie and AMAZON.TVSeries slot types, but most other phrases seem to work.


----------



## Nick Stefanisko

Humm... I may have to rethink Lambda. I'm never going to reach a million requests a month, and it is the only way to get the HA interface. OK back to the workbench.


----------



## Nick Stefanisko

windracer said:


> I have this working in my skill ... I can say "Alexa, tell TiVo to search for <phrase>" and it will go to the Search screen and type in the phrase. I'm using the AMAZON.Movie and AMAZON.TVSeries slot types, but most other phrases seem to work.


I've added that sort of interaction to my interface too. Similar wording too. But I'm just using the TVSeries type, how to I define a double typed slot? I noticed that just using TVSeries, it doesn't do well with "four weddings and a funeral". I end up getting a 4 rather than "four" Do the types know if the number should be written out vs numeric form?


----------



## windracer

Nick Stefanisko said:


> I've added that sort of interaction to my interface too. Similar wording too. But I'm just using the TVSeries type, how to I define a double typed slot? I noticed that just using TVSeries, it doesn't do well with "four weddings and a funeral". I end up getting a 4 rather than "four" Do the types know if the number should be written out vs numeric form?


The slot types should be able to match the phrase, so yeah, AMAZON.Movie should match "Four Weddings and a Funeral." If you're just using AMAZON.TVSeries, I would expect what you're describing above.

The contributor to my GitHub project who helped with the Search utterance had to make a change to alexa-utterances to allow for optional slot types, which let us do this:



Code:


app.intent('Search',
{
"slots":{"TIVOSEARCHREQMOVIE":"AMAZON.Movie","TIVOSEARCHREQTVSERIES":"AMAZON.TVSeries"},
"utterances":[ "{go to|to|open|open up|display|launch|show|} {search|find} {for +TIVOSEARCHREQMOVIE+|+TIVOSEARCHREQMOVIE+|for +TIVOSEARCHREQTVSERIES+|+TIVOSEARCHREQTVSERIES+|}" ]
}

So that lets us use the TV and Movie slot types in the same utterance, they're just optional so the skill will try to match the utterance to either slot.


----------



## Nick Stefanisko

windracer said:


> The slot types should be able to match the phrase, so yeah, AMAZON.Movie should match "Four Weddings and a Funeral." If you're just using AMAZON.TVSeries, I would expect what you're describing above.
> 
> The contributor to my GitHub project who helped with the Search utterance had to make a change to alexa-utterances to allow for optional slot types, which let us do this:
> 
> 
> 
> Code:
> 
> 
> app.intent('Search',
> {
> "slots":{"TIVOSEARCHREQMOVIE":"AMAZON.Movie","TIVOSEARCHREQTVSERIES":"AMAZON.TVSeries"},
> "utterances":[ "{go to|to|open|open up|display|launch|show|} {search|find} {for +TIVOSEARCHREQMOVIE+|+TIVOSEARCHREQMOVIE+|for +TIVOSEARCHREQTVSERIES+|+TIVOSEARCHREQTVSERIES+|}" ]
> }
> 
> So that lets us use the TV and Movie slot types in the same utterance, they're just optional so the skill will try to match the utterance to either slot.


Humm, that didn't seem to work. I'm using a custom skill rather than Lambda function, so it may not be supported. I did find a work around that though. I just created another intent, MovieSearch, that follows the exact same utterance pattern as the original TVSearch. Alexa figures it out. If I say the name of a movie, I get a MovieSearch request, and if I say the name of a TV show, I get a TVSearch request. I then just pass the value of MoveSearch or TVSearch depending on which one is set to my server side search function that IRCodes its way to the search screen and OuiJas around the cursor. I'm on a THR-22 DirecTV box, so I don't get to use KEYBOARD input.


----------



## BMoreE

Just another idea for those fiddling with alexa-tivo-app... after getting it working directly by poking a hole in my home router (and hating the security exposure) I decided on a different path. I broke the app into two components: one a Lambda function (where most of the work is) that puts the TIVO commands on an SQS queue, and one a daemon running on my home PC that listens to the queue and merely telnets the commands to the Tivo locally. Security problem solved!

Most of the work is in the sendCommand and sendNextCommand functions of alexa-tivo-app - adjusting the logic to talk to SQS on the lambda side.

And yes - SQS queue is free too for first million requests. Utilize a 20-second polling timeout (the max allowed) and you're only calling it 134K times/month. You can tell your tivo do to ~400K things in a month for free.


----------



## windracer

Interesting ... I'd like to see your changes. Is this based on a fork of my repo? Maybe it's something we can do a PR on and make it an option. Can you point me to this SQS daemon too?


----------



## BMoreE

Hey, just saw this, sorry. I'm a total open source noob so I have no idea even how to post mods or branch a repo; maybe I can just send you the source. You will likely recognize it, I literally just did a cut and paste hatchet job to get it working 

As a former C++ dev, I should be embarrassed by the state of it (and lack of error handling, etc.) but I (a) don't know node.js and (b) have zero time to learn! I'm just happy to get it working. PM me if interested.


----------



## windracer

BMoreE said:


> Hey, just saw this, sorry. I'm a total open source noob so I have no idea even how to post mods or branch a repo; maybe I can just send you the source. You will likely recognize it, I literally just did a cut and paste hatchet job to get it working


No worries ... I was totally new to GitHub as well which is one of the reasons I started messing around with it and the Alexa skill at the same time ... learned how to fork someone else's project (he had started it and it seemed like no work had been done on it) and then added and enhanced from there. If you want to PM me the source changes I'd like to look at it just for curiosity's sake. Plus maybe it's another good option for folks who can't run a node-js server over HTTPS at home.


----------



## MikeOrlando

I understand that this is an older thread. I was wondering if anyone had any recent success in using telnet to send commands to the Bolt? I am unable to connect using the port 31339. The network remote option was turned on. I get the message connection failed. I was hoping to use this method to enter a longer wireless network password. Any feedback would be appreciated.


----------



## windracer

Not _exactly_ clear on what you're asking but the telnet interface does still work (even on the Bolt). For example, you should be able to 'telnet <your Bolt's IP address> 31339' and then issue 'IRCODE PAUSE' or 'TELEPORT TIVO'. To do a password, you'd have to send a series of KEYBOARD commands for the individual letters (you can't send a string) so it'd look like:



Code:


KEYBOARD LSHIFT
KEYBOARD P
KEYBOARD A
KEYBOARD S
KEYBOARD S
KEYBOARD W
KEYBOARD O
KEYBOARD R
KEYBOARD D

Note you have to send an LSHIFT command before a letter that needs to be upper-case. So in my example above, the word would be 'Password'.


----------



## MikeOrlando

Sorry, speech recognition is poor. I am using Win 10 and believe the syntax is a bit different. I assume that I have to first establish a connection before I can issue a command. what do you think I am missing?

telnet 192.168.1.104:31339
Connecting To 192.168.1.104:31339...Could not open connection to the host, on* port 23*: Connect failed

telnet 192.168.1.104 31339
Connecting To 192.168.1.104...Could not open connection to the host, on *port 31339*: Connect failed



windracer said:


> Not _exactly_ clear on what you're asking but the telnet interface does still work (even on the Bolt). For example, you should be able to 'telnet <your Bolt's IP address>:31339' and then issue 'IRCODE PAUSE' or 'TELEPORT TIVO'. To do a password, you'd have to send a series of KEYBOARD commands for the individual letters (you can't send a string) so it'd look like:
> 
> 
> 
> Code:
> 
> 
> KEYBOARD LSHIFT
> KEYBOARD P
> KEYBOARD A
> KEYBOARD S
> KEYBOARD S
> KEYBOARD W
> KEYBOARD O
> KEYBOARD R
> KEYBOARD D
> 
> Note you have to send an LSHIFT command before a letter that needs to be upper-case. So in my example above, the word would be 'Password'.


----------



## windracer

Your second command is the correct syntax (I've corrected my OP, that was a typo).

Are you sure you enabled network remote control? Looks like port 31339 isn't open on the TiVo (unless that's the wrong IP address).


----------



## MikeOrlando

The address I got right from the TiVo UI and network remote is indeed open. I even tried another router just with the TiVo and my laptop.


----------



## windracer

Not sure why you can't connect then, sorry. Maybe try disabling and re-enabling network remote control? Or try a reboot?


----------



## ggieseke

I would check your firewall - you may have to add an exception for port 31339.


----------



## MikeOrlando

GOT IT! I suspect this may had something to do with my range extender that I was using for a physical ethernet connection. Using up all the windows XP computer, a different wireless router and wiring everything directly I am now able to connect with the Bolt via telnet. Thanks everyone!


----------



## MikeOrlando

I got to learn a few things today. I've learned how to use a script to input into Telnet (eg. WshShell.SendKeys ("KEYBOARD A") ). I am having trouble with the command to have a capital letter. using the example above: 

KEYBOARD LSHIFT
KEYBOARD P

does not end up getting me a capital P, it seems that lshift is ignored. The way it is written it looks like two separate commands: KEYBOARD LSHIFT (enter) AND KEYBOARD P (enter). I am not sure what I'm doing wrong.

also can someone help me with what the keyboard command is for @ and ~


Thanks!


----------



## windracer

The LSHIFT is a separate command, so the way you have it (as two separate commands on two separate lines) is correct.

There is no command for the @, unfortunately. All of the supported commands are listed here (in Appendix A):

https://www.tivo.com/assets/images/.../TiVo_TCP_Network_Remote_Control_Protocol.pdf

As for tilde, you can try this:



> KEYBOARD BACKQUOTE
> Produce the ~ (tilde) character in applications that support symbols


----------



## HuskerMike

So I've been trying to use the telnet commands to control several Tivos minis at my work. Each Tivo mini is set up to show a different news channel (like a news-video-wall). 5 Different minis, 5 different channels. To this end, I have a Windows laptop that runs 5 different task-scheduler tasks. Those 5 tasks each run a batch file every half hour that opens the telnet software, and then runs a .txt file that looks like this:
192.168.1.[# of Tivo IP] 31339
SEND "IRCODE NUM2\m IRCODE Num0\m 
and this will make sure that each tivo is on the right channel (channel 20 in the example above).

Here's my problem. After one batch file runs, the telnet software remains open, preventing the next batch file from running properly. The telnet window must be closed first before it can be called again for the next Tivo. I've worked around this by scheduling another tast which runs TaskKill. That action looks like: "TASKKILL /F /IM "TST10.exe". That task runs every 2 minutes. And the Telnet tasks run 5 minutes apart so the TaskKill has time to close the previous Telnet open dialog box.
It's very inelegant.
What I'd like to do, is have a single task that opens telnet, changes the channel, waits, then closes the operation (TaskKill), then waits again for a few seconds, and does that for all 5 Tivos. I've had a lot of problems trying to get this to work.
If anyone knows alot about these things and can see how I can do this, I would really appreciate any feedback or suggestions.


----------



## windracer

There's no exit/disconnect command from the telnet interface (TiVo UI Control via Telnet - No Hacking Required!) unfortunately. In my Alexa skill, I just close the connection, which is what you're doing with taskkill.

I'm assuming you're doing this on Windows since you mentioned a batch file. Maybe using a scripting language like VB would allow you to make it simpler and easier to do logic, looping, etc.


----------



## HuskerMike

windracer said:


> I'm assuming you're doing this on Windows since you mentioned a batch file. Maybe using a scripting language like VB would allow you to make it simpler and easier to do logic, looping, etc.


You are right. Windows.
So, I guess for now, I'm doing things about as good as they can be done. I'm currently trying to teach myself Python, and that may hold the elegant solution someday. For now, I may have to be inelegant. Thank you for the reply, Windracer.


----------



## gonzotek

HuskerMike said:


> You are right. Windows.
> So, I guess for now, I'm doing things about as good as they can be done. I'm currently trying to teach myself Python, and that may hold the elegant solution someday. For now, I may have to be inelegant. Thank you for the reply, Windracer.


Here's a very simple python tivo telnet example I just cooked up:


Code:


#!/usr/bin/env python
import telnetlib
HOST = "192.168.1.107"
PORT = "31339"
tn = telnetlib.Telnet(HOST, PORT)
tn.write('IRCODE NUM2\r\n')
tn.write('IRCODE NUM0\r\n')
tn.close()

I've tested on a Raspberry Pi under the Debian-based Raspbian OS. I believe it should work as is under Windows, but I can't test from home, no longer running any Windows machines here regularly. The first line is for running under a linux shell, but should be ignored on windows; you'd run the program there by calling python.exe example.py


----------



## ThAbtO

HuskerMike said:


> So I've been trying to use the telnet commands to control several Tivos minis at my work. Each Tivo mini is set up to show a different news channel (like a news-video-wall). 5 Different minis, 5 different channels. To this end, I have a Windows laptop that runs 5 different task-scheduler tasks. Those 5 tasks each run a batch file every half hour that opens the telnet software, and then runs a .txt file that looks like this:
> 192.168.1.[# of Tivo IP] 31339
> SEND "IRCODE NUM2\m IRCODE Num0\m
> and this will make sure that each tivo is on the right channel (channel 20 in the example above).
> 
> Here's my problem. After one batch file runs, the telnet software remains open, preventing the next batch file from running properly. The telnet window must be closed first before it can be called again for the next Tivo. I've worked around this by scheduling another tast which runs TaskKill. That action looks like: "TASKKILL /F /IM "TST10.exe". That task runs every 2 minutes. And the Telnet tasks run 5 minutes apart so the TaskKill has time to close the previous Telnet open dialog box.
> It's very inelegant.
> What I'd like to do, is have a single task that opens telnet, changes the channel, waits, then closes the operation (TaskKill), then waits again for a few seconds, and does that for all 5 Tivos. I've had a lot of problems trying to get this to work.
> If anyone knows alot about these things and can see how I can do this, I would really appreciate any feedback or suggestions.


You would need to be able to send a Ctrl-], then a C (Close) if you are using the old Windows telnet program.


----------



## jmbach

HuskerMike said:


> So I've been trying to use the telnet commands to control several Tivos minis at my work. Each Tivo mini is set up to show a different news channel (like a news-video-wall). 5 Different minis, 5 different channels. To this end, I have a Windows laptop that runs 5 different task-scheduler tasks. Those 5 tasks each run a batch file every half hour that opens the telnet software, and then runs a .txt file that looks like this:
> 192.168.1.[# of Tivo IP] 31339
> SEND "IRCODE NUM2\m IRCODE Num0\m
> and this will make sure that each tivo is on the right channel (channel 20 in the example above).
> 
> Here's my problem. After one batch file runs, the telnet software remains open, preventing the next batch file from running properly. The telnet window must be closed first before it can be called again for the next Tivo. I've worked around this by scheduling another tast which runs TaskKill. That action looks like: "TASKKILL /F /IM "TST10.exe". That task runs every 2 minutes. And the Telnet tasks run 5 minutes apart so the TaskKill has time to close the previous Telnet open dialog box.
> It's very inelegant.
> What I'd like to do, is have a single task that opens telnet, changes the channel, waits, then closes the operation (TaskKill), then waits again for a few seconds, and does that for all 5 Tivos. I've had a lot of problems trying to get this to work.
> If anyone knows alot about these things and can see how I can do this, I would really appreciate any feedback or suggestions.


This is mainly for windows telnet client.
Not sure what editor you are using for your text file but per ThAbtO suggestion add to your text file:


Code:


Ctrl-] (usually can add by holding the Alt key down and type on the number pad 029.  Make sure num lock is on so you get numbers.  This will not work with the number keys across the top of the keyboard)
c      (closes the connection)
q     (quits telnet)

Alternatively you can set a different escape code. You can do this by using the set command before you open up the telnet connection.


Code:


 set escape x (where x is the character you want to use.  Make sure it is unused in your script file)

so maybe a script like this:


Code:


set escape =
o 192.168.1.[# of TiVo IP] 33139
SEND "IRCODE NUM2\m IRCODE Num0\m
=
c
q


----------



## wmcbrine

gonzotek said:


> Here's a very simple python tivo telnet example I just cooked up:
> 
> 
> Code:
> 
> 
> #!/usr/bin/env python
> import telnetlib
> HOST = "192.168.1.107"
> PORT = "31339"
> tn = telnetlib.Telnet(HOST, PORT)
> tn.write('IRCODE NUM2\r\n')
> tn.write('IRCODE NUM0\r\n')
> tn.close()
> 
> ]


BTW, despite the name of this thread, the actual "telnet" protocol is overkill for talking to the TiVo remote port. I just use the socket library.


----------



## JACKASTOR

Guys, I have a Tivo bolt, I need to know if there is a way to turn the internal SDV on, My cable company only deals with their own branded Tivos, and refuse to pair this TiVo correctly, is there a way for me to activate the internal SDV control On my bolt? at any rate any help or insight will be greatly appreciated.
regards

Jack


----------



## windracer

Not sure why you posted that in this thread, but for SDV you'll need a tuning adapter. There's no such thing as "turning internal SDV on."


----------



## JACKASTOR

not true at all here is the TiVo that has internal software SDV on. Tuning adapters are no longer used for SDV shows it is all controlled by the TiVo.


----------



## windracer

Ok, doing a quick search I see you're right (partially). It seems to be embedded only in MSO and not retail TiVo boxes. 

Still, this topic doesn't belong in this thread.


----------



## JACKASTOR

windracer said:


> Ok, doing a quick search I see you're right (partially). It seems to be embedded only in MSO and not retail TiVo boxes.
> 
> Still, this topic doesn't belong in this thread.


it is not a retail only thing, dude its available on all currently produced Tivos. Period. sure does its part of controlling your TiVo by turning on features.


----------



## ThAbtO

If you are on comcast, they do not yet use Tuning adapters, but most does. It is a separate device which work in conjunction to a cable card. (cable boxes have both built within.) It is controlled by the Tivo through the USB port.

Tivos do not have built-in tuning adapters, only the support for them, hence the tuning adapter menu for setting up.

It looks like you are in Canada and US Tivos are not compatible with most services in Canada.


----------



## Fofer

Well, there is this: TiVo Crafts 'Embedded' Switched Digital Video Tech | Multichannel

But the "embedded Switched Digital Video" is relevant only to specific cable operator partners with additional support in their headend.

This feature isn't active on retail TiVos. I (now, reluctantly) have a SDV adapter on my Roamio connected to Spectrum Time Warner, for the few channels it requires.

Also what windracer said: this topic doesn't belong in this thread.


----------



## dapper

Hi everyone, I hope that someone can help me. I have a Mac and I've been trying to get the SETCH command to work in this line for use in Home Assistant;

echo SETCH 163 | telnet 192.168.0.6 31339

It just doesn't work no matter what kind of lf cr command I try. Any help greatly appreciated!


----------



## ThAbtO

If its similar to the telnet command in Windows, you might have to type "O" to open the connection.

Better way is to investigate the telnet program like:

Telnet
o 192.168.0.6 31339
SETCH 163
c
q

Be advised that the telnet feature is rather quick to timeout the input on the Tivo before it can accept commands.


----------



## dapper

Thanks for your answer but I'm trying to do it in one line of command line. It's for a script I've written and the problem seems to be the missing or confused <cr><lf> after SETCH 163. I can change channel if I send each command individually but not in one line and it's this is what I'm stuck on.


----------



## m.s

dapper said:


> Thanks for your answer but I'm trying to do it in one line of command line. It's for a script I've written and the problem seems to be the missing or confused <cr><lf> after SETCH 163. I can change channel if I send each command individually but not in one line and it's this is what I'm stuck on.


I'm not familiar with Home Assistant, but there's no form of newline between those commands. The vertical bar (|) creates a *nix pipe - the output of the one command is sent to the input of the next. Are you trying to use a Home Assistant shell command? Note that page says "shell_command runs in a more secure environment which doesn't allow any shell helpers like ... using pipe symbols to run multiple commands."

If for some reason you need to do it as a single command, you could try just calling bash and providing the command to it, that might get around HA's restriction. You may have to provide the full path for each command:


> /bin/bash -c "/bin/echo SETCH 163 | /usr/bin/telnet tivo 31339"


If that doesn't work, you could try creating a shell script, and then call that from HA using its shell_command. :


> /usr/local/bin/tivocmd SETCH 163





> #!/bin/bash
> #
> # This is the /usr/local/bin/tivocmd shell script
> # Necessary permissions for calling from Home Assistant are left as a user exercise
> #
> /bin/echo $1 $2 | /usr/bin/telnet tivo 31339


----------



## dapper

Thanks I'll try it as a bash command. It a pity that I can't send a newline command and I've looked everywhere for some guidance but it's probably the translation from Mac to *nix. Many thanks


----------



## wmcbrine

dapper said:


> Hi everyone, I hope that someone can help me. I have a Mac and I've been trying to get the SETCH command to work in this line for use in Home Assistant;
> 
> echo SETCH 163 | telnet 192.168.0.6 31339
> 
> It just doesn't work no matter what kind of lf cr command I try. Any help greatly appreciated!


Despite the title of this thread, the port 31339 remote control doesn't really use the telnet protocol. Have you tried netcat?

The correct line ending, as far as TiVo is concerned, is \r (aka CR, aka 13, 0Dh). No \n (LF, 10, 0Ah).


----------



## cenright

wmcbrine said:


> I scanned a copy of tivoapp for strings. Shh.
> 
> I haven't tried it. But, almost everything is an IRCODE, except for KEYBOARD.


Anyone notice a few new buttons on the new Voice Remote...
Specifically, a dedicated "Skip" and "Netflix" button. Are these new ir codes / if so do they work on tivo without hydra interface?


----------



## m.s

wmcbrine said:


> Despite the title of this thread, the port 31339 remote control doesn't really use the telnet protocol. Have you tried netcat.


It doesn't negotiate telnet terminal options, but telnet (the program) is still the easiest way to communicate with it. You can also use telnet (the program) to talk to http, pop3, imap, smtp, and other non-telnet (the protocol) services. It just opens a TCP socket for use and provides a convenient way to talk to services, especially ones which are based on ASCII commands.


----------



## davidblackledge

cenright said:


> Anyone notice a few new buttons on the new Voice Remote...
> Specifically, a dedicated "Skip" and "Netflix" button. Are these new ir codes / if so do they work on tivo without hydra interface?
> 
> View attachment 31887


I don't know, but I would be willing to bet:

Skip: just a duplicate "green D action" button but with a more prominent label.

Netflix: they've had this kind of thing before on some remotes, like the "on demand" button. I bet they're all the same thing and it just depends how your TiVo is set up. Maybe Netflix is the default "on demand" if you don't have Xfinity or whatever. I know there was a code (35 I think) sent to HME if you hit the "on demand" button just before it killed the HME app and went to the on-demand app.


----------



## cenright

davidblackledge said:


> I don't know, but I would be willing to bet:
> 
> Skip: just a duplicate "green D action" button but with a more prominent label.
> 
> Netflix: they've had this kind of thing before on some remotes, like the "on demand" button. I bet they're all the same thing and it just depends how your TiVo is set up. Maybe Netflix is the default "on demand" if you don't have Xfinity or whatever. I know there was a code (35 I think) sent to HME if you hit the "on demand" button just before it killed the HME app and went to the on-demand app.


Sounds logical. So, for netflix, I took it the next step and just sent 'NETFLIX' as an IR_CODE and it works. Unfortunatly, no such luck with HBO, HBOGO, PLEX, EPIX, YOUTUBE...


----------



## windracer

cenright said:


> Sounds logical. So, for netflix, I took it the next step and just sent 'NETFLIX' as an IR_CODE and it works. Unfortunatly, no such luck with HBO, HBOGO, PLEX, EPIX, YOUTUBE...


Nice! I'll have to use that in my Alexa skill. It'd be great if there were similar ones for the other apps because building a navigation macro to launch an app is complicated. Having a direct code that like makes it a lot easier. I wonder what the Vox code is using to launch the apps ...


----------



## windracer

Man that discrete NETFLIX IRCODE is nice. Now I _really _wish they'd add similar IRCODEs for the other apps ... it'd make it so much easier to launch the other apps in Hydra.


----------



## windracer

While experimenting with the new IFTTT interaction, I found a new IRCODE called FIND_REMOTE which will trigger the remote finder tune. I've added this to my Alexa skill ("Alexa, tell TiVo to find my remote") although you can now do this through IFTTT as well.


----------



## ThAbtO

windracer said:


> I found a new IRCODE called FIND_REMOTE which will trigger the remote finder tune.


This worked for my Roamio basic 4 tuner, even though it did not have the find remote button. Both my original RF and Slide Pro remotes played their tune.


----------



## krkaufman

ThAbtO said:


> This worked for my Roamio basic 4 tuner, even though it did not have the find remote button. Both my original RF and Slide Pro remotes played their tune.


That's great to hear.

Any chance you have a v2 Mini to test the code against? Or a v1 Mini w the RF dongle?


----------



## ThAbtO

krkaufman said:


> That's great to hear.
> 
> Any chance you have a v2 Mini to test the code against? Or a v1 Mini w the RF dongle?


Nope. All I did was send 
IRCODE FIND_REMOTE

via telnet.


----------



## Ted Rothstein

Has anyone figured out the IP command for BACK?


----------



## windracer

Ted Rothstein said:


> Has anyone figured out the IP command for BACK?


It's just IRCODE BACK. That's been known for a while ...


----------



## garyt

I had been using telnet to send IRCODE commands for the past few weeks, but my Bolt+ stopped responding to the commands a few days ago. Thinking I was doing something wrong/different I wrote a quick Java program using a Socket object to send the commands, and still no luck.

As soon as telnet connects, it disconnects again - the following response is instantaneous (from Ubuntu):

> telnet 192.168.1.20 31339
Trying 192.168.1.20...
Connected to 192.168.1.20.
Escape character is '^]'.
Connection closed by foreign host.

I've done the following as troubleshooting steps:

confirmed IP Address
confirmed network remote is enabled
rebooted tivo (multiple times)
multiple service connections
tested KMTTG's remote - still works
Tivo's iPhone app remote - still works
Attempted telnet commands from both (windows/linux) - no difference
attempted Java program from both windows/linux - no difference
EDIT: My Tivo Mini (1st generation) does work as expected, but my Bolt+ still is not responding.

Has anyone else experienced similar issues?


----------



## vwillcox

garyt said:


> I had been using telnet to send IRCODE commands for the past few weeks, but my Bolt+ stopped responding to the commands a few days ago. Thinking I was doing something wrong/different I wrote a quick Java program using a Socket object to send the commands, and still no luck.
> 
> As soon as telnet connects, it disconnects again - the following response is instantaneous (from Ubuntu):
> 
> > telnet 192.168.1.20 31339
> Trying 192.168.1.20...
> Connected to 192.168.1.20.
> Escape character is '^]'.
> Connection closed by foreign host.
> 
> I've done the following as troubleshooting steps:
> 
> confirmed IP Address
> confirmed network remote is enabled
> rebooted tivo (multiple times)
> multiple service connections
> tested KMTTG's remote - still works
> Tivo's iPhone app remote - still works
> Attempted telnet commands from both (windows/linux) - no difference
> attempted Java program from both windows/linux - no difference
> EDIT: My Tivo Mini (1st generation) does work as expected, but my Bolt+ still is not responding.
> 
> Has anyone else experienced similar issues?


I have a Virgin TiVO v6 and I am getting the same issue


----------



## vwillcox

vwillcox said:


> I have a Virgin TiVO v6 and I am getting the same issue


OK - found out why - I have a TV survey app installed that hogs the interface on a mobile (I get paid to share what I watch) disabled and working now


----------



## wmcbrine

garyt said:


> tested KMTTG's remote - still works
> Tivo's iPhone app remote - still works


These work because they use a different interface -- sometimes called the "RPC" interface. I just think of it as Remote Interface Version 2. 

The problem vwillcox seemed to be encountering is that the so-called "Telnet" interface (or, Version 1) only takes one connection at a time. I wrote the remote proxy to get around this. But, it has to be the first thing that connects, and you have to redirect clients to connect to it rather than directly to the TiVo.

I don't know if your problem is the same.


----------



## Jim Schmaltz

Hi, Im new to the forum so not sure if this the right place to ask but it seemed like the right string. 
I sell and install TiVos and Elan control systems. Elan doesnt have a actual driver. We can control them over IP using the basic commands. Works pretty well but has a few issues I cant figure out. 
What is the command for the A B C D keys? I tried all I can think of but they dont work. 
I also set up favorite channels using the SETCH command. It works great on the Romio and Bolts but cant get them to work on Minis. ( maybe since the tuner isnt in the mini?) Is there a way to make that work?

Thanks!
Jim


----------



## windracer

I'm pretty sure the Minis get their favorites from the host box they are associated to. And as you've found, the Minis don't support SETCH. When I put channel changing on the Mini into my old Alexa skill, I had to send the individual numbers of the channel as IRCODE statements (i.e., IRCODE 1, IRCODE 0, IRCODE 0, IRCODE 8 to change to channel 1008). For A B C D, use the KEYBOARD statement (i.e., KEYBOARD A).


----------



## Jim Schmaltz

Thanks for the quick response.
I was hoping there was a fix for SETCH. Is there a way to send them as one string? I tried and couldn't get it to work, I didn't want to do a macro. 

Also still cant get the A B C D to work. IS the terminator carriage return still?


----------



## mdavej

Use IRCODE ACTION_A etc. for the ABCD buttons. KEYBOARD is for actual letters like you would use in a search.

There’s no way to string numbers together. You’ll have to use a macro.

I also use IRCODE NUM1 etc. for numbers. That’s the correct syntax according to the protocol manual. If you haven’t read it, you should give it a look. Lots of useful stuff in there.


----------



## Jim Schmaltz

Thanks, that worked. I have been referring to the manual but had a issue with those for some reason. 
I also found new code like NETFIX in the forums. Is there any new codes that you know of not in the manuals?

Thanks Again,
Jim


----------



## mdavej

Yeah, there are several undocumented and deprecated ones, but no app commands besides Netflix. I’ll dig into my notes tonight. I’ve implemented pretty much every possible command.


----------



## windracer

Sorry about the KEYBOARD mistake. As mdavej said said it's ACTION_A, etc. (if I had looked closer at my code I would have seen that).



Jim Schmaltz said:


> Is there any new codes that you know of not in the manuals?


IRCODE FIND_REMOTE is the only other one I know of.


----------



## mdavej

Turns out I can't access my files for a few more days. Off the top of my head, none of the VIDEO_ or ASPECT_ commands work in Hydra, and neither does STOP. It was tough to find a ZOOM command. I think it's something like WINDOW. Another useful one is NOWSHOWING. I also use a search command, but can't remember if it's just the word SEARCH or something more cryptic. There's also a command for commercial skip, but I can't remember exactly what it is. It's equivalent to ACTION_D, so it's redundant.


----------



## MishaHill

I'm new to this, so apologies if this is a known issue, but I haven't found it anywhere: I'm finding, for the past week, that SETCH has stopped working. I get a CH_FAILED NO_LIVE response, despite the fact that my Bolt is definitely on Live TV. Sending the TELEPORT LIVETV first gets LIVETV_READY back, but SETCH still gets NO_LIVE. Has anyone else seen this, or know a fix? I'd been using a binding in OpenHAB for the past year or so, and when it quit working I started investigating, and am now doing everything myself via Node-Red, but getting exactly the same problem in both.


----------



## mdavej

I've never had much luck with SETCH, so gave up on it a long time ago. But IRCODE NUMx (where x is digit) still works fine. End channel sequence with IRCODE ENTER to tune immediately. Use IRCODE ADVANCE for dash on subchannels.


----------



## ThAbtO

MishaHill said:


> I'm new to this, so apologies if this is a known issue, but I haven't found it anywhere: I'm finding, for the past week, that SETCH has stopped working. I get a CH_FAILED NO_LIVE response, despite the fact that my Bolt is definitely on Live TV. Sending the TELEPORT LIVETV first gets LIVETV_READY back, but SETCH still gets NO_LIVE. Has anyone else seen this, or know a fix? I'd been using a binding in OpenHAB for the past year or so, and when it quit working I started investigating, and am now doing everything myself via Node-Red, but getting exactly the same problem in both.


SETCH needs to have more info, like SETCH 7 for channel 7, SETCH 9 2 for channel 9.2.


----------



## mdavej

Yeah, that's what makes SETCH complicated to program on a remote. You have to buffer the user's button presses, detect when they're done (if that's even possible), then build the command string with SETCH in front and insert space for the sub channel. Big PITA. So I do it the easy way with IRCODE. It's simple, fast and reliable. I can see using SETCH for pre-programmed favorite sequences, but that's about it.

But if it used to work for the OP, he must have had the syntax right before.


----------



## Chapin

I've read the first and last 6 pages of this thread. Lots of great info here.

Is there a current list of the functional IP commands? I have seen a few lists, but none current with Netflix for example. What else might not be listed?

Is there any power commands? I do not see power on, power off, or even power toggle?

How do you wake Hydra up? Mine goes to sleep even though it is set to not sleep.

Is there a way to poll the tivo status of on or standby?

Thanks.


----------



## ThAbtO

Chapin said:


> Is there any power commands? I do not see power on, power off, or even power toggle?


No, Tivo never powers off.


----------



## Chapin

ThAbtO said:


> No, Tivo never powers off.


How about standby on/off and toggle? I didn't see any commands for standby.

The peanut remote certainly has the green "power (standby?)" toggle button. It would be nice to have discreet standby commands. Certainly I frequently find my box dark (hdmi output and front panel) and it needs to be un-standby'd with the standby toggle button on the peanut remote.


----------



## Chapin

Chapin said:


> How about standby on/off and toggle? I didn't see any commands for standby.


I spoke too soon. I went back and now see this, apparently a discreet standby command. "ircode standby" (Or is the behavior toggle?)

I do not see an un-standby command. Is there another command that works for "un-standby" (wake?) that does not interrupt on-screen output if the box is already out of standby? "ircode clear" or "ircode escape" or other maybe?


----------



## mdavej

TiVo or Live typically wakes, whatever those are for IP.

EDIT: Looks like the following should wake:
TELEPORT TIVO
TELEPORT LIVETV

It's going to interrupt whatever you're watching if the box is already awake depending on which command you use and what you're watching. That's one of many reasons I don't use standby (other reasons are delayed start and loss of live buffers). Since it saves virtually no power, why are you even considering it?


----------



## Chapin

mdavej said:


> TiVo or Live typically wakes, whatever those are for IP.
> 
> EDIT: Looks like the following should wake:
> TELEPORT TIVO
> TELEPORT LIVETV


Thanks. Is there a way to poll it for its wakefulness state?


----------



## mdavej

Chapin said:


> Thanks. Is there a way to poll it for its wakefulness state?


Not that I know of. IMO, dealing with standby is a complete waste of time.


----------



## Chapin

mdavej said:


> Not that I know of. IMO, dealing with standby is a complete waste of time.


I agree. I just want to catch it if it goes into standby on its own. I cannot figure out how to prevent standby since I upgraded to Hydra.


----------



## mdavej

My main Hydra boxes never go to standby. You have a setting wrong somewhere. 

Minis have always gone to standby. You have no control over that. I just send LIVETV and deal with the consequences. My Minis are in standby 99.9% of the time I'd run my power up macros, so it's a non-issue.


----------



## Fofer

mdavej said:


> My main Hydra boxes never go to standby.


Lots of folks discussing this in other threads. Apparently the latest Hydra update (which activated automatic SkipMode) makes a change in this regard... Hopefully just an unintentional bug, and not a permanent change.


----------



## mdavej

Fofer said:


> Lots of folks discussing this in other threads. Apparently the latest Hydra update (which activated automatic SkipMode) makes a change in this regard... Hopefully just an unintentional bug, and not a permanent change.


Gotcha. Thanks. All my Tivo stuff has been unplugged for about 6 months now, so I missed the latest round of bugs/features.


----------



## Chapin

Does TELEPORT NETFLIX work?

Would "IRCODE LIVETV" or IRCODE TIVO" wake from sleep?


----------



## mdavej

Who knows. Give it a shot. They're in both lists in the protocol manual. But the manual says TELEPORT is "guaranteed to succeed". So that's what I use.

TELEPORT seems to be special in that it goes directly where commanded no matter what mode the Tivo is currently in. But it has a much more limited set of arguments than IRCODE. Since NETFLIX was recently added to the Tivo remote, it made logical sense to me that IRCODE was the method most likely to work.

I can't really tell you every possible undocumented combination and permutation and am not going to test anything as that would require me digging a Tivo out of my closet and hooking it back up. I highly recommend you just open a telnet session as described in the first post and hack away, then post your findings here.


----------



## wmcbrine

Chapin said:


> Would "IRCODE LIVETV" or IRCODE TIVO" wake from sleep?


Yes. But they don't quite meet your criterion of having no effect if the TiVo is already awake. (If already in Live TV, the Live TV code cycles between tuners. I'm not sure what happens on a Mini.)


----------



## Chapin

mdavej said:


> Who knows. Give it a shot. They're in both lists in the protocol manual. But the manual says TELEPORT is "guaranteed to succeed". So that's what I use.
> 
> TELEPORT seems to be special in that it goes directly where commanded no matter what mode the Tivo is currently in. But it has a much more limited set of arguments than IRCODE. Since NETFLIX was recently added to the Tivo remote, it made logical sense to me that IRCODE was the method most likely to work.
> 
> I can't really tell you every possible undocumented combination and permutation and am not going to test anything as that would require me digging a Tivo out of my closet and hooking it back up. I highly recommend you just open a telnet session as described in the first post and hack away, then post your findings here.


Fired this up and TELEPORT NETFLIX works for me. Very cool!

Thanks!


----------



## MishaHill

mdavej said:


> Yeah, that's what makes SETCH complicated to program on a remote. You have to buffer the user's button presses, detect when they're done (if that's even possible), then build the command string with SETCH in front and insert space for the sub channel. Big PITA. So I do it the easy way with IRCODE. It's simple, fast and reliable. I can see using SETCH for pre-programmed favorite sequences, but that's about it.
> 
> But if it used to work for the OP, he must have had the syntax right before.


Yes, exactly. I was using it for a small number of buttons for specific channels. Nothing changed in my code or environment, it just started giving me NO_LIVE one day. At any rate, I've switched to using IRCODE, and that's working fine.


----------



## Jim Schmaltz

Im having a problem getting CC on/off to work. Its a Mini VOX. 
Anyone find any new codes to launch apps besides netflix?


----------



## davidblackledge

Jim Schmaltz said:


> Anyone find any new codes to launch apps besides netflix?


Based on the tivo uiNavigate URI's I thought VUDU and maybe PANDORA would work, but they don't. I think I heard TVSTORE works but I don't think it worked for me when I tried it... or maybe I didn't try it.


----------



## mdavej

CC and several other commands were removed from Hydra. You’ll have to use a macro.


----------



## justjust1

Anyone know the IP command to access recorded shows in the PVR?


----------



## windracer

"TELEPORT NOWPLAYING" I believe.


----------



## justjust1

windracer said:


> "TELEPORT NOWPLAYING" I believe.


Wow! Awesome, interesting use of 'NowPlaying' Anyway works like a charm! Thanks  This allows me to see 'MyShows' on my Virgin V6 Box in the UK.


----------



## windracer

"Now Playing" is what "My Shows" used to be called. The telnet command just never changed.


----------



## justjust1

Ah I see that makes sense. They would not want to change it, because it would break control systems that already had that in place. Thanks again.


----------



## justjust1

windracer said:


> "Now Playing" is what "My Shows" used to be called. The telnet command just never changed.


You would not happen to know which command is for skip forward and skip back. I have used and the forward and rewind but was wondering if there is one for skip too?

Thanks again.


----------



## davidblackledge

justjust1 said:


> which command is for skip forward and skip back


ADVANCE and REPLAY


----------



## justjust1

davidblackledge said:


> ADVANCE and REPLAY


Cool i will give it a bash  thanks again.


----------



## barnabas1969

Yes, Please! This information will allow me to use EventGhost. There is already a plugin for EG, but it is not completely integrated.

Give me some time...


----------



## barnabas1969

barnabas1969 said:


> Yes, Please! This information will allow me to use EventGhost. There is already a plugin for EG, but it is not completely integrated.
> 
> Give me some time...


Actually, after reading the EventGhost plugin's code, I think it will work nicely as-is. If you're interested, you can download the plugin at the link below. It's written in Python, so it's easy to glean all of the Tivo commands from the code. If you have an always-on PC on your network, you can always install EventGhost (free) and install the TivoNetwork plugin and create your own macros. EG can be controlled by a variety of IR receivers and even HDMI-CEC (if you buy an HDMI-CEC device for your PC).

Here's the plugin:

TivoNetwork Plugin - EventGhost

If you want to use a PC to communicate on the HDMI-CEC bus, you can buy an adapter here:

HDMI-CEC Control - Pulse-Eight - Ultra HD Distribution and Control Products

My HTPC has an internal adapter. My motherboard has a header that allowed me to connect the CEC adapter inside the PC. Most people will probably want to use the external adapter.

The EventGhost plugins are linked below (there are two of them)...

I use this one: libCEC plugin for Pulse Eight HDMI-CEC usb adapter - EventGhost

There is also this one. I have not tested it...

HDMI-CEC to USB EG Support for Pulse Eight - Page 5 - EventGhost


----------



## barnabas1969

Just in case you don't "get" what I am saying...

If you use EG on an always-on PC, along with the Pulse-Eight CEC adapter... you can setup macros in EG so that the IR remote control that came with your TV can control the TiVo... even though TiVo has not fully implemented HDMI-CEC.

With EG plus the Pulse-Eight CEC adapter, the possibilities are endless. If you add an IR receiver such as the eHome IR receiver... you can make ANY infrared remote do anything you desire (this requires a little change to the Windows Registry, ask me how).

EG is driven by "events". You can use "events" from many sources to trigger a "macro".

For example, you can use the IR receiver in your TV to trigger a macro that will control practically anything.

Do you want your TV remote to control your Roku? See here:

Roku and Now TV network control plugin - EventGhost


----------



## kpeters59

It's possible that this subject is off-topic for this thread, but I think this could work to solve an issue I've come up against on a remote/hub combo that has become too far from the equipment.

I need to figure out how to use an IR Remote to operate three different IP Controllable devices. A Roku, a TiVo and a Yamaha Receiver.

If EventGhost can capture the IR and translate it to IP, then I can control those devices.

I'm concerned about Lag and Delay's, but it may work OK.

Does that seem like something I can make it work?

-Kyle


----------



## barnabas1969

kpeters59 said:


> It's possible that this subject is off-topic for this thread, but I think this could work to solve an issue I've come up against on a remote/hub combo that has become too far from the equipment.
> 
> I need to figure out how to use an IR Remote to operate three different IP Controllable devices. A Roku, a TiVo and a Yamaha Receiver.
> 
> If EventGhost can capture the IR and translate it to IP, then I can control those devices.
> 
> I'm concerned about Lag and Delay's, but it may work OK.
> 
> Does that seem like something I can make it work?
> 
> -Kyle


I have a Yamaha AVR. Yamaha AVR control is built-in to EventGhost.

I also have a Roku and a Tivo.

I have been using EG to control my home theater system for many years. "Lag" is not a problem, if you configure your macros correctly in EG.

Some plugins for you...

Roku:

Roku and Now TV network control plugin - EventGhost

Tivo:

TivoNetwork Plugin - EventGhost

The Yamaha AVR plugin is included in the EventGhost installer.

The only question is: what do you want to use as an IR "input" device?


----------



## barnabas1969

@kpeters59

If you buy an eHome IR receiver (made for Windows Media Center), you can make a simple change to the Windows Registry which will allow you to use it with ANY infrared remote control to cause "events" to happen in EG.

There are also lots of IR receivers that work with EG.

Basically, you need to configure a macro in EG, and you will define event(s) which will trigger that macro.

The event(s) can be many different things, including specific infrared commands, Windows events (too numerous to mention), and many, many other inputs. Your imagination is the only limit.

The "actions" in your macro(s) can be any action in any plugin (there are many plugins)... OR... you can write your own python script to do whatever you want.


----------



## barnabas1969

Most EG users like the LIRC infrared receiver/blaster. But the eHome IR receiver works well, if you make one little change in the Windows Registry. Some eHome IR devices function as a blaster in addition to being a receiver.


----------



## barnabas1969

My above references to the eHome IR receiver may confuse some people. The eHome IR receiver is the IR receiver that is certified to work with Windows Media Center. If you have an eHome IR receiver, you can download the attached file, and update your registry with this file.

This will allow you to use the eHome (aka Media Center, or RC6) infrared receiver to trigger events in EventGhost from almost any infrared remote control.

Here's the file:


----------



## barnabas1969

barnabas1969 said:


> My above references to the eHome IR receiver may confuse some people. The eHome IR receiver is the IR receiver that is certified to work with Windows Media Center. If you have an eHome IR receiver, you can download the attached file, and update your registry with this file.
> 
> This will allow you to use the eHome (aka Media Center, or RC6) infrared receiver to trigger events in EventGhost from almost any infrared remote control.
> 
> Here's the file:


Personally, I use this undocumented feature of Windows to trigger macros in EventGhost such as... sending an infrared command for a device that I do not own (number 1 for an Emerson TV) to trigger an event in EventGhost which starts a macro... and the macro switches HDMI inputs to my Roku... and starts the Netflix "channel".

Now that I have a new TiVo... I will be changing this macro so that it will start the Netflix app on the TIvo. But, I hope you get the idea.

Clarification:

I configured my touchscreen remote to have a "Netflix" button on the touch screen.

When I press that button, my programmable remote sends the infrared command for button "1" on an Emerson TV.

I do not own an Emerson TV, but the eHome (Media Center) infrared receiver converts the infrared command into a series of one's and zero's.

I created an EventGhost macro which is triggered by the "event" which contains that specific command from the infrared remote.

The macro in EG changes the HDMI input to my Roku and starts the Netflix app.


----------



## tzroberts

Pretty sure the answer is no on these, but I'd like to know for sure.
Couple questions regarding what the telnet interface is capable of on a TiVo Edge:
1) Can you send a string via the KEYBOARD command or other command like: KEYBOARD HELLO
2) Is there anyway to access the TiVo with the addition of the mic button to send in a search string
3) Does it support special characters, like @, !, etc


----------



## mdavej

Not Edge specific, but this is my experience with other Tivos:
1) I could only send 1 character at a time, not a string of characters in one command.
2) Since the mic is on the remote, all the mic command accomplishes is showing a popup prompting to pair a vox remote. Since I don't have a vox remote, I don't know if this actually activates the mic on one, but I doubt it.
3) I've only ever tried the special characters I saw on the slide pro, which did not include @ or !, only brackets, quotes and a couple of other punctuation marks.


----------



## strangedesign

MishaHill said:


> Yes, exactly. I was using it for a small number of buttons for specific channels. Nothing changed in my code or environment, it just started giving me NO_LIVE one day. At any rate, I've switched to using IRCODE, and that's working fine.


I had the same issue. I use the telnet switch in Home Assitant to change the channel in the AM. It worked fine and then all of a sudden stopped. I had been using the SETCH command and had no problem then it just stopped. So this AM I did a manual telnet into my Roamio and found out it was giving me the NO_LIVE response. So first I tried, TELEPORT LIVETV command which responded with LIVETV_READY as expected, but then an immediate SETCH command errored out with a NO_LIVE response. I even tried FORCECH (with and without the TELEPORT LIVETV command) and that didn't work either. I finally tried IRCODE CH# CH# CH# ENTER and that worked fine. Guess I will just live with that for now but something definitely changed in the Roamio recently.


----------



## wmcbrine

Version 0.32 of my remote app is out, finally. The impetus was, macOS 11.1 broke Tkinter for all older versions of Python. Only Python 3.9.1 from python.org works now. So, I had to rewrite the app (and moreso, zeroconf.py) to work with Python 3. This is now done (it remains compatible with 2.7 and even 2.6, in case you need that).

Unfortunately, I haven't been able to get the new version into the App Store yet, and they're shutting down review for the next few days. I was hesitating to tag it as 0.32 until I could get that sorted out, but screw it.


----------



## TKnight206

mdavej said:


> TiVo or Live typically wakes, whatever those are for IP.
> 
> EDIT: Looks like the following should wake:
> TELEPORT TIVO
> TELEPORT LIVETV
> 
> It's going to interrupt whatever you're watching if the box is already awake depending on which command you use and what you're watching. That's one of many reasons I don't use standby (other reasons are delayed start and loss of live buffers). Since it saves virtually no power, why are you even considering it?


(TE3, Encore)

While I'm not the one you replied to, personally, I'll use standby to prevent EAS from interrupting my recordings. Downside is the rare standby bug. There have been times where it hasn't recorded in standby.

I programmed my platinum Comcast remote so I can aim it at my TiVo to put it into standby.

I've been trying to figure out if I can tell when there is a V58 error (This channel is not authorized). I did figure out how to tell when there is a V52 error (Searching for a signal on this channel).

If anyone is wondering, V52 acts different. You wait a number of seconds, press SELECT, and you get a "Lost Signal" page on the screen. When this lost signal page is up, you'd send ENTER to *try* go to the last channel. It won't change the channel.
Basically, you'd send CLEAR, SELECT, CLEAR, ENTER or something like that, but delayed a bit so SELECT can be sent. Or some predefined channel number instead of ENTER. Basically, you can't switch channels while that "Lost Signal" page is up. You need to send ZOOM. In other words, V52 equals no channel change being seen in TELNET/whatever. I don't know if I've explained this well.


----------



## wmcbrine

wmcbrine said:


> Version 0.32 of my remote app is out, finally. The impetus was, macOS 11.1 broke Tkinter for all older versions of Python.


Apple has fixed the problem in macOS 11.2. Which is good, because I still can't get the updated version into the App Store.


----------



## Larsenv

This is a dead thread but I just found out that you can teleport to TiVo credits with telnet using "TELEPORT CREDITS".

This is also accessible by typing in "SHAGWELL" in the show search bar and pressing Thumbs Up.


----------



## windracer

I thought the SHAGWELL scroller was removed a long long time ago. Is it still in the latest releases?


----------



## Larsenv

windracer said:


> I thought the SHAGWELL scroller was removed a long long time ago. Is it still in the latest releases?


Yes! At least on TE3:






I also heard it's on TE4.

It's also on the Series 2 and 3:


----------



## windracer

The 11.0 scroller is my personal favorite. ;-)


----------



## Bighouse

Can someone tell me if this thread is something I should investigate? I want to be able to wake my Mini after it's gone into the screen saver mode, but I want to do so with Alexa. Any possibility that I could somehow get Alexa to telenet into it do to so???


----------



## windracer

My old TiVo skill for Alexa (see signature) used the telnet interface like that ... but I doubt it works anymore.


----------



## MelSmith

I made a minor update to wmcbrine's Network Remote to work with Python 3.10, and you can find the updated file attached.


----------



## wmcbrine

MelSmith said:


> I made a minor update to wmcbrine's Network Remote to work with Python 3.10, and you can find the updated file attached.


I just now saw this for the first time. Please explain more.


----------



## FaFaFooey

MelSmith said:


> I made a minor update to wmcbrine's Network Remote to work with Python 3.10, and you can find the updated file attached.


Whatever you modded finally made it work on my system. Thanks.


----------



## Patrick2050

Hello wmcbrine,

I am trying to get the Network Remote working on my new laptop, after my 2009 laptop finally failed.

Windows 11, with Python 3.11.1. Python installed using the standard Windows installation file from python org.
Network Remote version 0.32

When I try to load the Network Remote, a window flashes for a fraction of a second, not enough to inspect it.

After searching online, I found this suggestion to debug:

python -m pdb Network Remote.pyw

While the debugging provides more information, the relevant part seems to be

_tkinter.TclError: bitmap "remote.ico" not defined.

The debugging points to line 823, in init_window
window.iconbitmap('remote.ico')

Any ideas on how to get back up and running on my new system?


----------

