Monday, February 14, 2011

X10 – Noise and Phase Coupling Issues – Part 7

This is part 7 of my X10 blog series.

Parts 1 through 6 of this series has documented my initial installation and configuration of my X10 system and devices. I have been covering these topics and issues in the order in which I have encountered them. For anyone wishing to follow this same path in their own implementation, this order is important.

First, the Good News

In the order of events, at this point you should have a working system with a couple of modules if your experience is like mine. This is good.

Now, the Bad News

Likewise, if your experience is like mine, now is about the time you need to build an awareness of two systemic issues with X10 systems. Since I am still learning myself, I cannot say for certain that I have been afflicted by them. But the evidence is strong.

First, try to understand the issues at a high level:

In a nutshell, both contribute to signal strength issues. When in play, both will unpredictably affect how well your modules can hear the controller signals. Either it will be an utter failure (which, I would prefer), or will cause random (and frustrating) failures.

Wimp out for now

Now that you have a high level awareness under your belt, I would recommend strategies to avoid them until we progress (you and me both!) further in our implementation before we eventually diagnose and implement solutions for them.

Strategies I am currently using to keep things simple:

  • Pay attention to what household appliances are operating while you test. Vacuum cleaner? Dryer? Try to test during “quiet” electrical periods.
  • Locate your module under test in the same room as your controller while testing. I know this isn’t realistic for actual deployment, but its good to eliminate noise as much as possible.
  • Rinse and repeat. When something works, try it several more times before declaring success. Wait for 15 minutes, and then try again.
  • Be anal in your methodology. Its no fun to waste minutes pointlessly clicking buttons in ActiveHomePro only to find out a light bulb is burned out. Test your device prior to integrating with a module.
  • Steer clear of advanced use cases, such as CFL or 220V appliances.

Trouble

So that we can compare notes, here are the issues I have hit. I haven’t done a full troubleshooting exercise yet, so these are unconfirmed diagnosis.

As a basis of understanding, my “test room” is my home office in my basement. My controller, ActiveHomePro computer, and modules are first deployed here and tested. I have no issues currently getting any module to work inside the room. Outside of the room….

  • Phase Coupling Issue?
    • When I moved a SocketRocket to an upstairs lamp, it stopped responding completely.
  • Noise Issue?
    • When I moved the SocketRocket to a light socket outside of the test room in the basement, it sometimes works, sometimes not.

 

Technorati Tags:

X10 – Compact Fluorescents (CFLs) Support and X10 Modules – Part 6

This is part 6 of my X10 blog series.

I have already covered a couple of lighting topics in my X10 series. In my last post, I talked through the steps of setting up an X10 SocketRocket using ActiveHomePro. In another previous post, I discussed how to setup up a Lamp Module. But I haven’t yet specifically talked about CFLs and X10, and how they play together (and don’t).

X10 SocketRocket with CFL

The key thing is that X10 supports CFLs if you have the right gear. For me, its been a bit of a research project to figure out what I need, and also what I might be able to get away with.

Why CFLs are Important for X10 Applications

As I started to think about what lights I wanted to automate with my X10 system, I quickly realized that the lights needing automation were these types of lights:

  • Security/outdoor lights that need to be on at night
  • Indoor hallway lights that I want to conveniently turn off with one button press before going to bed
  • Indoor basement lights that I want to turn off proactively in case someone left them on  

In all cases, these are lights that will be on for extended periods of time. As such, they are ideal candidates for CFLs to save energy. And I think my use cases are common, so CFL support is critical to X10.

Support for CFLs with X10 Modules

At this point in my journey, I do not have definitive answers about this topic. There is the official guidance and official support statements, and then user forum postings that sometimes claim something different. I apologize for not having definitive answers, but I wanted to post this to record this as an important topic in the learning process. I hope to follow up later with more information if it differs from what is below.

In general, I assume a module does not support CFL unless explicitly stated otherwise. In fact, modules will explicitly deny support for CFLs unless they do, which is helpful.

For example, modules that explicitly do not support CFL:

  • Lamp Module LM465
    • Label disclaimer: “For indoor incandescent lamps only
  • Light switches WS467 and WS12A
    • X10 Wiki: “(WS467 and WS12A) should NOT be used”
  • SocketRocket LM15a

And then there are those that explicitly support CFL:

  • Appliance Module AM466
    • X10.com Adware: “This simple plug-n-play module lets you control normal lamps, CFL lamps, fans, radios, coffee pots…”
    • Use instead of LM465
  • Light switches WS13a and XPS3
    • X10 Wiki: “To control fluorescent fixtures use the X10 Non-dimming Decorator Wall Switch (WS13A) or X10 Pro Non-dimming Wall Switch (XPS3)”
  • Socket module
    • There does not appear to be an inline-socket solution, probably due to the 2 wire nature of a socket (see next section)

Engineering Explanation

The X10 wiki provides a good explanation of the reason why CFL support with X10 is an issue:

“The main reason why standard X10 wall switch modules cannot be used to control a fluorescent fixture is because it is a two-wire device and is therefore wired in series with the load. The control signals which are transmitted onto your house wiring have to pass through the incandescent lamp (load). However, a fluorescent light contains a ballast which acts as a block to the X10 signals and makes it impossible to control the switch remotely. Also, this ballast is an inductive load (a coil), and controlling such a load could permanently damage the wall switch module. This is why the standard X10 wall switches (WS467 and WS12A) should NOT be used to control any kind of appliance (such as a ceiling fan).”

Conclusion

The bottom line is that CFLs can cause issues with any two wire module, but may not always. I suppose it is up to the homeowner to decide whether to use the two wire modules and see what happens.

Technorati Tags:

X10 Programming a SocketRocket using ActiveHomePro and Controller CM15a Remote Chime – Part 5

This is part 5 of my X10 blog series.

In the previous entry, I explained how I blew up an old radio by using a Lamp Module instead of an Appliance Module (oops). In this entry, I will explain how to easily program a SocketRocket. The details unfortunately were not forthcoming in its documentation.

The Theory

This is how the SocketRocket picks up new programming:

  1. Find a lamp that you wish to control over X10
  2. Switch it on so that the lightbulb is lit, just to test it works
  3. Switch off the light
  4. Unscrew the lightbulb
  5. Screw in the SocketRocket, and then the lightbulb into the SR
  6. Switch on the lamp. The lightbulb will probably not be lit
  7. For the next 30 seconds the SocketRocket is waiting for its signal to program itself
  8. After 30 seconds, the SR will either be programmed or left in this unknown state

Item 7 is the key part. What is the SR waiting for? It is waiting to see the same X10 command 3 times in a row. If it sees that, it will assume it is targeted at the SocketRocket and will persist that address. That address will persist even if there is a power failure.

The Practice – How to do it with Controller CM15a and ActiveHomePro

The printed instructions didn’t explain how to program the device with the CM15a. I had to google it to find the best way:

  • Open ActiveHomePro
  • Click the Other link in the left pane
  • Drag a “Remote Chime” to whatever room you want
  • Set the address of the Chime to be whatever you wish the lamp to listen on (e.g. A14)
  • Power on the lamp with SocketRocket
  • In the next 30 seconds, hit the Remote Chime control 3 times in ActiveHomePro
  • The lightbulb should now be lit
  • Now add a SocketRocket Module to the same room.
  • Change the new SR module address to match the Remote Chime
  • Delete the Remote Chime
  • Manually power off the lamp with the SocketRocket, wait 10 seconds
  • Manually power on the lamp
  • Test again to make sure the settings stuck

activehomepro_remotechime

As with any X10 device, this procedure may fail if there are connectivity issues between the controller and module. Follow my advice in this future post if you are at this point and cannot get your gear working.

 

Technorati Tags:

X10 Do Not Plug an Appliance into a Lamp Module – Part 4

This is part 4 of my X10 blog series.

This is an immediate follow up to my previous post about getting my first X10 up and running: X10 Installing My First Device – Part 3

My Radio as a Lamp

At the end of that post, I proudly declared success in getting a device wired up via X10 so that I could do home automation. I plugged an old radio of mine into a Lamp Module (LM465) and was happy to see it work. Not that I am not planning to actually automate my old radio, I just needed a device that could be used for testing.

And it is probably fortunate that I did, because I learned a very important lesson.

On the bottom of the Lamp Module, it says clearly:

  • Lamps Only! No Appliances!!!

Like all engineers, I tend to ignore those types of warnings if I think I understand the core issue behind it and feel like it does not apply. I thought it was worried about power draw. I figured it was making sure someone wouldn’t plug in a 1500W heater into this small 300W relay.

My 12W radio, no problem.

The Radio is dead. I repeat, the Radio is Dead.

I don’t think its just about the power. About 10 minutes after plugging in my 15 year old trusty radio and hearing it play music, it made a quick dying gasp and then went silent. I can’t revive it by any means, even now an hour after the event. Its dead, dead. Trash bin dead.

radio_in_trash_bin

OK, maybe that warning is something I should have paid attention to. Perhaps its not JUST about the power. After playing with the Lamp Module some more with actual lamps (genius!) I think there may be something else behind that warning.

The Lamp Module LM 465 has a dimmer function on it. I wonder if something in that circuitry caused the radio to freak out. I don’t know why it would after 10 minutes (on startup, ok), but what else could it be? It could be just some crazy coincidence that the radio died now, but after 15 years of solid service its hard to believe.

Cheap Lesson Learned

The old radio was worth about $2 if I tried to sell at garage sale. Not a loss. But now I think I will adhere to the Lamps Only warning sticker before I try plugging in something of more value. I will stick to the Appliance Modules AM466 for now on.

X10 Installing My First Device – Part 3

This is part 3 of my X10 blog series.

In Part 2, I talked about installing ActiveHomePro and the CM15a controller. In this part, I will talk about getting my first device running over X10.

Step 1: Pick an X10 Lamp Module LM465

For your first device you could choose any of your modules, but the Lamp Module seems to be the obvious choice. Even ActiveHomePro (AHP) guides you to pick the LM465 as the first one to try.

Step 2: Find a Guinea Pig LM465 Device

The next step in testing out your X10 system is to find a good guinea pig device. It should have the following characteristics:

  • Two prong power form factor
  • 300W max consumption
  • Visually obvious if it turns on/off
  • Probably should be a lamp (see later post why!)
  • If it is a lamp, must not have a CFL bulb in it (see later post)

I observed the first three, and ignored the fourth (to my detriment). For my purposes, an old radio was the easiest thing to muster and so I pressed it into service.

Step 3: Find a Suitable Test Outlet

Not only do you need a device, you also need an outlet;

  • Plugged into an outlet in same room as you and CM15a
  • Is powered on
    • Circuit breaker is not tripped
    • If wall switched, switch is on

Step 4: Make sure device is Switched On and outlet is Powered On

Once you have your device, make sure it is switched on by plugging it directly into the chosen outlet. This is obvious, but I can imagine someone spending time wrestling with X10 only to find that the device is switched off or the outlet is powered off.

Step 5: Plug device into Lamp Module LM465

Now, plug the LM465 into the wall, and the device into the LM465. The device is likely powered off at this moment. Also, the LM465 should be set to A1 on its dials.

Step 6: Try to Power Device On/Off via ActiveHomePro

Go back to AHP. By default, there is a room called My Room and it has a lamp named My Lamp configured as A1. You should now be able to power the lamp on and off by clicking on the switch in AHP. Did it work? It did for me.

X10 first module installation

Step 7: Enjoy Success (or not)

While I have done this task a million times with ZigBee gear, this was my first X10 device. Glad to see it actually work!

Not working for you? Follow my advice in this future post for some ideas on how to simplify your environment to get some success early.

Footnote: Switched vs. Powered

In my notes above, you will notice I used two words to talk about the state of the device.

  • Switched on/off – means how the device was configured to operate using the device’s controls. For a lamp, this is the switch located on the lamp. For an outlet attached to a wall switch, it means that the wall switch is on/off.
  • Powered on/off – means whether the device was receiving power. When plugged directly into an active outlet, it is always powered on. When plugged into an X10 module, it is powered on when the module has been commanded to turn the device on.

X10 Installing ActiveHomePro on Ubuntu Linux – Part 2

This is part 2 of my X10 blog series.

In Part 1, I talked about the X10 kit I purchased. In this part, I will talk about getting the software up and running.

Windows VirtualBox Virtual Machine

The title is a teaser if you are a Linux user. No, I didn’t actually try to use Wine to run ActiveHomePro natively on Linux. I can’t tell you if that works (it probably does?). I have a Windows VM for VirtualBox that I use for all Windows stuff, as I did for ActiveHomePro.

Installation

After you purchase your kit, they send you a link for the software download and the license key. Use the link to download the software to Windows, and use the license key at startup to register your wares.

You do need to have your CM15a plugged in via USB (and plugged into the wall) during installation. Apparently it guides the installer to lay down the right device driver. I didn’t test without it, and maybe it just works anyway?

Note: for VirtualBox users, make sure you allow the VM to access the X10 USB device:

  • Devices –> USB –> X10 USB Interface

Installation Trouble

I hit my first hiccup after getting into the ActiveHomePro (AHP) UI. Everything seemed ok, but I tried the Intro Wizard:

  • Help –> Run Intro Wizard…

and it told me that it could not communicate with the CM15a. I opened the System Device Manager

  • Windows Start –> Control Panel –> System –> Hardware

and noticed there was an exclamation point next to the USB device. I tried updating the driver with the one installed here:

  • C:\Program Files\Common Files\X10\DriverInstall\Wireless Transceivers

but that didn’t do anything. I noticed VirtualBox’s USB support was in a weird state (USB submenu wouldn’t render anymore) so did a full reboot of the Windows VM and CM15a.

Just my luck, everything came up ok. So I am off and running.

activehomepro_talkingtocontroller

X10 Order has Arrived – Part 1

This is part 1 of my X10 blog series.

My X10 order arrived without issue. I hated their website, and had trouble weeding through the garbage to compare the different kits they had available. It looks like they just did a full redesign of their site, so perhaps future visits won’t be as painful.

X10 Kit with CM15a, AM466, KR19a, LM15A, LM465, SS13A

I finally decided on the following package for $99:

Part Description Qty
AM466

3-pin Appliance Module

2
CM15a ActiveHome Pro Computer Interface and USB cable 1
KR19a SlimFire Pocket Remote 1
LM15A Screw-in Lamp Module 2
LM465 Lamp Module 2
SS13A Slimline Switch Decorator White 2

 

The key piece is the CM15a. It is the brains behind the system. The rest just seemed like bare minimum for useful pieces to have in the kit. You can go with less.

The order arrived swiftly and had the right stuff. My only complaint about the order process is that it opens your email account to a barrage of marketing emails. The count is 14 emails in less than a month. I just opted out, so I expect that solves it. Who would want that crap?

Adventures with X10 – the Start

This is the first blog post about my installation and use of X10 home automation technology. I am hoping to discover interesting things about both X10 as a technology and home automation in general.

my background

I actually work for a company (Tendril) that engineers and sells home automation technology. However, you would never hear us call it that because the phrase home automation is normally used by vendors who focus on coordination of home devices for the purpose of comfort, convenience, and safety. Technologies such as X10 and Insteon are common in this arena.

Tendril’s home automation is instead focused on energy efficiency and energy grid optimization. Meaning, we build gear that helps consumers monitor and moderate their energy use. Also, in cases where consumers have opted into a program, utilities can make use of this automation to curtail demand during periods of critical grid load. This isn’t a blog for my employer, so I will end my explanation here - more details are on our website if you are interested.

The reason my employment is relevant is that we use a wireless technology called ZigBee to coordinate the activities of home devices. ZigBee is used heavily in the energy space, so it is the natural choice for our purposes. But from time to time other technologies are discussed, from wireless (e.g. Z-wave, wifi) to wireline (e.g. HomePlug). The firmware engineers at Tendril are well versed in these technologies, but me as an enterprise software platform engineer have been so far left out of that party.

The Journey

I decided to start trying other home automation technologies just to see how things go. Additionally, I wanted to play with traditional home automation outside of the energy space to see what I have been missing.

Which, long winded, arrives at the point of this blog post. I am embarking on such a journey with X10 equipment. I have purchased my gear, and will start posting notes as I make progress (or lack thereof). No surprises if you see a lack of activity with this hobby. I fully expect to pick this up in waves, just like everything else in my busy household.