Announcing an updated version of my automation engine

johnnynine

Active Member
I've introduced some significant enhancements in this version including a built in web server, a new ASP/JSP like web page syntax, a device viewer, device property editor, a SqueezeCenter driver and more...

There are some screenshots on the new Quick Start page.

You can download the installer here.

For a full list of changes with hyper-links to the related content, please visit the Changes Page.

This version includes the following changes:
  • Easier installation
    • NOAA Weather and Global Variable devices are pre-configured as sample devices.
    • Added Device Information viewer with property editor in the Administrator application.
    • Added web site installation with sample J9SP web page.
    • Added start menu shortcut to website when installing built-in web server.
    • Added Windows Firewall port exceptions to the installer.
    • Installer now backups previous installation files.
  • Web Browser Support
    • Added built-in web server, as a lightweight alternative to Microsoft Internet Information Services (IIS).
    • Added J9 Server Pages (J9SP) support for dynamic web page design using Microsoft Internet Information Services (IIS) or the built-in web server.
    • Is also compatible with IIS 5.0+.
  • Drivers
    • Added SqueezeCenter Driver (previously known as SlimServer) for SqueezeBox support.
  • Scripting Language
    • Added DbConnection object to the Scripting Language for use with SQL.
    • Added DataTable object to the Scripting Language for use with SQL.
    • Added File System object to the Scripting Language.
    • Added verbatim strings to the Scripting Language as well as recognition of escaped characters.
    • Fixed an issue when using else if (...).
  • Miscellaneous
    • Desktop Server was missing from the installer.
    • Reworked the plug-in driver abstract class for driver developers.
      • Changed member names to include "Driver" in them to reduce the chance of member name collisions.
      • Added DriverAuthor, DriverDescription, DriverMajorVersion and DriverMinorVersion properties.
    • More enhancments to Script Tester window.
    • Fixed an issue when starting the interface editor and clicking cancel.
  • Coming Soon
    • Integrated configuration tool
      • Add/Edit Device configuration
      • Add/Edit Rules
    • One-Wire device support
Thank you for your support.

Johnny
 
Here's a screenshot of my test configuration:

DeviceInformation.png


Device List
All configured devices are listed in the top grid and information about the selected device is shown below. The screenshot has a SqueezeCenter (SlimServer) device named 'squeezecenter' selected. Each device is given a unique name by the user to uniquely identify it. Most drivers allow for more than one device of the same type (such as multiple SqueezeBox players, or multiple noaa weather devices if you want weather information for more than one city).

For a full list of supported devices, click here.

Device Parameters
The Parameters grid shows any parameters that are necessary for the driver to run, such as the hostname of the SqueezeCenter server and the ID of the player to control in the case of SqueezeCenter. If you had more than one player, you would need to add another SqueezeCenter device to the configuration and give it a unique name like 'squeezecenter2'.

Device Rules
I do not currently have any rules set up for the 'squeezecenter' device so the rules grid is blank. However you can add automation rules to devices to take certain actions when events occur.

Device Properties
The properties grid on the right shows all the properties for the selected device. Double clicking on any writable property allows you to change it's value. For example you could change the volume of the squeeze box player. Or if the Elk M1 device was selected you could open/close outputs, etc.

Normally you would set up rules to do this for you automatically based on some event or action, like coming home, or a link/button on a web page or interface viewer.

Configuration Editor
In the next release this window will be changed a little to allow for adding and editing device configuration.

I'll try to post the web page that I use from my mobile phone to control my system this weekend.

Thanks,
Johnny
 
Great work, Johnny!

BTW, if "Automation Engine" is a temporary name, may I suggest (tongue firmly in cheek) "Johnny Nine A. M. E.". :eek:

When I was a kid, many moons ago, I received a Johnny Seven O. M. A." (One Man Army). It was a mulitfunctional weapon (a "toy" weapon). I still remember the kid's face on the box ... priceless.

Johnny Nine AutoMation Engine ... it works for me! :(
 
Great work, Johnny!

BTW, if "Automation Engine" is a temporary name, may I suggest (tongue firmly in cheek) "Johnny Nine A. M. E.". :eek:

When I was a kid, many moons ago, I received a Johnny Seven O. M. A." (One Man Army). It was a mulitfunctional weapon (a "toy" weapon). I still remember the kid's face on the box ... priceless.

Johnny Nine AutoMation Engine ... it works for me! :(
Thanks.

Yes, naming things isn't my strong point... it took me 2 months to come up with "LumenLink". So now I have j9script (scripting language) and j9sp (johnnynine server pages), why not j9AE :p
 
excellent work johnny. you may want to include porting it into windows media center since you are already designing it under vista.
 
I've added support for adding, editing, and deleting devices through the user interface.

Check out the attachments.

These are working and will be included in the next release.

Johnny
 

Attachments

  • deviceInfoConfig.png
    deviceInfoConfig.png
    65.6 KB · Views: 19
  • deviceInfoProperties.png
    deviceInfoProperties.png
    66.1 KB · Views: 21
  • deviceInfoRules.png
    deviceInfoRules.png
    65.1 KB · Views: 15
And here is a VERY PRELIMINARY rules editor.

Although you can view rules for any device in the Device Information window (seen in previous post), you actually make the changes to in the rules editor.

I'm still working on different concepts for the rules editor and hope to provide type ahead/intellisense support to the script box so device members popup in a drop down list to ease writing scripts. I may also provide a more basic approach to creating the scripts so the user doesn't have to actually know the scripting language.

Johnny

[sub]edit: typos[/sub]
 

Attachments

  • rules.png
    rules.png
    57.6 KB · Views: 26
Back
Top