Announcement

Collapse
No announcement yet.

Help with X10 Extended Command

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Help with X10 Extended Command

    I'm trying to program some older ACT RD134 switches and I need to send an X10 extended command to them to enable extended code status response. From what I can see, the following is what I need to send to the switch:

    Code:
    	   DATA		    TYPE/CMD
    x  x  x  x  x  x  C1 C0		3  B  CONFIGURE MODULES (this HC )
    						C0 = AUTOACK 'EXTENDED' MESS
    						C1 = AUTOACK 'STANDARD' MESS
    						Automatic ACK for messages that
          						alter O/P state of unit. Bit's 2-7
       						reserved for future.
    And I want to do the C0=AUTOACK 'EXTENDED' MESS. The problem is that I have absolutely no clue how to turn the above into an EXECX10 command. Can someone either explain how to do this, or just tell me what values I would need for the EXECX10 command?

    Thanks much,
    Brett

    #2
    Brett,

    Here's the format of an extended message (from Homeseer help):

    Format: ExecX10 code, cmd, dimval, data2, wait
    where:
    code (string) This is a string of devices like "A1" or "A1+2+3+9".
    cmd (string) This is the name of the command as a string.
    dimval (integer) This is the % dim for "Dim" and "Bright" commands.
    data2 (integer) This is the second data byte for the "Extended" X10 command. The dimval parameter is the first data byte if the command is "Extended".
    wait (boolean) If TRUE, the command will not return until after the X10 command has actually been sent on the power line.

    First, you'll need to convert the 'data' and 'type/cmd' bytes to integers.

    The 'data' format is: x x x x x x C1 C0 where the 'x' means "don't care" and you can use either a 1 or a 0. I always use 0.
    Since you want to enable bit C0, the bits of your byte would look like this: 0 0 0 0 0 0 0 1
    where each bit has a numeric weighting of: [128] [64] [32] [16] [8] [4] [2] [1]
    In your case only the "1" bit is set so the result is just 1. But, for the sake of example, let's say you wanted to convert 1 0 0 1 0 0 1 0. This would be 128+16+2 or 146.

    The 'type/cmd' is listed in hex on the datasheet so you'll need to convert this to decimal by using these values for the letter characters: A=10, B=11, C=12, D=13, E=14, F=15.
    3B = (3*16) + 11 = 59

    If your device address is H4, you would send the following from a script:
    hs.ExecX10 "H4", "extended", 1, 59, False

    Or from an event you would preceed the statement with an &:
    &hs.ExecX10 "H4", "extended", 1, 59, False

    You should check out these tech articles by Phil Kingery of ACT-Solutions; there is one on the extended protocol that may help shed more light on your situation.

    Hope this clears things up a bit.
    Best regards,
    -Mark-

    If you're not out on the edge, you're taking up too much room!
    Interested in 3D maps? Check out my company site: Solid Terrain Modeling

    Comment


      #3
      Thanks mfisher... that helps a great deal. I won't be able to try it until later this evening, but I'll let you know how it goes.

      Thanks again,
      Brett

      Comment


        #4
        I just wanted to follow up and let you know that it worked perfectly. I was driving myself nuts last night trying to figure this out.

        Thanks again,
        Brett

        Comment


          #5
          Glad I could help & glad it worked for you!
          Best regards,
          -Mark-

          If you're not out on the edge, you're taking up too much room!
          Interested in 3D maps? Check out my company site: Solid Terrain Modeling

          Comment

          Working...
          X