DeviceModel.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. // Generated by json_to_model
  2. @import Foundation;
  3. #import "JDJSONModel.h"
  4. #import "ItemModel.h"
  5. typedef NS_ENUM(NSInteger, CmdClsType) {
  6. CmdClsTypeFirmwareVersion = 0,
  7. CmdClsTypeSwitchBinary,
  8. CmdClsTypeSwitchMultiLevel,
  9. CmdClsTypeSwitchColor,
  10. CmdClsTypeSensorBinary,
  11. CmdClsTypeSensorMultiLevel,
  12. CmdClsTypeThermostatMode,
  13. CmdClsTypeThermostatFanMode,
  14. CmdClsTypeThermostatSetPoint, //hold
  15. CmdClsTypeLock,
  16. CmdClsTypeMeterCurrent,
  17. CmdClsTypeMeterTotal,
  18. CmdClsTypeAVControlPlayback, //12
  19. CmdClsTypeHomeMode,
  20. CmdClsTypeSpeedControl,
  21. CmdClsTypeMeterCurrentForDAWON, //17
  22. CmdClsTypeMeterTotalForDAWON,
  23. };
  24. #define ksDeviceTypeControllerPrimary @"CONTROLLER_PRIMARY"
  25. #define ksDeviceTypeSlave @"SLAVE"
  26. #define ksDeviceProfileIdUnknown @"20001"
  27. @protocol CmdClsValueModel;
  28. @interface CmdClsValueModel : JDJSONModel
  29. @property (copy, nonatomic) NSString *cmdclsValue;
  30. @property (copy, nonatomic) NSString *cmdclsValueMsg;
  31. @end
  32. @protocol DeviceModel;
  33. @interface DeviceModel : ItemSubModel
  34. @property (copy, nonatomic) NSString *deviceId;
  35. @property (copy, nonatomic) NSString *deviceName;
  36. @property (copy, nonatomic) NSString *deviceProfileId;
  37. @property (copy, nonatomic) NSString *profileName;
  38. @property (copy, nonatomic) NSString *imageFileName;
  39. @property (copy, nonatomic) NSString *nodeId;
  40. @property (copy, nonatomic) NSString *nodeName;
  41. @property (copy, nonatomic) NSString *onlineState;
  42. @property (copy, nonatomic) NSString *cmdclsTypeId;
  43. @property (copy, nonatomic) NSString *cmdclsTypeName;
  44. @property (copy, nonatomic) NSString *cmdclsTypeSystemName;
  45. @property (copy, nonatomic) NSString *createDatetime;
  46. @property (copy, nonatomic) NSString *updateDatetime;
  47. @property (copy, nonatomic) NSString *cmdclsCode;
  48. @property (copy, nonatomic) NSString *cmdclsCount;
  49. @property (copy, nonatomic) NSString *contentValue;
  50. @property (copy, nonatomic) NSString *networkYn;
  51. @property (copy, nonatomic) NSString *deviceType;
  52. //detail
  53. @property (copy, nonatomic) NSString *prdName;
  54. @property (copy, nonatomic) NSString *deviceModelId;
  55. @property (copy, nonatomic) NSString *deviceMfId;
  56. @property (copy, nonatomic) NSString *firmwareVersion;
  57. @property (copy, nonatomic) NSString *deviceProtocolType; //연결타입
  58. @property (copy, nonatomic) NSString *removableYn; //장치삭제 가능 여부
  59. @property (copy, nonatomic) NSString *activationCode; //장치 인증 코드
  60. //predefine devices property
  61. @property (copy, nonatomic) NSString *controlMinValue;
  62. @property (copy, nonatomic) NSString *controlMaxValue;
  63. @property (copy, nonatomic) NSString *controlStep;
  64. @property (copy, nonatomic) NSString *unit;
  65. //camera
  66. @property (copy, nonatomic) NSString *ip;
  67. @property (copy, nonatomic) NSString *port;
  68. @property (copy, nonatomic) NSString *cameraId;
  69. @property (copy, nonatomic) NSString *cameraPassword;
  70. //Command
  71. @property (copy, nonatomic) NSString *commandId;
  72. @property (copy, nonatomic) NSString *status;
  73. @property (copy, nonatomic) NSArray<CmdClsValueModel> *cmdclsValueList;
  74. @property (assign, nonatomic) CmdClsType cmdclsType;
  75. @property (assign, nonatomic) BOOL enable;
  76. @property (assign, nonatomic, readonly) NSInteger cmdclsValueMsgLength;
  77. @property (strong, nonatomic) NSString<Ignore> *cmdclsValueMsgLongest;
  78. - (instancetype)initWithSubItem:(ItemSubModel *)subItem;
  79. @end
  80. @interface DeviceListModel : JDJSONModel
  81. @property (copy, nonatomic) NSMutableArray<DeviceModel> *list;
  82. @end
  83. @interface NodeModel : DeviceModel
  84. //@property (copy, nonatomic) NSString *deviceId;
  85. //@property (copy, nonatomic) NSString *nodeId;
  86. //@property (copy, nonatomic) NSString *nodeName;
  87. //@property (copy, nonatomic) NSString *cmdclsTypeId;
  88. //@property (copy, nonatomic) NSString *cmdclsTypeName;
  89. //@property (copy, nonatomic) NSString *cmdclsTypeSystemName;
  90. //@property (copy, nonatomic) NSString *createDatetime;
  91. //@property (copy, nonatomic) NSString *cmdclsCode;
  92. //
  93. //@property (assign, nonatomic) CmdClsType cmdclsType;
  94. @end
  95. @interface DeviceDetailModel : DeviceModel
  96. @property (copy, nonatomic) NSArray<DeviceModel> *nodes;
  97. @property (copy, nonatomic) NSArray<DeviceModel> *relateDevice;
  98. @end
  99. @protocol ItemModel;
  100. @protocol PredefinedDeviceModel;
  101. @interface PredefinedDeviceModel : DeviceModel
  102. - (instancetype)initWithSubItem:(ItemSubModel *)subItem;
  103. @end
  104. @interface PredefinedDeviceListModel : JDJSONModel
  105. @property (strong, nonatomic) NSArray<PredefinedDeviceModel> *list;
  106. @end
  107. @protocol DeviceIconModel;
  108. @interface DeviceIconModel : JDJSONModel
  109. @property (copy, nonatomic) NSString *imageSequence;
  110. @property (copy, nonatomic) NSString *imageFileName;
  111. @end
  112. @interface DeviceIconListModel : JDJSONModel
  113. @property (copy, nonatomic) NSArray<DeviceIconModel> *list;
  114. @end