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