OpenECHO
 All Classes Namespaces Files Functions Variables
AirConditionerVentilationFan.java
Go to the documentation of this file.
1 /*
2  * Copyright 2012 Sony Computer Science Laboratories, Inc. <info@kadecot.net>
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.sonycsl.echo.eoj.device.airconditioner;
17 
25 
26 public abstract class AirConditionerVentilationFan extends DeviceObject {
27 
28  public static final short ECHO_CLASS_CODE = (short)0x0134;
29 
30  public static final byte EPC_SET_VALUE_OF_ROOM_RELATIVE_HUMIDITY = (byte)0xB4;
31  public static final byte EPC_VENTILATION_AUTO_SETTING = (byte)0xBF;
32  public static final byte EPC_MEASURED_VALUE_OF_ROOM_RELATIVE_HUMIDITY = (byte)0xBA;
33  public static final byte EPC_SET_VALUE_OF_VENTILATION_AIR_FLOW_RATE = (byte)0xA0;
34  public static final byte EPC_HEAT_EXCHANGER_OPERATION_SETTING = (byte)0xE0;
35  public static final byte EPC_MEASURED_VALUE_OF_CO2_CONCENTRATION = (byte)0xC0;
36  public static final byte EPC_SMOKE_CIGARETTE_DETECTION_STATUS = (byte)0xC1;
37 
38  @Override
39  protected void setupPropertyMaps() {
40  super.setupPropertyMaps();
41 
45  }
46 
47  @Override
48  public void onNew() {
49  super.onNew();
50  Echo.getEventListener().onNewAirConditionerVentilationFan(this);
51  }
52 
53  @Override
54  public short getEchoClassCode() {
55  return ECHO_CLASS_CODE;
56  }
57 
82  protected abstract boolean setOperationStatus(byte[] edt);
107  protected abstract byte[] getOperationStatus();
130  protected boolean setSetValueOfRoomRelativeHumidity(byte[] edt) {return false;}
153  protected byte[] getSetValueOfRoomRelativeHumidity() {return null;}
176  protected boolean isValidSetValueOfRoomRelativeHumidity(byte[] edt) {
177  if(edt == null || !(edt.length == 1)) return false;
178  return true;
179  }
202  protected boolean setVentilationAutoSetting(byte[] edt) {return false;}
225  protected byte[] getVentilationAutoSetting() {return null;}
248  protected boolean isValidVentilationAutoSetting(byte[] edt) {
249  if(edt == null || !(edt.length == 1)) return false;
250  return true;
251  }
274  protected byte[] getMeasuredValueOfRoomRelativeHumidity() {return null;}
297  protected boolean isValidMeasuredValueOfRoomRelativeHumidity(byte[] edt) {
298  if(edt == null || !(edt.length == 1)) return false;
299  return true;
300  }
326  protected boolean setSetValueOfVentilationAirFlowRate(byte[] edt) {return false;}
352  protected byte[] getSetValueOfVentilationAirFlowRate() {return null;}
378  protected boolean isValidSetValueOfVentilationAirFlowRate(byte[] edt) {
379  if(edt == null || !(edt.length == 1)) return false;
380  return true;
381  }
404  protected boolean setHeatExchangerOperationSetting(byte[] edt) {return false;}
427  protected byte[] getHeatExchangerOperationSetting() {return null;}
450  protected boolean isValidHeatExchangerOperationSetting(byte[] edt) {
451  if(edt == null || !(edt.length == 1)) return false;
452  return true;
453  }
476  protected byte[] getMeasuredValueOfCo2Concentration() {return null;}
499  protected boolean isValidMeasuredValueOfCo2Concentration(byte[] edt) {
500  if(edt == null || !(edt.length == 2)) return false;
501  return true;
502  }
526  protected byte[] getSmokeCigaretteDetectionStatus() {return null;}
550  protected boolean isValidSmokeCigaretteDetectionStatus(byte[] edt) {
551  if(edt == null || !(edt.length == 1)) return false;
552  return true;
553  }
554 
555  @Override
556  protected synchronized boolean setProperty(EchoProperty property) {
557  boolean success = super.setProperty(property);
558  if(success) return success;
559 
560  switch(property.epc) {
565  default : return false;
566  }
567  }
568 
569  @Override
570  protected synchronized byte[] getProperty(byte epc) {
571  byte[] edt = super.getProperty(epc);
572  if(edt != null) return edt;
573 
574  switch(epc) {
582  default : return null;
583  }
584  }
585 
586  @Override
587  protected synchronized boolean isValidProperty(EchoProperty property) {
588  boolean valid = super.isValidProperty(property);
589  if(valid) return valid;
590 
591  switch(property.epc) {
599  default : return false;
600  }
601  }
602 
603  @Override
604  public Setter set() {
605  return set(true);
606  }
607 
608  @Override
609  public Setter set(boolean responseRequired) {
610  return new Setter(getEchoClassCode(), getInstanceCode()
611  , getNode().getAddressStr(), responseRequired);
612  }
613 
614  @Override
615  public Getter get() {
616  return new Getter(getEchoClassCode(), getInstanceCode()
617  , getNode().getAddressStr());
618  }
619 
620  @Override
621  public Informer inform() {
622  return inform(isSelfObject());
623  }
624 
625  @Override
626  protected Informer inform(boolean multicast) {
627  String address;
628  if(multicast) {
630  } else {
631  address = getNode().getAddressStr();
632  }
633  return new Informer(getEchoClassCode(), getInstanceCode()
634  , address, isSelfObject());
635  }
636 
637  public static class Receiver extends DeviceObject.Receiver {
638 
639  @Override
640  protected boolean onSetProperty(EchoObject eoj, short tid, byte esv,
641  EchoProperty property, boolean success) {
642  boolean ret = super.onSetProperty(eoj, tid, esv, property, success);
643  if(ret) return true;
644 
645  switch(property.epc) {
647  onSetSetValueOfRoomRelativeHumidity(eoj, tid, esv, property, success);
648  return true;
650  onSetVentilationAutoSetting(eoj, tid, esv, property, success);
651  return true;
653  onSetSetValueOfVentilationAirFlowRate(eoj, tid, esv, property, success);
654  return true;
656  onSetHeatExchangerOperationSetting(eoj, tid, esv, property, success);
657  return true;
658  default :
659  return false;
660  }
661  }
662 
663  @Override
664  protected boolean onGetProperty(EchoObject eoj, short tid, byte esv,
665  EchoProperty property, boolean success) {
666  boolean ret = super.onGetProperty(eoj, tid, esv, property, success);
667  if(ret) return true;
668 
669  switch(property.epc) {
671  onGetSetValueOfRoomRelativeHumidity(eoj, tid, esv, property, success);
672  return true;
674  onGetVentilationAutoSetting(eoj, tid, esv, property, success);
675  return true;
677  onGetMeasuredValueOfRoomRelativeHumidity(eoj, tid, esv, property, success);
678  return true;
680  onGetSetValueOfVentilationAirFlowRate(eoj, tid, esv, property, success);
681  return true;
683  onGetHeatExchangerOperationSetting(eoj, tid, esv, property, success);
684  return true;
686  onGetMeasuredValueOfCo2Concentration(eoj, tid, esv, property, success);
687  return true;
689  onGetSmokeCigaretteDetectionStatus(eoj, tid, esv, property, success);
690  return true;
691  default :
692  return false;
693  }
694  }
695 
718  protected void onSetSetValueOfRoomRelativeHumidity(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
741  protected void onGetSetValueOfRoomRelativeHumidity(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
764  protected void onSetVentilationAutoSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
787  protected void onGetVentilationAutoSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
810  protected void onGetMeasuredValueOfRoomRelativeHumidity(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
836  protected void onSetSetValueOfVentilationAirFlowRate(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
862  protected void onGetSetValueOfVentilationAirFlowRate(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
885  protected void onSetHeatExchangerOperationSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
908  protected void onGetHeatExchangerOperationSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
931  protected void onGetMeasuredValueOfCo2Concentration(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
955  protected void onGetSmokeCigaretteDetectionStatus(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
956  }
957 
958  public static class Setter extends DeviceObject.Setter {
959  public Setter(short dstEchoClassCode, byte dstEchoInstanceCode
960  , String dstEchoAddress, boolean responseRequired) {
961  super(dstEchoClassCode, dstEchoInstanceCode
962  , dstEchoAddress, responseRequired);
963  }
964 
965  @Override
966  public Setter reqSetProperty(byte epc, byte[] edt) {
967  return (Setter)super.reqSetProperty(epc, edt);
968  }
969 
970  @Override
971  public Setter reqSetOperationStatus(byte[] edt) {
972  return (Setter)super.reqSetOperationStatus(edt);
973  }
974  @Override
975  public Setter reqSetInstallationLocation(byte[] edt) {
976  return (Setter)super.reqSetInstallationLocation(edt);
977  }
978  @Override
979  public Setter reqSetCurrentLimitSetting(byte[] edt) {
980  return (Setter)super.reqSetCurrentLimitSetting(edt);
981  }
982  @Override
983  public Setter reqSetPowerSavingOperationSetting(byte[] edt) {
984  return (Setter)super.reqSetPowerSavingOperationSetting(edt);
985  }
986  @Override
987  public Setter reqSetRemoteControlSetting(byte[] edt) {
988  return (Setter)super.reqSetRemoteControlSetting(edt);
989  }
990  @Override
991  public Setter reqSetCurrentTimeSetting(byte[] edt) {
992  return (Setter)super.reqSetCurrentTimeSetting(edt);
993  }
994  @Override
995  public Setter reqSetCurrentDateSetting(byte[] edt) {
996  return (Setter)super.reqSetCurrentDateSetting(edt);
997  }
998  @Override
999  public Setter reqSetPowerLimitSetting(byte[] edt) {
1000  return (Setter)super.reqSetPowerLimitSetting(edt);
1001  }
1002 
1025  public Setter reqSetSetValueOfRoomRelativeHumidity(byte[] edt) {
1026  reqSetProperty(EPC_SET_VALUE_OF_ROOM_RELATIVE_HUMIDITY, edt);
1027  return this;
1028  }
1051  public Setter reqSetVentilationAutoSetting(byte[] edt) {
1052  reqSetProperty(EPC_VENTILATION_AUTO_SETTING, edt);
1053  return this;
1054  }
1080  public Setter reqSetSetValueOfVentilationAirFlowRate(byte[] edt) {
1081  reqSetProperty(EPC_SET_VALUE_OF_VENTILATION_AIR_FLOW_RATE, edt);
1082  return this;
1083  }
1106  public Setter reqSetHeatExchangerOperationSetting(byte[] edt) {
1107  reqSetProperty(EPC_HEAT_EXCHANGER_OPERATION_SETTING, edt);
1108  return this;
1109  }
1110  }
1111 
1112  public static class Getter extends DeviceObject.Getter {
1113  public Getter(short dstEchoClassCode, byte dstEchoInstanceCode
1114  , String dstEchoAddress) {
1115  super(dstEchoClassCode, dstEchoInstanceCode
1116  , dstEchoAddress);
1117  }
1118 
1119  @Override
1120  public Getter reqGetProperty(byte epc) {
1121  return (Getter)super.reqGetProperty(epc);
1122  }
1123 
1124  @Override
1125  public Getter reqGetOperationStatus() {
1126  return (Getter)super.reqGetOperationStatus();
1127  }
1128  @Override
1129  public Getter reqGetInstallationLocation() {
1130  return (Getter)super.reqGetInstallationLocation();
1131  }
1132  @Override
1133  public Getter reqGetStandardVersionInformation() {
1134  return (Getter)super.reqGetStandardVersionInformation();
1135  }
1136  @Override
1137  public Getter reqGetIdentificationNumber() {
1138  return (Getter)super.reqGetIdentificationNumber();
1139  }
1140  @Override
1141  public Getter reqGetMeasuredInstantaneousPowerConsumption() {
1142  return (Getter)super.reqGetMeasuredInstantaneousPowerConsumption();
1143  }
1144  @Override
1145  public Getter reqGetMeasuredCumulativePowerConsumption() {
1146  return (Getter)super.reqGetMeasuredCumulativePowerConsumption();
1147  }
1148  @Override
1149  public Getter reqGetManufacturersFaultCode() {
1150  return (Getter)super.reqGetManufacturersFaultCode();
1151  }
1152  @Override
1153  public Getter reqGetCurrentLimitSetting() {
1154  return (Getter)super.reqGetCurrentLimitSetting();
1155  }
1156  @Override
1157  public Getter reqGetFaultStatus() {
1158  return (Getter)super.reqGetFaultStatus();
1159  }
1160  @Override
1161  public Getter reqGetFaultDescription() {
1162  return (Getter)super.reqGetFaultDescription();
1163  }
1164  @Override
1165  public Getter reqGetManufacturerCode() {
1166  return (Getter)super.reqGetManufacturerCode();
1167  }
1168  @Override
1169  public Getter reqGetBusinessFacilityCode() {
1170  return (Getter)super.reqGetBusinessFacilityCode();
1171  }
1172  @Override
1173  public Getter reqGetProductCode() {
1174  return (Getter)super.reqGetProductCode();
1175  }
1176  @Override
1177  public Getter reqGetProductionNumber() {
1178  return (Getter)super.reqGetProductionNumber();
1179  }
1180  @Override
1181  public Getter reqGetProductionDate() {
1182  return (Getter)super.reqGetProductionDate();
1183  }
1184  @Override
1185  public Getter reqGetPowerSavingOperationSetting() {
1186  return (Getter)super.reqGetPowerSavingOperationSetting();
1187  }
1188  @Override
1189  public Getter reqGetRemoteControlSetting() {
1190  return (Getter)super.reqGetRemoteControlSetting();
1191  }
1192  @Override
1193  public Getter reqGetCurrentTimeSetting() {
1194  return (Getter)super.reqGetCurrentTimeSetting();
1195  }
1196  @Override
1197  public Getter reqGetCurrentDateSetting() {
1198  return (Getter)super.reqGetCurrentDateSetting();
1199  }
1200  @Override
1201  public Getter reqGetPowerLimitSetting() {
1202  return (Getter)super.reqGetPowerLimitSetting();
1203  }
1204  @Override
1205  public Getter reqGetCumulativeOperatingTime() {
1206  return (Getter)super.reqGetCumulativeOperatingTime();
1207  }
1208  @Override
1209  public Getter reqGetStatusChangeAnnouncementPropertyMap() {
1210  return (Getter)super.reqGetStatusChangeAnnouncementPropertyMap();
1211  }
1212  @Override
1213  public Getter reqGetSetPropertyMap() {
1214  return (Getter)super.reqGetSetPropertyMap();
1215  }
1216  @Override
1217  public Getter reqGetGetPropertyMap() {
1218  return (Getter)super.reqGetGetPropertyMap();
1219  }
1220 
1243  public Getter reqGetSetValueOfRoomRelativeHumidity() {
1245  return this;
1246  }
1269  public Getter reqGetVentilationAutoSetting() {
1270  reqGetProperty(EPC_VENTILATION_AUTO_SETTING);
1271  return this;
1272  }
1295  public Getter reqGetMeasuredValueOfRoomRelativeHumidity() {
1297  return this;
1298  }
1324  public Getter reqGetSetValueOfVentilationAirFlowRate() {
1326  return this;
1327  }
1350  public Getter reqGetHeatExchangerOperationSetting() {
1351  reqGetProperty(EPC_HEAT_EXCHANGER_OPERATION_SETTING);
1352  return this;
1353  }
1376  public Getter reqGetMeasuredValueOfCo2Concentration() {
1378  return this;
1379  }
1403  public Getter reqGetSmokeCigaretteDetectionStatus() {
1404  reqGetProperty(EPC_SMOKE_CIGARETTE_DETECTION_STATUS);
1405  return this;
1406  }
1407  }
1408 
1409  public static class Informer extends DeviceObject.Informer {
1410  public Informer(short echoClassCode, byte echoInstanceCode
1411  , String dstEchoAddress, boolean isSelfObject) {
1412  super(echoClassCode, echoInstanceCode
1413  , dstEchoAddress, isSelfObject);
1414  }
1415 
1416  @Override
1417  public Informer reqInformProperty(byte epc) {
1418  return (Informer)super.reqInformProperty(epc);
1419  }
1420  @Override
1421  public Informer reqInformOperationStatus() {
1422  return (Informer)super.reqInformOperationStatus();
1423  }
1424  @Override
1425  public Informer reqInformInstallationLocation() {
1426  return (Informer)super.reqInformInstallationLocation();
1427  }
1428  @Override
1429  public Informer reqInformStandardVersionInformation() {
1430  return (Informer)super.reqInformStandardVersionInformation();
1431  }
1432  @Override
1433  public Informer reqInformIdentificationNumber() {
1434  return (Informer)super.reqInformIdentificationNumber();
1435  }
1436  @Override
1437  public Informer reqInformMeasuredInstantaneousPowerConsumption() {
1438  return (Informer)super.reqInformMeasuredInstantaneousPowerConsumption();
1439  }
1440  @Override
1441  public Informer reqInformMeasuredCumulativePowerConsumption() {
1442  return (Informer)super.reqInformMeasuredCumulativePowerConsumption();
1443  }
1444  @Override
1445  public Informer reqInformManufacturersFaultCode() {
1446  return (Informer)super.reqInformManufacturersFaultCode();
1447  }
1448  @Override
1449  public Informer reqInformCurrentLimitSetting() {
1450  return (Informer)super.reqInformCurrentLimitSetting();
1451  }
1452  @Override
1453  public Informer reqInformFaultStatus() {
1454  return (Informer)super.reqInformFaultStatus();
1455  }
1456  @Override
1457  public Informer reqInformFaultDescription() {
1458  return (Informer)super.reqInformFaultDescription();
1459  }
1460  @Override
1461  public Informer reqInformManufacturerCode() {
1462  return (Informer)super.reqInformManufacturerCode();
1463  }
1464  @Override
1465  public Informer reqInformBusinessFacilityCode() {
1466  return (Informer)super.reqInformBusinessFacilityCode();
1467  }
1468  @Override
1469  public Informer reqInformProductCode() {
1470  return (Informer)super.reqInformProductCode();
1471  }
1472  @Override
1473  public Informer reqInformProductionNumber() {
1474  return (Informer)super.reqInformProductionNumber();
1475  }
1476  @Override
1477  public Informer reqInformProductionDate() {
1478  return (Informer)super.reqInformProductionDate();
1479  }
1480  @Override
1481  public Informer reqInformPowerSavingOperationSetting() {
1482  return (Informer)super.reqInformPowerSavingOperationSetting();
1483  }
1484  @Override
1485  public Informer reqInformRemoteControlSetting() {
1486  return (Informer)super.reqInformRemoteControlSetting();
1487  }
1488  @Override
1489  public Informer reqInformCurrentTimeSetting() {
1490  return (Informer)super.reqInformCurrentTimeSetting();
1491  }
1492  @Override
1493  public Informer reqInformCurrentDateSetting() {
1494  return (Informer)super.reqInformCurrentDateSetting();
1495  }
1496  @Override
1497  public Informer reqInformPowerLimitSetting() {
1498  return (Informer)super.reqInformPowerLimitSetting();
1499  }
1500  @Override
1501  public Informer reqInformCumulativeOperatingTime() {
1502  return (Informer)super.reqInformCumulativeOperatingTime();
1503  }
1504  @Override
1505  public Informer reqInformStatusChangeAnnouncementPropertyMap() {
1506  return (Informer)super.reqInformStatusChangeAnnouncementPropertyMap();
1507  }
1508  @Override
1509  public Informer reqInformSetPropertyMap() {
1510  return (Informer)super.reqInformSetPropertyMap();
1511  }
1512  @Override
1513  public Informer reqInformGetPropertyMap() {
1514  return (Informer)super.reqInformGetPropertyMap();
1515  }
1516 
1539  public Informer reqInformSetValueOfRoomRelativeHumidity() {
1540  reqInformProperty(EPC_SET_VALUE_OF_ROOM_RELATIVE_HUMIDITY);
1541  return this;
1542  }
1565  public Informer reqInformVentilationAutoSetting() {
1566  reqInformProperty(EPC_VENTILATION_AUTO_SETTING);
1567  return this;
1568  }
1591  public Informer reqInformMeasuredValueOfRoomRelativeHumidity() {
1593  return this;
1594  }
1620  public Informer reqInformSetValueOfVentilationAirFlowRate() {
1621  reqInformProperty(EPC_SET_VALUE_OF_VENTILATION_AIR_FLOW_RATE);
1622  return this;
1623  }
1646  public Informer reqInformHeatExchangerOperationSetting() {
1647  reqInformProperty(EPC_HEAT_EXCHANGER_OPERATION_SETTING);
1648  return this;
1649  }
1672  public Informer reqInformMeasuredValueOfCo2Concentration() {
1673  reqInformProperty(EPC_MEASURED_VALUE_OF_CO2_CONCENTRATION);
1674  return this;
1675  }
1699  public Informer reqInformSmokeCigaretteDetectionStatus() {
1700  reqInformProperty(EPC_SMOKE_CIGARETTE_DETECTION_STATUS);
1701  return this;
1702  }
1703  }
1704 
1705  public static class Proxy extends AirConditionerVentilationFan {
1706  public Proxy(byte instanceCode) {
1707  super();
1708  mEchoInstanceCode = instanceCode;
1709  }
1710  @Override
1711  public byte getInstanceCode() {
1712  return mEchoInstanceCode;
1713  }
1714  @Override
1715  protected byte[] getOperationStatus() {return null;}
1716  @Override
1717  protected boolean setInstallationLocation(byte[] edt) {return false;}
1718  @Override
1719  protected byte[] getInstallationLocation() {return null;}
1720  @Override
1721  protected byte[] getStandardVersionInformation() {return null;}
1722  @Override
1723  protected byte[] getFaultStatus() {return null;}
1724  @Override
1725  protected byte[] getManufacturerCode() {return null;}
1726  @Override
1727  protected boolean setOperationStatus(byte[] edt) {return false;}
1728  }
1729 
1730  public static Setter setG() {
1731  return setG((byte)0);
1732  }
1733 
1734  public static Setter setG(byte instanceCode) {
1735  return setG(instanceCode, true);
1736  }
1737 
1738  public static Setter setG(boolean responseRequired) {
1739  return setG((byte)0, responseRequired);
1740  }
1741 
1742  public static Setter setG(byte instanceCode, boolean responseRequired) {
1743  return new Setter(ECHO_CLASS_CODE, instanceCode
1744  , EchoSocket.MULTICAST_ADDRESS, responseRequired);
1745  }
1746 
1747  public static Getter getG() {
1748  return getG((byte)0);
1749  }
1750 
1751  public static Getter getG(byte instanceCode) {
1752  return new Getter(ECHO_CLASS_CODE, instanceCode
1754  }
1755 
1756  public static Informer informG() {
1757  return informG((byte)0);
1758  }
1759 
1760  public static Informer informG(byte instanceCode) {
1761  return new Informer(ECHO_CLASS_CODE, instanceCode
1762  , EchoSocket.MULTICAST_ADDRESS, false);
1763  }
1764 
1765 }
final void addStatusChangeAnnouncementProperty(byte epc)
Definition: EchoObject.java:71
final void addGetProperty(byte epc)
final void addSetProperty(byte epc)
Definition: EchoObject.java:93
abstract boolean setInstallationLocation(byte[] edt)
static final String MULTICAST_ADDRESS
Definition: EchoSocket.java:53