TiVo Gadget for Vista
For awhile, I've wanted to try my hands at writing a gadget for the Windows Sidebar in Vista, but I could never come up with a project idea that was small enough to accomplish and useful enough to justify. Since we recently added two TiVo HD units to our home network, I thought it'd be handy to expose their Now Playing lists. I knew the data was available over our home network, because the TiVo Desktop software displays a lot of it. Turns out, the TiVo Developer Resources section of their site contains just enough to get going.
Without going into too many details, recent versions of the TiVo software on certain units (TiVo HD and TiVo Series3 HD, I think) contain a small web server that can be issued requests. These requests are passed via the query string and return their results as XML. For example, our downstairs TiVo unit has an IP address of 192.168.1.104 (you can find the IP address of your TiVo by navigating to Messages & Settings, then Settings, then Phone & Network). If I open my web browser and navigate to https://192.168.1.104/TiVoConnect?Command=QueryContainer, I'll receive an XML response that includes information like the title of the unit and a URL to obtain the current Now Playing list.
If you try this same request with your own TiVo (using the correct IP address, of course), you will first run into a security certificate warning. If you decide to continue, you'll then be asked for credentials. The user name is always tivo, and the password is your media access key. Your media access key can be found in the right column by logging in to your TiVo account online or by navigating to Messages & Settings, then Account & System Information, then Media Access Key on your TiVo. For a more "friendly" Now Playing list, you can also navigate to https://192.168.1.104/nowplaying/index.html using a similar procedure.
When I started writing the TiVo gadget, I could not successfully complete an XMLHttpRequest for the XML data because of the certificate warning (which I couldn't see, since this was all happening behind the scenes of the gadget). I soon figured out that the actual certificate is issued to the service number of the TiVo unit, but since the requests are being made to an IP address instead, the mismatch causes the warning. It's kind of like saying that I trust Mike Swanson, but I don't trust Swanson, Mike (same person, but represented differently). Ideally, then, I would want to issue my request to the service number of the TiVo so that the certificate would match.
On most networks, you can reach a machine by its IP address and its name; that's because the machine shares its name on the network. Unfortunately, the TiVo doesn't share its name (the service number) on the network like other devices. To resolve this issue requires a few steps, and if you decide to download and try the TiVo Now Playing gadget, you'll need to perform them:
In Vista, click the Windows Start menu, then navigate to All Programs, Accessories, then right-click on Command Prompt and choose Run as administrator. From the command prompt, type:
notepad %SystemRoot%\system32\drivers\etc\hosts
You need to add a new line at the bottom of the HOSTS file that associates your TiVo IP address with its service number (you can find the service number on your TiVo by navigating to Messages & Settings, then Account & System Information, then System Information). For example:
192.168.1.104 123-0000-4567-7f7f
Choose File/Save in Notepad. Then, File/Exit. Then close the command prompt window.
Open IE7, pull down the Tools menu and choose Internet Options. Click on the Security tab, then Trusted sites. Click the Sites button, and where it says Add this website to the zone, type https://123-0000-4567-7f7f, but use your service number instead. Click Add, then Close, then OK.
Still in IE7, navigate to https://123-0000-4567-7f7f/TiVoConnect?Command=QueryContainer (but with your service number). When you receive the certificate warning, select Continue to this website (not recommended) . Provide your user name and password as described in the post above and select OK. Right-click anywhere on the page (which should now contain some XML data), then choose Properties. Click the Certificates button, then Install Certificate... When the Certificate Import Wizard appears, click Next, then choose Place all certificates in the following store. Click the Browse... button, and choose Trusted Root Certification Authorities. Click OK, then choose Next. Click Finish, then Yes to confirm the certificate. You should receive a message stating that the import was successful. Click OK three times to close the dialog boxes.
Whew! Sorry that you had to go through all of that, but I'm not aware of any other method (short of possibly installing a custom ActiveX control) to get around this certificate issue. TiVo could solve the issue by broadcasting its service name on the network. Perhaps they'll do that in a future version of their software.
Assuming you've made it this far, you can download the TiVo Now Playing v1.0.1 gadget (182KB) and install it on your Windows Sidebar. Click the little "wrench" icon to configure the gadget. Enter your service number in TiVo address(es) , and your Media access key. If you have more than one TiVo on your home network, you can enter multiple service numbers separated by semicolons. Note that all TiVos in a single household share the same media access key, so you only need to enter one of those.
This post is already rather long, so I'll quickly summarize the current gadget features:
- Configure Folders if you want shows from the same series to be grouped together (like Kitchen Nightmares in the screenshot).
- When the gadget notices a new recording, it will ding (if you have sound enabled).
- If you configure more than one TiVo, click the friendly name of the unit (like Downstairs in the screenshot) to switch to the next unit.
- Click the name of the show to see its description. The details flyout will contain more data in a future version...just didn't have time to add it for the first release.
- Your settings will survive a gadget removal/add thanks to Todd Northrop's handy Settings Manager for Windows Vista Sidebar Gadgets.
- When the gadget refreshes its data, it will close any groups that are open. While not technically a bug, it is annoying, and I hope to improve this later.
I'm sure there's more I could say, and I'll probably say it in a future post. Please enjoy the gadget, and pass along any comments, suggestions, or questions via e-mail or by leaving feedback.
Update: If you downloaded version 1.0 of the gadget and you're not seeing any of your programs listed, please try version 1.0.1. Hopefully, this will fix the issue.
Comments
Anonymous
December 02, 2007
Great gadget - got it installed and followed your instructions however, I only get the name of the TiVo and zero behind it - it does not access any of the Now Playing List. Will have to try the steps again I guess to see if I can get it to read.Anonymous
December 02, 2007
The comment has been removedAnonymous
December 02, 2007
This interface exists on all Series2, Series2DT, Series3, and TiVo HD units. It has been there since TiVoToGo was first introduced a couple of years ago. It should be consistent across all of the units, as there are a number of official and third party tools that connect to this interface.Anonymous
December 02, 2007
The comment has been removedAnonymous
December 02, 2007
Hmmm...thanks for the additional insight, szczesnyb. If you login to your TiVo account online, can you verify that "Allow Transfers" is enabled for your TiVo unit? I'm wondering if this is what is causing the issue.Anonymous
December 02, 2007
My account has the Transfers Allowed selected at Tivo.com What can I do to help the troubleshooting. Me and szczesnyb can be come beta testers!Anonymous
December 02, 2007
I'm having the same problem as szczesnyb - 0 items listed. "Allow Transfers" is enabled. After installing your gadget and having the problem, I installed TiVo's "DeskTop TiVo" and it worked first try. A minor point, I'm using 120dpi large type and when setting options the page is too short, you can only see to top pixels of the "Sounds" checkbox. I had to switch to 96dpi to see it.Anonymous
December 02, 2007
The comment has been removedAnonymous
December 02, 2007
As far as the configuration is concerned, everything is enabled and I can transfer recordings to and from my computer. I took a (very) quick glance at your code (I hope you don't mind) and I can't find anything wrong. I checked the XML you're getting and when I request it manually from my Tivo it looks OK to me.Anonymous
December 02, 2007
Same problem here - Getting the DVR name but no recordings. I'm using a Series 2 and I checked to make sure Allow Transfers was enabled. I was able to hit a few different URL though the REST interface and even managed to download a recording. I had no idea TiVo had made it this easy to work with!Anonymous
December 02, 2007
Thanks for the quick feedback, everyone. If I'm basing success on the comments alone, it sounds like nobody has been able to get this to work. I'm going to try an installation on another clean maching to see what's up.Anonymous
December 02, 2007
Well, that's frustrating. I just went through all of the steps on a fresh new Vista machine in the house, and everything worked just fine. Has anyone been able to get their Now Playing list to show?Anonymous
December 02, 2007
It wonder it has something to do with the way you parse and display the returned XML file. When I switch to the options page and press OK it takes about 12 sec to switch back to display. It takes 4-5 sec to download and display in IE7 the NowPlaying XML file and about the same time to download and display in IE7 the Now Showing Index text file. Both look OK. I could zip up and eMail you the 3 files returned in IE7 if that would help but I would need your eMail address.Anonymous
December 02, 2007
HarryVT...thanks for the offer. If you send me an e-mail via the e-mail link in the upper-right, I'll respond. Then, you can attach the files. The parsing time is a little longer than I'd like too, but I don't suspect that's causing this issue.Anonymous
December 03, 2007
The comment has been removedAnonymous
December 03, 2007
HarryVT sent me the XML his TiVo is responding with, and I almost immediately saw what I think is causing the error. I'll update the gadget code sometime tonight and re-post. It should be a very small update to the gadget...no change to the process I outlined (thank goodness).Anonymous
December 03, 2007
Got it to work with my series 3 and Vista Ultimate (though I think for a bit of clarity it would be worth mentioning that the Service number is located under the System Information menu, took me a bit to figure that out) Also it would be awesome if we could select for download from this gadget as well. Great Job!!Anonymous
December 03, 2007
Okay...I think I fixed the issue. I've created version 1.0.1 of the gadget and updated the post to point to the new version. For those of you who have already gone through steps 1-3 above, you should simply be able to install the new version of the gadget, enter your settings, and go. I'd love to hear if this fixes the issue for anyone who tried 1.0.Anonymous
December 03, 2007
Oops...thanks for the tip, Brad. I had intended to include the path to the service number on the TiVo, but I must have forgotten. I've updated step 1 in the post accordingly.Anonymous
December 03, 2007
The comment has been removedAnonymous
December 03, 2007
It works! I get all my recordings and folders! If you feel like adding new features :), you might consider adding link to download the file directly from the description (just like it is possible from html generated by Tivo itself). Not that it is necessary - you did a fantastic job!Anonymous
December 03, 2007
I tried it the old way and it didn't work. Now I just re-installed the new version and it works great.Anonymous
December 03, 2007
Has anyone else gotten this to work under Vista 64?Anonymous
December 04, 2007
Running version 1.0.1 Under Vista 64 - no problems to report! My only request would be the same as szczesnyb - a download link on the description. Other than that this is the first truly useful gadget I've used!Anonymous
December 04, 2007
Great idea...I installed under Windows Vista and I have 1 TiVo HD and all I get is (unknown)(0). I can see the XML document showing the link for now playing in my browser so I know I can reach the TiVo...just can't seem to get it to work on my machine.Anonymous
December 05, 2007
Just had to clean up after a hard drive crash and reinstalled the gadget and it works like a champ. Not sure if it works due to a clena install or the fix - but just glad it works - very cool stuff!Anonymous
December 05, 2007
I like the gadget, I want the gadget, I have installed the 1.01 version. Vista will not allow me to change the security settings for the certificate. I have Vista 64-bit Home Media Edition, and yes, I am the administrator. When I get to the Certificates screen showing the Tivo certificate, the ONLY buttons that are not disabled are the OK button and the button to close the window. I've disabled my firewall, added both User and Computer Certificate control to the MMC, and still nada. Any suggestions?Anonymous
December 05, 2007
Kelly...did you add https://[service number] to your trusted sites list in IE? I'm not sure this is the reason, but I know that I couldn't install the certificate until the URL was in my trusted sites list.Anonymous
December 06, 2007
Yes, I made it through that step. It was actually the easiest one. But Vista will not allow me to even think about adding the certificate. If I use the certificate add-ons in MMC, when it comes to asking for the certificate file, it rejects the query as being a bad file format.Anonymous
December 07, 2007
Totally awesome gadget Mike. Thanks much. Gave me a reason to start using the Sidebar again! One question, is there any way for me to make the gadget longer (re-size the gadget and pull it down to display more listings without using the scrollbar), or are all gadget sizes fixed?Anonymous
December 08, 2007
Quote "Great idea...I installed under Windows Vista and I have 1 TiVo HD and all I get is (unknown)(0). I can see the XML document showing the link for now playing in my browser so I know I can reach the TiVo...just can't seem to get it to work on my machine." I've having the same problem. I went to the 1.0.1 version and still can't seem to get the sidebar gadget to connect. However, I can access myTIVO through IE7, Host File has been set and works. Certificate installed and no issues connecting to the tivobox though IE7. Could their be some firewall or other setting? TIVOHD with latest firmware.Anonymous
December 08, 2007
Patrick...if you don't mind, drop me an e-mail (link in upper-right), and I'll reply. Then, if you could send me the XML from the Now Playing link, that would be helpful. The XML doesn't come across very well in the feedback section. Thanks.Anonymous
December 09, 2007
Good work Mike. Thanks for sharing this with us. Keep em coming.Anonymous
December 10, 2007
Mike Swanson recently blogged about a cool new gadget he wrote for the Windows Vista Sidebar, theAnonymous
December 10, 2007
I love this Gadget, its probably the most useful beyond the weatherAnonymous
December 11, 2007
Pretty sweet. Almost as good as my XM Radio gadget. What I'd like, though, is to be able to affect the list of recorded programs by deleting or changing the keep time, etc. I'm still not sure why TiVo doesn't have a webserver on this thing for easy management... Great job though!Anonymous
December 14, 2007
same problem as described by person above: I have vista64 ultimate, I am the admin, even tried running as admin. I did the first step in ie7 by adding it to trusted sites. I can also get to the certificate on the xml page, but nowhere can I add a certificate. Please advice I like the gadget, I want the gadget, I have installed the 1.01 version. Vista will not allow me to change the security settings for the certificate. I have Vista 64-bit Home Media Edition, and yes, I am the administrator. When I get to the Certificates screen showing the Tivo certificate, the ONLY buttons that are not disabled are the OK button and the button to close the window. I've disabled my firewall, added both User and Computer Certificate control to the MMC, and still nada. Any suggestions?Anonymous
December 14, 2007
Mike Swanson recently blogged about a cool new gadget he wrote for the Windows Vista Sidebar, theAnonymous
December 16, 2007
Nice job... perfectlittle Gagget... Do you think you can add a hyper link so we can download the show in the popup window.Anonymous
December 21, 2007
I'm having the same problem as Patrick, except my TiVo isn't HD. Installation of everything following your steps worked great. Just stuck with unknown (0). Please let me know if there's a solution. Thanks!Anonymous
December 21, 2007
The comment has been removedAnonymous
December 21, 2007
@szczesnyb, Michael, & Andy: I will add a download link to the description window...hopefully within the next few days. For those of you with 64-bit problems, I'm not sure what to suggest, and I can't test that configuration, since I run the 32-bit version of Windows Vista.Anonymous
December 22, 2007
I made a very minor update to my TiVo Now Playing gadget that allows you to download recorded shows toAnonymous
December 22, 2007
Just added a video download feature to the gadget. Read more here: http://blogs.msdn.com/mswanson/archive/2007/12/22/tivo-gadget-v1-0-2-enables-video-download.aspxAnonymous
December 22, 2007
I made a very minor update to my TiVo Now Playing gadget that allows you to download recorded shows toAnonymous
December 24, 2007
The comment has been removedAnonymous
December 26, 2007
I have been having issues getting the Tivo Gadget to work for me ;-( I have followed the instructions closely and also trouble shooted the issue with all previous comments here to no avail. My gadget only displays "(unkown) (0)" for my series 2 tivo. I think the issue has to do with the certificate because when accessing the test url I continue to receive certificate errors. I say this because I had to run IE 7 as administrator in order to even install the certificate. In fact the "install certificate" buttons are greyed out when I load the url as my user account. Check List:
- added [tivo ip address] and [tivo service number] to hosts file
- added https://[tivo service number] to "Trusted Sites"
- browsed to https://[tivo service number]/TiVoConnect?Command=QueryContainer (test url) and received xml data.
- right clicked on blank space on this page and install certificate to the "Trusted Root Certification Authorities"
- installed the gadget and click the configuration wrench...
- added [tivo service number] (only the number without anything else)
- added my media access key If anyone else has had experience with this issue your help would be greatly appreciated.
Anonymous
January 01, 2008
Hey Mike - I have it working with no problems on my 2 TivoHD units. Beautiful work! Thanks so much.Anonymous
January 02, 2008
I'm having the same problems as Jacko157. Getting "unknown (0)" I have installed the certificates twice, and have tried to install both ver 1.0.1 and 1.0.2. I have a Ser 2 and a HD Tivo and have also tried to use only one of the service numbers instead of both, no luck there either. I don't understand your reply to Patrick and Jen. Can't wait to get the gadget working!Anonymous
January 03, 2008
I have a TivoHD and vista and followed the instructions and got the "unknown(o)" thing also. I rechecked things and my service number with the last 4 digits/letters I wasn't sure if it was the letter or numeral zero. I changed it to the numeral o and all worked just fine.Anonymous
January 04, 2008
I can't wait to get this gadget working, but I believe I'm having the same problem as Jacko157. No matter how many times I install the certificate to Trusted Root Certification Authorities, it doesn't seem to "take." The wizard tells me that the import was succesful, but when I refresh the site it continues to give me a certificate error. If anyone has a suggestion, I'd appreciate it.Anonymous
January 07, 2008
You 'd Man! Thanks. struggled through it some but finally got it working. It might help if you put a sample Tivo Address under the config. I kept thinking you meant the IP there and of course it did not work.Anonymous
January 07, 2008
The comment has been removedAnonymous
January 13, 2008
This is great. As long as one can follow instructions it's pretty easy to install. My only recommendation would be to change the field label "Tivo addresses" in the config. Tivo has its own IP address and it took me a rereading to figure out I needed to enter the service number.Anonymous
January 22, 2008
Great little gadget! I might have over looked these 2 items, but I thought I'd mention them here: 1) Seperate multiple TiVo address with a ";" and 2) Use the TiVo Service Name. Also, if there was a choice to shrink font sizes that would be a nice little addition. I'm using this on a TiVo 80 hour Series 2 (240 series) and a 40 hour Series 2 (540 series). Both are networked with TiVo wireless adapters and your instructions were spot on here.Anonymous
February 07, 2008
Anyone figure out the problem with not getting the certificate to take? I am using Vista 64bit and even though it says import successful, it doesn't (reload brings up the certificate error). Any suggestions would be VERY helpful. Really want to use this.Anonymous
February 18, 2008
I just installed this on a new Vista Home Premium machine as per the directions without any trouble. I am able to see everything on my TIVO. Wonderful gadget! Now if you can jsut get it to transfer them for me, I can remove the rediculous TIVO desktop software... :) Thank you for sharing your success with the rest of us....Anonymous
March 03, 2008
The comment has been removedAnonymous
April 04, 2008
Greetings. Great job! Might I recommend a software mod though. The TiVo server only returns the first 128 shows. From this snippet, you can see that my TotalItems is 134 but my ItemCount is limited to 128. Here's a TiVo forum thread about it. http://archive2.tivocommunity.com/tivo-vb/showthread.php?t=235563 Thanks again! − <TiVoContainer> − <Details> <ContentType>x-tivo-container/tivo-videos</ContentType> <SourceFormat>x-tivo-container/tivo-dvr</SourceFormat> <Title>Now Playing</Title> <LastChangeDate>0x47F72376</LastChangeDate> <TotalItems>134</TotalItems> <UniqueId>/NowPlaying</UniqueId> </Details> <SortOrder>Type,CaptureDate</SortOrder> <GlobalSort>Yes</GlobalSort> <ItemStart>0</ItemStart> <ItemCount>128</ItemCount> − <Item>Anonymous
April 17, 2008
I was able to install this per your detailed instructions in Vista Ultimate 32 bit last week for a Series 2 DT, and just now for my new TivoHD. Great idea for a gadget, I'm so happy I have it!Anonymous
May 12, 2008
hello, i would like asking u ... will u helpin me please... beacuse i did add insall already but it not work ... i don't understand this satution... it hard for me ...Anonymous
June 18, 2008
Mike (and fellow Swanson, though unrelated I imagine), Your gadget works for TiVo Series 2 as well. Your detailed and easy to follow instructions made setting up this tool easy and fun, far better than I had hoped or even expected. Thanks.Anonymous
September 08, 2008
Any insight in how to do this using Firefox instead of IE?Anonymous
September 09, 2008
My Gadget has stopped working after many months of enjoyment. I restarted the TiVo HD unit. Still doesn't work. Something changed and I don't know what, but not having this is kind of a pain. :-)Anonymous
September 09, 2008
Ron...my guess is that your TiVo was assigned a new IP address when it was reset. If you follow the steps to determine its new IP address, you can simply update the HOSTS file as mentioned in the list of steps.Anonymous
September 20, 2008
For anyone using Vista who might be having the failure when browsing using the service number as suggested (there are intermittent issues with the the way the browser parses the amount of hypens): Include the 443 port number ALONG WITH the https in the URL. Worked for me after trying everything else: https://service-number:443/TiVoConnect?Command=QueryContainerAnonymous
September 23, 2008
I searched tivo gadgets on a whim and hit the jackpot with your great gadget. great job and thanksAnonymous
October 12, 2008
Trying to figure out what went wrong as I couldn't get it to work, then came across the 1/13/08 post by buckholz that pointed out my error. I too had assumed IP address(es) meant IP address, not Service Number, so once that was fixed, it started working great. Thanks for a very useful gadget!!!Anonymous
October 26, 2008
The gadget says address(es) and I've tried adding multiple gadgets using the different code for each tivo however, when I reboot all of them display whichever tivo I setup last. So how do you use it for multiple tivos?Anonymous
October 26, 2008
@Matthew...enter multiple addresses in the configuration, separated by semicolons. Then, to switch TiVo units with the gadget, just single-click the blue/purple name right underneath the TiVo character.Anonymous
November 02, 2008
Wondering if you can sort the list? Love to get the two items recording showing at the top.Anonymous
January 04, 2009
This works great! Excellent job! The following is not a critique, but more of a 'wouldn't it be nice if...': I don't know how difficult this would be, or if it's possible, but wouldn't it be great if you could use this gadget to place items in your transfer queue for the TiVo Desktop? Once again, love the gadget, just a suggestion.Anonymous
February 08, 2009
I followed your instrections, but I can't seem to get the gadget to work on my system. The problem seemt to be that, though I added the entry with my Tivo's IP address and system number to the hosts file on my system, when I try going to "https://[tivo service number]/TiVoConnect?Command=QueryContainer" in my browser, it doesn't seem to find my Tivo. I just get an "Internet Explorer cannot display the webpage" error message. Any thoughts?Anonymous
February 14, 2009
Russ... replace [tivo service number] with the IP address of your tivo (192.168.1.8, for example). And the gadget only works after you install the certificate to the correct cert store. The default is to the 'personal' store, which will not do.Anonymous
March 18, 2009
Super gadget. Installed 1.0.2 and love it. One thing that I haven't gotten to work is clicking the name and picking up my second TiVo. I can access seperately by changing the address. Any ideas?Anonymous
June 14, 2009
I couldn't get it to work, until I realized that I should be using that long service number in the configuration.. I was using the IP addressAnonymous
August 11, 2009
Help!!! I have tyred everything said here. entered my service number but still just say (unknown) 0 I can connect to my tivo through firefox and IE8 on win7.Anonymous
March 17, 2010
Confirmed working on Windows 7 64-bit - thanks for the really cool gadget!! (Installed version 1.0.2)Anonymous
April 29, 2010
I'm getting an error when I try to download. And where is the link for 1.0.2?Anonymous
April 30, 2010
@Peter: Thanks for the heads-up. My hosting provider migrated me to a new server, and one of the settings didn't move over. I've added it back, and the download should work fine now. Also, 1.0.2 can be found here: http://blogs.msdn.com/mswanson/archive/2007/12/22/tivo-gadget-v1-0-2-enables-video-download.aspxAnonymous
May 01, 2010
Thanks, but I still can't get the gadget to work. I tells me (unknown)(0). I have my Tivo service id entered in the Address field. It works fine if I go to the site manuualy, ie, http://652-0111-8076-ee3e/TiVoConnect?Command=QueryContainer. I did all the certificate stuff when I first went there. Now, I can go there with no errors. But the gadget still shows nothing.Anonymous
May 02, 2010
For the record, I was able to get the Tivo Diskspace viewer working - http://peterkellner.net/2008/01/18/tivospaceviewerwithlinq/Anonymous
May 12, 2010
Excellent gadget. If you need to get a list of tivos on your network, just listen on udp port 2190. All tivos are announced nearly every minute. the data returned is in plain text and includes the service number of the tivo. using the beacon, you can make a drop-down list of tivos and already have the service number available.Anonymous
December 13, 2010
I'm running version 1.0.2 but I'm having a small issue. I recently upgraded the hard drive on my Tivo HD to a 1TB drive and now have over 300 programs saved on it. However, the gadget seems to max out at 128. So, it's not showing all my programs anymore. Please help!Anonymous
June 13, 2011
The comment has been removed