Please login or register.

Login with username, password and session length
Pages: 1 [2]

Author Topic: Help sending extended code to muliple units  (Read 38967 times)

Boiler

  • Guest
Re: Help sending extended code to muliple units
« Reply #15 on: November 13, 2009, 07:49:24 AM »

Hello ylaviolette,

Thought I would continue our conversation from the Smarthome forum over here (it's probably more appropriate on this forum).

Unit grouping is a feature that is near and dear to my heart.  It allows you to develop a "scene" of units that all respond to one command at the same time.  In my mind, this is how X10 should have worked from the beginning.

From what I understand of your setup, you should be able to use AHP or the command line to program your units with the group information.  Executing the group commands (activating the scene) could then be accomplished (hopefully) via Girder or Homeseer using a single extended code "Group Execute Command".

Charles has already answered your question on the use of groups across housecodes.  I wrote a little tutorial awhile back that may be able to provide some additional information: Programming and Using X10 Scenes: A Tutorial

As indicated in the tutorial, I use AHP Macros to program the scenes in my Leviton devices.  This has the advantage of being "self documenting".  I have a saved program that includes all of the scene programming info.  If I have a question on what devices are included in a scene (or what levels) I simply bring up the save AHP program and have a look at the macro.  Much easier than documenting a series of command line programming.  An alternative would be to create a batch file with your command line entries and archive the batch file for future reference.

Have fun,
Boiler

Logged

ylaviolette

  • Newbie
  • Helpful Post Rating: 0
  • Posts: 7
Re: Help sending extended code to muliple units
« Reply #16 on: November 14, 2009, 05:45:05 PM »

Thanks for the great tutorial Boiler, could you have a look at my conclusions in terms of command lines
and help me fill in the blanks (?) and correct errors if any.


Direct dim one device (one time - no groups)

sendplc a1 extcode 31 09 // direct dim A1 almost off


Direct dim multiple devices under one housecode (group 0)


sendplc a1 extcode 32 09 // set a1 almost off, include in global group 0
sendplc a6 extcode 32 39 // set a6 bright, include in global group 0
sendplc a extcode 36 00  // execute global group 0


Direct dim multiple devices under one housecode (group 3 - where do i put the C0 for the first two lines ? )

sendplc a1 extcode 32 09 // set a1 almost off, include in global group 3
sendplc a6 extcode 32 39 // set a6 bright, include in global group 3
sendplc a extcode 36 C0  // execute global group 3


Direct dim multiple devices / multiple housecodes
(Charles mentionned that each housecode could have its own groups, can this be achieved?)


sendplc a1 extcode 32 09 // set a1 almost off, include in global group 3
sendplc b6 extcode 32 39 // set b6 bright, include in global group 3
?
?


delete all of the groups from the unit(s) at address A1

sendplc a1 extcode 35 0F


delete all of the groups from the unit(s) at housecode A

sendplc a extcode 35 FF


Since I think this is format 3 for all of the above, could you also let me know how using "Format 2" (64 groups)
or "format 1" (not really necessary if you use format 3 I believe?) would affect the above command lines?


Questions:


1- grouping commands (30,31,32) only need to be called once right?
The group info then resides in the module until you call a remove (35) command or unplug, correct?

2- If a unit is unplugged, it will keep it's group data for a few seconds then will be reset
(will belong to no groups), correct?

3- as per your tutorial note, If x10 modules need to be unplugged in order to complete a "group delete",
why not simply unplug them without going through the "group delete" command?
(hopefully this doesn't apply to wall switches, I wouldn't like to pull the wires of all my switches...)

4- If you send a 3F brightness command, you get a "direct 100% ON" (without ramp up), is there any other similar commands ("direct OFF", direct 50%, etc.) ?


Thx for all your help, since I'm using a lot of the newer X10 modules,
if I discover something which is not part of your tutorial, I'll be glad to let you know.
If you have any special testing you want me to do, please ask.

Ciao

« Last Edit: November 15, 2009, 11:12:49 AM by ylaviolette »
Logged

Boiler

  • Guest
Re: Help sending extended code to muliple units
« Reply #17 on: November 16, 2009, 08:16:56 PM »

Hi Ciao,

Looks like you're getting deep into things...

Direct dim multiple devices under one housecode (group 0)


sendplc a1 extcode 32 09 // set a1 almost off, include in global group 0
sendplc a6 extcode 32 39 // set a6 bright, include in global group 0
sendplc a extcode 36 00  // execute global group 0

Correct format 3 programming and execute.

Direct dim multiple devices under one housecode (group 3 - where do i put the C0 for the first two lines ? )

sendplc a1 extcode 32 09 // set a1 almost off, include in global group 3
sendplc a6 extcode 32 39 // set a6 bright, include in global group 3
sendplc a extcode 36 C0  // execute global group 3

You need to add (hexidecimal) the C0 + the brightness.

C0 + 09 = C9
C0 + 39 = F9

Direct dim multiple devices / multiple housecodes
(Charles mentionned that each housecode could have its own groups, can this be achieved?)


sendplc a1 extcode 32 09 // set a1 almost off, include in global group 3
sendplc b6 extcode 32 39 // set b6 bright, include in global group 3
?
?

Groups are housecode specific.  You can program more than one group 3 (i.e. group 3 in housecode A,B,C) but these will be treated as different groups.  Remember that the Group Execute command is housecode specific as well.  It will only activate Grouped units on one housecode.

Quote
Questions:
1- grouping commands (30,31,32) only need to be called once right?
The group info then resides in the module until you call a remove (35) command or unplug, correct?

Correct, once a unit is programmed you do not need to reprogram unless it is erased (below).

Quote
2- If a unit is unplugged, it will keep it's group data for a few seconds then will be reset
(will belong to no groups), correct?

Per Charles post, that is correct (and I trust Charles in this).

Quote
3- as per your tutorial note, If x10 modules need to be unplugged in order to complete a "group delete",
why not simply unplug them without going through the "group delete" command?
(hopefully this doesn't apply to wall switches, I wouldn't like to pull the wires of all my switches...)

You're absolutely correct.  At the time that I wrote the tutorial, I didn't know that the X10 units used volatile memory.  It's far easier to remove power than it is to execute a delete macro.  Your wall switches can likely be erased using the "disconnect" switch below the rocker.

Quote
4- If you send a 3F brightness command, you get a "direct 100% ON" (without ramp up), is there any other similar commands ("direct OFF", direct 50%, etc.) ?

All of the direct dim commands are direct (without ramp up).  I typically use simple off commands with the units.  You could use direct dim 0% to turn the unit off and bypass the ramp down.  Per Charles, a 0% does indeed turn the unit completely off.
Logged

ylaviolette

  • Newbie
  • Helpful Post Rating: 0
  • Posts: 7
Re: Help sending extended code to muliple units
« Reply #18 on: November 16, 2009, 09:39:03 PM »

Thx Boiler, great info. I'm almost done...

1 - If I understand correctly, there is no way I could trigger simultaneously a "direct dim" for two units in different housecodes ? (ex A1 and E8)

2 - If there is a 4 groups limit per housecode, I guess that's probably where the "format 2" becomes useful; if so, could you let me know how I could apply "format 2" to my first or second example (prior post). Once one understands how to use "format 2" why bother using "format 3" ?

3 - regarding the "ramp on"/"ramp off", maybe this is specific to x10 modules like the WS12 I am currently testing (vs Leviton), but I confirm that except for "3F", none of the "direct dims" are "ramp" free. Everything else is quick but gradual transition (I believe the protocol description confirms that,below). Not a big deal but it could be useful to use both. Could this be in any way a confirmation that the "T field" would be functional on X10 modules? (however I don't see a "0s" value available). If you can tell me where to incorporate the additional "T field" in the line command, I will try it and let you know.

For all units:
'B'FIELD = NZ (?) means 'ON', ZERO means 'OFF'.
For Dimmers, ‘B’ determines the dim level (63 levels from H’3F’ to 1)
'B'FIELD = H'3F' means 'ON'@ FULL BRIGHT immediately.
'B'FIELD = H'01'to H'3E' means brighten gradually from the current
level to the new level.
If previously OFF the unit comes
ON at FULL DIM before brightening. (?)
‘T’FIELD = the time over which the change takes place.
For ’T’=0,t=3.7s ;for ’T’=1,t=30s ;for ‘T’=2,t=1min; for‘T’=3,t=5min

4- (SOLVED) Did I understand correctly that:

sendplc a1 extcode 35 0F,  will work without unplugging the unit
sendplc a extcode 35 FF, won't work without unplugging the unit
Edit: TESTED - both commands work flawlessly without unplugging the units

5 - Is it possible to add (possibly "new") appliance modules to groups? The objective here being to have them turn on or off at the same time as  "direct dimming" modules. In other words, does any of the appliance modules respond to extended commands (bright 00 or 3F, possibly) ? I have found some info mentioning that the older AM14a responded to "extended commands" however they seem to be discontinued and I am not sure if any of the newer modules would offer the same benefit.

 ( http://books.google.ca/books?id=EXRb3sq4eRgC&pg=PT251&lpg=PT251&dq=am466+%22extended+commands%22&source=bl&ots=PYAh9J0bPt&sig=n-12ywmx9NwtlFlcYAhoD5O0CEU&hl=en&ei=JswCS7TlOIvClAfqzdjkAQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CAgQ6AEwAA#v=onepage&q=am466%20%22extended%20commands%22&f=false)

UPDATE: Successfully tested with XPS3 (sending any NZ (= non-Zero) extended code dim value turns it on and an extended code Zero dim value turns it off) So I am pretty confident that the AM486 will work as well.


6 - I had some success trying to integrate this within Girder (command line based) but some development would still be required to fully integrate it. If anyone out there is interested in having X10 "extended commands" integrated in a complete automation software have a look at this post.  http://www.promixis.com/forums/showthread.php?p=138702&posted=1#post138702
Based on my research, no software (including Homeseer) currently supports it efficiently and unfortunately Activehome only handles X10 stuff.

Ciao (informal Italian verbal salutation or greeting: "goodbye" )   =)

Yann

« Last Edit: November 19, 2009, 02:22:25 PM by ylaviolette »
Logged

Boiler

  • Guest
Re: Help sending extended code to muliple units
« Reply #19 on: November 17, 2009, 06:48:38 AM »

Thx Boiler, great info. I'm almost done...

1 - If I understand correctly, there is no way I could trigger simultaneously a "direct dim" for two units in different housecodes ? (ex A1 and E8)


Correct.  Both the unit programming and the Group execute trigger command are housecode specific.

Quote
2 - If this imposes a 16 devices limit per housecode, I guess that's probably where the "format 2" becomes useful; if so, could you let me know how I could apply "format 2" to my first or second example (prior post). Once one understands how to use "format 2" why bother using "format 3" ?

Not quite.  Formats 1 and 3 allow 4 groups per housecode.  You can assign an unlimited number of units to a group (i.e. if I had 50 units on housecode A, I could assign them all to group 0).





The way to think about the format 2 programming is that you have 16 "sets" of 4 "groups""
1) Units can be a member of any of the 4 groups within a set
2) Units cannot be a member of more than 1 set.


Programming for Set 0 is very similar to format 1:
Format 1 (group 0) : Sendplc 30 00
Format 2 (set 0, group 0) sendplc 30 20
Format 2 (set 0, group 1) sendplc 30 60
Format 2 (set 0, group 2) sendplc 30 A0
.
.
.
Format 2 (set 1, group 0) sendplc 30 21
Format 2 (set 2, group 0) sendplc 30 22
Format 2 (set 3, group 0) sendplc 30 23


I'll have to get back with you on the remaining.  I'm on the road for this week and I'm a bit pressed for time.
Logged

ylaviolette

  • Newbie
  • Helpful Post Rating: 0
  • Posts: 7
Re: Help sending extended code to muliple units
« Reply #20 on: January 05, 2010, 11:13:26 PM »

Hi Boiler, Thx for everything, I am now through with all my tests and everything is understood. I use direct dims (extcode31) and format 2 groups flawlessly. I also managed to get assistance with people at Girder to upgrade the CM15 plugin in order to support ext commands directly.

However, I am still puzzled at format 2...
even if I understand and have tested it successfully, I can't imagine a scenario where this would be useful.
Since units can't be part of more than one set of 4 groups, you still have the same limitations as format 3, which is 4 "scenes" per unit.
What's the use of having 16 sets if they can't be shared?
Logically, this means that in order to actually use all 16 sets for one housecode (16 unit codes), you could only use one unit code per set?
Do you have any real life example where this would make sense?

PS: I have tested a lot of newer modules, so far every dimmable module accepts extended commands (lamp modules, wall switches, etc)
However, the XPDI3 (inductive dimmer) doesn't seem to work ( I have ordered a new one just in case mine was a pre 2007 unit)

XPS3 (20amp appliance wall switch) works (off with 00, On with 3F or any non Zero value)
unfortunately other appliance modules doesn't seem to work (AM486, XPFM, etc)
I am trying to find older AM14a modules to replace my AM486 (I believe they support Ext command but are discontinued)

BTW, maybe you are already aware, but I believe the small round sticker behind units reveals the production date based on the following format:  First digits:  7=1997, 9=1999, 07=2007, 0=2009, etc.

Also, for people complaining about the weak range of CM15a:
No need to buy the w800 or RFXcom receiver; just build the following antenna:
http://www.cocoontech.com/forums/index.php?showtopic=126
add a generic VHF/UHF/FM 20db signal amplifier
convert either a CM19a or CM15a (best) to coax:
http://www.shed.com/tutor/mr26ant.html
http://www.shed.com/tutor/CM15mods/CM15mods.html
install the antenna in your attic and voila! 200+ feet of indoors/outdoors receiving range.

Best wishes for 2010,

Logged

ylaviolette

  • Newbie
  • Helpful Post Rating: 0
  • Posts: 7
Re: Help sending extended code to muliple units
« Reply #21 on: January 15, 2010, 10:45:24 AM »

Just a quick update:

SR227 (SuperSocket Wall Recepticle Module) supports extended commands (off with 00, On with 3F or any non Zero value)

Still waiting to receive xpdi3, will post results later, thx
Logged

ylaviolette

  • Newbie
  • Helpful Post Rating: 0
  • Posts: 7
Re: Help sending extended code to muliple units
« Reply #22 on: January 21, 2010, 03:23:53 PM »

Update: newer XPDI3 also supports Extended commands.
Since my other unit was dated 2007, you have to be careful with 07xxxx units, some work, some don't.

I will test XPDF and supersocket in the next 2 weeks.

Since AM486 doesn't work, I am using older AM14a/PAM21/PAM22 which are discontinued but can still be found off Ebay. They work perfectly.








Logged

Brian H

  • Community Organizer
  • Hero Member
  • ***
  • Helpful Post Rating: 305
  • Posts: 13295
Re: Help sending extended code to muliple units
« Reply #23 on: January 21, 2010, 06:00:27 PM »

Yes it was sometime in 2007 when the change was made.
X10 didn't give us any exact date or Date Code when it happened.
Logged
Pages: 1 [2]
 

X10.com | About X10 | X10 Security Systems | Cameras| Package Deals
© Copyright 2014-2016 X10.com All rights reserved.