I'm new to IoT world and curious about how i could control multiple home's accessories, i know there is a open-source framework called openHab (and its awesome) but i cannot understand the way of controlling the elements with this framework.

for example, when we have one LED, we can use 2 pin to turn on/off that. but when we need to control all the home? what we could do?

Thanks for your time, Morteza.

  • This is maybe bordering on being 'too broad'. There are at least several hundred different approaches to home automation, each of which has its own pros and cons. You can make use of pre-existing services such as OpenHAB, or you can build your own simple platform without too much experience. If there's a specific issue you're having with OpenHAB and the Raspberry Pi it may be a good idea to rephrase your question to address it.
    – goobering
    Commented Sep 28, 2016 at 9:28

2 Answers 2


When you think of turning on (and off) a LED with GPIO pins you are thinking of the physical layer of the architecture.

Home automation systems (and systems in general) make use of several layers. Each one doing a different job to bring all the functionality together as a system.

A heavily simplified example of what happens is that all the endpoints (devices connected to lamps/door/windows) start up and register/advertise themselves and their capabilities and status (e.g. I'm a lamp and I can turn on and turn off, my current state is off). The will also start listening for messages, and regularly reporting their status.

Some 'control module' will then take your input from a UI, or a set of rules and change those events (button pressed, or temperature too high) into (protocol) messages.

The endpoints will receive these messages and if it was for them it will interpret the message payload into some physical action (e.g. message for lamp01, turn on will be interpreted by the device as set pin X to high).

More detail and a better explanation can be found on the openHAB architecture page and it's worth reading a bit on the ISO systems architecture model .


You should learn about multiplexing. Multiplexing multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share an expensive resource. For example, in telecommunications, several telephone calls may be carried using one wire.

For example, with a 16-Channel multiplexer you could control 16 devices using only 5 pins.

enter image description here

  • 1
    This is fairly unhelpful - what is it about multiplexing that would be applicable in this specific situation, and how would that be achieved using a Raspberry Pi? Can you relate your answer to the question in a meaningful way?
    – goobering
    Commented Sep 28, 2016 at 9:19
  • I added a link to a component. Not sure how to make the concept clearer when the question is so broad.
    – Mag Riada
    Commented Sep 28, 2016 at 9:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.