2 * Copyright (c) 2010-2021 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.omnilink.internal.handler;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
21 * @author Dan Cunningham - Initial contribution
22 * @author Ethan Dye - openHAB3 rewrite
26 public enum OmniLinkCmd {
29 CMD_UNIT_AREA_ALL_OFF(2),
30 CMD_UNIT_AREA_ALL_ON(3),
32 CMD_UNIT_LO9_LEVEL_HIGH7(101),
33 CMD_UNIT_DECREMENT_COUNTER(10),
34 CMD_UNIT_INCREMENT_COUNTER(11),
35 CMD_UNIT_SET_COUNTER(12),
36 CMD_UNIT_LO9_RAMP_HIGH7(13),
37 CMD_UNIT_LIGHTOLIER(14),
38 CMD_UNIT_UPB_REQ_STATUS(15),
39 CMD_UNIT_UNIT_DIM_STEP_1(17),
40 CMD_UNIT_UNIT_DIM_STEP_2(18),
41 CMD_UNIT_UNIT_DIM_STEP_3(19),
42 CMD_UNIT_UNIT_DIM_STEP_4(20),
43 CMD_UNIT_UNIT_DIM_STEP_5(21),
44 CMD_UNIT_UNIT_DIM_STEP_6(22),
45 CMD_UNIT_UNIT_DIM_STEP_7(23),
46 CMD_UNIT_UNIT_DIM_STEP_8(24),
47 CMD_UNIT_UNIT_DIM_STEP_9(25),
48 CMD_UNIT_UNIT_BRIGHTEN_STEP_1(33),
49 CMD_UNIT_UNIT_BRIGHTEN_STEP_2(34),
50 CMD_UNIT_UNIT_BRIGHTEN_STEP_3(35),
51 CMD_UNIT_UNIT_BRIGHTEN_STEP_4(36),
52 CMD_UNIT_UNIT_BRIGHTEN_STEP_5(37),
53 CMD_UNIT_UNIT_BRIGHTEN_STEP_6(38),
54 CMD_UNIT_UNIT_BRIGHTEN_STEP_7(39),
55 CMD_UNIT_UNIT_BRIGHTEN_STEP_8(40),
56 CMD_UNIT_UNIT_BRIGHTEN_STEP_9(41),
57 CMD_UNIT_UPB_LO9_BLINK_HIGH7(26),
58 CMD_UNIT_UPB_STOP_BLINK(27),
59 CMD_UNIT_UPB_LINK_OFF(28),
60 CMD_UNIT_UPB_LINK_ON(29),
61 CMD_UNIT_UPB_LINK_SET(30),
62 CMD_UNIT_CENTRALITE_SCENE_OFF(42),
63 CMD_UNIT_CENTRALITE_SCENE_ON(43),
64 CMD_UNIT_UPB_LED_OFF(44),
65 CMD_UNIT_UPB_LED_ON(45),
66 CMD_UNIT_RADIORA_PHANTOM_BUTTON_OFF(46),
67 CMD_UNIT_RADIORA_PHANTM_BUTTON_ON(46),
68 CMD_UNIT_LEVITON_SCENE_OFF(60),
69 CMD_UNIT_LEVITON_SCENE_ON(61),
70 CMD_UNIT_LEVITON_SCENE_SET(62),
72 CMD_SECURITY_OMNI_DISARM(48),
73 CMD_SECURITY_OMNI_DAY_MODE(49),
74 CMD_SECURITY_OMNI_NIGHT_MODE(50),
75 CMD_SECURITY_OMNI_AWAY_MODE(51),
76 CMD_SECURITY_OMNI_VACATION_MODE(52),
77 CMD_SECURITY_OMNI_DAY_INSTANCE_MODE(53),
78 CMD_SECURITY_OMNI_NIGHT_DELAYED_MODE(54),
79 CMD_SECURITY_BYPASS_ZONE(4),
80 CMD_SECURITY_RESTORE_ZONE(5),
81 CMD_SECURITY_RESTORE_ALL_ZONES(6),
82 CMD_SECURITY_LUMINA_HOME_MODE(49),
83 CMD_SECURITY_LUMINA_SLEEP_MODE(50),
84 CMD_SECURITY_LUMINA_AWAY_MODE(51),
85 CMD_SECURITY_LUMINA_VACATION_MODE(52),
86 CMD_SECURITY_LUMINA_PARTY_MODE(53),
87 CMD_SECURITY_LUMINA_SPECIAL_MODE(54),
91 CMD_ENERGY_SAVER_OFF(64),
92 CMD_ENERGY_SAVER_ON(65),
94 CMD_THERMO_SET_HEAT_LOW_POINT(66),
95 CMD_THERMO_SET_COOL_HIGH_POINT(67),
96 CMD_THERMO_SET_SYSTEM_MODE(68),
97 CMD_THERMO_SET_FAN_MODE(69),
98 CMD_THERMO_SET_HOLD_MODE(70),
99 CMD_THERMO_RAISE_LOWER_HEAT(71),
100 CMD_THERMO_RAISE_LOWER_COOL(72),
101 CMD_THERMO_SET_HUMDIFY_POINT(73),
102 CMD_THERMO_SET_DEHUMIDIFY_POINT(74),
104 CMD_MESSAGE_SHOW_MESSAGE_WITH_BEEP_AND_LED(80),
105 CMD_MESSAGE_SHOW_MESSAGE_WITH_BEEP_OR_LED(86),
106 CMD_MESSAGE_LOG_MESSAGE(81),
107 CMD_MESSAGE_CLEAR_MESSAGE(82),
108 CMD_MESSAGE_SAY_MESSAGE(83),
109 CMD_MESSAGE_PHONE_AND_SAY_MESSAGE(84),
110 CMD_MESSAGE_SEND_MESSAGE_TO_SERIAL_PORT(85),
112 CMD_CONSOLE_ENABLE_DISABLE_BEEPER(102),
113 CMD_CONSOLE_BEEP(103),
116 CMD_UNLOCK_DOOR(106),
118 CMD_AUDIO_ZONE_SET_ON_MUTE(112),
119 CMD_AUDIO_ZONE_SET_VOLUME(113),
120 CMD_AUDIO_ZONE_SET_SOURCE(114),
121 CMD_AUDIO_ZONE_SELECT_KEY(115),
123 SENSOR_UNIT_POWER(1001),
124 SENSOR_UNIT_LEVEL(1002),
125 SENSOR_UNIT_DISPLAY(1003),
126 SENSOR_THERMO_HEAT_POINTC(2001),
127 SENSOR_THERMO_HEAT_POINTF(2002),
128 SENSOR_THERMO_COOL_POINTC(2003),
129 SENSOR_THERMO_COOL_POINTF(2004),
130 SENSOR_THERMO_SYSTEM_MODE(2005),
131 SENSOR_THERMO_FAN_MODE(2006),
132 SENSOR_THERMO_HOLD_MODE(2007),
133 SENSOR_THERMO_TEMPC(2006),
134 SENSOR_THERMO_TEMPF(2007),
135 SENSOR_ZONE_STATUS_CURRENT(3001),
136 SENSOR_ZONE_STATUS_LATCHED(3002),
137 SENSOR_ZONE_STATUS_ARMING(3003),
138 SENSOR_AREA_STATUS_MODE(4001),
139 SENSOR_AREA_STATUS_ALARM(4002),
140 SENSOR_AREA_STATUS_EXIT_DELAY(4003),
141 SENSOR_AREA_STATUS_ENTRY_DELAY(4003),
142 SENSOR_AREA_EXIT_TIMER(4004),
143 SENSOR_AREA_ENTRY_TIMER(4005),
144 SENSOR_AUX_STATUS(5001),
145 SENSOR_AUX_CURRENTC(5002),
146 SENSOR_AUX_CURRENTF(5003),
147 SENSOR_AUX_LOWC(5004),
148 SENSOR_AUX_LOWF(5005),
149 SENSOR_AUX_HIGHC(5006),
150 SENSOR_AUX_HIGHF(5007),
151 SENSOR_AUDIOZONE_POWER(6001),
152 SENSOR_AUDIOZONE_SOURCE(6002),
153 SENSOR_AUDIOZONE_VOLUME(6003),
154 SENSOR_AUDIOZONE_MUTE(6004),
155 SENSOR_AUDIOZONE_TEXT(6005),
156 SENSOR_AUDIOZONE_TEXT_FIELD1(6006),
157 SENSOR_AUDIOZONE_TEXT_FIELD2(6007),
158 SENSOR_AUDIOZONE_TEXT_FIELD3(6008),
159 SENSOR_AUDIOSOURCE_TEXT(7001),
160 SENSOR_AUDIOSOURCE_TEXT_FIELD1(7002),
161 SENSOR_AUDIOSOURCE_TEXT_FIELD2(7003),
162 SENSOR_AUDIOSOURCE_TEXT_FIELD3(7004);
166 OmniLinkCmd(int number) {
167 this.number = number;
170 public int getNumber() {
174 public static @Nullable OmniLinkCmd getCommand(String name) {
175 for (OmniLinkCmd command : OmniLinkCmd.values()) {
176 if (name.equals(command.toString())) {
183 public static @Nullable OmniLinkCmd getCommand(int ordinal) {
184 OmniLinkCmd[] values = OmniLinkCmd.values();
185 if (ordinal < values.length) {
186 return values[ordinal];
192 public static String toList() {
193 StringBuilder sb = new StringBuilder();
194 for (OmniLinkCmd command : OmniLinkCmd.values()) {
195 sb.append(command.toString()).append(",");
197 return sb.toString();