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