Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Lutron is a company making high end Lighting control systems. It has been in the business for quite some time (> 50 years) and has several products on the market addressing needs from single load to whole house.
In a nutshell, the system is composed of a central processor (or up to 16 for big installations) and a bunch of devices for input (keypad, contact closure) and output (relays, dimmers, blind controllers) sitting on the processor bus. Each device (or element in a device e.g. one of the loads of a dimmer) has a specific address on the bus.
OpenRemote controller connects to the central processor through an IP connection.
Configuration on the HomeWorks side
In order for an external system such as OpenRemote to connect to a HomeWorks system over IP, it is required to configure Link 9 of processor and create a dedicated user for this connection. In HomeWorks Illumination, go to the Address Assignment screen, select Link 9 and create a user. No specific settings are required for the user, they are automatically set by the OpenRemote Controller upon connection.
Connection information in OpenRemote
In OpenRemote Designer, under the "Config for Controller" section, there is a subsection called "lutron_homeworks". There lies the 4 attributes that define the connection information to the HomeWorks system.
- address : IP address or host name of the HomeWorks processor
- port : Telnet port used for connection, usually 23
- username : username as defined in HomeWorks Illumination as described above
- password : password as defined in HomeWorks Illumination as described above
NOTE: Contrary to what is indicated by the Designer, the IP and port must be defined as the AMX DDDP handling is not currently implemented.
NOTE: It is currently only possible to define one HomeWorks processor for a given OpenRemote controller. It is planned to review this in the future but this anyway should not be a limitation for most of the installations.
Using the Lutron HomeWorks protocol in the Designer
When creating commands in the OpenRemote Designer, the "Lutron HomeWorks" protocol needs to be used. When this protocol is selected, 5 attributes can be provided. The first 2 are mandatory and used for all commands.
- Address : address of the device on the Lutron bus
- Lutron Command : command to send to the device, as explained below
The "Lutron HomeWorks" protocol supports 3 main types of devices sitting on the Lutron bus. The available commands are specific to each type.
A GrafikEye is a "remote" unit that control several loads and that provides some local control. Local scenes are defined on the GrafikEye.
The SCENE command is used to select a scene on a GrafikEye unit. When used, a value must be provided for the "Scene to select" attribute (the scene number, usually ranging from 0 to 16).
The STATUS_SCENE command is used to retrieve the currently selected scene. If no value is provided for the "Scene to select" attribute, then this command can be used for a range sensor and will return the selected scene (from 0 to 16). If a value is provided for the "Scene to select" attribute, then this command can be used for a switch sensor and will return "on" if the currently selected scene matches the provided one and "off" otherwise.
Dimmers and blinds
The RAISE, LOWER and STOP commands are used to dim a load or move a blind. When used, no other attribute is required.
The FADE command is used to set a load to a specific intensity or a blind to a specific position. If a value (0-100) is provided for the "Level to dim to" attribute, it will be used. If none is provided, the "dynamic" value is used (e.g. the one provided by a slider).
The STATUS_DIMMER command is used to retrieve the current level of a dimmer. When used with a level or range sensor, it will return the current level value between 0 and 100. When used with a switch sensor, it returns "off" if the level is 0 and "on" for any other value.
These commands are used to simulate an action on a keypad key, be it a physical or a phantom keypad. The available commands are PRESS, RELEASE, HOLD, DOUBLE_TAP. A value must always be provided for the "Key to act on" attribute.
NOTE: At this stage, OpenRemote does not support events such as release, hold or double tap on a button. So even if those command can be sent to the HomeWorks system, the resulting UI might feel cumbersome. An effort is currently underway to improve the button "mechanism" of OpenRemote to support those kind of events.
The STATUS_KEYPADLED command is used to retrieve the status of the LED associated with the key. A value must always be provided for the "Key to act on" attribute. This is to be used with a switch sensor and that will return "on" or "off" based on the LED status. Note that the LED status is the one returned by the HomeWorks system and is entirely dependent on the programming done in the HomeWorks processor.