Home AMX User Forum NetLinx Studio
Options

X-10, X10 - Reinventing the wheel?

I am about to write a NL module to interface to a Smartlinc RS-232 to X-10 protocol adapter because I have not found a module or codeblock to do this. I have a home with about 28 Switchlinc 2-way X10 switches & was surprised that nobody has written a module for this somewhat popular device.
It looks like AMX played around with X-10 with the Axcess card (AXC-X10?) a long while back, but does anyone know of an existing module for X-10 stuff before I create one?
-Thanx.

Comments

  • Options
    DHawthorneDHawthorne Posts: 4,584
    It's probably because X-10 is more of a hobbyist convention; professional automators don't use it as much. I have X-10 at home, but only because I rent and I'm not about to spend the money on a better system when I don't own the place. X-10 is very prone to interference and dropouts. If I have my AC on, half of the apartment becomes unresponsive. I once had a faulty computer monitor that introduced line noice when it switched modes - it would often shut down all my lights when the screen blanked. I would never install an X-10 in a customer's home because of those experiences - it just seems too flaky.

    That said, I'm not planning on moving anytime soon, and I did start an X-10 module for the HR-10 controller. If I ever get around to finishing it, I'll post it, but it's way on the back burner right now.
  • Options
    AdaptelAdaptel Posts: 41
    X-10 Comments

    I agree X-10 is a flawed technology & is a very tempermental beast, but an X-10 system can be designed to perform properly if implemented correctly. I have a 3800sq-ft home with approximately 62 X-10 devices, two breaker panels, two smart amplifier/repeaters, and a central 4-channel X-10 signal bridge, and a 200amp electric service signal filter. My HAI Omni Security panel speaks X-10 which was the main reason ot stick to the technology and was before I implemented my NL system.
    I would hardly consider the Smartlinc switches a hobbyist device seeing they run about 70 bucks a piece. I have had rock-solid performance with these devices with no drop-outs, random on/offs, or signal problems from any of my other electronic devices. The thing most people overlook with X-10 is they do not install a filter on the breaker panel to isolate their wiring from the noise created from the main transformer. Secondly, from my experience, even a $70 X10 switch comes out-of-the-box poorly tuned. Once I used an oscilloscope to dial-in the frequencies of each device, they worked absolutely flawlessly. Just my 2cents from experience.
  • Options
    GSLogicGSLogic Posts: 562
    I have to agree with both of you. In the past I've had X-10 in my home and it worked most of the time. You must install a reapter and a coupler to get it work properly and the big negative is that it's only one way communication. I know they make two way but with a lot of switches you'll overload the power line and it becomes very unreliable, another problem is all the different protocols for X-10... standard, preset, extended.

    I've been using UPB (Universal Power Bus) which has two way communication and sends digital packets (not analog) at a much higher frequency then X-10, between 20-40 times faster and is very reliable.

    I've programmed a system that the user can control any lights, scenes, adjust and/or store their own scenes, add additional lighting devices and set event timers for preset scenes all from the touch panel. You program each UPB device with it's information such as name, location, network, ID and then the AMX system loads all the data from each device, then you just create and name scenes from the touch panel. I have this system in my home with 32 devices and it work great, I can see all lights and scenes turning on/off from the touch panel in real-time. Now I can see if my wife left a light on in the closet.

    Also, it's a fraction of the cost of a pre-wired lighting system, you can add additional devices at anytime and you can install it in new or existing homes.
  • Options
    DHawthorneDHawthorne Posts: 4,584
    For what it's worth, I fumbled across this on the web:
    (* Control of CM11A X-10 Activehome Interface 				*)
    (* Code copyright 2003 Ryan P. Wright (amxguy@ryanwright.com)		*)
    (* VERSION 1.0		LAST MODIFIED: 2/3/2003				*)
    (*									*)
    (* This code is free for personal (non-profit) use by individuals.	*)
    (*									*)
    (* Feel free to distribute to others. Please leave these comments 	*) 
    (* intact if you distribute the code. (You're welcome to remove them	*)
    (* for your own use)							*)
    (*									*)
    
    DEFINE_DEVICE
    RS232_2     = 2     (* cm11a activehome interface *)
    
    DEFINE_VARIABLE
    (* X-10 *)
    X10_BUFFER[255]
    X10_COMMAND[255]
    X10_XMIT_OBJECT[255]
    X10_XMIT_OBJECT_CKSUM[255]
    X10_XMIT_FUNCTION[255]
    X10_XMIT_FUNCTION_CKSUM[255]
    X10_RECV_CHECKSUM[255]
    X10_READY
    X10_LOSTREADYCOUNT
    X10_GET_CHECKSUM
    X10_CHECKSUM_RETRY
    X10_TEMP_HOUSE
    X10_TEMP_UNIT
    X10_TEMP_FUNC
    
    DEFINE_START
    (* Initialize serial ports *)
    SEND_COMMAND RS232_2,'SET BAUD 4800,N,8,1,232 ENABLE'  (* 4800,8,N,1, RS-232 MODE, Enabled *)
    
    (* Initialize buffers *)
    CREATE_BUFFER RS232_2,X10_BUFFER
    
    (* X10 *)
    X10_READY = 1
    X10_LOSTREADYCOUNT = 0
    X10_GET_CHECKSUM = 0
    X10_CHECKSUM_RETRY = 0
    X10_TEMP_UNIT = 255
    X10_TEMP_HOUSE = 255
    X10_TEMP_FUNC = 255
    
    DEFINE_PROGRAM
    
    (* In order to send X-10 commands, you'll need to drop the appropriate syntax into the 
       array X10_COMMAND. Syntax is explained later. Below is an example of how to put
       incoming strings from a touch panel into X10_COMMAND:
    
    	IF(LENGTH_STRING(THEATERTP_BUFFER)) { 
    	    SELECT {
    	        ACTIVE(FIND_STRING(THEATERTP_BUFFER, 'X10:',1)):        { X10_COMMAND = THEATERTP_BUFFER }   	     
    	        }                    
    	    } (* select *)
    	} (* if theatertp_buffer *)
    *)
    
    (**************************************************************************************)
    (* X-10 *)
    
    IF(LENGTH_STRING(X10_BUFFER)) {
        IF(X10_BUFFER = "$55") { (* interface ready *)   
            X10_READY = 1 X10_LOSTREADYCOUNT = 0
        } (* interface ready *)
        
        IF(X10_BUFFER = "$5A") { (* incoming x10 *)        
            SEND_STRING RS232_2,"$C3" (* respond *)
            (* nothing is done with incoming x10 data *)
            (* if you wanted to do something with it, here would be the place *)
        } (* incoming x10 *)    
        
        IF(X10_BUFFER = "$A5") { (* cm11 requesting init - clock set & housecode to monitor *)
            SEND_STRING RS232_2,"$9B,$00,$00,$00,$00,$00,$60"   (* 00:00:00, 00/00/0000, House code A *)
        } (* cm11a requesting init *)
        
        IF (X10_GET_CHECKSUM = 1) { (* expecting checksum *)
            X10_RECV_CHECKSUM = X10_BUFFER        
        }            
    } (* if x10_buffer *)
    
    IF(LENGTH_STRING(X10_COMMAND)) {
        (* To send X-10 commands, use the following format:                   
                    X10:HOUSE:UNIT:FUNCTION       
           Example: X10:K:13:ON
           
           You may omit the unit number if you're only sending a function:
           Example: X10:K:BRI
           
           Valid housecodes are A-P. Valid devices are 1-16. 
           Valid functions are: 
                ON      - Turn unit on
                OFF     - Turn unit off
                DIM     - Dim unit
                BRI     - Brighten unit
                ALLUOFF - Turn all units off
                ALLLON  - Turn all lights on
                ALLLOFF - Turn all lights off   *)
    
        IF (X10_XMIT_OBJECT = "" AND X10_XMIT_FUNCTION = "") {  (* only accept data if nothing waiting to xmit *)
            X10_READY = 1 X10_LOSTREADYCOUNT = 0  (* reset X10_READY - two way modules have problems sometimes *)
            SELECT {
                ACTIVE(FIND_STRING(X10_COMMAND, ':A:',4)):  { X10_TEMP_HOUSE = 96 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':B:',4)):  { X10_TEMP_HOUSE = 224 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':C:',4)):  { X10_TEMP_HOUSE = 32 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':D:',4)):  { X10_TEMP_HOUSE = 160 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':E:',4)):  { X10_TEMP_HOUSE = 16 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':F:',4)):  { X10_TEMP_HOUSE = 144 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':G:',4)):  { X10_TEMP_HOUSE = 80 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':H:',4)):  { X10_TEMP_HOUSE = 208 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':I:',4)):  { X10_TEMP_HOUSE = 112 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':J:',4)):  { X10_TEMP_HOUSE = 240 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':K:',4)):  { X10_TEMP_HOUSE = 48 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':L:',4)):  { X10_TEMP_HOUSE = 176 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':M:',4)):  { X10_TEMP_HOUSE = 0 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':N:',4)):  { X10_TEMP_HOUSE = 128 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':O:',4)):  { X10_TEMP_HOUSE = 64 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':P:',4)):  { X10_TEMP_HOUSE = 192 }
            }
            SELECT {
                ACTIVE(FIND_STRING(X10_COMMAND, ':1:',6)):  { X10_TEMP_UNIT = 6 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':2:',6)):  { X10_TEMP_UNIT = 14 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':3:',6)):  { X10_TEMP_UNIT = 2 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':4:',6)):  { X10_TEMP_UNIT = 10 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':5:',6)):  { X10_TEMP_UNIT = 1 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':6:',6)):  { X10_TEMP_UNIT = 9 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':7:',6)):  { X10_TEMP_UNIT = 5 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':8:',6)):  { X10_TEMP_UNIT = 13 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':9:',6)):  { X10_TEMP_UNIT = 7 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':10:',6)):  { X10_TEMP_UNIT = 15 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':11:',6)):  { X10_TEMP_UNIT = 3 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':12:',6)):  { X10_TEMP_UNIT = 11 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':13:',6)):  { X10_TEMP_UNIT = 0 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':14:',6)):  { X10_TEMP_UNIT = 8 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':15:',6)):  { X10_TEMP_UNIT = 4 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':16:',6)):  { X10_TEMP_UNIT = 12 }
            }
            SELECT {
                ACTIVE(FIND_STRING(X10_COMMAND, ':ALLUOFF',1)): { X10_TEMP_FUNC = 0 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':ALLLON',1)):  { X10_TEMP_FUNC = 1 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':ON',1)):      { X10_TEMP_FUNC = 2 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':OFF',1)):     { X10_TEMP_FUNC = 3 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':DIM',1)):     { X10_TEMP_FUNC = 4 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':BRI',1)):     { X10_TEMP_FUNC = 5 }
                ACTIVE(FIND_STRING(X10_COMMAND, ':ALLLOFF',1)): { X10_TEMP_FUNC = 6 }
            }
    
            IF(X10_TEMP_HOUSE <> 255 AND X10_TEMP_UNIT <> 255) {  (* broadcasting unit *)
                X10_XMIT_OBJECT = "04,X10_TEMP_HOUSE+X10_TEMP_UNIT"        
                X10_XMIT_OBJECT_CKSUM = "((04+(X10_TEMP_HOUSE+X10_TEMP_UNIT))&$FF)"            
            } (* if broadcasting unit *)
            IF(X10_TEMP_HOUSE <> 255 AND X10_TEMP_FUNC <> 255) {  (* broadcasting function *)
                X10_XMIT_FUNCTION = "06,X10_TEMP_HOUSE+X10_TEMP_FUNC"
                X10_XMIT_FUNCTION_CKSUM = "((06+(X10_TEMP_HOUSE+X10_TEMP_FUNC))&$FF)"
            } (* if broadcasting function *)        
        } (* if nothing waiting to xmit *)    
        X10_COMMAND = ""
        X10_TEMP_UNIT = 255
        X10_TEMP_HOUSE = 255
        X10_TEMP_FUNC = 255
    } (* if X10_COMMAND *)
    
    IF(LENGTH_STRING(X10_XMIT_OBJECT) AND LENGTH_STRING(X10_XMIT_FUNCTION)) { (* xmit object *)
        IF(X10_GET_CHECKSUM = 0 AND X10_READY = 1) {            (* send transmission *)
            SEND_STRING RS232_2,"X10_XMIT_OBJECT"
            X10_GET_CHECKSUM = 1        
            X10_READY = 0
        }
        IF (X10_GET_CHECKSUM = 1 AND LENGTH_STRING(X10_RECV_CHECKSUM)) {    (* got checksum *)
            IF (X10_RECV_CHECKSUM = X10_XMIT_OBJECT_CKSUM) {    (* checksum OK *) 
                SEND_STRING RS232_2,"$00"                       (* tell interface *)
                X10_GET_CHECKSUM = 0
                X10_CHECKSUM_RETRY = 0
                X10_RECV_CHECKSUM = ""
                X10_XMIT_OBJECT = ""
                X10_XMIT_OBJECT_CKSUM = ""
            } ELSE {                                            (* checksum NOT OK *)
                SEND_STRING RS232_2,"X10_XMIT_OBJECT"           (* resend transmission *)
                X10_CHECKSUM_RETRY = X10_CHECKSUM_RETRY + 1            
            }   
        } (* if got checksum *)
    
        IF(X10_GET_CHECKSUM = 0 AND X10_READY = 0) { X10_LOSTREADYCOUNT = X10_LOSTREADYCOUNT + 1 }
        IF(X10_LOSTREADYCOUNT = 30) { X10_READY = 1 X10_LOSTREADYCOUNT = 0 }
        
    } (* if xmit object *)
    
    IF(X10_XMIT_OBJECT = "" AND LENGTH_STRING(X10_XMIT_FUNCTION)) { (* xmit function *)
        IF(X10_GET_CHECKSUM = 0 AND X10_READY = 1) {            (* send transmission *)
            SEND_STRING RS232_2,"X10_XMIT_FUNCTION"
            X10_GET_CHECKSUM = 1
            X10_READY = 0
        }
        IF (X10_GET_CHECKSUM = 1 AND LENGTH_STRING(X10_RECV_CHECKSUM)) {    (* got checksum *)
            IF (X10_RECV_CHECKSUM = X10_XMIT_FUNCTION_CKSUM) {    (* checksum OK *)   
                SEND_STRING RS232_2,"$00"                       (* tell interface *)
                X10_GET_CHECKSUM = 0
                X10_CHECKSUM_RETRY = 0
                X10_RECV_CHECKSUM = ""
                X10_XMIT_FUNCTION = ""
                X10_XMIT_FUNCTION_CKSUM = ""
            } ELSE {                                            (* checksum NOT OK *)
                SEND_STRING RS232_2,"X10_XMIT_FUNCTION"           (* resend transmission *)
                X10_CHECKSUM_RETRY = X10_CHECKSUM_RETRY + 1 
            }
        } (* if got checksum *)
        
        IF(X10_GET_CHECKSUM = 0 AND X10_READY = 0) { X10_LOSTREADYCOUNT = X10_LOSTREADYCOUNT + 1 }
        IF(X10_LOSTREADYCOUNT = 30) { X10_READY = 1 X10_LOSTREADYCOUNT = 0 }
        
    } (* if xmit function *)
    
    IF (X10_CHECKSUM_RETRY >= 3) { (* too many retries, kill remaining transmissions *)
        X10_XMIT_OBJECT = ""
        X10_XMIT_OBJECT_CKSUM = ""
        X10_XMIT_FUNCTION = ""
        X10_XMIT_FUNCTION_CKSUM = ""
        X10_GET_CHECKSUM = 0
        X10_RECV_CHECKSUM = ""
        X10_CHECKSUM_RETRY = 0
        X10_READY = 1
    } (* if too many retries *)
    
    (* End X-10 ***************************************************************************)
    (**************************************************************************************)
    
    IF(LENGTH_STRING(X10_BUFFER))       { CLEAR_BUFFER X10_BUFFER }
    
    
    (* END PROGRAM *)
    
    
  • Options
    AdaptelAdaptel Posts: 41
    Thanks

    Hey thanks for saving me a bit of work. This is a huge head start. I plan on modifying the above code to include processing of 2-way status feedback from X-10 devs. I will repost when finished. Thanks again.
  • Options
    amxhobbyistamxhobbyist Posts: 90
    Yep -- That's my code. If you have any questions, email me. It worked flawlessly (as one way code) for about a year before I abandoned X-10 in favor of Radia units. Unfortunately I don't have control of ALL of my lighting this way due to rewiring requirements, but I've got some lamps and other fixtures setup. :)
  • Options
    amxhobbyistamxhobbyist Posts: 90
    BTW -- I didn't have an NI master when I wrote that code, so it's all Axcess. If you rewrite it as a Netlinx module and include two way status, you should post it to the Netlinx-modules library on Sourceforge so others can get some use out of it:

    http://sourceforge.net/projects/netlinx-modules/

    (I can post it there for you, or email Jeff who set this site up and wrote many of the modules in it)

    I had intended to turn it into a Netlinx module but since I no longer have any X-10 equipment, I wouldn't be able to test it.

    Unfortunately I did not release that first copy under the GPL; I should have. If you would be kind enough to allow us to GPL your rewrite, that would ensure future access by all.
  • Options
    AdaptelAdaptel Posts: 41
    X-10 Module

    I have just started undertaking the X-10 two-way module rewrite. Have it sort-of working, but need to debug reliablility problems. I am a self-taught newbie programmer, so no poking fun of my code. I will post on sourceforge when completed.
  • Options
    Module

    I've been looking for the Smartlinc RS-232 adapter and I cant seem to find it anywhere. I believe I know what you are talking about though. It almost looks like a nullmodem adapter with a wire comming out of it to feed to the power outlet. While I was searching for the adapter I came across this. http://www.smarthome.com/2201RS.HTML Aparently it is the "New Thing" that is starting to catch on and may be more reliable. Sience it is known as "Z-Wave" is this the same thing as Zigg-Bee (however you spell it)? Our company just had Control 4 give us a demo of there new products and they are using everything Zigg-Bee, even there small hand held remotes. Intreasting Idea, but you cann't customize it at all. Not to mention they will probably be selling that crap at Best Buy preety soon for the market they are trying to reach. Anyway, one of the questions our programmer had was "Is there any way an existing system could incorperate some of there products?" They said "NO". Well, if the "Z-Wave" is the same as the "Zigg-Bee" technology, maybe there is a way to at least control there light switches.
    I am going to be incorperating lighting in my own house, of course on a tight budget, and this Module that you are writing sounds great. I am probably going to go with the X-10 based stuff because is quite popular and maybe droping in price becase of this new Z-Wave. Im still researching all of this but, is it worth looking into building a module for this Z-Wave adapter?
  • Options
    amxhobbyistamxhobbyist Posts: 90
    If you're starting from scratch, can I offer some advice? Don't use X-10. "Reliable" and "tight budget" don't go hand in hand. Yes, you can buy some cheap X-10 switches, but X-10 has plenty of hidden costs. You'll need a couple hundred bucks worth of equipment just to get it working "most of the time." Then there are the line filters at $25 a pop; you'll soon have a dozen of these all over your house. Then you'll want to add some compact fluorescent lighting to save money and your whole X-10 installation will cease to work.

    You will soon have so much time and money into this you'll wish you'd never started.

    For an existing home, I recommend putting in Lutron Radio-RA. No, it's not cheap. But you want it to work, right? This works out of the box without nickle and dimeing you to death while you buy more and more products trying to make X-10 work. Spend the money up front and get something that will work, look great, and add value to your home.
  • Options
    Z-Wave?!?!?!?

    Ive used the radio-ra and the Graphic Eyes for installs for my job and they are ok. We mainly install Vantage and Homework systems from the ground up and they are very solid. If X-10 is that unreliable maybe ill check out the "Z-wave" or "Zigg-Bee". As far as I know there isnt any interference from common household appliances and if there is a gap in communication you add a new point between the two closest devices. I am still working with Axcess so I still have to upgrade to the Netlinx series. We have a NI-2000 that Ill be able to borrow from work to play around with once I get a little more expierence with programming. Hopefully by then Ill figure out what kind of lighting soulution ill be going with. Maybe this Z-Wave will the soultion. I may come back and ask for help writing a module for the Z-Wave stuff.
  • Options
    DHawthorneDHawthorne Posts: 4,584
    If I were building a house today, I would either use a Homeworks Interactive, or the stand-alone Lutron H48 module (depending on the size of the house and scope of the project). If I were buying a new home already built and hard-wiring wasn't an option, I would use RadioRA. The Lutron product line is rock solid, and I would have no problem at all burying the cost of this in the mortgage.

    All that said, as a renter I'm using X-10. It's kludgy as all get-out, but I just won't give up my "All Lights Off" button on my night table in the bedroom :). Sometimes up-front cost is not the issue so much as value for amount spent. Since I rent, I'm limited in the kinds of improvements I can make, and spending a lot of money on something like RadioRA, without being certain I could re-use it when I move, is just not practical.
  • Options
    AdaptelAdaptel Posts: 41
    Attn: DIYers

    Like many other non-mainstream technologies, it seems home automation lighting control products that are available today are lacking. It seems there are two product classes on the extremes of the spectrum. There is stuff like X-10 which is inexpensive yet too crappy to take seriously, then there is all the other stuff (ie Lutron, Radia, UPB, ALC) which works as it should but is financially out of reach to us Non-Bill-Gates types.
    In this age of cheap microcontrollers and the fact that dimming a light is not rocket science, I'm curious why I haven't seen more home-brew lighting projects. Since most products just chop out portions of the sine wave, this seems like it would be a great DIY project for those who don't want to shell out $70 per light in their home. Has anyone come across someone who has tackled this already?
    Also, I just want to add my 2cents in again regarding X10. It is probably the most tempremental technology ever created, but it IS possible to get an X10 system working reliably even in a large home. Keep in mind that, to achive this, you really have to know how X10 works under the hood, not use the crappy switches & modules, map signal strength & noise, and know how to isolate the X-10 "network" from the outside world & unfriendly devices within your home. In most cases, it is more work & expense than it is worth, but possible. I settled for it because I was given 75 Smarlinc switches torn out of an installation where they couldn't get them to work. If I actually had to pay for them, I definately would sink my money elsewhere.
  • Options
    DHawthorneDHawthorne Posts: 4,584
    I think liability is the reason more isn't developed for lighting control. If your stereo speakers blow up because of an amp that was a bit flaky, that's annoying, but if your house burns down because of a faulty switch, that's another thing altogether. You have a heckofa lot more testing to do, industry standards to meet, national and local codes to comply to - and, let's face it, most people don't really have a problem with hitting the light switch as they leave or enter the room. Only us automation geeks feel like it's OK to spend $80+ on a light switch that the normal version sells for a few bucks. It's easier to justify an entertainment system control - half of my customers can't even turn their systems on without a controller. They need the things.
  • Options
    Spire_JeffSpire_Jeff Posts: 1,917
    I just wanted to comment on a few of the topics in this thread.

    First, regarding the implementation of X-10. Adaptel, correct me if I'm wrong, but you are saying that X-10 works great as long as you put in filters and use an oscilloscope to properly tune each switch. The problem with this logic is that it seems like it would take more time and money to do this than to simply install Homeworks (or AMX or ....). This takes into account the cost of the oscilloscope, the cost of the staff qualified to tune everything, the cost to write a module to control everything, and the lack of manufacture support when something doesn't work properly (this is my perception). If you are a hobbyist, X-10 might be something to challenge you, but as for a commercial application, it just doesn't seem viable.

    Second, one of the aspects of a Homeworks system that is being overlooked is the ability to cleanup a wall. This doesn't come into play in a room that only has 1 or 2 lighting loads, but if the room has 4 or more lighting loads, it looks a lot nicer to have 1 keypad (or touchpanel) than to have a 4 gang switch block. I understand that you could simply put the switches in a closet or build a wall of switches in the equipment room, but the closet isn't always an option and the switch wall seems extremely confusing and cumbersome.

    Lastly, is the ability of a well programmed lighting control system to simply lighting control. It's a hard concept to grasp because we are all used to the 1 switch, 1 light concept, but I feel that a task based lighting is more practical. Instead of each button on a keypad controlling a seperate light, each button should set the lighting for a task, such as prepare food, eat dinner, relax or entertain. If you have been to someone's house where they have 3 or 4 or more ganged switches for a room, you'll probably notice that they only turn on one of the switches on a regular basis. The only time they go through the trouble of turning all of the lights on is when they have a party and they make a conscious effort to set a particular lighting scene. A properly programmed lighting control system should work with scenes, not individual lights. To accomplish this with X-10 seems complex and as far as I know could only be accomplished with the use of an AMX processor doing the bulk of the work.

    These are simply my thoughts on the topic and I am obviously biased toward Lutron and AMX working in concert :), but I always enjoy a different point of view because it would be naive of me to think that I have considered all of the points of view.

    Jeff

    P.S.
    Dave, have you looked into the wireless Homeworks offerings from Lutron as opposed to the RadioRA?
  • Options
    DHawthorneDHawthorne Posts: 4,584
    Spire_Jeff wrote:
    P.S.
    Dave, have you looked into the wireless Homeworks offerings from Lutron as opposed to the RadioRA?
    I haven't, and I should. Three years ago, I did every lick of any kind of programming that passed through our doors, with the exception of really simple stuff like Marantz RC5000's, etc. Since then, the programming involved in the average job has grown to the point that I pretty much just do the AMX stuff now, and ohters are programming Luton and telephone systems. Consequently, I've fallen behind on what Lutron has to offer - right now, if I haven't had to integrate with it recently, I don't know much more about it than it exists.
  • Options
    Spire_JeffSpire_Jeff Posts: 1,917
    DHawthorne wrote:
    I haven't, and I should. ... Consequently, I've fallen behind on what Lutron has to offer - right now, if I haven't had to integrate with it recently, I don't know much more about it than it exists.

    As far as programming is concerned, the wireless portion of a homeworks systems is identical to the wired portion. The only difference is how the communication is transmitted. From my experience, using a wireless Homeworks processor is much more desirable than RadioRA. But, that's just my opinion ;)

    Jeff
  • Options
    AdaptelAdaptel Posts: 41
    And I Clarify....

    I never did say X-10 works great nor did I recommend anyone to use it as a first choice technology. These X-10 devices DO exist, and some people might have a reason to use them. I am the first to say X-10 sucks, but it IS possible to get it working correctly if you are so inclined, or have a reason, to do so, like myself.
    My reason for using X-10 is a good example, I was given $4000 worth of switchlincs because someone couldn't get them working correctly and ripped them out. I had the t-shooting tools, and the few hundred bucks in amps and filters was worth it to me, compared to the price of a "real" lighting system.
  • Options
    and spending a lot of money on something like RadioRA, without being certain I could re-use it when I move, is just not practical.
    I'm in the same boat here. I'd like to put RadioRA in, but even with the dealer pricing I can get it's still too spendy to justify given my circumstances. I plan to build a new home within the next 2-3 years and will use AMX Radia units so any RadioRA setup would be useless once I move.

    For now I've installed some custom wall & ceiling fixtures in a couple of rooms (since I have attic access) and am using a couple of Radia units to drive those. So I have control over a few circuits. When I sell the house I'll take the controls with me and probably just cap the fixtures off, or fish a wire into the wall and install a switch.
    Only us automation geeks feel like it's OK to spend $80+ on a light switch that the normal version sells for a few bucks.
    Exactly. For us it's a fun hobby thing. This stuff isn't practical given the costs so the only non-geeks you're going to sell it to are those with deep wallets.

    I recently tried to sneak RadioRA into some developers offerings. I live in a somewhat small city and there is an extremely limited market for home controls here; spending $2k on a small RadioRA installation would normally be out of the question, but I figured if folks could simply add it to the cost of their new home as an option and spread it over 30 years a lot of them would. They're building 500 - 1000 new homes a year here and I had a good back door with the major contractors but the response from them was, "Too much money; not enough people will buy it." And that's after I discounted it well below retail and negotiated better pricing with a Lutron rep. If I sold it any cheaper it wouldn't be worth the effort, so I gave up. Maybe in another 5 to 10 years when the area grows some more...
    If you are a hobbyist, X-10 might be something to challenge you, but as for a commercial application, it just doesn't seem viable.
    It's especially not viable from a customer's perspective. After dealing with X-10 in my home (I used it some 7 years) I swore I'd never install it for a customer. Period. You do something like that, the customer is going to come home with a new (TV, electric razor, computer, pick one) some day, the X-10 installation will stop working, and you've got a service call and an unsatisfied customer.

    My X-10 installation destroyed a nice brick planter I built in my yard. I went to turn a light on one night and it didn't come on, so I hit the button again. The next morning my planter sprinklers were on, most of the dirt had flooded out of it, and it had cracked and sank partially into the ground. Looking through the logs, my JDS Timecommander misinterpreted the X-10 signal. I sent the lights on command, it received sprinklers on. But I had no "turn sprinklers on from a wireless controller" routine; they were on a schedule, so since the schedule did not execute (that was executed via "at this time do x" code), the timer never ran, so the sprinklers never turned off. Could it have been fixed in code? Yes. Should I have had to do that? No. This was a stupid X-10 mistake; X-10 sometimes misses signals or interprets them wrong. It's rare but it happens. Someone like me can put up with this crap. A customer wouldn't (and shouldn't have to).
    To accomplish this with X-10 seems complex and as far as I know could only be accomplished with the use of an AMX processor doing the bulk of the work.
    Nah -- You can do complex scenes with X-10 by itself. There are plenty of cheap programmable interfaces that will do all this for you - the Activehome interface I wrote my AMX module for is one of them. In the AMX module it just acts as a powerline interface, but it can be programmed with all sorts of simple operations.

    Larger scenes take time to execute, though, and with most switches you can't read the brightness level so you have to put all lights at 100% then send x dim signals to each light. It could take 10-20 seconds to fully execute a good scene, and if a signal is missed you have to push the button again and let the scene start over. Or, if someone pushes a button on any X-10 controller while a scene is executing, the signals collide and it screws everything up. It's fine for a toy but I don't consider it anything more than that.
    My reason for using X-10 is a good example, I was given $4000 worth of switchlincs because someone couldn't get them working correctly and ripped them out. I had the t-shooting tools, and the few hundred bucks in amps and filters was worth it to me, compared to the price of a "real" lighting system.
    Heck, I don't fault you for that. I'd do the same thing if I were in your position. Many of us dabbled in X-10; I had several thousand dollars worth of X-10 hardware in my house when I finally got fed up with it. The professional lighting control products are expensive and are best suited for new construction. I fully understand why so many people use X-10 instead.
Sign In or Register to comment.