The MyStuff TAP that runs on the Topfield 5800 PVR can import EPG data from a file, MyStuff.mei. This file has to be generated externally and copied onto the Toppy. Initially, the only way of doing this was by using MyStuff_Extended_Info, a Windows application written by Bawbagg.
This was a big step forward in obtaining reliable EPG data, but what I wanted to do was to find some way of automating the download of the EPG data and its transfer to the Toppy without having to leave my PC on all the time. In other words, I wanted some kind of Set and Forget solution that requires no manual intervention.
It is worth mentioning that a by-product of the development is that its core is a platform independent method of grabbing Radio Times EPG data and generating the MyStuff.mei file. In other words, it will run on Mac OS X, Linux, Windows - in fact any platform that can run PHP 4 or greater.
For more information about installing rt2mei on a particular platform. click on one of the links on the left-hand side of the page.
A Fully Automated Solution
Whilst reading the very excellent forum on the toppy.org.uk website, I learned of what could be done with a Linksys NSLU2. It should be noted that similar things can be done with other devices such as the Asus WL500.
The Linksys NSLU2 is a network attached storage device - which means that it is a box that has one network port and two USB2 ports. The general idea is that you connect one or two USB hard/flash drives to it; these are then accessible across your network. That in itself is pretty cool, but it gets better.
Unslung, is a replacement firmware image for the Linksys NSLU2 that is designed to allow you to make changes to the root filesystem (including the installation of downloadable packages) while still providing all the standard product functionality. Just by replacing the firmware gives you root access to the embedded Linux that runs on the NSLU2. "Unslinging" is the process of copying the root filesystem of your NSLU2 onto an external disk, and configuring that external disk for installation of packages.
So, all we have to do is re-flash the firmware and add a USB hard drive in order to have a tiny Linux box sat on our network. A bit more digging reveals that we can install all sorts of different packages, but the real eye-catchers are a) PHP and b) Puppy
PHP is a scripting language that is similar to Perl (without all its strange syntaxes) but that does everything necessary for this job straight 'out of the box'. This is what I use to read Electronic Program Guide (EPG) data from the Radio Times website and write it to a special file (MyStuff.mei) that is used by the MyStuff TAP.
Puppy interfaces between the NSLU2 and a Toppy that is connected to its second USB port. It enables files to be transferred between the two devices, and this is how I copy the MyStuff.mei file to the Toppy.
All that is now required is for the mei file to be generated and copied across to the Toppy at regular intervals. This is achieved by running the rt2mei shell script (included with the NSLU2 download) every morning at 0700hrs via a cron job.
As of MyStuff 5, once rt2mei has copied across MyStuff.mei (the new EPG data), MyStuff will detect that the data has changed the next time that it scans for it and will load in the new EPG data. No user intervention is required, it is just Set and Forget.
And Now Favourites Too
MyStuff has a facility to be able to define a subset of all the channels in a Favourites file. When activated, this file causes MyStuff to only display data for those channels and to display it in the order in which the channels are listed in the file.
It occured to me that because rt2mei allows the user to specify those channels for which data should be collected, it makes sense to create a Favourites file based on that. All that remained was to specify the order in which the channels should be displayed and this could also be specified in the rt2mei configuration file. The result is an automatically generated rt2mei.mcl file that is copied across with the MyStuff.mei file.
Of course some users will not want a Favourites file produced so the -f option has been added to suppress it.