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.sleepiq.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
19 * The {@link SleepIQBindingConstants} class defines common constants, which are
20 * used across the whole binding.
22 * @author Gregory Moyer - Initial contribution
25 public class SleepIQBindingConstants {
26 public static final String BINDING_ID = "sleepiq";
28 // List of all Thing Type UIDs
31 public static final ThingTypeUID THING_TYPE_CLOUD = new ThingTypeUID(BINDING_ID, "cloud");
33 // generic thing types
34 public static final ThingTypeUID THING_TYPE_DUAL_BED = new ThingTypeUID(BINDING_ID, "dualBed");
36 // List of all Channel ids
37 public static final String CHANNEL_LEFT_IN_BED = "left#inBed";
38 public static final String CHANNEL_RIGHT_IN_BED = "right#inBed";
40 public static final String CHANNEL_LEFT_SLEEP_NUMBER = "left#sleepNumber";
41 public static final String CHANNEL_RIGHT_SLEEP_NUMBER = "right#sleepNumber";
43 public static final String CHANNEL_LEFT_PRESSURE = "left#pressure";
44 public static final String CHANNEL_RIGHT_PRESSURE = "right#pressure";
46 public static final String CHANNEL_LEFT_LAST_LINK = "left#lastLink";
47 public static final String CHANNEL_RIGHT_LAST_LINK = "right#lastLink";
49 public static final String CHANNEL_LEFT_ALERT_ID = "left#alertId";
50 public static final String CHANNEL_RIGHT_ALERT_ID = "right#alertId";
52 public static final String CHANNEL_LEFT_ALERT_DETAILED_MESSAGE = "left#alertDetailedMessage";
53 public static final String CHANNEL_RIGHT_ALERT_DETAILED_MESSAGE = "right#alertDetailedMessage";
55 public static final String CHANNEL_LEFT_FIRST_NAME = "left#firstName";
56 public static final String CHANNEL_RIGHT_FIRST_NAME = "right#firstName";
58 public static final String CHANNEL_LEFT_SLEEP_GOAL_MINUTES = "left#sleepGoalMinutes";
59 public static final String CHANNEL_RIGHT_SLEEP_GOAL_MINUTES = "right#sleepGoalMinutes";
61 public static final String CHANNEL_LEFT_PRIVACY_MODE = "left#privacyMode";
62 public static final String CHANNEL_RIGHT_PRIVACY_MODE = "right#privacyMode";
64 public static final String CHANNEL_LEFT_TODAY_SLEEP_IQ = "left#todaySleepIQ";
65 public static final String CHANNEL_RIGHT_TODAY_SLEEP_IQ = "right#todaySleepIQ";
67 public static final String CHANNEL_LEFT_TODAY_AVG_HEART_RATE = "left#todayAverageHeartRate";
68 public static final String CHANNEL_RIGHT_TODAY_AVG_HEART_RATE = "right#todayAverageHeartRate";
70 public static final String CHANNEL_LEFT_TODAY_AVG_RESPIRATION_RATE = "left#todayAverageRespirationRate";
71 public static final String CHANNEL_RIGHT_TODAY_AVG_RESPIRATION_RATE = "right#todayAverageRespirationRate";
73 public static final String CHANNEL_LEFT_TODAY_MESSAGE = "left#todayMessage";
74 public static final String CHANNEL_RIGHT_TODAY_MESSAGE = "right#todayMessage";
76 public static final String CHANNEL_LEFT_TODAY_SLEEP_DURATION_SECONDS = "left#todaySleepDurationSeconds";
77 public static final String CHANNEL_RIGHT_TODAY_SLEEP_DURATION_SECONDS = "right#todaySleepDurationSeconds";
79 public static final String CHANNEL_LEFT_TODAY_SLEEP_IN_BED_SECONDS = "left#todaySleepInBedSeconds";
80 public static final String CHANNEL_RIGHT_TODAY_SLEEP_IN_BED_SECONDS = "right#todaySleepInBedSeconds";
82 public static final String CHANNEL_LEFT_TODAY_SLEEP_OUT_OF_BED_SECONDS = "left#todaySleepOutOfBedSeconds";
83 public static final String CHANNEL_RIGHT_TODAY_SLEEP_OUT_OF_BED_SECONDS = "right#todaySleepOutOfBedSeconds";
85 public static final String CHANNEL_LEFT_TODAY_SLEEP_RESTFUL_SECONDS = "left#todaySleepRestfulSeconds";
86 public static final String CHANNEL_RIGHT_TODAY_SLEEP_RESTFUL_SECONDS = "right#todaySleepRestfulSeconds";
88 public static final String CHANNEL_LEFT_TODAY_SLEEP_RESTLESS_SECONDS = "left#todaySleepRestlessSeconds";
89 public static final String CHANNEL_RIGHT_TODAY_SLEEP_RESTLESS_SECONDS = "right#todaySleepRestlessSeconds";
91 public static final String CHANNEL_LEFT_MONTHLY_SLEEP_IQ = "left#monthlySleepIQ";
92 public static final String CHANNEL_RIGHT_MONTHLY_SLEEP_IQ = "right#monthlySleepIQ";
94 public static final String CHANNEL_LEFT_MONTHLY_AVG_HEART_RATE = "left#monthlyAverageHeartRate";
95 public static final String CHANNEL_RIGHT_MONTHLY_AVG_HEART_RATE = "right#monthlyAverageHeartRate";
97 public static final String CHANNEL_LEFT_MONTHLY_AVG_RESPIRATION_RATE = "left#monthlyAverageRespirationRate";
98 public static final String CHANNEL_RIGHT_MONTHLY_AVG_RESPIRATION_RATE = "right#monthlyAverageRespirationRate";
100 public static final String CHANNEL_LEFT_FOUNDATION_PRESET = "left#foundationPreset";
101 public static final String CHANNEL_RIGHT_FOUNDATION_PRESET = "right#foundationPreset";
103 public static final String CHANNEL_LEFT_POSITION_HEAD = "left#foundationPositionHead";
104 public static final String CHANNEL_RIGHT_POSITION_HEAD = "right#foundationPositionHead";
106 public static final String CHANNEL_LEFT_POSITION_FOOT = "left#foundationPositionFoot";
107 public static final String CHANNEL_RIGHT_POSITION_FOOT = "right#foundationPositionFoot";
109 public static final String CHANNEL_LEFT_NIGHT_STAND_OUTLET = "left#nightStandOutlet";
110 public static final String CHANNEL_RIGHT_NIGHT_STAND_OUTLET = "right#nightStandOutlet";
112 public static final String CHANNEL_LEFT_UNDER_BED_LIGHT = "left#underBedLight";
113 public static final String CHANNEL_RIGHT_UNDER_BED_LIGHT = "right#underBedLight";
115 // List of non-standard Properties
116 public static final String PROPERTY_BASE = "base";
117 public static final String PROPERTY_KIDS_BED = "kidsBed";
118 public static final String PROPERTY_MAC_ADDRESS = "macAddress";
119 public static final String PROPERTY_NAME = "name";
120 public static final String PROPERTY_PURCHASE_DATE = "purchaseDate";
121 public static final String PROPERTY_SIZE = "size";
122 public static final String PROPERTY_SKU = "sku";
123 public static final String PROPERTY_FOUNDATION = "foundation";
124 public static final String PROPERTY_FOUNDATION_IS_BOARD_AS_SINGLE = "foundationIsBoardAsSingle";
125 public static final String PROPERTY_FOUNDATION_HAS_MASSAGE_AND_LIGHT = "foundationHasMasssageAndLight";
126 public static final String PROPERTY_FOUNDATION_HAS_FOOT_CONTROL = "foundationHasFootControl";
127 public static final String PROPERTY_FOUNDATION_HAS_FOOT_WARMER = "foundationHasFootWarmer";
128 public static final String PROPERTY_FOUNDATION_HAS_UNDER_BED_LIGHT = "foundationHasUnderBedLight";
129 public static final String PROPERTY_FOUNDATION_HW_REV = "foundationHwRev";