Setup roller shutters with two different relais

  • Platform information:
    • Hardware: ArduinoUNO + 8 channel SSR relay board (link)
    • OS: -
    • Java Runtime Environment: -
    • openHAB version: 2.3

I would like to control my roller shutters via two relais. One will be responsible for ‘up’ the other for ‘down’.
My plan was to write a rule to activate the relais just for a specific amount of time (via timer) until the roller shutters will be completely opened/closed.

But one problem:
I need to make sure that the two relais are not active at the same time, because this could bring my roller shutters to failure.


Rollershutter Shutter_FF_Kitchen		"Rollershutter"									(FF_Kitchen, Shutters)      {mqtt=">[mosquitto:ff-kitchen-gw1-in/1:command:UP:1],>[mosquitto:ff-kitchen-gw1-in/2:command:DOWN:0]"}

How could I achieve this? Whats the best way?

  • Is it possible to send multiple MQTT commands out in a specific order via one switch command?
  • What will happen first if I click a switch in openhab: Item Rules or the Switch binding in my case MQTT command of the switch?

Thanks in advance for your replies.


Having burnt out 1 motor controller in my time, I recommend that you wire the relays so that it is impossible for power to be applied to both directions, regardless of the software.

I achieve this by using 1 change-over (SPDT) relay and 1 Normal Open (SPST) relay.

Power into common of changeover relay.

NO connection to Motor Up

NC connection to common of 2nd relay

NO connection of 2nd relay to Motor Down

Using this way of wiring, you can NEVER burn out the motor and you retain the ability to stop the motor at any position you wish.

Good luck with the software side.



1 Like

Having long-time experience with operating rollershutters from openHAB, I’d strongly vote against a DIY solution.
You’ll run into timing problems because of multiple reasons such as incalculable execution and transmission delays. Among other problems, that’s creating an ever-recurring need to keep recalibrating your shutters.
You’ll also easily run into software-side errors such as your rules/Arduino code to not work properly, let alone the ‘bad’ electrical states you’ll create during the development cycle.

While you likely don’t want to hear that, my advice would be to go for a commercial actuator such as any from the KNX or ZWave world to handle electrics and timing inside the actuator. It’s not that expensive any more and worth the money (a Fibaro FGRM-222 is ~45€, that’s less than any killed motor if you include mounting efforts).


I’ll second that.

The Velbus VMB1BLS and VMB2BLE are excellent motor and blind controllers, that have all the timing and interlocks built in.