TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Main TiVo Forums > TiVo Suggestion Avenue
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 05-16-2014, 05:12 PM   #1
TonyBlunt
Registered User
 
Join Date: Jan 2014
Posts: 27
Multiple Network Remotes

I control my system with a "universal remote" iPad running iRule software. It works very well. I would like to give my wife a similar remote, but Tivo only allows one network remote connected to the Tivo.

Is there any chance this will be changed in the future?

If not, could a Mac software guru create a Mac-based program that would receive the commands from two iRule remotes, stack them and retransmit them to the Tivo?
TonyBlunt is offline   Reply With Quote
Old 05-16-2014, 05:31 PM   #2
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
That's a reasonable request, but I'd be surprised if they overhaul this API since they don't use it themselves much.

On using an intermediary, do you get to set the IP and Port# of the Tivo, or does it force you to use auto-discovery?

The easiest way to do this is to rewrite the driver on the remote. Is that opensource / viewable anywhere?

Last edited by telemark : 05-16-2014 at 07:05 PM.
telemark is offline   Reply With Quote
Old 05-16-2014, 11:56 PM   #3
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Some of the remote programs (note: not mine) will open a connection, send a command, and then close the connection again. One of these would allow pseudo-simultaneous use with another instance.

I like how the spec PDF talks as though multiple clients can be connected at once.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 05-17-2014, 08:44 AM   #4
TonyBlunt
Registered User
 
Join Date: Jan 2014
Posts: 27
Quote:
Originally Posted by telemark View Post
On using an intermediary, do you get to set the IP and Port# of the Tivo, or does it force you to use auto-discovery?

The easiest way to do this is to rewrite the driver on the remote. Is that opensource / viewable anywhere?
In iRule you set the IP address and port. The iRule software is not opensource.

I would suspect opening and closing the connection after every command would introduce a lag.
TonyBlunt is offline   Reply With Quote
Old 05-17-2014, 05:32 PM   #5
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
Quote:
Originally Posted by wmcbrine View Post
I like how the spec PDF talks as though multiple clients can be connected at once.
ha, I'd like it more if they followed their specs.

I'm actually kinda concerned the relevant software engineers are long gone and they're too afraid to touch their old code base.

Quote:
Originally Posted by TonyBlunt
I would suspect opening and closing the connection after every command would introduce a lag.
Maybe, but maybe it won't be enough to notice. I can say every IP remote I've tried is faster than any of my IR remotes.

It's not impossible to write, but intricate. It's like this homework assignment, for CS juniors/seniors.
(They get a week. I assume a pro could do it in a day)

Could you run this test on your mac, to see if the iRule remote requires bidirectional communications to work. Because this test uses a pipe, the responses from the Tivo won't be sent back to the remote.
nc -l 31339 | nc TIVO_IP 31339
(Point the remote to the mac, and the command line to the Tivo's IP)

Maybe you know the answer already, does the app display channel status?
__________________
Premiere 2 tuner & SiliconDust
on Comcast-CableCard + OTA

Last edited by telemark : 05-19-2014 at 12:58 AM.
telemark is offline   Reply With Quote
Old 05-18-2014, 09:01 AM   #6
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Remote Proxy

It has amused me to write this program for you. Actually, this is going to come in handy for me, too... I should've done it long ago, if only I'd thought of it.

This is a barebones version... unzip it, open a Terminal window, and type "python rproxy.py your.tivo.ip". Then point your remote apps at the computer's IP. If you're not comfortable with that, I'll probably post a GUIfied version later, with autodetection, etc. Anyway, it works as-is.
Attached Files
File Type: zip rproxy.zip (798 Bytes, 19 views)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 05-19-2014, 01:46 AM   #7
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
Wow, impressive. I was only contemplating a one-way version.

It does look fun, simple problem statement, non-obvious complexity, but compact implementation.

In Python, it does come out more elegant (because of light threads). Good choice there.

Very cool.
telemark is offline   Reply With Quote
Old 05-20-2014, 11:39 AM   #8
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Remote Proxy 0.2

Updated version -- still no autoconfig or GUI, but I wanted to post this cleaned-up and documented version first.

- Verbose mode, logs to the console
- Host/port options
- Queue.Queue instead of a list (thanks telemark)
Attached Files
File Type: zip rproxy-0.2.zip (3.9 KB, 11 views)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 05-20-2014, 12:20 PM   #9
Fofer
༺♥༻
 
Fofer's Avatar
 
Join Date: Oct 2000
Location: Neither here nor there
Posts: 69,225
TC CLUB MEMBER
Nice! This is great work, wmcbrine!

TonyBlunt, whaddaya think?
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
- a list of some favorite browser add-ons that help make TCF even more enjoyable!
Fofer is offline   Reply With Quote
Old 05-21-2014, 08:22 AM   #10
JohnS-MI
Registered User
 
Join Date: Jan 2014
Location: SE MI
Posts: 130
Must be an iPad thing. I have two Android tablets, both with a Tivo remote app present. Both work fine. I have not tried using both simultaneously, sending competing commands. Both had to be loaded with the Tivo's MAK.

I only have one Tivo so I can't test, but it looks like the Android app could switch between multiple Tivos, too.
JohnS-MI is online now   Reply With Quote
Old 05-21-2014, 11:06 AM   #11
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
No, it's not an iPad thing. It's not about having remote apps installed on two different systems, it's about having them actually open and connected to the same TiVo at once.

Also, the problem described here applies to the older, port 31339 "Crestron" protocol, as used by most third-party remote control apps. It may or may not apply to the newer system used by TiVo's own Android and iOS apps (and by KMTTG); I haven't tested that.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 05-22-2014, 03:39 PM   #12
Bigg
Registered User
 
Join Date: Oct 2003
Location: Hartford- New Haven CT
Posts: 3,470
TiVo has no incentive to add this "feature", since it's designed for Crestron or Control 4, where the control system would manage various controllers, and then relay one set of commands via IP to the TiVo.
__________________
My Place: Premiere XL4 Lifetime 3/26/13 XFinity
3 TiVo Mini's on MoCA
Formerly Win MCE 3TB Ceton4 XFinity
Parents: XFinity Motorola AnyRoom DVR
80 HR Series 2 Lifetime 4/11/04 DEAD as of 11/2010
Bigg is offline   Reply With Quote
Old 05-26-2014, 01:40 PM   #13
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Remote Proxy 0.3

This version adds announcements via Zeroconf, for remote apps that scan the network for available TiVos. It also shows the address and port in verbose mode, and is slightly reorganized.

The name used for the announcements is "Proxy(tivoname)", where "tivoname" in turn is derived from a Zeroconf scan. (If that fails, the IP address is used.) This format is recognized by my Network Remote v0.29 or later, and used to remove the original TiVo from its connection list (since it's "busy"). Older versions of Network Remote lack this feature, and are limited to port 31339 (like real TiVos, but unlike rproxy), but are otherwise compatible, and will recognize rproxy's announcements and connect to it.
Attached Files
File Type: zip rproxy-0.3.zip (16.6 KB, 3 views)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 06-10-2014, 05:34 AM   #14
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Remote Proxy 0.4

Now with its own proper home:

http://wmcbrine.com/tivo/#rproxy

This version adds autodetection and selection of TiVos, as a command-line option -- use -i for interactive mode. It also fixes some crashes with Network Remote 0.29.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 06-16-2014, 06:27 PM   #15
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
Quote:
Originally Posted by wmcbrine View Post
Now with its own proper home:

http://wmcbrine.com/tivo/#rproxy

This version adds autodetection and selection of TiVos, as a command-line option -- use -i for interactive mode. It also fixes some crashes with Network Remote 0.29.
I'm trying to start this from scripts.

Can we make autodetection mode, non-interactive. (I only use one tivo so it's always #1).

Something like this might make it universal:
-f "Living Room"
__________________
Premiere 2 tuner & SiliconDust
on Comcast-CableCard + OTA
telemark is offline   Reply With Quote
Old 06-16-2014, 10:05 PM   #16
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
You probably ought to give the TiVo a static IP in that situation. But, sure, I could do that...
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 06-17-2014, 12:45 PM   #17
TonyBlunt
Registered User
 
Join Date: Jan 2014
Posts: 27
I just checked back into this thread - WOW

That is exactly what I want, now I have an iPad, an iPhone, and an Android tablet that can all control the system - together.

Just one more thing (there always is) - would be nice if this could be started at system reboot.....

...and for less techy types, like myself, where do you put the .py files to avoid having to include the directory path in the command? ie my command at present is:-
python ~/Desktop/rproxy-0.4/rproxy.py -i

Many thanks

Last edited by TonyBlunt : 06-17-2014 at 01:31 PM.
TonyBlunt is offline   Reply With Quote
Old 06-17-2014, 01:22 PM   #18
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Remote Proxy 0.5

http://wmcbrine.com/tivo/#rproxy

Version 0.5 allows you to specify the TiVo by name (i.e. the display name, like you'd see in the "My Shows" list or via -l) or TiVo Service Number, as well as by IP. (Similar to telemark's suggestion, but no option flag is needed.) Also, there's a new option "-f", to simply scan and connect to the first TiVo found. Also, specifying the port to connect to on the command line hadn't actually been working.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 06-17-2014, 05:41 PM   #19
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
Quote:
..and for less techy types, like myself, where do you put the .py files to avoid having to include the directory path in the command?
For the options, Run:
echo $PATH

/usr/local/bin/
is a pretty standard choice.

You might also want to set the permissions, with:
chmod +x /usr/local/bin/*.py

then you don't have type python, just:
rproxy.py
__________________
Premiere 2 tuner & SiliconDust
on Comcast-CableCard + OTA

Last edited by telemark : 06-17-2014 at 06:38 PM.
telemark is offline   Reply With Quote
Old 06-18-2014, 08:22 AM   #20
TonyBlunt
Registered User
 
Join Date: Jan 2014
Posts: 27
Quote:
Originally Posted by TonyBlunt View Post
I just checked back into this thread - WOW

Just one more thing (there always is) - would be nice if this could be started at system reboot.....
A simple app, Lingon, simplifies this for the non-techy. All issues resolved.

Thanks again.
TonyBlunt is offline   Reply With Quote
Old 06-20-2014, 06:02 PM   #21
eelton
Registered User
 
Join Date: Jun 2001
Location: Chicago, IL
Posts: 87
Thanks, wmcbrine. This is fantastic. The app works great for me, allowing me to control the TiVo from two different tablets running iRule.
eelton is offline   Reply With Quote
Old 07-08-2014, 05:52 PM   #22
TonyBlunt
Registered User
 
Join Date: Jan 2014
Posts: 27
One issue, whenever the Tivo is restarted I have to reboot the Mac as well for the remotes to take effect, is there an easier way to maintain connection?
TonyBlunt is offline   Reply With Quote
Old 07-09-2014, 01:00 PM   #23
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
I'll chime in some talking points...

It's possible to put a retry that would attempt to connect after a Tivo restart, assuming its IP didn't change.

A couple examples makes it debatable if this is the best way to handle it.

What if the Tivo wasn't restarted but was switched off? Shouldn't the proxy exit instead of hanging around? Then how to tell the difference?

Even if the Tivo's coming back, is it fair to the connected clients to accept commands that won't be sent out.

Haven't fully thought it through, but I'm guessing it would be cleaner to exit whenever a Tivo goes missing. Then either external or internal controls should restart it (if desired) to a state of waiting around for a good broadcast.

And disclaimer: my opinion doesn't matter, while wmcbrine's does.
telemark is offline   Reply With Quote
Old 07-12-2014, 07:34 AM   #24
telemark
Registered User
 
Join Date: Nov 2013
Posts: 615
exit patch

This is the smallest patch I could find against 0.5, that will cause rproxy to exit when it gets a network error back from the Tivo.

If you set Lingon to "Always", rproxy should exit when the Tivo is back up, and Lingon will restart it.

Turning off the Tivo for an extended time might eventually cause undesirable behavior on the Mac, as described earlier but really depends on how Lingon is written.
Code:
# diff ~/rproxy0.5/rproxy.py /usr/local/bin/rproxy.py 
282,283c282,283
<     thread.start_new_thread(status_update, (tivo, listeners, target, verbose))
<     serve(queue, listeners, host_port)
---
>     thread.start_new_thread(serve, (queue, listeners, host_port))
>     status_update(tivo, listeners, target, verbose)
Edited: a second patch that reintroduced KeyboardInterrupt detection

Last edited by telemark : 07-14-2014 at 07:27 AM.
telemark is offline   Reply With Quote
Old 07-14-2014, 11:47 PM   #25
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,039
Remote Proxy 0.6

Quote:
Originally Posted by TonyBlunt View Post
One issue, whenever the Tivo is restarted I have to reboot the Mac as well for the remotes to take effect, is there an easier way to maintain connection?
Quote:
Originally Posted by telemark View Post
Haven't fully thought it through, but I'm guessing it would be cleaner to exit whenever a Tivo goes missing.
These both make sense to me, so, that's what I've done now.

http://wmcbrine.com/tivo/#rproxy

Reconnecting is the default, similar to how it works in Network Remote. This doesn't (yet) work if the TiVo changes IP. To instead get telemark's behavior -- exit on disconnect -- specify "-x" when starting.

This version also reports more info in verbose mode, and -- unless you specify the server port to use -- it will automatically try the next nine ports if 31339 is already bound. This makes it a little easier to proxy multiple TiVos from the same machine.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 07-22-2014, 10:12 AM   #26
tyd450
Registered User
 
Join Date: Jul 2014
Posts: 21
test post
tyd450 is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


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

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

Advertisements

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

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