index.ts
3.81 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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
import type { DataTypeEnum, FunctionTypeEnum, TransportTypeEnum } from '@/enums/datasource'
export interface DeviceProfileItemType {
id: string
creator: string
createTime: string
name: string
description: string
tenantId: string
transportType: string
provisionType: string
deviceType: string
tbProfileId: string
profileData: ProfileData
type: string
default: boolean
}
export interface ProfileData {
configuration: Configuration
transportConfiguration: TransportConfiguration
provisionConfiguration: ProvisionConfiguration
alarms: any
thingsModel: ThingsModel[]
}
interface AdditionalInfo {
cmdType: string
}
export interface SendValue {
additionalInfo: AdditionalInfo
method: string
params: Object
persistent: boolean
}
export interface Configuration {
type: string
}
export interface TransportConfiguration {
type: string
}
export interface ProvisionConfiguration {
type: string
provisionDeviceSecret: any
}
export interface StructJSON {
functionName: string
identifier: string
remark?: string
dataType?: DataType
serviceCommand?: string
accessMode?: string
}
export interface ThingsModel {
functionType: FunctionTypeEnum
functionName: string
identifier: string
callType: any
accessMode: string
eventType: any
functionJson: FunctionJson
status: number
deviceProfileId: string
remark: any
extensionDesc?: Recordable
}
export interface FunctionJson {
dataType: DataType
inputData?: StructJSON[]
outputData?: StructJSON[]
serviceCommand?: string
}
export interface OrganizationItemType {
id: string
creator: string
createTime: string
name: string
enabled: boolean
tenantId: string
parentId: string
sort: number
updater?: string
updateTime?: string
children: OrganizationItemType[]
}
export interface DeviceItemType {
id: string
creator: string
createTime: string
updater: string
updateTime: string
name: string
enabled: boolean
tenantId: string
deviceInfo: DeviceInfo
alias: string
deviceState: string
profileId: string
deviceProfileId: string
gatewayId: string
tbDeviceId: string
brand: string
sn: string
code: string
codeType: string
organizationId: string
deviceType: string
alarmStatus: number
enable: boolean
transportType: TransportTypeEnum
}
export interface DeviceInfo {
longitude: number
latitude: number
address: string
}
export interface ThingsModelItemType {
identifier: string
extensionDesc?: ExtensionDesc
name: string
detail: Detail
accessMode: string
}
export interface ExtensionDesc {
zoomFactor?: number
actionType?: string
dataType: string
registerAddress: number
}
export interface Detail {
dataType: DataType
}
export interface DataType {
type: string
specs: Specs | StructJSON[]
specsList: Specs[]
}
export interface Specs {
valueRange?: ValueRange
unit?: Unit
unitName?: string
boolOpen?: string
boolClose?: string
length?: string
min: string
max: string
name?: string
value?: any
dataType?: DataTypeEnum
}
export interface ValueRange {
min: number
max: number
}
export interface Unit {
value: string
label: string
key: string
}
export interface RpcCommandType {
additionalInfo: Recordable
method: string
params: Recordable | string | number
persistent: boolean
}
export interface DeviceAttributeItemType {
key: string
value: boolean
lastUpdateTs: number
}
export interface DeviceActiveType {
key: string
lastUpdateTs: number
value: boolean
}
export interface ProductsDetailWithThingsModelType {
id: string
name: string
transportType: string
deviceType: string
tsl: Tsl[]
}
export interface Tsl {
functionName: string
identifier: string
accessMode: string
specs: {
dataType: DataType
}
extensionDesc?: ExtensionDesc
inputData?: StructJSON[]
outputData?: StructJSON[]
}