Howto: OpenHAB2, RFXCOM and Somfy RTS Rollershutters

This howto describes how to setup the RFXCOM RFXtrx433E transceiver to control Somfy rollershutters using the Paper UI. It was successfully tested on a Raspberry Pi 3 (raspbian) and the nightly build from 30 December 2016.

Prerequisites

  • OpenHAB2 has been installed and is running.
  • The Somfy rollershutters can be controlled using the RFXmngr utility or an openHAB 1.x installation.

Preperation

Connect the RFXtrx433E to the openHAB2 host by plugging in the USB cable into a free USB slot.

Open a command line (e.g. ssh into the openHAB2 host).

Add the openhab user to the dialout group:
$ sudo usermod -a -G dialout openhab

If youā€™re using more than one serial device then create symlinks to these devices using udev rules (see https://github.com/openhab/openhab/wiki/symlinks).

After creating the udev rule reboot. After the reboot completes make sure that the symlink has been created:

$ ls -l /dev/ttyRFXCOM 
lrwxrwxrwx 1 root root 7 Dec 30 18:42 /dev/ttyRFXCOM -> ttyUSB0

Note: This guide assumes that you are using symlinks and that the symlink for the RFXtrx433E device is called /dev/ttyRFXCOM.

RFXCOM Binding Installation

Open the Paper UI and select Add-ons from the left menu.

Scroll down to the RFXCOM binding or type RFXCOM in the search box to quickly find the RFXCOM binding and press install.

Wait for the installation to finish.

Manually Creating an RFXCOM Thing

Open the Configuration menu select Things.

Click the Add Things link or the blue circle with the plus sign to manually add a new thing. Select the RFXCOM binding. Select Add Manually. Scroll down and select the RFXCOM USB Transceiver (do not use the RFXtrx433E USB 433.92MHz Transceiver!). Configure the Serial Port by entering /dev/ttyRFXCOM (if you used a different name or in case you do not use symlinks then specifiy the correct serial port name here, e.g. /dev/ttyUSB0).

The newly added RFXCOM USB Transceiver thing should now be online.

Manually Adding a Rollershutter Thing

The Somfy RTS motors do not transmit any data so openHAB is not aware of their existence. Hence the rollershutters will not automatically appear in the openHAB Inbox and need to be added manually.

In Paper UI open the Configuration menu and select Things. Press the blue circle containing the plus sign. Select the RFXCOM binding. Click Add Manually. Scroll down and select RFXCOM Rfy Actuator.
Optionally give the thing a name and location. Select RFXCOM USB Tranceiver bridge. Specify the Device Id (see Calculating the Device Id below).
Set the Sub Type to RFY.

Click the blue circle to save the changes.

Click on the newly created RFXCOM Rfy Actuator thing. Select the Shutter channel. Create a new Item. Fill in the Item name (or keep the default one). Give it a label and optionally a category. Make sure the Type is set to Rollershutter and press the Link link.

The rollershutter is now setup and can be tested using the Paper UI.

Testing

In Paper UI open the Control menu item. Select the correct location or if you did not fill in a location then select Other.
Your rollershutter should now be visible and you should be able to control it using the down/stop/up buttons.

Calculating the Device Id

Device Ids consist of a Unit Id and a Unit Code seperated by a dot. The Device Id needs to be in decimals, not hex values. Letā€™s assume you have assigned your rollershutter the Unit ID of 0E 0A 03 with Unit Code 1. In decimals 0E0A03 equals 920067. So the resulting Device Id becomes 920067.1. (Do not use leading zeros).

Migrating From openHAB 1.x

Device Ids in openHAB 1.x were written as 14.10.3.1, where the first three numbers were the Unit Id. These old Device Ids need to be translated to the new format. To do so the Unit Id must first be converted to a HEX value.
So in the example above 14.10.3 becomes:

14 -> 0E
10 -> 0A
3 -> 03

The new Unit Id in HEX is 0E0A03. In decimals, the Unit Id is 920067. So the new Device Id now becomes 920067.1. (Do not use leading zeros).

7 Likes

Thanks for writing this, it likely saved me some trial and error in getting my sunscreen to be controlled using the RFXtrx433E transceiver. I needed only half of the tutorial (I already was using the RFXtrx433E) for controlling some KaKu/CoCo lights, but it worked like a charm.

Thanks for your feedback. Itā€™s always good to hear that someone else has also been able to successfully replicate this.

This is the step where I fail. All descriptions I can find are in french, which I am not completely fluent in :slight_smile:

Do you have some links to some examples?

Hi, an English manual for the RFXtrx433E can be found on:
http://www.rfxcom.com/WebRoot/StoreNL2/Shops/78165469/MediaGallery/Downloads/RFXtrx_User_Guide.pdf

I followed the explanation on page 37, chapter 9. I was slightly puzzled by step 1, ā€œselect a unique codeā€, that simply means choose/define your own code. Another remark (in red in the manual), it only works with the ā€œEā€ model, so the RFXtrx433E. This allowed me to control my screen using the RFXmngr tool. After that I followed Marcelā€™s tutorial to get it working in OH2.

Hi,

is this only working if the RTS devices were already connected to the RFXtry433E or can I add new devices via the binding? In Domoticz, e.g., I was able to add a new rollershutter by assigning it the appropriate values under ā€œadd new switchā€ (this means that the ā€œinnocentā€ rollershutter was effectively paired with the transmitter - they were not connected before).

To be honest, I donā€™t know. I did the pairing using the RFXmngr tool as described in the RFXtrx_User_Guide.pdf file linked by Peter.

I donā€™t think the OpenHAB RFXcom 1.x and 2.x bindings support pairing of unpaired RTS devices.

Thank you. The tip on converting from Hex to Dec also helped me for my Windows setup.

Thank you for sharing this knowledge. Itā€™s been of great help so far.

However Iā€™ve not been able to control my shutters using OpenHAB2:

  • I have debugging for RFXCOM enabled. Using the karaf console I execute a log:set DEBUG org.openhab.binding.rfxcom

  • My two RFY actuators are always Offline, though the RFXCOM USB transceiver Thing is Online. Are the actuator Things supposed to get Online?

  • Iā€™ve tried using the deviceId 066567.1 and 66567.1, but the signal does not arrive.

  • My two actuators are successfully controlled using RFXMGR from a Windows machine and are listed properly when using the List command:

------------------------------------------------
Packettype        = Interface Message
subtype           = RFY remote:1 ID:01 09 09 unitnbr:1
------------------------------------------------
Packettype        = Interface Message
subtype           = RFY remote:3 ID:01 04 07 unitnbr:1
  • The RFXCOM is successfully connected:
017-05-30 22:18:56.905 [DEBUG] [g.rfxcom.handler.RFXComBridgeHandler] - Checking RFXCOM transceiver connection, thing status = ONLINE

Any ideas what could be the problem?

I donā€™t know why, but with the current openHAB 2.1 snapshot build #938 the RFXCOM USB Transceiver appears offline, even though it is working. My FRXCOM Rfy Actuator Things are also marked as offline but I can control my rollershutters without any problems using the Control menu in Paper UI.

You donā€™t need to specify the leading zero, so 66567.1 should be fine.

Are you receiving any other things in your inbox, e.g. temperature sensors using the RFXCOM?

Thanks for your reply. Iā€™ve tried upgrading to the latest snapshot build, but I broke OH2. Maybe upgrading to the latest & greatest will fix this issueā€¦ Good to hear that the device being marked offline is not an issue.

That happened to me as well. If you still didnā€™t completely remove openHAB yet, then you may be able to fix it using these steps.

Itā€™s working now, and devices show online! :slight_smile: What I changed was:

  • Upgraded to latest OH2 (had to clear my cache folder before it would start again)
  • Connect the Rfy actuators to the correct bridge using the Thing edit screen in Paper UI
  • Remove leading zeros from the number, as you suggested

Good to hear that it is working. And good to know not to use leading zeros. Iā€™ll update the guide with that remark. Thanks!

Iā€™ve a question which isnā€™t specifically openHab related but is related to the setup described in the tutorial.
The RFXtrx433E manual states that to link (pair) the Somfy shutters with the RFXtrx433E, you need to remove the power to all of the Somfy shutters except the specific one you are pairing.
Iā€™ve got quite a few shutters and I really donā€™t want to spend a day up a (very high) ladder trying to connect and disconnect the power from a very inaccessible part of each of the shutter mechanisms.
Is there a way around this? I canā€™t see that there is but I thought I would ask.

Thanks

I donā€™t think there is a way around this. The problem is that other shutters go into program mode unintentionally and then you accidentally program more than just the one shutter that youā€™d like to program.

Is it not possible to disconnect them where they are connected to mains power? Mine are all connected to mains behind power sockets. So ā€œallā€ I have to do is remove the power socket from the wall and I can disconnect them from mains. Still not a lot of fun, but I donā€™t have to climb any ladders.

Before going up the ladder make sure that you think through how you want to control your shutters. I currently control each individually, but I had to put in a delay of 300ms between each command. Otherwise it seems that congestion occurs and some will not receive the command (and even with the delay some miss the command every now and then).

If I remember correctly then each shutter allows up to 16 transmitters to control them. So you can assign each shutter a unique ID to control it individually, and you can assign them IDā€™s that they share with other shutters so that you can control all of these with only one up/down command. Then you donā€™t have the problem of congestion.
Think of groups like all shutters that you want to close to block out the sun, groups of shutters that you want to control when it gets dark, etc.

I still need to program the ā€˜groupā€™ IDā€™s but keep postponing it because itā€™s such a nice job to disconnect them all :slight_smile:

1 Like

Thanks for that. Iā€™ll have to see where the wiring goes.

I understand the delay. Iā€™ve also got some Bubendorff roller shutters and Iā€™ve added a delay for that when closing more than one at once.

I want to be able to open and close shutters depending on where the sun is so the house isnā€™t in darkness but remains as cool as possible when itā€™s hot - like now.

Thanks for the info about the group IDs - Iā€™ll read up about that.

I just Added my somfy shutters to openhab, without having to disconnect any of them from power. However, I have separate remotes (or separate channels on one remote for two of them) so pressing the program button only triggers one shutter. If your setup is like this youā€™re good to go, but I guess if you have several shutters controlled by one remote, and wants to be able to control them individually, then you have to break power to the rest while you program one.

The group IDs are not real group IDs. You just assign multiple shutters the same ID and then when you address that ID you automatically control multiple shutters (as if they belong to a group).
There is no such thing as a Somfy group ID. Sorry for causing some confusion there.

I actually tried that before and ended up with some of my shutters being controlled by the wrong remote. May be I was simply moving too quickly from one shutter to the next. In the end i ended up disconnecting them all to fix things.