]> git.basschouten.com Git - openhab-addons.git/blob
485da4d0ce77a7eb0a90e4818eff2f1f7c2f9a25
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2022 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 RuntimeDTO} represents the last known thermostat running state. This state
20  * is composed from the last interval status message received from a thermostat. It is
21  * also updated each time the thermostat posts configuration changes to the server.
22  * The runtime object contains the last 5 minute interval value sent by the thermostat
23  * for the past 15 minutes of runtime. The thermostat updates the server every 15 minutes
24  * with the last three 5 minute readings. The actual temperature and humidity will also
25  * be updated when the equipment state changes by the thermostat, this may occur at a
26  * frequency of 3 minutes, however it is only transmitted when there is an equipment
27  * state change on the thermostat. The runtime object contains two fields, desiredHeatRange
28  * and desiredCoolRange, which can be queried and used to determine that any holds being
29  * set through the API will not be adjusted. The API caller should check these ranges
30  * before calling the setHold function to mitigate against the new set points being
31  * adjusted by the server if the values are outside the acceptable ranges.
32  *
33  * @author Mark Hilbush - Initial contribution
34  */
35 public class RuntimeDTO {
36     /*
37      * The current runtime revision. Equivalent in meaning to the runtime
38      * revision number in the thermostat summary call.
39      */
40     public String runtimeRev;
41
42     /*
43      * Whether the thermostat is currently connected to the server.
44      */
45     public Boolean connected;
46
47     /*
48      * The UTC date/time stamp of when the thermostat first connected
49      * to the ecobee server.
50      */
51     public Date firstConnected;
52
53     /*
54      * The last recorded connection date and time.
55      */
56     public Date connectDateTime;
57
58     /*
59      * The last recorded disconnection date and time.
60      */
61     public Date disconnectDateTime;
62
63     /*
64      * The UTC date/time stamp of when the thermostat was updated.
65      * Format: YYYY-MM-DD HH:MM:SS
66      */
67     public Date lastModified;
68
69     /*
70      * The UTC date/time stamp of when the thermostat last posted its
71      * runtime information. Format: YYYY-MM-DD HH:MM:SS
72      */
73     public Date lastStatusModified;
74
75     /*
76      * The UTC date of the last runtime reading. Format: YYYY-MM-DD
77      */
78     public String runtimeDate;
79
80     /*
81      * The last 5 minute interval which was updated by the thermostat
82      * telemetry update. Subtract 2 from this interval to obtain the
83      * beginning interval for the last 3 readings. Multiply by 5 mins
84      * to obtain the minutes of the day. Range: 0-287
85      */
86     public Integer runtimeInterval;
87
88     /*
89      * The current temperature displayed on the thermostat.
90      */
91     public Integer actualTemperature;
92
93     /*
94      * The current humidity % shown on the thermostat.
95      */
96     public Integer actualHumidity;
97
98     /*
99      * The dry-bulb temperature recorded by the thermostat. When
100      * Energy.FeelsLikeMode is set to humidex, Runtime.actualTemperature
101      * will report a "feels like" temperature.
102      */
103     public Integer rawTemperature;
104
105     /*
106      * The currently displayed icon on the thermostat.
107      */
108     public Integer showIconMode;
109
110     /*
111      * The desired heat temperature as per the current running
112      * program or active event.
113      */
114     public Integer desiredHeat;
115
116     /*
117      * The desired cool temperature as per the current running
118      * program or active event.
119      */
120     public Integer desiredCool;
121
122     /*
123      * The desired humidity set point.
124      */
125     public Integer desiredHumidity;
126
127     /*
128      * The desired dehumidification set point.
129      */
130     public Integer desiredDehumidity;
131
132     /*
133      * The desired fan mode. Values: auto, on or null if the HVAC
134      * system is off and the thermostat is not controlling a fan independently.
135      */
136     public String desiredFanMode;
137
138     /*
139      * This field provides the possible valid range for which a desiredHeat
140      * setpoint can be set to. This value takes into account the thermostat
141      * heat temperature limits as well the running program or active events.
142      * Values are returned as an Integer array representing the canonical
143      * minimum and maximim, e.g. [450,790].
144      */
145     public List<Integer> desiredHeatRange;
146
147     /*
148      * This field provides the possible valid range for which a desiredCool
149      * setpoint can be set to. This value takes into account the thermostat
150      * cool temperature limits as well the running program or active events.
151      * Values are returned as an Integer array representing the canonical
152      * minimum and maximim, e.g. [650,920].
153      */
154     public List<Integer> desiredCoolRange;
155
156     /*
157      * The current air quality accuracy
158      */
159     public Integer actualAQAccuracy;
160
161     /*
162      * The current air quality score
163      */
164     public Integer actualAQScore;
165
166     /*
167      * The current CO2 in ppm
168      */
169     public Integer actualCO2;
170
171     /*
172      * The current VOC in ppb
173      */
174     public Integer actualVOC;
175 }