Announcing Automation Engine v0.6 beta

johnnynine

Active Member
I'm proud to announce the release of an update to the j9 Automation Engine beta software. As with the prior release, this is a significant update and focuses on usability and ease of configuration through user interfaces. It is available for immediate download here.

Here is a list of the major enhancements: (A much longer list can be viewed here.)

Configuration Editor
This release includes a huge step forward in ease of configuration by providing a user interface to add/edit/remove device configuration and rules. A script editor has been added providing syntax highlighting, context sensitive auto-completion and help. This means it is no longer necessary to manually modify the configuration file and there is no need to look up configuration syntax. A user interface was also added for executing device methods to supplement the property editor for diagnostics use.

Built-in Web Site
A web site has been added giving access to view and changing your device properties. The web pages are generated dynamically based on what type of devices you have configured. The following types of devices are supported: Climate Control, Lighting, Security, Media Players, Tasks, Outputs, and Weather. The dynamic pages are all generated using J9SP and can be altered/skinned/and extended by the user as desired.

Interface Designer
Many ease of use enhancements were made to the Interface Designer from multiple control selection, cut/copy/paste, action script editors with syntax highlighting, context sensitive auto-completion and help, to on screen help tips. A new boolean image control has also been added for use with on/off indicators. There are many more enhancements as well, so please review the full change history at the link above.

Driver Updates
Added a new iTunes Driver, SqueezeCenter Driver rules, keypad text display updates for the Elk M1 Driver, and a new Media Driver to support playing media on machines other than the master server. Name retrieval support of lights, outputs, tasks, thermostats, areas, and zones was also added to the Elk M1 Driver.

Driver SDK
A Microsoft Visual Studio 2005 solution with sample driver source code has been added to facilitate third party driver creation. To facilitate auto-generated user interfaces, a common scripting interface was implemented across drivers, such as climate control, lighting, security, media players, tasks, outputs, and weather. See the new System Script Object for related driver retrieval methods.

Scripting Language
A few new script objects have been added such as the System Script Object and DeviceContainer Object. Several fixes were also made to the Scripting Language interpreter.

Screenshots
This is just a small preview, for more screen shots, visit the screenshots page.

SqueezeCenterConfiguration.png SqueezeCenterMethods.png SongChangeRuleScript.png ClimateControlWebPage.png

Thanks,
Johnny
 
VERY slick, the user interface looks very usable (which is something most coders can't figure out), and looks like it has tons of functionality as well. Great job!
 
Looking good, J9!

I have a suggestion for the scripting language:

"System" currently has object-specific methods, like:

GetLightingDeviceContainers
GetOutputDeviceContainers
GetClimateControlDeviceContainers
GetMediaPlayerDeviceContainers
GetTaskDeviceContainers
GetSecurityDeviceContainers
GetWeatherDeviceContainers

Why not use a generic GetDeviceContainer method that takes an argument indicating the device's type?
System.GetDeviceContainer("ClimateControl")

As AE matures, it'll proabably support new device types and a single GetDeviceContainer method is neater.
 
I just gave this a try in a virtual machine, so I guess this is an early mini review:

I am really liking this software, it's close to how I envisioned my own 'if-I-ever-have-the-time-to-write-the-killer-ha-app' software package. I had some screen real estate issues when using my default 800x600 resolution but since it seems to be a client/server model, this shouldn't be a big deal.

I can't wait to see the action list (probably one of the more complex pieces), as it will boost its usability big time. Another feature that would be extremely useful right away is TTS support (SAPI4/5).

The one thing I didn't like was some of the delays I encountered when adding a device etc. I guess it is because of the restart, but it also does it when canceling, but considering that's my only major issue I can think of right now, and it's still in beta, I would say you are doing really well.

Some of the features that really stand out (IMO):
  • support for scripting
  • GUI
  • client/server model
  • lightweight
  • plugin support
  • price
Keep up the good work!
 
Looking good, J9!

...

Why not use a generic GetDeviceContainer method that takes an argument indicating the device's type?
System.GetDeviceContainer("ClimateControl")

As AE matures, it'll proabably support new device types and a single GetDeviceContainer method is neater.

Thanks for your comments.

That is an option. I went with the individual method approach for each of use in the script editor (through auto-completion). If this is something you would prefer I could add it as an alternative. It's a fairly simple enhancement.

Johnny
 
I am really liking this software, it's close to how I envisioned my own 'if-I-ever-have-the-time-to-write-the-killer-ha-app' software package. I had some screen real estate issues when using my default 800x600 resolution but since it seems to be a client/server model, this shouldn't be a big deal.

...Another feature that would be extremely useful right away is TTS support (SAPI4/5)...
Thanks Dan, I appreciate the feedback.

TTS (Text to Speech) is already provided in the system using the Media Driver. This driver also allows for playing mp3, wav and other media files. Take a look at the media driver's TextToSpeech() method for speech support.

The Interface Designer, Interface Viewer and Web Site will fit easily within a 800x600 resolution (or smaller/larger). The Administration application works best using 1024x768 or larger.

Thanks,
 
Due to user feedback, a minor update was posted today with a few enhancements requested by users of yesterday's release.

The update is available here for download.

Here is a short list changes:

Configuration Editor
o The rules editor now allows you to test it's script from the context menu.
o After saving a rule and the grid is refreshed, the edited rule is reselected.
o Fixed an issue when editing a rule that caused only those entered whenever parameters to be shown.

Driver Updates
o Added a LightLevelChanged (PLC level changed) event to the Elk M1 Driver.
o Added whenever parameters for NodeID and PercentOn to Vizia RF Driver LevelChanged event.
o Added support for choosing a specific voice name to use with the Media Driver text to speech feature.
o Added base Global Cache GC-100 driver. This driver is under construction and is currently very limited in functionality.

Driver SDK
o Fixed an issue in the TcpIpDelimitedTextIO class that forced a delimiter of <cr><lf> to always be used.

Johnny
 
Back
Top