The OBC for the PRESET button should be 188. Here's how I got it...
Here's the 3 code samples that you posted:
preset #1
0000 0067 0000 0007 0341 010E 005D 010E 005D 0168 005D 00BA 005D 005D 00BA 005D 010E 0168
preset #2
0000 0069 0015 0000 033E 0113 005F 010E 005F 016D 005F 00AF 005F 005A 00B9 005A 0118 0168 033E 010E 005F 010E 005F 016D 005F 00B4 005F 0055 00BE 0055 0118 0168 033E 010E 005F 010E 005F 016D 005F 00B4 005F 0055 00BE 0055 0118 0000
preset #3
0000 0069 0007 0000 0339 010E 005F 0109 005F 005A 016D 005A 005A 010E 0113 005A 005F 0000
First, I will remove the first 4 words as I don't need those anymore, which leaves...
preset #1
0341 010E 005D 010E 005D 0168 005D 00BA 005D 005D 00BA 005D 010E 0168
preset #2
033E 0113 005F 010E 005F 016D 005F 00AF 005F 005A 00B9 005A 0118 0168 033E 010E 005F 010E 005F 016D 005F 00B4 005F 0055 00BE 0055 0118 0168 033E 010E 005F 010E 005F 016D 005F 00B4 005F 0055 00BE 0055 0118
preset #3
0339 010E 005F 0109 005F 005A 016D 005A 005A 010E 0113 005A 005F
Then I will notate which words are ON times (with a +) versus OFF times (with a -
preset #1
+0341 -010E +005D -010E +005D -0168 +005D -00BA +005D -005D +00BA -005D +010E -0168
preset #2
+033E -0113 +005F -010E +005F -016D +005F -00AF +005F -005A +00B9 -005A +0118 -0168 +033E -010E +005F -010E +005F -016D +005F -00B4 +005F -0055 +00BE -0055 +0118 -0168 +033E -010E +005F -010E +005F -016D +005F -00B4 +005F -0055 +00BE -0055 +0118
preset #3
+0339 -010E +005F -0109 +005F -005A +016D -005A +005A -010E +0113 -005A +005F
Now, for the Lutron protocol, the ONE and ZERO times are approximately specified as follows:
ONE: 005A 0000
ZERO: 0000 005A
So, several ONEs in a row will simply produce a longer ON time, likewise, several ZEROs in a row will produce a longer OFF time. Therefore, I will next try to break down the signal into ONEs and ZEROs. The first step is converting each time word into a number of bursts:
preset #1
+9 -3 +1 -3 +1 -4 +1 -2 +1 -1 +2 -1 +3 -4
preset #2
+9 -3 +1 -3 +1 -4 +1 -2 +1 -1 +2 -1 +3 -4
+9 -3 +1 -3 +1 -4 +1 -2 +1 -1 +2 -1 +3 -4
+9 -3 +1 -3 +1 -4 +1 -2 +1 -1 +2 -1 +3
preset #3
+9 -3 +1 -3 +1 -1 +4 -1 +1 -3 +3 -1 +1
Then, you need to convert all the positive numbers into 1s and all the negative numbers into 0s:
preset#1
111111111000100010000100101101110000
preset#2
111111111000100010000100101101110000
111111111000100010000100101101110000
11111111100010001000010010110111
preset#3
11111111100010001011110100011101
Looking at the resulting binary, we can discard 3 and the 3rd repetition from #2 as incomplete learns. Therefore the binary for the signal is:
111111111000100010000100101101110000
The first 8 bits are the "header" and the last 4 bits are the "trailer", which means the data portion is:
100010001000010010110111
Normally, at this point, you would simply convert the various portions of the binary to decimal to get the OBC and device codes, but this signal is encrypted. Each 4-bit string comes from a 3-bit string, where the conversion table is as follows:
0) 000 0001
1) 001 0010
2) 010 0111
3) 011 0100
4) 100 1101
5) 101 1110
6) 110 1011
7) 111 1000
So, let's break the original signal into nibbles and convert them:
Code: Select all
1000 1000 1000 0100 1011 0111
111 111 111 011 110 010
Therefore the true binary signal is:
11111111 10111100 10
Where the 1st 8 bits are the device code: 255
The next 8 bits are the OBC: 188
The final 2 bits are a checksum.
So, bottom line, try entering 188 as the OBC in KM or RM and see if that works for the PRESET button.