Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
k-sdk
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈伟灿
k-sdk
Commits
4f70a671
Commit
4f70a671
authored
Nov 14, 2020
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】修改多控添加,更新和删除相关问题
【提交人】陈伟灿
parent
b726b75b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
582 deletions
+21
-582
midware/midware/scene/kk_scene_handle.c
midware/midware/scene/kk_scene_handle.c
+15
-12
tsl/product_1030.json
tsl/product_1030.json
+2
-284
tsl/product_130.json
tsl/product_130.json
+1
-283
tsl/product_28.json
tsl/product_28.json
+3
-3
No files found.
midware/midware/scene/kk_scene_handle.c
View file @
4f70a671
...
@@ -549,18 +549,17 @@ int kk_scene_action_add(const char *gwdeviceCode,const char *sceneId,kk_scene_ac
...
@@ -549,18 +549,17 @@ int kk_scene_action_add(const char *gwdeviceCode,const char *sceneId,kk_scene_ac
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
int
kk_scene_muticontrol_info_send
(
cJSON
*
action
,
const
char
*
gwdeviceCode
,
const
char
*
sceneId
)
int
kk_scene_muticontrol_info_send
(
cJSON
*
action
,
const
char
*
gwdeviceCode
,
const
char
*
sceneId
,
int
isUpdate
)
{
{
if
(
action
==
NULL
||
gwdeviceCode
==
NULL
||
sceneId
==
NULL
){
if
(
action
==
NULL
||
gwdeviceCode
==
NULL
||
sceneId
==
NULL
){
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
cJSON
*
root
=
cJSON_CreateObject
();
cJSON
*
root
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
root
,
MSG_SCENE_SCENEID
,
sceneId
);
cJSON_AddStringToObject
(
root
,
MSG_SCENE_SCENEID
,
sceneId
);
cJSON_Add
StringToObject
(
root
,
MSG_SCENE_ACTIONS
,
action
->
valuestring
);
cJSON_Add
ItemToObject
(
root
,
MSG_SCENE_ACTIONS
,
action
);
char
*
out
=
cJSON_Print
(
root
);
char
*
out
=
cJSON_Print
(
root
);
printf
(
"kk_scene_muticontrol_info_send:%s
\n
"
,
out
);
printf
(
"kk_scene_muticontrol_info_send:%s
\n
"
,
out
);
kk_msg_execute_scene_set
(
out
,
gwdeviceCode
);
kk_msg_execute_scene_set
(
out
,
gwdeviceCode
,
isUpdate
);
cJSON_Delete
(
root
);
free
(
out
);
free
(
out
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -906,15 +905,17 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -906,15 +905,17 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
*功能描述:解析多控
*功能描述:解析多控
*输入参数:sceneId:对应场景Id;
*输入参数:sceneId:对应场景Id;
str:多控的CJSON字串
str:多控的CJSON字串
isUpdate:是否是编辑多控
*输出参数:无
*输出参数:无
*返 回 值: 0:成功;其他:失败
*返 回 值: 0:成功;其他:失败
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
int
kk_scene_parse_scene_muticontrol
(
const
cJSON
*
str
,
const
char
*
sceneId
)
int
kk_scene_parse_scene_muticontrol
(
const
cJSON
*
str
,
const
char
*
sceneId
,
int
isUpdate
){
{
int
res
=
0
;
int
res
=
0
;
cJSON
*
type
=
NULL
;
cJSON
*
deviceCode
=
NULL
;
dm_mgr_dev_node_t
*
node
=
NULL
;
dm_mgr_dev_node_t
*
node
=
NULL
;
if
(
str
==
NULL
){
if
(
str
==
NULL
){
ERROR_PRINT
(
"kk_scene_parse_scene_muticontrol failed
\n
"
);
ERROR_PRINT
(
"kk_scene_parse_scene_muticontrol failed
\n
"
);
...
@@ -925,10 +926,10 @@ int kk_scene_parse_scene_muticontrol(const cJSON* str,const char *sceneId)
...
@@ -925,10 +926,10 @@ int kk_scene_parse_scene_muticontrol(const cJSON* str,const char *sceneId)
if
(
action
==
NULL
)
return
FAIL_RETURN
;
if
(
action
==
NULL
)
return
FAIL_RETURN
;
cJSON
*
item
=
action
->
child
;
cJSON
*
item
=
action
->
child
;
while
(
item
!=
NULL
){
while
(
item
!=
NULL
){
cJSON
*
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
if
(
type
==
NULL
)
return
FAIL_RETURN
;
if
(
type
==
NULL
)
return
FAIL_RETURN
;
if
(
!
strcmp
(
type
->
valuestring
,
"action/thing/group"
)){
if
(
!
strcmp
(
type
->
valuestring
,
"action/thing/group"
)){
cJSON
*
deviceCode
=
cJSON_GetObjectItem
(
item
,
MSG_DEVICE_CODE_STR
);
deviceCode
=
cJSON_GetObjectItem
(
item
,
MSG_DEVICE_CODE_STR
);
if
(
deviceCode
==
NULL
)
return
FAIL_RETURN
;
if
(
deviceCode
==
NULL
)
return
FAIL_RETURN
;
res
=
dm_mgr_get_device_by_devicecode
(
deviceCode
->
valuestring
,
&
node
);
res
=
dm_mgr_get_device_by_devicecode
(
deviceCode
->
valuestring
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
...
@@ -940,7 +941,10 @@ int kk_scene_parse_scene_muticontrol(const cJSON* str,const char *sceneId)
...
@@ -940,7 +941,10 @@ int kk_scene_parse_scene_muticontrol(const cJSON* str,const char *sceneId)
item
=
item
->
next
;
item
=
item
->
next
;
}
}
kk_scene_muticontrol_info_send
(
action
,
node
->
fatherDeviceCode
,
sceneId
);
res
=
kk_scene_insert_scene_action
(
type
->
valuestring
,
deviceCode
->
valuestring
,
0
,
""
,
""
,
0
,
sceneId
,
node
->
fatherDeviceCode
);
kk_scene_muticontrol_info_send
(
action
,
node
->
fatherDeviceCode
,
sceneId
,
isUpdate
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -962,7 +966,6 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate)
...
@@ -962,7 +966,6 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate)
ERROR_PRINT
(
"[%d]kk_scene_parse_addscene fail!!!
\n
"
,
__LINE__
);
ERROR_PRINT
(
"[%d]kk_scene_parse_addscene fail!!!
\n
"
,
__LINE__
);
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
cJSON
*
name
=
cJSON_GetObjectItem
(
args
,
MSG_SCENE_NAME
);
cJSON
*
name
=
cJSON_GetObjectItem
(
args
,
MSG_SCENE_NAME
);
if
(
name
==
NULL
)
return
FAIL_RETURN
;
if
(
name
==
NULL
)
return
FAIL_RETURN
;
cJSON
*
sceneType
=
cJSON_GetObjectItem
(
args
,
MSG_SCENE_SCENCTYPE
);
cJSON
*
sceneType
=
cJSON_GetObjectItem
(
args
,
MSG_SCENE_SCENCTYPE
);
...
@@ -974,7 +977,7 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate)
...
@@ -974,7 +977,7 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate)
}
}
/*多控直接下发给网关处理*/
/*多控直接下发给网关处理*/
if
(
enable
->
valueint
==
1
&&
sceneType
->
valueint
==
DB_SCENETYPE_MUTICONTROL
){
if
(
enable
->
valueint
==
1
&&
sceneType
->
valueint
==
DB_SCENETYPE_MUTICONTROL
){
kk_scene_parse_scene_muticontrol
(
args
,
sceneId
);
kk_scene_parse_scene_muticontrol
(
args
,
sceneId
,
isUpdate
);
}
}
else
{
else
{
res
=
kk_scene_insert_scene_info
(
name
->
valuestring
,
sceneType
->
valueint
,
enable
->
valueint
,
sceneId
);
res
=
kk_scene_insert_scene_info
(
name
->
valuestring
,
sceneType
->
valueint
,
enable
->
valueint
,
sceneId
);
...
...
tsl/product_1030.json
View file @
4f70a671
...
@@ -45,289 +45,7 @@
...
@@ -45,289 +45,7 @@
"callType"
:
"async"
,
"callType"
:
"async"
,
"desc"
:
"属性获取"
,
"desc"
:
"属性获取"
,
"method"
:
"thing.service.property.get"
,
"method"
:
"thing.service.property.get"
,
"inputData"
:
[
"LockState"
,
"BackLockState"
,
"Battery"
,
"Volume"
,
"Language"
],
"inputData"
:
[],
"outputData"
:
[{
"identifier"
:
"LockState"
,
"name"
:
"门锁状态"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
}
}
},
{
"identifier"
:
"BackLockState"
,
"name"
:
"门锁状态"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
}
}
},
{
"identifier"
:
"Battery"
,
"name"
:
"电池电量"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
}
},
{
"identifier"
:
"Volume"
,
"name"
:
"门锁音量"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"静音"
,
"1"
:
"低音"
,
"2"
:
"中音"
,
"3"
:
"高音"
}
}
},
{
"identifier"
:
"Language"
,
"name"
:
"门锁语言"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"中文"
,
"1"
:
"英文"
}
}
}]
},
{
"identifier"
:
"OpenLock"
,
"name"
:
"远程开锁"
,
"required"
:
false
,
"callType"
:
"async"
,
"method"
:
"thing.service.OpenLock"
,
"inputData"
:
[{
"identifier"
:
"Password"
,
"name"
:
"密码"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"126"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"GetKeyList"
,
"name"
:
"获取钥匙列表"
,
"required"
:
true
,
"callType"
:
"async"
,
"method"
:
"thing.service.GetKeyList"
,
"inputData"
:
[{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"全部"
,
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"AddKey"
,
"name"
:
"添加钥匙"
,
"required"
:
true
,
"callType"
:
"async"
,
"method"
:
"thing.service.AddKey"
,
"inputData"
:
[{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
},
{
"identifier"
:
"KeyRole"
,
"name"
:
"用户权限"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"普通用户"
,
"2"
:
"管理员"
,
"3"
:
"劫持用户"
}
}
},
{
"identifier"
:
"IsValid"
,
"name"
:
"是否有效"
,
"dataType"
:
{
"type"
:
"bool"
,
"specs"
:
{
"0"
:
"无效"
,
"1"
:
"有效"
}
}
},
{
"identifier"
:
"KeyName"
,
"name"
:
"钥匙昵称"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"255"
}
}
},
{
"identifier"
:
"KeyEffectiveTime"
,
"name"
:
"生效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
},
{
"identifier"
:
"KeyExpiryTime"
,
"name"
:
"失效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"ModifyKey"
,
"name"
:
"配置钥匙权限"
,
"required"
:
false
,
"callType"
:
"async"
,
"method"
:
"thing.service.ModifyKey"
,
"inputData"
:
[{
"identifier"
:
"KeyID"
,
"name"
:
"钥匙ID"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"10"
}
}
},
{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
},
{
"identifier"
:
"KeyRole"
,
"name"
:
"用户权限"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"普通用户"
,
"2"
:
"管理员"
,
"3"
:
"劫持用户"
}
}
},
{
"identifier"
:
"IsValid"
,
"name"
:
"是否有效"
,
"dataType"
:
{
"type"
:
"bool"
,
"specs"
:
{
"0"
:
"无效"
,
"1"
:
"有效"
}
}
},
{
"identifier"
:
"KeyName"
,
"name"
:
"钥匙昵称"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"255"
}
}
},
{
"identifier"
:
"KeyEffectiveTime"
,
"name"
:
"生效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
},
{
"identifier"
:
"KeyExpiryTime"
,
"name"
:
"失效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"DeleteKey"
,
"name"
:
"删除钥匙"
,
"required"
:
true
,
"callType"
:
"async"
,
"method"
:
"thing.service.DeleteKey"
,
"inputData"
:
[{
"identifier"
:
"KeyID"
,
"name"
:
"钥匙ID"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"10"
}
}
},
{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
},
{
"identifier"
:
"KeyRole"
,
"name"
:
"用户权限"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"普通用户"
,
"2"
:
"管理员"
,
"3"
:
"劫持用户"
}
}
}],
"outputData"
:
[]
"outputData"
:
[]
}],
}],
"properties"
:
[{
"properties"
:
[{
...
...
tsl/product_130.json
View file @
4f70a671
...
@@ -45,289 +45,7 @@
...
@@ -45,289 +45,7 @@
"callType"
:
"async"
,
"callType"
:
"async"
,
"desc"
:
"属性获取"
,
"desc"
:
"属性获取"
,
"method"
:
"thing.service.property.get"
,
"method"
:
"thing.service.property.get"
,
"inputData"
:
[
"LockState"
,
"BackLockState"
,
"Battery"
,
"Volume"
,
"Language"
],
"inputData"
:
[],
"outputData"
:
[{
"identifier"
:
"LockState"
,
"name"
:
"门锁状态"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
}
}
},
{
"identifier"
:
"BackLockState"
,
"name"
:
"门锁状态"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
}
}
},
{
"identifier"
:
"Battery"
,
"name"
:
"电池电量"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
}
},
{
"identifier"
:
"Volume"
,
"name"
:
"门锁音量"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"静音"
,
"1"
:
"低音"
,
"2"
:
"中音"
,
"3"
:
"高音"
}
}
},
{
"identifier"
:
"Language"
,
"name"
:
"门锁语言"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"中文"
,
"1"
:
"英文"
}
}
}]
},
{
"identifier"
:
"OpenLock"
,
"name"
:
"远程开锁"
,
"required"
:
false
,
"callType"
:
"async"
,
"method"
:
"thing.service.OpenLock"
,
"inputData"
:
[{
"identifier"
:
"Password"
,
"name"
:
"密码"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"126"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"GetKeyList"
,
"name"
:
"获取钥匙列表"
,
"required"
:
true
,
"callType"
:
"async"
,
"method"
:
"thing.service.GetKeyList"
,
"inputData"
:
[{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"全部"
,
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"AddKey"
,
"name"
:
"添加钥匙"
,
"required"
:
true
,
"callType"
:
"async"
,
"method"
:
"thing.service.AddKey"
,
"inputData"
:
[{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
},
{
"identifier"
:
"KeyRole"
,
"name"
:
"用户权限"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"普通用户"
,
"2"
:
"管理员"
,
"3"
:
"劫持用户"
}
}
},
{
"identifier"
:
"IsValid"
,
"name"
:
"是否有效"
,
"dataType"
:
{
"type"
:
"bool"
,
"specs"
:
{
"0"
:
"无效"
,
"1"
:
"有效"
}
}
},
{
"identifier"
:
"KeyName"
,
"name"
:
"钥匙昵称"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"255"
}
}
},
{
"identifier"
:
"KeyEffectiveTime"
,
"name"
:
"生效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
},
{
"identifier"
:
"KeyExpiryTime"
,
"name"
:
"失效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"ModifyKey"
,
"name"
:
"配置钥匙权限"
,
"required"
:
false
,
"callType"
:
"async"
,
"method"
:
"thing.service.ModifyKey"
,
"inputData"
:
[{
"identifier"
:
"KeyID"
,
"name"
:
"钥匙ID"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"10"
}
}
},
{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
},
{
"identifier"
:
"KeyRole"
,
"name"
:
"用户权限"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"普通用户"
,
"2"
:
"管理员"
,
"3"
:
"劫持用户"
}
}
},
{
"identifier"
:
"IsValid"
,
"name"
:
"是否有效"
,
"dataType"
:
{
"type"
:
"bool"
,
"specs"
:
{
"0"
:
"无效"
,
"1"
:
"有效"
}
}
},
{
"identifier"
:
"KeyName"
,
"name"
:
"钥匙昵称"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"255"
}
}
},
{
"identifier"
:
"KeyEffectiveTime"
,
"name"
:
"生效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
},
{
"identifier"
:
"KeyExpiryTime"
,
"name"
:
"失效时间"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1577808001"
,
"max"
:
"32472115201"
}
}
}],
"outputData"
:
[]
},
{
"identifier"
:
"DeleteKey"
,
"name"
:
"删除钥匙"
,
"required"
:
true
,
"callType"
:
"async"
,
"method"
:
"thing.service.DeleteKey"
,
"inputData"
:
[{
"identifier"
:
"KeyID"
,
"name"
:
"钥匙ID"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"10"
}
}
},
{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
},
{
"identifier"
:
"KeyRole"
,
"name"
:
"用户权限"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"普通用户"
,
"2"
:
"管理员"
,
"3"
:
"劫持用户"
}
}
}],
"outputData"
:
[]
"outputData"
:
[]
}],
}],
"properties"
:
[{
"properties"
:
[{
...
...
tsl/product_28.json
View file @
4f70a671
...
@@ -143,7 +143,7 @@
...
@@ -143,7 +143,7 @@
}
}
}],
}],
"identifier"
:
"gasAlarm"
,
"identifier"
:
"gasAlarm"
,
"method"
:
"thing.event.
a
larm.post"
,
"method"
:
"thing.event.
gasA
larm.post"
,
"name"
:
"gasAlarm"
,
"name"
:
"gasAlarm"
,
"type"
:
"alarm"
,
"type"
:
"alarm"
,
"required"
:
true
,
"required"
:
true
,
...
@@ -164,8 +164,8 @@
...
@@ -164,8 +164,8 @@
}
}
}],
}],
"identifier"
:
"BatteryAlarm"
,
"identifier"
:
"BatteryAlarm"
,
"method"
:
"thing.event.
a
larm.post"
,
"method"
:
"thing.event.
BatteryA
larm.post"
,
"name"
:
"
b
atteryAlarm"
,
"name"
:
"
B
atteryAlarm"
,
"type"
:
"alarm"
,
"type"
:
"alarm"
,
"required"
:
true
,
"required"
:
true
,
"desc"
:
"低电量告警"
"desc"
:
"低电量告警"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment