Convert IKEA firmware version from HEX? to meaningful decimal value

Hi all

Still waiting :roll_eyes: for my C7 so i can leave Smartthings.

I need your help to translate the firmware version on my IKEA devices found in the IDE in Smartthings.
I basically need to know if i need to join and update the devices with my IKEA hub, before i join them to my HE.

This would save me the trouble of first pairing all of them to IKEA, and the do it all over again with HE.

As an example, the firmware is listed in ST IDE for a TRADFRI control outlet as:
0x14020610

According to IKEA's release notes it should have a format like:

Release Version: 1.12.0

30th March 2020

New features and changes in Accessories:

Control Outlet 2.0.024.
Update Regarding the synchronization Feature.

Possible versions are 2.0.019, 2.0.022 and 2.0.024

How do i get from a format like 0x14020610 to x.x.xxx in decimals?

Thx

// Kenneth

That may not be possible, but I can see that 0x14020610 existed back in Dec 2018:

1 Like

Yeah - my outlets will have some updates waiting for them..
But i also have 7 different types of bulb, roller blinds and LED drivers.. :slightly_frowning_face:

The different firmware version listed on the devices must surely refer to something..? :thinking:

Anyone else have an idea or a secret decipher tool..?

Other examples for IKEA firmware versions in ST:
0x12214572
0x12217572
0x12245572
0x14020610
0x21022631
0x22008631
0x22009631
0x22010631

This would be PURE speculation on my part based on trying to make the first one work (2.0.024) but would these numbers work?

0x12214572 -> 18 33 69 114 -> 1.8.216
0x12217572 -> 18 33 121 114 -> 1.8.268
0x12245572 -> 18 36 85 114 -> 1.8.235
0x14020610 -> 20 2 6 16 -> 2.0.024
0x21022631 -> 33 2 38 49 -> 3.3.089
0x22008631 -> 34 0 134 49 -> 3.4.183
0x22009631 -> 34 0 150 49 -> 3.4.199
0x22010631 -> 34 1 6 49 -> 3.4.056

2 Likes

So, first byte divided by ten, the calculate the value of each remaining byte and sum them if I am following the logic?

12 = 18 divided by ten 1.8
21 = 33
45 = 69
72 = 114
33+69+114 = 216

So, 1.8.216

1 Like

That's the best I could come up with, but as I said pure speculation based on one known sample.

WOW - i was not even close to try and look at it like that..!

But i'm afraid that we are not quite there yet, because i'm almost certain that 0x14020610 is not 2.0.024. Sorry if i explained myself badly.. :slightly_frowning_face:
That version was first released March 30th this year, and i haven't updated the outlet for a long time..

0x14020610 should properly be 2.0.019 or 2.0.022

These all actually looks right, but i can't find any of them in the IKEA's release notes as released versions.
But their damn close..!

Thank you for trying to help me with this - do you have any other ideas..?

I'll play around a little more to see if I can come up with some meaningful patterns. Reasonably comfortable with the first byte as I've seen several vendors work it that way, it's the remaining piece where the differences creep in (takes me back to my COBOL and comp, comp-1, comp-3 data days :sunglasses:)

3 Likes