X10 DS10A: How to change registration code?

etc6849

Senior Member
It appears the DS10A sends a registration code to an X10 security console to set up the console to work with the DS10A. While I don't have the X10 security console, I do have a few DS10A's, a W800RF32a and a custom driver I've written for Motorola Premise (see: http://www.cocoontech.com/forums/index.php?showforum=51 and http://www.cocoontech.com/wiki/Premise for more info on the W800RF32a driver and Premise). I'm trying to get several DS10A's to do different things within my system and changing this registration code to be unique sounds like the key to do that. When I first got the DS10A's they all sent the same registration code though? ;)

Details
The W800RF32 is responsible for decoding a 32 bit bitstream from the DS10A and sending out ascii representing hex values to a serial port; these values sent represent the state of a given DS10A. When I first put batteries in both DS10A's, I was receiving the same ascii hex code (not very useful). I played with the DS10a's for a while and found that sometimes, if I held test down while putting the batteries in, the DS10A would change it's code to something new and this results in the W800 sending a different four byte ascii hex code. Doing this, I was able to get two DS10A's to have different codes, but my approach seemed random.

I'd like to know a more detailed and systematic approach to change the DS10A's code (I think X10 refers to this code as the "registration code"). It seemed like I had to try random stuff 10-12 times and the DS10A was finally kind enough to change its code for me... Would this require me to purchase an X10 security base unit? I understand the base unit has this concept of zones and supports 16 zones. However, I was under the impression that this registration code would be encrypted and this would change each time the batteries were removed; to me this means that if this registration code is truly random, I can have more than 16 DS10A's all using different codes/triggering different things (via the W800RF32a of course).
 
Mine change codes each time I replace the batteries and no 2 of mine have the same codes.
 
So, I was just extremely unlucky the very first time it sounds like! Both DS10A's were brand new and did show the same code the very first time. I wonder if this is due to some random seed only not being set after the very first battery install.

How long do you remove the batteries for? How many DS10A's do you use? Do you use the DS10As with the security console?

EDIT: Rupp, right you are! It turns out if I leave the batteries out for less than a minute, it retains the code. However, when I left them out for an extended period, the code was reset and this is repeatable. It appears you can have an unlimited number of DS10A's and the code will be different.
 
I was wondering about those code collisions, but never had it happen to me either. Removing the batteries is definitely the correct way of resetting the code.
 
So, I was just extremely unlucky the very first time it sounds like! Both DS10A's were brand new and did show the same code the very first time. I wonder if this is due to some random seed only not being set after the very first battery install.

I have had the same code generated one multiple devices and it's somewhat irritating. I'm mildly curious how that code is generated but not curious enough to crack one open and figure it out. ;)

How long do you remove the batteries for?

I've found that you can pop just one battery out and then hold the test button for a couple of seconds to clear the code... then, when you replace the battery, you can hold that button down again for a few seconds to generate a new code. It doesn't seem to be foolproof as sometimes I've had to repeat the process a couple times, but it does seem to work.

It appears you can have an unlimited number of DS10A's and the code will be different.

It's surprisingly easy to have duplicate codes, I've had it occur multiple times and I have 24 DS10As.

I have a 'nice day' override for my HVAC, triggered from exterior doors and windows remaining open for so long... For the life of me, I couldn't figure out why in the hell it was constantly disabling the HVAC due to the 'nice day' feature. I started working my way through the various failure points to discover the door to my AV gear had the same code as a window, and the door is often cracked open. Sooo, since the reporting interval was different between the DS10As, the two units would send conflicting information on the open/closed status of the 'window,' resulting in erratic HVAC functionality. Luckily I noticed first, so the WAF is intact. Moral of the story - double check your list of codes when adding new devices! :rolleyes:
 
Per the x10 Powerhouse Supervised Security System owner's manual, to reset the module code "Press and hold the TEST button for about a second. The LED flashes twice when you release it. This confirms it has generated a new random security code."

I'm using a ton of these with a W800RF32 interfaced to CQC to monitor the status of windows that are not on my security system, turn closet lights on/off automatically when the door is open/closed, garage door, shop incidental lights (keeps me from having to turn the florescent fixtures on when we're just getting cleaning supplies, tools), the liquor cabinet, etc. Had 7 of them in service for over a year, 18 or so to go...

-Ben
 
I feel like I won the lottery :rolleyes: It had me really confused for an hour or so cause I'd never used the X10 security stuff.

Anyone have experience with the MS10A? Is it more reliable than the MS16a/MS14a/MS13a?

I was wondering about those code collisions, but never had it happen to me either. Removing the batteries is definitely the correct way of resetting the code.
 
I know the feeling, so many cool projects...

I don't know about reliability; they are different in terms of function (see here) with the MS10a specific to security (and much bigger), the other other models transmit X-10 house codes. I have not yet implemented use of these for occupancy/motion sensing. My house alarm (Commercial DSC unit that just won't die so can't justify replacing it with an Elk) has some motion. I'll probably drop an MS14a on my front porch to trigger the porch light. I'm phasing out the x10 lighting control in favor of UPB for reliability and so I can actually have CFL fixtures in the house without worrying about AC line noise. Even with the phase out, I'll still use the x10 modules in conjunction with the W800RF32 as they are so cheap and flexible.
-Ben
 
I'm using an opensource driver I've written for Motorola Premise (it's a free powerful HA program). With the W800, the security code versus house/unit code difference no longer matters to me; where previously it did because I was using the MR26a receiver from X10. The W800 is many times more responsive than the MR26a and the range is incredible.

I'm really wanting to know which motion sensor is more sensitive and the most responsive when used with the W800RF32... I may order the pro version of the MS10a later this week to add it to my driver.
 
I built Morgan's one-quarter wave ground plane antenna and receive signal from all over the house. As to sensitivity, I have not tested, they are really not professional motion detectors, not sure what you will get with the "Pro" version the ones I have are pretty sensitive. I recall a writeup somewhere on these things, don't remember if it was here or just somewhere in the internet ether...

I do not rely on these for my monitored home security system though, I have cats and need pet immune capability not to mention 100% reliability.
-Ben
 
I almost built one of the antenna mods, but ended up getting a nice radioshack antenna that matched the X10 RF frequency:
http://www.radioshack.com/product/index.js...oductId=2103641

My favorite X10 device so far is the HR12a palm pad (my primary reason for getting the W800RF32). I use it to control all kinds of non-X10 stuff throughout my home including z-wave lighting. There's even a neat keychain version: http://www.x10pro.com/pro/pdf/phr04.pdf

PS: anyone know what the rx bit pattern from the W800 changes to when the DS10a battery goes low or is it only the MS10a that gives a low battery warning? I think this is something I'll add to my driver.
 
PS: anyone know what the rx bit pattern from the W800 changes to when the DS10a battery goes low or is it only the MS10a that gives a low battery warning? I think this is something I'll add to my driver.

My rx documentation does not indicate that there is a battery indicator for the DS10a. I'm going to rely on the heartbeat (sends status at x interval) to determine battery, when no heartbeat, generate trouble alert, not ideal but at least I'll know something is amiss. That and a PM on the batteries that is shorter than battery death. I really don't want to have to recode the security code for each module each time it gets lost.

+1 on the keypad and fob, have a bunch of those as well. I'm also big on the 3 key ultra slim wall switches. In the bedroom for example, all lights are controlled, only one by the actual wall switch, the other 3 are controlled by the slim switch which is mounted right next to the main switch. Wife loves it. I'll eventually replace with a combo UPB switch but they cost much more and this still works reliably.

BTW, nice antenna!
-Ben
 
Thanks Ben for all your help. Anyway you could PM or post the rx documentation you speak of? I have a lot of documentation I found for the classic X10 RF stuff, but not so much for the security devices.

The heartbeat/watchdog sounds like a great idea and is something I'm going to incorporate as well.

PS here's the source I was using for the standard RF documentation:
ftp://ftp.x10.com/pub/manuals/
 
You are quite welcome. The document I am referring to can be found here and was updated by WGL. I am guessing that it is what you already have, sorry...
-Ben

edit: Found it. Sending PM. BTW nice doc library link, thanks for sharing. With the heartbeat I will also be able to track when the unit last changed state.
 
Back
Top