THAT Home Automation Topology

The Open Home Automation and Control System

«  THAT Control Software  »

Additional functionality and flexibility of a THAT System can be realized using a computer as a "master" arbitrator for the modules. A computer provides new opportunities such as the capability to remotely control modules, as well as to create advanced schedules and presets for use in controlling modules.

Additionally, a computer with Internet access provides the opportunity to more intelligently control modules based on outside information (such as weather conditions and forecasts). In order for a computer to interact with THAT, it needs to run software which can communicate using THAT protocols. The developers have created THAT Control Software for this purpose.

Early on in the project, the developers made the decision to only design software which is cross-platform compatible, meaning it is capable of running on multiple computer operating systems. At the minimum, support for Linux, MacOS X, and Windows XP was a requirement. The developers decided to utilize the Python programming language ( ) for this software. Python meets the cross-platform compatibility requirement, and is characterized as a powerful, high-level language that allows for rapid software development.

THAT Control Software is built using a combination of Python, XML, HTML, and CSS and is designed to be as modular as possible. The block diagram for the software is shown below:


THAT Control Software, version 0.6.4, is open source software
and can be downloaded here: [ that_cs_0.6.4.tar.gz ]