]> git.basschouten.com Git - openhab-addons.git/blob
1f4ded30d62c738ff14f2cc3bc2d65c2e6a1509c
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.ecobee.internal;
14
15 import java.util.Collections;
16 import java.util.List;
17 import java.util.Set;
18 import java.util.stream.Collectors;
19 import java.util.stream.Stream;
20
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;
32
33 /**
34  * The {@link EcobeeBindingConstants} class defines common constants that are
35  * used across the whole binding.
36  *
37  * @author Mark Hilbush - Initial contribution
38  */
39 @NonNullByDefault
40 public class EcobeeBindingConstants {
41
42     public static final String BINDING_ID = "ecobee";
43
44     // Account bridge
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()));
49
50     // Thermostat bridge
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()));
55
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()));
61
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());
66
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()));
70
71     // Background discovery frequency
72     public static final int DISCOVERY_INTERVAL_SECONDS = 300;
73     public static final int DISCOVERY_INITIAL_DELAY_SECONDS = 10;
74
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";
78
79     // Channel groups
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";
100
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());
106
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";
118
119     // Thermostat bridge equipment status channels
120     public static final String CH_EQUIPMENT_STATUS = "equipmentStatus";
121
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";
139
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";
169
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";
178
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";
190
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";
200
201     // Thermostat bridge PROGRAM channels
202     public static final String CH_PROGRAM_CURRENT_CLIMATE_REF = "currentClimateRef";
203
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";
231
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";
346
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";
358
359     // Thermostat bridge VERSION channels
360     public static final String CH_THERMOSTAT_FIRMWARE_VERSION = "thermostatFirmwareVersion";
361
362     // Thermostat bridge WEATHER channels
363     public static final String CH_WEATHER_TIMESTAMP = "timestamp";
364     public static final String CH_WEATHER_WEATHER_STATION = "weatherStation";
365
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";
385
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";
392
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");
398
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();
407
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";
413 }