DeviceModel.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. // Generated by json_to_model
  2. @import Foundation;
  3. #import "JDJSONModel.h"
  4. #import "ItemModel.h"
  5. #define ksDeviceTypeControllerPrimary @"CONTROLLER_PRIMARY"
  6. #define ksDeviceTypeSlave @"SLAVE"
  7. #define ksDeviceProfileIdUnknown @"20001"
  8. @protocol CmdClsValueModel;
  9. @protocol DeviceModel;
  10. @interface DeviceModel : ItemSubModel
  11. @property (copy, nonatomic) NSString *categoryName;
  12. @property (copy, nonatomic) NSString *categoryCode;
  13. @property (copy, nonatomic) NSString *deviceId;
  14. @property (copy, nonatomic) NSString *deviceSn;
  15. @property (copy, nonatomic) NSString *deviceName;
  16. @property (copy, nonatomic) NSString *deviceProfileId;
  17. @property (copy, nonatomic) NSString *profileName;
  18. //@property (copy, nonatomic) NSString *imageFileName;
  19. @property (copy, nonatomic) NSString *nodeId;
  20. @property (copy, nonatomic) NSString *nodeName;
  21. @property (copy, nonatomic) NSString *cmdclsName;
  22. @property (copy, nonatomic) NSString *groupName;
  23. @property (copy, nonatomic) NSString *createDatetime;
  24. @property (copy, nonatomic) NSString *updateDatetime;
  25. @property (copy, nonatomic) NSString *cmdclsCount;
  26. @property (copy, nonatomic) NSString *cmdclsId;
  27. @property (copy, nonatomic) NSString *contentValue;
  28. @property (copy, nonatomic) NSString *contentValueMsg;
  29. @property (copy, nonatomic) NSString *networkYn;
  30. @property (copy, nonatomic) NSString *deviceType;
  31. @property (copy, nonatomic) NSString *collectTime;
  32. @property (copy, nonatomic) NSString *deviceOnline; //홈허브 네트워크(MQTT) 연결상태
  33. @property (copy, nonatomic) NSString *deviceOnlineLastDatetime;
  34. @property (copy, nonatomic) NSString *deviceConnLastDatetime;
  35. @property (copy, nonatomic) NSString *contentLastDatetime;
  36. @property (copy, nonatomic) NSString *deviceConn; // 홈허브 동글 연결 상태
  37. @property (copy, nonatomic) NSString *deviceclassTypeId;
  38. @property (copy, nonatomic) NSString *totalCtrtCnt; //게이트웨이 별 전체 장치 개수
  39. @property (copy, nonatomic) NSString *remainCtrtCnt;//추가가가능한 장치 개수
  40. @property (assign, nonatomic, readonly) BOOL isDeviceOnlined; //홈허브 네트워크(MQTT) 연결상태
  41. @property (assign, nonatomic, readonly) BOOL isDeviceConn;
  42. @property (assign, nonatomic, readonly) BOOL isUpdateNeed; // 홈허브 동글 연결 상태
  43. @property (assign, nonatomic, readonly) BOOL isUpdateSoftware;
  44. @property (assign, nonatomic, readonly) BOOL isUpdateFirmware;
  45. //detail
  46. @property (copy, nonatomic) NSString *seq;
  47. @property (copy, nonatomic) NSString *prdName;
  48. @property (copy, nonatomic) NSString *prdUserName;
  49. @property (copy, nonatomic) NSString *deviceModelId;
  50. @property (copy, nonatomic) NSString *deviceMfId;
  51. @property (copy, nonatomic) NSString *lastSoftwareVersion;
  52. @property (copy, nonatomic) NSString *lastFirmwareVersion;
  53. @property (copy, nonatomic) NSString *firmwareVersion;
  54. @property (copy, nonatomic) NSString *softwareVersion;
  55. @property (copy, nonatomic) NSString *deviceProtocolType; //연결타입
  56. @property (copy, nonatomic) NSString *removableYn; //장치삭제 가능 여부
  57. @property (copy, nonatomic) NSString *activationCode; //장치 인증 코드
  58. //camera
  59. @property (copy, nonatomic) NSString *ip;
  60. @property (copy, nonatomic) NSString *port;
  61. @property (copy, nonatomic) NSString *cameraId;
  62. @property (copy, nonatomic) NSString *cameraPassword;
  63. //Command
  64. @property (copy, nonatomic) NSString *commandId;
  65. @property (copy, nonatomic) NSString *requestTime;
  66. //Local temporary
  67. @property (assign, nonatomic) BOOL enable;
  68. @property (assign, nonatomic) BOOL isRequesting;
  69. - (UIImage *)backgroundImageForMandatary:(NSString *)value;
  70. - (UIImage *)imageForMandataryForState:(UIControlState)state;
  71. - (NSString *)conditionForMandatary;
  72. - (UIImage *)imgaeForAddDel;
  73. - (NSString *)manufacturerName;
  74. - (NSString *)getAddDelDescription;
  75. - (instancetype)initWithSubItem:(ItemSubModel *)subItem;
  76. - (instancetype)initWithDeviceModel:(DeviceModel *)deviceModel deviceName:(NSString*)deviceName
  77. ;
  78. + (NSString *)contentValueMsgByCmdClsCode:(NSString *)cmdclsCode cmdclsTypeId:(NSString *)cmdclsTypeId contentValue:(NSString *)contentValue;
  79. @end
  80. @interface DeviceListModel : JDJSONModel
  81. @property (copy, nonatomic) NSMutableArray<DeviceModel> *list;
  82. @end
  83. @interface NodeListModel : JDJSONModel
  84. @property (copy, nonatomic) NSString *ctrtCnt;
  85. @property (copy, nonatomic) NSMutableArray<DeviceModel> *devices;
  86. @property (copy, nonatomic) NSMutableArray<DeviceModel> *nodes;
  87. -(BOOL)isCanReOrder;
  88. -(BOOL)isCanAddNode;
  89. -(BOOL)isCanDelNode;
  90. @end
  91. @protocol NodeModel;
  92. @interface NodeModel : DeviceModel
  93. @property (copy, nonatomic) NSString *cmdclsMandatoryYn;
  94. @property (weak, nonatomic) DeviceModel *refDevice;
  95. @property (assign, nonatomic, readonly) BOOL isDeviceOnline;
  96. //@property (copy, nonatomic) NSString *deviceId;
  97. //@property (copy, nonatomic) NSString *nodeId;
  98. //@property (copy, nonatomic) NSString *nodeName;
  99. //@property (copy, nonatomic) NSString *cmdclsTypeId;
  100. //@property (copy, nonatomic) NSString *cmdclsTypeName;
  101. //@property (copy, nonatomic) NSString *cmdclsTypeSystemName;
  102. //@property (copy, nonatomic) NSString *createDatetime;
  103. //@property (copy, nonatomic) NSString *cmdclsCode;
  104. //
  105. //@property (assign, nonatomic) CmdClsType cmdclsType;
  106. @end
  107. @interface DeviceDetailModel : DeviceModel
  108. @property (copy, nonatomic) NSString *profileUpdateYn;
  109. @property (copy, nonatomic) NSArray<NodeModel> *cmdclsList;
  110. @property (copy, nonatomic) NSArray<DeviceModel> *relateDevice;
  111. -(BOOL)isProfileUpdate;
  112. @end
  113. @protocol ItemModel;
  114. @protocol PredefinedDeviceModel;
  115. @interface PredefinedDeviceModel : DeviceModel
  116. - (instancetype)initWithSubItem:(ItemSubModel *)subItem;
  117. @end
  118. @interface PredefinedDeviceListModel : JDJSONModel
  119. @property (strong, nonatomic) NSArray<PredefinedDeviceModel> *list;
  120. @end
  121. @protocol DeviceIconModel;
  122. @interface DeviceIconModel : JDJSONModel
  123. @property (copy, nonatomic) NSString *imageSequence;
  124. @property (copy, nonatomic) NSString *imageFileName;
  125. @end
  126. @interface DeviceIconListModel : JDJSONModel
  127. @property (copy, nonatomic) NSArray<DeviceIconModel> *list;
  128. @end