TCS - Complete ReadMe
This site is not related to nor sponsored by TiVo Inc.
Tivo Control Station
version 1.1.3
prior versions:
1.1.2
1.1.1
1.1.0
1.0.2
1.0.1
1.0.0
several betas
0. Road Map to this document, and recent changes:
-------------------------------------------------
Version 1.1.3 fixes several minor bugs over 1.1.2.
As of TCS version 1.1.2, the majority of the modules are no longer
included in the tarball. TCS will automatically download and install
the modules from the website AFTER you have paid the shareware fee
and emailed you IP address, zipcode and the last 6 digits of your
tivo service number (available from Messages & Setup /
System Information) to tcs (NO) @ (sPam) zirakzigil.net. Just
drop the (no) and the (sPam). If you are paranoid but
have a static ip address, the zipcode and Tivo Service Number are
not required. I will generally try to setup the authorization within
24 hours, but I might be on vacation,
out of town, in the hospital, etc. A few modules are included in the
tarball for demonstration purposes. For an on screen display demo,
use 7 1 clear for interest rates. For a non OSD module, try
9 1 clear to enable backdoors. If you want to see what the other
modules look like, see the screen shots on the website at
http://www.zirakzigil.net/tivo/TCSscreenshots.html
Since the readme has become quite long, and the "fast readme" isn't
really practical as of version 1.1.0, this is an index and a "how
to use this document" section. The closest thing to the old
"fast readme" which documents the very fastest way to get up and
running is at the bottom of this section. Search for
"If you are already running a previous version of TCS:" If you are
new to TCS I STRONGLY recommend to take the time to read this
document in its entirety before starting.
How to get started:
If you are not familiar with TCS I strongly recommend that you read through
this document in its entirety before starting.
If you are already running a previous version of TCS:
You may not need to reread all the configuration information.
The steps for an install are then simply
1. Determine if you are going to run a Network Server. Read sections 4, 5 and 6.
2. Install TCS. Read section 7.
3. Do the necessary "additional installation" based on whether or not you are
running a Network Server. Read section 8, or 10.
4. Customize the preferences. Read sections 11 and 12.
5. Configure modules that require configuration. Read sections 25, 32, 33, 34, 35.
I realize that the installation process seems to get lengthier with every
release. If you have suggestions of how to make the process easier,
or any other suggestions, drop a note to tcs(no)@(sPam)zirakzigil.net. Just
drop the (no) and the (sPam).
Sections:
1. What it does.
2. What purpose does it serve
3. What it isn't
4. TCS Network Server
5. Network Server Requirements
6. Network Server Configuration
7. TCS installation
8. Additional installation steps if you are using the Network Server
9. Useful things to know when running the Network Server that aren't obvious
10. Additional installation steps if you are NOT using the Network Server
11. Customizing the configuration
12. Paths required for proper startup and shutdown
13. Certain file/directories in the TCS tree must be writable
14. Automatic module updates
15. Network Commands
16. Network Clients
17. What port do I connect to?
18. How did you choose that?
19. Remote Commands
20. Third Party Modules
21. Changing the update rates for background modules
22. Auto Scheduling
23. What modules provide which commands?
24. Should I turn off modules I don't use? How do I do that? How do I turn them back on?
25. Applications module
26. BackDoors module
27. SortNowPlaying module
28. New display using newtext2osd
29. Jpegwriter required for WeatherMaps
30. On Screen Display modules
31. Multiple Screens of Information now supported
32. Configuring the NCAA Football module
33. Configuring the NCAA Basketball module
34. Configuring the Quotes module
35. Configuring the Weather module
36. What is a Greedy Update?
37. Automatically starting TCS at boot time
38. E-mail notification (Macintosh Eudora only)
1. What it does:
----------------
TCS is a simple interface that listens for commands from the remote, and
on a socket. This is a relatively more secure method of issuing commands
to the tivo than leaving a telnet port open to the Internet. TCS commands are
not shell commands, and TCS does not generally give any response back through
the port, although a module writer can send information back, if desired.
Most commands are implemented via "modules" to make the addition of new
commands relatively easy, as well as to provide the ability to remove
commands. Adding new commands is straightforward, even to a relative novice.
It still requires at least a modest bit of programming, more if you are
writing a robust command, pulling something from the web, or returning
something through the socket.
Commands are also available through key sequences on the remote. Key
sequences can be customized through the config/keysequences file. All key
sequences consist of 3 key presses. This is currently a "hard" constraint
in the config file, however a module writer can utilize shorter or longer
sequences. Be careful not to have one key sequence as a subset of
another - it will be impossible to invoke the longer sequence. Also be
careful to pick sequences that will be benign to myworld. The sequences
currently utilized don't cause bad things to happen during livetv or
playback. It is probably best NOT use the remote to issue commands when
you are on a tivo menu, although nothing in the code will stop you.
2. What purpose does it serve:
------------------------------
Your mileage may vary.
The original purpose was to provide an interface to allow a machine on my local
network get caller-id information from the modem, and display it on the tivo
using the DISP command. Elseed and an external modem was a better solution.
It grew from there.
I do still use it to have my computer display on the tivo when I have new
e-mail on my regular email account. Additionally, the telnet daemon seems to
crash rather frequently on me, as does the ftp daemon. TCS can restart those,
and I have a simple icon on my desktop that will do it for me with a double
click (or 3 buttons on the remote). Until I had a serial connection, this was
rather critical to me, as a telnet crash meant I had to reboot. Things just
grew from there.
Finally, there was some commonality between TCS and the quotes program, which
ultimately led me to rewriting quotes as a TCS module. The weather module
caused it to make even more sense. Given limited resources on the tivo,
running a single hack is better than running 2, and certainly better than
running 3.
Perhaps looking at the command list and the screenshots at
http://www.zirakzigil.net/tivo/TCS.html is the best way to get an idea of
what all it does.
3. What it isn't
----------------
It does collect and display some information from the web. It is NOT a browser
or an attempt to make Tivo into a WebTV. It does have the ability to run
things periodically in the background. It is not cron. Someone has already
compiled cron for tivo, if you want cron, get cron.
4. TCS Network Server:
----------------------
TCS release 1.1.0 includes a network server. The purpose of the network server
is to significantly reduce the cpu load that TCS places on the tivo. This goal
is accomplished by moving all the modules that download and parse information
from the web off the tivo and onto the network server. This reduces the load
TCS places on the tivo by 90%, while maintaining not only full functionality
but actually enhancing it. If a module fails to update, an update can be
forced through the 98 clear command. However, doing this on the tivo can take
a very long time as it forces all modules to update. Since the network server
is a vastly more capable computer, the updates occur very quickly. Further,
the "change weather zip from remote" command (81 clear) becomes vastly more
useful as the weather from the new zipcode is displayed on screen in about 3-5
seconds. (Using a P4 2.2GHZ server)
The Network Server is just the same old TCS that ran on the tivos.
The code merely recognizes if its running on a tivo or not, and then functions
accordingly. This means that for simplicity, starting the TCS Network Server
is done exactly the same way you start TCS. After proper configuration, the
files are identical.
Since the Network Server performance far exceeds that of the Tivo it is
STRONGLY recommended that you utilize it, if you have an environment that will
support it. The Network Server has been sucessfully installed on Linux,
Cygwin on windows, as well as on Mac OS X.
The configuration files in the TCS distribution assume that you are going to
use a network server. The installation instructions specify the minor change
required to turn off the network server.
Lastly, there is a module called UnixComs that allows you to run one of ten
predefined shell scripts on the Network Server from the tivo remote.
5. Network Server Requirements:
-------------------------------
The Network Server is written in TCL and assumes a unix environment, just like
the tivo. If you have a linux machine on your local network, you are set. Any
unix box should do, if you install TCL. Again, the Network Server works on
both Cygwin with windows and Mac OS X.
The Network Server must also run an NFS server.
6. Network Server Configuration:
--------------------------------
First, the tivo(s) need to know the IP address of the Network Server and the
Network Server needs to know the IP address(es) of the tivo(s). This
information is contained in the config/prefs file. Specifics are contained
in the installation instructions.
Some modules can not run on the Network Server, as they execute code that must
run on the tivo. Modules that do things like sending remote keypresses, or
reading the log files therefore can not run on the Network Server.
The TCS distribution is configured where the Network Server runs all the
modules that it can, and the tivo runs only those modules it must.
7. TCS Installation:
--------------------
If you intend to run a Network Server, you should do the following on the
network server, not the tivo. If you are not going to use a Network Server,
you should do this on the Tivo.
1. READ THE LICENSE.
2. copy tcs.tar (or, tcs.tar.gz) to the /var/hack directory
3. cd /var/hack
4. Decompress the file, if it is compressed "gzip -d tcs.tar"
5. expand the files "tar -xvf ./tcs.tar" or "cpio -H tar -i < tcs.tar"
either works. tar isn't part of the standard tivo release, cpio is.
6. If you are running a Network Server, there are additional required
configuration steps. See the next section.
7. If you are not using a network server, make sure to read the
"Additional Steps if you are NOT using a network server section."
9. Customize the installation - see the "Customizing the Configuration" section
10. Start the program "/var/hack/tcs/starttcs &" (DO NOT FORGET THE
AMPERSAND!)
I install TCS in /var/hack/tcs, although it should work anywhere. Just untar
the tarball, and start it up.
starttcs writes the tcs log to /var/log/tcs by default, however starttcs will
accept "console" or "devnull" as a parameter, which will write the log to the
console, or /dev/null respectively.
The server needs to know where several programs are in the directory structure.
These locations are configurable by editing the config/prefs file.
WARNING: DO NOT INTERRUPT OR KILL tcsd on the tivo. The tivo WILL assert/panic.
Use the remote sequence or network command to terminate the program. It is
OK to kill tcsd on the Network Server.
8. Additional Installation Steps if you are using the Network Server:
---------------------------------------------------------------------
1. Modify prefs to reflect the IPAddresses of your Network Server
and tivo(s):
The Network Server:
nsip NetworkServerIP 192.168.1.202
The Tivo(s):
tivoips TivoIPAddresses 192.168.1.53 192.168.1.54 etc.
Note that multiple IP Addresses must be space delimited. The etc is
obviously not to be included.
2. On server - nfs export the tcs directory to the tivo(s). The no_root_squash
option must be specified, as everything on the tivo runs as root. To export
a directory, you need to add an entry to /etc/exports, which includes the
directory you are exporting (/home/tcs), the ip address of the tivo you are
exporting to, and the mount options.
An example with recommended options:
/home/tcs 192.168.1.53(rw,sync,no_root_squash)
You will need one line for each tivo you intend the network server to serve.
After you have added this (these) lines(s), export the directories.
FOR LINUX/GENERIC UNIX:
exportfs -a
FOR CYGWIN:
The default version of TCL (8.4) that comes with cygwin does not
work properly. You will need to download and install version 8.3
which works properly. Look here: http://www.tcl.tk/software/tcltk/8.3.html
You must install extra modules to get NFS running, including the libs
module sunrpc, and the net module nfs-server. I dropped the
version numbers as they will change with time. There is no exportfs
command in cygwin. To start the NFS server, you need to run three
daemons: /usr/sbin/portmap, /usr/sbin/rpc.nfsd, and /usr/rpc.mountd.
FOR MAC OS X:
There is no exportfs command in MAC OS X. You need to respawn the
mountd process with the following command:
sudo kill -s HUP `cat /var/run/mountd.pid`
Note that the character above is the accent grave, not a single quote.
5. Install the nfs kernel module on the tivo(s). You must use the force option.
The module can be downloaded from
http://www.chiappa.net/~chris/tivo/nfs-2.0.1.o although I don't know whether
thats the original source.
insmod -f nfs-2.0.1.o
6. Mount the nfs server folder on the tivo. In order to mount the directory on
the tivo, you need to know the full path to the tcs directory on the network
server, say /home/tcs (NStcsPath), the path of the location on the tivo
where it will be mounted, say /var/hack/tcs (TivoTcsPath), and the IP
Address of the Network Server, say 192.168.1.202 (NSIP). The directory on
the tivo (TivoTcsPath) needs to exist, but nothing should be in it. Make
sure you have created it (mkdir TivoTCSPath). Now issue the mount command
to mount the directory from the server:
mount NSIP:NStcsPath TivoTCSPath.
A real world example using the suggested paths would be:
mkdir /var/hack/tcs
mount 192.168.1.202:/home/tcs /var/hack/tcs
Paths on tivo and server are not required to be the same.
7. If you don't already have it, install tcl on the server.
8. On the server, make a link from /tvbin/tivosh to the tcl executable, say,
/usr/bin/tclsh. The path to the tcl executable will vary depending on
where you installed it.
ln -s /usr/bin/tclsh /tvbin/tivosh
9. Add the insmod/mount commands to etc/rc.d/rc.sysinit on the tivo, if you
wish. (Obviously before you try to start tcs in rc.sysinit, and those
commands should NOT be backgrounded)
10. If you are running the network server in a non Linux environment, indicate
such in the config/prefs file.
nonlinux NSNonLinux 1
11. Start it up. Although it will settle in regardless of how its done, start
it on a tivo first. The network server needs some information from the
tivo, and will try to connect to a tivo once a minute until it succeeds.
Starting on the tivo first just means that it won't have an initial wait.
9. Useful things to know when running the Network Server that aren't obvious:
-----------------------------------------------------------------------------
The most important thing is how the AutoUpdate feature works when using
a network server. If you are using the network server, you should install
the UpdateCheck module ONLY on the network server. The network server will
download and install new modules in the modulesserver directory, not the
modules directory. This means that modules that run on the tivo will
get updated correctly, but they will not be installed to startup when
TCS starts on the tivo. This isn't optimal, but generally should be OK,
as most of the modules that will update with any frequency will be the
modules that download data from the web. Those modules should be run on the
network server anyway.
The Timers page (97 clear) has a second page when using the Network Server.
The first page is the timers on the tivo, the second page is the timers on the
network server. Unless you are wicked fast paging down, the second page is
there by the time you page down. (Unless the server is wicked slow) The
Timers module MUST be installed on both the tivo and the Network Server
for this to function properly (or at all in case of it not being installed
on the tivo.)
The Reset Timers command (98 clear) resets the timers on both the network
server and the tivo (but not ALL tivos). The command is much more useful now
as the network server can handle refreshing all the pages rather quickly. So,
if an update failed, refreshing everything is much more doable than it was on
a tivo.
The network server will grab the zipcode from a tivo at startup for the weather
module. The server maintains a single zip, not one for each tivo. That
shouldn't be an issue, but if you change the zip from the remote (81 clear),
the new zip will be reflected on ALL tivos. However, the weather display will
only pop up on the tivo that requested the change. On my broadband connection,
with a P4 2.2 network server, the weather for the new zip will pop up in about
3-5 seconds, which makes surfing the weather from your chair quite doable.
There are 10 commands from the remote which will start an arbitrary script on
the network server. The scripts are script0 through script 9, and are in
tcs/unixcoms. Xeyes is installed at script1, with up 1 clear to start it.
The UnixCommands module MUST be installed on both the tivo and the
Network Server for it to function properly.
10. Additional Installation Steps if you are NOT using the Network Server:
--------------------------------------------------------------------------
Comment out the following two lines from config/prefs:
tivoips TivoIPAddresses 192.168.1.53 192.168.1.54 etc.
nsip NetworkServerIP 192.168.1.202
You probably should also review the timer settings in config/schedule, as
modules may be set to update more frequently than would be good for a tivo.
Be sure to see the "Changing update rates for background modules" section.
Although it isn't critical, you might as well delete the modules that provide
an interface to the Network Server. Delete NetworkServerInterface.tcl and
UnixCommands.tcl from tcs/modules. This will somewhat decrease the amount of
memory TCS requires to run.
11. Customizing the configuration:
----------------------------------
There are many many things you can change to customize the way TCS runs,
however, two modifications are imperative:
1) The paths where you have the "helper" hacks installed
2) The IP addresses of your nameservers
The paths are located in the config/prefs file, just edit with your favorite
editor. The address(es) of your nameserver(s) is in the config/IPAddresses
file. Change the lines that have xx.xx.xx.xx through zz.zz.zz.zz. If you have
more than 3 name servers, just addd more lines similarly formatted. If you
have less than 3 name servers delette the extra lines.
Name server addresses are generally available from your ISP, or automatically
through DHCP. In the latter case you should be able to find them in the TCP/IP
configuration section on your computer, or, alternatively through the
configuration pages of your Cable/DSL router.
There are many other optional customizations, generally features you can turn
on or off in the config/prefs file. These options are generally well
documented there.
See also the "Changing update rates for background modules" section below.
12. Paths required for proper startup/shutdown:
-----------------------------------------------
TCS forks a couple of helper processes when it starts up. When it shuts down
it kills off these processes. (It also tries to on startup, in case of a
crash) In order to kill off the processes, TCS uses bash, ps, and grep.
If the paths to these programs are incorrect in the config/prefs file,
TCS won't be able to kill them off. If TCS tries to startup with these
processes already running, it won't be able to create the tivo mempool needed
for inter-process communication, and tcs will die, perhaps crashing the tivo
with it. If you see something like this in the log file:
Loading Event Server
Creating Event mempool
Tmk Assertion Failure:
CreateSharedMemoryFile, line 211 ()
Then TCS isn't killing off these processes. You can do it manually with
kill -9, but why not just fix the paths?
13. Certain Files/Directories in the TCS tree must be writable
--------------------------------------------------------------
TCS will not work "out of the box" if it is installed in a partition that is
mounted readonly (I.E. / on the tivo) If you want to install TCS in a
Read Only directory, you will need to symbolicly link 2 files and 1 directory
to a writable partition.
tcs/config/IPAddresses
tcs/modules/apsrunning.sh
tcs/displayfiles
14. Automatic Module Updates:
-----------------------------
Since some modules gather information from various web pages, they occasionally
will break when the format of the data changes on those pages. TCS has the
ability to monitor the TCS website for updates, and automatically install them
if you would like. To enable automatic updates, set the TCSAutoUpdate flag
in the config/prefs file to 1. Only the modules can be automatically updated.
Changes to TCS itself or any of the other files must be done manually.
15. Network Commands:
---------------------
Commands are 4 characters, followed by parameters, if needed.
CFTP - Check to see if Ftp is running, start it if not. (Network Server legacy)
NICE - stop running greedy update processes
MEAN - resume running greedy update processes
DOOR - Turn on backdoors
SORT - Turn on the Now Showing "sorting" backdoor
CLCK - Toggle the little on screen clock
SSUG - Show suggestions in the To do list, and hidden recordings in Now Playing
SKIP - Toggle the 30 second skip feature
TVNZ - Tell the Network Server to change the Zip for the Weather module.
QUIT - terminate TCS
KFTP - kill the ftp daemon
KTEL - kill the telnet daemon
KVBI - kill tivovbi
KWEB - kill tivoweb. (DoesnÕt use kill, wonÕt panic the tivo)
RFTP - restart the ftp daemon
RTEL - restart the telnet daemon
RWEB - restart tivoweb. Tivoweb is invoked as "tivoweb tcsrestart" in case you
want to modify the tivoweb shell script to do something special.
RSER - Start bash on the serial port. Does not kill bash. Which bash to kill?
RTES - Restart the TCS event server. This shouldn't really ever be needed.
RVBI - Restart tivovbi
DISP TEXT_TO_DISPLAY - display "TEXT_TO_DISPLAY" on the tivo screen
16. Network Clients
-------------------
There are several network clients available on the TCS website,
www.zirakzigil.net/TCS. These clients will send TCS commands through the TCS
network socket. They are very simple TCL scripts that can be run from any
computer that can connect to your tivo that has TCL installed. Macintosh
TCLet compiled versions are also available there. If you use a Macintosh,
make sure to check the macintosh specific section at the end of this
document.
TCL is not required to be a client/use the socket. Just open the socket and
send the command using any language, Perl, C, or even just telnet.
The network clients are not included in the tarball, they can be downloaded
from the TCS download page at http://www.zirakzigil.net/tivo/TCS.html
17. What Port do I connect to?
------------------------------
8762
18. How did you choose THAT?
----------------------------
Totally ponderous man.
19. Remote Commands:
--------------------
(clear)(0)(clear) - display on screen the running hacks
(clear)(1)(clear) - RTEL - Restart Telnet server
(clear)(2)(clear) - RFTP - Restart Ftp daemon
(clear)(3)(clear) - RWEB - Try to restart tivoweb. tivoweb must not be hung.
(clear)(4)(clear) - RSER - Start bash on the serial port.
(clear)(5)(clear) - RVBI - Restart TivoVBI.
(clear)(7)(clear) - display stock quotes (hint: live net connection)
(clear)(8)(clear) - display local weather (hint: live net connection)
(1)(1)(clear) - KTEL - Kill Telnet server
(2)(2)(clear) - KFTP - Kill Ftp daemon
(3)(3)(clear) - KWEB - Ask tivoweb to shutdown. Won't work if tivoweb is hung
(5)(5)(clear) - KVBI - Kill TivoVBI
(6)(0)(clear) - Display the available sports commands.
(6)(1)(clear) - Major League Baseball Scores, Schedule and Standings.
(6)(2)(clear) - National Football League Scores, Schedule and Standings.
(6)(3)(clear) - NCAA College Football, Scores, Schedule and AP/ESPN-USAToday polls
(6)(4)(clear) - National Hockey League Scores, Schedule and Standings.
(6)(5)(clear) - National Basketball Association Scores, Schedule and Standings.
(6)(6)(clear) - NCAA Men's Basketball Scores, Schedule and Rankings.
(7)(1)(clear) - Various interest rates.
(8)(1)(clear) - Change the Weather zipcode from using the remote (until restart)
(8)(2)(clear) - Display Local (600 mile) Weather Radar.
(8)(3)(clear) - Display National Weather Radar.
(9)(0)(clear) - Show all TCS remote and Network commands.
(9)(1)(clear) - DOOR - Send Keypresses to turn on backdoors.
(9)(2)(clear) - SORT - Send Keypresses to enable sort of the now playing list.
(9)(3)(clear) - CLCK - Send Keypresses to turn on on screen clock.
(9)(4)(clear) - SSUG - Send Keypresses to display suggested/hidden programs.
(9)(5)(clear) - SKIP - Send Keypresses to enable 30 second skip key.
(9)(6)(clear) - Display updates available from the TCS website
(9)(7)(clear) - Display all background processes/timers
(9)(8)(clear) - Reset all background timers - update everything NOW.
(9)(9)(clear) - QUIT tcs
(mute)(mute)(clear) - Toggle the execution of greedy processes (NICE, MEAN)
The easiest way to remember the basic commands for APPLICATIONS is to associate
a number with each application. telnet - 1, ftp - 2, tivoweb - 3,
bash on serial - 4, tivovbi - 5, and to some extent, TCS/myworld - 9.
(clear)(#)(clear) - restarts the application @
(#)(#)(clear) - kills the application *
@ kills the application first, if it exists, except for bash on serial and
tivoweb *bash on serial cannot be killed at this time, and killing tivoweb
causes a panic.
20. Third Party Modules
-----------------------
There may be 3rd party modules included with TCS. The commands and
functionality that they provide will not be documented here. Refer to
tcs/modulesreadme for documentation, or 90 clear for the extra commands.
21. Changing the update rates for background modules
----------------------------------------------------
Many of the modules get data off the web. Periodically the modules go out,
retrieve, parse and build the information. The frequency at which each module
will retrieve and process the information can be changed by editing the
config/schedule file. Different update frequency rates can be set for each
module, for different times of the day and different days of the week. For
example, the schedule file as released updates stock quotes every minute
Monday to Friday between 7AM and 430PM localtime. It updates hourly at all other
times. You should change this to reflect what is appropriate in your timezone.
If things update too frequently, it may negatively impact the Tivo
(sluggishness or stopples).
22. Auto Scheduling
-------------------
Some modules support "auto scheduling," which means that the module will
accelerate its own update frequency as needed. In particular, the sports
related modules will accelerate the update rate when they detect a game
in progress. Auto scheduling can be disabled in the config/prefs file.
23. What modules provide which commands?
----------------------------------------
Built-in (no module) - QUIT, NICE, MEAN
Built-in (no modules) -- remote command (9)(8)(clear) Š Reset all timers.
Applications: remote command (clear)(zero)(clear) - no network equivalent
Backdoors: DOOR
KillApplications: KTEL, KFTP, KVBI, KWEB
MisterEcho: ECHO - this is really just a sample for developers, no real use
MLB: remote command (6)(1)(clear) - Major league baseball (greedy update)
NBA: remote command (6) (5) (clear) - Pro Basketball (greedy update)
NCAAB: remote command (6)(6)(clear) - NCAA basketball (greedy update)
NCAAF: remote command (6)(3)(clear) - NCAA football (greedy update)
NetworkServerInterface: NSRC, NSUT, NSDF, NSPA - Network Server internals.
NewDisplay: (none) This provides capability to use the newtext2osd for displays
NFL: remote command (6)(2)(clear) - National Football league (greedy update)
NHL: remote command (6)(4)(clear) - National Hockey league (greedy update)
OnScreen: DISP
Quotes: remote command (clear)(7)(clear) - no network equivalent (greedy update)
Rates: remote command (7)(1)(clear) - no network equivalent (greedy update)
RestartApplications: RTEL, RFTP, RWEB, RSER, RVBI
ShowCommands: (none) (9)(0)(clear) - no network equivalent
ShowSuggestions: SSUG
Skip30: SKIP
SortNowPlaying: SORT
SportsCommands: remote command (clear)(6)(clear) Š Display the sports commands.
Timers: remote command (9)(7)(clear) Š Display current Timers
TivoDataServer: TDAT - Network Server Internals.
ToggleClock: CLCK
Weather: remote command (clear)(8)(clear)) - no network equivalent (greedy)
WeatherNewZip: TVNZ
WeatherMaps: remote commands (8)(2)(clear),(8)(1)(clear) - no network equivalent
(greedy update)
Apsrunning.sh: generated by the Applications module, don't edit, see below.
24. Should I turn off modules I don't use? How do I do that?
How do I turn them back on?
-------------------------------------------------------------
Yes, absolutely turn off the modules that you don't care about. Why do you
want to make the poor little baby CPU in the tivo suck in and parse Football
data when you don't give a hoot about football? Be nice to the Tivo and it will
be nice to you. That said turning off modules that DO NOT pull data from the
web isn't going to conserve much - A little memory, but CPU is the major
concern.
To turn a module off, just delete it from the "modules" directory.
The "modules" directory is tcs/modules for modules running on the tivo, however
it is tcs/modulesserver for modules running on the network server.
To turn a module back on, just link it back in:
cd tcs/modules (or modulesserver)
ln modules/ThisModuleName.tcl
25. Applications module
-----------------------
Its driven by a simple shell script. If your favorite hack doesn't show up,
just add it to config/myhack. A monkey suffering crack withdrawal can do it.
26. BackDoors module
--------------------
Turning on backdoors requires knowing the sequence from the remote. Currently
the 3.1/3.2 sequence isnÕt known. The 3.0 sequence is tried on that system.
(Some have replaced the encrypted key on 3.1/3.2 systems with the 3.0
encrypted key)
27. SortNowPlaying module
-------------------------
The initial version required you to go to the Now Playing list before using this
command. This hassle has been eliminated. This is easier for me than pressing
Slow 0 Record Thumbs up (don't really have to *look* at the remote), but it may
not be for you.
28. NEW display using newtext2osd
---------------------------------
NOTE: Strongly recommend you leave this alone. The old text2osd doesn't look
nearly as good, and compatibility with TCS has not been tested for some time,
and will not be tested in the future.
The "new" display type is now the default. If you want to go back to standard
Tivo text2osd, comment out the following lines in config/prefs:
displaystyle DefaultDisplayStyle NewDisplay
screenclearstyle DefaultScreenClear NewDisplayClear
and uncomment the following:
#displaystyle DefaultDisplayStyle SimpleDisplay
#screenclearstyle DefaultScreenClear SimpleClear
newtext2osd version 1.4 or newer is REQUIRED to use the NewDisplay. Older
versions are not parameter compatible with TCS.
Download from:
http://www.geocities.com/wyngnut2k/newtext2osd-1.4.tar.gz
29. Jpegwriter required for WeatherMaps
---------------------------------------
The weather map module requires Jpegwriter to be able to display the maps.
Jpegwriter is available from:
http://www.allaboutjake.com/tivo/jpegwriter.html
There was a "newer" version of jpegwriter that was posted to some forums.
That version of jpegwriter, called version 1.1, does a better job of
centering the data on the screen, however, it mucks up the color map
where garbage gets displayed when you clear the display with TCS.
Use version 1.0.
30. On Screen Display modules
-----------------------------
The on screen display modules "cache" data from the web for display, and update
periodically. If the last attempt to update data from the web failed, for
whatever reason, the screen will be displayed in RED. If greedy updates are
turned off, the data will no longer be updated, and the screen will be displayed
in BLUE - more on greedy updates later. It is probably best to turn off greedy
updates anytime you are recording something important.
BLUE - Information is not up to date because greedy updates are turned off.
RED - Information is not up to date because something failed accessing the web.
YELLOW - All is well.
31. Multiple screens of information is now supported
----------------------------------------------------
Use the up and down arrows to page through the information, NOT the channel
up/down buttons used by many tivo menus. Using channel up/down would cause
undesirable results when watching live tv. For compatibility with D-Tivo the
select key will also page down.
Several modules have multiple pages of information. Quotes will generate
multiple pages if the number of tickers demand it.
32. Configuring the NCAA Men's Basketball module
------------------------------------------------
You can add your favorite NCAA conferences to the config/MyNCAAConferences file.
The module will then automatically add the scores and schedule for those
conferences to the display. Warning: The more conferences, the slower it gets.
More than a couple or three is probably a really bad idea.
Look in the config/NCAA*Conf files for the appropriate conference
name/abbreviation. There is one file per sport, I.E. NCAAFootballConf is an
example.
33. Configuring the NCAA Football module
----------------------------------------
See Configuring the NCAA Basketball module.
34. Configuring the Quotes module
---------------------------------
The only thing to configure is what stocks and indices you want to see. Edit
config/tickers and include what you want. The tickers have changed from the
standalone version of quotes. This version hits a different website which is
both faster AND uses industry standard tickers.
Quotes will no longer "fall back" to standard text2osd if you have more tickers
than newtext2osd can handle, it will just generate multiple pages.
35. Configuring the Weather module
----------------------------------
There is nothing to configure unless you want to see the weather for somewhere
other than where your tivo lives. If you do, edit/add config/zipcode to include
your 5-digit zip. Don't try to use zip+4! I mean, not only will it not work,
but do you really think you are somehow going to get the weather as it exists
on top of your mailbox?
It is also possible to change the zipcode from the remote (See remote commands
above). This will immediately refresh and display the weather. Be patient, it
will take 10-20 seconds to retrieve the new information.
36. What is a Greedy update?
----------------------------
An update is a periodic background process that updates some kind of information
that you don't want to generate "on the fly." An update is considered "greedy"
if it requires significant processing time on the tivo, which MAY cause
undesired effects when recording a show or watching a recorded show, or even
just livetv. A process is considered non-greedy if it is unlikely to cause any
problems with the tivos main function - being a PVR. A significant effort has
been made to make the "greedy" modules more tivo friendly. The modules try
to "throttle" their activity and allow the tivo to have some CPU back during
updates. Unfortunately, it isn't easily possible to throttle the actual download
of the information from the web, but this is a relatively insignificant amount
of the processing a greedy module requires. Addition of throttling has made TCS
very significantly more tivo friendly. I now rarely see problems, although I
wouldn't go so far as to say nothing will ever happen.
For developers - Anything that pulls data off the net should be
considered greedy.
37. Automatically starting TCS at boot time
-------------------------------------------
Add the following line to the bottom of /etc/rc.d/rc.sysinit
DO NOT FORGET THE AMPERSAND!
/var/hack/tcs/starttcs &
-OR-
/var/hack/tcs/starttcs console &
-OR-
/var/hack/tcs/starttcs devnull &
The first writes the log to /var/log/tcs, the second to the console, and
the last to /dev/null.
Every command issued is logged, with the exception of just displaying i
nformation on screen. It is the module writer's responsibility to write log
entries to standard out, as it allows more specific log entries than what can
be done "generically."
Pay attention to the space available in /var. Delete /var/log/tcs occasionally
to prevent /var from running out of space. Under normal use, it would take tcs
years to fill /var with logs.
It is wise to NOT run tcs from rc.sysinit while you are doing module
development.
Problems may occur if you start TCS manually from /var/hack/tcs/tcsd.tcl,
although there is no check to prevent you from doing that.
38. E-mail notification (Macintosh Eudora only)
-----------------------------------------------
Instructions and code are available to have Eudora on the Mac send
"you have mail" messages to the tivo for on screen display. I would imagine
similar capabilities exist for some other email clients, no matter what OS you
use.
Details are available on the TCS website.
Site Under Construction: |
|
|