The computer science and the internet rule our world in the 21st century. The computer systems gained ground in such fields where it had not even existed before, considering the impact of mobile phones and cars on our daily life. Home automation systems will probably also become widespread in the future. Unlike former automation systems, the new ones appearing on the market are able to control a whole house. The Multip Kft. and I took the opportunity to create and develop our own system with the name, HAM (Home AutoMation).
HAM is an application for home environments. The system consists of multiple parts: a house with remotely controllable devices, some controller computers, a controller application and some adapters which can control the analog circuits and can be controlled by the computers. HAM aims to create the connection with different parts of the system which can be distributed on multiple computers. HAM consists of a framework and arbitrary number of modules. The framework serves for an asynchronous communication between modules, and manages their configuration. The modules also can connect to the framework through the network, the type of the connection is hidden. Communication messages are usually triggered by system issued events. Modules have to provide the functionality of the system, including device controlling.
Home automation always interacts with humans, so real-time response is required. The system has multiple user interfaces, first of all the configuration interface where the user can set up the modules. Secondly, it gives the user the opportunity to monitor the current state of the house, and interact with it. The configuration and the monitoring can be done through the internet.
The thesis presents the architecture of the whole system and some implementation details. The implementation is fully platform independent, it is based on open source Java and Enterprise Java technologies.