]> git.basschouten.com Git - openhab-addons.git/blob
0c79e173e9ad2478a42e4a8f9290e0d3fb6a21fe
[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 Integer getHold() {
110         return hold;
111     }
112
113     public void setHold(Integer hold) {
114         this.hold = hold;
115     }
116
117     public Integer getStatus() {
118         return status;
119     }
120
121     public Integer getFanStatus() {
122         return fanStatus;
123     }
124
125     /**
126      * Determine if we are in heat mode or cool mode and return that temp value
127      *
128      * @return {Integer}
129      */
130     public Integer getSetpoint() {
131         if (mode == 1) {
132             return heatTarget.intValue();
133         } else if (mode == 2) {
134             return coolTarget.intValue();
135         } else {
136             return 0;
137         }
138     }
139
140     /**
141      * Receives "time" node from the JSON response
142      *
143      * @return {RadioThermostatJsonTime}
144      */
145     public RadioThermostatTimeDTO getTime() {
146         return time;
147     }
148 }