Making sense of Parameters, Bytes, Values

Hello, I’m having a bit of a tough time understanding the Advanced configuration of my Aeotec Z-Wave Light strip: https://aeotec.com/z-wave-led-light-strip/

The user’s manual can be found here: LED Strip user guide. : Aeotec Help Desk

I understand how to setup Parameters, but where I’m lost is exactly how to set Parameter 37.

I’m assuming there’s HEX > DEC conversion going on somewhere. But I’m very lost on the whole process.

Basically I want to set the Color display cycle to Rainbow Mode = 1 , Transition style to 0, Cycle count to 0 (unlimited), Brightness to 75% = 75, Time base to 10ms = 1, Color change speed constant = 0

For four bytes, you have a total of 32 bits, which is what the documentation is laying out.

Laying your parameters out as bits, that’s:

00 000 001 01001011 00000000 001 00000
__ ___ ___ ________ ________ ___ _____
 |  |   |     |        |      |    |
 |  |   |     |        |      |    +-- color change speed level (0=constant, 5 bits)
 |  |   |     |        |      |
 |  |   |     |        |      +-- time base (1=10ms, 3 bits)
 |  |   |     |        | 
 |  |   |     |        +-- cycle count (0, 8 bits)
 |  |   |     |
 |  |   |     +-- brightness (75, 8 bits)
 |  |   |
 |  |   +-- color display cycle (1=rainbow, 3 bits)
 |  |
 |  +-- color change speed (0, 2 bits)
 |
 +-- transition style (0, 2 bits)

If we regroup that into 4-bit “nibbles” it makes 0000 0001 0100 1011 0000 0000 0010 0000

A nibble is a single hexadecimal digit, so all we need to do then is convert the 4-bit nibbles into those hex digits. This is 014b0020 hex.

So set the configuration to “4-byte hex”, and enter 014b0020 and you should be good to go with the parameters you gave.


Binary nibbles to hex digits:

0000 = 0    1000 = 8
0001 = 1    1001 = 9
0010 = 2    1010 = a
0011 = 3    1011 = b
0100 = 4    1100 = c
0101 = 5    1101 = d
0110 = 6    1110 = e
0111 = 7    1111 = f
3 Likes

Wow! Thanks a ton for the help. This worked perfectly :slight_smile: I appreciate it

1 Like

One other question I had, is it possible to send these parameters via a Scene?

Setting these parameters requires a reload in Luup, so it’s not scene-compatible.

Edit: I should add, you can send the command class directly to the device, and that would change the parameter immediately without requiring a Luup reload (Vera could have done this as well, but chose to do otherwise). It’s a bridge too far for me to chase that down without being an owner of this device, though.

1 Like

You can probably work it out from this guide: