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.bluetooth.daikinmadoka.internal.model;
15 import javax.measure.quantity.Temperature;
16 import javax.measure.quantity.Time;
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.eclipse.jdt.annotation.Nullable;
20 import org.openhab.binding.bluetooth.daikinmadoka.internal.model.MadokaProperties.FanSpeed;
21 import org.openhab.binding.bluetooth.daikinmadoka.internal.model.MadokaProperties.OperationMode;
22 import org.openhab.core.library.types.OnOffType;
23 import org.openhab.core.library.types.PercentType;
24 import org.openhab.core.library.types.QuantityType;
27 * This class contains the current state of the controllerw
29 * @author Benjamin Lafois - Initial contribution
33 public class MadokaSettings {
35 private @Nullable OnOffType onOffState;
37 private @Nullable QuantityType<Temperature> setpoint;
39 private @Nullable QuantityType<Temperature> indoorTemperature;
40 private @Nullable QuantityType<Temperature> outdoorTemperature;
42 private @Nullable FanSpeed fanspeed;
44 private @Nullable OperationMode operationMode;
46 private @Nullable String homekitCurrentMode;
47 private @Nullable String homekitTargetMode;
49 private @Nullable String communicationControllerVersion;
50 private @Nullable String remoteControllerVersion;
52 private @Nullable PercentType eyeBrightness;
53 private @Nullable QuantityType<Time> indoorPowerHours;
54 private @Nullable QuantityType<Time> indoorOperationHours;
55 private @Nullable QuantityType<Time> indoorFanHours;
57 private @Nullable Boolean cleanFilterIndicator;
59 public @Nullable Boolean getCleanFilterIndicator() {
60 return cleanFilterIndicator;
63 public void setCleanFilterIndicator(Boolean cleanFilterIndicator) {
64 this.cleanFilterIndicator = cleanFilterIndicator;
67 public @Nullable OnOffType getOnOffState() {
71 public void setOnOffState(OnOffType onOffState) {
72 this.onOffState = onOffState;
75 public @Nullable QuantityType<Temperature> getSetpoint() {
79 public void setSetpoint(QuantityType<Temperature> setpoint) {
80 this.setpoint = setpoint;
83 public @Nullable QuantityType<Temperature> getIndoorTemperature() {
84 return indoorTemperature;
87 public void setIndoorTemperature(QuantityType<Temperature> indoorTemperature) {
88 this.indoorTemperature = indoorTemperature;
91 public @Nullable QuantityType<Temperature> getOutdoorTemperature() {
92 return outdoorTemperature;
95 public void setOutdoorTemperature(QuantityType<Temperature> outdoorTemperature) {
96 this.outdoorTemperature = outdoorTemperature;
99 public @Nullable FanSpeed getFanspeed() {
103 public void setFanspeed(FanSpeed fanspeed) {
104 this.fanspeed = fanspeed;
107 public @Nullable OperationMode getOperationMode() {
108 return operationMode;
111 public void setOperationMode(OperationMode operationMode) {
112 this.operationMode = operationMode;
115 public @Nullable String getHomekitCurrentMode() {
116 return homekitCurrentMode;
119 public void setHomekitCurrentMode(String homekitCurrentMode) {
120 this.homekitCurrentMode = homekitCurrentMode;
123 public @Nullable String getHomekitTargetMode() {
124 return homekitTargetMode;
127 public void setHomekitTargetMode(String homekitTargetMode) {
128 this.homekitTargetMode = homekitTargetMode;
131 public @Nullable String getCommunicationControllerVersion() {
132 return communicationControllerVersion;
135 public void setCommunicationControllerVersion(String communicationControllerVersion) {
136 this.communicationControllerVersion = communicationControllerVersion;
139 public @Nullable String getRemoteControllerVersion() {
140 return remoteControllerVersion;
143 public void setRemoteControllerVersion(String remoteControllerVersion) {
144 this.remoteControllerVersion = remoteControllerVersion;
147 public @Nullable PercentType getEyeBrightness() {
148 return eyeBrightness;
151 public void setEyeBrightness(PercentType eyeBrightness) {
152 this.eyeBrightness = eyeBrightness;
155 public @Nullable QuantityType<Time> getIndoorPowerHours() {
156 return indoorPowerHours;
159 public void setIndoorPowerHours(QuantityType<Time> indoorPowerHours) {
160 this.indoorPowerHours = indoorPowerHours;
163 public @Nullable QuantityType<Time> getIndoorOperationHours() {
164 return indoorOperationHours;
167 public void setIndoorOperationHours(QuantityType<Time> indoorOperationHours) {
168 this.indoorOperationHours = indoorOperationHours;
171 public @Nullable QuantityType<Time> getIndoorFanHours() {
172 return indoorFanHours;
175 public void setIndoorFanHours(QuantityType<Time> indoorFanHours) {
176 this.indoorFanHours = indoorFanHours;