]> git.basschouten.com Git - openhab-addons.git/blob
20e3f7cba1fe0a9e5806a2ce120eb84cbbc51163
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2021 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.omnilink.internal.handler;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17
18 /**
19  * OmniLink commands
20  *
21  * @author Dan Cunningham - Initial contribution
22  * @author Ethan Dye - openHAB3 rewrite
23  * @since 1.5.0
24  */
25 @NonNullByDefault
26 public enum OmniLinkCmd {
27     CMD_UNIT_OFF(0),
28     CMD_UNIT_ON(1),
29     CMD_UNIT_AREA_ALL_OFF(2),
30     CMD_UNIT_AREA_ALL_ON(3),
31     CMD_UNIT_PERCENT(9),
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),
71
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),
88
89     CMD_BUTTON(7),
90
91     CMD_ENERGY_SAVER_OFF(64),
92     CMD_ENERGY_SAVER_ON(65),
93
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),
103
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),
111
112     CMD_CONSOLE_ENABLE_DISABLE_BEEPER(102),
113     CMD_CONSOLE_BEEP(103),
114
115     CMD_LOCK_DOOR(105),
116     CMD_UNLOCK_DOOR(106),
117
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),
122
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);
163
164     private int number;
165
166     OmniLinkCmd(int number) {
167         this.number = number;
168     }
169
170     public int getNumber() {
171         return number;
172     }
173
174     public static @Nullable OmniLinkCmd getCommand(String name) {
175         for (OmniLinkCmd command : OmniLinkCmd.values()) {
176             if (name.equals(command.toString())) {
177                 return command;
178             }
179         }
180         return null;
181     }
182
183     public static @Nullable OmniLinkCmd getCommand(int ordinal) {
184         OmniLinkCmd[] values = OmniLinkCmd.values();
185         if (ordinal < values.length) {
186             return values[ordinal];
187         } else {
188             return null;
189         }
190     }
191
192     public static String toList() {
193         StringBuilder sb = new StringBuilder();
194         for (OmniLinkCmd command : OmniLinkCmd.values()) {
195             sb.append(command.toString()).append(",");
196         }
197         return sb.toString();
198     }
199 }