package com.sonycsl.Kadecot.wamp.echonetlite;
import java.util.Locale;
public enum ECHONETLitePropertyName {
// epc must be lower case
// common
OPERATION_STATUS("OperationStatus", "0x80"),
MEASURED_CUMULATIVE_POWER_CONSUMPTION("MeasuredCumulativePowerConsumption", "0x85"),
// HomeAirConditioner
OPERATION_POWER_SAVING("OperationPowerSaving", "0x8f"),
OPERATION_MODE_SETTING("OperationModeSetting", "0xb0"),
AUTOMATIC_TEMPERATURE_CONTROL_SETTING("AutomaticTemperatureControlSetting", "0xb1"),
NORMAL_HIGHSPEED_SILENT_OPERATION_SETTING("NormalHighspeedSilentOperationSetting", "0xb2"),
SET_TEMPERATURE_VALUE("SetTemperatureSetting", "0xb3"),
SET_VALUE_OF_RELATIVE_HUMIDITY_IN_DEHUMIDIFYING_MODE(
"SetValueOfRelativeHumidityInDehumidifyingMode", "0xb4"),
SET_TEMPERATURE_VALUE_IN_COOLING_MODE("SetTemperatureValueInCoolingMode", "0xb5"),
SET_TEMPERATURE_VALUE_IN_HEATING_MODE("SetTemperatureValueInHeatingMode", "0xb6"),
// Temperature
MEASURED_TEMPERATURE_VALUE("MeasuredTemperatureValue", "0xe0"),
UNKNOWN("UNKNOWN", "");
private String name;
private String epc;
private ECHONETLitePropertyName(String name, String epc) {
this.name = name;
this.epc = epc;
}
public String toString() {
return name;
}
public String getEpc() {
return epc;
}
public static String translate(String paramName) {
for (ECHONETLitePropertyName elem : ECHONETLitePropertyName.values()) {
if (paramName.equals(elem.toString())) {
return elem.getEpc();
}
}
// paramName may be EPC
return paramName;
}
public static ECHONETLitePropertyName getPropertyName(String name) {
for (ECHONETLitePropertyName element : ECHONETLitePropertyName.values()) {
if (name.equals(element.toString())) {
return element;
}
}
return UNKNOWN;
}
public static ECHONETLitePropertyName getPropertyNameFromEpc(String epc) {
String lowerEpc = epc.toLowerCase(Locale.ENGLISH);
for (ECHONETLitePropertyName element : ECHONETLitePropertyName.values()) {
if (lowerEpc.equals(element.getEpc())) {
return element;
}
}
return UNKNOWN;
}
}