OK, a little breathing room to let you all know that we are hours away from updating EZSrve.com, our public EZSrve for anyone to see the new functionality. We will also have a qualified release (Beta+) this week, available from our web site for anyone who would like to upgrade prior to the official release that will happen later this month. There are many changes under the hood, and the web interface has also undergone some changes. We are currently updating documentation to make the Beta+ as smooth as possible. A summary of the changes follows:
– The server engine underwent some major changes to abstract Insteon and X10 so that web and socket clients focus on the presentation layer. What this means is a richer API that makes developing thin clients for iPhone, Android, Flash, etc. much easier. Devices, areas, actions (our new timers/triggers/macros) are handled as objects, making object-oriented programming possible. Details on the API are on line.
– A new device object model is now used where device attributes like status, on level, ramp rates, X10 addreses, etc. are handled through “clusters”. It simply means that we can now mix various protocols such as Insteon, X10 and ZigBee. This will be most apparent with the upcoming release of the Flash interface and the ZigBee compatible EZSrve.
– A most exciting functionality is what we now call “Actions”. You can define up to 5 conditionals (6 in the Flash interface) that themselves can combine device states, and time-based triggers to cause “Effects” on up to 5 (6 in the Flash interface) other devices. The conditionals can be logically ANDed or ORed as well as disabled individually. Basically, this new scheme allows conditionals to act on multiple devices simultaneously or sequentially, and other things that we have not even thought of.
– The header banner was removed to allow more room for device lists in areas. This, and the Actions screens will be the major (and only) noticeable changes in the html web interface.
– Different device support is now handled through a file called “DevClusters.xm” that defines attributes and methods for each device class. It is now possible to add new devices very easily. Unfortunately, the html web interfce will not have the various screens specific to each device configuration. We opted for placing all the emphasis on the Flash interface where devices are represented as graphical objects.
– The Flash web/desktop interface works through the socket connection and provides the response of a typical application on a desktop. It is fast and intuitive. A Beta will be available in a few days once we complete our “skinning” strategy for it.
This has been long in the making, but we believe it will advance home automation in terms of ease of use and capability. We started with the idea of a new, revolutionary interface but realized that it involved more than bells and whistles. With the philosophy of “less is more” we undertook a drastic simplification of the API so as to enable creation of better user interfaces. You will not totally appreciate this with the Beta+ as it uses the current html web interface, but I promised you’ll be wowed once we reveal the Flash web/desktop interface.
We look forward to your feedback and to continuing to improve EZSrve with your support.