2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.miio.internal.cloud;
15 import org.eclipse.jdt.annotation.NonNull;
17 import com.google.gson.annotations.Expose;
18 import com.google.gson.annotations.SerializedName;
21 * This DTO class wraps the device info json structure
23 * @author Marcel Verpaalen - Initial contribution
25 public class CloudDeviceDTO {
27 @SerializedName("did")
30 @SerializedName("token")
33 @SerializedName("longitude")
35 private String longitude;
36 @SerializedName("latitude")
38 private String latitude;
39 @SerializedName("name")
42 @SerializedName("pid")
45 @SerializedName("localip")
47 private String localip;
48 @SerializedName("mac")
51 @SerializedName("ssid")
54 @SerializedName("bssid")
57 @SerializedName("parent_id")
59 private String parentId;
60 @SerializedName("parent_model")
62 private String parentModel;
63 @SerializedName("show_mode")
65 private Integer showMode;
66 @SerializedName("model")
69 @SerializedName("adminFlag")
71 private Integer adminFlag;
72 @SerializedName("shareFlag")
74 private Integer shareFlag;
75 @SerializedName("permitLevel")
77 private Integer permitLevel;
78 @SerializedName("isOnline")
80 private Boolean isOnline;
81 @SerializedName("desc")
84 @SerializedName("uid")
87 @SerializedName("pd_id")
90 @SerializedName("password")
92 private String password;
93 @SerializedName("rssi")
96 @SerializedName("family_id")
98 private Integer familyId;
99 private @NonNull String server = "undefined";
101 public @NonNull String getDid() {
102 return did != null ? did : "";
105 public @NonNull String getToken() {
106 return token != null ? token : "";
109 public String getLongitude() {
113 public String getLatitude() {
117 public @NonNull String getName() {
118 return name != null ? name : "";
121 public String getPid() {
125 public @NonNull String getLocalip() {
126 return localip != null ? localip : "";
129 public String getMac() {
133 public String getSsid() {
137 public String getBssid() {
141 public String getParentId() {
145 public String getParentModel() {
149 public Integer getShowMode() {
153 public String getModel() {
157 public Integer getAdminFlag() {
161 public Integer getShareFlag() {
165 public Integer getPermitLevel() {
169 public Boolean getIsOnline() {
173 public String getDesc() {
177 public Integer getUid() {
181 public Integer getPdId() {
185 public String getPassword() {
189 public Integer getRssi() {
193 public Integer getFamilyId() {
197 public @NonNull String getServer() {
201 public void setServer(@NonNull String server) {
202 this.server = server;
206 public String toString() {
207 return "Device name: '" + getName() + "', did: '" + getDid() + "', token: '" + getToken() + "', ip: "
208 + getLocalip() + ", server: " + server;