Neverdie, have a read of the blog post at
hackaday.io where I outline the some of the problems with home automation and how to address them in software
This software isn't perfect and hasn't addressed all the topics for home automation / IoT (eg. needs more work on security) but it does represent my view on following:
- Use of open and popular standards for the UI and plugins (HTML5, JavaScript, browser / node.js)
- Simple to use yet powerful front end designer that allows for any combination of screens to be built by a non technical end user (drag & drop widgets layout like a drawing package, few constraints on the look and feel of the UI).
- Treating the front end as a portal so that you can integrate information from the cloud (eg. weather) with sensor information easily.
- Archive / history is built in. You want to see the timeline series of any of the 'channels' you simply drag a graph widget onto the page, associate a channel and you get history with data scroll and zoom in/out.
- The transformation function seems to be unique - the ability to create higher level abstractions from the raw data through end user editable rules that turn the data into useful information that can be used like a virtual sensor (eg. graph, used in a trigger etc) has been a very powerful feature. In the blog I give the example of being able to graph the money I make from the utility company by sending power back to the grid from my solar array by cascading a series of these transformation rules.
- Flexible architecture that scales well and can be enhanced (eg. message based, widget based front end, plugin based back end)
Some of the above are not unique anymore (they were when I first developed the software) however I still think there is enough of a differentiation that it warrants further exploration to open source it (the HTML5 front end, use of Node.JS and transformation engine are the key differentiators) if there is interest. Now that I have it working for multiple browsers (thanks Bob for pushing me to get the system installable more easily) I'm thinking of putting up a demo site so people can play with it.
For now if you are interested read the blog as I give examples of widgets and plugins, overview of the architecture and implementation as well as a number of screenshots.