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.ecobee.internal.dto.thermostat;
15 import java.util.Date;
16 import java.util.List;
19 * The {@link ThermostatDTO} is the central piece of the ecobee API. All objects
20 * relate in one way or another to a real thermostat. The thermostat object
21 * and its component objects define the real thermostat device.
23 * @author Mark Hilbush - Initial contribution
25 public class ThermostatDTO {
27 * The unique thermostat serial number.
29 public String identifier;
32 * A user defined name for a thermostat.
37 * The current thermostat configuration revision.
39 public String thermostatRev;
42 * Whether the user registered the thermostat.
44 public Boolean isRegistered;
47 * The thermostat model number.
49 * Values: apolloSmart, apolloEms, idtSmart, idtEms, siSmart, siEms,
50 * athenaSmart, athenaEms, corSmart, nikeSmart, nikeEms
52 public String modelNumber;
55 * The thermostat brand.
60 * The comma-separated list of the thermostat's additional features, if any.
62 public String features;
65 * The last modified date time for the thermostat configuration.
67 public Date lastModified;
70 * The current time in the thermostat's time zone.
72 public Date thermostatTime;
75 * The current time in UTC.
77 public String utcTime;
80 * The status of all equipment controlled by this Thermostat.
81 * Only running equipment is listed in the CSV String.
83 * Values: heatPump, heatPump2, heatPump3, compCool1, compCool2,
84 * auxHeat1, auxHeat2, auxHeat3, fan, humidifier, dehumidifier,
85 * ventilator, economizer, compHotWater, auxHotWater.
87 * Note: If no equipment is currently running an empty String is returned.
88 * If Settings.hasHeatPump is true, heatPump value will be returned for
89 * heating, compCool for cooling, and auxHeat for aux heat.
90 * If Settings.hasForcedAir or Settings.hasBoiler is true, auxHeat value
91 * will be returned for heating and compCool for cooling (heatPump will
92 * not show up for heating).
94 public String equipmentStatus;
96 public List<AlertDTO> alerts;
98 public AudioDTO audio;
100 public List<DeviceDTO> devices;
102 public ElectricityDTO electricity;
104 public EnergyDTO energy;
106 public List<EventDTO> events;
108 public ExtendedRuntimeDTO extendedRuntime;
110 public HouseDetailsDTO houseDetails;
112 public LocationDTO location;
114 public ManagementDTO management;
116 public NotificationSettingsDTO notificationSettings;
118 public OemCfgDTO oemCfg;
120 public PrivacyDTO privacy;
122 public ProgramDTO program;
124 public List<ReminderDTO> reminders;
126 public RuntimeDTO runtime;
128 public SecuritySettingsDTO securitySettings;
130 public List<RemoteSensorDTO> remoteSensors;
132 public SettingsDTO settings;
134 public TechnicianDTO technician;
136 public UtilityDTO utility;
138 public VersionDTO version;
140 public WeatherDTO weather;