Broadlink Pro Move Lamp 433 Mhz

Hello,

i have a PURE Moto-Rise LED-Hängeleuchte mit CCT. You can Move the lamp up and down via 433 MHz remote control.

But I have a problem if I try to control this with Home Assistant and Broadlink the 433 MHz Command will stuck every time the lamp lift up and go down.
is it possible to extend the 433 MHz Signal, and how can I do that.

These are the Signals I captured with Broadlink to lift the lamp up:

scDIA7qeBgANJxAlDSYNJw4nJw0nDScOJg0nDQ0oJw0MJycOJw0MKA0AAZUMJg4nDScNJg8mDScNJycMDyYNJw0nDiYNJygMJw4nDScNJg4NJycNDScnDScNDSgMAAGVDCcNJw0nDiYOJg0nDicnDA0nDyYNJg4mDicoDCcNJw0nDiYODCcnDgwoJg0nDgwoDAABlgsnDScOJw0mDiYPJg0nJwwPJg0nDScOJg4mKAwnDicNJwwnDg0nJw0NKCYNJw0NKAwAAZULJw4nDScNJg8mDiYNJigNDiYNJw4nDiYNJigNJw0nDScOJg0NJycODCgnDCcODScMAAGWDCcNJg4mDicNJw0mDicoDA0nDiYNJw4mDiYoDCgMJw4nDScNDSgmDQ0nJw4mDgwnDgABlAwnDicNJg0nDicNJg4mKA0NJw0mDyYNJw0nJw0nDScNJw0nDgwoJg0OJycNJg0OJw0AAZQNJw0mDiYOJw4mDSYPJigMDScOJg4mDScOJigNJwwnDicNJw0NKCYNDScnDSYPDCcNAAGWCycNJw4mDScOJg4mDiYoDA4nDSYOJg8PBBQNJycNJw0oDCcNJw4MKCYODScnDScNDScNAAGUDCcOJg0nDScOJw0mDScnDg0nDCcPJg0nDScnDSgMJw0nDicNDCcnDg0nJw0mDwwnDQABlQwnDSYOJw0nDScOJg4mKAwNJg8mDiYNJw4nJw0nDSYOJw0nDQ0nJw0NJycOJw0MJw4AAZQMJw4nDCcNJw4nDSYOJigNDScNJg8mDSYOJycNKAwnDScNJg8MJycNDSgmDiYNDSgMAAGVDSYNJw0nDicNJg4mDyYoDA0mDyYNJw0nDiYoDCgMJw4nDSYODScnDQwoJw4mDQ0nDAABlgwmDScOJw0nDSYOJw0nJw0OJg0nDScOJw0mKAwnDicNJw0mDwwnJw0NKCYNJw0NKAwAAZUNJQ4nDScNJg4nDiYOJigMDScNJw4nDSYNJygNJw0nDScNJw0NJycODCcnDScODCgMAAGWCycNJw4nDCcNJw4nDSYoDA4mDicNJg4mDicnDScMJw4nDScNDSgmDgwnJw4nDQwnDgABlAwmDicOJg0mDyYNJw0nJw0OJg0nDicNJw0mJw0oDScNJwwnDg0nJw0NJycNJw0NKAwAA0AgISAhHyEgIRH+EYQRgxI8Ej8RgRGDEjwSPxE7EYQRPRGFETsSPBI8Ej8ROhKDEjwShRE7ET0RgxKFEToTPBI8Ej4SgRI8EjwShRGBET0SPBKFEToSPBM8EoMTAAXc

I think its base64.

If I send this command directly next to each other the lamp stops a short time. how can I send this command only longer?

best regards Jan

I think you have captured a very messy signal and that is why you get the stop between multiple sends. The Broadlink just captures whatever your remote sends while you are holding down a button. It doesn’t understand what the command means, it just repeats the signal back that it captured.

Lets have a go at cleaning up your captured signal. Yes it is base64. Convert it to hex using this site https://base64.guru/converter/decode/hex

This gives

b1c0c803ba9e06000d2710250d260d270e27270d270d270e260d270d0d28270d0c27270e270d0c280d0001950c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c0001950c270d270d270e260e260d270e27270c0d270f260d260e260e27280c270d270d270e260e0c27270e0c28260d270e0c280c0001960b270d270e270d260e260f260d27270c0f260d270d270e260e26280c270e270d270c270e0d27270d0d28260d270d0d280c0001950b270e270d270d260f260e260d26280d0e260d270e270e260d26280d270d270d270e260d0d27270e0c28270c270e0d270c0001960c270d260e260e270d270d260e27280c0d270e260d270e260e26280c280c270e270d270d0d28260d0d27270e260e0c270e0001940c270e270d260d270e270d260e26280d0d270d260f260d270d27270d270d270d270d270e0c28260d0e27270d260d0e270d0001940d270d260e260e270e260d260f26280c0d270e260e260d270e26280d270c270e270d270d0d28260d0d27270d260f0c270d0001960b270d270e260d270e260e260e26280c0e270d260e260f0f04140d27270d270d280c270d270e0c28260e0d27270d270d0d270d0001940c270e260d270d270e270d260d27270e0d270c270f260d270d27270d280c270d270e270d0c27270e0d27270d260f0c270d0001950c270d260e270d270d270e260e26280c0d260f260e260d270e27270d270d260e270d270d0d27270d0d27270e270d0c270e0001940c270e270c270d270e270d260e26280d0d270d260f260d260e27270d280c270d270d260f0c27270d0d28260e260d0d280c0001950d260d270d270e270d260e260f26280c0d260f260d270d270e26280c280c270e270d260e0d27270d0c28270e260d0d270c0001960c260d270e270d270d260e270d27270d0e260d270d270e270d26280c270e270d270d260f0c27270d0d28260d270d0d280c0001950d250e270d270d260e270e260e26280c0d270d270e270d260d27280d270d270d270d270d0d27270e0c27270d270e0c280c0001960b270d270e270c270d270e270d26280c0e260e270d260e260e27270d270c270e270d270d0d28260e0c27270e270d0c270e0001940c260e270e260d260f260d270d27270d0e260d270e270d270d26270d280d270d270c270e0d27270d0d27270d270d0d280c000340202120211f21202111fe11841183123c123f11811183123c123f113b1184113d1185113b123c123c123f113a1283123c1285113b113d11831285113a133c123c123e1281123c123c12851181113d123c1285113a123c133c1283130005dc

Although this looks meaningless, by understanding a little about the Broadlink command file structure you can make some sense of it. It starts with a frequency indicator:

b1c0

Followed by a file length (in reverse byte order) of 03c8 hex which is 968 bytes:

c803

Then some bytes I don’t understand:

ba9e
0600

Then repeating cycles of a command coded as hi/lo transmit times such as 0d27 (high for 0d, low for 27). Note there is a bit of variance in the timings so 0d27 is the same as 0f26. These hi/lo timings represent 1’s and 0’s but you don’t need to decode them to clean things up. The file ends with a terminator of:

05dc

Here is a copy of your capture rearranged to make the cycles clear. Each cycle starts with a 0195 (or similar) lead-in which helps the device sync with the signal so it can decode it:

b1c0
c803
ba9e
0600
                                    0d2710250d260d270e27270d270d270e260d270d0d28270d0c27270e270d0c280d00
01950c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c00
01950c270d270d270e260e260d270e27270c0d270f260d260e260e27280c270d270d270e260e0c27270e0c28260d270e0c280c00
01960b270d270e270d260e260f260d27270c0f260d270d270e260e26280c270e270d270c270e0d27270d0d28260d270d0d280c00
01950b270e270d270d260f260e260d26280d0e260d270e270e260d26280d270d270d270e260d0d27270e0c28270c270e0d270c00
01960c270d260e260e270d270d260e27280c0d270e260d270e260e26280c280c270e270d270d0d28260d0d27270e260e0c270e00
01940c270e270d260d270e270d260e26280d0d270d260f260d270d27270d270d270d270d270e0c28260d0e27270d260d0e270d00
01940d270d260e260e270e260d260f26280c0d270e260e260d270e26280d270c270e270d270d0d28260d0d27270d260f0c270d00
01960b270d270e260d270e260e260e26280c0e270d260e260f0f04140d27270d270d280c270d270e0c28260e0d27270d270d0d270d00
01940c270e260d270d270e270d260d27270e0d270c270f260d270d27270d280c270d270e270d0c27270e0d27270d260f0c270d00
01950c270d260e270d270d270e260e26280c0d260f260e260d270e27270d270d260e270d270d0d27270d0d27270e270d0c270e00
01940c270e270c270d270e270d260e26280d0d270d260f260d260e27270d280c270d270d260f0c27270d0d28260e260d0d280c00
01950d260d270d270e270d260e260f26280c0d260f260d270d270e26280c280c270e270d260e0d27270d0c28270e260d0d270c00
01960c260d270e270d270d260e270d27270d0e260d270d270e270d26280c270e270d270d260f0c27270d0d28260d270d0d280c00
01950d250e270d270d260e270e260e26280c0d270d270e270d260d27280d270d270d270d270d0d27270e0c27270d270e0c280c00
01960b270d270e270c270d270e270d26280c0e260e270d260e260e27270d270c270e270d270d0d28260e0c27270e270d0c270e00
01940c260e270e260d260f260d270d27270d0e260d270e270d270d26270d280d270d270c270e0d27270d0d27270d270d0d280c00
0340202120211f21202111fe11841183123c123f11811183123c123f113b1184113d1185113b123c123c123f113a1283123c1285
113b113d11831285113a133c123c123e1281123c123c12851181113d123c1285113a123c133c12831300
05dc

You can see that the first cycle is incomplete. This just means that the capture started mid-cycle. There is also one cycle in about the middle of the file that is slightly longer having some dubious extra bytes in there. I guess this was a glitch or interference. At the end though is a bunch of codes that don’t seem to have any structure. I think that is just noise that got captured and may be causing your stopping.

To clean it up just take a single good cycle and reencode it.

b1c0
c803
ba9e
0600
01950c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c00
05dc

The file length is everything from the ba9e through to and including the 05dc terminator. So that’s 116 characters or 58 bytes which is 3a in hex. Reversing the bytes for the length gives 3a00.

So altogether your cleaned command would be:

b1c03a00ba9e060001950c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c0005dc

Convert it back to base64 via https://base64.guru/converter/encode/hex and you get:

scA6ALqeBgABlQwmDicNJw0mDyYNJw0nJwwPJg0nDScOJg0nKAwnDicNJw0mDg0nJw0NJycNJw0NKAwABdw=

Cross your fingers and give that a try in your Home Assistant Broadlink command file. If it doesn’t work then try using two complete cycles for the data part and recalculate the length accordingly. Some devices need a bit of time to lock into the signal.

I’ve used this approach to clean up all my Broadlink 433MHz commands and have a very tidy command file in Home Assistant as a result.

1 Like

Minor correction to my above post. If an encoded transmit time is greater than 255 (0xff) then it is preceded by a zero byte followed by a double byte representing the larger number. So I’ve got the repeat cycle folding in the wrong place above. Here is the correct interpretation with a long low pulse as the end of each repeat.

b1c0
c803
ba9e
0600
                               0d2710250d260d270e27270d270d270e260d270d0d28270d0c27270e270d0c280d0001950
c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c0001950
c270d270d270e260e260d270e27270c0d270f260d260e260e27280c270d270d270e260e0c27270e0c28260d270e0c280c0001960
b270d270e270d260e260f260d27270c0f260d270d270e260e26280c270e270d270c270e0d27270d0d28260d270d0d280c0001950
b270e270d270d260f260e260d26280d0e260d270e270e260d26280d270d270d270e260d0d27270e0c28270c270e0d270c0001960
c270d260e260e270d270d260e27280c0d270e260d270e260e26280c280c270e270d270d0d28260d0d27270e260e0c270e0001940
c270e270d260d270e270d260e26280d0d270d260f260d270d27270d270d270d270d270e0c28260d0e27270d260d0e270d0001940
d270d260e260e270e260d260f26280c0d270e260e260d270e26280d270c270e270d270d0d28260d0d27270d260f0c270d0001960
b270d270e260d270e260e260e26280c0e270d260e260f0f04140d27270d270d280c270d270e0c28260e0d27270d270d0d270d0001940
c270e260d270d270e270d260d27270e0d270c270f260d270d27270d280c270d270e270d0c27270e0d27270d260f0c270d0001950
c270d260e270d270d270e260e26280c0d260f260e260d270e27270d270d260e270d270d0d27270d0d27270e270d0c270e0001940
c270e270c270d270e270d260e26280d0d270d260f260d260e27270d280c270d270d260f0c27270d0d28260e260d0d280c0001950
d260d270d270e270d260e260f26280c0d260f260d270d270e26280c280c270e270d260e0d27270d0c28270e260d0d270c0001960
c260d270e270d270d260e270d27270d0e260d270d270e270d26280c270e270d270d260f0c27270d0d28260d270d0d280c0001950
d250e270d270d260e270e260e26280c0d270d270e270d260d27280d270d270d270d270d0d27270e0c27270d270e0c280c0001960
b270d270e270c270d270e270d26280c0e260e270d260e260e27270d270c270e270d270d0d28260e0c27270e270d0c270e0001940
c260e270e260d260f260d270d27270d0e260d270e270d270d26270d280d270d270c270e0d27270d0d27270d270d0d280c0003402
02120211f21202111fe11841183123c123f11811183123c123f113b1184113d1185113b123c123c123f113a1283123c1285113b113d11831285113a133c123c123e1281123c123c12851181113d123c1285113a123c133c128310005dc

Note that the last repeat always seems to end with 0005dc. So here is a corrected single cycle:

b1c0
____
ba9e
0600
c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c00005dc

And here it is in a single line with the adjusted length:

b1c03800ba9e0600c260e270d270d260f260d270d27270c0f260d270d270e260d27280c270e270d270d260e0d27270d0d27270d270d0d280c00005dc

And in base64:

scA4ALqeBgDCYOJw0nDSYPJg0nDScnDA8mDScNJw4mDScoDCcOJw0nDSYODScnDQ0nJw0nDQ0oDAAAXc