So my solar heating system, complete with TDC3-e, was finally up and running yesterday (thanks Kenny!), which left me with the task of integrating the controller with my home monitoring system, which is based around MRTG running on a Linux server. Looking at this and other threads, I couldn't see the piece I was missing - a CLI utility to dump the state of the controller's parameters (like relay state or sensor temperature).
Using the protocol document Navitron is hosting, I put together a simple Perl script to fetch the data. I've attached the script as tdc.pl.txt - you should rename the file tdc.pl, place it somewhere on your search path, and make it executable. I put it in /usr/local/bin on my Linux system.
The script can be integrated into MRTG using configurations like this:
################################
# Sensor0 temperature
################################
Target[tdc3.nat.neil.jarvis.name.sensor0]: `/usr/local/bin/tdc.pl -tdcAddr tdc3.nat.neil.jarvis.name -mrtg sensor0`
MaxBytes[tdc3.nat.neil.jarvis.name.sensor0]: 100
Title[tdc3.nat.neil.jarvis.name.sensor0]: sensor0: Solar Collector Temperature
Options[tdc3.nat.neil.jarvis.name.sensor0]: growright, gauge, nopercent, absolute
YLegend[tdc3.nat.neil.jarvis.name.sensor0]: Temp
Legend1[tdc3.nat.neil.jarvis.name.sensor0]: Temperature
Legend2[tdc3.nat.neil.jarvis.name.sensor0]: .
Legend3[tdc3.nat.neil.jarvis.name.sensor0]: Max value per interval on graph
Legend4[tdc3.nat.neil.jarvis.name.sensor0]: .
LegendI[tdc3.nat.neil.jarvis.name.sensor0]: Solar Collector Temperature
LegendO[tdc3.nat.neil.jarvis.name.sensor0]: .
Now I see sensor graphs like the one I've attached, and will be happily monitoring the system over time.
-Neil