Bi-directional blinds motor supported

The RFXCOM RFXusb-RFX433 and RFX433XL-USB/Wifi/LAN supports the bi-directional Brel, Dooya, Motionblinds (and other compatible) blinds motors that can be controlled by the DD72xx remotes.
Use RFX433 firmware version 2022 or up.

To add a RFX433 DDxxxx bi-directional device to the blinds motor:

  1. Set the upper and lower limits in the motor using the original remote.
  2. press the “P2” button twice on the original remote.
  3. transmit the “P2 (pair)” command with the RFX433

The hex command structure that can be used in Home Assistant:

0C 31 00 00 11 22 33 44 00 00 00 00 00
|  |  |  |  |  |  |  |  |  |  |  |  |
|  |  |  |  |  |  |  |  |  |  |  |  == always 00
|  |  |  |  |  |  |  |  |  |  |  ===== angle can be hex 00 to B4 
|  |  |  |  |  |  |  |  |  |  ======== percent can be hex 00 to 64
|  |  |  |  |  |  |  |  |  =========== command
|  |  |  |  |  |  |  |  ============== unit code 00 to 10
|  |  |  |  |  |  |  ================= ID4 00 to FF (ID 00000001 to FFFFFFFF)
|  |  |  |  |  |  ==================== ID3 00 to FF
|  |  |  |  |  ======================= ID2 00 to FF
|  |  |  |  ========================== ID1 00 to FF
|  |  |  ============================= always 00
|  |  ================================ always 00
|  =================================== always 31
====================================== always 0C

Command codes:
Up                  0x00
Down                0x01
Stop                0x02
P2 (pair)           0x03
Percent             0x04
Angle               0x05
Percent+Angle       0x06

Unit code:
00   is Group command, all units with the same ID.
01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 unit 1 to 16

**Example**, ID 11 22 33 44, unit 1, P2 (pair) command.
The hex command line without spaces to be used is:
0C310000112233440003000000
2 Likes

Dear @b_weijenberg,

I’ve connected my RFXusb-RFX433 to the motor of my newly installed screen to block the sun.
The RFX can send the command to the device from the rfxmanager on Windows which works like a charm.

I then want to add it to Home Assistant using the set up you provide here (which I know are the same as from the manual). Home Assistant doesn’t accept the hex command and gives me the " Invalid event code" message, or “Ongeldige gebeurteniscode” in Dutch.

I’m not sure I’m asking this question at the correct place but I’m completely out of ideas and things to try. Would you be willing to help me out?

I’ve connected the screens via the DDxxxx section in the rfxmanager. I’ve used the following information:
ID1: 04
ID2: 03
ID3: 02
ID4: 01

Unit code: 01 (which I read is 00 in the hex)

I’m unsure as to how the rest of the build up is seeing every version I try fails.
I came up with this one (which doesn’t work): 0C310000040302010000000000

I hope you can help!

Kind regards, met vriendelijke groeten,

Bjorn

There is an update of the Unit code in the RFX433 firmware and RFXmngr. This was requested by the Domoticz developer.
Please use version 2024 and the latest RFXmngr 19.0.0.52

Your command for unit 1 with firmware 2024 is now: 0C 31 00 03 04 03 02 01 01 00 00 00 00
This is also the code displayed in the latest RFXmngr.

Thank you for replying. I’ve tried the code briefly but Home Assistant claims the same error message. I’ll connect my tranceiver to my computer tonight to see if there’s a different setting I can try.

It seems the RFXCOM integration does not accept the new DDxxxx code.
Please report an issue.

We have added the BlindsT21 command in the RFX433 firmware version 2025 and up.
This command is supported by the current RFXCOM integration in Home Assistant.

To add a RFX433 DDxxxx bi-directional device to the blinds motor:

Set the upper and lower limits in the motor using the original remote.
press the “P2” button twice on the original remote.
transmit the “P2 (Confirm/Pair)” command with the RFX433
The hex command structure that can be used in Home Assistant:

09 19 15 00 10 20 30 41 03 00
|  |  |  |  |  |  |  ||  |  |
|  |  |  |  |  |  |  ||  |  ========== always 00
|  |  |  |  |  |  |  ||  ============= command
|  |  |  |  |  |  |  |================ unit code 0 to F
|  |  |  |  |  |  |  ================= ID4 0 to F (ID 0000001 to FFFFFFF)
|  |  |  |  |  |  ==================== ID3 00 to FF
|  |  |  |  |  ======================= ID2 00 to FF
|  |  |  |  ========================== ID1 00 to FF
|  |  |  ============================= always 00
|  |  ================================ always 15
|  =================================== always 19
====================================== always 09

Command codes:
Up                  0x00
Down                0x01
Stop                0x02
P2 (Confirm/Pair)   0x03


Unit code:
0   is Group command, all units with the same ID.
1 2 3 4 5 6 7 8 9 A B C D E F  unit 1 to 15

Example, ID 10 20 30 4, P2 (pair) command.
The hex command line without spaces to be used is:
unit 1: 09191500102030410300
unit 2: 09191500102030420300

With a bit of trial and error and some help from the RFXCOM designer/developer (thanks @b_weijenberg ), I have had success with getting this to work with our blinds that use Dooya DDxxxx remotes.

So I have put together below full details of how I went about getting them setup.

There is now support for blinds using the Dooya DDxxxx remote using the RFXCOM RFX433 device (newly released in summer 2023) and using firmware version 2025 and up. The remote I have in particular for example is a Dooya DD2702H. Dooya DDxxxx bi-directional remotes use a different type of modulation (FSK instead of ASK) than previous/traditional 433.92 MHz blind motors and the data is also encrypted.

Note: the instructions below assume you are using the new RFX433XL or RFXusb-RFX433 (not previous devices like RFXtrx433, RFXtrx433E or RFXtrx433XL), that you have it connect to your Home Assistant instance and you have installed the RFXCOM RFXtrx integration in Home Assistant. The device can be purchased at here at http://www.rfxcom.com/RFX433XL-USB-en

To add a RFX433 DDxxxx bi-directional device to the blinds motor:

  1. Prep your pairing code.
    The hex command structure that can be used in Home Assistant to prepare a pairing code:
09 19 15 00 10 20 30 41 03 00
|  |  |  |  |  |  |  ||  |  |
|  |  |  |  |  |  |  ||  |  ========== always 00
|  |  |  |  |  |  |  ||  ============= command
|  |  |  |  |  |  |  |================ unit code 0 to F
|  |  |  |  |  |  |  ================= ID4 0 to F (ID 0000001 to FFFFFFF)
|  |  |  |  |  |  ==================== ID3 00 to FF
|  |  |  |  |  ======================= ID2 00 to FF
|  |  |  |  ========================== ID1 00 to FF
|  |  |  ============================= always 00
|  |  ================================ always 15
|  =================================== always 19
====================================== always 09

Command codes:
Up                  0x00
Down                0x01
Stop                0x02
P2 (Confirm/Pair)   0x03

Unit code:
0 is Group command, all units with the same ID.
1 2 3 4 5 6 7 8 9 A B C D E F  unit 1 to 15

Example, ID 10 20 30 4, P2 (pair) command.

In other words (and your not too concerned of the command breakdown above), you can just use the pre-prepared examples below.

The hex command lines below (without spaces) that can be used are:

Room A, unit 1: 09191500102030410300
Room A, unit 2: 09191500102030420300
Room A, unit 3: 09191500102030430300

Room B, unit 1: 09191500102030510300
Room B, unit 2: 09191500102030520300
Room B, unit 3: 09191500102030530300

Room C, unit 1: 09191500102030610300
Room C, unit 2: 09191500102030620300
Room C, unit 3: 09191500102030630300

  1. While pairing can be done with the RFXCOM RFXMngr… my preference is to use Home Assistant as I assume you have already the RFX433 plugged in and it saves the hassle of swapping over and back betwen your HA server and a Windows device. To prepare pairing, go into Home Assistant, then “Developer tools” → “Services” and select the service “RFXtrx: Send”. Be ready to paste in your pairing command from section 1 above and have it ready to send (but don’t press sent yet!)

3a. Optional - set the upper and lower limits in the motor using the original remote (no need in my scenario as they are Solar powered blinds for Keylite roof blinds).

3b. Open the back of your original Dooya DDxxxx remote and press the “P2” button twice and you will hear the blind motor make a slight jutter. (In my situation, I had to press the P2 button on the left and then the P2 button on the right).

  1. Now send your pre-prepared command as per step 2. If it has been successful, the blind motor will jutter again after you have send the command. This indicates that the RFXCOM RFX433 and Home Assistant are now paired with your blind!

  2. Finally, to import device (blind) into Home Assistant:
    In HA, go into “Settings” → “Devices & Services” → click on “RFXCOM RFXtrx” integration. Click “Configure”. In the “Enter event code to add” field, paste in the pairing codes you used above in step 2. You should now see it included in the integration list of devices. Finally, simply rename it by going into the device, click on the pencil in the top right corner to give it a friendly name and voila!

I hope this helps users using the RFXCOM RFX433 with the Dooya DDxxxx remotes.

1 Like

Is there a way to see what the current position of the blinds is, or listen to blind movement originating from official Motion Blinds remotes (i.e. is this actually able to use the bi-directionality) the same way the official bridge does?

It is unknown if a status request is possible.
The current RFXCOM integration in Home assistant supports only a limited set of commands for BlindsT21: Open, Stop, Close.
The RFX433 is able to transmit percentage commands.but this needs the DDxxxx protocol which is not (yet) implemented in the RFXCOM integration.
Maybe this is possible with RFXtrx: Send

1 Like

I have a DD2702H remote and a newly purchased RFX433XL USB and am trying to get RFXmngr to pair with a curtain motor, but am not having any luck.

Neither the DDxxxx or BlindsT21 commands seem to do anything. There is also nothing in the logs when a button pressed on the remote. I did try downgrading the firmware version to 2023 (instead of 2030), but still am not able to get the pairing to work, although with the older firmware version I do see some logs about “UNDECODED DDxxxx” messages when I press buttons on the remote.

Does anyone have suggestions for how to get this working?

Note that I would try the version of RFXmngr prior to the unit code change, but I can’t seem to find any older downloads. I also haven’t yet tried pairing directly from Home Assistant, but I imagine that unless I get it working with RFXmngr first it won’t work with the HA integration either.

Please contact support rfxcom.com with the following information:

  • Which motor type.
  • What is the procedure to pair the motor as described in the user guide of the motor.
1 Like

Did you manage to get this to work? I have the same issue with a DD2702H remote and curtain track

1 Like

Thanks for this!
I have a comment an a question.
Comment: under the chapter “Learn Extra transmitter / channel”, the manual of my motor (Brel BJE24D) states “only possible when end limits are set”. I therefore assume that your step 3a. is not always optional.
Question: Can we also program the group as a whole? I can now send commands to the individual motors, but if I put them in a group or if I have Home Assistant send the command to “all motors in the room X”, it seems that those commands are still being sent individually but too soon after each other, causing one motor not to respond.

Tagging @b_weijenberg who seems to be the guru :slight_smile:

Add another RFXCOM remote device to all motors with the same ID-Unit. This device can be used to control all motors with only one command.

Brilliant in it’s simplicity :star_struck:
Thank you, I’ll get on that this weekend