QRCode unreadable, how can I recover the DSK?

I recently replaced my old gen1 Smartthings hubs with the newer Aoetec one and during the switch over, I found that the Aoetec wants me to scan the QR codes for the switches. However, some of the QRcodes are painted over (and I’m unable to remove the paint without damaging the print) and I don’t have the original boxes/paperwork. In fact one of the stickers is completely blank for some unknown reason!

While I have been able to adopt them without proper security – is there any way I can recover the DSK (or the pin) using the Z-Wave PC Controller + stick (or the Smartthings UI) so I can set these up properly?

Thanks!

Not really, but security is largely oversold in my opinion. I run unsecure on almost everything (except locks/security sensors) and it works great and is faster than S2 across the board.

2 Likes

You should be able to grab it with the PC Controller. I’ve done it with the LightStrip so I’m guessing you can do it with the switches as well.

How you do it is a bit complicated. This is from something I sent someone before, from memory. It’s not the exact set of steps but it’s close enough to help you figure out how to get it:

You have to get it from the PC Controller logging when the device pairs. Add the device to PC Controller as S2 without authentication. (EDIT: This means uncheck the 2 S2 checkboxes.) You then have to look at the log generated when the pairing took place.

I don’t remember the exact line but the full DSK is in there in hex. Disregard the first byte (mine was 0x00). The 5 digit numbers are represented by 2 bytes, so the next two hex values are the first 5 digits of the DSK. Just convert the hex to decimal.

To confirm that you are looking at the proper line, you need to know the rest of the DSK. You can see the entire DSK w/o the first set if you try to add the device to the PC Controller S2 authenticated. Once you have that, convert the 4th and 5th byte of the line you think is correct. It should match the second set of digits in your DSK.

2 Likes

Thank you so much, this works like a charm! I found on the authentication dialog you have to uncheck the 2 S2 checkboxes to get it to show the hex (which I now realize is what you meant by “Add the device to PC Controller as S2 without authentication”).

Awesome!

3 Likes

Thanks, I edited my post to reflect unchecking!

Wow, this is amazing.

Tagging for WIKI inclusion in the future (will search Wiki).

2 Likes

Here are further details on how to accomplish this until it makes it to a Wiki. This pertains to using the PC Controller in a standalone environment and not integrated into a hub. PC Controller v5.39. This was tested using a Red Switch.

Step 1 - Obtain all of the DSK except for the first 5 digits. (This isn’t necessary, but you may want to do it so you can confirm what follows.)

Add the device to the PC Controller. When prompted, add the device as S2_Authenticated only. In the Preparing Inclusion dialog that pops up when you first add the switch, uncheck S0 and S2_Unauthenticated. Click OK.

An Enter DSK dialog will open asking you to enter the first 5 digits of the DSK. That’s what you will obtain in the next step, so you don’t have that now. Just make a note of the remaining portion of the DSK. Click Cancel.

Step 2 - Remove the device from the PC Controller. If the device does not disappear from the Network Management page of the PC Controller, you can click on Reset on that page to clear it, leaving you with only the PC Controller object in Network Management.

Step 3 - Open the PC Controller log from the button in the lower right.

Step 4 - Add the device to the PC Controller. This time, select only S0 in the Preparing Inclusion dialog.

Step 5 - After the device adds, review the log. Near the top, probably the 2nd entry after the Add Node Started entry is an entry entitled Rx_Public_Key_Report. After the + sign, you will see a long hex string starting with 0x00. You will disregard that first 0x00. What follows in octets (i.e. 2 hex values) is the DSK, followed by more hex that isn’t relevant here.

So to obtain your DSK (the first five digits, really, as you already have the rest), you are going to convert, 2 hex values at a time, into decimal (i.e. numbers). If you are unfamiliar with how to convert hex to decimal, you can use RapidTables, linked below.

So for example, lets say that your entry starts with 00EEE795EA and continues with more hex values. Disregard the 0x00. Convert the 0xEEE7 into decimal. That will be 61159 and that is the first set of digits for your DSK.

To confirm that you are proceeding down the right path, you can continue to covert the rest of the hex, 2 values at a time, and confirm that those values match what you saw in step one. So in this example, you convert 0x95EA and convert it into decimal 38378. Look at what you noted in step 1 and it should match. You can keep working your way through two hex values at a time and you’ll find that the decimal you convert will match the reset of the DSK. There is more hex after that, but you won’t need to do anything with that.

NOTES:

1 - You won’t see “0x” anywhere in the PC Controller or in the RapidTables/other converter. It’s just how you identify a value that follows as hex when you are writing something.

2 - If your decimal conversion returns only four digits, add a “0” to the beginning so that you have 5 digits.

That’s it. Remove the device from the PC Controller when you’re done.

2 Likes