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.ecobee.internal;
15 import java.util.Collections;
16 import java.util.List;
18 import java.util.stream.Collectors;
19 import java.util.stream.Stream;
21 import org.eclipse.jdt.annotation.NonNullByDefault;
22 import org.openhab.binding.ecobee.internal.dto.thermostat.AlertDTO;
23 import org.openhab.binding.ecobee.internal.dto.thermostat.EventDTO;
24 import org.openhab.binding.ecobee.internal.dto.thermostat.HouseDetailsDTO;
25 import org.openhab.binding.ecobee.internal.dto.thermostat.LocationDTO;
26 import org.openhab.binding.ecobee.internal.dto.thermostat.ManagementDTO;
27 import org.openhab.binding.ecobee.internal.dto.thermostat.RemoteSensorDTO;
28 import org.openhab.binding.ecobee.internal.dto.thermostat.TechnicianDTO;
29 import org.openhab.binding.ecobee.internal.dto.thermostat.ThermostatDTO;
30 import org.openhab.core.thing.ThingTypeUID;
31 import org.openhab.core.thing.type.ChannelTypeUID;
34 * The {@link EcobeeBindingConstants} class defines common constants that are
35 * used across the whole binding.
37 * @author Mark Hilbush - Initial contribution
40 public class EcobeeBindingConstants {
42 public static final String BINDING_ID = "ecobee";
45 public static final String THING_TYPE_ACCOUNT = "account";
46 public static final ThingTypeUID UID_ACCOUNT_BRIDGE = new ThingTypeUID(BINDING_ID, THING_TYPE_ACCOUNT);
47 public static final Set<ThingTypeUID> SUPPORTED_ACCOUNT_BRIDGE_THING_TYPES_UIDS = Collections
48 .unmodifiableSet(Stream.of(UID_ACCOUNT_BRIDGE).collect(Collectors.toSet()));
51 public static final String THING_TYPE_THERMOSTAT = "thermostat";
52 public static final ThingTypeUID UID_THERMOSTAT_BRIDGE = new ThingTypeUID(BINDING_ID, THING_TYPE_THERMOSTAT);
53 public static final Set<ThingTypeUID> SUPPORTED_THERMOSTAT_BRIDGE_THING_TYPES_UIDS = Collections
54 .unmodifiableSet(Stream.of(UID_THERMOSTAT_BRIDGE).collect(Collectors.toSet()));
56 // Remote sensor thing
57 public static final String THING_TYPE_SENSOR = "sensor";
58 public static final ThingTypeUID UID_SENSOR_THING = new ThingTypeUID(BINDING_ID, THING_TYPE_SENSOR);
59 public static final Set<ThingTypeUID> SUPPORTED_SENSOR_THING_TYPES_UIDS = Collections
60 .unmodifiableSet(Stream.of(UID_SENSOR_THING).collect(Collectors.toSet()));
62 // Collection of thermostat and sensor thing types
63 public static final Set<ThingTypeUID> SUPPORTED_THERMOSTAT_AND_SENSOR_THING_TYPES_UIDS = Stream
64 .concat(SUPPORTED_THERMOSTAT_BRIDGE_THING_TYPES_UIDS.stream(), SUPPORTED_SENSOR_THING_TYPES_UIDS.stream())
65 .collect(Collectors.toSet());
67 // Collection of all supported thing types
68 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet(
69 Stream.of(UID_ACCOUNT_BRIDGE, UID_THERMOSTAT_BRIDGE, UID_SENSOR_THING).collect(Collectors.toSet()));
71 // Background discovery frequency
72 public static final int DISCOVERY_INTERVAL_SECONDS = 300;
73 public static final int DISCOVERY_INITIAL_DELAY_SECONDS = 10;
75 // Thermostat bridge and remote sensor thing config parameters
76 public static final String CONFIG_THERMOSTAT_ID = "thermostatId";
77 public static final String CONFIG_SENSOR_ID = "sensorId";
80 public static final String CHGRP_ALERT = "alerts";
81 public static final String CHGRP_INFO = "info";
82 public static final String CHGRP_ELECTRICITY = "electricity";
83 public static final String CHGRP_EQUIPMENT_STATUS = "equipmentStatus";
84 public static final String CHGRP_EVENT = "events";
85 public static final String CHGRP_EXTENDED_RUNTIME = "extendedRuntime";
86 public static final String CHGRP_HOUSE_DETAILS = "houseDetails";
87 public static final String CHGRP_LOCATION = "location";
88 public static final String CHGRP_MANAGEMENT = "management";
89 public static final String CHGRP_NOTIFICATION_SETTINGS = "notificationSettings";
90 public static final String CHGRP_OEM_CFG = "oemCfg";
91 public static final String CHGRP_PRIVACY = "privacy";
92 public static final String CHGRP_PROGRAM = "program";
93 public static final String CHGRP_RUNTIME = "runtime";
94 public static final String CHGRP_SETTINGS = "settings";
95 public static final String CHGRP_TECHNICIAN = "technician";
96 public static final String CHGRP_UTILITY = "utility";
97 public static final String CHGRP_VERSION = "version";
98 public static final String CHGRP_WEATHER = "weather";
99 public static final String CHGRP_FORECAST = "forecast";
101 // Exclude CHGRP_INFO and CHGRP_FORECAST because they are not part of the selection object
102 public static final List<String> CHANNEL_GROUPS = Stream.of(CHGRP_ALERT, CHGRP_ELECTRICITY, CHGRP_EQUIPMENT_STATUS,
103 CHGRP_EVENT, CHGRP_EXTENDED_RUNTIME, CHGRP_HOUSE_DETAILS, CHGRP_LOCATION, CHGRP_MANAGEMENT,
104 CHGRP_NOTIFICATION_SETTINGS, CHGRP_OEM_CFG, CHGRP_PRIVACY, CHGRP_PROGRAM, CHGRP_RUNTIME, CHGRP_SETTINGS,
105 CHGRP_TECHNICIAN, CHGRP_UTILITY, CHGRP_VERSION, CHGRP_WEATHER).collect(Collectors.toList());
107 // Thermostat bridge info channels
108 public static final String CH_IDENTIFIER = "identifier";
109 public static final String CH_NAME = "name";
110 public static final String CH_THERMOSTAT_REV = "thermostatRev";
111 public static final String CH_IS_REGISTERED = "isRegistered";
112 public static final String CH_MODEL_NUMBER = "modelNumber";
113 public static final String CH_BRAND = "brand";
114 public static final String CH_FEATURES = "features";
115 public static final String CH_LAST_MODIFIED = "lastModified";
116 public static final String CH_THERMOSTAT_TIME = "thermostatTime";
117 public static final String CH_UTC_TIME = "utcTime";
119 // Thermostat bridge equipment status channels
120 public static final String CH_EQUIPMENT_STATUS = "equipmentStatus";
122 // Thermostat bridge ALERT channels
123 public static final String CH_ALERT_ACKNOWLEDGE_REF = "acknowledgeRef";
124 public static final String CH_ALERT_DATE = "date";
125 public static final String CH_ALERT_TIME = "time";
126 public static final String CH_ALERT_SEVERITY = "severity";
127 public static final String CH_ALERT_TEXT = "text";
128 public static final String CH_ALERT_ALERT_NUMBER = "number";
129 public static final String CH_ALERT_ALERT_TYPE = "type";
130 public static final String CH_ALERT_IS_OPERATOR_ALERT = "isOperatorAlert";
131 public static final String CH_ALERT_REMINDER = "reminder";
132 public static final String CH_ALERT_SHOW_IDT = "showIdt";
133 public static final String CH_ALERT_SHOW_WEB = "showWeb";
134 public static final String CH_ALERT_SEND_EMAIL = "sendEmail";
135 public static final String CH_ALERT_ACKNOWLEDGEMENT = "acknowledgement";
136 public static final String CH_ALERT_REMIND_ME_LATER = "remindMeLater";
137 public static final String CH_ALERT_THERMOSTAT_IDENTIFIER = "thermostatIdentifier";
138 public static final String CH_ALERT_NOTIFICATION_TYPE = "notificationType";
140 // Thermostat bridge EVENT channels
141 public static final String CH_EVENT_NAME = "name";
142 public static final String CH_EVENT_TYPE = "type";
143 public static final String CH_EVENT_RUNNING = "running";
144 public static final String CH_EVENT_START_DATE = "startDate";
145 public static final String CH_EVENT_START_TIME = "startTime";
146 public static final String CH_EVENT_END_DATE = "endDate";
147 public static final String CH_EVENT_END_TIME = "endTime";
148 public static final String CH_EVENT_IS_OCCUPIED = "isOccupied";
149 public static final String CH_EVENT_IS_COOL_OFF = "isCoolOff";
150 public static final String CH_EVENT_IS_HEAT_OFF = "isHeatOff";
151 public static final String CH_EVENT_COOL_HOLD_TEMP = "coolHoldTemp";
152 public static final String CH_EVENT_HEAT_HOLD_TEMP = "heatHoldTemp";
153 public static final String CH_EVENT_FAN = "fan";
154 public static final String CH_EVENT_VENT = "vent";
155 public static final String CH_EVENT_VENTILATOR_MIN_ON_TIME = "ventilatorMinOnTime";
156 public static final String CH_EVENT_IS_OPTIONAL = "isOptional";
157 public static final String CH_EVENT_IS_TEMPERATURE_RELATIVE = "isTemperatureRelative";
158 public static final String CH_EVENT_COOL_RELATIVE_TEMP = "coolRelativeTemp";
159 public static final String CH_EVENT_HEAT_RELATIVE_TEMP = "heatRelativeTemp";
160 public static final String CH_EVENT_IS_TEMPERATURE_ABSOLUTE = "isTemperatureAbsolute";
161 public static final String CH_EVENT_DUTY_CYCLE_PERCENTAGE = "dutyCyclePercentage";
162 public static final String CH_EVENT_FAN_MIN_ON_TIME = "fanMinOnTime";
163 public static final String CH_EVENT_OCCUPIED_SENSOR_ACTIVE = "occupiedSensorActive";
164 public static final String CH_EVENT_UNOCCUPIED_SENSOR_ACTIVE = "unoccupiedSensorActive";
165 public static final String CH_EVENT_DR_RAMP_UP_TEMP = "drRampUpTemp";
166 public static final String CH_EVENT_DR_RAMP_UP_TIME = "drRampUpTime";
167 public static final String CH_EVENT_LINK_REF = "linkRef";
168 public static final String CH_EVENT_HOLD_CLIMATE_REF = "holdClimateRef";
170 // Thermostat bridge HOUSE DETAILS channels
171 public static final String CH_HOUSEDETAILS_STYLE = "style";
172 public static final String CH_HOUSEDETAILS_SIZE = "size";
173 public static final String CH_HOUSEDETAILS_NUMBER_OF_FLOORS = "numberOfFloors";
174 public static final String CH_HOUSEDETAILS_NUMBER_OF_ROOMS = "numberOfRooms";
175 public static final String CH_HOUSEDETAILS_NUMBER_OF_OCCUPANTS = "numberOfOccupants";
176 public static final String CH_HOUSEDETAILS_AGE = "age";
177 public static final String CH_HOUSEDETAILS_WINDOW_EFFICIENCY = "windowEfficiency";
179 // Thermostat bridge LOCATION channels
180 public static final String CH_TIME_ZONE_OFFSET_MINUTES = "timeZoneOffsetMinutes";
181 public static final String CH_TIME_ZONE = "timeZone";
182 public static final String CH_IS_DAYLIGHT_SAVING = "isDaylightSaving";
183 public static final String CH_STREET_ADDRESS = "streetAddress";
184 public static final String CH_CITY = "city";
185 public static final String CH_PROVINCE_STATE = "provinceState";
186 public static final String CH_COUNTRY = "country";
187 public static final String CH_POSTAL_CODE = "postalCode";
188 public static final String CH_PHONE_NUMBER = "phoneNumber";
189 public static final String CH_MAP_COORDINATES = "mapCoordinates";
191 // Thermostat bridge MANAGEMENT channels
192 public static final String CH_MANAGEMENT_ADMIN_CONTACT = "administrativeContact";
193 public static final String CH_MANAGEMENT_BILLING_CONTACT = "billingContact";
194 public static final String CH_MANAGEMENT_NAME = "name";
195 public static final String CH_MANAGEMENT_PHONE = "phone";
196 public static final String CH_MANAGEMENT_EMAIL = "email";
197 public static final String CH_MANAGEMENT_WEB = "web";
198 public static final String CH_MANAGEMENT_SHOW_ALERT_IDT = "showAlertIdt";
199 public static final String CH_MANAGEMENT_SHOW_ALERT_WEB = "showAlertWeb";
201 // Thermostat bridge PROGRAM channels
202 public static final String CH_PROGRAM_CURRENT_CLIMATE_REF = "currentClimateRef";
204 // Thermostat bridge RUNTIME channels
205 public static final String CH_RUNTIME_REV = "runtimeRev";
206 public static final String CH_CONNECTED = "connected";
207 public static final String CH_FIRST_CONNECTED = "firstConnected";
208 public static final String CH_CONNECT_DATE_TIME = "connectDateTime";
209 public static final String CH_DISCONNECT_DATE_TIME = "disconnectDateTime";
210 public static final String CH_RT_LAST_MODIFIED = "lastModified";
211 public static final String CH_RT_LAST_STATUS_MODIFIED = "lastStatusModified";
212 public static final String CH_RUNTIME_DATE = "runtimeDate";
213 public static final String CH_RUNTIME_INTERVAL = "runtimeInterval";
214 public static final String CH_ACTUAL_TEMPERATURE = "actualTemperature";
215 public static final String CH_ACTUAL_HUMIDITY = "actualHumidity";
216 public static final String CH_RAW_TEMPERATURE = "rawTemperature";
217 public static final String CH_SHOW_ICON_MODE = "showIconMode";
218 public static final String CH_DESIRED_HEAT = "desiredHeat";
219 public static final String CH_DESIRED_COOL = "desiredCool";
220 public static final String CH_DESIRED_HUMIDITY = "desiredHumidity";
221 public static final String CH_DESIRED_DEHUMIDITY = "desiredDehumidity";
222 public static final String CH_DESIRED_FAN_MODE = "desiredFanMode";
223 public static final String CH_DESIRED_HEAT_RANGE_LOW = "desiredHeatRangeLow";
224 public static final String CH_DESIRED_HEAT_RANGE_HIGH = "desiredHeatRangeHigh";
225 public static final String CH_DESIRED_COOL_RANGE_LOW = "desiredCoolRangeLow";
226 public static final String CH_DESIRED_COOL_RANGE_HIGH = "desiredCoolRangeHigh";
227 public static final String CH_ACTUAL_AQ_ACCURACY = "actualAQAccuracy";
228 public static final String CH_ACTUAL_AQ_SCORE = "actualAQScore";
229 public static final String CH_ACTUAL_CO2 = "actualCO2";
230 public static final String CH_ACTUAL_VOC = "actualVOC";
232 // Thermostat bridge SETTINGS channels
233 public static final String CH_HVAC_MODE = "hvacMode";
234 public static final String CH_LAST_SERVICE_DATE = "lastServiceDate";
235 public static final String CH_SERVICE_REMIND_ME = "serviceRemindMe";
236 public static final String CH_MONTHS_BETWEEN_SERVICE = "monthsBetweenService";
237 public static final String CH_REMIND_ME_DATE = "remindMeDate";
238 public static final String CH_VENT = "vent";
239 public static final String CH_VENTILATOR_MIN_ON_TIME = "ventilatorMinOnTime";
240 public static final String CH_SERVICE_REMIND_TECHNICIAN = "serviceRemindTechnician";
241 public static final String CH_EI_LOCATION = "eiLocation";
242 public static final String CH_COLD_TEMP_ALERT = "coldTempAlert";
243 public static final String CH_COLD_TEMP_ALERT_ENABLED = "coldTempAlertEnabled";
244 public static final String CH_HOT_TEMP_ALERT = "hotTempAlert";
245 public static final String CH_HOT_TEMP_ALERT_ENABLED = "hotTempAlertEnabled";
246 public static final String CH_COOL_STAGES = "coolStages";
247 public static final String CH_HEAT_STAGES = "heatStages";
248 public static final String CH_MAX_SET_BACK = "maxSetBack";
249 public static final String CH_MAX_SET_FORWARD = "maxSetForward";
250 public static final String CH_QUICK_SAVE_SET_BACK = "quickSaveSetBack";
251 public static final String CH_QUICK_SAVE_SET_FORWARD = "quickSaveSetForward";
252 public static final String CH_HAS_HEAT_PUMP = "hasHeatPump";
253 public static final String CH_HAS_FORCED_AIR = "hasForcedAir";
254 public static final String CH_HAS_BOILER = "hasBoiler";
255 public static final String CH_HAS_HUMIDIFIER = "hasHumidifier";
256 public static final String CH_HAS_ERV = "hasErv";
257 public static final String CH_HAS_HRV = "hasHrv";
258 public static final String CH_CONDENSATION_AVOID = "condensationAvoid";
259 public static final String CH_USE_CELSIUS = "useCelsius";
260 public static final String CH_USE_TIME_FORMAT_12 = "useTimeFormat12";
261 public static final String CH_LOCALE = "locale";
262 public static final String CH_HUMIDITY = "humidity";
263 public static final String CH_HUMIDIFIER_MODE = "humidifierMode";
264 public static final String CH_BACKLIGHT_ON_INTENSITY = "backlightOnIntensity";
265 public static final String CH_BACKLIGHT_SLEEP_INTENSITY = "backlightSleepIntensity";
266 public static final String CH_BACKLIGHT_OFF_TIME = "backlightOffTime";
267 public static final String CH_SOUND_TICK_VOLUME = "soundTickVolume";
268 public static final String CH_SOUND_ALERT_VOLUME = "soundAlertVolume";
269 public static final String CH_COMPRESSOR_PROTECTION_MIN_TIME = "compressorProtectionMinTime";
270 public static final String CH_COMPRESSOR_PROTECTION_MIN_TEMP = "compressorProtectionMinTemp";
271 public static final String CH_STAGE1_HEATING_DIFFERENTIAL_TEMP = "stage1HeatingDifferentialTemp";
272 public static final String CH_STAGE1_COOLING_DIFFERENTIAL_TEMP = "stage1CoolingDifferentialTemp";
273 public static final String CH_STAGE1_HEATING_DISSIPATION_TIME = "stage1HeatingDissipationTime";
274 public static final String CH_STAGE1_COOLING_DISSIPATION_TIME = "stage1CoolingDissipationTime";
275 public static final String CH_HEAT_PUMP_REVERSAL_ON_COOL = "heatPumpReversalOnCool";
276 public static final String CH_FAN_CONTROLLER_REQUIRED = "fanControlRequired";
277 public static final String CH_FAN_MIN_ON_TIME = "fanMinOnTime";
278 public static final String CH_HEAT_COOL_MIN_DELTA = "heatCoolMinDelta";
279 public static final String CH_TEMP_CORRECTION = "tempCorrection";
280 public static final String CH_HOLD_ACTION = "holdAction";
281 public static final String CH_HEAT_PUMP_GROUND_WATER = "heatPumpGroundWater";
282 public static final String CH_HAS_ELECTRIC = "hasElectric";
283 public static final String CH_HAS_DEHUMIDIFIER = "hasDehumidifier";
284 public static final String CH_DEHUMIDIFIER_MODE = "dehumidifierMode";
285 public static final String CH_DEHUMIDIFIER_LEVEL = "dehumidifierLevel";
286 public static final String CH_DEHUMIDIFY_WITH_AC = "dehumidifyWithAC";
287 public static final String CH_DEHUMIDIFY_OVERCOOL_OFFSET = "dehumidifyOvercoolOffset";
288 public static final String CH_AUTO_HEAT_COOL_FEATURE_ENABLED = "autoHeatCoolFeatureEnabled";
289 public static final String CH_WIFI_OFFLINE_ALERT = "wifiOfflineAlert";
290 public static final String CH_HEAT_MIN_TEMP = "heatMinTemp";
291 public static final String CH_HEAT_MAX_TEMP = "heatMaxTemp";
292 public static final String CH_COOL_MIN_TEMP = "coolMinTemp";
293 public static final String CH_COOL_MAX_TEMP = "coolMaxTemp";
294 public static final String CH_HEAT_RANGE_HIGH = "heatRangeHigh";
295 public static final String CH_HEAT_RANGE_LOW = "heatRangeLow";
296 public static final String CH_COOL_RANGE_HIGH = "coolRangeHigh";
297 public static final String CH_COOL_RANGE_LOW = "coolRangeLow";
298 public static final String CH_USER_ACCESS_CODE = "userAccessCode";
299 public static final String CH_USER_ACCESS_SETTING = "userAccessSetting";
300 public static final String CH_AUX_RUNTIME_ALERT = "auxRuntimeAlert";
301 public static final String CH_AUX_OUTDOOR_TEMP_ALERT = "auxOutdoorTempAlert";
302 public static final String CH_AUX_MAX_OUTDOOR_TEMP = "auxMaxOutdoorTemp";
303 public static final String CH_AUX_RUNTIME_ALERT_NOTIFY = "auxRuntimeAlertNotify";
304 public static final String CH_AUX_OUTDOOR_TEMP_ALERT_NOTIFY = "auxOutdoorTempAlertNotify";
305 public static final String CH_AUX_RUNTIME_ALERT_NOTIFY_TECHNICIAN = "auxRuntimeAlertNotifyTechnician";
306 public static final String CH_AUX_OUTDOOR_TEMP_ALERT_NOTIFY_TECHNICIAN = "auxOutdoorTempAlertNotifyTechnician";
307 public static final String CH_DISABLE_PREHEATING = "disablePreHeating";
308 public static final String CH_DISABLE_PRECOOLING = "disablePreCooling";
309 public static final String CH_INSTALLER_CODE_REQUIRED = "installerCodeRequired";
310 public static final String CH_DR_ACCEPT = "drAccept";
311 public static final String CH_IS_RENTAL_PROPERTY = "isRentalProperty";
312 public static final String CH_USE_ZONE_CONTROLLER = "useZoneController";
313 public static final String CH_RANDOM_START_DELAY_COOL = "randomStartDelayCool";
314 public static final String CH_RANDOM_START_DELAY_HEAT = "randomStartDelayHeat";
315 public static final String CH_HUMIDITY_HIGH_ALERT = "humidityHighAlert";
316 public static final String CH_HUMIDITY_LOW_ALERT = "humidityLowAlert";
317 public static final String CH_DISABLE_HEAT_PUMP_ALERTS = "disableHeatPumpAlerts";
318 public static final String CH_DISABLE_ALERTS_ON_IDT = "disableAlertsOnIdt";
319 public static final String CH_HUMIDITY_ALERT_NOTIFY = "humidityAlertNotify";
320 public static final String CH_HUMIDITY_ALERT_NOTIFY_TECHNICIAN = "humidityAlertNotifyTechnician";
321 public static final String CH_TEMP_ALERT_NOTIFY = "tempAlertNotify";
322 public static final String CH_TEMP_ALERT_NOTIFY_TECHNICIAN = "tempAlertNotifyTechnician";
323 public static final String CH_MONTHLY_ELECTRICITY_BILL_LIMIT = "monthlyElectricityBillLimit";
324 public static final String CH_ENABLE_ELECTRICITY_BILL_ALERT = "enableElectricityBillAlert";
325 public static final String CH_ENABLE_PROJECTED_ELECTRICITY_BILL_ALERT = "enableProjectedElectricityBillAlert";
326 public static final String CH_ELECTRICITY_BILLING_DAY_OF_MONTH = "electricityBillingDayOfMonth";
327 public static final String CH_ELECTRICITY_BILL_CYCLE_MONTHS = "electricityBillCycleMonths";
328 public static final String CH_ELECTRICITY_BILL_START_MONTH = "electricityBillStartMonth";
329 public static final String CH_VENTILATOR_MIN_ON_TIME_HOME = "ventilatorMinOnTimeHome";
330 public static final String CH_VENTILATOR_MIN_ON_TIME_AWAY = "ventilatorMinOnTimeAway";
331 public static final String CH_BACKLIGHT_OFF_DURING_SLEEP = "backlightOffDuringSleep";
332 public static final String CH_AUTO_AWAY = "autoAway";
333 public static final String CH_SMART_CIRCULATION = "smartCirculation";
334 public static final String CH_FOLLOW_ME_COMFORT = "followMeComfort";
335 public static final String CH_VENTILATOR_TYPE = "ventilatorType";
336 public static final String CH_IS_VENTILATOR_TIMER_ON = "isVentilatorTimerOn";
337 public static final String CH_VENTILATOR_OFF_DATE_TIME = "ventilatorOffDateTime";
338 public static final String CH_HAS_UV_FILTER = "hasUVFilter";
339 public static final String CH_COOLING_LOCKOUT = "coolingLockout";
340 public static final String CH_VENTILATOR_FREE_COOLING = "ventilatorFreeCooling";
341 public static final String CH_DEHUMIDIFY_WHEN_HEATING = "dehumidifyWhenHeating";
342 public static final String CH_VENTILATOR_DEHUMIDIFY = "ventilatorDehumidify";
343 public static final String CH_GROUP_REF = "groupRef";
344 public static final String CH_GROUP_NAME = "groupName";
345 public static final String CH_GROUP_SETTING = "groupSetting";
347 // Thermostat bridge TECHNICIAN channels
348 public static final String CH_TECHNICIAN_CONTRACTOR_REF = "contractorRef";
349 public static final String CH_TECHNICIAN_NAME = "name";
350 public static final String CH_TECHNICIAN_PHONE = "phone";
351 public static final String CH_TECHNICIAN_STREET_ADDRESS = "streetAddress";
352 public static final String CH_TECHNICIAN_CITY = "city";
353 public static final String CH_TECHNICIAN_PROVINCE_STATE = "provinceState";
354 public static final String CH_TECHNICIAN_COUNTRY = "country";
355 public static final String CH_TECHNICIAN_POSTAL_CODE = "postalCode";
356 public static final String CH_TECHNICIAN_EMAIL = "email";
357 public static final String CH_TECHNICIAN_WEB = "web";
359 // Thermostat bridge VERSION channels
360 public static final String CH_THERMOSTAT_FIRMWARE_VERSION = "thermostatFirmwareVersion";
362 // Thermostat bridge WEATHER channels
363 public static final String CH_WEATHER_TIMESTAMP = "timestamp";
364 public static final String CH_WEATHER_WEATHER_STATION = "weatherStation";
366 // Thermostat bridge FORECAST channels
367 public static final String CH_FORECAST_WEATHER_SYMBOL = "weatherSymbol";
368 public static final String CH_FORECAST_WEATHER_SYMBOL_TEXT = "weatherSymbolText";
369 public static final String CH_FORECAST_DATE_TIME = "dateTime";
370 public static final String CH_FORECAST_CONDITION = "condition";
371 public static final String CH_FORECAST_TEMPERATURE = "temperature";
372 public static final String CH_FORECAST_PRESSURE = "pressure";
373 public static final String CH_FORECAST_RELATIVE_HUMIDITY = "relativeHumidity";
374 public static final String CH_FORECAST_DEWPOINT = "dewpoint";
375 public static final String CH_FORECAST_VISIBILITY = "visibility";
376 public static final String CH_FORECAST_WIND_SPEED = "windSpeed";
377 public static final String CH_FORECAST_WIND_GUST = "windGust";
378 public static final String CH_FORECAST_WIND_DIRECTION = "windDirection";
379 public static final String CH_FORECAST_WIND_BEARING = "windBearing";
380 public static final String CH_FORECAST_POP = "pop";
381 public static final String CH_FORECAST_TEMP_HIGH = "tempHigh";
382 public static final String CH_FORECAST_TEMP_LOW = "tempLow";
383 public static final String CH_FORECAST_SKY = "sky";
384 public static final String CH_FORECAST_SKY_TEXT = "skyText";
386 // Remote sensor thing channel IDs
387 public static final String CH_SENSOR_ID = "id";
388 public static final String CH_SENSOR_NAME = "name";
389 public static final String CH_SENSOR_TYPE = "type";
390 public static final String CH_SENSOR_CODE = "code";
391 public static final String CH_SENSOR_IN_USE = "inUse";
393 // Channel Type UIDs for dynamically created sensor channels
394 public static final ChannelTypeUID CHANNELTYPEUID_TEMPERATURE = new ChannelTypeUID(BINDING_ID, "sensorTemperature");
395 public static final ChannelTypeUID CHANNELTYPEUID_HUMIDITY = new ChannelTypeUID(BINDING_ID, "sensorHumidity");
396 public static final ChannelTypeUID CHANNELTYPEUID_OCCUPANCY = new ChannelTypeUID(BINDING_ID, "sensorOccupancy");
397 public static final ChannelTypeUID CHANNELTYPEUID_GENERIC = new ChannelTypeUID(BINDING_ID, "sensorGeneric");
399 public static final AlertDTO EMPTY_ALERT = new AlertDTO();
400 public static final EventDTO EMPTY_EVENT = new EventDTO();
401 public static final LocationDTO EMPTY_LOCATION = new LocationDTO();
402 public static final HouseDetailsDTO EMPTY_HOUSEDETAILS = new HouseDetailsDTO();
403 public static final ManagementDTO EMPTY_MANAGEMENT = new ManagementDTO();
404 public static final TechnicianDTO EMPTY_TECHNICIAN = new TechnicianDTO();
405 public static final List<RemoteSensorDTO> EMPTY_SENSORS = Collections.<RemoteSensorDTO> emptyList();
406 public static final List<ThermostatDTO> EMPTY_THERMOSTATS = Collections.<ThermostatDTO> emptyList();
408 public static final String ECOBEE_BASE_URL = "https://api.ecobee.com/";
409 public static final String ECOBEE_AUTHORIZE_URL = ECOBEE_BASE_URL + "authorize";
410 public static final String ECOBEE_TOKEN_URL = ECOBEE_BASE_URL + "token";
411 public static final String ECOBEE_SCOPE = "smartWrite";
412 public static final String ECOBEE_DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";