X10 Code Translator

Earlier this year we had a discussion on handy widgets for X10. One of the things we kicked around was a code translator that would accept commands from a RF remote, and translate those commands to other house / unit codes.

I had been working on PIC replacement for the RR501 to incorporate that capability, but it occurred to me that it already exists in the CM15A. So I don't think it is worth continuing the RR501 project.

Jeff

Reply to
Jeff Volp
Loading thread data ...

Jeff,

One difference is the RR501 is standalone, where the CM15A could be connected to USB.

The RR501 is less common than the TM751's. Could they be used instead?

Wouldn't Dave Houston's Rosetta product overlap with this concept anyway?

By the way XTB: Great product! Thanks!!

Sincerely, Jack :)

P.S. Nice logo! :-O

formatting link

Jeff Volp wrote:

Reply to
Jack Edin

Reply to
Dave Houston

Are you talking about their "RF Macros" they talk about here:

formatting link
How would that work to allow an X-10 remote to control all 16 housecodes without reprogramming the base housecode of the remote? My thought was that I would reserve unit code 16 on the base housecode to trigger a temporary housecode shift. When A16 and only A16 ON is received, the macro should parse the following button presses accordingly:

thus [16] + [ON] + [06] + [10] + [ON] would turn on device F10.

The [16] + [ON] acts as an escape code to indicate metadata follows.

The [06] of the sample sequence (which I'll call the "select temp housecode" segment) equals temporary housecode F

The [10] + [ON] part of the sequence equals the unit code of temporary housecode to be commanded and [ON] of course, activates the "non-base housecode" unit.

There has to be some way of exiting the escape mode. I believe Dan's design used a timer to revert to the normal operation mode within a very short time. A16 OFF wouldn't work because the unit's in the "escape" mode and it would activate the new housecode.

I haven't thought about how to program it other than some sort of CASE construct where:

CASE SelectTempHousecode = '01' Transmit Housecode "A" . . .

I don't even need a full 16 housecode CASE statement because I really only use 4 housecodes.

Even if the CM15A can't do what I want, interestingly enough the ControlLinc Maxi's (why does that sound like a feminine hygiene product?) multiple housecode "ALL OFF" macro buttons have reduced a lot my the need for an "All Housecode Remote" to go along with X-10's All Housecode receiver. It still would be nice to have and if you know how to do it with the CM15A, I'm all ears (and thumbs and left feet, I'm afraid.)

-- Bobby G. - Having a deja vu

Reply to
Robert Green

Hi Bobby,

The modified RR501 would have translated one set of "remote" house/unit codes to other codes:

K1 ON -> A4 ON K2 ON -> B7 ON K3 ON -> B8 ON K4 ON -> C1 ON K5 ON -> D5 ON K6 ON -> F6, G9, L5 ON ....

We also talked about a two key sequence accessing another set of commands:

K9 ON K1 ON -> A7 ON

In the CM15A, the K9 ON would trigger an internal macro setting an unused house/unit code XX ON for a short interval. Then using a smart macro (I believe you have to buy the upgrade), you can use K1 ON AND XX ON -> A7 ON.

The XX code would turn off automatically after the interval. It could also be added to the smart macro to automatically cancel after it is actuated.

I think the CM15A can do everything we had discussed.

Jeff

Reply to
Jeff Volp

I've been reading through:

formatting link
and it seems pretty powerful. If they still have a money-back guarantee it's worth a look. I'm want something that's not as cryptic as Cmax but not as limited as Activehome. The Ocelot's lack of an RF interface made it less than optimal for my HA needs Working around that lack means inducing delays waiting for RF to be converted to PLC before evaluating a condition. That's something that gets pretty bothersome at X-10's line speed.

Thanks for the tip. Are Smartmacros recent or have they been around for a while?

-- Bobby G.

Reply to
Robert Green

| There has to be some way of exiting the escape mode. I believe Dan's design | used a timer to revert to the normal operation mode within a very short | time.

No, I leave it in escape mode until you send the escaped function...

| Even if the CM15A can't do what I want, interestingly enough the ControlLinc | Maxi's (why does that sound like a feminine hygiene product?) multiple | housecode "ALL OFF" macro buttons have reduced a lot my the need for an "All | Housecode Remote" to go along with X-10's All Housecode receiver.

In my unix mapping implementation I look for three All Units Off in a short time (or the equivalent held key) on my main house code and tack on All Units Off for the other house codes. I also expand a single All Lights On in a similar way.

Dan Lanciani ddl@danlan.*com

Reply to
Dan Lanciani

Conditional macros were included in the CM14A that I beta tested back in '98. (I didn't realize it was that long ago!) The CM14A was very similar to the present CM15A except that it had a serial interface like the CM11A. X10 dropped development of the CM14A, but I used the beta unit for almost 5 years. I switched to the Ocelot because there was no replacement available for the CM14A should it ever fail. But the CM14A conditional macro capability did everything I needed back then. I since added temperature monitoring and ventilation control with the Ocelot, so I've grown past the CM15A capabilities for now.

The smart macro upgrade is cheaper on eBay than through X10 unless you luck upon a combo deal that throws it in for free.

Jeff

Reply to
Jeff Volp

Scary, isn't it, how time flies?

Agreed. But X-10's reputation for quality software makes a money-back guarantee an attractive proposition. Besides, I don't own a CM15A so I'll need that as well as the SW.

What will really cinch the deal is if I can emulate the "invert selection" function in Windows. I'd like to be able to press a quick series of keystrokes that allows me to turn off all units EXCEPT one or two. Thus:

[01] + [05] + [Invert] + [ON] would turn OFF all units on that housecode except for 1 and 5. I'm betting even the Ocelot and CMax would have a hard time with that. Still, it's something I've wanted to be able to do for a long time. If I sit down in my office, I want to turn out all the lights in the house EXCEPT the ones in the office on that unit code. I am sure a lot of Maxi and X-10 remote users hit ALL OFF and the ON code for the room they are in. Why cycle the darn lights twice, though?

Thanks for the tips about Smart macros. I will definitely look into them.

-- Bobby G.

Reply to
Robert Green

Oops. I seem to make a habit of misquoting you. Sorry. I knew you had some way out - that should get partial credit! I'm pretty sure someone who's also done something very much like this has a timer loop.

That much sticks in my mind because I recall how I thought that a timer was a very good idea. I can see myself leaving a remote in the escaped/temporary house code mode easily. Just as easily as I end up turning out all the lights inadvertently when I think I am muting the sound using the 8-in-1's mute/all lights off key without switching the device mode from X-10 to TV first.

The 8-in-1's shift key, now that I think about it, is an escape function already built-into the remote. IIRC, it's completely disconnected from any X-10 RF functionality. :-( That's a shame because the sequence:

[Shift] + [06] + [10] + [ON/OFF] would be perfect for turning other-than-base housecode devices (in this case F10) ON and OFF. The remote would then allow you to enter more "shifted" commands until it timed out or until you toggled the shift key.

I'm assuming from your first paragraph you mean you after you send the ON/OFF function, the unit reverts to the base housecode. Or by "escaped function" do you mean until you send another code your interpreter sees as the escape code the unit stays shifted? Does that mean you can't send stacked escape commands?

When using the X-10 remote, I'd love to be able to stack commands for individual units, just like the Maxicontrollers do. Do you think that would be possible with the 8-in-1 remote and controller like the CM15A and Smart macros? Or is the remote's HW/FW such that it can't be done?

If my admittedly faulty recall is correct, you're the guy that burst my bubble about doing that easily with an Ocelot by pointing out that the RF remote doesn't send a unit code UNTIL after you press a function button. I had blithely (and wrongly) assumed that like the Maxi's, if you press a unit number button on the remote, you get an output right then.

I've always wondered how the remote parses the unit code since there can be either one or two button presses before a function is pressed. Does it just store the last two unit key presses in a buffer and evaluate them when a function key is pressed?

I'm not sure I understand that despite having read it numerous times. What happens after you send three AUF's? Is that how you enter the escape mode? Or are we discussing how you've implemented AUF's for different housecodes? I'll go check out your site to get some more background.

{time passes} Nope, searching through PIC code comments didn't help me! I'll have to Google some old posts. I know you've explained most of this to me before. It's just that my wetware memory is beginning to develop more parity errors than usual.

I've been reading through the embedded program comments at your site and have a question: Are "sychronized collisions" and "tailgating" the same thing? Do they mean the a collision where the second copy of an X-10 command is replaced with data from a different transmission?

I ask because since using the XTB with the Decora AHT, I don't experience the same collision problems I did with multiple TM751's deployed throughout the house (even though the are still deployed). My sense is that the XTB equipped transmitter always prevails in a collision, which was not always the case with equally powered devices.

-- Bobby G.

Reply to
Robert Green

| I'm assuming from your first paragraph you mean you after you send the | ON/OFF function, the unit reverts to the base housecode. Or by "escaped | function" do you mean until you send another code your interpreter sees as | the escape code the unit stays shifted? Does that mean you can't send | stacked escape commands?

The sole purpose of my escape code is to change the current house code, so there is no reason to stay in escaped mode. Once you change the house code it remains changed until you change it again or the power fails (at which point it returns to the default from eeprom). Remember, the whole goal was to get multi-house code operation in IR mode where the IR code does not include house code information.

| When using the X-10 remote, I'd love to be able to stack commands for | individual units, just like the Maxicontrollers do. Do you think that would | be possible with the 8-in-1 remote and controller like the CM15A and Smart | macros?

Not for RF mode using the normal X10 protocol, for the reason you note below.

| If my admittedly faulty recall is correct, you're the guy that burst my | bubble about doing that easily with an Ocelot by pointing out that the RF | remote doesn't send a unit code UNTIL after you press a function button.

It sends a combined unit/function code because that's how X10's RF protocol is defined. You'd have to use something else (more like the IR version) to get the effect you want.

| I've always wondered how the remote parses the unit code since there can be | either one or two button presses before a function is pressed. Does it just | store the last two unit key presses in a buffer and evaluate them when a | function key is pressed?

Or perhaps it just accumulates a value with the usual multiply by 10/add method.

| > In my unix mapping implementation I look for three All Units Off in a | short | > time (or the equivalent held key) on my main house code and tack on All | Units | > Off for the other house codes. I also expand a single All Lights On in | > a similar way. | | I'm not sure I understand that despite having read it numerous times. What | happens after you send three AUF's?

My mapping program sends All Units Off to a couple of other house codes.

| Is that how you enter the escape mode?

Sorry, no, I changed topic to a completely different mapping function that takes place on a unix box. It has nothing to do with the RR501.

| Or are we discussing how you've implemented AUF's for different housecodes? | I'll go check out your site to get some more background.

I don't think the mapping program in on my web site. It's pretty simple. It listens to power line messages from x10d and runs macros based on value, count, and current select mask. It's been so long since I configured it that I don't quite remember its full capabilities. :)

| I've been reading through the embedded program comments at your site and | have a question: Are "sychronized collisions" and "tailgating" the same | thing?

No, tailgating is when one transmitter sends so soon after the completion of another transmission that a receiver might take the (presumably) different transmission as a repeat of the first because of the small gap. X10 talks about three cycles of gap but actual requirements vary with, IIRC, ACT's being the smallest. The CM11a doesn't like gaps less than 3 cycles after its own transmissions either, which is why it behaves oddly when querying a PR511 for status. (The PR511 leaves only 5 zero crossings between the end of the query and the beginning of its response.)

| I ask because since using the XTB with the Decora AHT, I don't experience | the same collision problems I did with multiple TM751's deployed throughout | the house (even though the are still deployed). My sense is that the XTB | equipped transmitter always prevails in a collision, which was not always | the case with equally powered devices.

It isn't obvious how a transmitter can prevail in a collision based on its strength alone unless the receiver has some sort of AGC or automatic threshold determination. But the effects of collisions can be pretty hard to analyze with destructive and constructive interference possible depending on the relative phase of the carriers at various points, so I wouldn't be quick to rule anything out...

Dan Lanciani ddl@danlan.*com

Reply to
Dan Lanciani

I'm curious as to why you chose IR control over RF control of your X-10 via their 8-in-1 (?) remotes. I'm a little confused because I thought you were doing all this magic via a new PIC installed in the RR501 - the one where you had to do a pin swap via a socket sandwich to get it to accept a new chip.

That's too bad. I'd love to be able to stack commands via the remote as I do with the Maxi as well as be able to issue a command that's the equivalent of "ALL OFF EXCEPT UNITS 5 & 8"

OK, that explains why I couldn't see the relationship! :-)

I looked for information about it but couldn't find any. I did search through all your sample programs, though, until I got dizzy. I get the same kind of feeling I got in kindergarten when I saw the big kids doing math homework. It's not just beyond me, it's *way* beyond me. For example, I think:

ftp://ftp.danlan.com/ftp.danlan.com/homeauto/x10rfd.mr26.txt

Is a program to create a log of RF traffic monitored by the MR26. But beyond that, I don't have a clue. :-(

I suspect that my changing my setup around to accomodate the XTB's has had more of an effect than using the Decora AHT. Whatever the reason the serious problem of the lights turning out an instant after they had been turned on via an EagleEye has now become one of the light turning itself back on after being turned off remotely. That's far more tolerable than a sudden lights out, especially one that occurs within seconds of entering a room. I supposed I'll have to finally swap out that switch, a step I have been avoiding because of the fragile state of the 60 year old cloth covered wiring. Fortunately the X-10 switches are pigtailed, so it makes short box wires a little easier to deal with.

I also discovered that a wall switch that's always exhibited a "bounce" (If I turn it off, it sometimes turns itself back on a second later) is still giving me problems. I thought it was the result of a RF or TM751 PLC collision but it has to be something else because I see it even when I turn it out via Maxi controller/XTB combo.

Like any other complex system, some of the tiniest problems eat up the most debugging time. I suspect now that the switch is bad and has been all along and my TM751's have been taking the blame. If only the Monterey had a logging function . . .

Thanks for your input, Dan.

-- Bobby G.

Reply to
Robert Green

| I'm curious as to why you chose IR control over RF control of your X-10 via | their 8-in-1 (?) remotes.

I didn't; it supports both IR and RF.

| I'm a little confused because I thought you were | doing all this magic via a new PIC installed in the RR501 - the one where | you had to do a pin swap via a socket sandwich to get it to accept a new | chip.

Yes, that's the one. I had an extra pin so I decided to add IR input as well. It's fun to see how much you can fit in a PIC...

| For example, I | think: | | ftp://ftp.danlan.com/ftp.danlan.com/homeauto/x10rfd.mr26.txt | | Is a program to create a log of RF traffic monitored by the MR26. But | beyond that, I don't have a clue. :-(

It gives you a network-based interface to the stream as well, much like the x10d version for the CM11a does for power line. My automation system is built from a set of such networked modules.

| I suspect that my changing my setup around to accomodate the XTB's has had | more of an effect than using the Decora AHT. Whatever the reason the | serious problem of the lights turning out an instant after they had been | turned on via an EagleEye has now become one of the light turning itself | back on after being turned off remotely. That's far more tolerable than a | sudden lights out, especially one that occurs within seconds of entering a | room.

You are obviously far more tolerant than I am... :)

Dan Lanciani ddl@danlan.*com

Reply to
Dan Lanciani

Mebbe not. This morning all of my X-10 RF suddenly stopped working. I can get the transceivers to fire if I touch the antenna with the remote, but not otherwise.

My wireless thermometers also crapped out and are showing blank displays so I assume there's something broadcasting at or near the same frequency as the X-10 remotes. None of the standard trouble shooting methods seem to be working. I've checked for stuck transmitters but haven't found any - the powerline is clear of X-10 signals. A stuck transmitter is pretty easy to detect with the ESM1 or the Monterey and both are showing all quiet.

Even stranger is that when I touch the antenna of the Decora AHT, I get "C" codes immediately following the legitimate "B" housecode commands.

I have an old police scanner radio. I'm wondering if I can tune it to near the X-10 frequency to see if there's a signal that's interfering? This makes a single, flakey lightswitch look like no trouble at all. I live near a number of high-tech government installations so maybe I've joined the legion of people who can no longer use their car remotes or any other RF devices. I guess I'll check the car alarm next. This really, really sucks.

Larry, if you're reading this, you may be right. There's an awful lot of stuff to learn to keep a darn X-10 setup running properly. Maybe too much.

-- Bobby G.

Reply to
Robert Green

Answering my own post, FWIW, it was a stuck button on a PalmPad on a housecode that's little used. Only the Decora picked it up and then, only if I was standing in the right place. The clue should have been the thermometers - they were about a foot away from the stuck transmitter. The other clue was the C housecodes. I only use it for testing and the same code kept appearing (C8 ON) on the Monterey.

What threw me this morning was that it was very slow in filling the Monterey buffer. A stuck button usually fills up the 190 command memory in seconds. This was moving 1/100 that speed, with a command registering every few seconds instead of every few milliseconds. I suspect it's something to do with the way the Decora handles repeating signals. I think I'll go test that right now.

I think I'll still try to tune my scanner radio to the X-10 frequency for the next time this happens 'cause I'm sure it will. :-(

-- Bobby G.

Reply to
Robert Green

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.