/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.binding.koubachi.internal.api;
import java.math.BigDecimal;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
/**
* Represents a device (plant sensor) in the Koubachi domain.
*
* @author Thomas.Eichstaedt-Engelen
* @author John Cocula -- updated to Koubachi v3 API
* @since 1.2.0
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Device extends KoubachiResource {
BigDecimal virtualBatteryLevel;
String ssid;
String hardwareProductType;
Date lastTransmission;
Date nextTransmission;
Date associatedSince;
String recentSoilmoistureReadingValue;
Date recentSoilmoistureReadingTime;
BigDecimal recentSoilmoistureReadingSiValue; // added in v3 API
String recentTemperatureReadingValue;
Date recentTemperatureReadingTime;
BigDecimal recentTemperatureReadingSiValue; // added in v3 API
String recentLightReadingValue;
Date recentLightReadingTime;
BigDecimal recentLightReadingSiValue; // added in v3 API
// below added in Koubachi v3 API:
String recentSoiltemperatureReadingValue;
Date recentSoiltemperatureReadingTime;
BigDecimal recentSoiltemperatureReadingSiValue;
BigDecimal soiltemperaturePollingInterval;
String recentIrlightReadingValue;
Date recentIrlightReadingTime;
BigDecimal recentIrlightReadingSiValue;
String hardwareProductGeneration;
String hardwareProductName;
@JsonProperty("mac_address")
public void setId(String id) {
this.id = id;
}
@JsonProperty("virtual_battery_level")
public BigDecimal getVirtualBatteryLevel() {
return virtualBatteryLevel;
}
@JsonProperty("ssid")
public String getSsid() {
return ssid;
}
@JsonProperty("hardware_product_type")
public String getHardwareProductType() {
return hardwareProductType;
}
@JsonProperty("last_transmission")
public Date getLastTransmission() {
return lastTransmission;
}
@JsonProperty("next_transmission")
public Date getNextTransmission() {
return nextTransmission;
}
@JsonProperty("associated_since")
public Date getAssociatedSince() {
return associatedSince;
}
@JsonProperty("recent_soilmoisture_reading_value")
public String getRecentSoilmoistureReadingValue() {
return recentSoilmoistureReadingValue;
}
@JsonProperty("recent_soilmoisture_reading_time")
public Date getRecentSoilmoistureReadingTime() {
return recentSoilmoistureReadingTime;
}
@JsonProperty("recent_soilmoisture_reading_si_value")
public BigDecimal getRecentSoilmoistureReadingSiValue() {
return recentSoilmoistureReadingSiValue;
}
@JsonProperty("recent_temperature_reading_value")
public String getRecentTemperatureReadingValue() {
return recentTemperatureReadingValue;
}
@JsonProperty("recent_temperature_reading_time")
public Date getRecentTemperatureReadingTime() {
return recentTemperatureReadingTime;
}
@JsonProperty("recent_temperature_reading_si_value")
public BigDecimal getRecentTemperatureReadingSiValue() {
return recentTemperatureReadingSiValue;
}
@JsonProperty("recent_light_reading_value")
public String getRecentLightReadingValue() {
return recentLightReadingValue;
}
@JsonProperty("recent_light_reading_time")
public Date getRecentLightReadingTime() {
return recentLightReadingTime;
}
@JsonProperty("recent_light_reading_si_value")
public BigDecimal getRecentLightReadingSiValue() {
return recentLightReadingSiValue;
}
@JsonProperty("recent_soiltemperature_reading_value")
public String getRecentSoiltemperatureReadingValue() {
return recentSoiltemperatureReadingValue;
}
@JsonProperty("recent_soiltemperature_reading_time")
public Date getRecentSoiltemperatureReadingTime() {
return recentSoiltemperatureReadingTime;
}
@JsonProperty("recent_soiltemperature_reading_si_value")
public BigDecimal getRecentSoiltemperatureReadingSiValue() {
return recentSoiltemperatureReadingSiValue;
}
@JsonProperty("soiltemperature_polling_interval")
public BigDecimal getSoiltemperaturePollingInterval() {
return soiltemperaturePollingInterval;
}
@JsonProperty("recent_irlight_reading_value")
public String getRecentIrlightReadingValue() {
return recentIrlightReadingValue;
}
@JsonProperty("recent_irlight_reading_time")
public Date getRecentIrlightReadingTime() {
return recentIrlightReadingTime;
}
@JsonProperty("recent_irlight_reading_si_value")
public BigDecimal getRecentIrlightReadingSiValue() {
return recentIrlightReadingSiValue;
}
@JsonProperty("hardware_product_generation")
public String getHardwareProductGeneration() {
return hardwareProductGeneration;
}
@JsonProperty("hardware_product_name")
public String getHardwareProductName() {
return hardwareProductName;
}
@Override
public String toString() {
return "Device [virtualBatteryLevel=" + virtualBatteryLevel + ", ssid=" + ssid + ", hardwareProductType="
+ hardwareProductType + ", lastTransmission=" + lastTransmission + ", nextTransmission="
+ nextTransmission + ", associatedSince=" + associatedSince + ", recentSoilmoistureReadingValue="
+ recentSoilmoistureReadingValue + ", recentSoilmoistureReadingTime=" + recentSoilmoistureReadingTime
+ ", recentSoilmoistureReadingSiValue=" + recentSoilmoistureReadingSiValue
+ ", recentTemperatureReadingValue=" + recentTemperatureReadingValue + ", recentTemperatureReadingTime="
+ recentTemperatureReadingTime + ", recentTemperatureReadingSiValue=" + recentTemperatureReadingSiValue
+ ", recentLightReadingValue=" + recentLightReadingValue + ", recentLightReadingTime="
+ recentLightReadingTime + ", recentLightReadingSiValue=" + recentLightReadingSiValue
+ ", recentSoiltemperatureReadingValue=" + recentSoiltemperatureReadingValue
+ ", recentSoiltemperatureReadingTime=" + recentSoiltemperatureReadingTime
+ ", recentSoiltemperatureReadingSiValue=" + recentSoiltemperatureReadingSiValue
+ ", soiltemperaturePollingInterval=" + soiltemperaturePollingInterval + ", recentIrlightReadingValue="
+ recentIrlightReadingValue + ", recentIrlightReadingTime=" + recentIrlightReadingTime
+ ", recentIrlightReadingSiValue=" + recentIrlightReadingSiValue + ", hardwareProductGeneration="
+ hardwareProductGeneration + ", hardwareProductName=" + hardwareProductName + "]";
}
}