Insteon Programming · PLM Basics · X10 · PLM Receiving · Insteon Commands · Ramp Rate · Devices · i2cs · Deus Ex Machina

Deus Ex Machina
Deus Ex Machina is my software for automation control. I use it for both home and interactive theater/LARP applications.

* Supports the PLM (serial, USB, and portable types) and CM11A (for X10 only).
* Also supports the W800RF for fast reception of wireless X10.
* Macros can be used to control devices, play sound effects, and control a playlist.
* Macros can be triggered by Insteon/X10 events, time of day, or run at fixed intervals.
* Flexible macro language includes conditional If/Then statements with And/Or logic.
* For Windows XP, Vista, and 7, written in Visual Basic 2005.

The current version is 3.0.4. (See below for version history since 3.0.0.)

Download Deus Ex Machina (8 Mb) · Documentation (pdf)

Screen shot

Note for Windows 7 64-bit users:
There is an issue with one of the resource files under 64-bit Windows. It may also affect 32-bit Windows. To resolve it:
* Download this file: www.madreporite.com/insteon/CM11A.ocx
* Copy it to c:\windows\syswow64   (For 32-bit Windows: put it in c:\windows\system32 )
* Go to the Start menu, All Programs, Accessories, left-click on Command Prompt and pick “Run As Administrator”
* Type: cd c:\windows\syswow64   (For 32-bit Windows: cd c:\windows\system32 )
* Type: regsvr32 cm11a.ocx

Revision History:

Version 3.0.4 (Jun 10, 2012)
* Gets Insteon engine version when Get Device Info is clicked
* Displays engine version in the Device Info, saves it in the save file (note: devices previously added will be listed as i1, but clicking Get Device Info will update them)
* Extended messages sent to i2cs buttons now replace last byte with checksum (applies to Sendextended macro command, Links button and window, Settings button)
* When a variable is reduced to 0, it is now switched to Off
* NAK responses now have a carriage return at the end of line, and show up in red in the log
* The date is displayed in the log at the start of a new day
* No longer automatically adds devices to the device list after getting traffic from them (can be noise, especially X10 addresses).
* "Wait" messages are not shown in log unless debug options are selected (just like If/Then statements)

Version 3.0.3 (Apr 1, 2012)
* Fixed a bug with random and day of week conditions in macros with multiple conditions to evaluate
* Fixed a bug in execution of immediate macros after a time or interval macro has previously been selected
* Added a new conditional command, "Command", used to to execute different parts of the macro based on the triggering event. E.g. to assign a different event to a double-tap (fast on/off) than to a single-tap (regular on/off). See documentation for more details.

Version 3.0.2 (Mar 7, 2012)
* Added additional devices to Insteon type list
* Reply to "Get Insteon Engine Version" now shows up in Event Log even if low-level events are not showing
* Startup macro waits ~5 seconds before starting, to give time to connect to the PLM
* Dim and bright macro commands can be entered in abbreviated form: {device} [+|-]{num}
* Dim/Bright by holding the button/paddle on an Insteon device now updates instantly, and then double-checks the final status after the button is released. Dim/bright macros also begin to run instantly. If the macro completes before the button/paddle has been released, it will run again. This could be used, for example, to use a SwitchLinc to control the playlist volume.
* The macro command "scene" can be used in place of "link"
* The macro command "playlist play" can be used in place of "playlist start"
* Better support for .m3u playlists
* Added playlist volume control and macro command to remove current song from playlist

Version 3.0.1 (Feb 24, 2012):
* If you have a device/variable called Startup, the associated macro will run as soon as the program starts. Could be used to update the status of devices, etc.
* Suppressed errors from the sound player.
* Minor aesthetic fixes.

Version 3.0.0 (Feb 20, 2012):
* First public release.