FakeTV has undergone a major shift to a new script called Pseudo Channel with exciting new features. If you’re already familiar with FakeTV, you can skip this next part, and if you want to get right to the setup instructions, scroll on down to the section titled “How to setup up your own FakeTV.”

What is FakeTV?

FakeTV grew out of a desire to recreate the broadcast television experience using a Plex Server and a few Raspberry Pis. As somebody who likes to have TV on in the background, navigating menus to change programs after every episode is cumbersome, and binge watching isn’t always desired. This is something that was sort of possible in XBMC/Kodi with a plugin called Pseudo TV. Last year, I came across a (now discontinued) python script that was capable of doing what I needed, among a number of other tasks (more on this can be found in the previous blogs here and here). After the script was discontinued, I published the previous installation and setup blog, pointing to a fork of the old code in case anybody else was looking for the same type of viewing experience.

What’s new with FakeTV

The setup blog ended up being the inspiration for this post by Reddit user justin_is_at_work. I connected with the him and we started collaborating to make his script, Pseudo Channel, the best simulated TV experience it could be (by collaborating, I mean that I suggested features, tested the script, and submitted bug reports, and he did all the hard work writing code to make it work).

What has developed is a script with the express purpose of simulating the broadcast TV experience. Like the old script, Pseudo Channel builds a database from Plex library data, and keeps track of the episode position for each show. The schedule is built in an xml file which the script scans into the database. At a predetermined time each day, the schedule for the next 24 hours is generated in the database. Once the scheduled media is added, commercials are injected into the gaps. When the script is running, it will play near-continuously, moving from show to commercials to show or movie.

New Start and Stop Feature

This brings us to a new feature that is a big step forward for FakeTV. Upon execution, the Pseudo Channel script, scans the database for the current schedule. When it launches the scheduled media, it checks the time and advances the file to match how far past start time it is. For example, if you have the Golden Girls scheduled to start at 6pm, but you start the script at 6:10pm, the script will start the episode at 10 minutes in. This allows the freedom to turn the script — and the media being played — on and off at will. This has eliminated the need to run the Plex hardware all the time, extending its overall life.

Multiple Channels

An unexpected development that arose from the start/stop feature is the new ability to run multiple channels. Some creative adaptation allows a number of shell scripts and duplicate copies of the Pseudo Channel directory to operate as multiple channels, each with its own schedule and keeping its own show position (so episodes of Seinfeld played on channel 3 don’t effect the episodes of Seinfeld on channel 5). Tied to a remote control, Alexa or some other form of home automation, and Pseudo Channel has gone from a simulated broadcast TV channel to a simulated cable box.

Remote Control

Not a part of the script itself, but something I’ve added to my own setup. This remote acts as both a USB keyboard on the Raspberry Pi and a universal remote for the TV. Using Openbox, I have configured keypresses on the remote to trigger shell scripts for commands to change “channels” and turn the script on and off. I also set up a button that sends a command to RasPlex over ssh to take screenshots into a network folder I have mapped on my desktop.