PROGRAM_NAME='Basement_ligthing' DEFINE_VARIABLE CHAR sLightingBoxBuffer[300] integer J INTEGER LEDS [2] [4] [32] [25] // change as needed for multiple processors, new links, etc. //integer nAllLightsSt = 0 INTEGER nBLobbyPhtKyBtn[]= { 1, // 2, // 3, // 4, // 5, // 6, // 7, // 8, // 9, // 10, // 11, // 12, // 13, // 14, // 15, // 16, // 17 // } INTEGER nGymPhtKyBtn[]= { 18, // 19, // 20, // 21, // 22, // 23, // 24, // 25, // 26, // 27, // 28, // 29, // 30, // 31, // 32, // 33, // 34 } INTEGER nSpaPhtKyBtn[]= { 35, // 36, // 37, // 38, // 39, // 40, // 41, // 42, // 43, // 44, // 45, // 46, // 47, // 48, // 49, // 50, // 51 // } INTEGER nHometheaterPhtKyBtn[]= { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68 } INTEGER nDiwaniyaPhtKyBtn[]= { 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87 } INTEGER nDiwaniyaShutterPhtKyBtn[]= { 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107 } INTEGER nDiwaniyaSheerPhtKyBtn[]= { 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127 } INTEGER nDiwaniyaCurtainPhtKyBtn[]= { 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147 } define_function TESTkp(char buff[]) //lutron sent: $0D$0AKLS, [01:06:02], 000000000000000000000000$0D$0A { stack_var char temp[30] stack_var char tProc[5] stack_var char tLink[5] stack_var char tKP [5] stack_var char tBtns [35] stack_var integer btn stack_var integer arr_proc stack_var integer arr_link stack_var integer arr_kp stack_var integer arr_btn stack_var integer arr_status temp = remove_string(buff, 'KLS, [', 1) // Only care about LED feedback if (!length_string(temp)) { return } tProc = remove_string(buff, ':', 1) // get Processor # set_length_string(tProc, length_string(tProc) - 1) arr_proc = ATOI(tProc) tLink = remove_string(buff, ':', 1) // get Link # set_length_string(tLink, length_string(tLink) - 1) arr_link = ATOI(tLink) tKP = remove_string(buff, '], ', 1) // get KP # set_length_string(tKP, length_string(tKP) - 3) arr_kp = ATOI(tKP) tBtns = remove_string(buff, "13, 10" , 1) // get Btn string set_length_string(tBtns, length_string(tBtns) - 2) // SEND_STRING 0,"'tBtns=',tBtns" // SEND_STRING 0,"'arr_kp=',ITOA(arr_kp)" // could nest next section within loops for links and processors if required FOR(J=1;J<=24;J++) // buttons on KP { LEDS [arr_proc] [arr_link] [arr_kp] [J] = ATOI(MID_STRING(tBtns,J,1)) // possible states of lutron buttons //SEND_STRING 0,"'LEDS [arr_proc] [arr_link] [arr_kp] [J] =',tProc,' ,',tLink,' ,',tKP,' ,',itoa(J),' '" } //SEND_STRING 0,"'LEDS [2] [4] [5] [15] =',itoa(LEDS [2] [4] [5] [15]),' '" } DEFINE_START CREATE_BUFFER dvLutron2,sLightingBoxBuffer WAIT 50 { IP_CLIENT_OPEN (dvLutron2.port,'10.10.3.251',23,1) // THESE SHOULD PROBABLY BE DECLARED AS CONSTANTS & PROPERLY REFERENCED // - port, IP, TCP port (telnet here), protocol (1 is TCP; 2 is UDP). } DEFINE_EVENT DATA_EVENT [dvLutron2] { ONLINE: { WAIT 5 // this might need tweaking SEND_STRING dvLutron2,"'AMX,AMX123', 13, 10" // this username/password must be setup in Illuminations, Address Assignment, Port 9. Also check feedback desired on that entry you create. } OFFLINE: { WAIT 2 // tweak ? IP_CLIENT_OPEN (dvLutron2.port,'10.10.3.251',23,1); // again, declare these - port, IP, TCP port (telnet here), protocol. } STRING: { // SEND_STRING 0, "'lutron sent: ',data.text" // will yield string below // Line 153 :: lutron sent: $0D$0AKLS, [01:06:02], 000000000000000000000000$0D$0A - 11:43:30 // sLightingBoxBuffer=data.text SEND_STRING 0,"'data.text', sLightingBoxBuffer,' '" IF (FIND_STRING(sLightingBoxBuffer, 'KLS',1)) { TESTkp(sLightingBoxBuffer) } } ONERROR: { SWITCH (DATA.NUMBER) { // No need to reopen socket in response to following two errors. CASE 9: // Socket closed in response to IP_CLIENT_CLOSE. CASE 17: // String was sent to a closed socket. { } DEFAULT: // All other errors. May want to retry connection. { IP_CLIENT_OPEN (dvLutron2.port,'10.10.3.251',23,1) } } } } // //DATA_EVENT[dvLutron2] //{ // ONLINE : // { // SEND_COMMAND dvLutron2,"'SET BAUD 115200,N,8,1'" // SEND_STRING 0,"'Lutron 1 is Online'" // wait 10 // { // SEND_STRING dvLutron2,"'KBMON'" // } // } // //} // //DATA_EVENT[dvLutron2] //{ // ONLINE : // { // SEND_COMMAND dvLutron2,"'SET BAUD 115200,N,8,1'" // SEND_STRING 0,"'Lutron 3 is Online'" // wait 10 // { // SEND_STRING dvLutron2,"'KLMON',13, 10" // } // } // //} BUTTON_EVENT[dvTP_LutronBasementARRAY,nBLobbyPhtKyBtn] { PUSH: { //[dvTP_LutronBasementARRAY,GET_LAST(nBLobbyPhtKyBtn)] = ! [dvTP_LutronBasementARRAY,GET_LAST(nMBRPhtKyBtn)] switch(GET_LAST(nBLobbyPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:1],1',13, 10" } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:1],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:1],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:1],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:1],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:1],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:1],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:1],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:1],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:1],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:1],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:1],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:1],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:1],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:1],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:1],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:1],24',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nGymPhtKyBtn] { PUSH: { switch(GET_LAST(nGymPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:2],1',13, 10" } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:2],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:2],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:2],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:2],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:2],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:2],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:2],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:2],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:2],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:2],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:2],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:2],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:2],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:2],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:2],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:2],24',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nSpaPhtKyBtn] { PUSH: { switch(GET_LAST(nSpaPhtKyBtn)) { CASE 35:// { send_string dvLutron2,"'KBP,[2:4:3],1',13, 10" } CASE 36:// { send_string dvLutron2,"'KBP,[2:4:3],2',13, 10" } CASE 37:// { send_string dvLutron2,"'KBP,[2:4:3],3',13, 10" } CASE 38:// { send_string dvLutron2,"'KBP,[2:4:3],4',13, 10" } CASE 39:// { send_string dvLutron2,"'KBP,[2:4:3],5',13, 10" } CASE 40:// { send_string dvLutron2,"'KBP,[2:4:3],6',13, 10" } CASE 41:// { send_string dvLutron2,"'KBP,[2:4:3],7',13, 10" } CASE 42:// { send_string dvLutron2,"'KBP,[2:4:3],8',13, 10" } CASE 43:// { send_string dvLutron2,"'KBP,[2:4:3],9',13, 10" } CASE 44:// { send_string dvLutron2,"'KBP,[2:4:3],10',13, 10" } CASE 45:// { send_string dvLutron2,"'KBP,[2:4:3],11',13, 10" } CASE 46:// { send_string dvLutron2,"'KBP,[2:4:3],12',13, 10" } CASE 47:// { send_string dvLutron2,"'KBP,[2:4:3],13',13, 10" } CASE 48:// { send_string dvLutron2,"'KBP,[2:4:3],14',13, 10" } CASE 49:// { send_string dvLutron2,"'KBP,[2:4:3],15',13, 10" } CASE 50:// { send_string dvLutron2,"'KBP,[2:4:3],23',13, 10" } CASE 51:// { send_string dvLutron2,"'KBP,[2:4:3],24',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nHometheaterPhtKyBtn] { PUSH: { //[dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] = ! [dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] switch(GET_LAST(nHometheaterPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:4],1',13, 10" //[dvTP_LutronBasementARRAY,2] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,3] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,5] = ! [dvTP_LutronBasementARRAY,1] } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:4],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:4],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:4],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:4],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:4],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:4],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:4],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:4],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:4],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:4],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:4],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:4],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:4],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:4],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:4],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:4],24',13, 10" } } } release : { switch(GET_LAST(nHometheaterPhtKyBtn)) { CASE 16:// { send_string dvLutron2,"'KBR,[2:4:4],23',13, 10" //send_string dvLutron22,"'KBP,[1:6:32],24',13, 10" } CASE 17:// { send_string dvLutron2,"'KBR,[2:4:4],24',13, 10" //send_string dvLutron22,"'KBP,[1:6:32],23',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nDiwaniyaPhtKyBtn] { PUSH: { //[dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] = ! [dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] switch(GET_LAST(nDiwaniyaPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:5],1',13, 10" //[dvTP_LutronBasementARRAY,2] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,3] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,5] = ! [dvTP_LutronBasementARRAY,1] } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:5],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:5],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:5],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:5],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:5],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:5],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:5],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:5],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:5],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:5],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:5],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:5],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:5],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:5],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:5],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:5],24',13, 10" } } } release : { switch(GET_LAST(nDiwaniyaPhtKyBtn)) { CASE 16:// { send_string dvLutron2,"'KBR,[2:4:5],23',13, 10" //send_string dvLutron22,"'KBP,[1:6:32],24',13, 10" } CASE 17:// { send_string dvLutron2,"'KBR,[2:4:5],24',13, 10" //send_string dvLutron22,"'KBP,[1:6:32],23',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nDiwaniyaShutterPhtKyBtn] { PUSH: { //[dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] = ! [dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] switch(GET_LAST(nDiwaniyaShutterPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:6],1',13, 10" //[dvTP_LutronBasementARRAY,2] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,3] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,5] = ! [dvTP_LutronBasementARRAY,1] } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:6],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:6],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:6],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:6],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:6],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:6],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:6],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:6],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:6],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:6],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:6],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:6],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:6],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:6],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:6],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:6],24',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nDiwaniyaSheerPhtKyBtn] { PUSH: { //[dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] = ! [dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] switch(GET_LAST(nDiwaniyaSheerPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:7],1',13, 10" //[dvTP_LutronBasementARRAY,2] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,3] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,5] = ! [dvTP_LutronBasementARRAY,1] } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:7],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:7],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:7],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:7],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:7],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:7],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:7],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:7],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:7],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:7],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:7],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:7],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:7],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:7],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:7],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:7],24',13, 10" } } } } BUTTON_EVENT[dvTP_LutronBasementARRAY,nDiwaniyaCurtainPhtKyBtn] { PUSH: { //[dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] = ! [dvTP_LutronBasementARRAY,GET_LAST(nHometheaterPhtKyBtn)] switch(GET_LAST(nDiwaniyaCurtainPhtKyBtn)) { CASE 1:// { send_string dvLutron2,"'KBP,[2:4:8],1',13, 10" //[dvTP_LutronBasementARRAY,2] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,3] = ! [dvTP_LutronBasementARRAY,1] //[dvTP_LutronBasementARRAY,5] = ! [dvTP_LutronBasementARRAY,1] } CASE 2:// { send_string dvLutron2,"'KBP,[2:4:8],2',13, 10" } CASE 3:// { send_string dvLutron2,"'KBP,[2:4:8],3',13, 10" } CASE 4:// { send_string dvLutron2,"'KBP,[2:4:8],4',13, 10" } CASE 5:// { send_string dvLutron2,"'KBP,[2:4:8],5',13, 10" } CASE 6:// { send_string dvLutron2,"'KBP,[2:4:8],6',13, 10" } CASE 7:// { send_string dvLutron2,"'KBP,[2:4:8],7',13, 10" } CASE 8:// { send_string dvLutron2,"'KBP,[2:4:8],8',13, 10" } CASE 9:// { send_string dvLutron2,"'KBP,[2:4:8],9',13, 10" } CASE 10:// { send_string dvLutron2,"'KBP,[2:4:8],10',13, 10" } CASE 11:// { send_string dvLutron2,"'KBP,[2:4:8],11',13, 10" } CASE 12:// { send_string dvLutron2,"'KBP,[2:4:8],12',13, 10" } CASE 13:// { send_string dvLutron2,"'KBP,[2:4:8],13',13, 10" } CASE 14:// { send_string dvLutron2,"'KBP,[2:4:8],14',13, 10" } CASE 15:// { send_string dvLutron2,"'KBP,[2:4:8],15',13, 10" } CASE 16:// { send_string dvLutron2,"'KBP,[2:4:8],23',13, 10" } CASE 17:// { send_string dvLutron2,"'KBP,[2:4:8],24',13, 10" } } } } DEFINE_PROGRAM //Basement lobby [dvTP_LutronBasementARRAY,1] = LEDS [2] [4] [1] [1] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,2] = LEDS [2] [4] [1] [2] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,3] = LEDS [2] [4] [1] [3] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,4] = LEDS [2] [4] [1] [4] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,5] = LEDS [2] [4] [1] [5] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,6] = LEDS [2] [4] [1] [6] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,7] = LEDS [2] [4] [1] [7] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,8] = LEDS [2] [4] [1] [8] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,9] = LEDS [2] [4] [1] [9] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,10] = LEDS [2] [4] [1] [10] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,11] = LEDS [2] [4] [1] [11] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,12] = LEDS [2] [4] [1] [12] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,13] = LEDS [2] [4] [1] [13] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,14] = LEDS [2] [4] [1] [14] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,15] = LEDS [2] [4] [1] [15] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,16] = LEDS [2] [4] [1] [23] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,17] = LEDS [2] [4] [1] [24] // this is the KP address, will be different for wireless //Gym [dvTP_LutronBasementARRAY,18] = LEDS [2] [4] [2] [1] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,19] = LEDS [2] [4] [2] [2] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,20] = LEDS [2] [4] [2] [3] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,21] = LEDS [2] [4] [2] [4] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,22] = LEDS [2] [4] [2] [5] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,23] = LEDS [2] [4] [2] [6] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,24] = LEDS [2] [4] [2] [7] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,25] = LEDS [2] [4] [2] [8] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,26] = LEDS [2] [4] [2] [9] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,27] = LEDS [2] [4] [2] [10] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,28] = LEDS [2] [4] [2] [11] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,29] = LEDS [2] [4] [2] [12] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,30] = LEDS [2] [4] [2] [13] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,31] = LEDS [2] [4] [2] [14] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,32] = LEDS [2] [4] [2] [15] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,33] = LEDS [2] [4] [2] [23] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,34] = LEDS [2] [4] [2] [24] // this is the KP address, will be different for wireless //Home theatre [dvTP_LutronBasementARRAY,52] = LEDS [2] [4] [4] [1] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,53] = LEDS [2] [4] [4] [2] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,54] = LEDS [2] [4] [4] [3] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,55] = LEDS [2] [4] [4] [4] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,56] = LEDS [2] [4] [4] [5] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,57] = LEDS [2] [4] [4] [6] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,58] = LEDS [2] [4] [4] [7] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,59] = LEDS [2] [4] [4] [8] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,60] = LEDS [2] [4] [4] [9] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,61] = LEDS [2] [4] [4] [10] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,62] = LEDS [2] [4] [4] [11] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,63] = LEDS [2] [4] [4] [12] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,64] = LEDS [2] [4] [4] [13] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,65] = LEDS [2] [4] [4] [14] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,66] = LEDS [2] [4] [4] [15] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,67] = LEDS [2] [4] [4] [23] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,68] = LEDS [2] [4] [4] [24] // this is the KP address, will be different for wireless //Diwaniya [dvTP_LutronBasementARRAY,71] = LEDS [2] [4] [5] [1] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,72] = LEDS [2] [4] [5] [2] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,73] = LEDS [2] [4] [5] [3] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,74] = LEDS [2] [4] [5] [4] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,75] = LEDS [2] [4] [5] [5] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,76] = LEDS [2] [4] [5] [6] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,77] = LEDS [2] [4] [5] [7] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,78] = LEDS [2] [4] [5] [8] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,79] = LEDS [2] [4] [5] [9] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,80] = LEDS [2] [4] [5] [10] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,81] = LEDS [2] [4] [5] [11] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,82] = LEDS [2] [4] [5] [12] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,83] = LEDS [2] [4] [5] [13] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,84] = LEDS [2] [4] [5] [14] // this is the KP address, will be different for wireless [dvTP_LutronBasementARRAY,85] = LEDS [2] [4] [5] [15] // this is the KP address, will be different for wireless