Continue Domoitcz impl

This commit is contained in:
Admin
2017-01-24 16:49:56 -06:00
parent d118dd8523
commit b4da321368
17 changed files with 402 additions and 429 deletions

View File

@@ -134,16 +134,10 @@ public class BridgeSettings extends BackupHandler {
if(theBridgeSettings.getUpnpDeviceDb() == null)
theBridgeSettings.setUpnpDeviceDb(Configuration.DEVICE_DB_DIRECTORY);
if(theBridgeSettings.getNumberoflogmessages() == null)
if(theBridgeSettings.getNumberoflogmessages() == null || theBridgeSettings.getNumberoflogmessages() <= 0)
theBridgeSettings.setNumberoflogmessages(new Integer(Configuration.NUMBER_OF_LOG_MESSAGES));
if(theBridgeSettings.getNumberoflogmessages() <= 0)
theBridgeSettings.setNumberoflogmessages(new Integer(Configuration.NUMBER_OF_LOG_MESSAGES));
if(theBridgeSettings.getButtonsleep() == null)
theBridgeSettings.setButtonsleep(Integer.parseInt(Configuration.DEFAULT_BUTTON_SLEEP));
if(theBridgeSettings.getButtonsleep() < 0)
if(theBridgeSettings.getButtonsleep() == null || theBridgeSettings.getButtonsleep() < 0)
theBridgeSettings.setButtonsleep(Integer.parseInt(Configuration.DEFAULT_BUTTON_SLEEP));
theBridgeSettings.setVeraconfigured(theBridgeSettings.isValidVera());
@@ -153,7 +147,8 @@ public class BridgeSettings extends BackupHandler {
theBridgeSettings.setHalconfigured(theBridgeSettings.isValidHal());
theBridgeSettings.setMqttconfigured(theBridgeSettings.isValidMQTT());
theBridgeSettings.setHassconfigured(theBridgeSettings.isValidHass());
if(serverPortOverride != null)
theBridgeSettings.setDomoticzconfigured(theBridgeSettings.isValidDomoticz());
if(serverPortOverride != null)
theBridgeSettings.setServerPort(serverPortOverride);
if(serverIpOverride != null)
theBridgeSettings.setWebaddress(serverIpOverride);

View File

@@ -25,6 +25,7 @@ public class DeviceMapTypes {
public final static String[] UDP_DEVICE = { "udpDevice", "UDP Device"};
public final static String[] UDP_DEVICE_COMPAT = { "UDP", "UDP Device"};
public final static String[] HTTP_DEVICE = { "httpDevice", "HTTP Device"};
public final static String[] DOMOTICZ_DEVICE = { "domoticzDevice", "Domoticz Device"};
public final static int typeIndex = 0;
public final static int displayIndex = 1;
@@ -35,10 +36,13 @@ public class DeviceMapTypes {
super();
deviceMapTypes = new ArrayList<String[]>();
deviceMapTypes.add(CMD_DEVICE);
deviceMapTypes.add(DOMOTICZ_DEVICE);
deviceMapTypes.add(HAL_DEVICE);
deviceMapTypes.add(HAL_HOME);
deviceMapTypes.add(HAL_THERMO_SET);
deviceMapTypes.add(HAL_BUTTON);
deviceMapTypes.add(HARMONY_ACTIVITY);
deviceMapTypes.add(HARMONY_BUTTON);
deviceMapTypes.add(HASS_DEVICE);
deviceMapTypes.add(HTTP_DEVICE);
deviceMapTypes.add(HUE_DEVICE);
@@ -49,8 +53,6 @@ public class DeviceMapTypes {
deviceMapTypes.add(UDP_DEVICE);
deviceMapTypes.add(VERA_DEVICE);
deviceMapTypes.add(VERA_SCENE);
deviceMapTypes.add(HARMONY_ACTIVITY);
deviceMapTypes.add(HARMONY_BUTTON);
}
public static int getTypeIndex() {
return typeIndex;

View File

@@ -5,6 +5,7 @@ import java.util.Map;
import com.bwssystems.HABridge.devicemanagmeent.ResourceHandler;
import com.bwssystems.HABridge.plugins.NestBridge.NestHome;
import com.bwssystems.HABridge.plugins.domoticz.DomoticzHome;
import com.bwssystems.HABridge.plugins.exec.CommandHome;
import com.bwssystems.HABridge.plugins.hal.HalHome;
import com.bwssystems.HABridge.plugins.harmony.HarmonyHome;
@@ -81,6 +82,10 @@ public class HomeManager {
aHome = new VeraHome(bridgeSettings);
resourceList.put(DeviceMapTypes.VERA_DEVICE[DeviceMapTypes.typeIndex], aHome);
resourceList.put(DeviceMapTypes.VERA_SCENE[DeviceMapTypes.typeIndex], aHome);
//setup the HomeAssistant configuration if available
aHome = new DomoticzHome(bridgeSettings);
resourceList.put(DeviceMapTypes.DOMOTICZ_DEVICE[DeviceMapTypes.typeIndex], aHome);
homeList.put(DeviceMapTypes.DOMOTICZ_DEVICE[DeviceMapTypes.typeIndex], aHome);
}
public Home findHome(String type) {

View File

@@ -213,6 +213,12 @@ public class DeviceResource {
return homeManager.findResource(DeviceMapTypes.HASS_DEVICE[DeviceMapTypes.typeIndex]).getItems(DeviceMapTypes.HASS_DEVICE[DeviceMapTypes.typeIndex]);
}, new JsonTransformer());
get (API_CONTEXT + "/domoticz/devices", "application/json", (request, response) -> {
log.debug("Get Domoticz Clients");
response.status(HttpStatus.SC_OK);
return homeManager.findResource(DeviceMapTypes.DOMOTICZ_DEVICE[DeviceMapTypes.typeIndex]).getItems(DeviceMapTypes.DOMOTICZ_DEVICE[DeviceMapTypes.typeIndex]);
}, new JsonTransformer());
get (API_CONTEXT + "/map/types", "application/json", (request, response) -> {
log.debug("Get map types");
return new DeviceMapTypes().getDeviceMapTypes();

View File

@@ -82,6 +82,12 @@ public class DeviceResult {
@SerializedName("Notifications")
@Expose
private String notifications;
@SerializedName("OffAction")
@Expose
private String offAction;
@SerializedName("OnAction")
@Expose
private String onAction;
@SerializedName("PlanID")
@Expose
private String planID;
@@ -343,6 +349,23 @@ public class DeviceResult {
this.notifications = notifications;
}
public String getOffAction() {
return offAction;
}
public void setOffAction(String offAction) {
this.offAction = offAction;
}
public String getOnAction() {
return onAction;
}
public void setOnAction(String onAction) {
this.onAction = onAction;
}
public String getPlanID() {
return planID;
}

View File

@@ -10,6 +10,9 @@ public class Devices {
@SerializedName("ActTime")
@Expose
private Integer actTime;
@SerializedName("AllowWidgetOrdering")
@Expose
private Boolean allowWidgetOrdering;
@SerializedName("ServerTime")
@Expose
private String serverTime;
@@ -37,6 +40,14 @@ public class Devices {
this.actTime = actTime;
}
public Boolean getAllowWidgetOrdering() {
return allowWidgetOrdering;
}
public void setAllowWidgetOrdering(Boolean allowWidgetOrdering) {
this.allowWidgetOrdering = allowWidgetOrdering;
}
public String getServerTime() {
return serverTime;
}

View File

@@ -1,32 +1,32 @@
package com.bwssystems.HABridge.plugins.domoticz;
public class DomoticzDevice {
private String Domoticzdevicetype;
private String Domoticzdevicename;
private String Domoticzaddress;
private String Domoticzname;
public String getDomoticzdevicetype() {
return Domoticzdevicetype;
private String devicetype;
private String devicename;
private String domoticzaddress;
private String domoticzname;
public String getDevicetype() {
return devicetype;
}
public void setDomoticzdevicetype(String Domoticzdevicetype) {
this.Domoticzdevicetype = Domoticzdevicetype;
public void setDevicetype(String devicetype) {
this.devicetype = devicetype;
}
public String getDomoticzdevicename() {
return Domoticzdevicename;
public String getDevicename() {
return devicename;
}
public void setDomoticzdevicename(String Domoticzdevicename) {
this.Domoticzdevicename = Domoticzdevicename;
public void setDevicename(String devicename) {
this.devicename = devicename;
}
public String getDomoticzaddress() {
return Domoticzaddress;
return domoticzaddress;
}
public void setDomoticzaddress(String Domoticzaddress) {
this.Domoticzaddress = Domoticzaddress;
public void setDomoticzaddress(String domoticzaddress) {
this.domoticzaddress = domoticzaddress;
}
public String getDomoticzname() {
return Domoticzname;
return domoticzname;
}
public void setDomoticzname(String Domoticzname) {
this.Domoticzname = Domoticzname;
public void setDomoticzname(String domoticzname) {
this.domoticzname = domoticzname;
}
}

View File

@@ -9,102 +9,44 @@ import org.slf4j.LoggerFactory;
import com.bwssystems.HABridge.NamedIP;
import com.bwssystems.HABridge.plugins.http.HTTPHandler;
import com.bwssystems.HABridge.util.TextStringFormatter;
import com.google.gson.Gson;
public class DomoticzHandler {
private static final Logger log = LoggerFactory.getLogger(DomoticzHandler.class);
private static final String DEVICE_REQUEST = "/DeviceData!DeviceCmd=GetNames!DeviceType=";
private static final String HVAC_REQUEST = "/HVACData!HVACCmd=GetNames";
private static final String GROUP_REQUEST = "/GroupData!GroupCmd=GetNames";
private static final String MACRO_REQUEST = "/MacroData!MacroCmd=GetNames";
private static final String SCENE_REQUEST = "/SceneData!SceneCmd=GetNames";
private static final String IRDATA_REQUEST = "/IrData!IRCmd=GetNames";
private static final String IRBUTTON_REQUEST = "/IrData!IRCmd=GetButtons!IrDevice=";
private static final String TOKEN_REQUEST = "?Token=";
private static final String LIGHT_REQUEST = "Light";
private static final String APPL_REQUEST = "Appl";
// private static final String VIDEO_REQUEST = "Video";
private static final String THEATRE_REQUEST = "Theatre";
private static final String CUSTOM_REQUEST = "Custom";
private static final String HVAC_TYPE = "HVAC";
private static final String HOME_TYPE = "Home";
private static final String GROUP_TYPE = "Group";
private static final String MACRO_TYPE = "Macro";
private static final String SCENE_TYPE = "Scene";
private static final String IRDATA_TYPE = "IrData";
private static final String GET_REQUEST = "/json.htm?type=";
private static final String DEVICES_TYPE = "devices";
private static final String SCENES_TYPE = "scenes";
private static final String FILTER_USED = "&used=";
private HTTPHandler httpClient;
private NamedIP domoticzAddress;
private String theToken;
public DomoticzHandler(NamedIP addressName, String aGivenToken) {
public DomoticzHandler(NamedIP addressName) {
super();
httpClient = new HTTPHandler();
domoticzAddress = addressName;
theToken = aGivenToken;
}
public List<DomoticzDevice> getLights() {
return getDomoticzDevices(DEVICE_REQUEST + LIGHT_REQUEST + TOKEN_REQUEST, LIGHT_REQUEST);
}
public List<DomoticzDevice> getAppliances() {
return getDomoticzDevices(DEVICE_REQUEST + APPL_REQUEST + TOKEN_REQUEST, APPL_REQUEST);
}
public List<DomoticzDevice> getTheatre() {
return getDomoticzDevices(DEVICE_REQUEST + THEATRE_REQUEST + TOKEN_REQUEST, THEATRE_REQUEST);
}
public List<DomoticzDevice> getCustom() {
return getDomoticzDevices(DEVICE_REQUEST + CUSTOM_REQUEST + TOKEN_REQUEST, CUSTOM_REQUEST);
}
public List<DomoticzDevice> getHVAC() {
return getDomoticzDevices(HVAC_REQUEST + TOKEN_REQUEST, HVAC_TYPE);
}
public List<DomoticzDevice> getGroups() {
return getDomoticzDevices(GROUP_REQUEST + TOKEN_REQUEST, GROUP_TYPE);
}
public List<DomoticzDevice> getMacros() {
return getDomoticzDevices(MACRO_REQUEST + TOKEN_REQUEST, MACRO_TYPE);
public List<DomoticzDevice> getDevices() {
return getDomoticzDevices(GET_REQUEST, DEVICES_TYPE, FILTER_USED);
}
public List<DomoticzDevice> getScenes() {
return getDomoticzDevices(SCENE_REQUEST + TOKEN_REQUEST, SCENE_TYPE);
return getDomoticzDevices(GET_REQUEST, SCENES_TYPE, null);
}
public List<DomoticzDevice> getButtons() {
List<DomoticzDevice> irDataDevices = getDomoticzDevices(IRDATA_REQUEST + TOKEN_REQUEST, IRDATA_TYPE);
return getDeviceButtons(irDataDevices);
}
public List<DomoticzDevice> getHome(String theDeviceName) {
List<DomoticzDevice> deviceList = null;
deviceList = new ArrayList<DomoticzDevice>();
DomoticzDevice aNewDomoticzDevice = new DomoticzDevice();
aNewDomoticzDevice.setDomoticzdevicetype(HOME_TYPE);
aNewDomoticzDevice.setDomoticzdevicename(theDeviceName);
deviceList.add(aNewDomoticzDevice);
return deviceList;
}
private List<DomoticzDevice> getDomoticzDevices(String apiType, String deviceType) {
private List<DomoticzDevice> getDomoticzDevices(String rootRequest, String type, String postpend) {
Devices theDomoticzApiResponse = null;
List<DomoticzDevice> deviceList = null;
String theUrl = null;
String theData;
theUrl = "http://" + domoticzAddress.getIp() + apiType + theToken;
theUrl = "http://" + domoticzAddress.getIp() + rootRequest + type;
theData = httpClient.doHttpRequest(theUrl, null, null, null, null);
if(theData != null) {
log.debug("GET " + deviceType + " DomoticzApiResponse - data: " + theData);
log.debug("GET " + type + " DomoticzApiResponse - data: " + theData);
theDomoticzApiResponse = new Gson().fromJson(theData, Devices.class);
if(theDomoticzApiResponse.getResult() == null) {
log.warn("Cannot get an devices for type " + deviceType + " for Domoticz " + domoticzAddress.getName() + " as response is not parsable.");
log.warn("Cannot get any devices for type " + type + " for Domoticz " + domoticzAddress.getName() + " as response is not parsable.");
return deviceList;
}
deviceList = new ArrayList<DomoticzDevice>();
@@ -113,51 +55,20 @@ public class DomoticzHandler {
while(theDeviceNames.hasNext()) {
DeviceResult theDevice = theDeviceNames.next();
DomoticzDevice aNewDomoticzDevice = new DomoticzDevice();
aNewDomoticzDevice.setDomoticzdevicetype(deviceType);
// aNewDomoticzDevice.setDomoticzdevicename(theDevice.getDeviceName());
aNewDomoticzDevice.setDevicetype(theDevice.getType());
aNewDomoticzDevice.setDevicename(theDevice.getName());
aNewDomoticzDevice.setDomoticzaddress(domoticzAddress.getIp());
aNewDomoticzDevice.setDomoticzname(domoticzAddress.getName());
deviceList.add(aNewDomoticzDevice);
}
}
else {
log.warn("Get Domoticz device types " + deviceType + " for " + domoticzAddress.getName() + " - returned null, no data.");
log.warn("Get Domoticz device types " + type + " for " + domoticzAddress.getName() + " - returned null, no data.");
}
return deviceList;
}
private List<DomoticzDevice> getDeviceButtons(List<DomoticzDevice> theIrDevices) {
Devices theDomoticzApiResponse = null;
List<DomoticzDevice> deviceList = null;
String theUrl = null;
String theData;
if(theIrDevices == null)
return null;
Iterator<DomoticzDevice> theDomoticzDevices = theIrDevices.iterator();
deviceList = new ArrayList<DomoticzDevice>();
while (theDomoticzDevices.hasNext()) {
DomoticzDevice theDomoticzDevice = theDomoticzDevices.next();
theUrl = "http://" + domoticzAddress.getIp() + IRBUTTON_REQUEST + TextStringFormatter.forQuerySpaceUrl(theDomoticzDevice.getDomoticzdevicename()) + TOKEN_REQUEST + theToken;
theData = httpClient.doHttpRequest(theUrl, null, null, null, null);
if (theData != null) {
log.debug("GET IrData for IR Device " + theDomoticzDevice.getDomoticzdevicename() + " DomoticzApiResponse - data: " + theData);
theDomoticzApiResponse = new Gson().fromJson(theData, Devices.class);
if (theDomoticzApiResponse.getResult() == null) {
log.warn("Cannot get buttons for IR Device " + theDomoticzDevice.getDomoticzdevicename() + " for Domoticz "
+ domoticzAddress.getName() + " as response is not parsable.");
return deviceList;
}
// theDomoticzDevice.setButtons(theDomoticzApiResponse);
deviceList.add(theDomoticzDevice);
} else {
log.warn("Get Domoticz buttons for IR Device " + theDomoticzDevice.getDomoticzdevicename() + " for "
+ domoticzAddress.getName() + " - returned null, no data.");
}
}
return deviceList;
}
public NamedIP getDomoticzAddress() {
return domoticzAddress;
}

View File

@@ -24,7 +24,7 @@ import com.google.gson.Gson;
public class DomoticzHome implements Home {
private static final Logger log = LoggerFactory.getLogger(DomoticzHome.class);
private Map<String, DomoticzHandler> Domoticzs;
private Map<String, DomoticzHandler> domoticzs;
private Boolean validDomoticz;
private HTTPHandler anHttpHandler;
@@ -39,62 +39,22 @@ public class DomoticzHome implements Home {
return null;
log.debug("consolidating devices for hues");
List<DomoticzDevice> theResponse = null;
Iterator<String> keys = Domoticzs.keySet().iterator();
Iterator<String> keys = domoticzs.keySet().iterator();
List<DomoticzDevice> deviceList = new ArrayList<DomoticzDevice>();
while(keys.hasNext()) {
String key = keys.next();
theResponse = Domoticzs.get(key).getLights();
theResponse = domoticzs.get(key).getDevices();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else {
log.warn("Cannot get lights for Domoticz with name: " + key + ", skipping this Domoticz.");
continue;
}
theResponse = Domoticzs.get(key).getAppliances();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get appliances for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getTheatre();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get theatre for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getCustom();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get custom for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getHVAC();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get HVAC for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getHome(key);
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get Homes for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getGroups();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get Groups for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getMacros();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get Macros for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getScenes();
theResponse = domoticzs.get(key).getScenes();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get Scenes for Domoticz with name: " + key);
theResponse = Domoticzs.get(key).getButtons();
if(theResponse != null)
addDomoticzDevices(deviceList, theResponse, key);
else
log.warn("Cannot get Buttons for Domoticz with name: " + key);
}
return deviceList;
}
@@ -106,10 +66,9 @@ public class DomoticzHome implements Home {
while(devices.hasNext()) {
DomoticzDevice theDevice = devices.next();
DomoticzDevice aNewDomoticzDevice = new DomoticzDevice();
aNewDomoticzDevice.setDomoticzdevicetype(theDevice.getDomoticzdevicetype());
aNewDomoticzDevice.setDomoticzdevicename(theDevice.getDomoticzdevicename());
// aNewDomoticzDevice.setButtons(theDevice.getButtons());
aNewDomoticzDevice.setDomoticzaddress(Domoticzs.get(theKey).getDomoticzAddress().getIp());
aNewDomoticzDevice.setDevicetype(theDevice.getDevicetype());
aNewDomoticzDevice.setDevicename(theDevice.getDevicename());
aNewDomoticzDevice.setDomoticzaddress(domoticzs.get(theKey).getDomoticzAddress().getIp());
aNewDomoticzDevice.setDomoticzname(theKey);
theDeviceList.add(aNewDomoticzDevice);
}
@@ -141,16 +100,16 @@ public class DomoticzHome implements Home {
@Override
public Home createHome(BridgeSettingsDescriptor bridgeSettings) {
// validDomoticz = bridgeSettings.isValidDomoticz();
validDomoticz = bridgeSettings.isValidDomoticz();
log.info("Domoticz Home created." + (validDomoticz ? "" : " No Domoticz devices configured."));
if(!validDomoticz)
return null;
Domoticzs = new HashMap<String, DomoticzHandler>();
domoticzs = new HashMap<String, DomoticzHandler>();
Iterator<NamedIP> theList = bridgeSettings.getDomoticzaddress().getDevices().iterator();
while(theList.hasNext()) {
NamedIP aDomoticz = theList.next();
try {
Domoticzs.put(aDomoticz.getName(), new DomoticzHandler(aDomoticz, "stuff"));
domoticzs.put(aDomoticz.getName(), new DomoticzHandler(aDomoticz));
} catch (Exception e) {
log.error("Cannot get Domoticz client (" + aDomoticz.getName() + ") setup, Exiting with message: " + e.getMessage(), e);
return null;

View File

@@ -1,142 +0,0 @@
package com.bwssystems.HABridge.plugins.domoticz;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class SceneResult {
@SerializedName("Description")
@Expose
private String description;
@SerializedName("Favorite")
@Expose
private Integer favorite;
@SerializedName("LastUpdate")
@Expose
private String lastUpdate;
@SerializedName("Name")
@Expose
private String name;
@SerializedName("OffAction")
@Expose
private String offAction;
@SerializedName("OnAction")
@Expose
private String onAction;
@SerializedName("Protected")
@Expose
private Boolean _protected;
@SerializedName("Status")
@Expose
private String status;
@SerializedName("Timers")
@Expose
private String timers;
@SerializedName("Type")
@Expose
private String type;
@SerializedName("UsedByCamera")
@Expose
private Boolean usedByCamera;
@SerializedName("idx")
@Expose
private String idx;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getFavorite() {
return favorite;
}
public void setFavorite(Integer favorite) {
this.favorite = favorite;
}
public String getLastUpdate() {
return lastUpdate;
}
public void setLastUpdate(String lastUpdate) {
this.lastUpdate = lastUpdate;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOffAction() {
return offAction;
}
public void setOffAction(String offAction) {
this.offAction = offAction;
}
public String getOnAction() {
return onAction;
}
public void setOnAction(String onAction) {
this.onAction = onAction;
}
public Boolean getProtected() {
return _protected;
}
public void setProtected(Boolean _protected) {
this._protected = _protected;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getTimers() {
return timers;
}
public void setTimers(String timers) {
this.timers = timers;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Boolean getUsedByCamera() {
return usedByCamera;
}
public void setUsedByCamera(Boolean usedByCamera) {
this.usedByCamera = usedByCamera;
}
public String getIdx() {
return idx;
}
public void setIdx(String idx) {
this.idx = idx;
}
}

View File

@@ -1,99 +0,0 @@
package com.bwssystems.HABridge.plugins.domoticz;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Scenes {
@SerializedName("ActTime")
@Expose
private Integer actTime;
@SerializedName("AllowWidgetOrdering")
@Expose
private Boolean allowWidgetOrdering;
@SerializedName("ServerTime")
@Expose
private String serverTime;
@SerializedName("Sunrise")
@Expose
private String sunrise;
@SerializedName("Sunset")
@Expose
private String sunset;
@SerializedName("result")
@Expose
private List<SceneResult> result = null;
@SerializedName("status")
@Expose
private String status;
@SerializedName("title")
@Expose
private String title;
public Integer getActTime() {
return actTime;
}
public void setActTime(Integer actTime) {
this.actTime = actTime;
}
public Boolean getAllowWidgetOrdering() {
return allowWidgetOrdering;
}
public void setAllowWidgetOrdering(Boolean allowWidgetOrdering) {
this.allowWidgetOrdering = allowWidgetOrdering;
}
public String getServerTime() {
return serverTime;
}
public void setServerTime(String serverTime) {
this.serverTime = serverTime;
}
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 List<SceneResult> getResult() {
return result;
}
public void setResult(List<SceneResult> result) {
this.result = result;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}