Signed-off-by: Kai Kreuzer <kai@openhab.org> |
||
---|---|---|
.. | ||
readme.md |
readme.md
id | label | title | type | description | since | logo | install |
---|---|---|---|---|---|---|---|
lutron | Lutron | Lutron - Bindings | binding | This binding integrates with [Lutron](http://www.lutron.com) light control systems. | 2x | images/addons/lutron.png | auto |
{% include base.html %}
Lutron Binding
This binding integrates with Lutron light control systems.
Note: while the integration protocol should be largely similar with other Lutron systems such as Homeworks QS, this binding has only been tested with RadioRA 2 and RadioRA Classic.
Supported Things
This binding currently supports the following thing types:
- dimmer
- switch
- keypad
- occupancysensor
Discovery
Discovery is supported for RadioRA 2. Discovered RadioRA 2 main repeaters will use the default lutron/integration credentials. This can be changed in the main repeater thing configuration.
Note: discovery of devices paired with a bridge should work on systems other than Radio RA 2; however, the bridge itself will need to be manually added as bridge discovery is only supported for Radio RA 2.
Binding Configuration
This binding does not require any special configuration.
Thing Configuration
The bridge requires the IP address of the bridge as well as the telnet username and password to log in to the bridge.
Thing lutron:ipbridge:radiora2 [ ipAddress="192.168.1.2", user="lutron", password="integration" ]
Each Lutron thing requires the integration ID of the corresponding item in the Lutron system. The integration IDs can be retrieved from the integration report generated by the Lutron software. Dimmers can optionally be configured to specify a fade in and fade out time in seconds. In the thing file, this looks e.g. like
Thing lutron:dimmer:livingroom (lutron:ipbridge:radiora2) [ integrationId=8, fadeInTime=0.5, fadeOutTime=5 ]
Channels
The following channels are supported:
Thing Type | Channel Type ID | Item Type | Description |
---|---|---|---|
dimmer | lightlevel | Dimmer | Increase/decrease the light level |
switch | switchstatus | Switch | On/off status of the switch |
occupancysensor | occupancystatus | Switch | Occupancy status |
keypad | button1 | Switch | Button to trigger a scene or rule |
keypad | button2 | Switch | Button to trigger a scene or rule |
keypad | button3 | Switch | Button to trigger a scene or rule |
keypad | button4 | Switch | Button to trigger a scene or rule |
keypad | button5 | Switch | Button to trigger a scene or rule |
keypad | button6 | Switch | Button to trigger a scene or rule |
keypad | button7 | Switch | Button to trigger a scene or rule |
keypad | buttontopraise | Switch | Button to trigger a scene or rule |
keypad | buttontoplower | Switch | Button to trigger a scene or rule |
keypad | buttonbottomraise | Switch | Button to trigger a scene or rule |
keypad | buttonbottomlower | Switch | Button to trigger a scene or rule |
keypad | led1 | Switch | LED indicator for the associated button |
keypad | led2 | Switch | LED indicator for the associated button |
keypad | led3 | Switch | LED indicator for the associated button |
keypad | led4 | Switch | LED indicator for the associated button |
keypad | led5 | Switch | LED indicator for the associated button |
keypad | led6 | Switch | LED indicator for the associated button |
keypad | led7 | Switch | LED indicator for the associated button |
Currently there is only one keypad thing type to cover all keypads. Not all channels will be available on all keypads.
Binding Configuration
This binding does not require any special configuration.
Full Example
demo.Things:
lutron:dimmer:theater (lutron:ipbridge:radiora2) [ integrationId=8, fadeOutTime=2 ]
lutron:occupancysensor:theater (lutron:ipbridge:radiora2) [ integrationId=9 ]
lutron:keypad:theater (lutron:ipbridge:radiora2) [ integrationId=10 ]
demo.items:
Dimmer TheaterLights { channel="lutron:dimmer:theater:lightlevel" }
Switch TheaterMotion { channel="lutron:occupancysensor:theater:occupancystatus" }
Switch TheaterScene1 { channel="lutron:keypad:theater:button1" }
Switch TheaterScene2 { channel="lutron:keypad:theater:button2" }
Lutron RadioRA (Classic) Binding
This binding integrates with the legacy Lutron RadioRA (Classic) lighting system.
This binding depends on RS232 communication. It has only been tested using the Chronos time module but the RS232 module should work as well.
Supported Things
This binding currently supports the following thing types:
Thing | Type ID | Description |
---|---|---|
ra-rs232 | Bridge | RadioRA device that supports RS232 communication |
ra-dimmer | Thing | Dimmer control |
ra-switch | Thing | Switch control |
ra-phantomButton | Thing | Phantom Button to control multiple controls (Scenes) |
Thing Configurations
Thing | Config | Description |
---|---|---|
ra-rs232 | portName | The serial port to use to communicate with Chronos or RS232 module |
baud | (Optional) Baud Rate (defaults to 9600) | |
ra-dimmer | zoneNumber | Assigned Zone Number within the Lutron RadioRA system |
fadeOutSec | (Optional) Time in seconds dimmer should take when lowering the level | |
fadeInSec | (Optional) Time in seconds dimmer should take when lowering the level | |
ra-switch | zoneNumber | Assigned Zone Number within the Lutron RadioRA system |
ra-phantomButton | buttonNumber | Phantom Button Number within the Lutron RadioRA system |
Channels
The following channels are supported:
Thing Type | Channel ID | Item Type | Description |
---|---|---|---|
ra-dimmer | lightlevel | Dimmer | Increase/Decrease dimmer intensity |
ra-switch/ra-phantomButton | switchstatus | Switch | On/Off state of switch |
Example
lutronradiora.things
Bridge lutronradiora:ra-rs232:chronos1 [portName="/dev/ttys002"] {
Thing ra-dimmer dimmer1 [ zoneNumber=1 ]
Thing ra-dimmer dimmer2 [ zoneNumber=2 ]
Thing ra-switch switch1 [ zoneNumber=3 ]
Thing ra-switch switch2 [ zoneNumber=4 ]
Thing ra-phantomButton1 phantomButton1 [ buttonNumber=1 ]
}
lutronradiora.items
Dimmer Dimmer_Kitchen "Kitchen Lights" { channel="lutronradiora:dimmer:chronos1:dimmer1:lightlevel" }
Dimmer Dimmer_FamilyRoom "Family Room Lights" { channel="lutronradiora:dimmer:chronos1:dimmer2:lightlevel" }
Switch Switch_Patio "Patio Light" { channel="lutronradiora:dimmer:chronos1:switch1:switchstatus" }
Switch Switch_FrontDoor "Front Door Lights" { channel="lutronradiora:switch:chronos1:switch2:switchstatus" }
Switch Phantom_Movie "Movie Scene" { channel="lutronradiora:phantomButton:chronos1:phantomButton1:switchstatus" }
Lutron Grafik Eye 3x/4x binding via GRX-PRG or GRX-CI-PRG
This lutron binding will also work with Grafik Eye 3x/4x systems in conjuction with the GRX-PRG or GRX-CI-PRG interfaces. Please see RS232ProtocolCommandSet for more information.
Supported Things
1-8 Grafik Eye 3x/4x System(s) through the interface
Discovery
This binding does not support discovery of the GRX-PRG or GRX-CI-PRG. You will need to specify them directly.
Thing Configuration
The bridge requires the IP address/Host name of the bridge. Optionally, you may specify the username (defaults to 'nwk') and retryPolling (in seconds) to retry connections if the connection fails (defaults to 10 seconds). This bridge does support two way communication with the Grafik Eye units (if a scene is selected or a zone changed on the unit or via a keypad, that information is immediately available in openhab).
lutron:prgbridge:home [ ipAddress="192.168.1.51", user="nwk", retryPolling=10 ]
The Grafik Eye thing requires the control unit address (1-8). Optionally you may specify the default fade time (when raising/lowering zones or setting zone intensities) and polling time (in seconds) to refresh the state from the Grafik Eye (defaults to 30 seconds). If any of the zones control a QED shade (via the SG/SO-SVCN/SVCI keypad), those zones should be listed (comma separated list) in the shadeZones.
lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling=30, shadeZones="2,3,4" ]
Channels
Bridge channels
Channel Type ID | Readonly | Item Type | Description |
---|---|---|---|
zonelowerstop | No | Switch | Stops zone lowering on all control units |
zoneraisestop | No | Switch | Stops zone raising on all control units |
timeclock | No | DateTime | Current time on the PRG |
schedule | No | Number | Current Schedule (0=Disabled, 1=Weekday, 2=Weekend) |
sunrise | Yes | DateTime | Time of Sunrise |
sunset | Yes | DateTime | Time of Sunset |
ssstart | No | Switch | Starts the Super Sequence |
sspause | No | Switch | Pauses the Super Sequence |
ssresume | No | Switch | Resumes the Super Sequence |
ssstatus | Yes | String | Status of the Super Sequence (R=Running, S=Stopped) |
ssnextstep | Yes | Number | Next sequence number in the Super Sequence |
ssnextminute | Yes | Number | How many minutes until the next step in the Super Sequence |
ssnextsecond | Yes | Number | How many seconds until the next step in the Super Sequence |
buttonpress | Yes | String | Last keypad button pressed (see Appendix A) in protocol guide |
Grafik Eye channels
Channel Type ID | Readonly | Item Type | Description |
---|---|---|---|
scene | No | Number | The current scene |
scenelock | No | Switch | Locks/unlocks the current scene |
sceneseq | No | Switch | Starts/Stops the scene sequence |
zonelock | No | Switch | Locks/unlocks the zones |
zonefade | No | Number | The seconds to fade from one intensity to the next |
zonelowerX | No | Switch | Lowers the specified zone |
zoneraiseX | No | Switch | Raises the specified zone |
zoneintensityX | No | Number | Specifies the zone intensity |
zoneshadeX | No | Rollershutter | Specifies the shade zone |
Notes
- The "buttonpress" channel reports which keypad button was pressed. DIP switch 6 must be set on the interface for this to be reported. The "buttonpress" channel is only useful in rules to take action when a specific button (on a specific keypad) has been pressed.
- Sunset/sunrise will only be available if configured via the Liasion software
- scenelock, sceneseq, zonelock cannot be determined from the API and will default to OFF on startup
- Replace the "X" on zonelowerX, zoneraiseX, etc with the zone in question. "zonelower1" will affect zone 1. Specifying a zone larger than you have will have no effect (such as using zonelower8 on a Grafik Eye 3506 which only has 6 zones).
- The zonefade value will only be used when zonelower/zonereaise/zoneintensity is issued.
- zoneshade does not support PercentType nor StopMoveType.Move and those commands will be ignored
- zoneintensity can be used on a shade zone if the intensity is from 0 to 5 and should be used if wanting to set a QED preset: 0=Stop, 1=Open, 2=Close, 3=Preset 1, 4=Preset 2, 5=Preset 3
- If you started a zonelower or zoneraise, the only way to the action is by executing an all zone stop on the bridge (i.e. zonelowerstop or zoneraisestop). The PRG API does not provide a way to stop the lowering/raising of any specific zone.
Example
demo.Things:
lutron:prgbridge:home [ ipAddress="192.168.1.51", user="nwk", retryPolling=10 ]
lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling=10 ]
demo.items:
String Prg_ButtonPress "Last Button Press [%s]" { channel = "lutron:prgbridge:home:buttonpress" }
Switch Prg_ZoneLowerStop "Zone Lower Stop" { channel = "lutron:prgbridge:home:zonelowerstop",autoupdate="false" }
Switch Prg_ZoneRaiseStop "Zone Raise Stop" { channel = "lutron:prgbridge:home:zoneraisestop",autoupdate="false" }
DateTime Prg_Time "Current Time: [%1$tF %1$tr]" { channel="lutron:prgbridge:home:timeclock" }
Number Prg_Schedule "Schedule [%s]" { channel="lutron:prgbridge:home:schedule" }
DateTime Prg_Sunrise "Sunrise [%1$tF %1$tr]" { channel="lutron:prgbridge:home:sunrise" }
DateTime Prg_Sunset "Sunset [%1$tF %1$tr]" { channel="lutron:prgbridge:home:sunset" }
Switch Prg_Start "Super Schedule Start" { channel="lutron:prgbridge:home:ssstart", autoupdate="false" }
Switch Prg_Pause "Super Schedule Pause" { channel="lutron:prgbridge:home:sspause", autoupdate="false" }
Switch Prg_Resume "Super Schedule Resume" { channel="lutron:prgbridge:home:ssresume", autoupdate="false" }
String Prg_Status "Super Schedule Status [%s]" { channel="lutron:prgbridge:home:ssstatus" }
Number Prg_NextStep "Super Schedule Next Step [%s]" { channel="lutron:prgbridge:home:ssnextstep" }
Number Prg_NextMinute "Super Schedule Next Step Minutes [%s]" { channel="lutron:prgbridge:home:ssnextminute" }
Number Prg_NextSecond "Super Schedule Next Step Seconds [%s]" { channel="lutron:prgbridge:home:ssnextsecond" }
Number Grx_Scene "Scene [%s]" { channel="lutron:grafikeye:home:scene" }
Switch Grx_SceneLock "Scene Lock" { channel="lutron:grafikeye:home:scenelock" }
Switch Grx_SceneSeq "Scene Sequence" { channel="lutron:grafikeye:home:sceneseq" }
Switch Grx_ZoneLock "Zone Lock" { channel="lutron:grafikeye:home:zonelock" }
Switch Grx_ZoneLower1 "Zone 1 Lower" { channel="lutron:grafikeye:home:zonelower1" }
Switch Grx_ZoneLower2 "Zone 2 Lower" { channel="lutron:grafikeye:home:zonelower2" }
Switch Grx_ZoneLower3 "Zone 3 Lower" { channel="lutron:grafikeye:home:zonelower3" }
Switch Grx_ZoneLower4 "Zone 4 Lower" { channel="lutron:grafikeye:home:zonelower4" }
Switch Grx_ZoneLower5 "Zone 5 Lower" { channel="lutron:grafikeye:home:zonelower5" }
Switch Grx_ZoneLower6 "Zone 6 Lower" { channel="lutron:grafikeye:home:zonelower6" }
Switch Grx_ZoneLower7 "Zone 7 Lower" { channel="lutron:grafikeye:home:zonelower7" }
Switch Grx_ZoneLower8 "Zone 8 Lower" { channel="lutron:grafikeye:home:zonelower8" }
Switch Grx_ZoneRaise1 "Zone 1 Raise" { channel="lutron:grafikeye:home:zoneraise1" }
Switch Grx_ZoneRaise2 "Zone 2 Raise" { channel="lutron:grafikeye:home:zoneraise2" }
Switch Grx_ZoneRaise3 "Zone 3 Raise" { channel="lutron:grafikeye:home:zoneraise3" }
Switch Grx_ZoneRaise4 "Zone 4 Raise" { channel="lutron:grafikeye:home:zoneraise4" }
Switch Grx_ZoneRaise5 "Zone 5 Raise" { channel="lutron:grafikeye:home:zoneraise5" }
Switch Grx_ZoneRaise6 "Zone 6 Raise" { channel="lutron:grafikeye:home:zoneraise6" }
Switch Grx_ZoneRaise7 "Zone 7 Raise" { channel="lutron:grafikeye:home:zoneraise7" }
Switch Grx_ZoneRaise8 "Zone 8 Raise" { channel="lutron:grafikeye:home:zoneraise8" }
Number Grx_ZoneFade "Zone Fade [%s sec]" { channel="lutron:grafikeye:home:zonefade" }
Dimmer Grx_ZoneIntensity1 "Zone 1 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity1" }
Dimmer Grx_ZoneIntensity2 "Zone 2 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity2" }
Dimmer Grx_ZoneIntensity3 "Zone 3 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity3" }
Dimmer Grx_ZoneIntensity4 "Zone 4 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity4" }
Dimmer Grx_ZoneIntensity5 "Zone 5 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity5" }
Dimmer Grx_ZoneIntensity6 "Zone 6 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity6" }
Dimmer Grx_ZoneIntensity7 "Zone 7 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity7" }
Dimmer Grx_ZoneIntensity8 "Zone 8 Intensity [%d %%]" { channel="lutron:grafikeye:home:zoneintensity8" }
Rollershutter Grx_ZoneShade1 "Zone 1 Shade" { channel="lutron:grafikeye:home:zoneshade1" }
Rollershutter Grx_ZoneShade2 "Zone 2 Shade" { channel="lutron:grafikeye:home:zoneshade2" }
Rollershutter Grx_ZoneShade3 "Zone 3 Shade" { channel="lutron:grafikeye:home:zoneshade3" }
Rollershutter Grx_ZoneShade4 "Zone 4 Shade" { channel="lutron:grafikeye:home:zoneshade4" }
Rollershutter Grx_ZoneShade5 "Zone 5 Shade" { channel="lutron:grafikeye:home:zoneshade5" }
Rollershutter Grx_ZoneShade6 "Zone 6 Shade" { channel="lutron:grafikeye:home:zoneshade6" }
Rollershutter Grx_ZoneShade7 "Zone 7 Shade" { channel="lutron:grafikeye:home:zoneshade7" }
Rollershutter Grx_ZoneShade8 "Zone 8 Shade" { channel="lutron:grafikeye:home:zoneshade8" }