The smart home is currently in an evolving period. As a result of the lack of standards and the many different vendors, the smart home industry got fragmented. The smart home solutions cannot support all types of available smart home devices present on the market.
The Eclipse SmartHome provides a framework for smart home solutions, and abstracts the smart home devices, so smart home solutions have a unified access for all types of devices. The device integration to the system happens on Eclipse SmartHome level. As a consequence, the device will be available for all Eclipse SmartHome based smart home solutions.
In a smart home environment, there are many incoming events because of the numerous amount of sensors and devices used. The ‘smart’ trait is provided by the rule engine, which finds the meaningful events among many others, then reacts to them, which has to be efficient. This is where the Complex Event Processing comes to our help. It is designed to find the ’needle in the haystack’ efficiently.
To offer a more efficient way for processing events in a smart home environment, I integrated the Drools rule engine to the Eclipse SmartHome framework. This Drools rule engine integration provides access for using the Drools provided Complex Event Processing. In this integration, I created an API to make the creation of smart home automation rules in Drools easier.
In general, to create smart home automation rules, it is required to know the rule engine syntax and best practices, even for the simplest automation rules. As a result, it is only advised for ’tech-savvy’ people. Drools provides some features for creating rule templates, which tries to simplify the rule creation. However, it is still not easy to create rules with this.
As a consequence, I created a tool to help the creation of simple smart home automation rules. This tool provides a way to connect smart home devices graphically, and then it generates the smart home automation rules for this Drools rule engine. (e.g. connecting a motion detector to a light generates a rule to turn on the light for motion).
For the evaluation of the above described system, I created some of the home automation in a smart home simulator, HomeIO. Through this, I am demonstrating the system and the functionalities provided by it.