Lutron Homeworks Lighting Control
JohnMichnr
Posts: 279
OK - I've done a lot with the Graphic Eye 3000, 4000, and the bigger 5000 systems, but have never run in to the Homeworks system. Is the control difficult. Any tips? I found a really old module on the inconcert site that loooks like it might work. has anybody used this?
I am really looking for some direction here.
I have the Protocol manual and it seems straight forward.
I am really looking for some direction here.
I have the Protocol manual and it seems straight forward.
0
Comments
EX:
KBP = Key Button Press if I am not mistaken other information .... drawing a blank right now lol
Here is making a fade with a Fixture that doesnt have any scenes set up in the lutron
not sure if this is helpful or if im 100% right on this
I figured I would be doing keypad presses, then getting the status of the keypad for tally.
There is a set of drapes and shades as well that are being controlled through this system.
The keypad command listed is correct, but I would recommend doing it something like this:
That will completely preserve the hold-to-dim functions on the Lutron keypads. My practice is to create a virtual keypad in the Lutron system, and reference that address with the AMX; that way it is completely independant, and you can make buttons with discrete scene selections without tying up real buttons. If the customer insists on running the entire system on the AMX, of course, you have a bit of tracking and housekeeping to do, and you can't use the virtuals (they take up the same address space as a real keypad, you would run out of addressing real fast). Another advantage of a virtual is that you can put all the fancy sequencing and programming available to the Lutron system on the virtual button and there is no need to maintain a separate program just for all that, and that includes special interface commands like RAISE and LOWER for drapes and motors. You only need PUSH, HOLD, and RELEASE.
The feedback is pretty much the same as the outgoing command. If a keypad button is pressed anywhere, you get back the appropriate "KBP, <addresss>, <button>" response. Another advantage of using virtuals: you can progrm the type of feedback in your Lutron system, and just read it out of the feedback to turn on the same channels on your panel. If you track individual lighting loads, you are now processing a lot of strings from the Lutron system; I wouldn't do that. Stick to scenes or lights they are actually in the room for to see the level. It's all or nothing with feedback levels, a whole house of dimmer levels coming into your AMX can really bog things down if you are only interested in a dozen light switches.
It is good to know about the virtual keypads. I read a little about that somewhere and was not sure if people used them or not.
The room (and it is a single room that I need to control - Why they just didn't put in a graphic eye I will never know) has all of its own control keypads. Of course the room is 250 miles away from me, the lighting system provider saw no reason to show up while I was there to program the system, and the Sevioa drapes and shades were just ordered last week, so they are a month out. So now I have an additional trip that somebody has to pay for. and another post asked how projects don't get finished?...
Is there a command or dip switch you have to engage to receive the keypad (KBP) pushes? or is that data just available on the bus?
Pat
Thanks,
Ricardo
Also, make sure you enable status tracking of any keypads you interact with so that you will get the LED status info. (if you use the inconcert module) And I do use the inconcert comm module without problems.
Jeff
I built my own Homeworks module years ago. I use an array of constants to define all the stations to control and monitor. You simply point to the array index to pick the station you want to control.
To initialize communication with the processor: Then, check out the RS232 protocol guide for parsing the communication strings. You have to enable monitoring in the Lutron software for the ethernet port as well.
Pat
I just returned from Lutron training. I was told by the instructor after some investigation that I have to create my own account on the Lutron system and log into it through the AMX system. I have not tried doing that yet becuase I do not have a Lutron with TCP port. I hope to get one in soon.
Thank you
When sending commands via IP, you will need to add CR, LF to the end of your command, it will also work for serial control, but without CR, LF at the end, it won't work for IP. Thanks DHawthorne for helping me with this part. Example:
Now, all I need is to adapt the feedback array above, which works under RS-232, to work under IP. I appreciate any help.
Ricardo
I run a diagnostics on both IP and Serial connections using Windows telnet to the Netlinx Master/msg on, as well as turning the virtual device vdvHWI channel 3 on for extended debug messages using the "Emulate Device" option in Netlinx Studio. I noticed the following:
Telnet (Serial/RS-232 Control):
sending --> KBP, [1:8:2:1],1
HWIparseCmd<>: KLS,[01:08:02:01], 100000000000000000000000
HWIprocLED<>: KLS,[01:08:02:01], 100000000000000000000000
HWIprocLED<>: sending notify string = K:L:[1:8:2:1]:1:1
HWIprocLED<>: sending notify string = K:L:[1:8:2:1]:2:0
Telnet (IP Control):
sending --> KBP, [1:8:2:1],1
LNET>
HWIparseCmd<>:
LNET>
HWIparseCmd<>: command not supported
LNET>
KLS,[01:08:02:01], 100000000000000000000000
Now I Think I know why my LED processing array from the above message doesn't work under IP. For some reason the AMX Comm Module interprets differently the same command when it is sent via IP, and never sends out a
HWIprocLED<>: sending notify string.
//Command below under RS-232 and IP, but feedback works only for RS-232
SEND_COMMAND vdvHWI, "'K:P:[1:8:2:1]:1', 13, 10"
I wish AMX would update the Comm module to work with either RS-232 or IP. This shouldn't be hard since they already have the H48 code done. I heard that the IP control works much faster, what is ideal for larger Lutron jobs with AMX control. Any ideas or suggestions?
Thanks,
Ricardo
Jeff
Let me know if you have any questions,
Pat
Thanks,
Ricardo
Telnet (Serial/RS-232 Control):
sending --> KBP, [1:8:2:1],1
HWIparseCmd<>: KLS,[01:08:02:01], 100000000000000000000000
HWIprocLED<>: KLS,[01:08:02:01], 100000000000000000000000
HWIprocLED<>: sending notify string = K:L:[1:8:2:1]:1:1
HWIprocLED<>: sending notify string = K:L:[1:8:2:1]:2:0
I am wondering why via IP it doesn't do the same.
My point is that it does. The problem is not in the Lutron, but the AMX comm module. The only difference at all between IP and serial from the Lutron is that IP uses CR/LF, and serial only uses CR as a terminator. If I had to guess, I would say the comm module doesn't parse that correctly. Call AMX on it, I have had them send a module back to development for bugs (they are working on one for me as we speak, as a matter of fact).
If you cannot wait on that, just override the KLS notification. Put a STRING event in your code for the IP port and parse it yourself. Use the module for everything else and do your own feedback.
As far as I can check AMX module have a problem with "K:N" command (is the basic command to led feedback). Even when I send one keypad, module do not process request because can not identify that keypad.
COMM RECEIVED FROM MAIN : N:K:[ 01:05:25]
HWIprocReq(): N:K:[ 01:05:25]$0D
HWInotifyReq(): N:K:[ 01:05:25]$0D
HWInotifyReq(): address already in notify list$0D
COMM RECEIVED FROM MAIN : K:L:[ 01:05:25]:1:?
HWIprocReq(): K:L:[ 01:05:25]:1:?$0D
HWIkeypadReq(): K:L:[ 01:05:25]:1:?$0D
HWIkeypadReq(): keypad not in notify list$0D
Try attached for parsing feedback. Module did not work for me. (neither are attachments her w/ Firefox).
define_function TESTkp(char buff[])
{
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, "$0D,$0A", 1) // get Btn string
set_length_string(tBtns, length_string(tBtns) - 2)
// can nest next section within loops for links and processors if required
FOR(J=1;J<=24;J++) // buttons on KP
{
LEDS [1] [6] [arr_kp] [J] = ATOI(MID_STRING(tBtns,J,1)) // possible states of lutron buttons
}
}
Ricardo, I have problems to stablish conection with Lutron, Could you sent me some part of your code, I think the problem is the password, but I dont understand how can I creat one. Thanks