iLink INSTEON scene management software

ilink - Software to manage home automation scenes using SmartHome's INSTEON home automation products.

Note that new Insteon devices are no longer fully compatible with the Insteon PLC controller that ilink uses. Smarthome has issued the following statement: Because the PowerLinc Controller belongs to an older generation of controllers and has not been updated with the latest revisions, it is no longer compatible with INSTEON devices as of March 2012. The PowerLinc Controller can be used to control X10 devices. For INSTEON control use the new PowerLinc Modem (2413U). The PowerLinc Modem (PLM) is not API compatible with the PLC which means that iLink is not able to communicate with the PLM.

All development and support for iLink has ceased. The code and infomation on this website will remain for historical purposes.

There are currently two versions of ilink. There is a command line only version and a GUI version. Both versions offer basic scene management. The command line version is used for proof-of-concept testing and has more options for testing and experimenting with INSTEON control. Both versions should be considered Alpha quality. I've been using them in my environment without problems but these are distributed with no guarantees.

There are also a couple of other command line programs that can be built. icmd is a simple command line program that sends Insteon commands to devices. It takes a device id, command name, and command data as arguments.

timers is a command line program for listing and loading PLC timers. It supports the same text file format as InFreeHome but adds the capability to set timers that execute group broadcast in addition to direct commands.

download is a command line program to download a timercoreapp to the PLC. In addition, it can also dump regions of the PLC's memory. The most recent timer core application for the PLC is version 12.

spyder is a command link program that tries to find all your device links and save them in a file. You can also verify device links against the file and add new links. A basic command-line link management program.

ilink is currently distributed as source only and is licensed under the GPL.

Here's a screen shot of the main GUI screen:
main screen
More screen shots


Features of both versions

Features in the GUI version only

Features in the command line version only

Features in development


While the code distributed only works with the USB version of the PowerLinc V2 controllers, it would not be hard to replace the low level USB communication code with serial port code.

There are actually 4 versions of the low level communication code included:

ihid.c is the version I currently use. The other versions should work but may require makefile changes to get them to properly link. The libusb version seem to be less reliable and is slower, probably by a factor of 2 or 3. This slowness may simply be tuning. iser.c is untested at this time, I don't have a serial PLC.

Porting to Windows is probably possible, if this is something you'd like to do, please contact me.