X10 DS10A: How to change registration code?

FYI for others: It appears the DS10A does set a battery flag. I've included what I've learned from Ben below:

So the W800 will send something like what's pasted below after it decodes the 32 bit security code from a DS10A:

79 76 04 FB
79 76 04 FB
79 76 04 FB
79 76 04 FB
79 76 04 FB


79 76 84 7B
79 76 84 7B
79 76 84 7B
79 76 84 7B
79 76 84 7B

79 76 04 FB is me opening the door. 79 76 84 7B is me closing it.

The real data is in these bytes: 79 04; the other two bytes are complements. 79 is the address and 04 is the command byte.

Note that the upper nibble of what's called the command byte changes: 0000xxxx to 1000xxxx. This means to check for state, one should use and masking and check the most significant bit of the command byte to get state information.

Now, I went and found some low batteries (1.26 volts) and noted the W800 outputs something like this:

DS10 open: 9F 90 05 FA

DS10 close: 9F 90 85 7A.

Note the five. This means the battery low bit is least significant bit of the lower command nibble. I plan to use and masking and check for this bit too.

To clear low battery: if you swap the batteries one at a time, the DS10A may not fully reset the low battery bit. You need to pull out the old batteries, wait a few minutes, then put the new batteries in and hit test to generate a new code.

All command byte information as sent from the W800:
00 alert, max delay
01 alert, bat low, max delay
04 alert
05 alert, bat low
80 normal, max delay
81 normal, bat low, max delay
84 normal
85 normal, bat low
 
What can I say, I'm lazy! For an extra $18-$20, I had to a lot less work :rolleyes:

Your mod is very neat though. I was very close to making it and it looks like it wouldn't take much time either.
 
Back
Top