]> git.basschouten.com Git - openhab-addons.git/blob
423f44563693ba41675dea5f67360821d7882470
[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.radiothermostat.internal.dto;
14
15 import com.google.gson.annotations.SerializedName;
16
17 /**
18  * The {@link RadioThermostatTstatDTO} is responsible for storing
19  * the data from the thermostat 'tstat' JSON response
20  *
21  * @author Michael Lobstein - Initial contribution
22  */
23 public class RadioThermostatTstatDTO {
24
25     @SerializedName("temp")
26     private Double temperature;
27
28     @SerializedName("tmode")
29     private Integer mode;
30
31     @SerializedName("fmode")
32     private Integer fanMode;
33
34     @SerializedName("program_mode")
35     private Integer programMode;
36
37     @SerializedName("t_heat")
38     private Double heatTarget;
39
40     @SerializedName("t_cool")
41     private Double coolTarget;
42
43     @SerializedName("override")
44     private Integer override;
45
46     @SerializedName("hold")
47     private Integer hold;
48
49     @SerializedName("tstate")
50     private Integer status;
51
52     @SerializedName("fstate")
53     private Integer fanStatus;
54
55     @SerializedName("time")
56     private RadioThermostatTimeDTO time;
57
58     public RadioThermostatTstatDTO() {
59     }
60
61     public Double getTemperature() {
62         return temperature;
63     }
64
65     public Integer getMode() {
66         return mode;
67     }
68
69     public void setMode(Integer mode) {
70         this.mode = mode;
71     }
72
73     public Integer getFanMode() {
74         return fanMode;
75     }
76
77     public void setFanMode(Integer fanMode) {
78         this.fanMode = fanMode;
79     }
80
81     public Integer getProgramMode() {
82         return programMode;
83     }
84
85     public void setProgramMode(Integer programMode) {
86         this.programMode = programMode;
87     }
88
89     public Double getHeatTarget() {
90         return heatTarget;
91     }
92
93     public void setHeatTarget(Double heatTarget) {
94         this.heatTarget = heatTarget;
95     }
96
97     public Double getCoolTarget() {
98         return coolTarget;
99     }
100
101     public void setCoolTarget(Double coolTarget) {
102         this.coolTarget = coolTarget;
103     }
104
105     public Integer getOverride() {
106         return override;
107     }
108
109     public void setOverride(Integer override) {
110         this.override = override;
111     }
112
113     public Integer getHold() {
114         return hold;
115     }
116
117     public void setHold(Integer hold) {
118         this.hold = hold;
119     }
120
121     public Integer getStatus() {
122         return status;
123     }
124
125     public Integer getFanStatus() {
126         return fanStatus;
127     }
128
129     /**
130      * Determine if we are in heat mode or cool mode and return that temp value
131      *
132      * @return {Integer}
133      */
134     public Integer getSetpoint() {
135         if (mode == 1) {
136             return heatTarget.intValue();
137         } else if (mode == 2) {
138             return coolTarget.intValue();
139         } else {
140             return 0;
141         }
142     }
143
144     /**
145      * Receives "time" node from the JSON response
146      *
147      * @return {RadioThermostatJsonTime}
148      */
149     public RadioThermostatTimeDTO getTime() {
150         return time;
151     }
152 }