]> git.basschouten.com Git - openhab-addons.git/blob
073a6e074e14018635b27d5305d9e2cc2ccddd54
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.dto.thermostat;
14
15 import java.util.Date;
16 import java.util.List;
17
18 /**
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.
22  *
23  * @author Mark Hilbush - Initial contribution
24  */
25 public class ThermostatDTO {
26     /*
27      * The unique thermostat serial number.
28      */
29     public String identifier;
30
31     /*
32      * A user defined name for a thermostat.
33      */
34     public String name;
35
36     /*
37      * The current thermostat configuration revision.
38      */
39     public String thermostatRev;
40
41     /*
42      * Whether the user registered the thermostat.
43      */
44     public Boolean isRegistered;
45
46     /*
47      * The thermostat model number.
48      *
49      * Values: apolloSmart, apolloEms, idtSmart, idtEms, siSmart, siEms,
50      * athenaSmart, athenaEms, corSmart, nikeSmart, nikeEms
51      */
52     public String modelNumber;
53
54     /*
55      * The thermostat brand.
56      */
57     public String brand;
58
59     /*
60      * The comma-separated list of the thermostat's additional features, if any.
61      */
62     public String features;
63
64     /*
65      * The last modified date time for the thermostat configuration.
66      */
67     public Date lastModified;
68
69     /*
70      * The current time in the thermostat's time zone.
71      */
72     public Date thermostatTime;
73
74     /*
75      * The current time in UTC.
76      */
77     public String utcTime;
78
79     /*
80      * The status of all equipment controlled by this Thermostat.
81      * Only running equipment is listed in the CSV String.
82      *
83      * Values: heatPump, heatPump2, heatPump3, compCool1, compCool2,
84      * auxHeat1, auxHeat2, auxHeat3, fan, humidifier, dehumidifier,
85      * ventilator, economizer, compHotWater, auxHotWater.
86      *
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).
93      */
94     public String equipmentStatus;
95
96     public List<AlertDTO> alerts;
97
98     public AudioDTO audio;
99
100     public List<DeviceDTO> devices;
101
102     public ElectricityDTO electricity;
103
104     public EnergyDTO energy;
105
106     public List<EventDTO> events;
107
108     public ExtendedRuntimeDTO extendedRuntime;
109
110     public HouseDetailsDTO houseDetails;
111
112     public LocationDTO location;
113
114     public ManagementDTO management;
115
116     public NotificationSettingsDTO notificationSettings;
117
118     public OemCfgDTO oemCfg;
119
120     public PrivacyDTO privacy;
121
122     public ProgramDTO program;
123
124     public List<ReminderDTO> reminders;
125
126     public RuntimeDTO runtime;
127
128     public SecuritySettingsDTO securitySettings;
129
130     public List<RemoteSensorDTO> remoteSensors;
131
132     public SettingsDTO settings;
133
134     public TechnicianDTO technician;
135
136     public UtilityDTO utility;
137
138     public VersionDTO version;
139
140     public WeatherDTO weather;
141 }