DeviceModel.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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 *deviceConn; // 홈허브 동글 연결 상태
  36. @property (copy, nonatomic) NSString *deviceclassTypeId;
  37. @property (copy, nonatomic) NSString *totalCtrtCnt; //게이트웨이 별 전체 장치 개수
  38. @property (copy, nonatomic) NSString *remainCtrtCnt;//추가가가능한 장치 개수
  39. @property (assign, nonatomic, readonly) BOOL isDeviceOnlined; //홈허브 네트워크(MQTT) 연결상태
  40. @property (assign, nonatomic, readonly) BOOL isDeviceConn;
  41. @property (assign, nonatomic, readonly) BOOL isUpdateNeed; // 홈허브 동글 연결 상태
  42. //detail
  43. @property (copy, nonatomic) NSString *seq;
  44. @property (copy, nonatomic) NSString *prdName;
  45. @property (copy, nonatomic) NSString *prdUserName;
  46. @property (copy, nonatomic) NSString *deviceModelId;
  47. @property (copy, nonatomic) NSString *deviceMfId;
  48. @property (copy, nonatomic) NSString *lastSoftwareVersion;
  49. @property (copy, nonatomic) NSString *lastFirmwareVersion;
  50. @property (copy, nonatomic) NSString *firmwareVersion;
  51. @property (copy, nonatomic) NSString *softwareVersion;
  52. @property (copy, nonatomic) NSString *deviceProtocolType; //연결타입
  53. @property (copy, nonatomic) NSString *removableYn; //장치삭제 가능 여부
  54. @property (copy, nonatomic) NSString *activationCode; //장치 인증 코드
  55. //camera
  56. @property (copy, nonatomic) NSString *ip;
  57. @property (copy, nonatomic) NSString *port;
  58. @property (copy, nonatomic) NSString *cameraId;
  59. @property (copy, nonatomic) NSString *cameraPassword;
  60. //Command
  61. @property (copy, nonatomic) NSString *commandId;
  62. @property (copy, nonatomic) NSString *requestTime;
  63. //Local temporary
  64. @property (assign, nonatomic) BOOL enable;
  65. @property (assign, nonatomic) BOOL isRequesting;
  66. - (UIImage *)backgroundImageForMandatary:(NSString *)value;
  67. - (UIImage *)imageForMandataryForState:(UIControlState)state;
  68. - (NSString *)conditionForMandatary;
  69. - (UIImage *)imgaeForAddDel;
  70. - (NSString *)manufacturerName;
  71. - (NSString *)getAddDelDescription;
  72. - (instancetype)initWithSubItem:(ItemSubModel *)subItem;
  73. + (NSString *)contentValueMsgByCmdClsCode:(NSString *)cmdclsCode cmdclsTypeId:(NSString *)cmdclsTypeId contentValue:(NSString *)contentValue;
  74. @end
  75. @interface DeviceListModel : JDJSONModel
  76. @property (copy, nonatomic) NSMutableArray<DeviceModel> *list;
  77. @end
  78. @interface NodeListModel : JDJSONModel
  79. @property (copy, nonatomic) NSString *ctrtCnt;
  80. @property (copy, nonatomic) NSMutableArray<DeviceModel> *devices;
  81. @property (copy, nonatomic) NSMutableArray<DeviceModel> *nodes;
  82. -(BOOL)isCanReOrder;
  83. -(BOOL)isCanAddNode;
  84. -(BOOL)isCanDelNode;
  85. @end
  86. @protocol NodeModel;
  87. @interface NodeModel : DeviceModel
  88. @property (copy, nonatomic) NSString *cmdclsMandatoryYn;
  89. @property (weak, nonatomic) DeviceModel *refDevice;
  90. @property (assign, nonatomic, readonly) BOOL isDeviceOnline;
  91. //@property (copy, nonatomic) NSString *deviceId;
  92. //@property (copy, nonatomic) NSString *nodeId;
  93. //@property (copy, nonatomic) NSString *nodeName;
  94. //@property (copy, nonatomic) NSString *cmdclsTypeId;
  95. //@property (copy, nonatomic) NSString *cmdclsTypeName;
  96. //@property (copy, nonatomic) NSString *cmdclsTypeSystemName;
  97. //@property (copy, nonatomic) NSString *createDatetime;
  98. //@property (copy, nonatomic) NSString *cmdclsCode;
  99. //
  100. //@property (assign, nonatomic) CmdClsType cmdclsType;
  101. @end
  102. @interface DeviceDetailModel : DeviceModel
  103. @property (copy, nonatomic) NSString *profileUpdateYn;
  104. @property (copy, nonatomic) NSArray<NodeModel> *cmdclsList;
  105. @property (copy, nonatomic) NSArray<DeviceModel> *relateDevice;
  106. -(BOOL)isProfileUpdate;
  107. @end
  108. @protocol ItemModel;
  109. @protocol PredefinedDeviceModel;
  110. @interface PredefinedDeviceModel : DeviceModel
  111. - (instancetype)initWithSubItem:(ItemSubModel *)subItem;
  112. @end
  113. @interface PredefinedDeviceListModel : JDJSONModel
  114. @property (strong, nonatomic) NSArray<PredefinedDeviceModel> *list;
  115. @end
  116. @protocol DeviceIconModel;
  117. @interface DeviceIconModel : JDJSONModel
  118. @property (copy, nonatomic) NSString *imageSequence;
  119. @property (copy, nonatomic) NSString *imageFileName;
  120. @end
  121. @interface DeviceIconListModel : JDJSONModel
  122. @property (copy, nonatomic) NSArray<DeviceIconModel> *list;
  123. @end