modelOfMatterModel.ts
2.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import { DataTypeEnum } from '/@/enums/objectModelEnum';
import { FunctionTypeEnum } from '/@/enums/objectModelEnum';
export interface Specs {
min: string;
max: string;
unit: string;
unitName: string;
dataType?: string;
name?: string;
value?: string | number;
step: string;
length: string;
boolOpen: string;
boolClose: string;
valueRange?: {
min: string;
max: string;
};
}
export interface DataType {
type: DataTypeEnum;
specs?: Partial<Specs> | StructJSON[];
specsList?: Specs[];
}
export interface ExtensionDesc {
zoomFactor?: number;
actionType?: string;
dataType: string;
registerAddress: number;
}
export interface StructJSON {
functionName?: string;
identifier: string;
remark?: string;
dataType?: DataType;
serviceCommand?: string;
accessMode?: string;
}
export interface FunctionJson {
dataType?: DataType | DataType[];
inputData?: StructJSON[];
outputData?: StructJSON[];
serviceCommand?: string;
}
export interface ModelOfMatterParams {
deviceProfileId?: string;
functionJson: FunctionJson;
functionName: string;
functionType: FunctionTypeEnum;
identifier: string;
remark: string;
id?: string;
categoryId?: string;
callType?: string;
eventType?: string;
accessMode?: string;
extensionDesc?: ExtensionDesc;
}
export interface GetModelTslParams {
functionType: FunctionTypeEnum;
deviceProfileId: string;
ifShowClass?: string | Boolean;
}
export interface ImportModelOfMatterType {
data: Recordable;
functionType: string;
tkDeviceProfileId?: string;
categoryId?: string;
}
export interface ModelOfMatterItemRecordType {
id: string;
creator: string;
createTime: string;
enabled: boolean;
tenantId: string;
functionType: string;
functionName: string;
identifier: string;
extensionDesc: any;
accessMode: string;
functionJson: FunctionJson;
status: number;
deviceProfileId: string;
}
export interface BatchGetObjectModelItemType {
id: string;
name: string;
transportType: string;
deviceType: string;
tsl: Tsl[];
}
export interface Tsl {
functionName: string;
identifier: string;
functionType: string;
accessMode?: string;
specs?: {
dataType: DataType;
};
extensionDesc: ExtensionDesc;
eventType?: string;
outputData?: StructJSON[];
callType?: string;
inputData?: StructJSON[];
}