Broadlink RM Pro HA speed of payload

Hi all - I have a problem I was hoping you guys could help with.

I am testing a battery powered RAEX motorised blind that uses 433mhz RF. I also have a Broadlink RM Pro.

I have managed to add it to the Broadlink e-control app and it works just fine. However when I add it to HA, I found that it only works while the blind is already in motion. If it is stationary at the top or bottom of its limits it doesn’t work. It is like the blind goes to sleep very quickly after the last button push. Being battery operated that would make sense.

I spoke with the very helpful Australian reseller who’s son had managed to reverse engineer the RF signal from the blinds and developed an Arduino solution that controls the blinds. https://nickwhyte.com/categories/electronics/ Speaking directly with the son, Nick told me that he experienced the same issue while he was developing his solution and to fix it you need to send several short bursts of the command to ‘wake it up’ and then it should work. Following the great advice from this topic https://community.home-assistant.io/t/send-multiple-command-with-broadlink-rm-pro/49551 (thanks to all those who contribute), I have managed to repeat the commands easily enough however I notice that when I repeat the commands, it takes longer and the LED stays on longer. When I just send one command it takes about 1 second, when I send 4-10 commands it takes noticeably longer. Unfortunately the speed at which its doing the bursts of data is simply not fast enough. Nick advised to send the payload 4 times close together(say less than a second), and repeat the transmission 7 times. However the close together is the problem at this point.

I know the RM Pro is capable of this fast burst of RF code as it works just fine on the app, so the hardware must be capable. Just in HA does each send of the command seems to take too long. I have tried setting the ‘timeout:’ to 0 to see if it made any difference, but it still takes about 1 second for I am guessing 1 command.

Does anyone have any idea on how to alter the delay between each command being sent? Perhaps set it to a low number?

For completeness, my HA code is the following:

switch 2:
 - platform: broadlink
   host: 192.168.55.XXX
   mac: 'XX:XX:XX:XX:XX:XX'
   timeout: 0
   switches:
     loungeblind1:
       friendly_name: "Lounge Blind 1"
       command_on: 'sgCEAxcVGBQXFRgUGBQYFRcUGBQ.....
       command_off: 'sgCEAxgUGBUYFBgVGBQYFRcVFxUY......

If anyone can please help, it would be really appreciated.

Thanks.

IIRC you can set the delay time (in an automation action) in millisecs so that should do what you want.

Hi Keithh666,

Thanks mate. I had a look and all I could find was doing something like this:

blind_up:
   alias: "Lounge Blinds up"
   sequence:
     - service: switch.broadlink_send_packet_192_168_55_244
       data:
         packet:
           - "sgCEAxcVGBQXFRgUGBQYFRcUGBQYFRcVWVcY.....
     - delay:
         milliseconds: 10
     - service: switch.broadlink_send_packet_192_168_55_244
       data:
         packet:
           - "sgCEAxcVGBQXFRgUGBQYFRcUGBQYFRcVWVcY...
     - delay:
         milliseconds: 10
     - service: switch.broadlink_send_packet_192_168_55_244
       data:
         packet:
           - "sgCEAxcVGBQXFRgUGBQYFRcUGBQYFRcVWVcY....
     - delay:
         milliseconds: 10
     - service: switch.broadlink_send_packet_192_168_55_244
       data:
         packet:
           - "sgCEAxcVGBQXFRgUGBQYFRcUGBQYFRcVWVcY....
     - delay:
         milliseconds: 10

Is this what you meant?

Unfortunately it does the same thing. The delay that it sends is in between each long command send - it doesn’t seem to make the packet send any quicker - still takes about 1 second per packet/LED being on. If I set the above code to have 1000 milliseconds per command you see the LED on the RM Pro blink on and off evenly each second 4 times… As mentioned above, I know the hardware can do it as the app has no issue.

Perhaps I am chasing the wrong thing here and I should try re-capture the RF signal again in case it isn’t quite right and in that 1 second that the RM Pro’s LED is on it is actually sending many times quickly already. Unfortunately I don’t have an Android device to do the RF codes export but maybe I’ll borrow a mates and try that method. Do you know, if the captured code works in any way with the device (for example, only when already moving as above) that the code must be right? Or doesn’t RF work that way…?

Finally, how do you know what model to use under ‘type:’ in HA? I am curious that perhaps I need to have this specified as different models have different speeds at which they can send commands and that as I don’t have one in there, it is defaulting to a slow send speed?

Any more advice will be gratefully received.

Thanks.

Well you could send more codes by holding the RF remote control down longer, not sure if that will change anything tho’. I think the RM Pro will send as many codes as it records while you have the button pressed. As for type you use the type for whatever you have, in my case …

- platform: broadlink
  host: !secret broadlink_host
  mac: !secret broadlink_mac 
  timeout: 15
  switches:
    vehosoundbar:
      friendly_name: "VehoSB"
      command_on:  'JgB0AAABJpISFBETERQRFA8VEhISExITEzYSNxU0ETkUNhE3EzcSNxQ2EjYTExISEhQRFA0WEjcRFRETETYUNw48EjgROBETFQADBwcAAgUAASVJEgAMPgABJUoSAAw+/AciShEADD8AASlGFgAMOgABJUoSAA0FAAAAAA=='
      command_off: 'JgB0AAABJpISFBETERQRFA8VEhISExITEzYSNxU0ETkUNhE3EzcSNxQ2EjYTExISEhQRFA0WEjcRFRETETYUNw48EjgROBETFQADBwcAAgUAASVJEgAMPgABJUoSAAw+/AciShEADD8AASlGFgAMOgABJUoSAA0FAAAAAA=='

I don’t use a type and mine works flawlessly, however I’m not trying to send commands with millisecond accuracy :frowning:

I’ll have a look into this for you this afternoon but what I remember from when I was analysing the capture base64 (and converting to hex and tabulating) is that the repetitions are in that code. It may therefore help to recapture.

check out

you can decode your capture with

when I decode your snippet “sgCEAxcVGBQXFRgUGBQYFRcUGBQ” I see “b2” which is RF433 but then “00” which means repeat count 0 (0 = no repeat). You might just need to up the repeat count, encode back to base64 and try that in home assistant.

good luck

PS I learnt a lot decoding the Lucci Futura Eco 122cm Fan from Beacon Lighting. We have four in our house and I can generate codes and then encode them now based on the Chanel (dip switches) of a fan. I must wrap te that up.

Edit : Spelling

Thanks keithh666 - I had the same thought and when I do that it just takes longer but doesn’t kick off the blind… ;(

I might try a few different types and see what happens.

Hey Ryan,

Thanks so much for your help! Yes you are correct, that particular string that I quoted in the post was set to a single repeat but I had also tried (using the same method) setting it to 07(repeat 7 times), 0a(repeat 10 times) and 1a(repeat 26 times) but all it does is repeat the LED burst for that number of times, doesn’t seem to make any difference to how long a single send of the command takes. Which doesn’t make a great deal of sense as the repeat is actually happening at the device end, not HA, so if it works for the App it should work for HA?!

Which brings me back to thinking there is something with the command string that isn’t quite right and causing the problem. And that perhaps it is already sending fast enough and that isn’t the problem. I think I will go back to bare basics, try recapture the string or perhaps borrow a friends Android phone and export the codes that way.

Thanks all for your help. If I work anything out I will be sure to post back.

Lachlan.