Home Automation (X10) Library

Introduction

This is a library for use in controlling X10 devices. Originally just a port of some early VB.NET code I found on GotDotNet, The library has been rewritten and recently re-released in a .NET Framework 2.0 form. Right now, this library supports the CM17A Firecracker module, and the CM11A module. Feedback is greatly appreciated and I will try adding features as time goes on. I may look into adding support for the new Insteon devices that have recently been released as a successor to X10. Does anyone want to send me a developer's kit (serial port)?

Download

Version 2.0 Beta (for .NET 2.0 Framework. Supports CM17A and CM11A)
Version 1.5 Final (for .NET 1.1 Framework. Only supports CM17A)

Revision History

13 November 2005

Version 2.0 Beta Released

  • Requires the final .NET Framework 2.0.
  • New namespace: Vallelunga.HomeAutomation.X10 (for future non-X10 expandability).
  • Supports both CM17A Firecracker and CM11A devices.
  • CM11A device has the ability to monitor the line for basic commands sent by other devices.
  • Slightly new method signatures for the CM17A device.

13 November 2004

Version 1.5 Final Released

  • Some people reported inconsistent results with the 1.5 beta. The problem was related to an overly aggressive wait duration when sending commands to the CM17A device and has been fixed. In addition, you can now set the duration the code waits between sending bits to the device. This is done through the new WaitDuration property. The default of 5 milliseconds should work for most people, but if you're having inconsistent responsiveness, try increasing the duration to something like 10 milliseconds. If your system works fine, try decreasing it down to 1 or 2 milliseconds for better performance.

6 July 2004

Version 1.5 Beta Released

  • I did a complete rewrite of the class internally that makes it much faster and thread-safe (I think).
  • Note the methods have changed slightly and the CM17A class now implements IDisposable.

23 May 2003

Version 1.01 Released

  • Fixed a bug with the CommPort property and added a new overloaded constructor that takes the comm port as a parameter.

31 July 2002

Version 1.0 Released

  • This is the first release of my C# port of the original VB (Beta 2) code found at GotDotNet (no longer available).