Skip to content
nlmarco edited this page Oct 21, 2017 · 8 revisions

What is intellihouse?

intellihouse is a smart-home-solution based on an openHAB-server and many distributed Raspberry-Pi-nodes controlling the actual hardware.

The idea is to put one (or more) Raspberry-Pi in every room and connect the hardware to its GPIO pins. Such a node is then fully functional, even if the openHAB server is offline (e.g. for maintenance or due to a hardware crash). So, if there are local sensors inside the room (e.g. an ordinary key button or a passive infrared sensor), the room's hardware can be used without any openHAB-interaction.

Example setup


key-buttons ---|
blinds --------| (gpio)
lights ---- kitchen-raspi ------|
                                |
fan -----------|                |
blinds --------|                | (ethernet)
key-buttons ---| (gpio)         |
lights ---- livingroom-raspi ---|-- openHAB-server ---- browser/tablet/phone
                                |
lights ------ bedroom-raspi ----|
blinds --------| (gpio)
key-buttons ---|

How do the nodes communicate?

intellihouse provides an openHAB-plug-in containing a servlet. Every Raspberry-Pi acts as HTTP client, connecting to this central HTTP server. However, even though the network connection is established with the Pi being the client to the openHAB-HTTP-server, every device can invoke RPC commands on every other device, for example the openHAB-server can tell the livingroom-raspi to switch the lights on or to open the venetian blinds.

Also one Pi can send commands to another Pi, for example a light being physically connected to the kitchen-raspi might be switched on by a key-button physically connected to the livingroom-raspi.

Every node can be logical client (sending a request + waiting for a response) or logical server (processing a request + sending a response) -- the role changes from moment to moment. For example, if the user switches on a light using the openHAB Android App, the openHAB server acts as logical client sending a "switch on" request to a certain Raspberry Pi. The Raspberry Pi switches on the light and sends an "OK" response -- thus acting as logical server.

Is it secure?

Every node (both Raspberry Pis and openHAB-server) has its own OpenPGP-key-pair. All requests are thus encrypted (using the logical server's public key) and signed (using the logical client's private key). Of course, the same applies to the response messages (signed by the logical server's private key and encrypted with the logical client's public key).

intellihouse is thus one of the most secure smart-home-solutions available!

Only Raspberry Pi?

Other components might follow, but right now, we support only the Raspberry Pi. Please contact us and contribute more!