2 * Copyright (c) 2010-2024 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.boschshc.internal.devices;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
19 * The {@link BoschSHCBindingConstants} class defines common constants, which
20 * are used across the whole binding.
22 * @author Stefan Kästle - Initial contribution
23 * @author Christian Oeing - added Shutter Control, ThermostatHandler
24 * @author Christian Oeing - Added WallThermostatHandler
25 * @author David Pace - Added cameras, intrusion detection system, smart plugs, battery state support and smart bulbs
26 * @author Christian Oeing - Added smoke detector
29 public class BoschSHCBindingConstants {
31 private BoschSHCBindingConstants() {
32 // Class containing constants only
35 public static final String BINDING_ID = "boschshc";
37 // List of all Thing Type UIDs
38 public static final ThingTypeUID THING_TYPE_SHC = new ThingTypeUID(BINDING_ID, "shc");
40 public static final ThingTypeUID THING_TYPE_INWALL_SWITCH = new ThingTypeUID(BINDING_ID, "in-wall-switch");
41 public static final ThingTypeUID THING_TYPE_TWINGUARD = new ThingTypeUID(BINDING_ID, "twinguard");
42 public static final ThingTypeUID THING_TYPE_WINDOW_CONTACT = new ThingTypeUID(BINDING_ID, "window-contact");
43 public static final ThingTypeUID THING_TYPE_WINDOW_CONTACT_2 = new ThingTypeUID(BINDING_ID, "window-contact-2");
44 public static final ThingTypeUID THING_TYPE_MOTION_DETECTOR = new ThingTypeUID(BINDING_ID, "motion-detector");
45 public static final ThingTypeUID THING_TYPE_SHUTTER_CONTROL = new ThingTypeUID(BINDING_ID, "shutter-control");
46 public static final ThingTypeUID THING_TYPE_SHUTTER_CONTROL_2 = new ThingTypeUID(BINDING_ID, "shutter-control-2");
47 public static final ThingTypeUID THING_TYPE_THERMOSTAT = new ThingTypeUID(BINDING_ID, "thermostat");
48 public static final ThingTypeUID THING_TYPE_CLIMATE_CONTROL = new ThingTypeUID(BINDING_ID, "climate-control");
49 public static final ThingTypeUID THING_TYPE_WALL_THERMOSTAT = new ThingTypeUID(BINDING_ID, "wall-thermostat");
50 public static final ThingTypeUID THING_TYPE_CAMERA_360 = new ThingTypeUID(BINDING_ID, "security-camera-360");
51 public static final ThingTypeUID THING_TYPE_CAMERA_EYES = new ThingTypeUID(BINDING_ID, "security-camera-eyes");
52 public static final ThingTypeUID THING_TYPE_INTRUSION_DETECTION_SYSTEM = new ThingTypeUID(BINDING_ID,
53 "intrusion-detection-system");
54 public static final ThingTypeUID THING_TYPE_SMART_PLUG_COMPACT = new ThingTypeUID(BINDING_ID, "smart-plug-compact");
55 public static final ThingTypeUID THING_TYPE_SMART_BULB = new ThingTypeUID(BINDING_ID, "smart-bulb");
56 public static final ThingTypeUID THING_TYPE_SMOKE_DETECTOR = new ThingTypeUID(BINDING_ID, "smoke-detector");
57 public static final ThingTypeUID THING_TYPE_UNIVERSAL_SWITCH = new ThingTypeUID(BINDING_ID, "universal-switch");
58 public static final ThingTypeUID THING_TYPE_UNIVERSAL_SWITCH_2 = new ThingTypeUID(BINDING_ID, "universal-switch-2");
59 public static final ThingTypeUID THING_TYPE_SMOKE_DETECTOR_2 = new ThingTypeUID(BINDING_ID, "smoke-detector-2");
60 public static final ThingTypeUID THING_TYPE_LIGHT_CONTROL_2 = new ThingTypeUID(BINDING_ID, "light-control-2");
61 public static final ThingTypeUID THING_TYPE_DIMMER = new ThingTypeUID(BINDING_ID, "dimmer");
62 public static final ThingTypeUID THING_TYPE_WATER_DETECTOR = new ThingTypeUID(BINDING_ID, "water-detector");
64 public static final ThingTypeUID THING_TYPE_USER_DEFINED_STATE = new ThingTypeUID(BINDING_ID, "user-defined-state");
66 // List of all Channel IDs
67 // Auto-generated from thing-types.xml via script, don't modify
68 public static final String CHANNEL_SCENARIO_TRIGGERED = "scenario-triggered";
69 public static final String CHANNEL_TRIGGER_SCENARIO = "trigger-scenario";
70 public static final String CHANNEL_POWER_SWITCH = "power-switch";
71 public static final String CHANNEL_TEMPERATURE = "temperature";
72 public static final String CHANNEL_TEMPERATURE_RATING = "temperature-rating";
73 public static final String CHANNEL_HUMIDITY = "humidity";
74 public static final String CHANNEL_HUMIDITY_RATING = "humidity-rating";
75 public static final String CHANNEL_ENERGY_CONSUMPTION = "energy-consumption";
76 public static final String CHANNEL_POWER_CONSUMPTION = "power-consumption";
77 public static final String CHANNEL_PURITY = "purity";
78 public static final String CHANNEL_AIR_DESCRIPTION = "air-description";
79 public static final String CHANNEL_PURITY_RATING = "purity-rating";
80 public static final String CHANNEL_COMBINED_RATING = "combined-rating";
81 public static final String CHANNEL_CONTACT = "contact";
82 public static final String CHANNEL_LATEST_MOTION = "latest-motion";
83 public static final String CHANNEL_LEVEL = "level";
84 public static final String CHANNEL_VALVE_TAPPET_POSITION = "valve-tappet-position";
85 public static final String CHANNEL_SETPOINT_TEMPERATURE = "setpoint-temperature";
86 public static final String CHANNEL_CHILD_LOCK = "child-lock";
87 public static final String CHANNEL_CHILD_PROTECTION = "child-protection";
88 public static final String CHANNEL_PRIVACY_MODE = "privacy-mode";
89 public static final String CHANNEL_CAMERA_NOTIFICATION = "camera-notification";
90 public static final String CHANNEL_SYSTEM_AVAILABILITY = "system-availability";
91 public static final String CHANNEL_ARMING_STATE = "arming-state";
92 public static final String CHANNEL_ALARM_STATE = "alarm-state";
93 public static final String CHANNEL_ACTIVE_CONFIGURATION_PROFILE = "active-configuration-profile";
94 public static final String CHANNEL_ARM_ACTION = "arm-action";
95 public static final String CHANNEL_DISARM_ACTION = "disarm-action";
96 public static final String CHANNEL_MUTE_ACTION = "mute-action";
97 public static final String CHANNEL_BATTERY_LEVEL = "battery-level";
98 public static final String CHANNEL_LOW_BATTERY = "low-battery";
99 public static final String CHANNEL_COLOR = "color";
100 public static final String CHANNEL_BRIGHTNESS = "brightness";
101 public static final String CHANNEL_SMOKE_CHECK = "smoke-check";
102 public static final String CHANNEL_SILENT_MODE = "silent-mode";
103 public static final String CHANNEL_ILLUMINANCE = "illuminance";
104 public static final String CHANNEL_BYPASS_STATE = "bypass-state";
105 public static final String CHANNEL_SIGNAL_STRENGTH = "signal-strength";
106 public static final String CHANNEL_KEY_CODE = "key-code";
107 public static final String CHANNEL_KEY_NAME = "key-name";
108 public static final String CHANNEL_KEY_EVENT_TYPE = "key-event-type";
109 public static final String CHANNEL_KEY_EVENT_TIMESTAMP = "key-event-timestamp";
110 public static final String CHANNEL_WATER_LEAKAGE = "water-leakage";
111 public static final String CHANNEL_PUSH_NOTIFICATIONS_ON_MOVE = "push-notifications-on-move";
112 public static final String CHANNEL_ACOUSTIC_SIGNALS_ON_MOVE = "acoustic-signals-on-move";
113 public static final String CHANNEL_WATER_LEAKAGE_SENSOR_CHECK = "water-leakage-sensor-check";
114 public static final String CHANNEL_SENSOR_MOVED = "sensor-moved";
117 // the rationale for introducing numbered channels was discussed in
118 // https://github.com/openhab/openhab-addons/pull/16400
119 public static final String CHANNEL_POWER_SWITCH_1 = "power-switch-1";
120 public static final String CHANNEL_POWER_SWITCH_2 = "power-switch-2";
121 public static final String CHANNEL_CHILD_PROTECTION_1 = "child-protection-1";
122 public static final String CHANNEL_CHILD_PROTECTION_2 = "child-protection-2";
124 public static final String CHANNEL_USER_DEFINED_STATE = "user-state";
126 // static device/service names
127 public static final String SERVICE_INTRUSION_DETECTION = "intrusionDetectionSystem";