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.somneo.internal.model;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.library.types.QuantityType;
17 import org.openhab.core.library.unit.SIUnits;
18 import org.openhab.core.library.unit.Units;
19 import org.openhab.core.types.State;
21 import com.google.gson.annotations.SerializedName;
24 * This class represents the sensor state from the API.
26 * @author Michael Myrcik - Initial contribution
29 public class SensorData {
31 @SerializedName("mslux")
32 private float currentIlluminance;
34 @SerializedName("mstmp")
35 private float currentTemperature;
37 @SerializedName("msrhu")
38 private float currentHumidity;
40 @SerializedName("mssnd")
41 private int currentNoise;
43 public State getCurrentIlluminance() {
44 return new QuantityType<>(currentIlluminance, Units.LUX);
47 public State getCurrentTemperature() {
48 return new QuantityType<>(currentTemperature, SIUnits.CELSIUS);
51 public State getCurrentHumidity() {
52 return new QuantityType<>(currentHumidity, Units.PERCENT);
55 public State getCurrentNoise() {
56 return new QuantityType<>(currentNoise, Units.DECIBEL);