POWERLINC PROGRAMMING MANUAL v1.2a - Smarthome
POWERLINC PROGRAMMING MANUAL v1.2a - Smarthome
POWERLINC PROGRAMMING MANUAL v1.2a - Smarthome
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
INTRODUCTION<br />
The PowerLinc from SmartHome will provide 12V 300mA DC and two-way power-line<br />
communication to any PowerLinc compatible OEM 1 unit. The PowerLinc can also be used as a<br />
direct TW523 replacement for two-way power-line communication only.<br />
Known PowerLinc compatible devices are listed in appendix A.<br />
USAGE<br />
Plug the PowerLinc box into any standard 120V<br />
60Hz power outlet. Plug the other end of the<br />
PowerLinc into the OEM unit that will be<br />
communicating with the power-line.<br />
Outlet<br />
PowerLinc<br />
CAUTION – the PowerLinc is not designed nor<br />
approved for use on power-lines that operate on non-120V/60Hz cycles. Attempting to use the<br />
PowerLinc on non-approved power-lines may have hazardous consequences.<br />
OEM Unit<br />
Also, do not plug the PowerLinc into a telephone jack or telephone equipment. Doing so may<br />
result in equipment failure. The PowerLinc is designed for power-line communication, not<br />
telephone communication.<br />
CONNECTOR SPECIFICATIONS<br />
ADDITIONAL RESOURCES<br />
• The X10 TW523 technical manual is available online at http://www.smarthome.com/manuals/MAN-<br />
1136.pdf.<br />
• The PowerLinc programming manual is available online at http://www.smarthome.com/1132.html.<br />
Please check for documentation upgrades.<br />
• The PowerLinc is available for purchase at http://www.smarthome.com/1132.html.<br />
1<br />
Original Equipment Manufacturer<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
1
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
APPENDIX A – Compatibility Chart <strong>POWERLINC</strong> FEATURE<br />
DEVICE MANUFACTURER POWER PLC RS232<br />
HomeVision Custom Solutions<br />
HouseLinc SmartHome<br />
One for All Command Center Universal Electronics<br />
Time Commander Plus JDS<br />
TouchLinc SmartHome<br />
8 CH X10 Relay Control RCS<br />
16 CH X10 Relay Control RCS<br />
X10 Thermostat RCS<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
2
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
APPENDIX B – RS232 Protocol for standard X10 transmission<br />
(Please refer to Appendix D for extended raw data transmission)<br />
RS232 communication parameters to the PowerLinc are 8 data bits, no parity, 1 stop bit, 9600<br />
baud.<br />
This must precede all commands:<br />
1. Send 0x02 to the PowerLinc.<br />
2. The PowerLinc will respond with ACK (0x06) if ready, NAK (0x15) if not ready.<br />
3. The ACK will be followed by a carriage return (0x0D). The NAK isn’t followed with a<br />
carriage return.<br />
After an ACK (0x06) and carriage return (0x0D) is received, the PowerLinc is ready to accept a<br />
command.<br />
To send an X10 house code, unit code, and function code, send the following hexadecimal bytes<br />
to the PowerLinc:<br />
0x63 [Send X10 Command]<br />
0x?? [Refer to Appendix C for house code hex or ASCII byte to send to PowerLinc]<br />
0x?? [Refer to Appendix C for unit code hex or ASCII byte to send to PowerLinc]<br />
0x?? [Refer to Appendix C for function code hex or ASCII byte to send to PowerLinc]<br />
0x?? [Refer to Appendix E for Repeat Count to send to PowerLinc]<br />
Additional notes:<br />
To leave out the function code, substitute a 0x00 in its place. For example, to send A1 only:<br />
0x63 0x46 0x4C 0x00 0x41<br />
To leave out the unit code, place the function code in the unit code’s place, then place a 0x00 in<br />
the function code’s place. For example, to send AON only:<br />
0x63 0x46 0x45 0x00 0x41<br />
Example communication for “A1 AON”<br />
0x02 [start command ]<br />
0x06 [ACK ]<br />
0x0D [carriage return ]<br />
0x63 [send X10 command ]<br />
0x46 [house code ‘A’ ]<br />
0x4C [unit code ‘1’ ]<br />
0x45 [function code ‘On’ ]<br />
0x41 [repeat command once ]<br />
0x58 [transmission received ]<br />
0x46 [house code ‘A’ ]<br />
0x4C [unit code ‘1’ ]<br />
0x31 [sent once ]<br />
0x0D [carriage return ]<br />
0x58 [transmission received ]<br />
0x46 [house code ‘A’ ]<br />
0x45 [function code ‘On’ ]<br />
0x31 [sent once ]<br />
0x0D [carriage return ]<br />
The symbol “” indicates communication to<br />
the PowerLinc, and “” indicates from the<br />
PowerLinc to the OEM unit.<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
3
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
APPENDIX C - PowerLinc X10 Code Chart<br />
X10 Code X10 Hex Code Hex byte or Ascii byte to send to PowerLinc<br />
A 06 46 F<br />
B 0E 4E N<br />
C 02 42 B<br />
D 0A 4A J<br />
E 01 41 A<br />
F 09 49 I<br />
G 05 45 E<br />
H 0D 4D M<br />
I 07 47 G<br />
J 0F 4F O<br />
K 03 43 C<br />
L 0B 4B K<br />
M 00 40 @<br />
N 08 48 H<br />
O 04 44 D<br />
P 0C 4C L<br />
1 0C 4C L<br />
2 1C 5C \<br />
3 04 44 D<br />
4 14 54 T<br />
5 02 42 B<br />
6 12 52 R<br />
7 0A 4A J<br />
8 1A 5A Z<br />
9 0E 4E N<br />
10 1E 5E ^<br />
11 06 46 F<br />
12 16 56 V<br />
13 00 40 @<br />
14 10 50 P<br />
15 08 48 H<br />
16 18 58 X<br />
All Units Off 01 41 A<br />
All Lights On 03 43 C<br />
On 05 45 E<br />
Off 07 47 G<br />
Dim 09 49 I<br />
Bright 0B 4B K<br />
All Lights Off 0D 4D M<br />
Extended Code 0F 4F O<br />
Hail Request 11 51 Q<br />
Pre-Set Dim High 17 57 W<br />
Pre-Set Dim Low 15 55 U<br />
Extended Data (analog) 19 59 Y<br />
Status = on 1B 5B [<br />
Status = off 1D 5D ]<br />
Status Request 1F 5F _<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
4
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
APPENDIX D - RS232 Protocol for extended raw transmission<br />
(Please refer to Appendix B for standard X10 transmission)<br />
RECEIVE<br />
The PowerLinc recognizes extended code data over the power-line. Upon seeing an X10<br />
function code of “extended code” or “extended data”, the PowerLinc will echo back a lower case<br />
ASCII “e” to signify that there is extended data on the power-line, then it will echo back all output<br />
on the power-line in hexadecimal format until it sees a three zero-cycle gap (as per X10<br />
specification).<br />
Example 1:<br />
The PowerLinc sees the following bits on the power-line:<br />
SC HC P FC XD XD ZCG<br />
1110 10100101 1010010110 10101010 000000<br />
SC = Start Code<br />
HC P = House Code “P”<br />
FC XD = Function Code “Extended Data”<br />
XD = Extended Data<br />
ZCD = Three zero-cycle gaps<br />
After seeing the extended data on the power-line, the PowerLinc first echoes back a lower case<br />
ASCII “e” to signify that there is extended data on the power-line. Then, according to the binary<br />
data above, the PowerLinc would echo the following hexadecimal bytes:<br />
E A 5 A 5 A A 8<br />
1110 1010 0101 1010 0101 1010 1010 1000<br />
[SC ][ HC P ] [ FC XD ][ XD + part of ZCG ]<br />
Resulting with a total ASCII output string of “eêZ[ø”, which corresponds to the following<br />
hexadecimal bytes: 65 EA 5A 5A A8. Not all of the three zero-cycles are echoed back.<br />
Example 2:<br />
The Stanley X10 Door Position Transmitter sends the following hex data on the power-line when<br />
the “TEST” button is pressed:<br />
E6 96 A9 A9 55 5A 9B 9A A6 A5 65 55 6A 60<br />
Which the PowerLinc echoes back as: “eæ–©©YUZ›šZ¦¥eUj`” (quotes not included).<br />
Note that the actual raw data starts after the first character “e”, since the “e” is simply to signify<br />
that the rest of the data is extended data.<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
5
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
Transmit:<br />
The PowerLinc permits the user to place any data out onto the power-line. To send data onto<br />
the power-line, send hex-code “80”, followed by a byte count (in hex) of the data to be placed<br />
onto the power-line, followed by the data to be placed on the power-line.<br />
The data to be placed on the power-line should be complimented, per X10 specification, and<br />
terminated by six 0’s, to indicate a three zero-cycle gap. While this is the recommendation, the<br />
PowerLinc will allow the user to place any data on the power-line.<br />
Example:<br />
The symbol “” indicates communication to the PowerLinc, and “” indicates from PowerLinc to<br />
the unit.<br />
0x02 [start command ]<br />
0x06 [ACK ]<br />
0x0D [carriage return ]<br />
0x80 [send extended data ]<br />
0x05 [byte count ]<br />
0xEA [Start code + House code ]<br />
0x96 [House code + Function code]<br />
0xAA [Function code + Extended data]<br />
0x6A [Extended data ]<br />
0x98 [Extended data + gap ]<br />
0x00 [Gap ]<br />
The hexadecimal data is translated into the following binary data on the power-line:<br />
E A 9 A 9 A 6 A 9 8 0<br />
1110 0110 1001 1010 0101 1010 0110 1010 1001 1000 0000<br />
[SC ] [ HC ] [ FC ][ XD ][ ZCG ]<br />
SC = Start Code: three 1’s followed by a 0. X10 protocol dictates that all X10 transmissions<br />
should start with this start code.<br />
HC = House Code: expanded house code<br />
For example, house code “A” which is normally “0110” (0x06) becomes “0110 1001”. When the<br />
house code is expanded out, each bit is complimented. Another example: house code “M”<br />
(“0000” or 0x00) would be expanded out to “0101 0101”.<br />
FC = Function Code: expanded function/unit code<br />
Similarly to the house code, the function code also needs to be expanded out. In the above<br />
example, the expanded function code is “10 1001 0110”. This condenses to “11001”, or “0x19”;<br />
which is the X10 hexadecimal code for “extended data”. Another example: function code “ON”<br />
(“0101” or 0x05) would be expanded out to “01 0110 0110”.<br />
XD = Extended Data<br />
The extended data in the above example is “10 0110 1010 1001 1”. The extended data is<br />
completely arbitrary, but is recommended to conform to the X10 specification of complimenting<br />
every bit. Six 0’s will signify an X10 “End-of-transmission”.<br />
ZCG = Three zero-cycle gap<br />
X10 protocol dictates that all X10 transmissions should be terminated by a three zero-cycle gap.<br />
The six 0’s on the end satisfy this requirement.<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
6
<strong>POWERLINC</strong> <strong>PROGRAMMING</strong> <strong>MANUAL</strong> <strong>v1.2a</strong><br />
APPENDIX E - PowerLinc Repeat Code Chart<br />
Repeat Count (decimal) ASCII Byte Hex Byte<br />
1 A 0x41<br />
2 B 0x42<br />
3 C 0x43<br />
4 D 0x44<br />
5 E 0x45<br />
6 F 0x46<br />
7 G 0x47<br />
8 H 0x48<br />
9 I 0x49<br />
10 J 0x4A<br />
11 K 0x4B<br />
12 L 0x4C<br />
13 M 0x4D<br />
14 N 0x4E<br />
15 O 0x4F<br />
http://www.smarthome.com | powerlinc@smarthome.com<br />
16542 Millikan Ave, CA 92606 | 1.800.SMARTHOME<br />
Copyright © 2004 <strong>Smarthome</strong><br />
7