物模型格式
# 一、物模型格式
提示
物模型分为属性、功能和事件三类,每个类型下可以包含多个物模型项。归属于产品,并在redis中存储。对象类型不支持嵌套,对象里面参数类型不支持数组和对象。
{
"properties": [{
"id": "属性唯一标识符,产品下唯一",
"name": "属性名称",
"isChart":"是否图标展示",
"isMonitor":"是否启用实时监测功能",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": "排序",
"datatype": {
"type": "bool,支持integer、decimal、string、array、enum、object类型",
"falseText": "关闭",
"trueText": "开启"
}
}, {
"id": "属性唯一标识符,产品下唯一",
"name": "属性名称",
"isChart":"是否图标展示",
"isMonitor":"是否启用实时监测功能",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": 0,
"datatype": {
"type": "object",
"params": [{
"id": "parentid_temperature",
"name": "空气温度2",
"isChart":"是否图标展示",
"isMonitor":"是否启用实时监测功能",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": 0,
"datatype": {
"max": 120,
"min": -20,
"step": 0.1,
"type": "decimal",
"unit": "℃"
},
"isMonitor": 1
}]
}
},
{
"id": "属性唯一标识符,产品下唯一",
"name": "属性名称",
"isChart":"是否图标展示",
"isMonitor":"是否启用实时监测功能",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": 0,
"datatype": {
"type": "string",
"maxLength": "1024"
}
},
{
"id": "属性唯一标识符,产品下唯一",
"name": "属性名称",
"isChart":"是否图标展示",
"isMonitor":"是否启用实时监测功能",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": 0,
"datatype": {
"type": "array",
"arrayType": "object(包含:integer、decimal、string)",
"arrayCount": 5,
"params": [{
"id": "parentid_light",
"name": "光照1",
"isChart":"是否图标展示",
"isMonitor":"是否启用实时监测功能",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": 0,
"datatype": {
"max": 100,
"min": 0,
"step": 1,
"type": "decimal",
"unit": "mm"
},
"isMonitor": 1
}]
}
}
],
"functions": [{
"id": "功能唯一标识符,产品下唯一",
"name": "功能名称",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"isReadonly":"是否只读",
"order": 0,
"datatype": {
"type": "enum",
"enumList": [{
"value": "1",
"text": "正常"
}, {
"value": "-1",
"text": "警告"
}, {
"value": "0",
"text": "未知"
}]
}
}],
"events": [{
"id": "事件唯一标识符,产品下唯一",
"name": "事件名称",
"isHistory":"是否存储记录",
"isSharePerm":"是否作为设备分享权限控制",
"order": 0,
"datatype": {
"type": "decimal",
"min": "-20",
"max": "55",
"unit": "°C",
"step": "0.01"
}
}]
}
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
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
# 二、简洁物模型
提示
用于设备跟平台交互,跟产品定义的物模型id匹配
[{
"id": "temperature",
"name":"温度",
"value": "27.43",
"remark":"备注信息",
"shadow": "27.43,代表影子值"
}, {
"id": "humidity",
"name":"温度",
"value": "32.18",
"remark":"备注信息",
"shadow": "32.18"
}, {
"id": "CO2",
"name":"温度",
"value": "11.04",
"remark":"备注信息",
"shadow": "11.04"
}, {
"id": "group_gear",
"name":"温度",
"value": "1",
"remark":"备注信息",
"shadow": "0"
}, {
"id": "array_00_switch",
"name":"温度",
"value": "1",
"remark":"备注信息",
"shadow": "1"
}]
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
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