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.hue.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
19 * The {@link HueBindingConstants} class defines common constants, which are
20 * used across the whole binding.
22 * @author Kai Kreuzer - Initial contribution
23 * @author Jochen Hiller - Added OSRAM Classic A60 RGBW
24 * @author Markus Mazurczak - Added OSRAM PAR16 50
25 * @author Andre Fuechsel - changed to generic thing types
26 * @author Samuel Leisering - Added support for sensor API
27 * @author Christoph Weitkamp - Added support for sensor API
30 public class HueBindingConstants {
32 public static final String BINDING_ID = "hue";
34 // List all Thing Type UIDs, related to the Hue Binding
37 public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
39 // generic thing types
40 public static final ThingTypeUID THING_TYPE_ON_OFF_LIGHT = new ThingTypeUID(BINDING_ID, "0000");
41 public static final ThingTypeUID THING_TYPE_ON_OFF_PLUG = new ThingTypeUID(BINDING_ID, "0010");
42 public static final ThingTypeUID THING_TYPE_COLOR_LIGHT = new ThingTypeUID(BINDING_ID, "0200");
43 public static final ThingTypeUID THING_TYPE_COLOR_TEMPERATURE_LIGHT = new ThingTypeUID(BINDING_ID, "0220");
44 public static final ThingTypeUID THING_TYPE_EXTENDED_COLOR_LIGHT = new ThingTypeUID(BINDING_ID, "0210");
45 public static final ThingTypeUID THING_TYPE_DIMMABLE_LIGHT = new ThingTypeUID(BINDING_ID, "0100");
46 public static final ThingTypeUID THING_TYPE_DIMMABLE_PLUG = new ThingTypeUID(BINDING_ID, "0110");
48 public static final ThingTypeUID THING_TYPE_DIMMER_SWITCH = new ThingTypeUID(BINDING_ID, "0820");
49 public static final ThingTypeUID THING_TYPE_TAP_SWITCH = new ThingTypeUID(BINDING_ID, "0830");
50 public static final ThingTypeUID THING_TYPE_CLIP_GENERIC_STATUS = new ThingTypeUID(BINDING_ID, "0840");
51 public static final ThingTypeUID THING_TYPE_CLIP_GENERIC_FLAG = new ThingTypeUID(BINDING_ID, "0850");
52 public static final ThingTypeUID THING_TYPE_PRESENCE_SENSOR = new ThingTypeUID(BINDING_ID, "0107");
53 public static final ThingTypeUID THING_TYPE_GEOFENCE_SENSOR = new ThingTypeUID(BINDING_ID, "geofencesensor");
54 public static final ThingTypeUID THING_TYPE_TEMPERATURE_SENSOR = new ThingTypeUID(BINDING_ID, "0302");
55 public static final ThingTypeUID THING_TYPE_LIGHT_LEVEL_SENSOR = new ThingTypeUID(BINDING_ID, "0106");
57 public static final ThingTypeUID THING_TYPE_GROUP = new ThingTypeUID(BINDING_ID, "group");
60 public static final String CHANNEL_COLORTEMPERATURE = "color_temperature";
61 public static final String CHANNEL_COLORTEMPERATURE_ABS = "color_temperature_abs";
62 public static final String CHANNEL_COLOR = "color";
63 public static final String CHANNEL_BRIGHTNESS = "brightness";
64 public static final String CHANNEL_ALERT = "alert";
65 public static final String CHANNEL_EFFECT = "effect";
66 public static final String CHANNEL_SWITCH = "switch";
67 public static final String CHANNEL_DIMMER_SWITCH = "dimmer_switch";
68 public static final String CHANNEL_TAP_SWITCH = "tap_switch";
69 public static final String CHANNEL_PRESENCE = "presence";
70 public static final String CHANNEL_ENABLED = "enabled";
71 public static final String CHANNEL_TEMPERATURE = "temperature";
72 public static final String CHANNEL_LAST_UPDATED = "last_updated";
73 public static final String CHANNEL_BATTERY_LEVEL = "battery_level";
74 public static final String CHANNEL_BATTERY_LOW = "battery_low";
75 public static final String CHANNEL_ILLUMINANCE = "illuminance";
76 public static final String CHANNEL_LIGHT_LEVEL = "light_level";
77 public static final String CHANNEL_DARK = "dark";
78 public static final String CHANNEL_DAYLIGHT = "daylight";
79 public static final String CHANNEL_STATUS = "status";
80 public static final String CHANNEL_FLAG = "flag";
81 public static final String CHANNEL_SCENE = "scene";
84 public static final String EVENT_DIMMER_SWITCH = "dimmer_switch_event";
85 public static final String EVENT_TAP_SWITCH = "tap_switch_event";
87 // Binding configuration properties
88 public static final String REMOVAL_GRACE_PERIOD = "removalGracePeriod";
90 // Bridge config properties
91 public static final String HOST = "ipAddress";
92 public static final String USER_NAME = "userName";
94 // Thing configuration properties
95 public static final String LIGHT_ID = "lightId";
96 public static final String SENSOR_ID = "sensorId";
97 public static final String PRODUCT_NAME = "productName";
98 public static final String UNIQUE_ID = "uniqueId";
99 public static final String FADETIME = "fadetime";
100 public static final String GROUP_ID = "groupId";
102 public static final String NORMALIZE_ID_REGEX = "[^a-zA-Z0-9_]";
105 public static final String TEXT_OFFLINE_COMMUNICATION_ERROR = "@text/offline.communication-error";
106 public static final String TEXT_OFFLINE_CONFIGURATION_ERROR_INVALID_SSL_CERIFICATE = "@text/offline.conf-error-invalid-ssl-certificate";
108 // Config status messages
109 public static final String IP_ADDRESS_MISSING = "missing-ip-address-configuration";