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:
* 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.