Due to the large variety in devices, protocols and communcation standards it can be difficult to combine Smart Home products to provide a seamless experience. In order to do this Kai Kreuzer started to develop openHAB in 2010. OpenHAB is the opensource home automation bus with many contributors and many different repositories. It allows the user to combine all available products into a single system.

Bindings allow different products to be communicated with through a standardized interface. The rule engine allows the user to program what happens based on time and event triggers, scripts, actions, voice and more. It runs on basically any platform, from low-cost Raspberry Pi’s running Raspbian to Mac OS.

We would like to explore the core to see how well it has been built. The reason for choosing this project is because we all have a personal interest in home automation.


Matthijs Wisboom

First-year CS master. Interested in robotics 🤖, embedded systems and a passion for space travel 🛰️, EDIT: I also have a space station Nathan.

Sterre Noorthoek

MSc student Computer Science 💻 (track: Artificial Intelligence Technology) at Delft University of Technology.

Tom Hoefnagel

Master student Embedded Systems at TU Delft with ❤️ for robotics and entrepreneurship.

Nathan Prins

See Matthijs' bio. The same except for the Master Embedded Systems. Also, my model rocket is much larger. 🚀

openHAB - openHAB's implementation of OSGi

openHAB: openHAB’s implementation of OSGi In our second essay, ‘From Vision to Architecture’, we briefly introduced openHAB’s architecture. As part of that, we introduced the standard on which openHAB is developed, namely OSGi (Open Services Gateway initiative). We learned about OSGi containers, services, and bundles, which was necessary to describe the architecture. In this essay, we want to dig a little deeper and get our hands dirty on finding out how openHAB has implemented this OSGi framework.

openHAB - Quality and Evolution

openHAB: Quality and Evolution Table of Contents Software Quality Processes Continuous Integration Processes Test Processes Hotspot Components Quality Culture Technical Debt Software Quality Processes The health care system is full of fixed processes that are in place to ensure patient safety. A patient is tested for a penicillin allergy before taking the antibiotic. A pre-anaesthesia checkup is in place also to test the sedation before an operation. Similarly, systems have software quality (assurance) processes to ensure that the system meets specific quality objectives before releasing the code into the world.

openHAB - From Vision to Architecture

openHAB - From Vision to Architecture In our previous post, an introduction was given on how openHAB operates and came to be. In this post, we will dive more into the openHABs distribution. At the end of this post, you should have a good understanding of the system and its architectural elements and relationships. Table of Contents Main Architectural Style Containers View Components View Connectors View Development View Run-time View Realizing Key Qualities API Design Principles Main Architectural Style OSGi The standard on which openHAB is being developed is called OSGi.

openHAB - The Product Vision

openHAB - The Product Vision In this series of blog posts we introduce you to the openHAB project. This first blog is about openHAB from a product perspective. We will for instance discuss the goal for which openHAB was created and in what context it operates. In the second post we dive into openHAB’s architecture. We discuss the software quality and evolution of code in the third blog, before we end the series with our final and fourth post where we learn more about the OSGi framework and how openHAB makes use of it.