Friday, August 21, 2009

TV Lineup Changes = Bad For SageTV

TV lineup changes are one of the downsides of a non-TiVo DVR. I have always found TiVo soooo good at updating channel lineups. I haven't been so lucky with SageTV. So rather than deal with a missed recording, I wrote a script to download the latest TV lineup from our cable provider and compare it to the previous day's lineup. If there are any differences, it will fire off an email to me with the changes. That way I know when I have to rescan the lineup for the HDHomeruns and SageTV if SageTV hasn't already done the right thing.

I'd love to publish it, but it's one of those things that I'm afraid could get blocked if too many people are using it and that would backfire on me. I do my best to disguise the user-agent and randomize the time of day the script runs to make it seem less bot-like.

In any case, it took all of 10 minutes to code up in Perl, so maybe this will inspire others to write their own should they feel the need.


  1. I've found the lineups in SageTV to be pretty good. Their source is so any problems with the guide data updates is due to that. And you can force more frequent updates if you need it.

    But you do have me pretty curious as to how your script works. What source does it use for your local guide data?

  2. It's not the guide data, it's the actual channel mappings. Our cable provider has been juggling its lineup, moving channels around as it removes analog cable channels. I use the channel lineup from our cable provider and flag the differences from the previous day's lineup. Of course, that depends on them updating their lineup on time, but it's a sanity check. You could also write a script to parse the lineup from zap2it as well, but Sage should catch that - but I've read on the forums that some people have had delays in their EPG updating eventhough zap2it was up to date.