2 * Copyright (c) 2010-2023 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;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.openhab.core.thing.ThingTypeUID;
21 * The {@link OmnilinkBindingConstants} class defines common constants, which are
22 * used across the whole binding.
24 * @author Craig Hamilton - Initial contribution
25 * @author Ethan Dye - openHAB3 rewrite
28 public class OmnilinkBindingConstants {
30 public static final String BINDING_ID = "omnilink";
32 // List of all Thing Type UIDs
33 public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "controller");
34 public static final ThingTypeUID THING_TYPE_OMNI_AREA = new ThingTypeUID(BINDING_ID, "area");
35 public static final ThingTypeUID THING_TYPE_LUMINA_AREA = new ThingTypeUID(BINDING_ID, "lumina_area");
36 public static final ThingTypeUID THING_TYPE_ZONE = new ThingTypeUID(BINDING_ID, "zone");
37 public static final ThingTypeUID THING_TYPE_LOCK = new ThingTypeUID(BINDING_ID, "lock");
38 public static final ThingTypeUID THING_TYPE_UNIT_UPB = new ThingTypeUID(BINDING_ID, "upb");
39 public static final ThingTypeUID THING_TYPE_UNIT = new ThingTypeUID(BINDING_ID, "unit");
40 public static final ThingTypeUID THING_TYPE_DIMMABLE = new ThingTypeUID(BINDING_ID, "dimmable");
41 public static final ThingTypeUID THING_TYPE_FLAG = new ThingTypeUID(BINDING_ID, "flag");
42 public static final ThingTypeUID THING_TYPE_OUTPUT = new ThingTypeUID(BINDING_ID, "output");
43 public static final ThingTypeUID THING_TYPE_ROOM = new ThingTypeUID(BINDING_ID, "room");
44 public static final ThingTypeUID THING_TYPE_BUTTON = new ThingTypeUID(BINDING_ID, "button");
45 public static final ThingTypeUID THING_TYPE_THERMOSTAT = new ThingTypeUID(BINDING_ID, "thermostat");
46 public static final ThingTypeUID THING_TYPE_AUDIO_ZONE = new ThingTypeUID(BINDING_ID, "audio_zone");
47 public static final ThingTypeUID THING_TYPE_AUDIO_SOURCE = new ThingTypeUID(BINDING_ID, "audio_source");
48 public static final ThingTypeUID THING_TYPE_CONSOLE = new ThingTypeUID(BINDING_ID, "console");
49 public static final ThingTypeUID THING_TYPE_TEMP_SENSOR = new ThingTypeUID(BINDING_ID, "temp_sensor");
50 public static final ThingTypeUID THING_TYPE_HUMIDITY_SENSOR = new ThingTypeUID(BINDING_ID, "humidity_sensor");
52 // List of all Channel ids
55 public static final String CHANNEL_ZONE_CONTACT = "contact";
56 public static final String CHANNEL_ZONE_CURRENT_CONDITION = "current_condition";
57 public static final String CHANNEL_ZONE_LATCHED_ALARM_STATUS = "latched_alarm_status";
58 public static final String CHANNEL_ZONE_ARMING_STATUS = "arming_status";
59 public static final String CHANNEL_ZONE_BYPASS = "bypass";
60 public static final String CHANNEL_ZONE_RESTORE = "restore";
63 public static final String CHANNEL_AREA_MODE = "mode";
64 public static final String CHANNEL_AREA_ACTIVATE_KEYPAD_EMERGENCY = "activate_keypad_emergency";
65 public static final String CHANNEL_AREA_ALARM_BURGLARY = "alarm_burglary";
66 public static final String CHANNEL_AREA_ALARM_FIRE = "alarm_fire";
67 public static final String CHANNEL_AREA_ALARM_GAS = "alarm_gas";
68 public static final String CHANNEL_AREA_ALARM_AUXILIARY = "alarm_auxiliary";
69 public static final String CHANNEL_AREA_ALARM_FREEZE = "alarm_freeze";
70 public static final String CHANNEL_AREA_ALARM_WATER = "alarm_water";
71 public static final String CHANNEL_AREA_ALARM_DURESS = "alarm_duress";
72 public static final String CHANNEL_AREA_ALARM_TEMPERATURE = "alarm_temperature";
74 public static final String CHANNEL_AREA_SECURITY_MODE_DISARM = "disarm";
75 public static final String CHANNEL_AREA_SECURITY_MODE_DAY = "day";
76 public static final String CHANNEL_AREA_SECURITY_MODE_NIGHT = "night";
77 public static final String CHANNEL_AREA_SECURITY_MODE_AWAY = "away";
78 public static final String CHANNEL_AREA_SECURITY_MODE_VACATION = "vacation";
79 public static final String CHANNEL_AREA_SECURITY_MODE_DAY_INSTANT = "day_instant";
80 public static final String CHANNEL_AREA_SECURITY_MODE_NIGHT_DELAYED = "night_delayed";
82 public static final String CHANNEL_AREA_SECURITY_MODE_HOME = "home";
83 public static final String CHANNEL_AREA_SECURITY_MODE_SLEEP = "sleep";
84 public static final String CHANNEL_AREA_SECURITY_MODE_PARTY = "party";
85 public static final String CHANNEL_AREA_SECURITY_MODE_SPECIAL = "special";
88 public static final String CHANNEL_UNIT_LEVEL = "level";
89 public static final String CHANNEL_UNIT_SWITCH = "switch";
90 public static final String CHANNEL_UNIT_ON_FOR_SECONDS = "on_for_seconds";
91 public static final String CHANNEL_UNIT_ON_FOR_MINUTES = "on_for_minutes";
92 public static final String CHANNEL_UNIT_ON_FOR_HOURS = "on_for_hours";
93 public static final String CHANNEL_UNIT_OFF_FOR_SECONDS = "off_for_seconds";
94 public static final String CHANNEL_UNIT_OFF_FOR_MINUTES = "off_for_minutes";
95 public static final String CHANNEL_UNIT_OFF_FOR_HOURS = "off_for_hours";
96 public static final String CHANNEL_FLAG_VALUE = "value";
97 public static final String CHANNEL_FLAG_SWITCH = "switch";
98 public static final String CHANNEL_UPB_STATUS = "upb_status";
100 public static final String CHANNEL_ROOM_SWITCH = "switch";
101 public static final String CHANNEL_ROOM_SCENE_A = "scene_a";
102 public static final String CHANNEL_ROOM_SCENE_B = "scene_b";
103 public static final String CHANNEL_ROOM_SCENE_C = "scene_c";
104 public static final String CHANNEL_ROOM_SCENE_D = "scene_d";
105 public static final String CHANNEL_ROOM_STATE = "state";
107 public static final String CHANNEL_SYSTEM_DATE = "system_date";
108 public static final String CHANNEL_EVENT_LOG = "last_log";
111 public static final String CHANNEL_BUTTON_PRESS = "press";
114 public static final String CHANNEL_LOCK_SWITCH = "switch";
117 public static final String CHANNEL_THERMO_FREEZE_ALARM = "freeze_alarm";
118 public static final String CHANNEL_THERMO_COMM_FAILURE = "comm_failure";
119 public static final String CHANNEL_THERMO_STATUS = "status";
120 public static final String CHANNEL_THERMO_CURRENT_TEMP = "temperature";
121 public static final String CHANNEL_THERMO_OUTDOOR_TEMP = "outdoor_temperature";
122 public static final String CHANNEL_THERMO_HUMIDITY = "humidity";
123 public static final String CHANNEL_THERMO_HUMIDIFY_SETPOINT = "humidify_setpoint";
124 public static final String CHANNEL_THERMO_DEHUMIDIFY_SETPOINT = "dehumidify_setpoint";
125 public static final String CHANNEL_THERMO_SYSTEM_MODE = "system_mode";
126 public static final String CHANNEL_THERMO_FAN_MODE = "fan_mode";
127 public static final String CHANNEL_THERMO_HOLD_STATUS = "hold_status";
128 public static final String CHANNEL_THERMO_COOL_SETPOINT = "cool_setpoint";
129 public static final String CHANNEL_THERMO_HEAT_SETPOINT = "heat_setpoint";
131 // temp / humidity sensors
132 public static final String CHANNEL_AUX_TEMP = "temperature";
133 public static final String CHANNEL_AUX_HUMIDITY = "humidity";
134 public static final String CHANNEL_AUX_LOW_SETPOINT = "low_setpoint";
135 public static final String CHANNEL_AUX_HIGH_SETPOINT = "high_setpoint";
138 public static final String CHANNEL_CONSOLE_BEEP = "beep";
139 public static final String CHANNEL_CONSOLE_ENABLE_DISABLE_BEEPER = "enable_disable_beeper";
142 public static final String CHANNEL_AUDIO_ZONE_POWER = "zone_power";
143 public static final String CHANNEL_AUDIO_ZONE_MUTE = "zone_mute";
144 public static final String CHANNEL_AUDIO_ZONE_VOLUME = "zone_volume";
145 public static final String CHANNEL_AUDIO_ZONE_SOURCE = "zone_source";
146 public static final String CHANNEL_AUDIO_ZONE_CONTROL = "zone_control";
149 public static final String CHANNEL_AUDIO_SOURCE_TEXT1 = "source_text_1";
150 public static final String CHANNEL_AUDIO_SOURCE_TEXT2 = "source_text_2";
151 public static final String CHANNEL_AUDIO_SOURCE_TEXT3 = "source_text_3";
152 public static final String CHANNEL_AUDIO_SOURCE_TEXT4 = "source_text_4";
153 public static final String CHANNEL_AUDIO_SOURCE_TEXT5 = "source_text_5";
154 public static final String CHANNEL_AUDIO_SOURCE_TEXT6 = "source_text_6";
155 public static final String CHANNEL_AUDIO_SOURCE_POLLING = "polling";
158 public static final String TRIGGER_CHANNEL_BUTTON_ACTIVATED_EVENT = "activated_event";
159 public static final String TRIGGER_CHANNEL_PHONE_LINE_EVENT = "phone_line_event";
160 public static final String TRIGGER_CHANNEL_AC_POWER_EVENT = "ac_power_event";
161 public static final String TRIGGER_CHANNEL_BATTERY_EVENT = "battery_event";
162 public static final String TRIGGER_CHANNEL_DCM_EVENT = "dcm_event";
163 public static final String TRIGGER_CHANNEL_ENERGY_COST_EVENT = "energy_cost_event";
164 public static final String TRIGGER_CHANNEL_CAMERA_TRIGGER_EVENT = "camera_trigger_event";
165 public static final String TRIGGER_CHANNEL_ACCESS_CONTROL_READER_EVENT = "access_control_reader_event";
166 public static final String TRIGGER_CHANNEL_AREA_ALL_ON_OFF_EVENT = "all_on_off_event";
167 public static final String TRIGGER_CHANNEL_SWITCH_PRESS_EVENT = "switch_press_event";
168 public static final String TRIGGER_CHANNEL_UPB_LINK_ACTIVATED_EVENT = "upb_link_activated_event";
169 public static final String TRIGGER_CHANNEL_UPB_LINK_DEACTIVATED_EVENT = "upb_link_deactivated_event";
171 // thing configuration and properties keys
172 public static final String THING_PROPERTIES_NAME = "name";
173 public static final String THING_PROPERTIES_NUMBER = "number";
174 public static final String THING_PROPERTIES_AREA = "area";
175 public static final String THING_PROPERTIES_AUTOSTART = "autostart";
176 public static final String THING_PROPERTIES_PHONE_NUMBER = "phone_number";
178 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_OMNI_AREA,
179 THING_TYPE_LUMINA_AREA, THING_TYPE_ZONE, THING_TYPE_BRIDGE, THING_TYPE_FLAG, THING_TYPE_ROOM,
180 THING_TYPE_BUTTON, THING_TYPE_UNIT_UPB, THING_TYPE_THERMOSTAT, THING_TYPE_CONSOLE, THING_TYPE_AUDIO_ZONE,
181 THING_TYPE_AUDIO_SOURCE, THING_TYPE_TEMP_SENSOR, THING_TYPE_HUMIDITY_SENSOR, THING_TYPE_LOCK,
182 THING_TYPE_OUTPUT, THING_TYPE_UNIT, THING_TYPE_DIMMABLE);
183 public static final Set<ThingTypeUID> SUPPORTED_UNIT_TYPES_UIDS = Set.of(THING_TYPE_UNIT_UPB, THING_TYPE_ROOM,
184 THING_TYPE_FLAG, THING_TYPE_OUTPUT, THING_TYPE_DIMMABLE, THING_TYPE_UNIT);