openHAB Things Channels Items and Bindings

Introduction

It took me too long to actually put some effort to understand what Things, Channels, Items actually are, how they are all related to each other and to the openHAB bindings. They are rather simple ideas and you are better off spending a bit of time clearing those concepts in your head. Here’s a simple explanation

Things

Let’s start with the easy ones. Things as the name implies are the physical devices themselves. Here’s a non-exhaustive list:

  • Motions sensors
  • Door/Window sensors
  • Temperature sensors
  • Z-Wave gateway
  • Zigbee gateway
  • Smart lightbulb
  • Z-wave relay modules / switches

you get the idea right ?

Channels

Channels are equally easy to understand. Let’s take a motion sensor like Fibaro. This sensor does not only detect motion but also reports its battery level and temperature. As we have seen above the Fibaro motion sensor is the Thing and its three properties (motion, battery level and temperature) represent its three Channels. There you are, pretty simple isn’t it ?

Explanation of Things and channels
Things and Channels

Items

This is where things (not openHAB things) get a bit more complicated…but not much. Channels on their own don’t do much. They are capabilities of a Thing. You have to create Items so that a Channel can pass its value to it. In our above example

explanation of an openHAB Thing, Channel and Item
Things channels and Items

Items take values from channels – they have states. Those states are used to create rules for example here is a pseudo rule

if motion_bathroom = true then bathroom_lights=ON

In this case motion_bathroom and bathroom_lights are both items. You can see that we use a state of an item in order to pass a command to another.

You would ask and rightly so, how do we relate channels and items ? We use Links. By linking an Channel to one or multiple Items (or vice versa) we enable the Channel and we assign its value to the linked Item.

Binding

You cannot just add a Thing and its Channels in openHAB just like that. First, you need to install a binding. The binding contains information about its Things and Channels. What each one can do and also its functionality. If you have zwave devices you need to install a zwave binding, if you have zigbee devices you need to install a zigbee binding, if you have a Tesla you need a Tesla binding. Each binding will introduce its own Things and Channels.

Bindings are a community driven effort. There are numerous bindings developed by many people who usually want to add support for the devices they own. If you have devices you wanted to integrate in openHAB you could write your own binding !

Leave a Comment

Your email address will not be published. Required fields are marked *

This website uses cookies. By continuing to use this site, you accept our use of cookies.