X-10 Control in Java

This page is part of the Home Automation WebRing.
Home Automation Web Ring
Prev 5 Prev List Next Next 5
This page provides direct access to my X-10 Java classes below. It also links to my home page and my software page.

Licensing

The following software is freely available and distributable under the Open Source Artistic License. If you want to discuss other terms, or are interested in contracting me to customize these classes for you, then contact me to discuss your needs and my availability.

System Requirements

The software provided here requires a Java implementation compliant with JDK-1.1 or later. Consult your platform vendor for information on obtaining such software.

To control X-10 devices, you will need an implementation of the Java Communications API 2.0 for your target platform. Known implementations of Java-Comm are available from:

If you know of other Java-Comm implementations for other platforms, you can drop me a note and I'll list them here.

Downloadable Software

These classes provide an architecture for working with connected devices called the Gadget-Kit, written entirely in Java (no native code). I designed this software as a simple extensible framework for working with readable and/or settable Gadgets, each one representing a single device or controllable quantity.

1999-Sep-13 is the current Gadget-Kit release.

The Gadgets representing X-10 modules use a CP290 controller connected to a serial-port using the Java-Comm 2.0 API. They provide direct control over dimmable and on/off modules, customized module-lists contained in text-files, customized schedules and actions, and a multi-threaded command queue. (I don't have software for the CM11A controller yet, but when I do it will fit into the Gadget-Kit. And please don't ask me when the CM11A software will be ready. It will be ready when you see it here. If it's not here, you can safely conclude it's not ready.)

The distribution also provides Gadgets that represent a cyclic or circular clock with an alarm-time and arbitrary triggered actions -- that is, scheduled automated events. These alarms, triggers, and actions are general-purpose, and not just confined to X-10 control. You could easily extend them to make a cron-like facility in Java, or to define actions that execute an external program of your choice (neither feature is provided).

Several demo or example applications are included. The most sophisticated one is a locale-aware demo AWT program to manually control X-10 modules, or to define and execute scheduled actions for them in a daily or weekly cycle.


To Greg's Home Page
To Greg's Software Page