2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.netatmo.internal.api.dto;
15 import java.time.ZonedDateTime;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
19 import org.openhab.binding.netatmo.internal.api.data.NetatmoConstants.TrendDescription;
21 import com.google.gson.annotations.SerializedName;
24 * The {@link Dashboard} holds data returned by API call supporting the dashboard functionality.
26 * @author Gaƫl L'hopital - Initial contribution
30 public class Dashboard {
31 private @Nullable ZonedDateTime timeUtc;
33 @SerializedName("BoilerOn")
36 @SerializedName("BoilerOff")
37 private int boilerOff;
39 @SerializedName("Temperature")
40 private double temperature;
42 private TrendDescription pressureTrend = TrendDescription.UNKNOWN;
43 private TrendDescription tempTrend = TrendDescription.UNKNOWN;
44 private @Nullable ZonedDateTime dateMaxTemp;
45 private @Nullable ZonedDateTime dateMinTemp;
46 private double minTemp;
47 private double maxTemp;
48 @SerializedName("AbsolutePressure")
49 private double absolutePressure;
51 @SerializedName("CO2")
54 @SerializedName("Humidity")
55 private double humidity;
57 @SerializedName("Noise")
60 @SerializedName("Pressure")
61 private double pressure;
63 @SerializedName("Rain")
65 @SerializedName("sum_rain_1")
66 private double sumRain1;
67 @SerializedName("sum_rain_24")
68 private double sumRain24;
70 @SerializedName("WindAngle")
71 private int windAngle;
73 @SerializedName("GustAngle")
74 private int gustAngle;
76 @SerializedName("WindStrength")
77 private int windStrength;
79 private int maxWindStr;
80 private @Nullable ZonedDateTime dateMaxWindStr;
82 @SerializedName("GustStrength")
83 private int gustStrength;
85 private int healthIdx;
87 public @Nullable ZonedDateTime getTimeUtc() {
91 public int getBoilerOn() {
95 public int getBoilerOff() {
99 public double getTemperature() {
103 public TrendDescription getTempTrend() {
107 public @Nullable ZonedDateTime getDateMaxTemp() {
111 public @Nullable ZonedDateTime getDateMinTemp() {
115 public double getMinTemp() {
119 public double getMaxTemp() {
123 public double getAbsolutePressure() {
124 return absolutePressure;
127 public double getCo2() {
131 public double getHumidity() {
135 public double getNoise() {
139 public double getPressure() {
143 public TrendDescription getPressureTrend() {
144 return pressureTrend;
147 public double getRain() {
151 public double getSumRain1() {
155 public double getSumRain24() {
159 public double getWindAngle() {
163 public double getGustAngle() {
167 public double getWindStrength() {
171 public double getMaxWindStr() {
175 public @Nullable ZonedDateTime getDateMaxWindStr() {
176 return dateMaxWindStr;
179 public double getGustStrength() {
183 public int getHealthIdx() {