This page is part of archived documentation for openHAB 2.5. Go to the current stable version
# HAI/Leviton Omni and Lumina Binding v1
The HAI/Leviton Omni is a popular home automation system in the US. At its core, the Omni is a hardware board that provides security and access features. It connects to many other devices through serial ports or relays and exposes them through a single TCP based API.
The binding is fairly complete and supports the following functionality.
- Auto item discovery and site map generation
- if enabled, upon connect the binding will discover all devices on a system and print out to the log a complete items list as well as a crude site map file.
- Items
- Security
- Alarm status monitoring (burglary, fire, police, etc..)
- Alarm mode activation (Off/Day/Night/Away/Vacation)
- Door, Window, Fire and CO2 contacts
- Lights
- On, Off and Dimming commands
- UPB and HLC rooms
- UPB Scenes
- Thermostats
- Cool and heat set points
- System modes (off, cool, heat, auto)
- Fan modes
- Celsius and Fahrenheit support
- Auxiliary temperature and humidity sensors.
- Audio Controls
- Track and Artist info
- Key commands (play, pause, etc..)
- source inputs
- Buttons/Macros
- Supported Hardware (connected directly through a Omni or Lumina Panel)
- Z-Wave (lighting and thermostats)
- X10
- Lightolier Compose PLC
- UPB (lighting)
- NuVo (AudioVideo)
- Russound (AudioVideo)
- HAI HiFI (AudioVideo)
- Xantech (AudioVideo)
- Speakercraft (AudioVideo)
- Proficient(AudioVideo)
- HAI Sensors and Thermostats
- Security
More information about the Leviton line of controllers can be found at their site (opens new window).
# Binding Configuration
The binding can be configured in the file services/omnilink.cfg
.
Property | Default | Required | Description |
---|---|---|---|
port | 4369 | No | TCP/IP port number of the Omni panel |
host | Yes | IP address or host name of the Omni panel | |
key1 | Yes | crypto key 1 for your omni panel. The key may be found in the installer menu on a HAI keypad or touchscreen. Each key is 16 hex characters in pairs separated by colons (aa:bb:cc) | |
key2 | Yes | crypto key 2 for your omni panel. The key may be found in the installer menu on a HAI keypad or touchscreen. Each key is 16 hex characters in pairs separated by colons (aa:bb:cc) | |
generateItems | true | No | if set to true, the binding will print all known items and a sample sitemap to the log file (INFO). Useful when setting up for the first time. Adds a little time to the binding startup. |
# Item Configuration
The format is
omnilink="<type>:<index>"
where <type>
is from the list below.
# Types and Supported Items
Some types can be read (get) or read and set (get/set).
- unit (get/set)
- Dimmer
- Switch
- String (will display on,off,level or scene, can be sent a scene command like 'scene a')
- thermo_heat_point (get/set)
- Number
- thermo_cool_point (get/set)
- Number
- thermo_system_mode (get/set)
- Number ([0"=Off, "1"=Heat, "2"=Cool,"3"=Auto,"4"=Emergency)
- thermo_fan_mode (get/set)
- Number ("0"=Auto, "1"=On, "2"=Cycle)
- Switch
- thermo_hold_mode (get/set)
- Number ("0"=Off, "1"=On)
- Switch
- thermo_temp (get)
- Number
- zone_status_current (get)
- Contact
- zone_status_latched (get)
- String
- zone_status_arming (get)
- String
- zone_status_all (get)
- String
- area_status_mode (get/set)
- String ( "Day"="Day","Night"="Night", "Away"="Away","Vacation"="Vacation")
- area_status_alarm (get)
- String
- area_status_exit_delay (get)
- Number
- area_status_entry_delay (get)
- Number
- area_status_exit_timer (get)
- Number
- area_status_entry_timer (get)
- Number
- aux_status (get)
- Number
- aux_current (get)
- Number
- aux_low (get)
- Number
- aux_hi (get)
- Number
- audiozone_power (get/set)
- Switch
- Number
- audiozone_source (get/set)
- Number
- audiozone_volume (get/set)
- Number
- audiozone_mute (get/set)
- Switch
- Number
- audiozone_key (get/set)
- Number
- audiozone_text (get)
- String
- audiozone_field1 (get)
- String
- audiozone_field2 (get)
- String
- audiozone_field3 (get)
- String
- audiosource_text (get)
- String
- audiosource_field1 (get)
- String
- audiosource_field2 (get)
- String
- audiosource_field3 (get)
- String
- button (set)
- String (send any non empty string to push)
# Examples
# Dimmer for unit 2
Dimmer Lights_Kitchen_Lights_Switch "Lights [%d%%]" (Lights_Kitchen) {omnilink="unit:2"}
# Thermostat 1
Number Thermostats_MasterBed_Temp "Temperature [%d °F]" (Thermostats_MasterBed) {omnilink="thermo_temp:1"}
Number Thermostats_MasterBed_CoolPoint "Cool Point [%d°F]" (Thermostats_MasterBed) {omnilink="thermo_cool_point:1"}
Number Thermostats_MasterBed_HeatPoint "Heat Point [%d°F]" (Thermostats_MasterBed) {omnilink="thermo_heat_point:1"}
Number Thermostats_MasterBed_System "System Mode [%d]" (Thermostats_MasterBed) {omnilink="thermo_system_mode:1"}
Number Thermostats_MasterBed_Fan "System Fan [%d]" (Thermostats_MasterBed) {omnilink="thermo_fan_mode:1"}
Number Thermostats_MasterBed_Hold "System Hold [%d]" (Thermostats_MasterBed) {omnilink="thermo_hold_mode:1"}
# Audio Zone 1
Switch AudioZones_Basement_Power "Power" (AudioZones_Basement) {omnilink="audiozone_power:1"}
Switch AudioZones_Basement_Mute "Mute" (AudioZones_Basement) {omnilink="audiozone_mute:1"}
Number AudioZones_Basement_Source "Source: [%d]" (AudioZones_Basement) {omnilink="audiozone_source:1"}
Dimmer AudioZones_Basement_Volume "Voulme: [%d %%]" (AudioZones_Basement) {omnilink="audiozone_volume:1"}
String AudioZones_Basement_Text "Now Playing: [%s]" (AudioZones_Basement) {omnilink="audiozone_text:1"}
String AudioZones_Basement_Field1 "Field 1 [%s]" (AudioZones_Basement) {omnilink="audiozone_field1:1"}
String AudioZones_Basement_Field2 "Field 2 [%s]" (AudioZones_Basement) {omnilink="audiozone_field2:1"}
String AudioZones_Basement_Field3 "Field 3 [%s]" (AudioZones_Basement) {omnilink="audiozone_field3:1"}
Number AudioZones_Basement_Key "Key [%d]" (AudioZones_Basement) {omnilink="audiozone_key:1",autoupdate="false"}
# Audio Source 1
String AudioSources_XM_Text "Now Playeing: [%s]" (AudioSources_XM) {omnilink="audiosource_text:1"}
String AudioSources_XM_Field1 "Field 1 [%s]" (AudioSources_XM) {omnilink="audiosource_field1:1"}
String AudioSources_XM_Field2 "Field 2 [%s]" (AudioSources_XM) {omnilink="audiosource_field2:1"}
String AudioSources_XM_Field3 "Field 3 [%s]" (AudioSources_XM) {omnilink="audiosource_field3:1"}
# Area (security) 1
Number Areas_Main_ExitDelay "Exit Delay: [%d]" (Areas_Main) {omnilink="area_status_exit_delay:1"}
Number Areas_Main_EntryDelay "Exit Delay: [%d]" (Areas_Main) {omnilink="area_status_entry_delay:1"}
Number Areas_Main_ExitTimer "Exit Delay: [%d]" (Areas_Main) {omnilink="area_status_exit_timer:1"}
Number Areas_Main_EntryTimer "Exit Delay: [%d]" (Areas_Main) {omnilink="area_status_entry_timer:1"}
String Areas_Main_Mode "Mode: [%s]" (Areas_Main) {omnilink="area_status_mode:1"}
String Areas_Main_Alarm "Alarm: [%s]" (Areas_Main) {omnilink="area_status_alarm:1"}
# Contact zone number 17
Contact Zones_FrontDoor_Current "Current: [%s]" (Zones_FrontDoor) {omnilink="zone_status_current:17"}
String Zones_FrontDoor_Latched "Latched [%s]" (Zones_FrontDoor) {omnilink="zone_status_latched:17"}
String Zones_FrontDoor_Arming "Arming [%s]" (Zones_FrontDoor) {omnilink="zone_status_arming:17"}
String Zones_FrontDoor_All "Status [%s]" (Zones_FrontDoor) {omnilink="zone_status_all:17"}
# Button 1
String Buttons_MusicOn "Music On" (Buttons) {omnilink="button:1",autoupdate="false"}
Caught a mistake or want to contribute to the documentation? Edit this page on GitHub (opens new window)