Insteon Programming
This is a compilation of information I've found useful while
programming for Insteon. My particular application is written in Visual
Basic 2005, with Smarthome's PowerLinc Modem Serial Interface (2412S)
(aka the PLM), and some support for the earlier PowerLinc Controller
USB (2414U) (aka the PLC). Some of these notes will be useful to anyone
programming for Insteon, other parts will be specific to VB2005 and/or
the PLM.
For those programming the PLC in Visual Basic 6, a great place to start
is Efundies.
For programming the PLC in VB.Net, try http://pixiescorner.wordpress.com/.
I've had mixed success with the PLC. On some computers it mostly works,
on
another it never does. The PLC uses drivers which are no longer
supported and which still have some bugs. The PLM is faster and more
reliable, but there are no drivers available so you'll have to do more
of the work yourself. I've provided sample code on the Programming
pages below. All examples are for Visual Basic 2005. (Serial port
handling is completely different in the earlier version of VB.Net and
in VB6, but these examples should be fairly close in VB2008.)
Programming (VB2005)
PLM Basics
Sending X10 Commands via PLM
Receiving Events from the PLM
Insteon Reference
Insteon Commands
Ramp Rate Chart
Device Reference List
The i2cs Protocol
Other Sources
Insteon Whitepaper - somewhat out-of-date, but indispensable guide to Insteon communication
Insteon Modem Developer's Guide - documentation specifically for programming the PLM, gives all the commands it sends/receives
Efundies forum - discussion of Insteon hardware and software development and modifications
FluentDwelling - class libraries for .Net (Visual Studio 2010) for the PLM
Linux Home Automation - tools and lots of links for those programming Insteon on a Linux system
PLM Tools - a set of utilities for interfacing the PLM from Linux