import java.util.stream.Collectors;
import java.util.stream.Stream;
+import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.thing.ThingTypeUID;
/**
* @author Luca Calcaterra - Initial contribution
* @author Wietse van Buitenen - Added heatpump device
*/
+@NonNullByDefault
public class MelCloudBindingConstants {
private static final String BINDING_ID = "melcloud";
import static org.openhab.binding.melcloud.internal.MelCloudBindingConstants.*;
+import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.melcloud.internal.handler.MelCloudAccountHandler;
import org.openhab.binding.melcloud.internal.handler.MelCloudDeviceHandler;
* @author Luca Calcaterra - Initial contribution
* @author Wietse van Buitenen - Added heatpump device
*/
+@NonNullByDefault
@Component(configurationPid = "binding.melcloud", service = ThingHandlerFactory.class)
public class MelCloudHandlerFactory extends BaseThingHandlerFactory {
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
import java.util.Properties;
-import org.openhab.binding.melcloud.internal.api.json.Device;
-import org.openhab.binding.melcloud.internal.api.json.DeviceStatus;
-import org.openhab.binding.melcloud.internal.api.json.HeatpumpDeviceStatus;
-import org.openhab.binding.melcloud.internal.api.json.ListDevicesResponse;
-import org.openhab.binding.melcloud.internal.api.json.LoginClientResponse;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.openhab.binding.melcloud.internal.api.dto.Device;
+import org.openhab.binding.melcloud.internal.api.dto.DeviceStatus;
+import org.openhab.binding.melcloud.internal.api.dto.HeatpumpDeviceStatus;
+import org.openhab.binding.melcloud.internal.api.dto.ListDevicesResponse;
+import org.openhab.binding.melcloud.internal.api.dto.LoginClientResponse;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudCommException;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudLoginException;
import org.openhab.core.io.net.http.HttpUtil;
* @author Pauli Anttila - Refactoring
* @author Wietse van Buitenen - Return all devices, added heatpump device
*/
+@NonNullByDefault
public class MelCloudConnection {
private static final String LOGIN_URL = "https://app.melcloud.com/Mitsubishi.Wifi.Client/Login/ClientLogin";
private static final int TIMEOUT_MILLISECONDS = 10000;
// Gson objects are safe to share across threads and are somewhat expensive to construct. Use a single instance.
- private static final Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation()
+ private static final Gson GSON = new GsonBuilder().excludeFieldsWithoutExposeAnnotation()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();
private final Logger logger = LoggerFactory.getLogger(MelCloudConnection.class);
private boolean isConnected = false;
- private String sessionKey;
+ private String sessionKey = "";
public void login(String username, String password, int languageId)
throws MelCloudCommException, MelCloudLoginException {
setConnected(false);
- sessionKey = null;
+ sessionKey = "";
JsonObject jsonReq = new JsonObject();
jsonReq.addProperty("Email", username);
jsonReq.addProperty("Password", password);
String loginResponse = HttpUtil.executeUrl("POST", LOGIN_URL, null, data, "application/json",
TIMEOUT_MILLISECONDS);
logger.debug("Login response: {}", loginResponse);
- LoginClientResponse resp = gson.fromJson(loginResponse, LoginClientResponse.class);
+ LoginClientResponse resp = Objects.requireNonNull(GSON.fromJson(loginResponse, LoginClientResponse.class));
if (resp.getErrorId() != null) {
String errorMsg = String.format("Login failed, error code: %s", resp.getErrorId());
if (resp.getErrorMessage() != null) {
TIMEOUT_MILLISECONDS);
logger.debug("Device list response: {}", response);
List<Device> devices = new ArrayList<>();
- ListDevicesResponse[] buildings = gson.fromJson(response, ListDevicesResponse[].class);
+ ListDevicesResponse[] buildings = GSON.fromJson(response, ListDevicesResponse[].class);
Arrays.asList(buildings).forEach(building -> {
if (building.getStructure().getDevices() != null) {
devices.addAll(building.getStructure().getDevices());
try {
String response = HttpUtil.executeUrl("GET", url, getHeaderProperties(), null, null, TIMEOUT_MILLISECONDS);
logger.debug("Device status response: {}", response);
- return gson.fromJson(response, DeviceStatus.class);
+ return Objects.requireNonNull(GSON.fromJson(response, DeviceStatus.class));
} catch (IOException | JsonSyntaxException e) {
setConnected(false);
throw new MelCloudCommException("Error occurred during device status fetch", e);
public DeviceStatus sendDeviceStatus(DeviceStatus deviceStatus) throws MelCloudCommException {
assertConnected();
- String content = gson.toJson(deviceStatus, DeviceStatus.class);
+ String content = GSON.toJson(deviceStatus, DeviceStatus.class);
logger.debug("Sending device status: {}", content);
InputStream data = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
try {
String response = HttpUtil.executeUrl("POST", DEVICE_URL + "/SetAta", getHeaderProperties(), data,
"application/json", TIMEOUT_MILLISECONDS);
logger.debug("Device status sending response: {}", response);
- return gson.fromJson(response, DeviceStatus.class);
+ return Objects.requireNonNull(GSON.fromJson(response, DeviceStatus.class));
} catch (IOException | JsonSyntaxException e) {
setConnected(false);
throw new MelCloudCommException("Error occurred during device command sending", e);
try {
String response = HttpUtil.executeUrl("GET", url, getHeaderProperties(), null, null, TIMEOUT_MILLISECONDS);
logger.debug("Device heatpump status response: {}", response);
- return gson.fromJson(response, HeatpumpDeviceStatus.class);
+ return Objects.requireNonNull(GSON.fromJson(response, HeatpumpDeviceStatus.class));
} catch (IOException | JsonSyntaxException e) {
setConnected(false);
throw new MelCloudCommException("Error occurred during heatpump device status fetch", e);
public HeatpumpDeviceStatus sendHeatpumpDeviceStatus(HeatpumpDeviceStatus heatpumpDeviceStatus)
throws MelCloudCommException {
assertConnected();
- String content = gson.toJson(heatpumpDeviceStatus, HeatpumpDeviceStatus.class);
+ String content = GSON.toJson(heatpumpDeviceStatus, HeatpumpDeviceStatus.class);
logger.debug("Sending heatpump device status: {}", content);
InputStream data = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
try {
String response = HttpUtil.executeUrl("POST", DEVICE_URL + "/SetAtw", getHeaderProperties(), data,
"application/json", TIMEOUT_MILLISECONDS);
logger.debug("Device heatpump status sending response: {}", response);
- return gson.fromJson(response, HeatpumpDeviceStatus.class);
+ return Objects.requireNonNull(GSON.fromJson(response, HeatpumpDeviceStatus.class));
} catch (IOException | JsonSyntaxException e) {
setConnected(false);
throw new MelCloudCommException("Error occurred during heatpump device command sending", e);
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * {@link Area} provides area specific information for JSON data returned from MELCloud API
+ * Area Data
+ * Generated with jsonschema2pojo
+ *
+ * @author Wietse van Buitenen - Initial contribution
+ */
+public class Area {
+
+ @Expose
+ private Integer iD;
+
+ @Expose
+ private String name;
+
+ @Expose
+ private Integer buildingId;
+
+ @Expose
+ private Integer floorId;
+
+ @Expose
+ private Integer accessLevel;
+
+ @Expose
+ private Boolean directAccess;
+
+ @Expose
+ private Object endDate;
+
+ @Expose
+ private Integer minTemperature;
+
+ @Expose
+ private Integer maxTemperature;
+
+ @Expose
+ private Boolean expanded;
+
+ @Expose
+ private List<Device> devices = null;
+
+ public Integer getID() {
+ return iD;
+ }
+
+ public void setID(Integer iD) {
+ this.iD = iD;
+ }
+
+ public Integer getBuildingId() {
+ return buildingId;
+ }
+
+ public void setBuildingId(Integer buildingId) {
+ this.buildingId = buildingId;
+ }
+
+ public Integer getFloorId() {
+ return floorId;
+ }
+
+ public void setFloorId(Integer floorId) {
+ this.floorId = floorId;
+ }
+
+ public Integer getAccessLevel() {
+ return accessLevel;
+ }
+
+ public void setAccessLevel(Integer accessLevel) {
+ this.accessLevel = accessLevel;
+ }
+
+ public Boolean getDirectAccess() {
+ return directAccess;
+ }
+
+ public void setDirectAccess(Boolean directAccess) {
+ this.directAccess = directAccess;
+ }
+
+ public Object getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(Object endDate) {
+ this.endDate = endDate;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List<Device> getDevices() {
+ return devices;
+ }
+
+ public void setDevices(List<Device> devices) {
+ this.devices = devices;
+ }
+
+ public Integer getMinTemperature() {
+ return minTemperature;
+ }
+
+ public void setMinTemperature(Integer minTemperature) {
+ this.minTemperature = minTemperature;
+ }
+
+ public Integer getMaxTemperature() {
+ return maxTemperature;
+ }
+
+ public void setMaxTemperature(Integer maxTemperature) {
+ this.maxTemperature = maxTemperature;
+ }
+
+ public Boolean getExpanded() {
+ return expanded;
+ }
+
+ public void setExpanded(Boolean expanded) {
+ this.expanded = expanded;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.security.Permissions;
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link Device} is responsible of JSON data For MELCloud API
+ * Device Structure.
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+
+public class Device {
+
+ @Expose
+ private Integer deviceID;
+
+ @Expose
+ private String deviceName;
+
+ @Expose
+ private Integer buildingID;
+
+ @Expose
+ private Object buildingName;
+
+ @Expose
+ private Object floorID;
+
+ @Expose
+ private Object floorName;
+
+ @Expose
+ private Object areaID;
+
+ @Expose
+ private Object areaName;
+
+ @Expose
+ private Integer imageID;
+
+ @Expose
+ private String installationDate;
+
+ @Expose
+ private Object lastServiceDate;
+
+ @Expose
+ private List<Preset> presets = null;
+
+ @Expose
+ private Object ownerID;
+
+ @Expose
+ private Object ownerName;
+
+ @Expose
+ private Object ownerEmail;
+
+ @Expose
+ private Integer accessLevel;
+
+ @Expose
+ private Boolean directAccess;
+
+ @Expose
+ private String endDate;
+
+ @Expose
+ private Object zone1Name;
+
+ @Expose
+ private Object zone2Name;
+
+ @Expose
+ private Integer minTemperature;
+
+ @Expose
+ private Integer maxTemperature;
+
+ @Expose
+ private Boolean hideVaneControls;
+
+ @Expose
+ private Boolean hideDryModeControl;
+
+ @Expose
+ private Boolean hideRoomTemperature;
+
+ @Expose
+ private Boolean hideSupplyTemperature;
+
+ @Expose
+ private Boolean hideOutdoorTemperature;
+
+ @Expose
+ private Object buildingCountry;
+
+ @Expose
+ private Object ownerCountry;
+
+ @Expose
+ private Integer adaptorType;
+
+ @Expose
+ private Integer type;
+
+ @Expose
+ private String macAddress;
+
+ @Expose
+ private String serialNumber;
+
+ @Expose
+ private DeviceProps device;
+
+ @Expose
+ private Integer diagnosticMode;
+
+ @Expose
+ private Object diagnosticEndDate;
+
+ @Expose
+ private Integer location;
+
+ @Expose
+ private Object detectedCountry;
+
+ @Expose
+ private Integer registrations;
+
+ @Expose
+ private Object localIPAddress;
+
+ @Expose
+ private Integer timeZone;
+
+ @Expose
+ private Object registReason;
+
+ @Expose
+ private Integer expectedCommand;
+
+ private Integer registRetry;
+
+ @Expose
+ private String dateCreated;
+
+ @Expose
+ private Object firmwareDeployment;
+
+ @Expose
+ private Boolean firmwareUpdateAborted;
+
+ @Expose
+ private Permissions permissions;
+
+ public Integer getDeviceID() {
+ return deviceID;
+ }
+
+ public void setDeviceID(Integer deviceID) {
+ this.deviceID = deviceID;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ public Integer getBuildingID() {
+ return buildingID;
+ }
+
+ public void setBuildingID(Integer buildingID) {
+ this.buildingID = buildingID;
+ }
+
+ public Object getBuildingName() {
+ return buildingName;
+ }
+
+ public void setBuildingName(Object buildingName) {
+ this.buildingName = buildingName;
+ }
+
+ public Object getFloorID() {
+ return floorID;
+ }
+
+ public void setFloorID(Object floorID) {
+ this.floorID = floorID;
+ }
+
+ public Object getFloorName() {
+ return floorName;
+ }
+
+ public void setFloorName(Object floorName) {
+ this.floorName = floorName;
+ }
+
+ public Object getAreaID() {
+ return areaID;
+ }
+
+ public void setAreaID(Object areaID) {
+ this.areaID = areaID;
+ }
+
+ public Object getAreaName() {
+ return areaName;
+ }
+
+ public void setAreaName(Object areaName) {
+ this.areaName = areaName;
+ }
+
+ public Integer getImageID() {
+ return imageID;
+ }
+
+ public void setImageID(Integer imageID) {
+ this.imageID = imageID;
+ }
+
+ public String getInstallationDate() {
+ return installationDate;
+ }
+
+ public void setInstallationDate(String installationDate) {
+ this.installationDate = installationDate;
+ }
+
+ public Object getLastServiceDate() {
+ return lastServiceDate;
+ }
+
+ public void setLastServiceDate(Object lastServiceDate) {
+ this.lastServiceDate = lastServiceDate;
+ }
+
+ public List<Preset> getPresets() {
+ return presets;
+ }
+
+ public void setPresets(List<Preset> presets) {
+ this.presets = presets;
+ }
+
+ public Object getOwnerID() {
+ return ownerID;
+ }
+
+ public void setOwnerID(Object ownerID) {
+ this.ownerID = ownerID;
+ }
+
+ public Object getOwnerName() {
+ return ownerName;
+ }
+
+ public void setOwnerName(Object ownerName) {
+ this.ownerName = ownerName;
+ }
+
+ public Object getOwnerEmail() {
+ return ownerEmail;
+ }
+
+ public void setOwnerEmail(Object ownerEmail) {
+ this.ownerEmail = ownerEmail;
+ }
+
+ public Integer getAccessLevel() {
+ return accessLevel;
+ }
+
+ public void setAccessLevel(Integer accessLevel) {
+ this.accessLevel = accessLevel;
+ }
+
+ public Boolean getDirectAccess() {
+ return directAccess;
+ }
+
+ public void setDirectAccess(Boolean directAccess) {
+ this.directAccess = directAccess;
+ }
+
+ public String getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(String endDate) {
+ this.endDate = endDate;
+ }
+
+ public Object getZone1Name() {
+ return zone1Name;
+ }
+
+ public void setZone1Name(Object zone1Name) {
+ this.zone1Name = zone1Name;
+ }
+
+ public Object getZone2Name() {
+ return zone2Name;
+ }
+
+ public void setZone2Name(Object zone2Name) {
+ this.zone2Name = zone2Name;
+ }
+
+ public Integer getMinTemperature() {
+ return minTemperature;
+ }
+
+ public void setMinTemperature(Integer minTemperature) {
+ this.minTemperature = minTemperature;
+ }
+
+ public Integer getMaxTemperature() {
+ return maxTemperature;
+ }
+
+ public void setMaxTemperature(Integer maxTemperature) {
+ this.maxTemperature = maxTemperature;
+ }
+
+ public Boolean getHideVaneControls() {
+ return hideVaneControls;
+ }
+
+ public void setHideVaneControls(Boolean hideVaneControls) {
+ this.hideVaneControls = hideVaneControls;
+ }
+
+ public Boolean getHideDryModeControl() {
+ return hideDryModeControl;
+ }
+
+ public void setHideDryModeControl(Boolean hideDryModeControl) {
+ this.hideDryModeControl = hideDryModeControl;
+ }
+
+ public Boolean getHideRoomTemperature() {
+ return hideRoomTemperature;
+ }
+
+ public void setHideRoomTemperature(Boolean hideRoomTemperature) {
+ this.hideRoomTemperature = hideRoomTemperature;
+ }
+
+ public Boolean getHideSupplyTemperature() {
+ return hideSupplyTemperature;
+ }
+
+ public void setHideSupplyTemperature(Boolean hideSupplyTemperature) {
+ this.hideSupplyTemperature = hideSupplyTemperature;
+ }
+
+ public Boolean getHideOutdoorTemperature() {
+ return hideOutdoorTemperature;
+ }
+
+ public void setHideOutdoorTemperature(Boolean hideOutdoorTemperature) {
+ this.hideOutdoorTemperature = hideOutdoorTemperature;
+ }
+
+ public Object getBuildingCountry() {
+ return buildingCountry;
+ }
+
+ public void setBuildingCountry(Object buildingCountry) {
+ this.buildingCountry = buildingCountry;
+ }
+
+ public Object getOwnerCountry() {
+ return ownerCountry;
+ }
+
+ public void setOwnerCountry(Object ownerCountry) {
+ this.ownerCountry = ownerCountry;
+ }
+
+ public Integer getAdaptorType() {
+ return adaptorType;
+ }
+
+ public void setAdaptorType(Integer adaptorType) {
+ this.adaptorType = adaptorType;
+ }
+
+ public Integer getType() {
+ return type;
+ }
+
+ public void setType(Integer type) {
+ this.type = type;
+ }
+
+ public String getMacAddress() {
+ return macAddress;
+ }
+
+ public void setMacAddress(String macAddress) {
+ this.macAddress = macAddress;
+ }
+
+ public String getSerialNumber() {
+ return serialNumber;
+ }
+
+ public void setSerialNumber(String serialNumber) {
+ this.serialNumber = serialNumber;
+ }
+
+ public DeviceProps getDeviceProps() {
+ return device;
+ }
+
+ public void setDeviceProps(DeviceProps device) {
+ this.device = device;
+ }
+
+ public Integer getDiagnosticMode() {
+ return diagnosticMode;
+ }
+
+ public void setDiagnosticMode(Integer diagnosticMode) {
+ this.diagnosticMode = diagnosticMode;
+ }
+
+ public Object getDiagnosticEndDate() {
+ return diagnosticEndDate;
+ }
+
+ public void setDiagnosticEndDate(Object diagnosticEndDate) {
+ this.diagnosticEndDate = diagnosticEndDate;
+ }
+
+ public Integer getLocation() {
+ return location;
+ }
+
+ public void setLocation(Integer location) {
+ this.location = location;
+ }
+
+ public Object getDetectedCountry() {
+ return detectedCountry;
+ }
+
+ public void setDetectedCountry(Object detectedCountry) {
+ this.detectedCountry = detectedCountry;
+ }
+
+ public Integer getRegistrations() {
+ return registrations;
+ }
+
+ public void setRegistrations(Integer registrations) {
+ this.registrations = registrations;
+ }
+
+ public Object getLocalIPAddress() {
+ return localIPAddress;
+ }
+
+ public void setLocalIPAddress(Object localIPAddress) {
+ this.localIPAddress = localIPAddress;
+ }
+
+ public Integer getTimeZone() {
+ return timeZone;
+ }
+
+ public void setTimeZone(Integer timeZone) {
+ this.timeZone = timeZone;
+ }
+
+ public Object getRegistReason() {
+ return registReason;
+ }
+
+ public void setRegistReason(Object registReason) {
+ this.registReason = registReason;
+ }
+
+ public Integer getExpectedCommand() {
+ return expectedCommand;
+ }
+
+ public void setExpectedCommand(Integer expectedCommand) {
+ this.expectedCommand = expectedCommand;
+ }
+
+ public Integer getRegistRetry() {
+ return registRetry;
+ }
+
+ public void setRegistRetry(Integer registRetry) {
+ this.registRetry = registRetry;
+ }
+
+ public String getDateCreated() {
+ return dateCreated;
+ }
+
+ public void setDateCreated(String dateCreated) {
+ this.dateCreated = dateCreated;
+ }
+
+ public Object getFirmwareDeployment() {
+ return firmwareDeployment;
+ }
+
+ public void setFirmwareDeployment(Object firmwareDeployment) {
+ this.firmwareDeployment = firmwareDeployment;
+ }
+
+ public Boolean getFirmwareUpdateAborted() {
+ return firmwareUpdateAborted;
+ }
+
+ public void setFirmwareUpdateAborted(Boolean firmwareUpdateAborted) {
+ this.firmwareUpdateAborted = firmwareUpdateAborted;
+ }
+
+ public Permissions getPermissions() {
+ return permissions;
+ }
+
+ public void setPermissions(Permissions permissions) {
+ this.permissions = permissions;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link DeviceProps} is responsible of JSON data For MELCloud API
+ * Device Properties.
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class DeviceProps {
+
+ @Expose
+ private List<Object> listHistory24Formatters = null;
+
+ @Expose
+ private Integer deviceType;
+
+ @Expose
+ private Boolean canCool;
+
+ @Expose
+ private Boolean canHeat;
+
+ @Expose
+ private Boolean canDry;
+
+ @Expose
+ private Boolean hasAutomaticFanSpeed;
+
+ @Expose
+ private Boolean airDirectionFunction;
+
+ @Expose
+ private Boolean swingFunction;
+
+ @Expose
+ private Integer numberOfFanSpeeds;
+
+ @Expose
+ private Boolean useTemperatureA;
+
+ @Expose
+ private Integer temperatureIncrementOverride;
+
+ @Expose
+ private Double temperatureIncrement;
+
+ @Expose
+ private Double minTempCoolDry;
+
+ @Expose
+ private Double maxTempCoolDry;
+
+ @Expose
+ private Double minTempHeat;
+
+ @Expose
+ private Double maxTempHeat;
+
+ @Expose
+ private Double minTempAutomatic;
+
+ @Expose
+ private Double maxTempAutomatic;
+
+ @Expose
+ private Boolean legacyDevice;
+
+ @Expose
+ private Boolean unitSupportsStandbyMode;
+
+ @Expose
+ private Boolean modelIsAirCurtain;
+
+ @Expose
+ private Boolean modelSupportsFanSpeed;
+
+ @Expose
+ private Boolean modelSupportsAuto;
+
+ @Expose
+ private Boolean modelSupportsHeat;
+
+ @Expose
+ private Boolean modelSupportsDry;
+
+ @Expose
+ private Boolean modelSupportsVaneVertical;
+
+ @Expose
+ private Boolean modelSupportsVaneHorizontal;
+
+ @Expose
+ private Boolean modelSupportsStandbyMode;
+
+ @Expose
+ private Boolean modelSupportsEnergyReporting;
+
+ @Expose
+ private Boolean power;
+
+ @Expose
+ private Double roomTemperature;
+
+ @Expose
+ private Double setTemperature;
+
+ @Expose
+ private Integer actualFanSpeed;
+
+ @Expose
+ private Integer fanSpeed;
+
+ @Expose
+ private Boolean automaticFanSpeed;
+
+ @Expose
+ private Integer vaneVerticalDirection;
+
+ @Expose
+ private Boolean vaneVerticalSwing;
+
+ @Expose
+ private Integer vaneHorizontalDirection;
+
+ @Expose
+ private Boolean vaneHorizontalSwing;
+
+ @Expose
+ private Integer operationMode;
+
+ @Expose
+ private Integer effectiveFlags;
+
+ @Expose
+ private Integer lastEffectiveFlags;
+
+ @Expose
+ private Boolean inStandbyMode;
+
+ @Expose
+ private Double defaultCoolingSetTemperature;
+
+ @Expose
+ private Double defaultHeatingSetTemperature;
+
+ @Expose
+ private Integer roomTemperatureLabel;
+
+ @Expose
+ private Boolean hasEnergyConsumedMeter;
+
+ @Expose
+ private Integer currentEnergyConsumed;
+
+ @Expose
+ private Integer currentEnergyMode;
+
+ @Expose
+ private Boolean coolingDisabled;
+
+ @Expose
+ private Integer minPcycle;
+
+ @Expose
+ private Integer maxPcycle;
+
+ @Expose
+ private Integer effectivePCycle;
+
+ @Expose
+ private Integer maxOutdoorUnits;
+
+ @Expose
+ private Integer maxIndoorUnits;
+
+ @Expose
+ private Integer maxTemperatureControlUnits;
+
+ @Expose
+ private Integer deviceID;
+
+ @Expose
+ private String macAddress;
+
+ @Expose
+ private String serialNumber;
+
+ @Expose
+ private Integer timeZoneID;
+
+ @Expose
+ private Integer diagnosticMode;
+
+ @Expose
+ private Object diagnosticEndDate;
+
+ @Expose
+ private Integer expectedCommand;
+
+ @Expose
+ private Object owner;
+
+ @Expose
+ private Object detectedCountry;
+
+ @Expose
+ private Integer adaptorType;
+
+ @Expose
+ private Object firmwareDeployment;
+
+ @Expose
+ private Boolean firmwareUpdateAborted;
+
+ @Expose
+ private Integer wifiSignalStrength;
+
+ @Expose
+ private String wifiAdapterStatus;
+
+ @Expose
+ private String position;
+
+ @Expose
+ private Integer pCycle;
+
+ @Expose
+ private Integer recordNumMax;
+
+ @Expose
+ private String lastTimeStamp;
+
+ @Expose
+ private Integer errorCode;
+
+ @Expose
+ private Boolean hasError;
+
+ @Expose
+ private String lastReset;
+
+ @Expose
+ private Integer flashWrites;
+
+ @Expose
+ private Object scene;
+
+ @Expose
+ private Object sSLExpirationDate;
+
+ @Expose
+ private Object sPTimeout;
+
+ @Expose
+ private Object passcode;
+
+ @Expose
+ private Boolean serverCommunicationDisabled;
+
+ @Expose
+ private Integer consecutiveUploadErrors;
+
+ @Expose
+ private Object doNotRespondAfter;
+
+ @Expose
+ private Integer ownerRoleAccessLevel;
+
+ @Expose
+ private Integer ownerCountry;
+
+ @Expose
+ private Object rate1StartTime;
+
+ @Expose
+ private Object rate2StartTime;
+
+ @Expose
+ private Integer protocolVersion;
+
+ @Expose
+ private Integer unitVersion;
+
+ @Expose
+ private Integer firmwareAppVersion;
+
+ @Expose
+ private Integer firmwareWebVersion;
+
+ @Expose
+ private Integer firmwareWlanVersion;
+
+ @Expose
+ private Boolean hasErrorMessages;
+
+ @Expose
+ private Boolean hasZone2;
+
+ @Expose
+ private Boolean offline;
+
+ @Expose
+ private List<Object> units = null;
+
+ public List<Object> getListHistory24Formatters() {
+ return listHistory24Formatters;
+ }
+
+ public void setListHistory24Formatters(List<Object> listHistory24Formatters) {
+ this.listHistory24Formatters = listHistory24Formatters;
+ }
+
+ public Integer getDeviceType() {
+ return deviceType;
+ }
+
+ public void setDeviceType(Integer deviceType) {
+ this.deviceType = deviceType;
+ }
+
+ public Boolean getCanCool() {
+ return canCool;
+ }
+
+ public void setCanCool(Boolean canCool) {
+ this.canCool = canCool;
+ }
+
+ public Boolean getCanHeat() {
+ return canHeat;
+ }
+
+ public void setCanHeat(Boolean canHeat) {
+ this.canHeat = canHeat;
+ }
+
+ public Boolean getCanDry() {
+ return canDry;
+ }
+
+ public void setCanDry(Boolean canDry) {
+ this.canDry = canDry;
+ }
+
+ public Boolean getHasAutomaticFanSpeed() {
+ return hasAutomaticFanSpeed;
+ }
+
+ public void setHasAutomaticFanSpeed(Boolean hasAutomaticFanSpeed) {
+ this.hasAutomaticFanSpeed = hasAutomaticFanSpeed;
+ }
+
+ public Boolean getAirDirectionFunction() {
+ return airDirectionFunction;
+ }
+
+ public void setAirDirectionFunction(Boolean airDirectionFunction) {
+ this.airDirectionFunction = airDirectionFunction;
+ }
+
+ public Boolean getSwingFunction() {
+ return swingFunction;
+ }
+
+ public void setSwingFunction(Boolean swingFunction) {
+ this.swingFunction = swingFunction;
+ }
+
+ public Integer getNumberOfFanSpeeds() {
+ return numberOfFanSpeeds;
+ }
+
+ public void setNumberOfFanSpeeds(Integer numberOfFanSpeeds) {
+ this.numberOfFanSpeeds = numberOfFanSpeeds;
+ }
+
+ public Boolean getUseTemperatureA() {
+ return useTemperatureA;
+ }
+
+ public void setUseTemperatureA(Boolean useTemperatureA) {
+ this.useTemperatureA = useTemperatureA;
+ }
+
+ public Integer getTemperatureIncrementOverride() {
+ return temperatureIncrementOverride;
+ }
+
+ public void setTemperatureIncrementOverride(Integer temperatureIncrementOverride) {
+ this.temperatureIncrementOverride = temperatureIncrementOverride;
+ }
+
+ public Double getTemperatureIncrement() {
+ return temperatureIncrement;
+ }
+
+ public void setTemperatureIncrement(Double temperatureIncrement) {
+ this.temperatureIncrement = temperatureIncrement;
+ }
+
+ public Double getMinTempCoolDry() {
+ return minTempCoolDry;
+ }
+
+ public void setMinTempCoolDry(Double minTempCoolDry) {
+ this.minTempCoolDry = minTempCoolDry;
+ }
+
+ public Double getMaxTempCoolDry() {
+ return maxTempCoolDry;
+ }
+
+ public void setMaxTempCoolDry(Double maxTempCoolDry) {
+ this.maxTempCoolDry = maxTempCoolDry;
+ }
+
+ public Double getMinTempHeat() {
+ return minTempHeat;
+ }
+
+ public void setMinTempHeat(Double minTempHeat) {
+ this.minTempHeat = minTempHeat;
+ }
+
+ public Double getMaxTempHeat() {
+ return maxTempHeat;
+ }
+
+ public void setMaxTempHeat(Double maxTempHeat) {
+ this.maxTempHeat = maxTempHeat;
+ }
+
+ public Double getMinTempAutomatic() {
+ return minTempAutomatic;
+ }
+
+ public void setMinTempAutomatic(Double minTempAutomatic) {
+ this.minTempAutomatic = minTempAutomatic;
+ }
+
+ public Double getMaxTempAutomatic() {
+ return maxTempAutomatic;
+ }
+
+ public void setMaxTempAutomatic(Double maxTempAutomatic) {
+ this.maxTempAutomatic = maxTempAutomatic;
+ }
+
+ public Boolean getLegacyDevice() {
+ return legacyDevice;
+ }
+
+ public void setLegacyDevice(Boolean legacyDevice) {
+ this.legacyDevice = legacyDevice;
+ }
+
+ public Boolean getUnitSupportsStandbyMode() {
+ return unitSupportsStandbyMode;
+ }
+
+ public void setUnitSupportsStandbyMode(Boolean unitSupportsStandbyMode) {
+ this.unitSupportsStandbyMode = unitSupportsStandbyMode;
+ }
+
+ public Boolean getModelIsAirCurtain() {
+ return modelIsAirCurtain;
+ }
+
+ public void setModelIsAirCurtain(Boolean modelIsAirCurtain) {
+ this.modelIsAirCurtain = modelIsAirCurtain;
+ }
+
+ public Boolean getModelSupportsFanSpeed() {
+ return modelSupportsFanSpeed;
+ }
+
+ public void setModelSupportsFanSpeed(Boolean modelSupportsFanSpeed) {
+ this.modelSupportsFanSpeed = modelSupportsFanSpeed;
+ }
+
+ public Boolean getModelSupportsAuto() {
+ return modelSupportsAuto;
+ }
+
+ public void setModelSupportsAuto(Boolean modelSupportsAuto) {
+ this.modelSupportsAuto = modelSupportsAuto;
+ }
+
+ public Boolean getModelSupportsHeat() {
+ return modelSupportsHeat;
+ }
+
+ public void setModelSupportsHeat(Boolean modelSupportsHeat) {
+ this.modelSupportsHeat = modelSupportsHeat;
+ }
+
+ public Boolean getModelSupportsDry() {
+ return modelSupportsDry;
+ }
+
+ public void setModelSupportsDry(Boolean modelSupportsDry) {
+ this.modelSupportsDry = modelSupportsDry;
+ }
+
+ public Boolean getModelSupportsVaneVertical() {
+ return modelSupportsVaneVertical;
+ }
+
+ public void setModelSupportsVaneVertical(Boolean modelSupportsVaneVertical) {
+ this.modelSupportsVaneVertical = modelSupportsVaneVertical;
+ }
+
+ public Boolean getModelSupportsVaneHorizontal() {
+ return modelSupportsVaneHorizontal;
+ }
+
+ public void setModelSupportsVaneHorizontal(Boolean modelSupportsVaneHorizontal) {
+ this.modelSupportsVaneHorizontal = modelSupportsVaneHorizontal;
+ }
+
+ public Boolean getModelSupportsStandbyMode() {
+ return modelSupportsStandbyMode;
+ }
+
+ public void setModelSupportsStandbyMode(Boolean modelSupportsStandbyMode) {
+ this.modelSupportsStandbyMode = modelSupportsStandbyMode;
+ }
+
+ public Boolean getModelSupportsEnergyReporting() {
+ return modelSupportsEnergyReporting;
+ }
+
+ public void setModelSupportsEnergyReporting(Boolean modelSupportsEnergyReporting) {
+ this.modelSupportsEnergyReporting = modelSupportsEnergyReporting;
+ }
+
+ public Boolean getPower() {
+ return power;
+ }
+
+ public void setPower(Boolean power) {
+ this.power = power;
+ }
+
+ public Double getRoomTemperature() {
+ return roomTemperature;
+ }
+
+ public void setRoomTemperature(Double roomTemperature) {
+ this.roomTemperature = roomTemperature;
+ }
+
+ public Double getSetTemperature() {
+ return setTemperature;
+ }
+
+ public void setSetTemperature(Double setTemperature) {
+ this.setTemperature = setTemperature;
+ }
+
+ public Integer getActualFanSpeed() {
+ return actualFanSpeed;
+ }
+
+ public void setActualFanSpeed(Integer actualFanSpeed) {
+ this.actualFanSpeed = actualFanSpeed;
+ }
+
+ public Integer getFanSpeed() {
+ return fanSpeed;
+ }
+
+ public void setFanSpeed(Integer fanSpeed) {
+ this.fanSpeed = fanSpeed;
+ }
+
+ public Boolean getAutomaticFanSpeed() {
+ return automaticFanSpeed;
+ }
+
+ public void setAutomaticFanSpeed(Boolean automaticFanSpeed) {
+ this.automaticFanSpeed = automaticFanSpeed;
+ }
+
+ public Integer getVaneVerticalDirection() {
+ return vaneVerticalDirection;
+ }
+
+ public void setVaneVerticalDirection(Integer vaneVerticalDirection) {
+ this.vaneVerticalDirection = vaneVerticalDirection;
+ }
+
+ public Boolean getVaneVerticalSwing() {
+ return vaneVerticalSwing;
+ }
+
+ public void setVaneVerticalSwing(Boolean vaneVerticalSwing) {
+ this.vaneVerticalSwing = vaneVerticalSwing;
+ }
+
+ public Integer getVaneHorizontalDirection() {
+ return vaneHorizontalDirection;
+ }
+
+ public void setVaneHorizontalDirection(Integer vaneHorizontalDirection) {
+ this.vaneHorizontalDirection = vaneHorizontalDirection;
+ }
+
+ public Boolean getVaneHorizontalSwing() {
+ return vaneHorizontalSwing;
+ }
+
+ public void setVaneHorizontalSwing(Boolean vaneHorizontalSwing) {
+ this.vaneHorizontalSwing = vaneHorizontalSwing;
+ }
+
+ public Integer getOperationMode() {
+ return operationMode;
+ }
+
+ public void setOperationMode(Integer operationMode) {
+ this.operationMode = operationMode;
+ }
+
+ public Integer getEffectiveFlags() {
+ return effectiveFlags;
+ }
+
+ public void setEffectiveFlags(Integer effectiveFlags) {
+ this.effectiveFlags = effectiveFlags;
+ }
+
+ public Integer getLastEffectiveFlags() {
+ return lastEffectiveFlags;
+ }
+
+ public void setLastEffectiveFlags(Integer lastEffectiveFlags) {
+ this.lastEffectiveFlags = lastEffectiveFlags;
+ }
+
+ public Boolean getInStandbyMode() {
+ return inStandbyMode;
+ }
+
+ public void setInStandbyMode(Boolean inStandbyMode) {
+ this.inStandbyMode = inStandbyMode;
+ }
+
+ public Double getDefaultCoolingSetTemperature() {
+ return defaultCoolingSetTemperature;
+ }
+
+ public void setDefaultCoolingSetTemperature(Double defaultCoolingSetTemperature) {
+ this.defaultCoolingSetTemperature = defaultCoolingSetTemperature;
+ }
+
+ public Double getDefaultHeatingSetTemperature() {
+ return defaultHeatingSetTemperature;
+ }
+
+ public void setDefaultHeatingSetTemperature(Double defaultHeatingSetTemperature) {
+ this.defaultHeatingSetTemperature = defaultHeatingSetTemperature;
+ }
+
+ public Integer getRoomTemperatureLabel() {
+ return roomTemperatureLabel;
+ }
+
+ public void setRoomTemperatureLabel(Integer roomTemperatureLabel) {
+ this.roomTemperatureLabel = roomTemperatureLabel;
+ }
+
+ public Boolean getHasEnergyConsumedMeter() {
+ return hasEnergyConsumedMeter;
+ }
+
+ public void setHasEnergyConsumedMeter(Boolean hasEnergyConsumedMeter) {
+ this.hasEnergyConsumedMeter = hasEnergyConsumedMeter;
+ }
+
+ public Integer getCurrentEnergyConsumed() {
+ return currentEnergyConsumed;
+ }
+
+ public void setCurrentEnergyConsumed(Integer currentEnergyConsumed) {
+ this.currentEnergyConsumed = currentEnergyConsumed;
+ }
+
+ public Integer getCurrentEnergyMode() {
+ return currentEnergyMode;
+ }
+
+ public void setCurrentEnergyMode(Integer currentEnergyMode) {
+ this.currentEnergyMode = currentEnergyMode;
+ }
+
+ public Boolean getCoolingDisabled() {
+ return coolingDisabled;
+ }
+
+ public void setCoolingDisabled(Boolean coolingDisabled) {
+ this.coolingDisabled = coolingDisabled;
+ }
+
+ public Integer getMinPcycle() {
+ return minPcycle;
+ }
+
+ public void setMinPcycle(Integer minPcycle) {
+ this.minPcycle = minPcycle;
+ }
+
+ public Integer getMaxPcycle() {
+ return maxPcycle;
+ }
+
+ public void setMaxPcycle(Integer maxPcycle) {
+ this.maxPcycle = maxPcycle;
+ }
+
+ public Integer getEffectivePCycle() {
+ return effectivePCycle;
+ }
+
+ public void setEffectivePCycle(Integer effectivePCycle) {
+ this.effectivePCycle = effectivePCycle;
+ }
+
+ public Integer getMaxOutdoorUnits() {
+ return maxOutdoorUnits;
+ }
+
+ public void setMaxOutdoorUnits(Integer maxOutdoorUnits) {
+ this.maxOutdoorUnits = maxOutdoorUnits;
+ }
+
+ public Integer getMaxIndoorUnits() {
+ return maxIndoorUnits;
+ }
+
+ public void setMaxIndoorUnits(Integer maxIndoorUnits) {
+ this.maxIndoorUnits = maxIndoorUnits;
+ }
+
+ public Integer getMaxTemperatureControlUnits() {
+ return maxTemperatureControlUnits;
+ }
+
+ public void setMaxTemperatureControlUnits(Integer maxTemperatureControlUnits) {
+ this.maxTemperatureControlUnits = maxTemperatureControlUnits;
+ }
+
+ public Integer getDeviceID() {
+ return deviceID;
+ }
+
+ public void setDeviceID(Integer deviceID) {
+ this.deviceID = deviceID;
+ }
+
+ public String getMacAddress() {
+ return macAddress;
+ }
+
+ public void setMacAddress(String macAddress) {
+ this.macAddress = macAddress;
+ }
+
+ public String getSerialNumber() {
+ return serialNumber;
+ }
+
+ public void setSerialNumber(String serialNumber) {
+ this.serialNumber = serialNumber;
+ }
+
+ public Integer getTimeZoneID() {
+ return timeZoneID;
+ }
+
+ public void setTimeZoneID(Integer timeZoneID) {
+ this.timeZoneID = timeZoneID;
+ }
+
+ public Integer getDiagnosticMode() {
+ return diagnosticMode;
+ }
+
+ public void setDiagnosticMode(Integer diagnosticMode) {
+ this.diagnosticMode = diagnosticMode;
+ }
+
+ public Object getDiagnosticEndDate() {
+ return diagnosticEndDate;
+ }
+
+ public void setDiagnosticEndDate(Object diagnosticEndDate) {
+ this.diagnosticEndDate = diagnosticEndDate;
+ }
+
+ public Integer getExpectedCommand() {
+ return expectedCommand;
+ }
+
+ public void setExpectedCommand(Integer expectedCommand) {
+ this.expectedCommand = expectedCommand;
+ }
+
+ public Object getOwner() {
+ return owner;
+ }
+
+ public void setOwner(Object owner) {
+ this.owner = owner;
+ }
+
+ public Object getDetectedCountry() {
+ return detectedCountry;
+ }
+
+ public void setDetectedCountry(Object detectedCountry) {
+ this.detectedCountry = detectedCountry;
+ }
+
+ public Integer getAdaptorType() {
+ return adaptorType;
+ }
+
+ public void setAdaptorType(Integer adaptorType) {
+ this.adaptorType = adaptorType;
+ }
+
+ public Object getFirmwareDeployment() {
+ return firmwareDeployment;
+ }
+
+ public void setFirmwareDeployment(Object firmwareDeployment) {
+ this.firmwareDeployment = firmwareDeployment;
+ }
+
+ public Boolean getFirmwareUpdateAborted() {
+ return firmwareUpdateAborted;
+ }
+
+ public void setFirmwareUpdateAborted(Boolean firmwareUpdateAborted) {
+ this.firmwareUpdateAborted = firmwareUpdateAborted;
+ }
+
+ public Integer getWifiSignalStrength() {
+ return wifiSignalStrength;
+ }
+
+ public void setWifiSignalStrength(Integer wifiSignalStrength) {
+ this.wifiSignalStrength = wifiSignalStrength;
+ }
+
+ public String getWifiAdapterStatus() {
+ return wifiAdapterStatus;
+ }
+
+ public void setWifiAdapterStatus(String wifiAdapterStatus) {
+ this.wifiAdapterStatus = wifiAdapterStatus;
+ }
+
+ public String getPosition() {
+ return position;
+ }
+
+ public void setPosition(String position) {
+ this.position = position;
+ }
+
+ public Integer getPCycle() {
+ return pCycle;
+ }
+
+ public void setPCycle(Integer pCycle) {
+ this.pCycle = pCycle;
+ }
+
+ public Integer getRecordNumMax() {
+ return recordNumMax;
+ }
+
+ public void setRecordNumMax(Integer recordNumMax) {
+ this.recordNumMax = recordNumMax;
+ }
+
+ public String getLastTimeStamp() {
+ return lastTimeStamp;
+ }
+
+ public void setLastTimeStamp(String lastTimeStamp) {
+ this.lastTimeStamp = lastTimeStamp;
+ }
+
+ public Integer getErrorCode() {
+ return errorCode;
+ }
+
+ public void setErrorCode(Integer errorCode) {
+ this.errorCode = errorCode;
+ }
+
+ public Boolean getHasError() {
+ return hasError;
+ }
+
+ public void setHasError(Boolean hasError) {
+ this.hasError = hasError;
+ }
+
+ public String getLastReset() {
+ return lastReset;
+ }
+
+ public void setLastReset(String lastReset) {
+ this.lastReset = lastReset;
+ }
+
+ public Integer getFlashWrites() {
+ return flashWrites;
+ }
+
+ public void setFlashWrites(Integer flashWrites) {
+ this.flashWrites = flashWrites;
+ }
+
+ public Object getScene() {
+ return scene;
+ }
+
+ public void setScene(Object scene) {
+ this.scene = scene;
+ }
+
+ public Object getSSLExpirationDate() {
+ return sSLExpirationDate;
+ }
+
+ public void setSSLExpirationDate(Object sSLExpirationDate) {
+ this.sSLExpirationDate = sSLExpirationDate;
+ }
+
+ public Object getSPTimeout() {
+ return sPTimeout;
+ }
+
+ public void setSPTimeout(Object sPTimeout) {
+ this.sPTimeout = sPTimeout;
+ }
+
+ public Object getPasscode() {
+ return passcode;
+ }
+
+ public void setPasscode(Object passcode) {
+ this.passcode = passcode;
+ }
+
+ public Boolean getServerCommunicationDisabled() {
+ return serverCommunicationDisabled;
+ }
+
+ public void setServerCommunicationDisabled(Boolean serverCommunicationDisabled) {
+ this.serverCommunicationDisabled = serverCommunicationDisabled;
+ }
+
+ public Integer getConsecutiveUploadErrors() {
+ return consecutiveUploadErrors;
+ }
+
+ public void setConsecutiveUploadErrors(Integer consecutiveUploadErrors) {
+ this.consecutiveUploadErrors = consecutiveUploadErrors;
+ }
+
+ public Object getDoNotRespondAfter() {
+ return doNotRespondAfter;
+ }
+
+ public void setDoNotRespondAfter(Object doNotRespondAfter) {
+ this.doNotRespondAfter = doNotRespondAfter;
+ }
+
+ public Integer getOwnerRoleAccessLevel() {
+ return ownerRoleAccessLevel;
+ }
+
+ public void setOwnerRoleAccessLevel(Integer ownerRoleAccessLevel) {
+ this.ownerRoleAccessLevel = ownerRoleAccessLevel;
+ }
+
+ public Integer getOwnerCountry() {
+ return ownerCountry;
+ }
+
+ public void setOwnerCountry(Integer ownerCountry) {
+ this.ownerCountry = ownerCountry;
+ }
+
+ public Object getRate1StartTime() {
+ return rate1StartTime;
+ }
+
+ public void setRate1StartTime(Object rate1StartTime) {
+ this.rate1StartTime = rate1StartTime;
+ }
+
+ public Object getRate2StartTime() {
+ return rate2StartTime;
+ }
+
+ public void setRate2StartTime(Object rate2StartTime) {
+ this.rate2StartTime = rate2StartTime;
+ }
+
+ public Integer getProtocolVersion() {
+ return protocolVersion;
+ }
+
+ public void setProtocolVersion(Integer protocolVersion) {
+ this.protocolVersion = protocolVersion;
+ }
+
+ public Integer getUnitVersion() {
+ return unitVersion;
+ }
+
+ public void setUnitVersion(Integer unitVersion) {
+ this.unitVersion = unitVersion;
+ }
+
+ public Integer getFirmwareAppVersion() {
+ return firmwareAppVersion;
+ }
+
+ public void setFirmwareAppVersion(Integer firmwareAppVersion) {
+ this.firmwareAppVersion = firmwareAppVersion;
+ }
+
+ public Integer getFirmwareWebVersion() {
+ return firmwareWebVersion;
+ }
+
+ public void setFirmwareWebVersion(Integer firmwareWebVersion) {
+ this.firmwareWebVersion = firmwareWebVersion;
+ }
+
+ public Integer getFirmwareWlanVersion() {
+ return firmwareWlanVersion;
+ }
+
+ public void setFirmwareWlanVersion(Integer firmwareWlanVersion) {
+ this.firmwareWlanVersion = firmwareWlanVersion;
+ }
+
+ public Boolean getHasErrorMessages() {
+ return hasErrorMessages;
+ }
+
+ public void setHasErrorMessages(Boolean hasErrorMessages) {
+ this.hasErrorMessages = hasErrorMessages;
+ }
+
+ public Boolean getHasZone2() {
+ return hasZone2;
+ }
+
+ public void setHasZone2(Boolean hasZone2) {
+ this.hasZone2 = hasZone2;
+ }
+
+ public Boolean getOffline() {
+ return offline;
+ }
+
+ public void setOffline(Boolean offline) {
+ this.offline = offline;
+ }
+
+ public List<Object> getUnits() {
+ return units;
+ }
+
+ public void setUnits(List<Object> units) {
+ this.units = units;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link DeviceProps} is responsible of JSON data For MELCloud API
+ * Device Status data
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ * @author Pauli Anttila - Fine tuned expose annotations
+ */
+public class DeviceStatus {
+
+ @Expose
+ private Integer effectiveFlags;
+
+ @Expose(serialize = false, deserialize = true)
+ private Object localIPAddress;
+
+ @Expose(serialize = false, deserialize = true)
+ private Double roomTemperature;
+
+ @Expose
+ private Double setTemperature;
+
+ @Expose
+ private Integer setFanSpeed;
+
+ @Expose
+ private Integer operationMode;
+
+ @Expose
+ private Integer vaneHorizontal;
+
+ @Expose
+ private Integer vaneVertical;
+
+ @Expose
+ private Object name;
+
+ @Expose(serialize = false, deserialize = true)
+ private Integer numberOfFanSpeeds;
+
+ @Expose(serialize = false, deserialize = true)
+ private List<WeatherObservation> weatherObservations = null;
+
+ @Expose(serialize = false, deserialize = true)
+ private Object errorMessage;
+
+ @Expose(serialize = false, deserialize = true)
+ private Integer errorCode;
+
+ @Expose(serialize = false, deserialize = true)
+ private Double defaultHeatingSetTemperature;
+
+ @Expose(serialize = false, deserialize = true)
+ private Double defaultCoolingSetTemperature;
+
+ @Expose(serialize = false, deserialize = true)
+ private Boolean hideVaneControls;
+
+ @Expose(serialize = false, deserialize = true)
+ private Boolean hideDryModeControl;
+
+ @Expose(serialize = false, deserialize = true)
+ private Integer roomTemperatureLabel;
+
+ @Expose(serialize = false, deserialize = true)
+ private Boolean inStandbyMode;
+
+ @Expose(serialize = false, deserialize = true)
+ private Integer temperatureIncrementOverride;
+
+ @Expose
+ private Integer deviceID;
+
+ @Expose(serialize = false, deserialize = true)
+ private Integer deviceType;
+
+ @Expose(serialize = false, deserialize = true)
+ private String lastCommunication;
+
+ @Expose(serialize = false, deserialize = true)
+ private String nextCommunication;
+
+ @Expose
+ private Boolean power;
+
+ @Expose
+ private Boolean hasPendingCommand;
+
+ @Expose(serialize = false, deserialize = true)
+ private Boolean offline;
+
+ @Expose(serialize = false, deserialize = true)
+ private Object scene;
+
+ @Expose(serialize = false, deserialize = true)
+ private Object sceneOwner;
+
+ public Integer getEffectiveFlags() {
+ return effectiveFlags;
+ }
+
+ public void setEffectiveFlags(Integer effectiveFlags) {
+ this.effectiveFlags = effectiveFlags;
+ }
+
+ public Object getLocalIPAddress() {
+ return localIPAddress;
+ }
+
+ public void setLocalIPAddress(Object localIPAddress) {
+ this.localIPAddress = localIPAddress;
+ }
+
+ public Double getRoomTemperature() {
+ return roomTemperature;
+ }
+
+ public void setRoomTemperature(Double roomTemperature) {
+ this.roomTemperature = roomTemperature;
+ }
+
+ public Double getSetTemperature() {
+ return setTemperature;
+ }
+
+ public void setSetTemperature(Double setTemperature) {
+ this.setTemperature = setTemperature;
+ }
+
+ public Integer getSetFanSpeed() {
+ return setFanSpeed;
+ }
+
+ public void setSetFanSpeed(Integer setFanSpeed) {
+ this.setFanSpeed = setFanSpeed;
+ }
+
+ public Integer getOperationMode() {
+ return operationMode;
+ }
+
+ public void setOperationMode(Integer operationMode) {
+ this.operationMode = operationMode;
+ }
+
+ public Integer getVaneHorizontal() {
+ return vaneHorizontal;
+ }
+
+ public void setVaneHorizontal(Integer vaneHorizontal) {
+ this.vaneHorizontal = vaneHorizontal;
+ }
+
+ public Integer getVaneVertical() {
+ return vaneVertical;
+ }
+
+ public void setVaneVertical(Integer vaneVertical) {
+ this.vaneVertical = vaneVertical;
+ }
+
+ public Object getName() {
+ return name;
+ }
+
+ public void setName(Object name) {
+ this.name = name;
+ }
+
+ public Integer getNumberOfFanSpeeds() {
+ return numberOfFanSpeeds;
+ }
+
+ public void setNumberOfFanSpeeds(Integer numberOfFanSpeeds) {
+ this.numberOfFanSpeeds = numberOfFanSpeeds;
+ }
+
+ public List<WeatherObservation> getWeatherObservations() {
+ return weatherObservations;
+ }
+
+ public void setWeatherObservations(List<WeatherObservation> weatherObservations) {
+ this.weatherObservations = weatherObservations;
+ }
+
+ public Object getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(Object errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public Integer getErrorCode() {
+ return errorCode;
+ }
+
+ public void setErrorCode(Integer errorCode) {
+ this.errorCode = errorCode;
+ }
+
+ public Double getDefaultHeatingSetTemperature() {
+ return defaultHeatingSetTemperature;
+ }
+
+ public void setDefaultHeatingSetTemperature(Double defaultHeatingSetTemperature) {
+ this.defaultHeatingSetTemperature = defaultHeatingSetTemperature;
+ }
+
+ public Double getDefaultCoolingSetTemperature() {
+ return defaultCoolingSetTemperature;
+ }
+
+ public void setDefaultCoolingSetTemperature(Double defaultCoolingSetTemperature) {
+ this.defaultCoolingSetTemperature = defaultCoolingSetTemperature;
+ }
+
+ public Boolean getHideVaneControls() {
+ return hideVaneControls;
+ }
+
+ public void setHideVaneControls(Boolean hideVaneControls) {
+ this.hideVaneControls = hideVaneControls;
+ }
+
+ public Boolean getHideDryModeControl() {
+ return hideDryModeControl;
+ }
+
+ public void setHideDryModeControl(Boolean hideDryModeControl) {
+ this.hideDryModeControl = hideDryModeControl;
+ }
+
+ public Integer getRoomTemperatureLabel() {
+ return roomTemperatureLabel;
+ }
+
+ public void setRoomTemperatureLabel(Integer roomTemperatureLabel) {
+ this.roomTemperatureLabel = roomTemperatureLabel;
+ }
+
+ public Boolean getInStandbyMode() {
+ return inStandbyMode;
+ }
+
+ public void setInStandbyMode(Boolean inStandbyMode) {
+ this.inStandbyMode = inStandbyMode;
+ }
+
+ public Integer getTemperatureIncrementOverride() {
+ return temperatureIncrementOverride;
+ }
+
+ public void setTemperatureIncrementOverride(Integer temperatureIncrementOverride) {
+ this.temperatureIncrementOverride = temperatureIncrementOverride;
+ }
+
+ public Integer getDeviceID() {
+ return deviceID;
+ }
+
+ public void setDeviceID(Integer deviceID) {
+ this.deviceID = deviceID;
+ }
+
+ public Integer getDeviceType() {
+ return deviceType;
+ }
+
+ public void setDeviceType(Integer deviceType) {
+ this.deviceType = deviceType;
+ }
+
+ public String getLastCommunication() {
+ return lastCommunication;
+ }
+
+ public void setLastCommunication(String lastCommunication) {
+ this.lastCommunication = lastCommunication;
+ }
+
+ public String getNextCommunication() {
+ return nextCommunication;
+ }
+
+ public void setNextCommunication(String nextCommunication) {
+ this.nextCommunication = nextCommunication;
+ }
+
+ public Boolean getPower() {
+ return power;
+ }
+
+ public void setPower(Boolean power) {
+ this.power = power;
+ }
+
+ public Boolean getHasPendingCommand() {
+ return hasPendingCommand;
+ }
+
+ public void setHasPendingCommand(Boolean hasPendingCommand) {
+ this.hasPendingCommand = hasPendingCommand;
+ }
+
+ public Boolean getOffline() {
+ return offline;
+ }
+
+ public void setOffline(Boolean offline) {
+ this.offline = offline;
+ }
+
+ public Object getScene() {
+ return scene;
+ }
+
+ public void setScene(Object scene) {
+ this.scene = scene;
+ }
+
+ public Object getSceneOwner() {
+ return sceneOwner;
+ }
+
+ public void setSceneOwner(Object sceneOwner) {
+ this.sceneOwner = sceneOwner;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * {@link Floor} provides floor specific information for JSON data returned from MELCloud API
+ * Floor Data
+ * Generated with jsonschema2pojo
+ *
+ * @author Wietse van Buitenen - Initial contribution
+ */
+public class Floor {
+
+ @Expose
+ private Integer iD;
+
+ @Expose
+ private String name;
+
+ @Expose
+ private Integer buildingId;
+
+ @Expose
+ private Integer accessLevel;
+
+ @Expose
+ private Boolean directAccess;
+
+ @Expose
+ private Object endDate;
+
+ @Expose
+ private List<Area> areas = null;
+
+ @Expose
+ private List<Device> devices = null;
+
+ @Expose
+ private Integer minTemperature;
+
+ @Expose
+ private Integer maxTemperature;
+
+ @Expose
+ private Boolean expanded;
+
+ public Integer getID() {
+ return iD;
+ }
+
+ public void setID(Integer iD) {
+ this.iD = iD;
+ }
+
+ public Integer getBuildingId() {
+ return buildingId;
+ }
+
+ public void setBuildingId(Integer buildingId) {
+ this.buildingId = buildingId;
+ }
+
+ public Integer getAccessLevel() {
+ return accessLevel;
+ }
+
+ public void setAccessLevel(Integer accessLevel) {
+ this.accessLevel = accessLevel;
+ }
+
+ public Boolean getDirectAccess() {
+ return directAccess;
+ }
+
+ public void setDirectAccess(Boolean directAccess) {
+ this.directAccess = directAccess;
+ }
+
+ public Object getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(Object endDate) {
+ this.endDate = endDate;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List<Area> getAreas() {
+ return areas;
+ }
+
+ public void setAreas(List<Area> areas) {
+ this.areas = areas;
+ }
+
+ public List<Device> getDevices() {
+ return devices;
+ }
+
+ public void setDevices(List<Device> devices) {
+ this.devices = devices;
+ }
+
+ public Integer getMinTemperature() {
+ return minTemperature;
+ }
+
+ public void setMinTemperature(Integer minTemperature) {
+ this.minTemperature = minTemperature;
+ }
+
+ public Integer getMaxTemperature() {
+ return maxTemperature;
+ }
+
+ public void setMaxTemperature(Integer maxTemperature) {
+ this.maxTemperature = maxTemperature;
+ }
+
+ public Boolean getExpanded() {
+ return expanded;
+ }
+
+ public void setExpanded(Boolean expanded) {
+ this.expanded = expanded;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * {@link HeatpumpDeviceStatus} is the JSON data we receive from the MELCloud API
+ * when performing a request to DeviceType 1.
+ * Generated with jsonschema2pojo
+ *
+ * @author Wietse van Buitenen - Initial contribution
+ */
+public class HeatpumpDeviceStatus {
+ @Expose
+ private Long effectiveFlags;
+
+ @Expose(serialize = false, deserialize = true)
+ private Object localIPAddress;
+
+ @Expose
+ private Double setTemperatureZone1;
+
+ @Expose
+ private Double setTemperatureZone2;
+
+ @Expose(serialize = false, deserialize = true)
+ private Double roomTemperatureZone1;
+
+ @Expose(serialize = false, deserialize = true)
+ private Double roomTemperatureZone2;
+
+ @Expose
+ private Integer operationMode;
+
+ @Expose
+ private Integer operationModeZone1;
+
+ @Expose
+ private Integer operationModeZone2;
+
+ @Expose(serialize = false, deserialize = true)
+ private List<WeatherObservation> weatherObservations = null;
+
+ @Expose(serialize = false, deserialize = true)
+ private Object errorMessage;
+
+ @Expose(serialize = false, deserialize = true)
+ private Integer errorCode;
+
+ @Expose
+ private Double setHeatFlowTemperatureZone1;
+
+ @Expose
+ private Double setHeatFlowTemperatureZone2;
+
+ @Expose
+ private Double setCoolFlowTemperatureZone1;
+
+ @Expose
+ private Double setCoolFlowTemperatureZone2;
+
+ @Expose
+ private Integer hCControlType;
+
+ @Expose(serialize = false, deserialize = true)
+ private Double tankWaterTemperature;
+
+ @Expose
+ private Double setTankWaterTemperature;
+
+ @Expose
+ private Boolean forcedHotWaterMode;
+
+ @Expose
+ private Integer unitStatus;
+
+ @Expose
+ private Double outdoorTemperature;
+
+ @Expose
+ private Boolean ecoHotWater;
+
+ @Expose
+ private Object zone1Name;
+
+ @Expose
+ private Object zone2Name;
+
+ @Expose
+ private Boolean holidayMode;
+
+ @Expose
+ private Boolean prohibitZone1;
+
+ @Expose
+ private Boolean prohibitZone2;
+
+ @Expose
+ private Boolean prohibitHotWater;
+
+ @Expose
+ private Integer temperatureIncrementOverride;
+
+ @Expose
+ private Boolean idleZone1;
+
+ @Expose
+ private Boolean idleZone2;
+
+ @Expose
+ private Integer deviceID;
+
+ @Expose
+ private Integer deviceType;
+
+ @Expose(serialize = false, deserialize = true)
+ private String lastCommunication;
+
+ @Expose(serialize = false, deserialize = true)
+ private String nextCommunication;
+
+ @Expose
+ private Boolean power;
+
+ @Expose(serialize = false, deserialize = true)
+ private Boolean hasPendingCommand;
+
+ @Expose(serialize = false, deserialize = true)
+ private Boolean offline;
+
+ @Expose
+ private Object scene;
+
+ @Expose
+ private Object sceneOwner;
+
+ public Long getEffectiveFlags() {
+ return effectiveFlags;
+ }
+
+ public void setEffectiveFlags(Long effectiveFlags) {
+ this.effectiveFlags = effectiveFlags;
+ }
+
+ public Object getLocalIPAddress() {
+ return localIPAddress;
+ }
+
+ public void setLocalIPAddress(Object localIPAddress) {
+ this.localIPAddress = localIPAddress;
+ }
+
+ public Double getSetTemperatureZone1() {
+ return setTemperatureZone1;
+ }
+
+ public void setSetTemperatureZone1(Double setTemperatureZone1) {
+ this.setTemperatureZone1 = setTemperatureZone1;
+ }
+
+ public Double getSetTemperatureZone2() {
+ return setTemperatureZone2;
+ }
+
+ public void setSetTemperatureZone2(Double setTemperatureZone2) {
+ this.setTemperatureZone2 = setTemperatureZone2;
+ }
+
+ public Double getRoomTemperatureZone1() {
+ return roomTemperatureZone1;
+ }
+
+ public void setRoomTemperatureZone1(Double roomTemperatureZone1) {
+ this.roomTemperatureZone1 = roomTemperatureZone1;
+ }
+
+ public Double getRoomTemperatureZone2() {
+ return roomTemperatureZone2;
+ }
+
+ public void setRoomTemperatureZone2(Double roomTemperatureZone2) {
+ this.roomTemperatureZone2 = roomTemperatureZone2;
+ }
+
+ public Integer getOperationMode() {
+ return operationMode;
+ }
+
+ public void setOperationMode(Integer operationMode) {
+ this.operationMode = operationMode;
+ }
+
+ public Integer getOperationModeZone1() {
+ return operationModeZone1;
+ }
+
+ public void setOperationModeZone1(Integer operationModeZone1) {
+ this.operationModeZone1 = operationModeZone1;
+ }
+
+ public Integer getOperationModeZone2() {
+ return operationModeZone2;
+ }
+
+ public void setOperationModeZone2(Integer operationModeZone2) {
+ this.operationModeZone2 = operationModeZone2;
+ }
+
+ public List<WeatherObservation> getWeatherObservations() {
+ return weatherObservations;
+ }
+
+ public void setWeatherObservations(List<WeatherObservation> weatherObservations) {
+ this.weatherObservations = weatherObservations;
+ }
+
+ public Object getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(Object errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public Integer getErrorCode() {
+ return errorCode;
+ }
+
+ public void setErrorCode(Integer errorCode) {
+ this.errorCode = errorCode;
+ }
+
+ public Double getSetHeatFlowTemperatureZone1() {
+ return setHeatFlowTemperatureZone1;
+ }
+
+ public void setSetHeatFlowTemperatureZone1(Double setHeatFlowTemperatureZone1) {
+ this.setHeatFlowTemperatureZone1 = setHeatFlowTemperatureZone1;
+ }
+
+ public Double getSetHeatFlowTemperatureZone2() {
+ return setHeatFlowTemperatureZone2;
+ }
+
+ public void setSetHeatFlowTemperatureZone2(Double setHeatFlowTemperatureZone2) {
+ this.setHeatFlowTemperatureZone2 = setHeatFlowTemperatureZone2;
+ }
+
+ public Double getSetCoolFlowTemperatureZone1() {
+ return setCoolFlowTemperatureZone1;
+ }
+
+ public void setSetCoolFlowTemperatureZone1(Double setCoolFlowTemperatureZone1) {
+ this.setCoolFlowTemperatureZone1 = setCoolFlowTemperatureZone1;
+ }
+
+ public Double getSetCoolFlowTemperatureZone2() {
+ return setCoolFlowTemperatureZone2;
+ }
+
+ public void setSetCoolFlowTemperatureZone2(Double setCoolFlowTemperatureZone2) {
+ this.setCoolFlowTemperatureZone2 = setCoolFlowTemperatureZone2;
+ }
+
+ public Integer getHCControlType() {
+ return hCControlType;
+ }
+
+ public void setHCControlType(Integer hCControlType) {
+ this.hCControlType = hCControlType;
+ }
+
+ public Double getTankWaterTemperature() {
+ return tankWaterTemperature;
+ }
+
+ public void setTankWaterTemperature(Double tankWaterTemperature) {
+ this.tankWaterTemperature = tankWaterTemperature;
+ }
+
+ public Double getSetTankWaterTemperature() {
+ return setTankWaterTemperature;
+ }
+
+ public void setSetTankWaterTemperature(Double setTankWaterTemperature) {
+ this.setTankWaterTemperature = setTankWaterTemperature;
+ }
+
+ public Boolean getForcedHotWaterMode() {
+ return forcedHotWaterMode;
+ }
+
+ public void setForcedHotWaterMode(Boolean forcedHotWaterMode) {
+ this.forcedHotWaterMode = forcedHotWaterMode;
+ }
+
+ public Integer getUnitStatus() {
+ return unitStatus;
+ }
+
+ public void setUnitStatus(Integer unitStatus) {
+ this.unitStatus = unitStatus;
+ }
+
+ public Double getOutdoorTemperature() {
+ return outdoorTemperature;
+ }
+
+ public void setOutdoorTemperature(Double outdoorTemperature) {
+ this.outdoorTemperature = outdoorTemperature;
+ }
+
+ public Boolean getEcoHotWater() {
+ return ecoHotWater;
+ }
+
+ public void setEcoHotWater(Boolean ecoHotWater) {
+ this.ecoHotWater = ecoHotWater;
+ }
+
+ public Object getZone1Name() {
+ return zone1Name;
+ }
+
+ public void setZone1Name(Object zone1Name) {
+ this.zone1Name = zone1Name;
+ }
+
+ public Object getZone2Name() {
+ return zone2Name;
+ }
+
+ public void setZone2Name(Object zone2Name) {
+ this.zone2Name = zone2Name;
+ }
+
+ public Boolean getHolidayMode() {
+ return holidayMode;
+ }
+
+ public void setHolidayMode(Boolean holidayMode) {
+ this.holidayMode = holidayMode;
+ }
+
+ public Boolean getProhibitZone1() {
+ return prohibitZone1;
+ }
+
+ public void setProhibitZone1(Boolean prohibitZone1) {
+ this.prohibitZone1 = prohibitZone1;
+ }
+
+ public Boolean getProhibitZone2() {
+ return prohibitZone2;
+ }
+
+ public void setProhibitZone2(Boolean prohibitZone2) {
+ this.prohibitZone2 = prohibitZone2;
+ }
+
+ public Boolean getProhibitHotWater() {
+ return prohibitHotWater;
+ }
+
+ public void setProhibitHotWater(Boolean prohibitHotWater) {
+ this.prohibitHotWater = prohibitHotWater;
+ }
+
+ public Integer getTemperatureIncrementOverride() {
+ return temperatureIncrementOverride;
+ }
+
+ public void setTemperatureIncrementOverride(Integer temperatureIncrementOverride) {
+ this.temperatureIncrementOverride = temperatureIncrementOverride;
+ }
+
+ public Boolean getIdleZone1() {
+ return idleZone1;
+ }
+
+ public void setIdleZone1(Boolean idleZone1) {
+ this.idleZone1 = idleZone1;
+ }
+
+ public Boolean getIdleZone2() {
+ return idleZone2;
+ }
+
+ public void setIdleZone2(Boolean idleZone2) {
+ this.idleZone2 = idleZone2;
+ }
+
+ public Integer getDeviceID() {
+ return deviceID;
+ }
+
+ public void setDeviceID(Integer deviceID) {
+ this.deviceID = deviceID;
+ }
+
+ public Integer getDeviceType() {
+ return deviceType;
+ }
+
+ public void setDeviceType(Integer deviceType) {
+ this.deviceType = deviceType;
+ }
+
+ public String getLastCommunication() {
+ return lastCommunication;
+ }
+
+ public void setLastCommunication(String lastCommunication) {
+ this.lastCommunication = lastCommunication;
+ }
+
+ public String getNextCommunication() {
+ return nextCommunication;
+ }
+
+ public void setNextCommunication(String nextCommunication) {
+ this.nextCommunication = nextCommunication;
+ }
+
+ public Boolean getPower() {
+ return power;
+ }
+
+ public void setPower(Boolean power) {
+ this.power = power;
+ }
+
+ public Boolean getHasPendingCommand() {
+ return hasPendingCommand;
+ }
+
+ public void setHasPendingCommand(Boolean hasPendingCommand) {
+ this.hasPendingCommand = hasPendingCommand;
+ }
+
+ public Boolean getOffline() {
+ return offline;
+ }
+
+ public void setOffline(Boolean offline) {
+ this.offline = offline;
+ }
+
+ public Object getScene() {
+ return scene;
+ }
+
+ public void setScene(Object scene) {
+ this.scene = scene;
+ }
+
+ public Object getSceneOwner() {
+ return sceneOwner;
+ }
+
+ public void setSceneOwner(Object sceneOwner) {
+ this.sceneOwner = sceneOwner;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+/**
+ * The {@link ListDevicesResponse} is responsible of JSON data For MELCloud API
+ * Response of Devices List.
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class ListDevicesResponse {
+
+ @Expose
+ private Integer iD;
+
+ @Expose
+ private String name;
+
+ @Expose
+ private String addressLine1;
+
+ @Expose
+ private Object addressLine2;
+
+ @Expose
+ private String city;
+
+ @Expose
+ private String postcode;
+
+ @Expose
+ private Double latitude;
+
+ @Expose
+ private Double longitude;
+
+ @Expose
+ private Object district;
+
+ @Expose
+ private Boolean fPDefined;
+
+ @Expose
+ private Boolean fPEnabled;
+
+ @Expose
+ private Integer fPMinTemperature;
+
+ @Expose
+ private Integer fPMaxTemperature;
+
+ @Expose
+ private Boolean hMDefined;
+
+ @Expose
+ private Boolean hMEnabled;
+
+ @Expose
+ private Object hMStartDate;
+
+ @Expose
+ private Object hMEndDate;
+
+ @Expose
+ private Integer buildingType;
+
+ @Expose
+ private Integer propertyType;
+
+ @Expose
+ private String dateBuilt;
+
+ @Expose
+ private Boolean hasGasSupply;
+
+ @Expose
+ private String locationLookupDate;
+
+ @Expose
+ private Integer country;
+
+ @Expose
+ private Integer timeZoneContinent;
+
+ @Expose
+ private Integer timeZoneCity;
+
+ @Expose
+ private Integer timeZone;
+
+ @Expose
+ private Integer location;
+
+ @Expose
+ private Boolean coolingDisabled;
+
+ @Expose
+ private Boolean expanded;
+
+ @Expose
+ private Structure structure;
+
+ @Expose
+ private Integer accessLevel;
+
+ @Expose
+ private Boolean directAccess;
+
+ @Expose
+ private Integer minTemperature;
+
+ @Expose
+ private Integer maxTemperature;
+
+ @Expose
+ private Object owner;
+
+ @Expose
+ private String endDate;
+
+ @SerializedName("iDateBuilt")
+ @Expose
+ private Object iDateBuilt;
+
+ @Expose
+ private QuantizedCoordinates quantizedCoordinates;
+
+ public Integer getID() {
+ return iD;
+ }
+
+ public void setID(Integer iD) {
+ this.iD = iD;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getAddressLine1() {
+ return addressLine1;
+ }
+
+ public void setAddressLine1(String addressLine1) {
+ this.addressLine1 = addressLine1;
+ }
+
+ public Object getAddressLine2() {
+ return addressLine2;
+ }
+
+ public void setAddressLine2(Object addressLine2) {
+ this.addressLine2 = addressLine2;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getPostcode() {
+ return postcode;
+ }
+
+ public void setPostcode(String postcode) {
+ this.postcode = postcode;
+ }
+
+ public Double getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(Double latitude) {
+ this.latitude = latitude;
+ }
+
+ public Double getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(Double longitude) {
+ this.longitude = longitude;
+ }
+
+ public Object getDistrict() {
+ return district;
+ }
+
+ public void setDistrict(Object district) {
+ this.district = district;
+ }
+
+ public Boolean getFPDefined() {
+ return fPDefined;
+ }
+
+ public void setFPDefined(Boolean fPDefined) {
+ this.fPDefined = fPDefined;
+ }
+
+ public Boolean getFPEnabled() {
+ return fPEnabled;
+ }
+
+ public void setFPEnabled(Boolean fPEnabled) {
+ this.fPEnabled = fPEnabled;
+ }
+
+ public Integer getFPMinTemperature() {
+ return fPMinTemperature;
+ }
+
+ public void setFPMinTemperature(Integer fPMinTemperature) {
+ this.fPMinTemperature = fPMinTemperature;
+ }
+
+ public Integer getFPMaxTemperature() {
+ return fPMaxTemperature;
+ }
+
+ public void setFPMaxTemperature(Integer fPMaxTemperature) {
+ this.fPMaxTemperature = fPMaxTemperature;
+ }
+
+ public Boolean getHMDefined() {
+ return hMDefined;
+ }
+
+ public void setHMDefined(Boolean hMDefined) {
+ this.hMDefined = hMDefined;
+ }
+
+ public Boolean getHMEnabled() {
+ return hMEnabled;
+ }
+
+ public void setHMEnabled(Boolean hMEnabled) {
+ this.hMEnabled = hMEnabled;
+ }
+
+ public Object getHMStartDate() {
+ return hMStartDate;
+ }
+
+ public void setHMStartDate(Object hMStartDate) {
+ this.hMStartDate = hMStartDate;
+ }
+
+ public Object getHMEndDate() {
+ return hMEndDate;
+ }
+
+ public void setHMEndDate(Object hMEndDate) {
+ this.hMEndDate = hMEndDate;
+ }
+
+ public Integer getBuildingType() {
+ return buildingType;
+ }
+
+ public void setBuildingType(Integer buildingType) {
+ this.buildingType = buildingType;
+ }
+
+ public Integer getPropertyType() {
+ return propertyType;
+ }
+
+ public void setPropertyType(Integer propertyType) {
+ this.propertyType = propertyType;
+ }
+
+ public String getDateBuilt() {
+ return dateBuilt;
+ }
+
+ public void setDateBuilt(String dateBuilt) {
+ this.dateBuilt = dateBuilt;
+ }
+
+ public Boolean getHasGasSupply() {
+ return hasGasSupply;
+ }
+
+ public void setHasGasSupply(Boolean hasGasSupply) {
+ this.hasGasSupply = hasGasSupply;
+ }
+
+ public String getLocationLookupDate() {
+ return locationLookupDate;
+ }
+
+ public void setLocationLookupDate(String locationLookupDate) {
+ this.locationLookupDate = locationLookupDate;
+ }
+
+ public Integer getCountry() {
+ return country;
+ }
+
+ public void setCountry(Integer country) {
+ this.country = country;
+ }
+
+ public Integer getTimeZoneContinent() {
+ return timeZoneContinent;
+ }
+
+ public void setTimeZoneContinent(Integer timeZoneContinent) {
+ this.timeZoneContinent = timeZoneContinent;
+ }
+
+ public Integer getTimeZoneCity() {
+ return timeZoneCity;
+ }
+
+ public void setTimeZoneCity(Integer timeZoneCity) {
+ this.timeZoneCity = timeZoneCity;
+ }
+
+ public Integer getTimeZone() {
+ return timeZone;
+ }
+
+ public void setTimeZone(Integer timeZone) {
+ this.timeZone = timeZone;
+ }
+
+ public Integer getLocation() {
+ return location;
+ }
+
+ public void setLocation(Integer location) {
+ this.location = location;
+ }
+
+ public Boolean getCoolingDisabled() {
+ return coolingDisabled;
+ }
+
+ public void setCoolingDisabled(Boolean coolingDisabled) {
+ this.coolingDisabled = coolingDisabled;
+ }
+
+ public Boolean getExpanded() {
+ return expanded;
+ }
+
+ public void setExpanded(Boolean expanded) {
+ this.expanded = expanded;
+ }
+
+ public Structure getStructure() {
+ return structure;
+ }
+
+ public void setStructure(Structure structure) {
+ this.structure = structure;
+ }
+
+ public Integer getAccessLevel() {
+ return accessLevel;
+ }
+
+ public void setAccessLevel(Integer accessLevel) {
+ this.accessLevel = accessLevel;
+ }
+
+ public Boolean getDirectAccess() {
+ return directAccess;
+ }
+
+ public void setDirectAccess(Boolean directAccess) {
+ this.directAccess = directAccess;
+ }
+
+ public Integer getMinTemperature() {
+ return minTemperature;
+ }
+
+ public void setMinTemperature(Integer minTemperature) {
+ this.minTemperature = minTemperature;
+ }
+
+ public Integer getMaxTemperature() {
+ return maxTemperature;
+ }
+
+ public void setMaxTemperature(Integer maxTemperature) {
+ this.maxTemperature = maxTemperature;
+ }
+
+ public Object getOwner() {
+ return owner;
+ }
+
+ public void setOwner(Object owner) {
+ this.owner = owner;
+ }
+
+ public String getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(String endDate) {
+ this.endDate = endDate;
+ }
+
+ public Object getIDateBuilt() {
+ return iDateBuilt;
+ }
+
+ public void setIDateBuilt(Object iDateBuilt) {
+ this.iDateBuilt = iDateBuilt;
+ }
+
+ public QuantizedCoordinates getQuantizedCoordinates() {
+ return quantizedCoordinates;
+ }
+
+ public void setQuantizedCoordinates(QuantizedCoordinates quantizedCoordinates) {
+ this.quantizedCoordinates = quantizedCoordinates;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link LoginClientResponse} is responsible of JSON data For MELCloud API
+ * Response Data of Login.
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class LoginClientResponse {
+
+ @Expose
+ private Object errorId;
+
+ @Expose
+ private Object errorMessage;
+
+ @Expose
+ private Integer loginStatus;
+
+ @Expose
+ private Integer userId;
+
+ @Expose
+ private Object randomKey;
+
+ @Expose
+ private Object appVersionAnnouncement;
+
+ @Expose
+ private LoginData loginData;
+
+ @Expose
+ private List<Object> listPendingInvite = null;
+
+ @Expose
+ private List<Object> listOwnershipChangeRequest = null;
+
+ @Expose
+ private List<Object> listPendingAnnouncement = null;
+
+ @Expose
+ private Integer loginMinutes;
+
+ @Expose
+ private Integer loginAttempts;
+
+ public Object getErrorId() {
+ return errorId;
+ }
+
+ public void setErrorId(Object errorId) {
+ this.errorId = errorId;
+ }
+
+ public Object getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(Object errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public Integer getLoginStatus() {
+ return loginStatus;
+ }
+
+ public void setLoginStatus(Integer loginStatus) {
+ this.loginStatus = loginStatus;
+ }
+
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public Object getRandomKey() {
+ return randomKey;
+ }
+
+ public void setRandomKey(Object randomKey) {
+ this.randomKey = randomKey;
+ }
+
+ public Object getAppVersionAnnouncement() {
+ return appVersionAnnouncement;
+ }
+
+ public void setAppVersionAnnouncement(Object appVersionAnnouncement) {
+ this.appVersionAnnouncement = appVersionAnnouncement;
+ }
+
+ public LoginData getLoginData() {
+ return loginData;
+ }
+
+ public void setLoginData(LoginData loginData) {
+ this.loginData = loginData;
+ }
+
+ public List<Object> getListPendingInvite() {
+ return listPendingInvite;
+ }
+
+ public void setListPendingInvite(List<Object> listPendingInvite) {
+ this.listPendingInvite = listPendingInvite;
+ }
+
+ public List<Object> getListOwnershipChangeRequest() {
+ return listOwnershipChangeRequest;
+ }
+
+ public void setListOwnershipChangeRequest(List<Object> listOwnershipChangeRequest) {
+ this.listOwnershipChangeRequest = listOwnershipChangeRequest;
+ }
+
+ public List<Object> getListPendingAnnouncement() {
+ return listPendingAnnouncement;
+ }
+
+ public void setListPendingAnnouncement(List<Object> listPendingAnnouncement) {
+ this.listPendingAnnouncement = listPendingAnnouncement;
+ }
+
+ public Integer getLoginMinutes() {
+ return loginMinutes;
+ }
+
+ public void setLoginMinutes(Integer loginMinutes) {
+ this.loginMinutes = loginMinutes;
+ }
+
+ public Integer getLoginAttempts() {
+ return loginAttempts;
+ }
+
+ public void setLoginAttempts(Integer loginAttempts) {
+ this.loginAttempts = loginAttempts;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link LoginData} is responsible of JSON data For MELCloud API
+ * LoginData for Login Request.
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class LoginData {
+
+ @Expose
+ private String contextKey;
+
+ @Expose
+ private Integer client;
+
+ @Expose
+ private Integer terms;
+
+ @Expose
+ private Integer aL;
+
+ @Expose
+ private Integer mL;
+
+ @Expose
+ private Boolean cMI;
+
+ @Expose
+ private Boolean isStaff;
+
+ @Expose
+ private Boolean cUTF;
+
+ @Expose
+ private Boolean cAA;
+
+ @Expose
+ private Boolean receiveCountryNotifications;
+
+ @Expose
+ private Boolean receiveAllNotifications;
+
+ @Expose
+ private Boolean cACA;
+
+ @Expose
+ private Boolean cAGA;
+
+ @Expose
+ private Integer maximumDevices;
+
+ @Expose
+ private Boolean showDiagnostics;
+
+ @Expose
+ private Integer language;
+
+ @Expose
+ private Integer country;
+
+ @Expose
+ private Integer realClient;
+
+ @Expose
+ private String name;
+
+ @Expose
+ private Boolean useFahrenheit;
+
+ @Expose
+ private Integer duration;
+
+ @Expose
+ private String expiry;
+
+ @Expose
+ private Boolean cMSC;
+
+ @Expose
+ private Object partnerApplicationVersion;
+
+ @Expose
+ private Boolean emailSettingsReminderShown;
+
+ @Expose
+ private Integer emailUnitErrors;
+
+ @Expose
+ private Integer emailCommsErrors;
+
+ @Expose
+ private Boolean isImpersonated;
+
+ @Expose
+ private String languageCode;
+
+ @Expose
+ private String countryName;
+
+ @Expose
+ private String currencySymbol;
+
+ @Expose
+ private String supportEmailAddress;
+
+ @Expose
+ private String dateSeperator;
+
+ @Expose
+ private String timeSeperator;
+
+ @Expose
+ private String atwLogoFile;
+
+ @Expose
+ private Boolean dECCReport;
+
+ @Expose
+ private Boolean cSVReport1min;
+
+ @Expose
+ private Boolean hidePresetPanel;
+
+ @Expose
+ private Boolean emailSettingsReminderRequired;
+
+ @Expose
+ private Object termsText;
+
+ @Expose
+ private Boolean mapView;
+
+ @Expose
+ private Integer mapZoom;
+
+ @Expose
+ private Double mapLongitude;
+
+ @Expose
+ private Double mapLatitude;
+
+ public String getContextKey() {
+ return contextKey;
+ }
+
+ public void setContextKey(String contextKey) {
+ this.contextKey = contextKey;
+ }
+
+ public Integer getClient() {
+ return client;
+ }
+
+ public void setClient(Integer client) {
+ this.client = client;
+ }
+
+ public Integer getTerms() {
+ return terms;
+ }
+
+ public void setTerms(Integer terms) {
+ this.terms = terms;
+ }
+
+ public Integer getAL() {
+ return aL;
+ }
+
+ public void setAL(Integer aL) {
+ this.aL = aL;
+ }
+
+ public Integer getML() {
+ return mL;
+ }
+
+ public void setML(Integer mL) {
+ this.mL = mL;
+ }
+
+ public Boolean getCMI() {
+ return cMI;
+ }
+
+ public void setCMI(Boolean cMI) {
+ this.cMI = cMI;
+ }
+
+ public Boolean getIsStaff() {
+ return isStaff;
+ }
+
+ public void setIsStaff(Boolean isStaff) {
+ this.isStaff = isStaff;
+ }
+
+ public Boolean getCUTF() {
+ return cUTF;
+ }
+
+ public void setCUTF(Boolean cUTF) {
+ this.cUTF = cUTF;
+ }
+
+ public Boolean getCAA() {
+ return cAA;
+ }
+
+ public void setCAA(Boolean cAA) {
+ this.cAA = cAA;
+ }
+
+ public Boolean getReceiveCountryNotifications() {
+ return receiveCountryNotifications;
+ }
+
+ public void setReceiveCountryNotifications(Boolean receiveCountryNotifications) {
+ this.receiveCountryNotifications = receiveCountryNotifications;
+ }
+
+ public Boolean getReceiveAllNotifications() {
+ return receiveAllNotifications;
+ }
+
+ public void setReceiveAllNotifications(Boolean receiveAllNotifications) {
+ this.receiveAllNotifications = receiveAllNotifications;
+ }
+
+ public Boolean getCACA() {
+ return cACA;
+ }
+
+ public void setCACA(Boolean cACA) {
+ this.cACA = cACA;
+ }
+
+ public Boolean getCAGA() {
+ return cAGA;
+ }
+
+ public void setCAGA(Boolean cAGA) {
+ this.cAGA = cAGA;
+ }
+
+ public Integer getMaximumDevices() {
+ return maximumDevices;
+ }
+
+ public void setMaximumDevices(Integer maximumDevices) {
+ this.maximumDevices = maximumDevices;
+ }
+
+ public Boolean getShowDiagnostics() {
+ return showDiagnostics;
+ }
+
+ public void setShowDiagnostics(Boolean showDiagnostics) {
+ this.showDiagnostics = showDiagnostics;
+ }
+
+ public Integer getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(Integer language) {
+ this.language = language;
+ }
+
+ public Integer getCountry() {
+ return country;
+ }
+
+ public void setCountry(Integer country) {
+ this.country = country;
+ }
+
+ public Integer getRealClient() {
+ return realClient;
+ }
+
+ public void setRealClient(Integer realClient) {
+ this.realClient = realClient;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Boolean getUseFahrenheit() {
+ return useFahrenheit;
+ }
+
+ public void setUseFahrenheit(Boolean useFahrenheit) {
+ this.useFahrenheit = useFahrenheit;
+ }
+
+ public Integer getDuration() {
+ return duration;
+ }
+
+ public void setDuration(Integer duration) {
+ this.duration = duration;
+ }
+
+ public String getExpiry() {
+ return expiry;
+ }
+
+ public void setExpiry(String expiry) {
+ this.expiry = expiry;
+ }
+
+ public Boolean getCMSC() {
+ return cMSC;
+ }
+
+ public void setCMSC(Boolean cMSC) {
+ this.cMSC = cMSC;
+ }
+
+ public Object getPartnerApplicationVersion() {
+ return partnerApplicationVersion;
+ }
+
+ public void setPartnerApplicationVersion(Object partnerApplicationVersion) {
+ this.partnerApplicationVersion = partnerApplicationVersion;
+ }
+
+ public Boolean getEmailSettingsReminderShown() {
+ return emailSettingsReminderShown;
+ }
+
+ public void setEmailSettingsReminderShown(Boolean emailSettingsReminderShown) {
+ this.emailSettingsReminderShown = emailSettingsReminderShown;
+ }
+
+ public Integer getEmailUnitErrors() {
+ return emailUnitErrors;
+ }
+
+ public void setEmailUnitErrors(Integer emailUnitErrors) {
+ this.emailUnitErrors = emailUnitErrors;
+ }
+
+ public Integer getEmailCommsErrors() {
+ return emailCommsErrors;
+ }
+
+ public void setEmailCommsErrors(Integer emailCommsErrors) {
+ this.emailCommsErrors = emailCommsErrors;
+ }
+
+ public Boolean getIsImpersonated() {
+ return isImpersonated;
+ }
+
+ public void setIsImpersonated(Boolean isImpersonated) {
+ this.isImpersonated = isImpersonated;
+ }
+
+ public String getLanguageCode() {
+ return languageCode;
+ }
+
+ public void setLanguageCode(String languageCode) {
+ this.languageCode = languageCode;
+ }
+
+ public String getCountryName() {
+ return countryName;
+ }
+
+ public void setCountryName(String countryName) {
+ this.countryName = countryName;
+ }
+
+ public String getCurrencySymbol() {
+ return currencySymbol;
+ }
+
+ public void setCurrencySymbol(String currencySymbol) {
+ this.currencySymbol = currencySymbol;
+ }
+
+ public String getSupportEmailAddress() {
+ return supportEmailAddress;
+ }
+
+ public void setSupportEmailAddress(String supportEmailAddress) {
+ this.supportEmailAddress = supportEmailAddress;
+ }
+
+ public String getDateSeperator() {
+ return dateSeperator;
+ }
+
+ public void setDateSeperator(String dateSeperator) {
+ this.dateSeperator = dateSeperator;
+ }
+
+ public String getTimeSeperator() {
+ return timeSeperator;
+ }
+
+ public void setTimeSeperator(String timeSeperator) {
+ this.timeSeperator = timeSeperator;
+ }
+
+ public String getAtwLogoFile() {
+ return atwLogoFile;
+ }
+
+ public void setAtwLogoFile(String atwLogoFile) {
+ this.atwLogoFile = atwLogoFile;
+ }
+
+ public Boolean getDECCReport() {
+ return dECCReport;
+ }
+
+ public void setDECCReport(Boolean dECCReport) {
+ this.dECCReport = dECCReport;
+ }
+
+ public Boolean getCSVReport1min() {
+ return cSVReport1min;
+ }
+
+ public void setCSVReport1min(Boolean cSVReport1min) {
+ this.cSVReport1min = cSVReport1min;
+ }
+
+ public Boolean getHidePresetPanel() {
+ return hidePresetPanel;
+ }
+
+ public void setHidePresetPanel(Boolean hidePresetPanel) {
+ this.hidePresetPanel = hidePresetPanel;
+ }
+
+ public Boolean getEmailSettingsReminderRequired() {
+ return emailSettingsReminderRequired;
+ }
+
+ public void setEmailSettingsReminderRequired(Boolean emailSettingsReminderRequired) {
+ this.emailSettingsReminderRequired = emailSettingsReminderRequired;
+ }
+
+ public Object getTermsText() {
+ return termsText;
+ }
+
+ public void setTermsText(Object termsText) {
+ this.termsText = termsText;
+ }
+
+ public Boolean getMapView() {
+ return mapView;
+ }
+
+ public void setMapView(Boolean mapView) {
+ this.mapView = mapView;
+ }
+
+ public Integer getMapZoom() {
+ return mapZoom;
+ }
+
+ public void setMapZoom(Integer mapZoom) {
+ this.mapZoom = mapZoom;
+ }
+
+ public Double getMapLongitude() {
+ return mapLongitude;
+ }
+
+ public void setMapLongitude(Double mapLongitude) {
+ this.mapLongitude = mapLongitude;
+ }
+
+ public Double getMapLatitude() {
+ return mapLatitude;
+ }
+
+ public void setMapLatitude(Double mapLatitude) {
+ this.mapLatitude = mapLatitude;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link Preset} is responsible of JSON data For MELCloud API
+ * Preset data
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class Preset {
+
+ @Expose
+ private Double setTemperature;
+
+ @Expose
+ private Boolean power;
+
+ @Expose
+ private Integer operationMode;
+
+ @Expose
+ private Integer vaneHorizontal;
+
+ @Expose
+ private Integer vaneVertical;
+
+ @Expose
+ private Integer fanSpeed;
+
+ @Expose
+ private Integer iD;
+
+ @Expose
+ private Integer client;
+
+ @Expose
+ private Integer deviceLocation;
+
+ @Expose
+ private Integer number;
+
+ @Expose
+ private String configuration;
+
+ @Expose
+ private String numberDescription;
+
+ public Double getSetTemperature() {
+ return setTemperature;
+ }
+
+ public void setSetTemperature(Double setTemperature) {
+ this.setTemperature = setTemperature;
+ }
+
+ public Boolean getPower() {
+ return power;
+ }
+
+ public void setPower(Boolean power) {
+ this.power = power;
+ }
+
+ public Integer getOperationMode() {
+ return operationMode;
+ }
+
+ public void setOperationMode(Integer operationMode) {
+ this.operationMode = operationMode;
+ }
+
+ public Integer getVaneHorizontal() {
+ return vaneHorizontal;
+ }
+
+ public void setVaneHorizontal(Integer vaneHorizontal) {
+ this.vaneHorizontal = vaneHorizontal;
+ }
+
+ public Integer getVaneVertical() {
+ return vaneVertical;
+ }
+
+ public void setVaneVertical(Integer vaneVertical) {
+ this.vaneVertical = vaneVertical;
+ }
+
+ public Integer getFanSpeed() {
+ return fanSpeed;
+ }
+
+ public void setFanSpeed(Integer fanSpeed) {
+ this.fanSpeed = fanSpeed;
+ }
+
+ public Integer getID() {
+ return iD;
+ }
+
+ public void setID(Integer iD) {
+ this.iD = iD;
+ }
+
+ public Integer getClient() {
+ return client;
+ }
+
+ public void setClient(Integer client) {
+ this.client = client;
+ }
+
+ public Integer getDeviceLocation() {
+ return deviceLocation;
+ }
+
+ public void setDeviceLocation(Integer deviceLocation) {
+ this.deviceLocation = deviceLocation;
+ }
+
+ public Integer getNumber() {
+ return number;
+ }
+
+ public void setNumber(Integer number) {
+ this.number = number;
+ }
+
+ public String getConfiguration() {
+ return configuration;
+ }
+
+ public void setConfiguration(String configuration) {
+ this.configuration = configuration;
+ }
+
+ public String getNumberDescription() {
+ return numberDescription;
+ }
+
+ public void setNumberDescription(String numberDescription) {
+ this.numberDescription = numberDescription;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link QuantizedCoordinates} is responsible of JSON data For MELCloud API
+ * QuantizedCoordinates data
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class QuantizedCoordinates {
+
+ @Expose
+ private Double latitude;
+
+ @Expose
+ private Double longitude;
+
+ public Double getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(Double latitude) {
+ this.latitude = latitude;
+ }
+
+ public Double getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(Double longitude) {
+ this.longitude = longitude;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import java.util.List;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link Structure} is responsible of JSON data For MELCloud API
+ * Structure Data
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ * @author Wietse van Buitenen - Add Floor and Area
+ */
+public class Structure {
+
+ @Expose
+ private List<Floor> floors = null;
+
+ @Expose
+ private List<Area> areas = null;
+
+ @Expose
+ private List<Device> devices = null;
+
+ @Expose
+ private List<Object> clients = null;
+
+ public List<Floor> getFloors() {
+ return floors;
+ }
+
+ public void setFloors(List<Floor> floors) {
+ this.floors = floors;
+ }
+
+ public List<Area> getAreas() {
+ return areas;
+ }
+
+ public void setAreas(List<Area> areas) {
+ this.areas = areas;
+ }
+
+ public List<Device> getDevices() {
+ return devices;
+ }
+
+ public void setDevices(List<Device> devices) {
+ this.devices = devices;
+ }
+
+ public List<Object> getClients() {
+ return clients;
+ }
+
+ public void setClients(List<Object> clients) {
+ this.clients = clients;
+ }
+}
--- /dev/null
+/**
+ * Copyright (c) 2010-2024 Contributors to the openHAB project
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+package org.openhab.binding.melcloud.internal.api.dto;
+
+import com.google.gson.annotations.Expose;
+
+/**
+ * The {@link Structure} is responsible of JSON data For MELCloud API
+ * WeatherObservation Data
+ * Generated with jsonschema2pojo
+ *
+ * @author Luca Calcaterra - Initial contribution
+ */
+public class WeatherObservation {
+
+ @Expose
+ private String date;
+
+ @Expose
+ private String sunrise;
+
+ @Expose
+ private String sunset;
+
+ @Expose
+ private Integer condition;
+
+ @Expose
+ private Integer iD;
+
+ @Expose
+ private Integer humidity;
+
+ @Expose
+ private Integer temperature;
+
+ @Expose
+ private String icon;
+
+ @Expose
+ private String conditionName;
+
+ @Expose
+ private Integer day;
+
+ @Expose
+ private Integer weatherType;
+
+ public String getDate() {
+ return date;
+ }
+
+ public void setDate(String date) {
+ this.date = date;
+ }
+
+ public String getSunrise() {
+ return sunrise;
+ }
+
+ public void setSunrise(String sunrise) {
+ this.sunrise = sunrise;
+ }
+
+ public String getSunset() {
+ return sunset;
+ }
+
+ public void setSunset(String sunset) {
+ this.sunset = sunset;
+ }
+
+ public Integer getCondition() {
+ return condition;
+ }
+
+ public void setCondition(Integer condition) {
+ this.condition = condition;
+ }
+
+ public Integer getID() {
+ return iD;
+ }
+
+ public void setID(Integer iD) {
+ this.iD = iD;
+ }
+
+ public Integer getHumidity() {
+ return humidity;
+ }
+
+ public void setHumidity(Integer humidity) {
+ this.humidity = humidity;
+ }
+
+ public Integer getTemperature() {
+ return temperature;
+ }
+
+ public void setTemperature(Integer temperature) {
+ this.temperature = temperature;
+ }
+
+ public String getIcon() {
+ return icon;
+ }
+
+ public void setIcon(String icon) {
+ this.icon = icon;
+ }
+
+ public String getConditionName() {
+ return conditionName;
+ }
+
+ public void setConditionName(String conditionName) {
+ this.conditionName = conditionName;
+ }
+
+ public Integer getDay() {
+ return day;
+ }
+
+ public void setDay(Integer day) {
+ this.day = day;
+ }
+
+ public Integer getWeatherType() {
+ return weatherType;
+ }
+
+ public void setWeatherType(Integer weatherType) {
+ this.weatherType = weatherType;
+ }
+}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * {@link Area} provides area specific information for JSON data returned from MELCloud API
- * Area Data
- * Generated with jsonschema2pojo
- *
- * @author Wietse van Buitenen - Initial contribution
- */
-public class Area {
-
- @Expose
- private Integer iD;
-
- @Expose
- private String name;
-
- @Expose
- private Integer buildingId;
-
- @Expose
- private Integer floorId;
-
- @Expose
- private Integer accessLevel;
-
- @Expose
- private Boolean directAccess;
-
- @Expose
- private Object endDate;
-
- @Expose
- private Integer minTemperature;
-
- @Expose
- private Integer maxTemperature;
-
- @Expose
- private Boolean expanded;
-
- @Expose
- private List<Device> devices = null;
-
- public Integer getID() {
- return iD;
- }
-
- public void setID(Integer iD) {
- this.iD = iD;
- }
-
- public Integer getBuildingId() {
- return buildingId;
- }
-
- public void setBuildingId(Integer buildingId) {
- this.buildingId = buildingId;
- }
-
- public Integer getFloorId() {
- return floorId;
- }
-
- public void setFloorId(Integer floorId) {
- this.floorId = floorId;
- }
-
- public Integer getAccessLevel() {
- return accessLevel;
- }
-
- public void setAccessLevel(Integer accessLevel) {
- this.accessLevel = accessLevel;
- }
-
- public Boolean getDirectAccess() {
- return directAccess;
- }
-
- public void setDirectAccess(Boolean directAccess) {
- this.directAccess = directAccess;
- }
-
- public Object getEndDate() {
- return endDate;
- }
-
- public void setEndDate(Object endDate) {
- this.endDate = endDate;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public List<Device> getDevices() {
- return devices;
- }
-
- public void setDevices(List<Device> devices) {
- this.devices = devices;
- }
-
- public Integer getMinTemperature() {
- return minTemperature;
- }
-
- public void setMinTemperature(Integer minTemperature) {
- this.minTemperature = minTemperature;
- }
-
- public Integer getMaxTemperature() {
- return maxTemperature;
- }
-
- public void setMaxTemperature(Integer maxTemperature) {
- this.maxTemperature = maxTemperature;
- }
-
- public Boolean getExpanded() {
- return expanded;
- }
-
- public void setExpanded(Boolean expanded) {
- this.expanded = expanded;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.security.Permissions;
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link Device} is responsible of JSON data For MELCloud API
- * Device Structure.
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-
-public class Device {
-
- @Expose
- private Integer deviceID;
-
- @Expose
- private String deviceName;
-
- @Expose
- private Integer buildingID;
-
- @Expose
- private Object buildingName;
-
- @Expose
- private Object floorID;
-
- @Expose
- private Object floorName;
-
- @Expose
- private Object areaID;
-
- @Expose
- private Object areaName;
-
- @Expose
- private Integer imageID;
-
- @Expose
- private String installationDate;
-
- @Expose
- private Object lastServiceDate;
-
- @Expose
- private List<Preset> presets = null;
-
- @Expose
- private Object ownerID;
-
- @Expose
- private Object ownerName;
-
- @Expose
- private Object ownerEmail;
-
- @Expose
- private Integer accessLevel;
-
- @Expose
- private Boolean directAccess;
-
- @Expose
- private String endDate;
-
- @Expose
- private Object zone1Name;
-
- @Expose
- private Object zone2Name;
-
- @Expose
- private Integer minTemperature;
-
- @Expose
- private Integer maxTemperature;
-
- @Expose
- private Boolean hideVaneControls;
-
- @Expose
- private Boolean hideDryModeControl;
-
- @Expose
- private Boolean hideRoomTemperature;
-
- @Expose
- private Boolean hideSupplyTemperature;
-
- @Expose
- private Boolean hideOutdoorTemperature;
-
- @Expose
- private Object buildingCountry;
-
- @Expose
- private Object ownerCountry;
-
- @Expose
- private Integer adaptorType;
-
- @Expose
- private Integer type;
-
- @Expose
- private String macAddress;
-
- @Expose
- private String serialNumber;
-
- @Expose
- private DeviceProps device;
-
- @Expose
- private Integer diagnosticMode;
-
- @Expose
- private Object diagnosticEndDate;
-
- @Expose
- private Integer location;
-
- @Expose
- private Object detectedCountry;
-
- @Expose
- private Integer registrations;
-
- @Expose
- private Object localIPAddress;
-
- @Expose
- private Integer timeZone;
-
- @Expose
- private Object registReason;
-
- @Expose
- private Integer expectedCommand;
-
- private Integer registRetry;
-
- @Expose
- private String dateCreated;
-
- @Expose
- private Object firmwareDeployment;
-
- @Expose
- private Boolean firmwareUpdateAborted;
-
- @Expose
- private Permissions permissions;
-
- public Integer getDeviceID() {
- return deviceID;
- }
-
- public void setDeviceID(Integer deviceID) {
- this.deviceID = deviceID;
- }
-
- public String getDeviceName() {
- return deviceName;
- }
-
- public void setDeviceName(String deviceName) {
- this.deviceName = deviceName;
- }
-
- public Integer getBuildingID() {
- return buildingID;
- }
-
- public void setBuildingID(Integer buildingID) {
- this.buildingID = buildingID;
- }
-
- public Object getBuildingName() {
- return buildingName;
- }
-
- public void setBuildingName(Object buildingName) {
- this.buildingName = buildingName;
- }
-
- public Object getFloorID() {
- return floorID;
- }
-
- public void setFloorID(Object floorID) {
- this.floorID = floorID;
- }
-
- public Object getFloorName() {
- return floorName;
- }
-
- public void setFloorName(Object floorName) {
- this.floorName = floorName;
- }
-
- public Object getAreaID() {
- return areaID;
- }
-
- public void setAreaID(Object areaID) {
- this.areaID = areaID;
- }
-
- public Object getAreaName() {
- return areaName;
- }
-
- public void setAreaName(Object areaName) {
- this.areaName = areaName;
- }
-
- public Integer getImageID() {
- return imageID;
- }
-
- public void setImageID(Integer imageID) {
- this.imageID = imageID;
- }
-
- public String getInstallationDate() {
- return installationDate;
- }
-
- public void setInstallationDate(String installationDate) {
- this.installationDate = installationDate;
- }
-
- public Object getLastServiceDate() {
- return lastServiceDate;
- }
-
- public void setLastServiceDate(Object lastServiceDate) {
- this.lastServiceDate = lastServiceDate;
- }
-
- public List<Preset> getPresets() {
- return presets;
- }
-
- public void setPresets(List<Preset> presets) {
- this.presets = presets;
- }
-
- public Object getOwnerID() {
- return ownerID;
- }
-
- public void setOwnerID(Object ownerID) {
- this.ownerID = ownerID;
- }
-
- public Object getOwnerName() {
- return ownerName;
- }
-
- public void setOwnerName(Object ownerName) {
- this.ownerName = ownerName;
- }
-
- public Object getOwnerEmail() {
- return ownerEmail;
- }
-
- public void setOwnerEmail(Object ownerEmail) {
- this.ownerEmail = ownerEmail;
- }
-
- public Integer getAccessLevel() {
- return accessLevel;
- }
-
- public void setAccessLevel(Integer accessLevel) {
- this.accessLevel = accessLevel;
- }
-
- public Boolean getDirectAccess() {
- return directAccess;
- }
-
- public void setDirectAccess(Boolean directAccess) {
- this.directAccess = directAccess;
- }
-
- public String getEndDate() {
- return endDate;
- }
-
- public void setEndDate(String endDate) {
- this.endDate = endDate;
- }
-
- public Object getZone1Name() {
- return zone1Name;
- }
-
- public void setZone1Name(Object zone1Name) {
- this.zone1Name = zone1Name;
- }
-
- public Object getZone2Name() {
- return zone2Name;
- }
-
- public void setZone2Name(Object zone2Name) {
- this.zone2Name = zone2Name;
- }
-
- public Integer getMinTemperature() {
- return minTemperature;
- }
-
- public void setMinTemperature(Integer minTemperature) {
- this.minTemperature = minTemperature;
- }
-
- public Integer getMaxTemperature() {
- return maxTemperature;
- }
-
- public void setMaxTemperature(Integer maxTemperature) {
- this.maxTemperature = maxTemperature;
- }
-
- public Boolean getHideVaneControls() {
- return hideVaneControls;
- }
-
- public void setHideVaneControls(Boolean hideVaneControls) {
- this.hideVaneControls = hideVaneControls;
- }
-
- public Boolean getHideDryModeControl() {
- return hideDryModeControl;
- }
-
- public void setHideDryModeControl(Boolean hideDryModeControl) {
- this.hideDryModeControl = hideDryModeControl;
- }
-
- public Boolean getHideRoomTemperature() {
- return hideRoomTemperature;
- }
-
- public void setHideRoomTemperature(Boolean hideRoomTemperature) {
- this.hideRoomTemperature = hideRoomTemperature;
- }
-
- public Boolean getHideSupplyTemperature() {
- return hideSupplyTemperature;
- }
-
- public void setHideSupplyTemperature(Boolean hideSupplyTemperature) {
- this.hideSupplyTemperature = hideSupplyTemperature;
- }
-
- public Boolean getHideOutdoorTemperature() {
- return hideOutdoorTemperature;
- }
-
- public void setHideOutdoorTemperature(Boolean hideOutdoorTemperature) {
- this.hideOutdoorTemperature = hideOutdoorTemperature;
- }
-
- public Object getBuildingCountry() {
- return buildingCountry;
- }
-
- public void setBuildingCountry(Object buildingCountry) {
- this.buildingCountry = buildingCountry;
- }
-
- public Object getOwnerCountry() {
- return ownerCountry;
- }
-
- public void setOwnerCountry(Object ownerCountry) {
- this.ownerCountry = ownerCountry;
- }
-
- public Integer getAdaptorType() {
- return adaptorType;
- }
-
- public void setAdaptorType(Integer adaptorType) {
- this.adaptorType = adaptorType;
- }
-
- public Integer getType() {
- return type;
- }
-
- public void setType(Integer type) {
- this.type = type;
- }
-
- public String getMacAddress() {
- return macAddress;
- }
-
- public void setMacAddress(String macAddress) {
- this.macAddress = macAddress;
- }
-
- public String getSerialNumber() {
- return serialNumber;
- }
-
- public void setSerialNumber(String serialNumber) {
- this.serialNumber = serialNumber;
- }
-
- public DeviceProps getDeviceProps() {
- return device;
- }
-
- public void setDeviceProps(DeviceProps device) {
- this.device = device;
- }
-
- public Integer getDiagnosticMode() {
- return diagnosticMode;
- }
-
- public void setDiagnosticMode(Integer diagnosticMode) {
- this.diagnosticMode = diagnosticMode;
- }
-
- public Object getDiagnosticEndDate() {
- return diagnosticEndDate;
- }
-
- public void setDiagnosticEndDate(Object diagnosticEndDate) {
- this.diagnosticEndDate = diagnosticEndDate;
- }
-
- public Integer getLocation() {
- return location;
- }
-
- public void setLocation(Integer location) {
- this.location = location;
- }
-
- public Object getDetectedCountry() {
- return detectedCountry;
- }
-
- public void setDetectedCountry(Object detectedCountry) {
- this.detectedCountry = detectedCountry;
- }
-
- public Integer getRegistrations() {
- return registrations;
- }
-
- public void setRegistrations(Integer registrations) {
- this.registrations = registrations;
- }
-
- public Object getLocalIPAddress() {
- return localIPAddress;
- }
-
- public void setLocalIPAddress(Object localIPAddress) {
- this.localIPAddress = localIPAddress;
- }
-
- public Integer getTimeZone() {
- return timeZone;
- }
-
- public void setTimeZone(Integer timeZone) {
- this.timeZone = timeZone;
- }
-
- public Object getRegistReason() {
- return registReason;
- }
-
- public void setRegistReason(Object registReason) {
- this.registReason = registReason;
- }
-
- public Integer getExpectedCommand() {
- return expectedCommand;
- }
-
- public void setExpectedCommand(Integer expectedCommand) {
- this.expectedCommand = expectedCommand;
- }
-
- public Integer getRegistRetry() {
- return registRetry;
- }
-
- public void setRegistRetry(Integer registRetry) {
- this.registRetry = registRetry;
- }
-
- public String getDateCreated() {
- return dateCreated;
- }
-
- public void setDateCreated(String dateCreated) {
- this.dateCreated = dateCreated;
- }
-
- public Object getFirmwareDeployment() {
- return firmwareDeployment;
- }
-
- public void setFirmwareDeployment(Object firmwareDeployment) {
- this.firmwareDeployment = firmwareDeployment;
- }
-
- public Boolean getFirmwareUpdateAborted() {
- return firmwareUpdateAborted;
- }
-
- public void setFirmwareUpdateAborted(Boolean firmwareUpdateAborted) {
- this.firmwareUpdateAborted = firmwareUpdateAborted;
- }
-
- public Permissions getPermissions() {
- return permissions;
- }
-
- public void setPermissions(Permissions permissions) {
- this.permissions = permissions;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link DeviceProps} is responsible of JSON data For MELCloud API
- * Device Properties.
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class DeviceProps {
-
- @Expose
- private List<Object> listHistory24Formatters = null;
-
- @Expose
- private Integer deviceType;
-
- @Expose
- private Boolean canCool;
-
- @Expose
- private Boolean canHeat;
-
- @Expose
- private Boolean canDry;
-
- @Expose
- private Boolean hasAutomaticFanSpeed;
-
- @Expose
- private Boolean airDirectionFunction;
-
- @Expose
- private Boolean swingFunction;
-
- @Expose
- private Integer numberOfFanSpeeds;
-
- @Expose
- private Boolean useTemperatureA;
-
- @Expose
- private Integer temperatureIncrementOverride;
-
- @Expose
- private Double temperatureIncrement;
-
- @Expose
- private Double minTempCoolDry;
-
- @Expose
- private Double maxTempCoolDry;
-
- @Expose
- private Double minTempHeat;
-
- @Expose
- private Double maxTempHeat;
-
- @Expose
- private Double minTempAutomatic;
-
- @Expose
- private Double maxTempAutomatic;
-
- @Expose
- private Boolean legacyDevice;
-
- @Expose
- private Boolean unitSupportsStandbyMode;
-
- @Expose
- private Boolean modelIsAirCurtain;
-
- @Expose
- private Boolean modelSupportsFanSpeed;
-
- @Expose
- private Boolean modelSupportsAuto;
-
- @Expose
- private Boolean modelSupportsHeat;
-
- @Expose
- private Boolean modelSupportsDry;
-
- @Expose
- private Boolean modelSupportsVaneVertical;
-
- @Expose
- private Boolean modelSupportsVaneHorizontal;
-
- @Expose
- private Boolean modelSupportsStandbyMode;
-
- @Expose
- private Boolean modelSupportsEnergyReporting;
-
- @Expose
- private Boolean power;
-
- @Expose
- private Double roomTemperature;
-
- @Expose
- private Double setTemperature;
-
- @Expose
- private Integer actualFanSpeed;
-
- @Expose
- private Integer fanSpeed;
-
- @Expose
- private Boolean automaticFanSpeed;
-
- @Expose
- private Integer vaneVerticalDirection;
-
- @Expose
- private Boolean vaneVerticalSwing;
-
- @Expose
- private Integer vaneHorizontalDirection;
-
- @Expose
- private Boolean vaneHorizontalSwing;
-
- @Expose
- private Integer operationMode;
-
- @Expose
- private Integer effectiveFlags;
-
- @Expose
- private Integer lastEffectiveFlags;
-
- @Expose
- private Boolean inStandbyMode;
-
- @Expose
- private Double defaultCoolingSetTemperature;
-
- @Expose
- private Double defaultHeatingSetTemperature;
-
- @Expose
- private Integer roomTemperatureLabel;
-
- @Expose
- private Boolean hasEnergyConsumedMeter;
-
- @Expose
- private Integer currentEnergyConsumed;
-
- @Expose
- private Integer currentEnergyMode;
-
- @Expose
- private Boolean coolingDisabled;
-
- @Expose
- private Integer minPcycle;
-
- @Expose
- private Integer maxPcycle;
-
- @Expose
- private Integer effectivePCycle;
-
- @Expose
- private Integer maxOutdoorUnits;
-
- @Expose
- private Integer maxIndoorUnits;
-
- @Expose
- private Integer maxTemperatureControlUnits;
-
- @Expose
- private Integer deviceID;
-
- @Expose
- private String macAddress;
-
- @Expose
- private String serialNumber;
-
- @Expose
- private Integer timeZoneID;
-
- @Expose
- private Integer diagnosticMode;
-
- @Expose
- private Object diagnosticEndDate;
-
- @Expose
- private Integer expectedCommand;
-
- @Expose
- private Object owner;
-
- @Expose
- private Object detectedCountry;
-
- @Expose
- private Integer adaptorType;
-
- @Expose
- private Object firmwareDeployment;
-
- @Expose
- private Boolean firmwareUpdateAborted;
-
- @Expose
- private Integer wifiSignalStrength;
-
- @Expose
- private String wifiAdapterStatus;
-
- @Expose
- private String position;
-
- @Expose
- private Integer pCycle;
-
- @Expose
- private Integer recordNumMax;
-
- @Expose
- private String lastTimeStamp;
-
- @Expose
- private Integer errorCode;
-
- @Expose
- private Boolean hasError;
-
- @Expose
- private String lastReset;
-
- @Expose
- private Integer flashWrites;
-
- @Expose
- private Object scene;
-
- @Expose
- private Object sSLExpirationDate;
-
- @Expose
- private Object sPTimeout;
-
- @Expose
- private Object passcode;
-
- @Expose
- private Boolean serverCommunicationDisabled;
-
- @Expose
- private Integer consecutiveUploadErrors;
-
- @Expose
- private Object doNotRespondAfter;
-
- @Expose
- private Integer ownerRoleAccessLevel;
-
- @Expose
- private Integer ownerCountry;
-
- @Expose
- private Object rate1StartTime;
-
- @Expose
- private Object rate2StartTime;
-
- @Expose
- private Integer protocolVersion;
-
- @Expose
- private Integer unitVersion;
-
- @Expose
- private Integer firmwareAppVersion;
-
- @Expose
- private Integer firmwareWebVersion;
-
- @Expose
- private Integer firmwareWlanVersion;
-
- @Expose
- private Boolean hasErrorMessages;
-
- @Expose
- private Boolean hasZone2;
-
- @Expose
- private Boolean offline;
-
- @Expose
- private List<Object> units = null;
-
- public List<Object> getListHistory24Formatters() {
- return listHistory24Formatters;
- }
-
- public void setListHistory24Formatters(List<Object> listHistory24Formatters) {
- this.listHistory24Formatters = listHistory24Formatters;
- }
-
- public Integer getDeviceType() {
- return deviceType;
- }
-
- public void setDeviceType(Integer deviceType) {
- this.deviceType = deviceType;
- }
-
- public Boolean getCanCool() {
- return canCool;
- }
-
- public void setCanCool(Boolean canCool) {
- this.canCool = canCool;
- }
-
- public Boolean getCanHeat() {
- return canHeat;
- }
-
- public void setCanHeat(Boolean canHeat) {
- this.canHeat = canHeat;
- }
-
- public Boolean getCanDry() {
- return canDry;
- }
-
- public void setCanDry(Boolean canDry) {
- this.canDry = canDry;
- }
-
- public Boolean getHasAutomaticFanSpeed() {
- return hasAutomaticFanSpeed;
- }
-
- public void setHasAutomaticFanSpeed(Boolean hasAutomaticFanSpeed) {
- this.hasAutomaticFanSpeed = hasAutomaticFanSpeed;
- }
-
- public Boolean getAirDirectionFunction() {
- return airDirectionFunction;
- }
-
- public void setAirDirectionFunction(Boolean airDirectionFunction) {
- this.airDirectionFunction = airDirectionFunction;
- }
-
- public Boolean getSwingFunction() {
- return swingFunction;
- }
-
- public void setSwingFunction(Boolean swingFunction) {
- this.swingFunction = swingFunction;
- }
-
- public Integer getNumberOfFanSpeeds() {
- return numberOfFanSpeeds;
- }
-
- public void setNumberOfFanSpeeds(Integer numberOfFanSpeeds) {
- this.numberOfFanSpeeds = numberOfFanSpeeds;
- }
-
- public Boolean getUseTemperatureA() {
- return useTemperatureA;
- }
-
- public void setUseTemperatureA(Boolean useTemperatureA) {
- this.useTemperatureA = useTemperatureA;
- }
-
- public Integer getTemperatureIncrementOverride() {
- return temperatureIncrementOverride;
- }
-
- public void setTemperatureIncrementOverride(Integer temperatureIncrementOverride) {
- this.temperatureIncrementOverride = temperatureIncrementOverride;
- }
-
- public Double getTemperatureIncrement() {
- return temperatureIncrement;
- }
-
- public void setTemperatureIncrement(Double temperatureIncrement) {
- this.temperatureIncrement = temperatureIncrement;
- }
-
- public Double getMinTempCoolDry() {
- return minTempCoolDry;
- }
-
- public void setMinTempCoolDry(Double minTempCoolDry) {
- this.minTempCoolDry = minTempCoolDry;
- }
-
- public Double getMaxTempCoolDry() {
- return maxTempCoolDry;
- }
-
- public void setMaxTempCoolDry(Double maxTempCoolDry) {
- this.maxTempCoolDry = maxTempCoolDry;
- }
-
- public Double getMinTempHeat() {
- return minTempHeat;
- }
-
- public void setMinTempHeat(Double minTempHeat) {
- this.minTempHeat = minTempHeat;
- }
-
- public Double getMaxTempHeat() {
- return maxTempHeat;
- }
-
- public void setMaxTempHeat(Double maxTempHeat) {
- this.maxTempHeat = maxTempHeat;
- }
-
- public Double getMinTempAutomatic() {
- return minTempAutomatic;
- }
-
- public void setMinTempAutomatic(Double minTempAutomatic) {
- this.minTempAutomatic = minTempAutomatic;
- }
-
- public Double getMaxTempAutomatic() {
- return maxTempAutomatic;
- }
-
- public void setMaxTempAutomatic(Double maxTempAutomatic) {
- this.maxTempAutomatic = maxTempAutomatic;
- }
-
- public Boolean getLegacyDevice() {
- return legacyDevice;
- }
-
- public void setLegacyDevice(Boolean legacyDevice) {
- this.legacyDevice = legacyDevice;
- }
-
- public Boolean getUnitSupportsStandbyMode() {
- return unitSupportsStandbyMode;
- }
-
- public void setUnitSupportsStandbyMode(Boolean unitSupportsStandbyMode) {
- this.unitSupportsStandbyMode = unitSupportsStandbyMode;
- }
-
- public Boolean getModelIsAirCurtain() {
- return modelIsAirCurtain;
- }
-
- public void setModelIsAirCurtain(Boolean modelIsAirCurtain) {
- this.modelIsAirCurtain = modelIsAirCurtain;
- }
-
- public Boolean getModelSupportsFanSpeed() {
- return modelSupportsFanSpeed;
- }
-
- public void setModelSupportsFanSpeed(Boolean modelSupportsFanSpeed) {
- this.modelSupportsFanSpeed = modelSupportsFanSpeed;
- }
-
- public Boolean getModelSupportsAuto() {
- return modelSupportsAuto;
- }
-
- public void setModelSupportsAuto(Boolean modelSupportsAuto) {
- this.modelSupportsAuto = modelSupportsAuto;
- }
-
- public Boolean getModelSupportsHeat() {
- return modelSupportsHeat;
- }
-
- public void setModelSupportsHeat(Boolean modelSupportsHeat) {
- this.modelSupportsHeat = modelSupportsHeat;
- }
-
- public Boolean getModelSupportsDry() {
- return modelSupportsDry;
- }
-
- public void setModelSupportsDry(Boolean modelSupportsDry) {
- this.modelSupportsDry = modelSupportsDry;
- }
-
- public Boolean getModelSupportsVaneVertical() {
- return modelSupportsVaneVertical;
- }
-
- public void setModelSupportsVaneVertical(Boolean modelSupportsVaneVertical) {
- this.modelSupportsVaneVertical = modelSupportsVaneVertical;
- }
-
- public Boolean getModelSupportsVaneHorizontal() {
- return modelSupportsVaneHorizontal;
- }
-
- public void setModelSupportsVaneHorizontal(Boolean modelSupportsVaneHorizontal) {
- this.modelSupportsVaneHorizontal = modelSupportsVaneHorizontal;
- }
-
- public Boolean getModelSupportsStandbyMode() {
- return modelSupportsStandbyMode;
- }
-
- public void setModelSupportsStandbyMode(Boolean modelSupportsStandbyMode) {
- this.modelSupportsStandbyMode = modelSupportsStandbyMode;
- }
-
- public Boolean getModelSupportsEnergyReporting() {
- return modelSupportsEnergyReporting;
- }
-
- public void setModelSupportsEnergyReporting(Boolean modelSupportsEnergyReporting) {
- this.modelSupportsEnergyReporting = modelSupportsEnergyReporting;
- }
-
- public Boolean getPower() {
- return power;
- }
-
- public void setPower(Boolean power) {
- this.power = power;
- }
-
- public Double getRoomTemperature() {
- return roomTemperature;
- }
-
- public void setRoomTemperature(Double roomTemperature) {
- this.roomTemperature = roomTemperature;
- }
-
- public Double getSetTemperature() {
- return setTemperature;
- }
-
- public void setSetTemperature(Double setTemperature) {
- this.setTemperature = setTemperature;
- }
-
- public Integer getActualFanSpeed() {
- return actualFanSpeed;
- }
-
- public void setActualFanSpeed(Integer actualFanSpeed) {
- this.actualFanSpeed = actualFanSpeed;
- }
-
- public Integer getFanSpeed() {
- return fanSpeed;
- }
-
- public void setFanSpeed(Integer fanSpeed) {
- this.fanSpeed = fanSpeed;
- }
-
- public Boolean getAutomaticFanSpeed() {
- return automaticFanSpeed;
- }
-
- public void setAutomaticFanSpeed(Boolean automaticFanSpeed) {
- this.automaticFanSpeed = automaticFanSpeed;
- }
-
- public Integer getVaneVerticalDirection() {
- return vaneVerticalDirection;
- }
-
- public void setVaneVerticalDirection(Integer vaneVerticalDirection) {
- this.vaneVerticalDirection = vaneVerticalDirection;
- }
-
- public Boolean getVaneVerticalSwing() {
- return vaneVerticalSwing;
- }
-
- public void setVaneVerticalSwing(Boolean vaneVerticalSwing) {
- this.vaneVerticalSwing = vaneVerticalSwing;
- }
-
- public Integer getVaneHorizontalDirection() {
- return vaneHorizontalDirection;
- }
-
- public void setVaneHorizontalDirection(Integer vaneHorizontalDirection) {
- this.vaneHorizontalDirection = vaneHorizontalDirection;
- }
-
- public Boolean getVaneHorizontalSwing() {
- return vaneHorizontalSwing;
- }
-
- public void setVaneHorizontalSwing(Boolean vaneHorizontalSwing) {
- this.vaneHorizontalSwing = vaneHorizontalSwing;
- }
-
- public Integer getOperationMode() {
- return operationMode;
- }
-
- public void setOperationMode(Integer operationMode) {
- this.operationMode = operationMode;
- }
-
- public Integer getEffectiveFlags() {
- return effectiveFlags;
- }
-
- public void setEffectiveFlags(Integer effectiveFlags) {
- this.effectiveFlags = effectiveFlags;
- }
-
- public Integer getLastEffectiveFlags() {
- return lastEffectiveFlags;
- }
-
- public void setLastEffectiveFlags(Integer lastEffectiveFlags) {
- this.lastEffectiveFlags = lastEffectiveFlags;
- }
-
- public Boolean getInStandbyMode() {
- return inStandbyMode;
- }
-
- public void setInStandbyMode(Boolean inStandbyMode) {
- this.inStandbyMode = inStandbyMode;
- }
-
- public Double getDefaultCoolingSetTemperature() {
- return defaultCoolingSetTemperature;
- }
-
- public void setDefaultCoolingSetTemperature(Double defaultCoolingSetTemperature) {
- this.defaultCoolingSetTemperature = defaultCoolingSetTemperature;
- }
-
- public Double getDefaultHeatingSetTemperature() {
- return defaultHeatingSetTemperature;
- }
-
- public void setDefaultHeatingSetTemperature(Double defaultHeatingSetTemperature) {
- this.defaultHeatingSetTemperature = defaultHeatingSetTemperature;
- }
-
- public Integer getRoomTemperatureLabel() {
- return roomTemperatureLabel;
- }
-
- public void setRoomTemperatureLabel(Integer roomTemperatureLabel) {
- this.roomTemperatureLabel = roomTemperatureLabel;
- }
-
- public Boolean getHasEnergyConsumedMeter() {
- return hasEnergyConsumedMeter;
- }
-
- public void setHasEnergyConsumedMeter(Boolean hasEnergyConsumedMeter) {
- this.hasEnergyConsumedMeter = hasEnergyConsumedMeter;
- }
-
- public Integer getCurrentEnergyConsumed() {
- return currentEnergyConsumed;
- }
-
- public void setCurrentEnergyConsumed(Integer currentEnergyConsumed) {
- this.currentEnergyConsumed = currentEnergyConsumed;
- }
-
- public Integer getCurrentEnergyMode() {
- return currentEnergyMode;
- }
-
- public void setCurrentEnergyMode(Integer currentEnergyMode) {
- this.currentEnergyMode = currentEnergyMode;
- }
-
- public Boolean getCoolingDisabled() {
- return coolingDisabled;
- }
-
- public void setCoolingDisabled(Boolean coolingDisabled) {
- this.coolingDisabled = coolingDisabled;
- }
-
- public Integer getMinPcycle() {
- return minPcycle;
- }
-
- public void setMinPcycle(Integer minPcycle) {
- this.minPcycle = minPcycle;
- }
-
- public Integer getMaxPcycle() {
- return maxPcycle;
- }
-
- public void setMaxPcycle(Integer maxPcycle) {
- this.maxPcycle = maxPcycle;
- }
-
- public Integer getEffectivePCycle() {
- return effectivePCycle;
- }
-
- public void setEffectivePCycle(Integer effectivePCycle) {
- this.effectivePCycle = effectivePCycle;
- }
-
- public Integer getMaxOutdoorUnits() {
- return maxOutdoorUnits;
- }
-
- public void setMaxOutdoorUnits(Integer maxOutdoorUnits) {
- this.maxOutdoorUnits = maxOutdoorUnits;
- }
-
- public Integer getMaxIndoorUnits() {
- return maxIndoorUnits;
- }
-
- public void setMaxIndoorUnits(Integer maxIndoorUnits) {
- this.maxIndoorUnits = maxIndoorUnits;
- }
-
- public Integer getMaxTemperatureControlUnits() {
- return maxTemperatureControlUnits;
- }
-
- public void setMaxTemperatureControlUnits(Integer maxTemperatureControlUnits) {
- this.maxTemperatureControlUnits = maxTemperatureControlUnits;
- }
-
- public Integer getDeviceID() {
- return deviceID;
- }
-
- public void setDeviceID(Integer deviceID) {
- this.deviceID = deviceID;
- }
-
- public String getMacAddress() {
- return macAddress;
- }
-
- public void setMacAddress(String macAddress) {
- this.macAddress = macAddress;
- }
-
- public String getSerialNumber() {
- return serialNumber;
- }
-
- public void setSerialNumber(String serialNumber) {
- this.serialNumber = serialNumber;
- }
-
- public Integer getTimeZoneID() {
- return timeZoneID;
- }
-
- public void setTimeZoneID(Integer timeZoneID) {
- this.timeZoneID = timeZoneID;
- }
-
- public Integer getDiagnosticMode() {
- return diagnosticMode;
- }
-
- public void setDiagnosticMode(Integer diagnosticMode) {
- this.diagnosticMode = diagnosticMode;
- }
-
- public Object getDiagnosticEndDate() {
- return diagnosticEndDate;
- }
-
- public void setDiagnosticEndDate(Object diagnosticEndDate) {
- this.diagnosticEndDate = diagnosticEndDate;
- }
-
- public Integer getExpectedCommand() {
- return expectedCommand;
- }
-
- public void setExpectedCommand(Integer expectedCommand) {
- this.expectedCommand = expectedCommand;
- }
-
- public Object getOwner() {
- return owner;
- }
-
- public void setOwner(Object owner) {
- this.owner = owner;
- }
-
- public Object getDetectedCountry() {
- return detectedCountry;
- }
-
- public void setDetectedCountry(Object detectedCountry) {
- this.detectedCountry = detectedCountry;
- }
-
- public Integer getAdaptorType() {
- return adaptorType;
- }
-
- public void setAdaptorType(Integer adaptorType) {
- this.adaptorType = adaptorType;
- }
-
- public Object getFirmwareDeployment() {
- return firmwareDeployment;
- }
-
- public void setFirmwareDeployment(Object firmwareDeployment) {
- this.firmwareDeployment = firmwareDeployment;
- }
-
- public Boolean getFirmwareUpdateAborted() {
- return firmwareUpdateAborted;
- }
-
- public void setFirmwareUpdateAborted(Boolean firmwareUpdateAborted) {
- this.firmwareUpdateAborted = firmwareUpdateAborted;
- }
-
- public Integer getWifiSignalStrength() {
- return wifiSignalStrength;
- }
-
- public void setWifiSignalStrength(Integer wifiSignalStrength) {
- this.wifiSignalStrength = wifiSignalStrength;
- }
-
- public String getWifiAdapterStatus() {
- return wifiAdapterStatus;
- }
-
- public void setWifiAdapterStatus(String wifiAdapterStatus) {
- this.wifiAdapterStatus = wifiAdapterStatus;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public Integer getPCycle() {
- return pCycle;
- }
-
- public void setPCycle(Integer pCycle) {
- this.pCycle = pCycle;
- }
-
- public Integer getRecordNumMax() {
- return recordNumMax;
- }
-
- public void setRecordNumMax(Integer recordNumMax) {
- this.recordNumMax = recordNumMax;
- }
-
- public String getLastTimeStamp() {
- return lastTimeStamp;
- }
-
- public void setLastTimeStamp(String lastTimeStamp) {
- this.lastTimeStamp = lastTimeStamp;
- }
-
- public Integer getErrorCode() {
- return errorCode;
- }
-
- public void setErrorCode(Integer errorCode) {
- this.errorCode = errorCode;
- }
-
- public Boolean getHasError() {
- return hasError;
- }
-
- public void setHasError(Boolean hasError) {
- this.hasError = hasError;
- }
-
- public String getLastReset() {
- return lastReset;
- }
-
- public void setLastReset(String lastReset) {
- this.lastReset = lastReset;
- }
-
- public Integer getFlashWrites() {
- return flashWrites;
- }
-
- public void setFlashWrites(Integer flashWrites) {
- this.flashWrites = flashWrites;
- }
-
- public Object getScene() {
- return scene;
- }
-
- public void setScene(Object scene) {
- this.scene = scene;
- }
-
- public Object getSSLExpirationDate() {
- return sSLExpirationDate;
- }
-
- public void setSSLExpirationDate(Object sSLExpirationDate) {
- this.sSLExpirationDate = sSLExpirationDate;
- }
-
- public Object getSPTimeout() {
- return sPTimeout;
- }
-
- public void setSPTimeout(Object sPTimeout) {
- this.sPTimeout = sPTimeout;
- }
-
- public Object getPasscode() {
- return passcode;
- }
-
- public void setPasscode(Object passcode) {
- this.passcode = passcode;
- }
-
- public Boolean getServerCommunicationDisabled() {
- return serverCommunicationDisabled;
- }
-
- public void setServerCommunicationDisabled(Boolean serverCommunicationDisabled) {
- this.serverCommunicationDisabled = serverCommunicationDisabled;
- }
-
- public Integer getConsecutiveUploadErrors() {
- return consecutiveUploadErrors;
- }
-
- public void setConsecutiveUploadErrors(Integer consecutiveUploadErrors) {
- this.consecutiveUploadErrors = consecutiveUploadErrors;
- }
-
- public Object getDoNotRespondAfter() {
- return doNotRespondAfter;
- }
-
- public void setDoNotRespondAfter(Object doNotRespondAfter) {
- this.doNotRespondAfter = doNotRespondAfter;
- }
-
- public Integer getOwnerRoleAccessLevel() {
- return ownerRoleAccessLevel;
- }
-
- public void setOwnerRoleAccessLevel(Integer ownerRoleAccessLevel) {
- this.ownerRoleAccessLevel = ownerRoleAccessLevel;
- }
-
- public Integer getOwnerCountry() {
- return ownerCountry;
- }
-
- public void setOwnerCountry(Integer ownerCountry) {
- this.ownerCountry = ownerCountry;
- }
-
- public Object getRate1StartTime() {
- return rate1StartTime;
- }
-
- public void setRate1StartTime(Object rate1StartTime) {
- this.rate1StartTime = rate1StartTime;
- }
-
- public Object getRate2StartTime() {
- return rate2StartTime;
- }
-
- public void setRate2StartTime(Object rate2StartTime) {
- this.rate2StartTime = rate2StartTime;
- }
-
- public Integer getProtocolVersion() {
- return protocolVersion;
- }
-
- public void setProtocolVersion(Integer protocolVersion) {
- this.protocolVersion = protocolVersion;
- }
-
- public Integer getUnitVersion() {
- return unitVersion;
- }
-
- public void setUnitVersion(Integer unitVersion) {
- this.unitVersion = unitVersion;
- }
-
- public Integer getFirmwareAppVersion() {
- return firmwareAppVersion;
- }
-
- public void setFirmwareAppVersion(Integer firmwareAppVersion) {
- this.firmwareAppVersion = firmwareAppVersion;
- }
-
- public Integer getFirmwareWebVersion() {
- return firmwareWebVersion;
- }
-
- public void setFirmwareWebVersion(Integer firmwareWebVersion) {
- this.firmwareWebVersion = firmwareWebVersion;
- }
-
- public Integer getFirmwareWlanVersion() {
- return firmwareWlanVersion;
- }
-
- public void setFirmwareWlanVersion(Integer firmwareWlanVersion) {
- this.firmwareWlanVersion = firmwareWlanVersion;
- }
-
- public Boolean getHasErrorMessages() {
- return hasErrorMessages;
- }
-
- public void setHasErrorMessages(Boolean hasErrorMessages) {
- this.hasErrorMessages = hasErrorMessages;
- }
-
- public Boolean getHasZone2() {
- return hasZone2;
- }
-
- public void setHasZone2(Boolean hasZone2) {
- this.hasZone2 = hasZone2;
- }
-
- public Boolean getOffline() {
- return offline;
- }
-
- public void setOffline(Boolean offline) {
- this.offline = offline;
- }
-
- public List<Object> getUnits() {
- return units;
- }
-
- public void setUnits(List<Object> units) {
- this.units = units;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link DeviceProps} is responsible of JSON data For MELCloud API
- * Device Status data
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- * @author Pauli Anttila - Fine tuned expose annotations
- */
-public class DeviceStatus {
-
- @Expose
- private Integer effectiveFlags;
-
- @Expose(serialize = false, deserialize = true)
- private Object localIPAddress;
-
- @Expose(serialize = false, deserialize = true)
- private Double roomTemperature;
-
- @Expose
- private Double setTemperature;
-
- @Expose
- private Integer setFanSpeed;
-
- @Expose
- private Integer operationMode;
-
- @Expose
- private Integer vaneHorizontal;
-
- @Expose
- private Integer vaneVertical;
-
- @Expose
- private Object name;
-
- @Expose(serialize = false, deserialize = true)
- private Integer numberOfFanSpeeds;
-
- @Expose(serialize = false, deserialize = true)
- private List<WeatherObservation> weatherObservations = null;
-
- @Expose(serialize = false, deserialize = true)
- private Object errorMessage;
-
- @Expose(serialize = false, deserialize = true)
- private Integer errorCode;
-
- @Expose(serialize = false, deserialize = true)
- private Double defaultHeatingSetTemperature;
-
- @Expose(serialize = false, deserialize = true)
- private Double defaultCoolingSetTemperature;
-
- @Expose(serialize = false, deserialize = true)
- private Boolean hideVaneControls;
-
- @Expose(serialize = false, deserialize = true)
- private Boolean hideDryModeControl;
-
- @Expose(serialize = false, deserialize = true)
- private Integer roomTemperatureLabel;
-
- @Expose(serialize = false, deserialize = true)
- private Boolean inStandbyMode;
-
- @Expose(serialize = false, deserialize = true)
- private Integer temperatureIncrementOverride;
-
- @Expose
- private Integer deviceID;
-
- @Expose(serialize = false, deserialize = true)
- private Integer deviceType;
-
- @Expose(serialize = false, deserialize = true)
- private String lastCommunication;
-
- @Expose(serialize = false, deserialize = true)
- private String nextCommunication;
-
- @Expose
- private Boolean power;
-
- @Expose
- private Boolean hasPendingCommand;
-
- @Expose(serialize = false, deserialize = true)
- private Boolean offline;
-
- @Expose(serialize = false, deserialize = true)
- private Object scene;
-
- @Expose(serialize = false, deserialize = true)
- private Object sceneOwner;
-
- public Integer getEffectiveFlags() {
- return effectiveFlags;
- }
-
- public void setEffectiveFlags(Integer effectiveFlags) {
- this.effectiveFlags = effectiveFlags;
- }
-
- public Object getLocalIPAddress() {
- return localIPAddress;
- }
-
- public void setLocalIPAddress(Object localIPAddress) {
- this.localIPAddress = localIPAddress;
- }
-
- public Double getRoomTemperature() {
- return roomTemperature;
- }
-
- public void setRoomTemperature(Double roomTemperature) {
- this.roomTemperature = roomTemperature;
- }
-
- public Double getSetTemperature() {
- return setTemperature;
- }
-
- public void setSetTemperature(Double setTemperature) {
- this.setTemperature = setTemperature;
- }
-
- public Integer getSetFanSpeed() {
- return setFanSpeed;
- }
-
- public void setSetFanSpeed(Integer setFanSpeed) {
- this.setFanSpeed = setFanSpeed;
- }
-
- public Integer getOperationMode() {
- return operationMode;
- }
-
- public void setOperationMode(Integer operationMode) {
- this.operationMode = operationMode;
- }
-
- public Integer getVaneHorizontal() {
- return vaneHorizontal;
- }
-
- public void setVaneHorizontal(Integer vaneHorizontal) {
- this.vaneHorizontal = vaneHorizontal;
- }
-
- public Integer getVaneVertical() {
- return vaneVertical;
- }
-
- public void setVaneVertical(Integer vaneVertical) {
- this.vaneVertical = vaneVertical;
- }
-
- public Object getName() {
- return name;
- }
-
- public void setName(Object name) {
- this.name = name;
- }
-
- public Integer getNumberOfFanSpeeds() {
- return numberOfFanSpeeds;
- }
-
- public void setNumberOfFanSpeeds(Integer numberOfFanSpeeds) {
- this.numberOfFanSpeeds = numberOfFanSpeeds;
- }
-
- public List<WeatherObservation> getWeatherObservations() {
- return weatherObservations;
- }
-
- public void setWeatherObservations(List<WeatherObservation> weatherObservations) {
- this.weatherObservations = weatherObservations;
- }
-
- public Object getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(Object errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public Integer getErrorCode() {
- return errorCode;
- }
-
- public void setErrorCode(Integer errorCode) {
- this.errorCode = errorCode;
- }
-
- public Double getDefaultHeatingSetTemperature() {
- return defaultHeatingSetTemperature;
- }
-
- public void setDefaultHeatingSetTemperature(Double defaultHeatingSetTemperature) {
- this.defaultHeatingSetTemperature = defaultHeatingSetTemperature;
- }
-
- public Double getDefaultCoolingSetTemperature() {
- return defaultCoolingSetTemperature;
- }
-
- public void setDefaultCoolingSetTemperature(Double defaultCoolingSetTemperature) {
- this.defaultCoolingSetTemperature = defaultCoolingSetTemperature;
- }
-
- public Boolean getHideVaneControls() {
- return hideVaneControls;
- }
-
- public void setHideVaneControls(Boolean hideVaneControls) {
- this.hideVaneControls = hideVaneControls;
- }
-
- public Boolean getHideDryModeControl() {
- return hideDryModeControl;
- }
-
- public void setHideDryModeControl(Boolean hideDryModeControl) {
- this.hideDryModeControl = hideDryModeControl;
- }
-
- public Integer getRoomTemperatureLabel() {
- return roomTemperatureLabel;
- }
-
- public void setRoomTemperatureLabel(Integer roomTemperatureLabel) {
- this.roomTemperatureLabel = roomTemperatureLabel;
- }
-
- public Boolean getInStandbyMode() {
- return inStandbyMode;
- }
-
- public void setInStandbyMode(Boolean inStandbyMode) {
- this.inStandbyMode = inStandbyMode;
- }
-
- public Integer getTemperatureIncrementOverride() {
- return temperatureIncrementOverride;
- }
-
- public void setTemperatureIncrementOverride(Integer temperatureIncrementOverride) {
- this.temperatureIncrementOverride = temperatureIncrementOverride;
- }
-
- public Integer getDeviceID() {
- return deviceID;
- }
-
- public void setDeviceID(Integer deviceID) {
- this.deviceID = deviceID;
- }
-
- public Integer getDeviceType() {
- return deviceType;
- }
-
- public void setDeviceType(Integer deviceType) {
- this.deviceType = deviceType;
- }
-
- public String getLastCommunication() {
- return lastCommunication;
- }
-
- public void setLastCommunication(String lastCommunication) {
- this.lastCommunication = lastCommunication;
- }
-
- public String getNextCommunication() {
- return nextCommunication;
- }
-
- public void setNextCommunication(String nextCommunication) {
- this.nextCommunication = nextCommunication;
- }
-
- public Boolean getPower() {
- return power;
- }
-
- public void setPower(Boolean power) {
- this.power = power;
- }
-
- public Boolean getHasPendingCommand() {
- return hasPendingCommand;
- }
-
- public void setHasPendingCommand(Boolean hasPendingCommand) {
- this.hasPendingCommand = hasPendingCommand;
- }
-
- public Boolean getOffline() {
- return offline;
- }
-
- public void setOffline(Boolean offline) {
- this.offline = offline;
- }
-
- public Object getScene() {
- return scene;
- }
-
- public void setScene(Object scene) {
- this.scene = scene;
- }
-
- public Object getSceneOwner() {
- return sceneOwner;
- }
-
- public void setSceneOwner(Object sceneOwner) {
- this.sceneOwner = sceneOwner;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * {@link Floor} provides floor specific information for JSON data returned from MELCloud API
- * Floor Data
- * Generated with jsonschema2pojo
- *
- * @author Wietse van Buitenen - Initial contribution
- */
-public class Floor {
-
- @Expose
- private Integer iD;
-
- @Expose
- private String name;
-
- @Expose
- private Integer buildingId;
-
- @Expose
- private Integer accessLevel;
-
- @Expose
- private Boolean directAccess;
-
- @Expose
- private Object endDate;
-
- @Expose
- private List<Area> areas = null;
-
- @Expose
- private List<Device> devices = null;
-
- @Expose
- private Integer minTemperature;
-
- @Expose
- private Integer maxTemperature;
-
- @Expose
- private Boolean expanded;
-
- public Integer getID() {
- return iD;
- }
-
- public void setID(Integer iD) {
- this.iD = iD;
- }
-
- public Integer getBuildingId() {
- return buildingId;
- }
-
- public void setBuildingId(Integer buildingId) {
- this.buildingId = buildingId;
- }
-
- public Integer getAccessLevel() {
- return accessLevel;
- }
-
- public void setAccessLevel(Integer accessLevel) {
- this.accessLevel = accessLevel;
- }
-
- public Boolean getDirectAccess() {
- return directAccess;
- }
-
- public void setDirectAccess(Boolean directAccess) {
- this.directAccess = directAccess;
- }
-
- public Object getEndDate() {
- return endDate;
- }
-
- public void setEndDate(Object endDate) {
- this.endDate = endDate;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public List<Area> getAreas() {
- return areas;
- }
-
- public void setAreas(List<Area> areas) {
- this.areas = areas;
- }
-
- public List<Device> getDevices() {
- return devices;
- }
-
- public void setDevices(List<Device> devices) {
- this.devices = devices;
- }
-
- public Integer getMinTemperature() {
- return minTemperature;
- }
-
- public void setMinTemperature(Integer minTemperature) {
- this.minTemperature = minTemperature;
- }
-
- public Integer getMaxTemperature() {
- return maxTemperature;
- }
-
- public void setMaxTemperature(Integer maxTemperature) {
- this.maxTemperature = maxTemperature;
- }
-
- public Boolean getExpanded() {
- return expanded;
- }
-
- public void setExpanded(Boolean expanded) {
- this.expanded = expanded;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * {@link HeatpumpDeviceStatus} is the JSON data we receive from the MELCloud API
- * when performing a request to DeviceType 1.
- * Generated with jsonschema2pojo
- *
- * @author Wietse van Buitenen - Initial contribution
- */
-public class HeatpumpDeviceStatus {
- @Expose
- private Long effectiveFlags;
-
- @Expose(serialize = false, deserialize = true)
- private Object localIPAddress;
-
- @Expose
- private Double setTemperatureZone1;
-
- @Expose
- private Double setTemperatureZone2;
-
- @Expose(serialize = false, deserialize = true)
- private Double roomTemperatureZone1;
-
- @Expose(serialize = false, deserialize = true)
- private Double roomTemperatureZone2;
-
- @Expose
- private Integer operationMode;
-
- @Expose
- private Integer operationModeZone1;
-
- @Expose
- private Integer operationModeZone2;
-
- @Expose(serialize = false, deserialize = true)
- private List<WeatherObservation> weatherObservations = null;
-
- @Expose(serialize = false, deserialize = true)
- private Object errorMessage;
-
- @Expose(serialize = false, deserialize = true)
- private Integer errorCode;
-
- @Expose
- private Double setHeatFlowTemperatureZone1;
-
- @Expose
- private Double setHeatFlowTemperatureZone2;
-
- @Expose
- private Double setCoolFlowTemperatureZone1;
-
- @Expose
- private Double setCoolFlowTemperatureZone2;
-
- @Expose
- private Integer hCControlType;
-
- @Expose(serialize = false, deserialize = true)
- private Double tankWaterTemperature;
-
- @Expose
- private Double setTankWaterTemperature;
-
- @Expose
- private Boolean forcedHotWaterMode;
-
- @Expose
- private Integer unitStatus;
-
- @Expose
- private Double outdoorTemperature;
-
- @Expose
- private Boolean ecoHotWater;
-
- @Expose
- private Object zone1Name;
-
- @Expose
- private Object zone2Name;
-
- @Expose
- private Boolean holidayMode;
-
- @Expose
- private Boolean prohibitZone1;
-
- @Expose
- private Boolean prohibitZone2;
-
- @Expose
- private Boolean prohibitHotWater;
-
- @Expose
- private Integer temperatureIncrementOverride;
-
- @Expose
- private Boolean idleZone1;
-
- @Expose
- private Boolean idleZone2;
-
- @Expose
- private Integer deviceID;
-
- @Expose
- private Integer deviceType;
-
- @Expose(serialize = false, deserialize = true)
- private String lastCommunication;
-
- @Expose(serialize = false, deserialize = true)
- private String nextCommunication;
-
- @Expose
- private Boolean power;
-
- @Expose(serialize = false, deserialize = true)
- private Boolean hasPendingCommand;
-
- @Expose(serialize = false, deserialize = true)
- private Boolean offline;
-
- @Expose
- private Object scene;
-
- @Expose
- private Object sceneOwner;
-
- public Long getEffectiveFlags() {
- return effectiveFlags;
- }
-
- public void setEffectiveFlags(Long effectiveFlags) {
- this.effectiveFlags = effectiveFlags;
- }
-
- public Object getLocalIPAddress() {
- return localIPAddress;
- }
-
- public void setLocalIPAddress(Object localIPAddress) {
- this.localIPAddress = localIPAddress;
- }
-
- public Double getSetTemperatureZone1() {
- return setTemperatureZone1;
- }
-
- public void setSetTemperatureZone1(Double setTemperatureZone1) {
- this.setTemperatureZone1 = setTemperatureZone1;
- }
-
- public Double getSetTemperatureZone2() {
- return setTemperatureZone2;
- }
-
- public void setSetTemperatureZone2(Double setTemperatureZone2) {
- this.setTemperatureZone2 = setTemperatureZone2;
- }
-
- public Double getRoomTemperatureZone1() {
- return roomTemperatureZone1;
- }
-
- public void setRoomTemperatureZone1(Double roomTemperatureZone1) {
- this.roomTemperatureZone1 = roomTemperatureZone1;
- }
-
- public Double getRoomTemperatureZone2() {
- return roomTemperatureZone2;
- }
-
- public void setRoomTemperatureZone2(Double roomTemperatureZone2) {
- this.roomTemperatureZone2 = roomTemperatureZone2;
- }
-
- public Integer getOperationMode() {
- return operationMode;
- }
-
- public void setOperationMode(Integer operationMode) {
- this.operationMode = operationMode;
- }
-
- public Integer getOperationModeZone1() {
- return operationModeZone1;
- }
-
- public void setOperationModeZone1(Integer operationModeZone1) {
- this.operationModeZone1 = operationModeZone1;
- }
-
- public Integer getOperationModeZone2() {
- return operationModeZone2;
- }
-
- public void setOperationModeZone2(Integer operationModeZone2) {
- this.operationModeZone2 = operationModeZone2;
- }
-
- public List<WeatherObservation> getWeatherObservations() {
- return weatherObservations;
- }
-
- public void setWeatherObservations(List<WeatherObservation> weatherObservations) {
- this.weatherObservations = weatherObservations;
- }
-
- public Object getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(Object errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public Integer getErrorCode() {
- return errorCode;
- }
-
- public void setErrorCode(Integer errorCode) {
- this.errorCode = errorCode;
- }
-
- public Double getSetHeatFlowTemperatureZone1() {
- return setHeatFlowTemperatureZone1;
- }
-
- public void setSetHeatFlowTemperatureZone1(Double setHeatFlowTemperatureZone1) {
- this.setHeatFlowTemperatureZone1 = setHeatFlowTemperatureZone1;
- }
-
- public Double getSetHeatFlowTemperatureZone2() {
- return setHeatFlowTemperatureZone2;
- }
-
- public void setSetHeatFlowTemperatureZone2(Double setHeatFlowTemperatureZone2) {
- this.setHeatFlowTemperatureZone2 = setHeatFlowTemperatureZone2;
- }
-
- public Double getSetCoolFlowTemperatureZone1() {
- return setCoolFlowTemperatureZone1;
- }
-
- public void setSetCoolFlowTemperatureZone1(Double setCoolFlowTemperatureZone1) {
- this.setCoolFlowTemperatureZone1 = setCoolFlowTemperatureZone1;
- }
-
- public Double getSetCoolFlowTemperatureZone2() {
- return setCoolFlowTemperatureZone2;
- }
-
- public void setSetCoolFlowTemperatureZone2(Double setCoolFlowTemperatureZone2) {
- this.setCoolFlowTemperatureZone2 = setCoolFlowTemperatureZone2;
- }
-
- public Integer getHCControlType() {
- return hCControlType;
- }
-
- public void setHCControlType(Integer hCControlType) {
- this.hCControlType = hCControlType;
- }
-
- public Double getTankWaterTemperature() {
- return tankWaterTemperature;
- }
-
- public void setTankWaterTemperature(Double tankWaterTemperature) {
- this.tankWaterTemperature = tankWaterTemperature;
- }
-
- public Double getSetTankWaterTemperature() {
- return setTankWaterTemperature;
- }
-
- public void setSetTankWaterTemperature(Double setTankWaterTemperature) {
- this.setTankWaterTemperature = setTankWaterTemperature;
- }
-
- public Boolean getForcedHotWaterMode() {
- return forcedHotWaterMode;
- }
-
- public void setForcedHotWaterMode(Boolean forcedHotWaterMode) {
- this.forcedHotWaterMode = forcedHotWaterMode;
- }
-
- public Integer getUnitStatus() {
- return unitStatus;
- }
-
- public void setUnitStatus(Integer unitStatus) {
- this.unitStatus = unitStatus;
- }
-
- public Double getOutdoorTemperature() {
- return outdoorTemperature;
- }
-
- public void setOutdoorTemperature(Double outdoorTemperature) {
- this.outdoorTemperature = outdoorTemperature;
- }
-
- public Boolean getEcoHotWater() {
- return ecoHotWater;
- }
-
- public void setEcoHotWater(Boolean ecoHotWater) {
- this.ecoHotWater = ecoHotWater;
- }
-
- public Object getZone1Name() {
- return zone1Name;
- }
-
- public void setZone1Name(Object zone1Name) {
- this.zone1Name = zone1Name;
- }
-
- public Object getZone2Name() {
- return zone2Name;
- }
-
- public void setZone2Name(Object zone2Name) {
- this.zone2Name = zone2Name;
- }
-
- public Boolean getHolidayMode() {
- return holidayMode;
- }
-
- public void setHolidayMode(Boolean holidayMode) {
- this.holidayMode = holidayMode;
- }
-
- public Boolean getProhibitZone1() {
- return prohibitZone1;
- }
-
- public void setProhibitZone1(Boolean prohibitZone1) {
- this.prohibitZone1 = prohibitZone1;
- }
-
- public Boolean getProhibitZone2() {
- return prohibitZone2;
- }
-
- public void setProhibitZone2(Boolean prohibitZone2) {
- this.prohibitZone2 = prohibitZone2;
- }
-
- public Boolean getProhibitHotWater() {
- return prohibitHotWater;
- }
-
- public void setProhibitHotWater(Boolean prohibitHotWater) {
- this.prohibitHotWater = prohibitHotWater;
- }
-
- public Integer getTemperatureIncrementOverride() {
- return temperatureIncrementOverride;
- }
-
- public void setTemperatureIncrementOverride(Integer temperatureIncrementOverride) {
- this.temperatureIncrementOverride = temperatureIncrementOverride;
- }
-
- public Boolean getIdleZone1() {
- return idleZone1;
- }
-
- public void setIdleZone1(Boolean idleZone1) {
- this.idleZone1 = idleZone1;
- }
-
- public Boolean getIdleZone2() {
- return idleZone2;
- }
-
- public void setIdleZone2(Boolean idleZone2) {
- this.idleZone2 = idleZone2;
- }
-
- public Integer getDeviceID() {
- return deviceID;
- }
-
- public void setDeviceID(Integer deviceID) {
- this.deviceID = deviceID;
- }
-
- public Integer getDeviceType() {
- return deviceType;
- }
-
- public void setDeviceType(Integer deviceType) {
- this.deviceType = deviceType;
- }
-
- public String getLastCommunication() {
- return lastCommunication;
- }
-
- public void setLastCommunication(String lastCommunication) {
- this.lastCommunication = lastCommunication;
- }
-
- public String getNextCommunication() {
- return nextCommunication;
- }
-
- public void setNextCommunication(String nextCommunication) {
- this.nextCommunication = nextCommunication;
- }
-
- public Boolean getPower() {
- return power;
- }
-
- public void setPower(Boolean power) {
- this.power = power;
- }
-
- public Boolean getHasPendingCommand() {
- return hasPendingCommand;
- }
-
- public void setHasPendingCommand(Boolean hasPendingCommand) {
- this.hasPendingCommand = hasPendingCommand;
- }
-
- public Boolean getOffline() {
- return offline;
- }
-
- public void setOffline(Boolean offline) {
- this.offline = offline;
- }
-
- public Object getScene() {
- return scene;
- }
-
- public void setScene(Object scene) {
- this.scene = scene;
- }
-
- public Object getSceneOwner() {
- return sceneOwner;
- }
-
- public void setSceneOwner(Object sceneOwner) {
- this.sceneOwner = sceneOwner;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import com.google.gson.annotations.Expose;
-import com.google.gson.annotations.SerializedName;
-
-/**
- * The {@link ListDevicesResponse} is responsible of JSON data For MELCloud API
- * Response of Devices List.
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class ListDevicesResponse {
-
- @Expose
- private Integer iD;
-
- @Expose
- private String name;
-
- @Expose
- private String addressLine1;
-
- @Expose
- private Object addressLine2;
-
- @Expose
- private String city;
-
- @Expose
- private String postcode;
-
- @Expose
- private Double latitude;
-
- @Expose
- private Double longitude;
-
- @Expose
- private Object district;
-
- @Expose
- private Boolean fPDefined;
-
- @Expose
- private Boolean fPEnabled;
-
- @Expose
- private Integer fPMinTemperature;
-
- @Expose
- private Integer fPMaxTemperature;
-
- @Expose
- private Boolean hMDefined;
-
- @Expose
- private Boolean hMEnabled;
-
- @Expose
- private Object hMStartDate;
-
- @Expose
- private Object hMEndDate;
-
- @Expose
- private Integer buildingType;
-
- @Expose
- private Integer propertyType;
-
- @Expose
- private String dateBuilt;
-
- @Expose
- private Boolean hasGasSupply;
-
- @Expose
- private String locationLookupDate;
-
- @Expose
- private Integer country;
-
- @Expose
- private Integer timeZoneContinent;
-
- @Expose
- private Integer timeZoneCity;
-
- @Expose
- private Integer timeZone;
-
- @Expose
- private Integer location;
-
- @Expose
- private Boolean coolingDisabled;
-
- @Expose
- private Boolean expanded;
-
- @Expose
- private Structure structure;
-
- @Expose
- private Integer accessLevel;
-
- @Expose
- private Boolean directAccess;
-
- @Expose
- private Integer minTemperature;
-
- @Expose
- private Integer maxTemperature;
-
- @Expose
- private Object owner;
-
- @Expose
- private String endDate;
-
- @SerializedName("iDateBuilt")
- @Expose
- private Object iDateBuilt;
-
- @Expose
- private QuantizedCoordinates quantizedCoordinates;
-
- public Integer getID() {
- return iD;
- }
-
- public void setID(Integer iD) {
- this.iD = iD;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getAddressLine1() {
- return addressLine1;
- }
-
- public void setAddressLine1(String addressLine1) {
- this.addressLine1 = addressLine1;
- }
-
- public Object getAddressLine2() {
- return addressLine2;
- }
-
- public void setAddressLine2(Object addressLine2) {
- this.addressLine2 = addressLine2;
- }
-
- public String getCity() {
- return city;
- }
-
- public void setCity(String city) {
- this.city = city;
- }
-
- public String getPostcode() {
- return postcode;
- }
-
- public void setPostcode(String postcode) {
- this.postcode = postcode;
- }
-
- public Double getLatitude() {
- return latitude;
- }
-
- public void setLatitude(Double latitude) {
- this.latitude = latitude;
- }
-
- public Double getLongitude() {
- return longitude;
- }
-
- public void setLongitude(Double longitude) {
- this.longitude = longitude;
- }
-
- public Object getDistrict() {
- return district;
- }
-
- public void setDistrict(Object district) {
- this.district = district;
- }
-
- public Boolean getFPDefined() {
- return fPDefined;
- }
-
- public void setFPDefined(Boolean fPDefined) {
- this.fPDefined = fPDefined;
- }
-
- public Boolean getFPEnabled() {
- return fPEnabled;
- }
-
- public void setFPEnabled(Boolean fPEnabled) {
- this.fPEnabled = fPEnabled;
- }
-
- public Integer getFPMinTemperature() {
- return fPMinTemperature;
- }
-
- public void setFPMinTemperature(Integer fPMinTemperature) {
- this.fPMinTemperature = fPMinTemperature;
- }
-
- public Integer getFPMaxTemperature() {
- return fPMaxTemperature;
- }
-
- public void setFPMaxTemperature(Integer fPMaxTemperature) {
- this.fPMaxTemperature = fPMaxTemperature;
- }
-
- public Boolean getHMDefined() {
- return hMDefined;
- }
-
- public void setHMDefined(Boolean hMDefined) {
- this.hMDefined = hMDefined;
- }
-
- public Boolean getHMEnabled() {
- return hMEnabled;
- }
-
- public void setHMEnabled(Boolean hMEnabled) {
- this.hMEnabled = hMEnabled;
- }
-
- public Object getHMStartDate() {
- return hMStartDate;
- }
-
- public void setHMStartDate(Object hMStartDate) {
- this.hMStartDate = hMStartDate;
- }
-
- public Object getHMEndDate() {
- return hMEndDate;
- }
-
- public void setHMEndDate(Object hMEndDate) {
- this.hMEndDate = hMEndDate;
- }
-
- public Integer getBuildingType() {
- return buildingType;
- }
-
- public void setBuildingType(Integer buildingType) {
- this.buildingType = buildingType;
- }
-
- public Integer getPropertyType() {
- return propertyType;
- }
-
- public void setPropertyType(Integer propertyType) {
- this.propertyType = propertyType;
- }
-
- public String getDateBuilt() {
- return dateBuilt;
- }
-
- public void setDateBuilt(String dateBuilt) {
- this.dateBuilt = dateBuilt;
- }
-
- public Boolean getHasGasSupply() {
- return hasGasSupply;
- }
-
- public void setHasGasSupply(Boolean hasGasSupply) {
- this.hasGasSupply = hasGasSupply;
- }
-
- public String getLocationLookupDate() {
- return locationLookupDate;
- }
-
- public void setLocationLookupDate(String locationLookupDate) {
- this.locationLookupDate = locationLookupDate;
- }
-
- public Integer getCountry() {
- return country;
- }
-
- public void setCountry(Integer country) {
- this.country = country;
- }
-
- public Integer getTimeZoneContinent() {
- return timeZoneContinent;
- }
-
- public void setTimeZoneContinent(Integer timeZoneContinent) {
- this.timeZoneContinent = timeZoneContinent;
- }
-
- public Integer getTimeZoneCity() {
- return timeZoneCity;
- }
-
- public void setTimeZoneCity(Integer timeZoneCity) {
- this.timeZoneCity = timeZoneCity;
- }
-
- public Integer getTimeZone() {
- return timeZone;
- }
-
- public void setTimeZone(Integer timeZone) {
- this.timeZone = timeZone;
- }
-
- public Integer getLocation() {
- return location;
- }
-
- public void setLocation(Integer location) {
- this.location = location;
- }
-
- public Boolean getCoolingDisabled() {
- return coolingDisabled;
- }
-
- public void setCoolingDisabled(Boolean coolingDisabled) {
- this.coolingDisabled = coolingDisabled;
- }
-
- public Boolean getExpanded() {
- return expanded;
- }
-
- public void setExpanded(Boolean expanded) {
- this.expanded = expanded;
- }
-
- public Structure getStructure() {
- return structure;
- }
-
- public void setStructure(Structure structure) {
- this.structure = structure;
- }
-
- public Integer getAccessLevel() {
- return accessLevel;
- }
-
- public void setAccessLevel(Integer accessLevel) {
- this.accessLevel = accessLevel;
- }
-
- public Boolean getDirectAccess() {
- return directAccess;
- }
-
- public void setDirectAccess(Boolean directAccess) {
- this.directAccess = directAccess;
- }
-
- public Integer getMinTemperature() {
- return minTemperature;
- }
-
- public void setMinTemperature(Integer minTemperature) {
- this.minTemperature = minTemperature;
- }
-
- public Integer getMaxTemperature() {
- return maxTemperature;
- }
-
- public void setMaxTemperature(Integer maxTemperature) {
- this.maxTemperature = maxTemperature;
- }
-
- public Object getOwner() {
- return owner;
- }
-
- public void setOwner(Object owner) {
- this.owner = owner;
- }
-
- public String getEndDate() {
- return endDate;
- }
-
- public void setEndDate(String endDate) {
- this.endDate = endDate;
- }
-
- public Object getIDateBuilt() {
- return iDateBuilt;
- }
-
- public void setIDateBuilt(Object iDateBuilt) {
- this.iDateBuilt = iDateBuilt;
- }
-
- public QuantizedCoordinates getQuantizedCoordinates() {
- return quantizedCoordinates;
- }
-
- public void setQuantizedCoordinates(QuantizedCoordinates quantizedCoordinates) {
- this.quantizedCoordinates = quantizedCoordinates;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link LoginClientResponse} is responsible of JSON data For MELCloud API
- * Response Data of Login.
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class LoginClientResponse {
-
- @Expose
- private Object errorId;
-
- @Expose
- private Object errorMessage;
-
- @Expose
- private Integer loginStatus;
-
- @Expose
- private Integer userId;
-
- @Expose
- private Object randomKey;
-
- @Expose
- private Object appVersionAnnouncement;
-
- @Expose
- private LoginData loginData;
-
- @Expose
- private List<Object> listPendingInvite = null;
-
- @Expose
- private List<Object> listOwnershipChangeRequest = null;
-
- @Expose
- private List<Object> listPendingAnnouncement = null;
-
- @Expose
- private Integer loginMinutes;
-
- @Expose
- private Integer loginAttempts;
-
- public Object getErrorId() {
- return errorId;
- }
-
- public void setErrorId(Object errorId) {
- this.errorId = errorId;
- }
-
- public Object getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(Object errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public Integer getLoginStatus() {
- return loginStatus;
- }
-
- public void setLoginStatus(Integer loginStatus) {
- this.loginStatus = loginStatus;
- }
-
- public Integer getUserId() {
- return userId;
- }
-
- public void setUserId(Integer userId) {
- this.userId = userId;
- }
-
- public Object getRandomKey() {
- return randomKey;
- }
-
- public void setRandomKey(Object randomKey) {
- this.randomKey = randomKey;
- }
-
- public Object getAppVersionAnnouncement() {
- return appVersionAnnouncement;
- }
-
- public void setAppVersionAnnouncement(Object appVersionAnnouncement) {
- this.appVersionAnnouncement = appVersionAnnouncement;
- }
-
- public LoginData getLoginData() {
- return loginData;
- }
-
- public void setLoginData(LoginData loginData) {
- this.loginData = loginData;
- }
-
- public List<Object> getListPendingInvite() {
- return listPendingInvite;
- }
-
- public void setListPendingInvite(List<Object> listPendingInvite) {
- this.listPendingInvite = listPendingInvite;
- }
-
- public List<Object> getListOwnershipChangeRequest() {
- return listOwnershipChangeRequest;
- }
-
- public void setListOwnershipChangeRequest(List<Object> listOwnershipChangeRequest) {
- this.listOwnershipChangeRequest = listOwnershipChangeRequest;
- }
-
- public List<Object> getListPendingAnnouncement() {
- return listPendingAnnouncement;
- }
-
- public void setListPendingAnnouncement(List<Object> listPendingAnnouncement) {
- this.listPendingAnnouncement = listPendingAnnouncement;
- }
-
- public Integer getLoginMinutes() {
- return loginMinutes;
- }
-
- public void setLoginMinutes(Integer loginMinutes) {
- this.loginMinutes = loginMinutes;
- }
-
- public Integer getLoginAttempts() {
- return loginAttempts;
- }
-
- public void setLoginAttempts(Integer loginAttempts) {
- this.loginAttempts = loginAttempts;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link LoginData} is responsible of JSON data For MELCloud API
- * LoginData for Login Request.
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class LoginData {
-
- @Expose
- private String contextKey;
-
- @Expose
- private Integer client;
-
- @Expose
- private Integer terms;
-
- @Expose
- private Integer aL;
-
- @Expose
- private Integer mL;
-
- @Expose
- private Boolean cMI;
-
- @Expose
- private Boolean isStaff;
-
- @Expose
- private Boolean cUTF;
-
- @Expose
- private Boolean cAA;
-
- @Expose
- private Boolean receiveCountryNotifications;
-
- @Expose
- private Boolean receiveAllNotifications;
-
- @Expose
- private Boolean cACA;
-
- @Expose
- private Boolean cAGA;
-
- @Expose
- private Integer maximumDevices;
-
- @Expose
- private Boolean showDiagnostics;
-
- @Expose
- private Integer language;
-
- @Expose
- private Integer country;
-
- @Expose
- private Integer realClient;
-
- @Expose
- private String name;
-
- @Expose
- private Boolean useFahrenheit;
-
- @Expose
- private Integer duration;
-
- @Expose
- private String expiry;
-
- @Expose
- private Boolean cMSC;
-
- @Expose
- private Object partnerApplicationVersion;
-
- @Expose
- private Boolean emailSettingsReminderShown;
-
- @Expose
- private Integer emailUnitErrors;
-
- @Expose
- private Integer emailCommsErrors;
-
- @Expose
- private Boolean isImpersonated;
-
- @Expose
- private String languageCode;
-
- @Expose
- private String countryName;
-
- @Expose
- private String currencySymbol;
-
- @Expose
- private String supportEmailAddress;
-
- @Expose
- private String dateSeperator;
-
- @Expose
- private String timeSeperator;
-
- @Expose
- private String atwLogoFile;
-
- @Expose
- private Boolean dECCReport;
-
- @Expose
- private Boolean cSVReport1min;
-
- @Expose
- private Boolean hidePresetPanel;
-
- @Expose
- private Boolean emailSettingsReminderRequired;
-
- @Expose
- private Object termsText;
-
- @Expose
- private Boolean mapView;
-
- @Expose
- private Integer mapZoom;
-
- @Expose
- private Double mapLongitude;
-
- @Expose
- private Double mapLatitude;
-
- public String getContextKey() {
- return contextKey;
- }
-
- public void setContextKey(String contextKey) {
- this.contextKey = contextKey;
- }
-
- public Integer getClient() {
- return client;
- }
-
- public void setClient(Integer client) {
- this.client = client;
- }
-
- public Integer getTerms() {
- return terms;
- }
-
- public void setTerms(Integer terms) {
- this.terms = terms;
- }
-
- public Integer getAL() {
- return aL;
- }
-
- public void setAL(Integer aL) {
- this.aL = aL;
- }
-
- public Integer getML() {
- return mL;
- }
-
- public void setML(Integer mL) {
- this.mL = mL;
- }
-
- public Boolean getCMI() {
- return cMI;
- }
-
- public void setCMI(Boolean cMI) {
- this.cMI = cMI;
- }
-
- public Boolean getIsStaff() {
- return isStaff;
- }
-
- public void setIsStaff(Boolean isStaff) {
- this.isStaff = isStaff;
- }
-
- public Boolean getCUTF() {
- return cUTF;
- }
-
- public void setCUTF(Boolean cUTF) {
- this.cUTF = cUTF;
- }
-
- public Boolean getCAA() {
- return cAA;
- }
-
- public void setCAA(Boolean cAA) {
- this.cAA = cAA;
- }
-
- public Boolean getReceiveCountryNotifications() {
- return receiveCountryNotifications;
- }
-
- public void setReceiveCountryNotifications(Boolean receiveCountryNotifications) {
- this.receiveCountryNotifications = receiveCountryNotifications;
- }
-
- public Boolean getReceiveAllNotifications() {
- return receiveAllNotifications;
- }
-
- public void setReceiveAllNotifications(Boolean receiveAllNotifications) {
- this.receiveAllNotifications = receiveAllNotifications;
- }
-
- public Boolean getCACA() {
- return cACA;
- }
-
- public void setCACA(Boolean cACA) {
- this.cACA = cACA;
- }
-
- public Boolean getCAGA() {
- return cAGA;
- }
-
- public void setCAGA(Boolean cAGA) {
- this.cAGA = cAGA;
- }
-
- public Integer getMaximumDevices() {
- return maximumDevices;
- }
-
- public void setMaximumDevices(Integer maximumDevices) {
- this.maximumDevices = maximumDevices;
- }
-
- public Boolean getShowDiagnostics() {
- return showDiagnostics;
- }
-
- public void setShowDiagnostics(Boolean showDiagnostics) {
- this.showDiagnostics = showDiagnostics;
- }
-
- public Integer getLanguage() {
- return language;
- }
-
- public void setLanguage(Integer language) {
- this.language = language;
- }
-
- public Integer getCountry() {
- return country;
- }
-
- public void setCountry(Integer country) {
- this.country = country;
- }
-
- public Integer getRealClient() {
- return realClient;
- }
-
- public void setRealClient(Integer realClient) {
- this.realClient = realClient;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Boolean getUseFahrenheit() {
- return useFahrenheit;
- }
-
- public void setUseFahrenheit(Boolean useFahrenheit) {
- this.useFahrenheit = useFahrenheit;
- }
-
- public Integer getDuration() {
- return duration;
- }
-
- public void setDuration(Integer duration) {
- this.duration = duration;
- }
-
- public String getExpiry() {
- return expiry;
- }
-
- public void setExpiry(String expiry) {
- this.expiry = expiry;
- }
-
- public Boolean getCMSC() {
- return cMSC;
- }
-
- public void setCMSC(Boolean cMSC) {
- this.cMSC = cMSC;
- }
-
- public Object getPartnerApplicationVersion() {
- return partnerApplicationVersion;
- }
-
- public void setPartnerApplicationVersion(Object partnerApplicationVersion) {
- this.partnerApplicationVersion = partnerApplicationVersion;
- }
-
- public Boolean getEmailSettingsReminderShown() {
- return emailSettingsReminderShown;
- }
-
- public void setEmailSettingsReminderShown(Boolean emailSettingsReminderShown) {
- this.emailSettingsReminderShown = emailSettingsReminderShown;
- }
-
- public Integer getEmailUnitErrors() {
- return emailUnitErrors;
- }
-
- public void setEmailUnitErrors(Integer emailUnitErrors) {
- this.emailUnitErrors = emailUnitErrors;
- }
-
- public Integer getEmailCommsErrors() {
- return emailCommsErrors;
- }
-
- public void setEmailCommsErrors(Integer emailCommsErrors) {
- this.emailCommsErrors = emailCommsErrors;
- }
-
- public Boolean getIsImpersonated() {
- return isImpersonated;
- }
-
- public void setIsImpersonated(Boolean isImpersonated) {
- this.isImpersonated = isImpersonated;
- }
-
- public String getLanguageCode() {
- return languageCode;
- }
-
- public void setLanguageCode(String languageCode) {
- this.languageCode = languageCode;
- }
-
- public String getCountryName() {
- return countryName;
- }
-
- public void setCountryName(String countryName) {
- this.countryName = countryName;
- }
-
- public String getCurrencySymbol() {
- return currencySymbol;
- }
-
- public void setCurrencySymbol(String currencySymbol) {
- this.currencySymbol = currencySymbol;
- }
-
- public String getSupportEmailAddress() {
- return supportEmailAddress;
- }
-
- public void setSupportEmailAddress(String supportEmailAddress) {
- this.supportEmailAddress = supportEmailAddress;
- }
-
- public String getDateSeperator() {
- return dateSeperator;
- }
-
- public void setDateSeperator(String dateSeperator) {
- this.dateSeperator = dateSeperator;
- }
-
- public String getTimeSeperator() {
- return timeSeperator;
- }
-
- public void setTimeSeperator(String timeSeperator) {
- this.timeSeperator = timeSeperator;
- }
-
- public String getAtwLogoFile() {
- return atwLogoFile;
- }
-
- public void setAtwLogoFile(String atwLogoFile) {
- this.atwLogoFile = atwLogoFile;
- }
-
- public Boolean getDECCReport() {
- return dECCReport;
- }
-
- public void setDECCReport(Boolean dECCReport) {
- this.dECCReport = dECCReport;
- }
-
- public Boolean getCSVReport1min() {
- return cSVReport1min;
- }
-
- public void setCSVReport1min(Boolean cSVReport1min) {
- this.cSVReport1min = cSVReport1min;
- }
-
- public Boolean getHidePresetPanel() {
- return hidePresetPanel;
- }
-
- public void setHidePresetPanel(Boolean hidePresetPanel) {
- this.hidePresetPanel = hidePresetPanel;
- }
-
- public Boolean getEmailSettingsReminderRequired() {
- return emailSettingsReminderRequired;
- }
-
- public void setEmailSettingsReminderRequired(Boolean emailSettingsReminderRequired) {
- this.emailSettingsReminderRequired = emailSettingsReminderRequired;
- }
-
- public Object getTermsText() {
- return termsText;
- }
-
- public void setTermsText(Object termsText) {
- this.termsText = termsText;
- }
-
- public Boolean getMapView() {
- return mapView;
- }
-
- public void setMapView(Boolean mapView) {
- this.mapView = mapView;
- }
-
- public Integer getMapZoom() {
- return mapZoom;
- }
-
- public void setMapZoom(Integer mapZoom) {
- this.mapZoom = mapZoom;
- }
-
- public Double getMapLongitude() {
- return mapLongitude;
- }
-
- public void setMapLongitude(Double mapLongitude) {
- this.mapLongitude = mapLongitude;
- }
-
- public Double getMapLatitude() {
- return mapLatitude;
- }
-
- public void setMapLatitude(Double mapLatitude) {
- this.mapLatitude = mapLatitude;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link Preset} is responsible of JSON data For MELCloud API
- * Preset data
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class Preset {
-
- @Expose
- private Double setTemperature;
-
- @Expose
- private Boolean power;
-
- @Expose
- private Integer operationMode;
-
- @Expose
- private Integer vaneHorizontal;
-
- @Expose
- private Integer vaneVertical;
-
- @Expose
- private Integer fanSpeed;
-
- @Expose
- private Integer iD;
-
- @Expose
- private Integer client;
-
- @Expose
- private Integer deviceLocation;
-
- @Expose
- private Integer number;
-
- @Expose
- private String configuration;
-
- @Expose
- private String numberDescription;
-
- public Double getSetTemperature() {
- return setTemperature;
- }
-
- public void setSetTemperature(Double setTemperature) {
- this.setTemperature = setTemperature;
- }
-
- public Boolean getPower() {
- return power;
- }
-
- public void setPower(Boolean power) {
- this.power = power;
- }
-
- public Integer getOperationMode() {
- return operationMode;
- }
-
- public void setOperationMode(Integer operationMode) {
- this.operationMode = operationMode;
- }
-
- public Integer getVaneHorizontal() {
- return vaneHorizontal;
- }
-
- public void setVaneHorizontal(Integer vaneHorizontal) {
- this.vaneHorizontal = vaneHorizontal;
- }
-
- public Integer getVaneVertical() {
- return vaneVertical;
- }
-
- public void setVaneVertical(Integer vaneVertical) {
- this.vaneVertical = vaneVertical;
- }
-
- public Integer getFanSpeed() {
- return fanSpeed;
- }
-
- public void setFanSpeed(Integer fanSpeed) {
- this.fanSpeed = fanSpeed;
- }
-
- public Integer getID() {
- return iD;
- }
-
- public void setID(Integer iD) {
- this.iD = iD;
- }
-
- public Integer getClient() {
- return client;
- }
-
- public void setClient(Integer client) {
- this.client = client;
- }
-
- public Integer getDeviceLocation() {
- return deviceLocation;
- }
-
- public void setDeviceLocation(Integer deviceLocation) {
- this.deviceLocation = deviceLocation;
- }
-
- public Integer getNumber() {
- return number;
- }
-
- public void setNumber(Integer number) {
- this.number = number;
- }
-
- public String getConfiguration() {
- return configuration;
- }
-
- public void setConfiguration(String configuration) {
- this.configuration = configuration;
- }
-
- public String getNumberDescription() {
- return numberDescription;
- }
-
- public void setNumberDescription(String numberDescription) {
- this.numberDescription = numberDescription;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link QuantizedCoordinates} is responsible of JSON data For MELCloud API
- * QuantizedCoordinates data
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class QuantizedCoordinates {
-
- @Expose
- private Double latitude;
-
- @Expose
- private Double longitude;
-
- public Double getLatitude() {
- return latitude;
- }
-
- public void setLatitude(Double latitude) {
- this.latitude = latitude;
- }
-
- public Double getLongitude() {
- return longitude;
- }
-
- public void setLongitude(Double longitude) {
- this.longitude = longitude;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link Structure} is responsible of JSON data For MELCloud API
- * Structure Data
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- * @author Wietse van Buitenen - Add Floor and Area
- */
-public class Structure {
-
- @Expose
- private List<Floor> floors = null;
-
- @Expose
- private List<Area> areas = null;
-
- @Expose
- private List<Device> devices = null;
-
- @Expose
- private List<Object> clients = null;
-
- public List<Floor> getFloors() {
- return floors;
- }
-
- public void setFloors(List<Floor> floors) {
- this.floors = floors;
- }
-
- public List<Area> getAreas() {
- return areas;
- }
-
- public void setAreas(List<Area> areas) {
- this.areas = areas;
- }
-
- public List<Device> getDevices() {
- return devices;
- }
-
- public void setDevices(List<Device> devices) {
- this.devices = devices;
- }
-
- public List<Object> getClients() {
- return clients;
- }
-
- public void setClients(List<Object> clients) {
- this.clients = clients;
- }
-}
+++ /dev/null
-/**
- * Copyright (c) 2010-2024 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.melcloud.internal.api.json;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * The {@link Structure} is responsible of JSON data For MELCloud API
- * WeatherObservation Data
- * Generated with jsonschema2pojo
- *
- * @author Luca Calcaterra - Initial contribution
- */
-public class WeatherObservation {
-
- @Expose
- private String date;
-
- @Expose
- private String sunrise;
-
- @Expose
- private String sunset;
-
- @Expose
- private Integer condition;
-
- @Expose
- private Integer iD;
-
- @Expose
- private Integer humidity;
-
- @Expose
- private Integer temperature;
-
- @Expose
- private String icon;
-
- @Expose
- private String conditionName;
-
- @Expose
- private Integer day;
-
- @Expose
- private Integer weatherType;
-
- public String getDate() {
- return date;
- }
-
- public void setDate(String date) {
- this.date = date;
- }
-
- public String getSunrise() {
- return sunrise;
- }
-
- public void setSunrise(String sunrise) {
- this.sunrise = sunrise;
- }
-
- public String getSunset() {
- return sunset;
- }
-
- public void setSunset(String sunset) {
- this.sunset = sunset;
- }
-
- public Integer getCondition() {
- return condition;
- }
-
- public void setCondition(Integer condition) {
- this.condition = condition;
- }
-
- public Integer getID() {
- return iD;
- }
-
- public void setID(Integer iD) {
- this.iD = iD;
- }
-
- public Integer getHumidity() {
- return humidity;
- }
-
- public void setHumidity(Integer humidity) {
- this.humidity = humidity;
- }
-
- public Integer getTemperature() {
- return temperature;
- }
-
- public void setTemperature(Integer temperature) {
- this.temperature = temperature;
- }
-
- public String getIcon() {
- return icon;
- }
-
- public void setIcon(String icon) {
- this.icon = icon;
- }
-
- public String getConditionName() {
- return conditionName;
- }
-
- public void setConditionName(String conditionName) {
- this.conditionName = conditionName;
- }
-
- public Integer getDay() {
- return day;
- }
-
- public void setDay(Integer day) {
- this.day = day;
- }
-
- public Integer getWeatherType() {
- return weatherType;
- }
-
- public void setWeatherType(Integer weatherType) {
- this.weatherType = weatherType;
- }
-}
*/
package org.openhab.binding.melcloud.internal.config;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
+
/**
* Config class for an A.C. device.
*
* @author Pauli Anttila - Initial Contribution
*
*/
+@NonNullByDefault
public class AcDeviceConfig {
- public Integer deviceID;
- public Integer buildingID;
- public Integer pollingInterval;
+ public Integer deviceID = 0;
+ public @Nullable Integer buildingID;
+ public Integer pollingInterval = 360;
@Override
public String toString() {
*/
package org.openhab.binding.melcloud.internal.config;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+
/**
* Config class for MELCloud account parameters.
*
* @author Pauli Anttila - Initial Contribution
*
*/
+@NonNullByDefault
public class AccountConfig {
- public String username;
- public String password;
- public int language;
+ public String username = "";
+ public String password = "";
+ public int language = 0;
@Override
public String toString() {
}
private String getPasswordForPrinting() {
- if (password != null) {
- return password.isEmpty() ? "<empty>" : "*********";
- }
- return "<null>";
+ return password.isEmpty() ? "<empty>" : "*********";
}
}
*/
package org.openhab.binding.melcloud.internal.config;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
+
/**
* Config class for a Heatpump device.
*
* @author Wietse van Buitenen - Initial Contribution
*
*/
+@NonNullByDefault
public class HeatpumpDeviceConfig {
- public Integer deviceID;
- public Integer buildingID;
- public Integer pollingInterval;
+ public Integer deviceID = 0;
+ public @Nullable Integer buildingID;
+ public Integer pollingInterval = 360;
@Override
public String toString() {
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
-import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.melcloud.internal.MelCloudBindingConstants;
-import org.openhab.binding.melcloud.internal.api.json.Device;
+import org.openhab.binding.melcloud.internal.api.dto.Device;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudCommException;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudLoginException;
import org.openhab.binding.melcloud.internal.handler.MelCloudAccountHandler;
* @author Pauli Anttila - Refactoring
* @author Wietse van Buitenen - Check device type, added heatpump device
*/
+@NonNullByDefault
@Component(scope = ServiceScope.PROTOTYPE, service = MelCloudDiscoveryService.class)
-public class MelCloudDiscoveryService extends AbstractThingHandlerDiscoveryService<@NonNull MelCloudAccountHandler> {
+public class MelCloudDiscoveryService extends AbstractThingHandlerDiscoveryService<MelCloudAccountHandler> {
private final Logger logger = LoggerFactory.getLogger(MelCloudDiscoveryService.class);
private static final String PROPERTY_DEVICE_ID = "deviceID";
private static final int DISCOVER_TIMEOUT_SECONDS = 10;
- private ScheduledFuture<?> scanTask;
+ private @Nullable ScheduledFuture<?> scanTask;
/**
* Creates a MelCloudDiscoveryService with enabled autostart.
@Override
protected void startScan() {
- if (this.scanTask != null) {
+ ScheduledFuture<?> scanTask = this.scanTask;
+ if (scanTask != null) {
scanTask.cancel(true);
}
this.scanTask = scheduler.schedule(() -> discoverDevices(), 0, TimeUnit.SECONDS);
protected void stopScan() {
super.stopScan();
- if (this.scanTask != null) {
- this.scanTask.cancel(true);
+ ScheduledFuture<?> scanTask = this.scanTask;
+ if (scanTask != null) {
+ scanTask.cancel(true);
this.scanTask = null;
}
}
try {
List<Device> deviceList = thingHandler.getDeviceList();
- if (deviceList == null) {
+ if (deviceList.isEmpty()) {
logger.debug("No devices found");
} else {
ThingUID bridgeUID = thingHandler.getThing().getUID();
*/
package org.openhab.binding.melcloud.internal.exceptions;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+
/**
* Exception to encapsulate any issues communicating with MELCloud.
*
* @author Pauli Anttila - Initial Contribution
*/
+@NonNullByDefault
public class MelCloudCommException extends Exception {
private static final long serialVersionUID = 1L;
*/
package org.openhab.binding.melcloud.internal.exceptions;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+
/**
* Exception to encapsulate any login issues with MELCloud.
*
* @author Pauli Anttila - Initial Contribution
*/
+@NonNullByDefault
public class MelCloudLoginException extends Exception {
private static final long serialVersionUID = 1L;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.melcloud.internal.api.MelCloudConnection;
-import org.openhab.binding.melcloud.internal.api.json.Device;
-import org.openhab.binding.melcloud.internal.api.json.DeviceStatus;
-import org.openhab.binding.melcloud.internal.api.json.HeatpumpDeviceStatus;
+import org.openhab.binding.melcloud.internal.api.dto.Device;
+import org.openhab.binding.melcloud.internal.api.dto.DeviceStatus;
+import org.openhab.binding.melcloud.internal.api.dto.HeatpumpDeviceStatus;
import org.openhab.binding.melcloud.internal.config.AccountConfig;
import org.openhab.binding.melcloud.internal.discovery.MelCloudDiscoveryService;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudCommException;
* @author Pauli Anttila - Refactoring
* @author Wietse van Buitenen - Return all devices, added heatpump device
*/
+@NonNullByDefault
public class MelCloudAccountHandler extends BaseBridgeHandler {
private final Logger logger = LoggerFactory.getLogger(MelCloudAccountHandler.class);
- private MelCloudConnection connection;
- private List<Device> devices;
- private ScheduledFuture<?> connectionCheckTask;
- private AccountConfig config;
- private boolean loginCredentialError;
+ private MelCloudConnection connection = new MelCloudConnection();
+ private List<Device> devices = Collections.emptyList();
+ private @Nullable ScheduledFuture<?> connectionCheckTask;
+ private AccountConfig config = new AccountConfig();
+ private boolean loginCredentialError = false;
public MelCloudAccountHandler(Bridge bridge) {
super(bridge);
public void initialize() {
logger.debug("Initializing MELCloud account handler.");
config = getConfigAs(AccountConfig.class);
- connection = new MelCloudConnection();
- devices = Collections.emptyList();
loginCredentialError = false;
startConnectionCheck();
}
public void dispose() {
logger.debug("Running dispose()");
stopConnectionCheck();
- connection = null;
devices = Collections.emptyList();
- config = null;
}
@Override
throw new MelCloudLoginException("Connection to MELCloud can't be opened because of wrong credentials");
}
logger.debug("Initializing connection to MELCloud");
+
updateStatus(ThingStatus.OFFLINE);
try {
connection.login(config.username, config.password, config.language);
}
}
- public DeviceStatus fetchDeviceStatus(int deviceId, Optional<Integer> buildingId)
+ public DeviceStatus fetchDeviceStatus(int deviceId, @Nullable Integer buildingId)
throws MelCloudCommException, MelCloudLoginException {
connectIfNotConnected();
- int bid = buildingId.orElse(findBuildingId(deviceId));
+ int bid = buildingId != null ? buildingId : findBuildingId(deviceId);
try {
return connection.fetchDeviceStatus(deviceId, bid);
}
}
- public HeatpumpDeviceStatus fetchHeatpumpDeviceStatus(int deviceId, Optional<Integer> buildingId)
+ public HeatpumpDeviceStatus fetchHeatpumpDeviceStatus(int deviceId, @Nullable Integer buildingId)
throws MelCloudCommException, MelCloudLoginException {
connectIfNotConnected();
- int bid = buildingId.orElse(findBuildingId(deviceId));
+ int bid = buildingId != null ? buildingId : findBuildingId(deviceId);
try {
return connection.fetchHeatpumpDeviceStatus(deviceId, bid);
}
private int findBuildingId(int deviceId) throws MelCloudCommException {
- if (devices != null) {
- return devices.stream().filter(d -> d.getDeviceID() == deviceId).findFirst().orElseThrow(
- () -> new MelCloudCommException(String.format("Can't find building id for device id %s", deviceId)))
- .getBuildingID();
- }
- throw new MelCloudCommException(String.format("Can't find building id for device id %s", deviceId));
+ return devices.stream().filter(d -> d.getDeviceID() == deviceId).findFirst().orElseThrow(
+ () -> new MelCloudCommException(String.format("Can't find building id for device id %s", deviceId)))
+ .getBuildingID();
}
private void startConnectionCheck() {
+ ScheduledFuture<?> connectionCheckTask = this.connectionCheckTask;
if (connectionCheckTask == null || connectionCheckTask.isCancelled()) {
logger.debug("Start periodic connection check");
Runnable runnable = () -> {
}
}
};
- connectionCheckTask = scheduler.scheduleWithFixedDelay(runnable, 0, 300, TimeUnit.SECONDS);
+ this.connectionCheckTask = scheduler.scheduleWithFixedDelay(runnable, 0, 300, TimeUnit.SECONDS);
} else {
logger.debug("Connection check task already running");
}
}
private void stopConnectionCheck() {
+ ScheduledFuture<?> connectionCheckTask = this.connectionCheckTask;
if (connectionCheckTask != null) {
logger.debug("Stop periodic connection check");
connectionCheckTask.cancel(true);
- connectionCheckTask = null;
+ this.connectionCheckTask = null;
}
}
}
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.Optional;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import javax.measure.quantity.Temperature;
-import org.openhab.binding.melcloud.internal.api.json.DeviceStatus;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
+import org.openhab.binding.melcloud.internal.api.dto.DeviceStatus;
import org.openhab.binding.melcloud.internal.config.AcDeviceConfig;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudCommException;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudLoginException;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingStatusInfo;
import org.openhab.core.thing.binding.BaseThingHandler;
+import org.openhab.core.thing.binding.BridgeHandler;
import org.openhab.core.thing.binding.ThingHandler;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
* @author Luca Calcaterra - Initial contribution
* @author Pauli Anttila - Refactoring
*/
-
+@NonNullByDefault
public class MelCloudDeviceHandler extends BaseThingHandler {
private static final int EFFECTIVE_FLAG_POWER = 0x01;
private static final int EFFECTIVE_FLAG_VANE_HORIZONTAL = 0x100;
private final Logger logger = LoggerFactory.getLogger(MelCloudDeviceHandler.class);
- private AcDeviceConfig config;
- private MelCloudAccountHandler melCloudHandler;
- private DeviceStatus deviceStatus;
- private ScheduledFuture<?> refreshTask;
+ private AcDeviceConfig config = new AcDeviceConfig();
+ private @Nullable MelCloudAccountHandler melCloudHandler;
+ private @Nullable DeviceStatus deviceStatus;
+ private @Nullable ScheduledFuture<?> refreshTask;
public MelCloudDeviceHandler(Thing thing) {
super(thing);
logger.debug("Initializing {} handler.", getThing().getThingTypeUID());
Bridge bridge = getBridge();
- if (bridge == null) {
+ if (bridge == null || !(bridge.getHandler() instanceof BridgeHandler bridgeHandler)) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Bridge Not set");
return;
}
config = getConfigAs(AcDeviceConfig.class);
logger.debug("A.C. device config: {}", config);
- initializeBridge(bridge.getHandler(), bridge.getStatus());
+ initializeBridge(bridgeHandler, bridge.getStatus());
}
@Override
public void dispose() {
logger.debug("Running dispose()");
+ ScheduledFuture<?> refreshTask = this.refreshTask;
if (refreshTask != null) {
refreshTask.cancel(true);
- refreshTask = null;
+ this.refreshTask = null;
}
melCloudHandler = null;
}
public void bridgeStatusChanged(ThingStatusInfo bridgeStatusInfo) {
logger.debug("bridgeStatusChanged {} for thing {}", bridgeStatusInfo, getThing().getUID());
Bridge bridge = getBridge();
- if (bridge != null) {
- initializeBridge(bridge.getHandler(), bridgeStatusInfo.getStatus());
+ if (bridge != null && bridge.getHandler() instanceof BridgeHandler bridgeHandler) {
+ initializeBridge(bridgeHandler, bridgeStatusInfo.getStatus());
}
}
private void initializeBridge(ThingHandler thingHandler, ThingStatus bridgeStatus) {
logger.debug("initializeBridge {} for thing {}", bridgeStatus, getThing().getUID());
- if (thingHandler != null && bridgeStatus != null) {
- melCloudHandler = (MelCloudAccountHandler) thingHandler;
+ melCloudHandler = (MelCloudAccountHandler) thingHandler;
- if (bridgeStatus == ThingStatus.ONLINE) {
- updateStatus(ThingStatus.ONLINE);
- startAutomaticRefresh();
- } else {
- updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE);
- }
+ if (bridgeStatus == ThingStatus.ONLINE) {
+ updateStatus(ThingStatus.ONLINE);
+ startAutomaticRefresh();
} else {
- updateStatus(ThingStatus.OFFLINE);
+ updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE);
}
}
logger.debug("Refresh command not supported");
return;
}
-
+ MelCloudAccountHandler melCloudHandler = this.melCloudHandler;
if (melCloudHandler == null) {
logger.warn("No connection to MELCloud available, ignoring command");
return;
}
-
+ DeviceStatus deviceStatus = this.deviceStatus;
if (deviceStatus == null) {
logger.info("No initial data available, bridge is probably offline. Ignoring command");
return;
}
private void startAutomaticRefresh() {
+ ScheduledFuture<?> refreshTask = this.refreshTask;
if (refreshTask == null || refreshTask.isCancelled()) {
- refreshTask = scheduler.scheduleWithFixedDelay(this::getDeviceDataAndUpdateChannels, 1,
+ this.refreshTask = scheduler.scheduleWithFixedDelay(this::getDeviceDataAndUpdateChannels, 1,
config.pollingInterval, TimeUnit.SECONDS);
}
}
private void getDeviceDataAndUpdateChannels() {
- if (melCloudHandler.isConnected()) {
+ MelCloudAccountHandler melCloudHandler = this.melCloudHandler;
+ if (melCloudHandler != null && melCloudHandler.isConnected()) {
logger.debug("Update device '{}' channels", getThing().getThingTypeUID());
try {
- DeviceStatus newDeviceStatus = melCloudHandler.fetchDeviceStatus(config.deviceID,
- Optional.ofNullable(config.buildingID));
+ DeviceStatus newDeviceStatus = melCloudHandler.fetchDeviceStatus(config.deviceID, config.buildingID);
updateChannels(newDeviceStatus);
} catch (MelCloudLoginException e) {
logger.debug("Login error occurred during device '{}' polling, reason {}. ",
}
private synchronized void updateChannels(DeviceStatus newDeviceStatus) {
- deviceStatus = newDeviceStatus;
+ DeviceStatus deviceStatus = this.deviceStatus = newDeviceStatus;
for (Channel channel : getThing().getChannels()) {
updateChannels(channel.getUID().getId(), deviceStatus);
}
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.Optional;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import javax.measure.quantity.Temperature;
-import org.openhab.binding.melcloud.internal.api.json.HeatpumpDeviceStatus;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
+import org.openhab.binding.melcloud.internal.api.dto.HeatpumpDeviceStatus;
import org.openhab.binding.melcloud.internal.config.HeatpumpDeviceConfig;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudCommException;
import org.openhab.binding.melcloud.internal.exceptions.MelCloudLoginException;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingStatusInfo;
import org.openhab.core.thing.binding.BaseThingHandler;
+import org.openhab.core.thing.binding.BridgeHandler;
import org.openhab.core.thing.binding.ThingHandler;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
*
* @author Wietse van Buitenen - Initial contribution
*/
+@NonNullByDefault
public class MelCloudHeatpumpDeviceHandler extends BaseThingHandler {
private static final long EFFECTIVE_FLAG_POWER = 1L;
private static final long EFFECTIVE_FLAG_TEMPERATURE_ZONE1 = 8589934720L;
private static final long EFFECTIVE_FLAG_HOTWATER = 65536L;
private final Logger logger = LoggerFactory.getLogger(MelCloudHeatpumpDeviceHandler.class);
- private HeatpumpDeviceConfig config;
- private MelCloudAccountHandler melCloudHandler;
- private HeatpumpDeviceStatus heatpumpDeviceStatus;
- private ScheduledFuture<?> refreshTask;
+ private HeatpumpDeviceConfig config = new HeatpumpDeviceConfig();
+ private @Nullable MelCloudAccountHandler melCloudHandler;
+ private @Nullable HeatpumpDeviceStatus heatpumpDeviceStatus;
+ private @Nullable ScheduledFuture<?> refreshTask;
public MelCloudHeatpumpDeviceHandler(Thing thing) {
super(thing);
logger.debug("Initializing {} handler.", getThing().getThingTypeUID());
Bridge bridge = getBridge();
- if (bridge == null) {
+ if (bridge == null || !(bridge.getHandler() instanceof BridgeHandler bridgeHandler)) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Bridge Not set");
return;
}
config = getConfigAs(HeatpumpDeviceConfig.class);
logger.debug("Heatpump device config: {}", config);
- initializeBridge(bridge.getHandler(), bridge.getStatus());
+ initializeBridge(bridgeHandler, bridge.getStatus());
}
@Override
public void dispose() {
logger.debug("Running dispose()");
+ ScheduledFuture<?> refreshTask = this.refreshTask;
if (refreshTask != null) {
refreshTask.cancel(true);
- refreshTask = null;
+ this.refreshTask = null;
}
melCloudHandler = null;
}
public void bridgeStatusChanged(ThingStatusInfo bridgeStatusInfo) {
logger.debug("bridgeStatusChanged {} for thing {}", bridgeStatusInfo, getThing().getUID());
Bridge bridge = getBridge();
- if (bridge != null) {
- initializeBridge(bridge.getHandler(), bridgeStatusInfo.getStatus());
+ if (bridge != null && bridge.getHandler() instanceof BridgeHandler bridgeHandler) {
+ initializeBridge(bridgeHandler, bridgeStatusInfo.getStatus());
}
}
private void initializeBridge(ThingHandler thingHandler, ThingStatus bridgeStatus) {
logger.debug("initializeBridge {} for thing {}", bridgeStatus, getThing().getUID());
- if (thingHandler != null && bridgeStatus != null) {
- melCloudHandler = (MelCloudAccountHandler) thingHandler;
+ melCloudHandler = (MelCloudAccountHandler) thingHandler;
- if (bridgeStatus == ThingStatus.ONLINE) {
- updateStatus(ThingStatus.ONLINE);
- startAutomaticRefresh();
- } else {
- updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE);
- }
+ if (bridgeStatus == ThingStatus.ONLINE) {
+ updateStatus(ThingStatus.ONLINE);
+ startAutomaticRefresh();
} else {
- updateStatus(ThingStatus.OFFLINE);
+ updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE);
}
}
return;
}
+ MelCloudAccountHandler melCloudHandler = this.melCloudHandler;
if (melCloudHandler == null) {
logger.warn("No connection to MELCloud available, ignoring command");
return;
}
-
+ HeatpumpDeviceStatus heatpumpDeviceStatus = this.heatpumpDeviceStatus;
if (heatpumpDeviceStatus == null) {
logger.info("No initial data available, bridge is probably offline. Ignoring command");
return;
}
private void startAutomaticRefresh() {
+ ScheduledFuture<?> refreshTask = this.refreshTask;
if (refreshTask == null || refreshTask.isCancelled()) {
- refreshTask = scheduler.scheduleWithFixedDelay(this::getDeviceDataAndUpdateChannels, 1,
+ this.refreshTask = scheduler.scheduleWithFixedDelay(this::getDeviceDataAndUpdateChannels, 1,
config.pollingInterval, TimeUnit.SECONDS);
}
}
private void getDeviceDataAndUpdateChannels() {
- if (melCloudHandler.isConnected()) {
+ MelCloudAccountHandler melCloudHandler = this.melCloudHandler;
+ if (melCloudHandler != null && melCloudHandler.isConnected()) {
logger.debug("Update device '{}' channels", getThing().getThingTypeUID());
try {
HeatpumpDeviceStatus newHeatpumpDeviceStatus = melCloudHandler
- .fetchHeatpumpDeviceStatus(config.deviceID, Optional.ofNullable(config.buildingID));
+ .fetchHeatpumpDeviceStatus(config.deviceID, config.buildingID);
updateChannels(newHeatpumpDeviceStatus);
} catch (MelCloudLoginException e) {
logger.debug("Login error occurred during device '{}' polling, reason {}. ",
}
private synchronized void updateChannels(HeatpumpDeviceStatus newHeatpumpDeviceStatus) {
- heatpumpDeviceStatus = newHeatpumpDeviceStatus;
+ HeatpumpDeviceStatus heatpumpDeviceStatus = this.heatpumpDeviceStatus = newHeatpumpDeviceStatus;
for (Channel channel : getThing().getChannels()) {
updateChannels(channel.getUID().getId(), heatpumpDeviceStatus);
}