gnhast is a collection of daemons that work together to build an event-based home automation system. Any event (such as a light being turned on) can be handled by an external script or program. These programs can be written in any language, and the central daemon handles all the intercommunication. It is designed to be easily extensible for new device types and protocols.
Device::ParallelPort is a Perl API that allows low level access to the parallel port of most computers. It does this by using a number of drivers, which can be customized and added to, including Linux (direct and parport), Win32, Script, Dummy, and more. It also contains a number of direct access devices including an example printer and a relay controller card.
MatPLC is a software-based PLC (Programmable Logic Controller) for industrial automation. Ultimately, it should be possible to run a factory using this software. Currently, one should keep in mind that it is still at the testing stage, and is therefore not suitable for applications where incorrect operation would cause damage or danger.
jukebox-control includes a Linux driver module for an easy/dirty cheap to build DIY parallel to the Sony S-Link interface, plus Perl modules with both control-A1 (II) and control-S protocol implementations. Its actually-incomplete development state makes it interesting for developers mostly.
MoCo is a system that monitors and controls SCADA points, such as temperature, HVAC, power, lighting, sprinkler systems, and more. It has industrial capabilities, but is scalable from very small home systems to enterprise, world-wide ones. It works with inexpensive I/O bridges (including X10, Insteon, and 1-wire) from a number of manufacturers. It has sophisticated history logging and diverse control capabilities, as well as a 117-page implementation manual.
YASP is a simple and open protocol for building networks with small microcontrollers. It is designed to have a small footprint for easy implementation with minimal hardware resources, but without sacrifice advanced features and future growth. The protocol scalability is implemented using variable length fields. The physical layer use the NRZ encoding as in RS-232, but using dominant and recessive bus states to provide a reliable way to detect collisions.