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
7e4db009
Commit
7e4db009
authored
Jan 14, 2022
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】1,修改网关名字同步后显示不正常的BUG;2,修改快照上报不触发IFTT
【提交人】陈伟灿
parent
e58f0462
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
2188 additions
and
1859 deletions
+2188
-1859
application/kcloud/kk_config_dl.c
application/kcloud/kk_config_dl.c
+2
-1
application/klansdk/kk_lan_sync.c
application/klansdk/kk_lan_sync.c
+11
-15
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+1
-0
midware/midware/dm/kk_property_db.c
midware/midware/dm/kk_property_db.c
+2
-2
midware/midware/dm/kk_sync_data.c
midware/midware/dm/kk_sync_data.c
+18
-4
midware/midware/midware.c
midware/midware/midware.c
+19
-1
midware/midware/scene/kk_scene_handle.c
midware/midware/scene/kk_scene_handle.c
+94
-32
opcodeMapCfg/device_3093.json
opcodeMapCfg/device_3093.json
+1
-1
opcodeMapCfg/device_3094.json
opcodeMapCfg/device_3094.json
+63
-3
opcodeMapCfg/device_3102.json
opcodeMapCfg/device_3102.json
+1
-1
opcodeMapCfg/device_3137.json
opcodeMapCfg/device_3137.json
+61
-0
tsl/product_3016.json
tsl/product_3016.json
+55
-2
tsl/product_3019.json
tsl/product_3019.json
+255
-308
tsl/product_3035.json
tsl/product_3035.json
+1
-1
tsl/product_3066.json
tsl/product_3066.json
+370
-973
tsl/product_3093.json
tsl/product_3093.json
+1
-178
tsl/product_3095.json
tsl/product_3095.json
+154
-72
tsl/product_3097.json
tsl/product_3097.json
+153
-71
tsl/product_3098.json
tsl/product_3098.json
+154
-72
tsl/product_3099.json
tsl/product_3099.json
+153
-71
tsl/product_3109.json
tsl/product_3109.json
+207
-1
tsl/product_3119.json
tsl/product_3119.json
+5
-5
tsl/product_3132.json
tsl/product_3132.json
+1
-45
tsl/product_3137.json
tsl/product_3137.json
+406
-0
No files found.
application/kcloud/kk_config_dl.c
View file @
7e4db009
...
@@ -29,7 +29,8 @@ int kk_check_config_file(char* path,char **config)
...
@@ -29,7 +29,8 @@ int kk_check_config_file(char* path,char **config)
{
{
FILE
*
fp
;
FILE
*
fp
;
int
filesize
=
0
;
int
filesize
=
0
;
char
*
buf
=
NULL
;
char
*
buf
=
NULL
;
INFO_PRINT
(
"path:%s
\n
"
,
path
);
if
((
access
(
path
,
F_OK
))
==
0
){
if
((
access
(
path
,
F_OK
))
==
0
){
fp
=
fopen
(
path
,
"r"
);
fp
=
fopen
(
path
,
"r"
);
if
(
fp
!=
NULL
){
if
(
fp
!=
NULL
){
...
...
application/klansdk/kk_lan_sync.c
View file @
7e4db009
...
@@ -161,9 +161,9 @@ cJSON *kk_scene_build(SYN_SCENE_ITEM **content)
...
@@ -161,9 +161,9 @@ cJSON *kk_scene_build(SYN_SCENE_ITEM **content)
}
}
int
kk_sync_actions
(
cJSON
*
actions
,
SYN_SCENE_ACTION
**
act
,
char
**
room_id
)
int
kk_sync_actions
(
cJSON
*
actions
,
SYN_SCENE_ACTION
**
act
)
{
{
cJSON
*
deviceCode
,
*
delay
,
*
epNum
,
*
propertyName
,
*
type
,
*
propertyValue
,
*
roomId
;
cJSON
*
deviceCode
,
*
delay
,
*
epNum
,
*
propertyName
,
*
type
,
*
propertyValue
;
int
i
,
num
=
cJSON_GetArraySize
(
actions
);
int
i
,
num
=
cJSON_GetArraySize
(
actions
);
int
node
=
-
1
;
int
node
=
-
1
;
...
@@ -186,7 +186,7 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
...
@@ -186,7 +186,7 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
propertyName
=
cJSON_GetObjectItem
(
item
,
"propertyName"
);
propertyName
=
cJSON_GetObjectItem
(
item
,
"propertyName"
);
type
=
cJSON_GetObjectItem
(
item
,
"type"
);
type
=
cJSON_GetObjectItem
(
item
,
"type"
);
propertyValue
=
cJSON_GetObjectItem
(
item
,
"propertyValue"
);
propertyValue
=
cJSON_GetObjectItem
(
item
,
"propertyValue"
);
roomId
=
cJSON_GetObjectItem
(
item
,
"roomId"
);
ptr
->
ui_area
=
NULL
;
ptr
->
ui_area
=
NULL
;
ptr
->
ui_name
=
NULL
;
ptr
->
ui_name
=
NULL
;
...
@@ -196,11 +196,6 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
...
@@ -196,11 +196,6 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
ptr
->
operate_type
=
"*"
;
//type->valuestring;//根据实际设备调整
ptr
->
operate_type
=
"*"
;
//type->valuestring;//根据实际设备调整
ptr
->
operation
=
"*"
;
//propertyValue->valuestring;//
ptr
->
operation
=
"*"
;
//propertyValue->valuestring;//
if
(
get_flag
==
0
){
get_flag
=
1
;
*
room_id
=
roomId
->
valuestring
;
}
}
}
return
num
;
return
num
;
}
}
...
@@ -280,7 +275,7 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -280,7 +275,7 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
{
{
cJSON
*
scenes
=
cJSON_GetObjectItem
(
data
,
SCENES_STR
);
cJSON
*
scenes
=
cJSON_GetObjectItem
(
data
,
SCENES_STR
);
cJSON
*
actions
,
*
enable
,
*
name
,
*
sceneId
,
*
sceneType
,
*
trigger
,
*
condition
;
cJSON
*
actions
,
*
enable
,
*
name
,
*
sceneId
,
*
sceneType
,
*
trigger
,
*
condition
,
*
roomId
;
int
i
,
num
=
cJSON_GetArraySize
(
scenes
);
int
i
,
num
=
cJSON_GetArraySize
(
scenes
);
int
k
=
0
,
isMatch
=
0
;
int
k
=
0
,
isMatch
=
0
;
...
@@ -306,7 +301,11 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -306,7 +301,11 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
sceneType
=
cJSON_GetObjectItem
(
item
,
SCENE_TYPE_STR
);
sceneType
=
cJSON_GetObjectItem
(
item
,
SCENE_TYPE_STR
);
trigger
=
cJSON_GetObjectItem
(
item
,
SCENE_TRIGGER_STR
);
trigger
=
cJSON_GetObjectItem
(
item
,
SCENE_TRIGGER_STR
);
condition
=
cJSON_GetObjectItem
(
item
,
CONDITION_STR
);
condition
=
cJSON_GetObjectItem
(
item
,
CONDITION_STR
);
roomId
=
cJSON_GetObjectItem
(
item
,
ROOMS_ID_STR
);
if
(
roomId
==
NULL
){
INFO_PRINT
(
"-------------------->NO ROOMID
\n
"
);
continue
;
}
/*过滤多控 iftt,定时相关场景*/
/*过滤多控 iftt,定时相关场景*/
if
(
sceneType
==
NULL
||
sceneType
->
type
!=
cJSON_Number
||
sceneType
->
valueint
!=
0
){
if
(
sceneType
==
NULL
||
sceneType
->
type
!=
cJSON_Number
||
sceneType
->
valueint
!=
0
){
continue
;
continue
;
...
@@ -325,7 +324,7 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -325,7 +324,7 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
if
(
isMatch
==
0
){
if
(
isMatch
==
0
){
pScene
->
scenetype
=
"100"
;
//自定义场景
pScene
->
scenetype
=
"100"
;
//自定义场景
}
}
pScene
->
act_num
=
kk_sync_actions
(
actions
,
&
pScene
->
act
,
&
pScene
->
room_id
);
pScene
->
act_num
=
kk_sync_actions
(
actions
,
&
pScene
->
act
);
kk_sync_scene_condition
(
condition
,
&
pScene
);
kk_sync_scene_condition
(
condition
,
&
pScene
);
...
@@ -333,7 +332,7 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -333,7 +332,7 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
pScene
->
scene_id
=
sceneId
->
valuestring
;
pScene
->
scene_id
=
sceneId
->
valuestring
;
pScene
->
name
=
name
->
valuestring
;
pScene
->
name
=
name
->
valuestring
;
pScene
->
pannel_id
=
NULL
;
pScene
->
pannel_id
=
NULL
;
pScene
->
room_id
=
roomId
->
valuestring
;
sceneItem
=
kk_scene_build
(
&
pScene
);
sceneItem
=
kk_scene_build
(
&
pScene
);
cJSON_AddItemToArray
(
scenesAry
,
sceneItem
);
cJSON_AddItemToArray
(
scenesAry
,
sceneItem
);
...
@@ -561,15 +560,12 @@ static int _kk_sync_devices_status_arg_str(kk_map_dev_node_t *node,cJSON *devSta
...
@@ -561,15 +560,12 @@ static int _kk_sync_devices_status_arg_str(kk_map_dev_node_t *node,cJSON *devSta
}
}
num
=
cJSON_GetArraySize
(
newccu
);
num
=
cJSON_GetArraySize
(
newccu
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
for
(
i
=
0
;
i
<
num
;
i
++
){
for
(
i
=
0
;
i
<
num
;
i
++
){
cJSON
*
newccuItem
=
cJSON_GetArrayItem
(
newccu
,
i
);
cJSON
*
newccuItem
=
cJSON_GetArrayItem
(
newccu
,
i
);
cJSON
*
oldccuItem
=
cJSON_GetArrayItem
(
oldccu
,
i
);
cJSON
*
oldccuItem
=
cJSON_GetArrayItem
(
oldccu
,
i
);
cJSON
*
val
=
NULL
;
cJSON
*
val
=
NULL
;
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
if
((
val
=
val_conver_new2old
(
newccuItem
,
oldccuItem
,
0
))
!=
NULL
){
if
((
val
=
val_conver_new2old
(
newccuItem
,
oldccuItem
,
0
))
!=
NULL
){
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
char
indexId
[
16
]
=
{
0
};
char
indexId
[
16
]
=
{
0
};
char
nodeid
[
32
]
=
{
0
};
char
nodeid
[
32
]
=
{
0
};
cJSON
*
epNum
=
cJSON_GetObjectItem
(
newccuItem
,
CHANNEL_STRING
);
cJSON
*
epNum
=
cJSON_GetObjectItem
(
newccuItem
,
CHANNEL_STRING
);
...
...
midware/midware/dm/kk_linkkit.c
View file @
7e4db009
...
@@ -734,6 +734,7 @@ static int kk_service_addDeviceToRoom_handle(cJSON *params)
...
@@ -734,6 +734,7 @@ static int kk_service_addDeviceToRoom_handle(cJSON *params)
sprintf
(
name
,
"空调%d"
,
eplist
[
i
]);
sprintf
(
name
,
"空调%d"
,
eplist
[
i
]);
kk_room_dev_add
(
roomId
->
valuestring
,
room_name
->
valuestring
,
deviceCode
->
valuestring
,
epNumStr
,
name
);
kk_room_dev_add
(
roomId
->
valuestring
,
room_name
->
valuestring
,
deviceCode
->
valuestring
,
epNumStr
,
name
);
}
}
INFO_PRINT
(
"addDeviceToRoom air gw count:%d
\n
"
,
count
);
}
}
if
(
strcmp
(
node
->
productType
,
KK_DM_AIR_SWITCH_GATEWAY_TYPE
)
==
0
&&
isAirGwFlag
==
2
){
if
(
strcmp
(
node
->
productType
,
KK_DM_AIR_SWITCH_GATEWAY_TYPE
)
==
0
&&
isAirGwFlag
==
2
){
int
eplist
[
64
]
=
{
0
};
int
eplist
[
64
]
=
{
0
};
...
...
midware/midware/dm/kk_property_db.c
View file @
7e4db009
...
@@ -741,9 +741,9 @@ int kk_indoorAir_query_epnums(const char *deviceCode,int epList[])
...
@@ -741,9 +741,9 @@ int kk_indoorAir_query_epnums(const char *deviceCode,int epList[])
if
(
count
>
64
){
if
(
count
>
64
){
return
count
;
return
count
;
}
}
printf
(
"-----------------------------------------------kk_indoorAir_query_epnums
\n
"
);
INFO_PRINT
(
"-----------------------------------------------kk_indoorAir_query_epnums count:%d
\n
"
,
count
);
epList
[
count
]
=
sqlite3_column_int
(
stmt
,
DB_INDOORAIR_EPNUM
);
epList
[
count
]
=
sqlite3_column_int
(
stmt
,
DB_INDOORAIR_EPNUM
);
printf
(
"epList[count] :%d
\n
"
,
epList
[
count
]);
INFO_PRINT
(
"epList[count] :%d
\n
"
,
epList
[
count
]);
count
++
;
count
++
;
}
}
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
...
...
midware/midware/dm/kk_sync_data.c
View file @
7e4db009
...
@@ -811,6 +811,7 @@ static int kk_get_gw_devices_info(cJSON *gwdevices)
...
@@ -811,6 +811,7 @@ static int kk_get_gw_devices_info(cJSON *gwdevices)
{
{
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
char
macaddr
[
33
]
=
{
0
};
char
macaddr
[
33
]
=
{
0
};
char
gwname
[
256
]
=
{
0
};
//char *zErrMsg = 0;
//char *zErrMsg = 0;
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
//cJSON *gwdevicesItem = NULL;
//cJSON *gwdevicesItem = NULL;
...
@@ -839,8 +840,9 @@ static int kk_get_gw_devices_info(cJSON *gwdevices)
...
@@ -839,8 +840,9 @@ static int kk_get_gw_devices_info(cJSON *gwdevices)
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_DEVICECODE_STR
,
gw_deviceCode
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_DEVICECODE_STR
,
gw_deviceCode
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_VERSION_STR
,
gw_version
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_VERSION_STR
,
gw_version
);
_kk_deviceCode_switchto_mac
(
gw_deviceCode
,
macaddr
);
_kk_deviceCode_switchto_mac
(
gw_deviceCode
,
macaddr
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_MAC_STR
,
macaddr
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_MAC_STR
,
macaddr
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_NANE_STR
,
"GW"
);
kk_property_db_get_value
(
gw_deviceCode
,
KK_SYNC_NANE_STR
,
gwname
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_NANE_STR
,
gwname
);
cJSON_AddNumberToObject
(
gwdevicesItem
,
KK_SYNC_ONLINE_STR
,
(
strcmp
(
gw_isline
,
"0"
)
==
0
)
?
1
:
0
);
cJSON_AddNumberToObject
(
gwdevicesItem
,
KK_SYNC_ONLINE_STR
,
(
strcmp
(
gw_isline
,
"0"
)
==
0
)
?
1
:
0
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_PRODUCTCODE_STR
,
gw_productCode
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_PRODUCTCODE_STR
,
gw_productCode
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_SN_STR
,
""
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_SN_STR
,
""
);
...
@@ -1025,9 +1027,18 @@ static int kk_get_panel_scenes_actions_info(cJSON *actionItem,int id)
...
@@ -1025,9 +1027,18 @@ static int kk_get_panel_scenes_actions_info(cJSON *actionItem,int id)
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_PROPERTYNAME_STR
,
propertyName
);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_PROPERTYNAME_STR
,
propertyName
);
}
}
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_TYPE_STR
,
type
);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_TYPE_STR
,
type
);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_PROPERTYVALUE_STR
,
propertyValue
);
if
(
strstr
(
propertyValue
,
"{"
)
!=
NULL
&&
strstr
(
propertyValue
,
"}"
)
!=
NULL
){
cJSON
*
prtyObj
=
cJSON_Parse
(
propertyValue
);
if
(
prtyObj
!=
NULL
){
cJSON_AddItemToObject
(
actionItem
,
KK_SYNC_SCENE_PROPERTYVALUE_STR
,
prtyObj
);
}
else
{
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_PROPERTYVALUE_STR
,
propertyValue
);
}
}
else
{
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_PROPERTYVALUE_STR
,
propertyValue
);
}
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_ROOMID_STR
,
roomIdStr
);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_ROOMID_STR
,
roomIdStr
);
break
;
break
;
}
}
...
@@ -1345,6 +1356,7 @@ static int kk_get_scenes_info(cJSON *data)
...
@@ -1345,6 +1356,7 @@ static int kk_get_scenes_info(cJSON *data)
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
int
enable
=
0
,
type
=
0
;
int
enable
=
0
,
type
=
0
;
char
*
name
=
NULL
;
char
*
name
=
NULL
;
char
*
roomId
=
NULL
;
char
*
sceneId
=
NULL
;
char
*
sceneId
=
NULL
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
if
(
data
==
NULL
){
if
(
data
==
NULL
){
...
@@ -1366,6 +1378,8 @@ static int kk_get_scenes_info(cJSON *data)
...
@@ -1366,6 +1378,8 @@ static int kk_get_scenes_info(cJSON *data)
name
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_SCENENAME
);
name
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_SCENENAME
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_NANE_STR
,
name
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_NANE_STR
,
name
);
sceneId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_SCENEID
);
sceneId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_SCENEID
);
roomId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_ROOMID
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_ROOMID_STR
,
roomId
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_SCENEID_STR
,
sceneId
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_SCENEID_STR
,
sceneId
);
cJSON
*
actionArray
=
cJSON_CreateArray
();
cJSON
*
actionArray
=
cJSON_CreateArray
();
kk_get_scenes_actions_info
(
actionArray
,
atoi
(
sceneId
));
kk_get_scenes_actions_info
(
actionArray
,
atoi
(
sceneId
));
...
...
midware/midware/midware.c
View file @
7e4db009
...
@@ -1163,6 +1163,17 @@ static int kk_subDevice_property_handle(cJSON *info,cJSON *payload,char *deviceC
...
@@ -1163,6 +1163,17 @@ static int kk_subDevice_property_handle(cJSON *info,cJSON *payload,char *deviceC
free
(
infff
);
free
(
infff
);
return
0
;
return
0
;
}
}
static
int
_kk_subDevice_online_to_app
(
cJSON
*
info
,
cJSON
*
payload
)
{
char
*
payload11
=
cJSON_Print
(
payload
);
char
*
infff
=
cJSON_Print
(
info
);
printf
(
"------------------------payload11:%s
\n
"
,
payload11
);
printf
(
"------------------------infff:%s
\n
"
,
infff
);
kk_sendData2app
(
infff
,
payload11
,
0
);
free
(
payload11
);
free
(
infff
);
return
0
;
}
static
int
kk_indoorAir_online_handle
(
dm_mgr_dev_node_t
*
node
,
char
*
deviceCode
,
int
epNum
)
static
int
kk_indoorAir_online_handle
(
dm_mgr_dev_node_t
*
node
,
char
*
deviceCode
,
int
epNum
)
{
{
int
idx
=
0
;
int
idx
=
0
;
...
@@ -1334,14 +1345,17 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -1334,14 +1345,17 @@ void kk_platMsg_handle(void* data, char* chalMark){
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
if
(
epNumJson
==
NULL
)
goto
error
;
if
(
epNumJson
==
NULL
)
goto
error
;
kk_indoorAir_online_handle
(
search_node
,
devCode
->
valuestring
,
epNumJson
->
valueint
);
kk_indoorAir_online_handle
(
search_node
,
devCode
->
valuestring
,
epNumJson
->
valueint
);
_kk_subDevice_online_to_app
(
info
,
payload
);
}
else
if
(
strcmp
(
search_node
->
productType
,
KK_DM_AIR_SWITCH_GATEWAY_TYPE
)
==
0
){
}
else
if
(
strcmp
(
search_node
->
productType
,
KK_DM_AIR_SWITCH_GATEWAY_TYPE
)
==
0
){
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
if
(
epNumJson
==
NULL
)
goto
error
;
if
(
epNumJson
==
NULL
)
goto
error
;
kk_subAirSwitch_online_handle
(
search_node
,
devCode
->
valuestring
,
epNumJson
->
valueint
);
kk_subAirSwitch_online_handle
(
search_node
,
devCode
->
valuestring
,
epNumJson
->
valueint
);
_kk_subDevice_online_to_app
(
info
,
payload
);
}
else
if
(
strcmp
(
search_node
->
productType
,
KK_DM_FRESHAIR_GATEWAY_TYPE
)
==
0
){
}
else
if
(
strcmp
(
search_node
->
productType
,
KK_DM_FRESHAIR_GATEWAY_TYPE
)
==
0
){
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
if
(
epNumJson
==
NULL
)
goto
error
;
if
(
epNumJson
==
NULL
)
goto
error
;
kk_subFreshair_online_handle
(
search_node
,
devCode
->
valuestring
,
epNumJson
->
valueint
);
kk_subFreshair_online_handle
(
search_node
,
devCode
->
valuestring
,
epNumJson
->
valueint
);
_kk_subDevice_online_to_app
(
info
,
payload
);
}
}
}
}
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_TOPO_BATCH_ADD_MSG
)
!=
NULL
){
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_TOPO_BATCH_ADD_MSG
)
!=
NULL
){
...
@@ -1395,7 +1409,11 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -1395,7 +1409,11 @@ void kk_platMsg_handle(void* data, char* chalMark){
proCode
=
cJSON_GetObjectItem
(
info
,
MSG_PRODUCT_CODE_STR
);
proCode
=
cJSON_GetObjectItem
(
info
,
MSG_PRODUCT_CODE_STR
);
if
(
strcmp
(
proCode
->
valuestring
,
"3053"
)
&&
if
(
strcmp
(
proCode
->
valuestring
,
"3053"
)
&&
strcmp
(
proCode
->
valuestring
,
"3042"
)){
strcmp
(
proCode
->
valuestring
,
"3042"
)){
kk_scene_iftt_check
(
info_dcode
->
valuestring
,
jsonPay
);
//如果带version,代表的是快照信息,快照信息不需要触发iftt
cJSON
*
version
=
cJSON_GetObjectItem
(
jsonPay
,
"version"
);
if
(
version
==
NULL
){
kk_scene_iftt_check
(
info_dcode
->
valuestring
,
jsonPay
);
}
}
}
free
(
outstr
);
free
(
outstr
);
}
}
...
...
midware/midware/scene/kk_scene_handle.c
View file @
7e4db009
...
@@ -1151,7 +1151,76 @@ int kk_scene_parse_scene_condition(const cJSON* str,const char *sceneId)
...
@@ -1151,7 +1151,76 @@ int kk_scene_parse_scene_condition(const cJSON* str,const char *sceneId)
*返 回 值: 0:成功;其他:失败
*返 回 值: 0:成功;其他:失败
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
static
int
_kk_scene_LightStripSpecialAction_handle
(
cJSON
*
propertyValue
,
char
*
deviceCode
,
int
ep
,
int
idelay
,
char
*
sceneId
,
char
*
fatherDeviceCode
)
{
kk_scene_action_detail_t
info
=
{
0
};
cJSON
*
Brightness
=
cJSON_GetObjectItem
(
propertyValue
,
"Brightness"
);
if
(
Brightness
!=
NULL
&&
Brightness
->
type
==
cJSON_Number
){
sprintf
(
info
.
propertyValue
,
"%d"
,
Brightness
->
valueint
);
memcpy
(
info
.
propertyName
,
"Brightness"
,
strlen
(
"Brightness"
));
memcpy
(
info
.
deviceCode
,
deviceCode
,
strlen
(
deviceCode
));
info
.
epNum
=
ep
;
info
.
delay
=
idelay
;
kk_scene_action_add
(
fatherDeviceCode
,
sceneId
,
info
);
}
memset
(
&
info
,
0x0
,
sizeof
(
kk_scene_action_detail_t
));
cJSON
*
RGBColor
=
cJSON_GetObjectItem
(
propertyValue
,
"RGBColor"
);
if
(
RGBColor
!=
NULL
&&
RGBColor
->
type
==
cJSON_String
){
//"RGBColor":"[115,114,253]"
cJSON
*
rgb
=
cJSON_CreateObject
();
char
*
pStart
=
strstr
(
RGBColor
->
valuestring
,
"["
);
char
*
pEnd
=
strstr
(
RGBColor
->
valuestring
,
","
);
if
(
pStart
!=
NULL
&&
pEnd
!=
NULL
){
char
redS
[
4
]
=
{
0
};
memcpy
(
redS
,
pStart
+
1
,
pEnd
-
pStart
+
1
);
cJSON_AddNumberToObject
(
rgb
,
"Red"
,
atoi
(
redS
));
char
*
pGreenEnd
=
strstr
(
pEnd
+
1
,
","
);
if
(
pGreenEnd
!=
NULL
){
char
greenS
[
4
]
=
{
0
};
memcpy
(
greenS
,
pEnd
+
1
,
pGreenEnd
-
pEnd
+
1
);
cJSON_AddNumberToObject
(
rgb
,
"Green"
,
atoi
(
greenS
));
char
*
pBlueEnd
=
strstr
(
pGreenEnd
,
"]"
);
if
(
pBlueEnd
!=
NULL
){
char
blueS
[
4
]
=
{
0
};
memcpy
(
blueS
,
pGreenEnd
+
1
,
pBlueEnd
-
pGreenEnd
+
1
);
cJSON_AddNumberToObject
(
rgb
,
"Blue"
,
atoi
(
blueS
));
}
}
}
char
*
str
=
cJSON_PrintUnformatted
(
rgb
);
memcpy
(
info
.
propertyValue
,
str
,
strlen
(
str
));
memcpy
(
info
.
propertyName
,
"RGBColor"
,
strlen
(
"RGBColor"
));
memcpy
(
info
.
deviceCode
,
deviceCode
,
strlen
(
deviceCode
));
info
.
epNum
=
ep
;
info
.
delay
=
idelay
;
kk_scene_action_add
(
fatherDeviceCode
,
sceneId
,
info
);
free
(
str
);
cJSON_Delete
(
rgb
);
}
else
if
(
RGBColor
!=
NULL
&&
RGBColor
->
type
==
cJSON_Array
){
cJSON
*
rgb
=
cJSON_CreateObject
();
cJSON
*
red
=
cJSON_GetArrayItem
(
RGBColor
,
0
);
if
(
red
!=
NULL
){
cJSON_AddNumberToObject
(
rgb
,
"Red"
,
red
->
valueint
);
}
cJSON
*
green
=
cJSON_GetArrayItem
(
RGBColor
,
1
);
if
(
green
!=
NULL
){
cJSON_AddNumberToObject
(
rgb
,
"Green"
,
green
->
valueint
);
}
cJSON
*
blue
=
cJSON_GetArrayItem
(
RGBColor
,
2
);
if
(
blue
!=
NULL
){
cJSON_AddNumberToObject
(
rgb
,
"Blue"
,
blue
->
valueint
);
}
char
*
str
=
cJSON_PrintUnformatted
(
rgb
);
memcpy
(
info
.
propertyValue
,
str
,
strlen
(
str
));
memcpy
(
info
.
propertyName
,
"RGBColor"
,
strlen
(
"RGBColor"
));
memcpy
(
info
.
deviceCode
,
deviceCode
,
strlen
(
deviceCode
));
info
.
epNum
=
ep
;
info
.
delay
=
idelay
;
kk_scene_action_add
(
fatherDeviceCode
,
sceneId
,
info
);
free
(
str
);
cJSON_Delete
(
rgb
);
}
return
SUCCESS_RETURN
;
}
int
kk_scene_parse_scene_action
(
const
cJSON
*
str
,
const
char
*
sceneId
,
int
isUpdate
)
int
kk_scene_parse_scene_action
(
const
cJSON
*
str
,
const
char
*
sceneId
,
int
isUpdate
)
{
{
int
res
=
0
;
int
res
=
0
;
...
@@ -1188,6 +1257,7 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -1188,6 +1257,7 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
item
=
action
->
child
;
item
=
action
->
child
;
while
(
item
!=
NULL
){
while
(
item
!=
NULL
){
printf
(
"+++
\r\n
"
);
printf
(
"+++
\r\n
"
);
ArmingStateFlag
=
0
;
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
if
(
type
==
NULL
){
if
(
type
==
NULL
){
memcpy
(
typeStr
,
"action/thing/setProperty"
,
strlen
(
"action/thing/setProperty"
));
memcpy
(
typeStr
,
"action/thing/setProperty"
,
strlen
(
"action/thing/setProperty"
));
...
@@ -1239,26 +1309,6 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -1239,26 +1309,6 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
}
}
else
{
else
{
memset
(
propertyValueStr
,
0x0
,
sizeof
(
propertyValueStr
));
if
(
propertyValue
->
type
==
cJSON_Number
){
snprintf
(
propertyValueStr
,
sizeof
(
propertyValueStr
),
"%d"
,
propertyValue
->
valueint
);
}
else
if
(
propertyValue
->
type
==
cJSON_Object
){
if
(
strcmp
(
propertyName
->
valuestring
,
"LightStripSpecialAction"
)
==
0
){
cJSON
*
Brightness
=
cJSON_GetObjectItem
(
propertyValue
,
"Brightness"
);
if
(
Brightness
!=
NULL
&&
Brightness
->
type
==
cJSON_Number
){
snprintf
(
propertyValueStr
,
sizeof
(
propertyValueStr
),
"%d"
,
Brightness
->
valueint
);
}
}
else
{
char
*
str
=
cJSON_PrintUnformatted
(
propertyValue
);
snprintf
(
propertyValueStr
,
sizeof
(
propertyValueStr
),
"%s"
,
str
);
free
(
str
);
}
}
else
if
(
propertyValue
->
type
==
cJSON_String
){
memcpy
(
propertyValueStr
,
propertyValue
->
valuestring
,
strlen
(
propertyValue
->
valuestring
));
}
if
(
strcmp
(
propertyName
->
valuestring
,
"ArmingState"
)
==
0
){
ArmingStateFlag
=
1
;
}
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
;
epNum
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_EPNUM
);
epNum
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_EPNUM
);
...
@@ -1273,13 +1323,28 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -1273,13 +1323,28 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
}
}
delay
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_DELAY
);
delay
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_DELAY
);
if
(
delay
==
NULL
)
return
FAIL_RETURN
;
if
(
delay
==
NULL
)
return
FAIL_RETURN
;
int
idelay
=
delay
->
valueint
;
int
idelay
=
delay
->
valueint
;
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
)
{
item
=
item
->
next
;
item
=
item
->
next
;
continue
;
continue
;
}
}
memset
(
propertyValueStr
,
0x0
,
sizeof
(
propertyValueStr
));
if
(
propertyValue
->
type
==
cJSON_Number
){
snprintf
(
propertyValueStr
,
sizeof
(
propertyValueStr
),
"%d"
,
propertyValue
->
valueint
);
}
else
if
(
propertyValue
->
type
==
cJSON_Object
){
if
(
strcmp
(
propertyName
->
valuestring
,
"LightStripSpecialAction"
)
==
0
){
_kk_scene_LightStripSpecialAction_handle
(
propertyValue
,
deviceCode
->
valuestring
,
iepnum
,
idelay
,(
char
*
)
sceneId
,
node
->
fatherDeviceCode
);
}
char
*
str
=
cJSON_PrintUnformatted
(
propertyValue
);
snprintf
(
propertyValueStr
,
sizeof
(
propertyValueStr
),
"%s"
,
str
);
free
(
str
);
}
else
if
(
propertyValue
->
type
==
cJSON_String
){
memcpy
(
propertyValueStr
,
propertyValue
->
valuestring
,
strlen
(
propertyValue
->
valuestring
));
}
if
(
strcmp
(
propertyName
->
valuestring
,
"ArmingState"
)
==
0
){
ArmingStateFlag
=
1
;
}
if
(
kk_subDev_check_scene_support
(
node
->
fatherDeviceCode
)
==
1
&&
ArmingStateFlag
==
0
){
if
(
kk_subDev_check_scene_support
(
node
->
fatherDeviceCode
)
==
1
&&
ArmingStateFlag
==
0
){
kk_scene_action_detail_t
info
=
{
0
};
kk_scene_action_detail_t
info
=
{
0
};
memcpy
(
info
.
deviceCode
,
node
->
deviceCode
,
strlen
(
node
->
deviceCode
));
memcpy
(
info
.
deviceCode
,
node
->
deviceCode
,
strlen
(
node
->
deviceCode
));
...
@@ -1294,18 +1359,15 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -1294,18 +1359,15 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
memcpy
(
info
.
propertyName
,
propertyName
->
valuestring
,
strlen
(
propertyName
->
valuestring
));
memcpy
(
info
.
propertyName
,
propertyName
->
valuestring
,
strlen
(
propertyName
->
valuestring
));
}
}
}
else
{
}
else
{
if
(
strcmp
(
propertyName
->
valuestring
,
"LightStripSpecialAction"
)
==
0
){
memcpy
(
info
.
propertyName
,
propertyName
->
valuestring
,
strlen
(
propertyName
->
valuestring
));
memcpy
(
info
.
propertyName
,
"Brightness"
,
strlen
(
"Brightness"
));
}
else
{
memcpy
(
info
.
propertyName
,
propertyName
->
valuestring
,
strlen
(
propertyName
->
valuestring
));
}
}
}
memcpy
(
info
.
propertyValue
,
propertyValueStr
,
strlen
(
propertyValueStr
));
memcpy
(
info
.
propertyValue
,
propertyValueStr
,
strlen
(
propertyValueStr
));
info
.
epNum
=
iepnum
;
info
.
epNum
=
iepnum
;
info
.
delay
=
idelay
;
info
.
delay
=
idelay
;
if
(
strcmp
(
propertyName
->
valuestring
,
"LightStripSpecialAction"
)
!=
0
){
kk_scene_action_add
(
node
->
fatherDeviceCode
,
sceneId
,
info
);
kk_scene_action_add
(
node
->
fatherDeviceCode
,
sceneId
,
info
);
}
//printf("---------------------------------DEBUG CWC[%s][%d]\n",__FUNCTION__,__LINE__);
//printf("---------------------------------DEBUG CWC[%s][%d]\n",__FUNCTION__,__LINE__);
res
=
kk_scene_insert_scene_action
(
typeStr
,
node
->
deviceCode
,
iepnum
,
res
=
kk_scene_insert_scene_action
(
typeStr
,
node
->
deviceCode
,
iepnum
,
info
.
propertyName
,
propertyValueStr
,
idelay
,
sceneId
,
node
->
fatherDeviceCode
);
info
.
propertyName
,
propertyValueStr
,
idelay
,
sceneId
,
node
->
fatherDeviceCode
);
...
@@ -1324,7 +1386,7 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -1324,7 +1386,7 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
item
=
item
->
next
;
item
=
item
->
next
;
}
}
//场景设置布防不需要下发到网关
//场景设置布防不需要下发到网关
if
(
propertySetType
&&
ArmingStateFlag
==
0
){
if
(
propertySetType
){
kk_scene_action_info_send
(
isUpdate
);
kk_scene_action_info_send
(
isUpdate
);
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
...
...
opcodeMapCfg/device_3093.json
View file @
7e4db009
{
{
"productCode"
:
"3093"
,
"productCode"
:
"3093"
,
"operateType"
:
"5
11
"
,
"operateType"
:
"5
06
"
,
"channel"
:
3
,
"channel"
:
3
,
"syn_type"
:
1
,
"syn_type"
:
1
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
...
...
opcodeMapCfg/device_3094.json
View file @
7e4db009
{
{
"productCode"
:
"309
4
"
,
"productCode"
:
"309
2
"
,
"operateType"
:
"5
01
"
,
"operateType"
:
"5
12
"
,
"channel"
:
1
,
"channel"
:
2
,
"syn_type"
:
1
,
"syn_type"
:
1
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
"newccu"
:[
"newccu"
:[
...
@@ -19,6 +19,34 @@
...
@@ -19,6 +19,34 @@
"channel"
:
"1"
,
"channel"
:
"1"
,
"valueRange"
:[],
"valueRange"
:[],
"value"
:
0
"value"
:
0
},{
"identifier"
:
"ColorTemperature"
,
"opcodemap"
:
"ADJUST_COLOUR_TEMPERATURE"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[],
"value"
:
0
},{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},{
"identifier"
:
"Brightness"
,
"opcodemap"
:
"ADJUST_LUMINANCE"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[],
"value"
:
0
},{
"identifier"
:
"ColorTemperature"
,
"opcodemap"
:
"ADJUST_COLOUR_TEMPERATURE"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[],
"value"
:
0
}
}
],
],
"oldccu"
:[
"oldccu"
:[
...
@@ -38,6 +66,38 @@
...
@@ -38,6 +66,38 @@
"valueRange"
:[],
"valueRange"
:[],
"syn"
:
"bri"
,
"syn"
:
"bri"
,
"synType"
:
"int"
"synType"
:
"int"
},{
"opcode"
:
"ADJUST_COLOUR_TEMPERATURE"
,
"identifiermap"
:
"ColorTemperature"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[],
"syn"
:
"colour_temperature"
,
"synType"
:
"int"
},{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"2"
,
"valueRange"
:[
"OFF"
,
"ON"
],
"syn"
:
"on"
,
"synType"
:
"bool"
},{
"opcode"
:
"ADJUST_LUMINANCE"
,
"identifiermap"
:
"Brightness"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[],
"syn"
:
"bri"
,
"synType"
:
"int"
},{
"opcode"
:
"ADJUST_COLOUR_TEMPERATURE"
,
"identifiermap"
:
"ColorTemperature"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[],
"syn"
:
"colour_temperature"
,
"synType"
:
"int"
}
}
]
]
...
...
opcodeMapCfg/device_3102.json
View file @
7e4db009
{
{
"productCode"
:
"3102"
,
"productCode"
:
"3102"
,
"operateType"
:
"50
2
"
,
"operateType"
:
"50
6
"
,
"channel"
:
1
,
"channel"
:
1
,
"syn_type"
:
1
,
"syn_type"
:
1
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
...
...
opcodeMapCfg/device_3137.json
0 → 100644
View file @
7e4db009
{
"productCode"
:
"3137"
,
"operateType"
:
"514"
,
"channel"
:
1
,
"syn_type"
:
1
,
"syn_opcode"
:
"DIMMABLE_LIGHT_STATUS"
,
"newccu"
:[
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},{
"identifier"
:
"Brightness"
,
"opcodemap"
:
"ADJUST_LUMINANCE"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[],
"value"
:
0
},{
"identifier"
:
"ColorTemperature"
,
"opcodemap"
:
"ADJUST_COLOUR_TEMPERATURE"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[],
"value"
:
0
}
],
"oldccu"
:[
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"1"
,
"valueRange"
:[
"OFF"
,
"ON"
],
"syn"
:
"on"
,
"synType"
:
"bool"
},{
"opcode"
:
"ADJUST_LUMINANCE"
,
"identifiermap"
:
"Brightness"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[],
"syn"
:
"bri"
,
"synType"
:
"int"
},{
"opcode"
:
"ADJUST_COLOUR_TEMPERATURE"
,
"identifiermap"
:
"ColorTemperature"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[],
"syn"
:
"colour_temperature"
,
"synType"
:
"int"
}
]
}
\ No newline at end of file
tsl/product_3016.json
View file @
7e4db009
...
@@ -11,6 +11,17 @@
...
@@ -11,6 +11,17 @@
"services"
:
[
"services"
:
[
{
{
"outputData"
:
[
"outputData"
:
[
{
"identifier"
:
"SosState"
,
"name"
:
"紧急按钮告警状态"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"没有报警"
,
"1"
:
"报警"
}
}
},
{
{
"identifier"
:
"Battery"
,
"identifier"
:
"Battery"
,
"name"
:
"电池电量"
,
"name"
:
"电池电量"
,
...
@@ -38,11 +49,24 @@
...
@@ -38,11 +49,24 @@
}
}
],
],
"properties"
:
[
"properties"
:
[
{
"identifier"
:
"SosState"
,
"name"
:
"紧急按钮告警状态"
,
"accessMode"
:
"r"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"没有报警"
,
"1"
:
"报警"
}
}
},
{
{
"identifier"
:
"Battery"
,
"identifier"
:
"Battery"
,
"name"
:
"电池电量"
,
"name"
:
"电池电量"
,
"accessMode"
:
"r"
,
"accessMode"
:
"r"
,
"required"
:
tru
e
,
"required"
:
fals
e
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"double"
,
"specs"
:
{
"specs"
:
{
...
@@ -53,6 +77,21 @@
...
@@ -53,6 +77,21 @@
"step"
:
"0.01"
"step"
:
"0.01"
}
}
}
}
},
{
"identifier"
:
"SensorType"
,
"name"
:
"安防等级"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"在家安防"
,
"1"
:
"室外安防"
,
"2"
:
"24小时警戒"
,
"3"
:
"无警戒"
}
}
}
}
],
],
"events"
:
[
"events"
:
[
...
@@ -81,7 +120,21 @@
...
@@ -81,7 +120,21 @@
"desc"
:
"属性上报"
"desc"
:
"属性上报"
},
},
{
{
"outputData"
:
[],
"outputData"
:
[
{
"identifier"
:
"SosState"
,
"name"
:
"紧急按钮告警状态"
,
"accessMode"
:
"r"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"没有报警"
,
"1"
:
"报警"
}
}
}
],
"identifier"
:
"sosAlarm"
,
"identifier"
:
"sosAlarm"
,
"method"
:
"thing.event.sosAlarm.post"
,
"method"
:
"thing.event.sosAlarm.post"
,
"name"
:
"sosAlarm"
,
"name"
:
"sosAlarm"
,
...
...
tsl/product_3019.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3119.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3019.json"
,
"productType"
:
"sensor"
,
"productType"
:
"outlet"
,
"version"
:
"1.2"
,
"version"
:
"1.0"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3119"
,
"productCode"
:
"3019"
,
"productName"
:
"拓清系列.白色空气质量检测仪HTPC(KONKE)"
"productName"
:
"铂金系列.10A智能插座Z3S(KONKE)"
},
},
"services"
:
[
"services"
:
[
{
{
"outputData"
:
[
"outputData"
:
[],
{
"identifier"
:
"set"
,
"identifier"
:
"Temperature"
,
"inputData"
:
[
"name"
:
"当前温度"
,
{
"dataType"
:
{
"identifier"
:
"PowerSwitch"
,
"type"
:
"double"
,
"dataType"
:
{
"specs"
:
{
"specs"
:
{
"min"
:
"-10"
,
"0"
:
"关闭"
,
"max"
:
"60"
,
"1"
:
"打开"
"unit"
:
"°C"
,
},
"unitName"
:
"摄氏度"
,
"type"
:
"bool"
"step"
:
"0.01"
},
}
"name"
:
"电源开关"
}
},
},
{
{
"identifier"
:
"Electric"
,
"identifier"
:
"Humidity"
,
"dataType"
:
{
"name"
:
"当前湿度"
,
"type"
:
"double"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"double"
,
"unit"
:
"KWh"
,
"specs"
:
{
"unitName"
:
"千瓦时"
,
"min"
:
"0"
,
"step"
:
"0.01"
"max"
:
"100"
,
}
"unit"
:
"%"
,
},
"unitName"
:
"百分比"
,
"name"
:
"累计电量值"
"step"
:
"0.01"
},
}
{
}
"identifier"
:
"NoDisturbMode"
,
},
"dataType"
:{
{
"specs"
:{
"identifier"
:
"CO2"
,
"0"
:
"关闭"
,
"name"
:
"CO2检测值"
,
"1"
:
"打开"
"dataType"
:
{
},
"type"
:
"int"
,
"type"
:
"bool"
"specs"
:
{
},
"min"
:
"0"
,
"name"
:
"勿扰模式开关"
"max"
:
"5000"
,
}
"unit"
:
"ppm"
,
],
"unitName"
:
"百万分之一"
,
"method"
:
"thing.service.property.set"
,
"step"
:
"1"
"name"
:
"set"
,
}
"required"
:
true
,
}
"callType"
:
"async"
,
},
"desc"
:
"属性设置"
{
},
"identifier"
:
"PM2.5"
,
{
"name"
:
"PM2.5检测值"
,
"outputData"
:
[
"dataType"
:
{
{
"type"
:
"int"
,
"identifier"
:
"PowerSwitch"
,
"specs"
:
{
"dataType"
:
{
"min"
:
"0"
,
"specs"
:
{
"max"
:
"9999"
,
"0"
:
"关闭"
,
"unit"
:
"ug/m3"
,
"1"
:
"打开"
"unitName"
:
"微克每立方米"
,
},
"step"
:
"1"
"type"
:
"bool"
}
},
}
"name"
:
"电源开关"
},
},
{
{
"identifier"
:
"HCHO"
,
"identifier"
:
"Power"
,
"name"
:
"甲醛检测值"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"int"
,
"specs"
:
{
"specs"
:
{
"unit"
:
"W"
,
"min"
:
"0"
,
"unitName"
:
"瓦特"
,
"max"
:
"9999"
,
"step"
:
"0.01"
"unit"
:
"ug/m3"
,
}
"unitName"
:
"微克每立方米"
,
},
"step"
:
"1"
"name"
:
"设备功率值"
}
},
}
{
},
"identifier"
:
"Electric"
,
{
"dataType"
:
{
"identifier"
:
"TVOC"
,
"type"
:
"double"
,
"name"
:
"TVOC检测值"
,
"specs"
:
{
"dataType"
:
{
"unit"
:
"KWh"
,
"type"
:
"int"
,
"unitName"
:
"千瓦时"
,
"specs"
:
{
"step"
:
"0.01"
"min"
:
"0"
,
}
"max"
:
"9999"
,
},
"unit"
:
"ug/m3"
,
"name"
:
"累计电量值"
"unitName"
:
"微克每立方米"
,
},
"step"
:
"1"
{
}
"identifier"
:
"NoDisturbMode"
,
}
"dataType"
:{
}
"specs"
:{
],
"0"
:
"关闭"
,
"identifier"
:
"get"
,
"1"
:
"打开"
"inputData"
:
[
},
"Temperature"
,
"type"
:
"bool"
"Humidity"
,
},
"CO2"
,
"name"
:
"勿扰模式开关"
"PM2.5"
,
}
"HCHO"
,
],
"TVOC"
"identifier"
:
"get"
,
],
"inputData"
:
[
"method"
:
"thing.service.property.get"
,
"PowerSwitch"
,
"name"
:
"get"
,
"Power"
,
"required"
:
true
,
"Electric"
,
"callType"
:
"async"
,
"NoDisturbMode"
"desc"
:
"属性获取"
],
}
"method"
:
"thing.service.property.get"
,
],
"name"
:
"get"
,
"properties"
:
[
"required"
:
true
,
{
"callType"
:
"async"
,
"identifier"
:
"Temperature"
,
"desc"
:
"属性获取"
"name"
:
"当前温度"
,
},
"accessMode"
:
"r"
,
{
"required"
:
false
,
"outputData"
:[
"dataType"
:
{
"type"
:
"double"
,
],
"specs"
:
{
"identifier"
:
"negativeProperty"
,
"min"
:
"-40"
,
"inputData"
:[
"max"
:
"100"
,
"PowerSwitch"
"unit"
:
"°C"
,
],
"unitName"
:
"摄氏度"
,
"method"
:
"thing.service.negativeProperty"
,
"step"
:
"0.01"
"name"
:
"negativeProperty"
,
}
"required"
:
true
,
}
"callType"
:
"async"
,
},
"desc"
:
"属性值取反"
{
}
"identifier"
:
"Humidity"
,
],
"name"
:
"当前湿度"
,
"properties"
:
[
"accessMode"
:
"r"
,
{
"required"
:
false
,
"identifier"
:
"PowerSwitch"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"specs"
:
{
"specs"
:
{
"0"
:
"关闭"
,
"min"
:
"0"
,
"1"
:
"打开"
"max"
:
"100"
,
},
"unit"
:
"%"
,
"type"
:
"bool"
"unitName"
:
"百分比"
,
},
"step"
:
"0.01"
"name"
:
"电源开关"
,
}
"accessMode"
:
"rw"
,
}
"required"
:
true
},
},
{
{
"identifier"
:
"CO2"
,
"identifier"
:
"Power"
,
"name"
:
"CO2检测值"
,
"dataType"
:
{
"accessMode"
:
"r"
,
"type"
:
"double"
,
"required"
:
false
,
"specs"
:
{
"dataType"
:
{
"unit"
:
"W"
,
"type"
:
"int"
,
"unitName"
:
"瓦特"
,
"specs"
:
{
"step"
:
"0.01"
"min"
:
"0"
,
}
"max"
:
"5000"
,
},
"unit"
:
"ppm"
,
"name"
:
"设备功率值"
,
"unitName"
:
"百万分之一"
,
"accessMode"
:
"r"
,
"step"
:
"1"
"required"
:
true
}
},
}
{
},
"identifier"
:
"Electric"
,
{
"dataType"
:
{
"identifier"
:
"PM2.5"
,
"type"
:
"double"
,
"name"
:
"PM2.5检测值"
,
"specs"
:
{
"accessMode"
:
"r"
,
"unit"
:
"KWh"
,
"required"
:
false
,
"unitName"
:
"千瓦时"
,
"dataType"
:
{
"step"
:
"0.01"
"type"
:
"int"
,
}
"specs"
:
{
},
"min"
:
"0"
,
"name"
:
"累计电量值"
,
"max"
:
"9999"
,
"accessMode"
:
"rw"
,
"unit"
:
"ug/m3"
,
"required"
:
true
"unitName"
:
"微克每立方米"
,
},
"step"
:
"1"
{
}
"identifier"
:
"NoDisturbMode"
,
}
"dataType"
:{
},
"specs"
:{
{
"0"
:
"关闭"
,
"identifier"
:
"HCHO"
,
"1"
:
"打开"
"name"
:
"甲醛检测值"
,
},
"accessMode"
:
"r"
,
"type"
:
"bool"
"required"
:
false
,
},
"dataType"
:
{
"name"
:
"勿扰模式开关"
,
"type"
:
"int"
,
"accessMode"
:
"rw"
,
"specs"
:
{
"required"
:
true
"min"
:
"0"
,
}
"max"
:
"9999"
,
],
"unit"
:
"ug/m3"
,
"events"
:
[
"unitName"
:
"微克每立方米"
,
{
"step"
:
"1"
"outputData"
:
[
}
{
}
"identifier"
:
"PowerSwitch"
,
},
"dataType"
:
{
{
"specs"
:
{
"identifier"
:
"TVOC"
,
"0"
:
"关闭"
,
"name"
:
"TVOC检测值"
,
"1"
:
"打开"
"accessMode"
:
"r"
,
},
"required"
:
false
,
"type"
:
"bool"
"dataType"
:
{
},
"type"
:
"int"
,
"name"
:
"电源开关"
"specs"
:
{
},
"min"
:
"0"
,
{
"max"
:
"9999"
,
"identifier"
:
"Electric"
,
"unit"
:
"ug/m3"
,
"dataType"
:
{
"unitName"
:
"微克每立方米"
,
"type"
:
"double"
,
"step"
:
"1"
"specs"
:
{
}
"step"
:
"0.01"
}
}
}
},
],
"name"
:
"累计电量值"
"events"
:
[
},
{
{
"outputData"
:
[
"identifier"
:
"NoDisturbMode"
,
{
"dataType"
:{
"identifier"
:
"Temperature"
,
"specs"
:{
"name"
:
"当前温度"
,
"0"
:
"关闭"
,
"dataType"
:
{
"1"
:
"打开"
"type"
:
"double"
,
},
"specs"
:
{
"type"
:
"bool"
"min"
:
"-40"
,
},
"max"
:
"100"
,
"name"
:
"勿扰模式开关"
"unit"
:
"°C"
,
}
"unitName"
:
"摄氏度"
,
],
"step"
:
"0.01"
"identifier"
:
"property"
,
}
"method"
:
"thing.event.property.post"
,
}
"name"
:
"property"
,
},
"type"
:
"info"
,
{
"required"
:
true
,
"identifier"
:
"Humidity"
,
"desc"
:
"属性上报"
"name"
:
"当前湿度"
,
},
"dataType"
:
{
{
"type"
:
"double"
,
"outputData"
:
[
"specs"
:
{
{
"min"
:
"0"
,
"identifier"
:
"Power"
,
"max"
:
"100"
,
"name"
:
"过载功率值"
,
"unit"
:
"%"
,
"dataType"
:
{
"unitName"
:
"百分比"
,
"type"
:
"double"
,
"step"
:
"0.01"
"specs"
:
{
}
"unit"
:
"W"
,
}
"unitName"
:
"瓦特"
,
},
"step"
:
"0.01"
{
}
"identifier"
:
"CO2"
,
}
"name"
:
"CO2检测值"
,
}
"dataType"
:
{
],
"type"
:
"int"
,
"identifier"
:
"OverloadAlarm"
,
"specs"
:
{
"method"
:
"thing.event.OverloadAlarm.post"
,
"min"
:
"0"
,
"name"
:
"OverloadAlarm"
,
"max"
:
"5000"
,
"type"
:
"alarm"
,
"unit"
:
"ppm"
,
"required"
:
true
,
"unitName"
:
"百万分之一"
,
"desc"
:
"过载告警"
"step"
:
"1"
}
}
]
}
}
},
{
"identifier"
:
"PM2.5"
,
"name"
:
"PM2.5检测值"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"9999"
,
"unit"
:
"ug/m3"
,
"unitName"
:
"微克每立方米"
,
"step"
:
"1"
}
}
},
{
"identifier"
:
"HCHO"
,
"name"
:
"甲醛检测值"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"9999"
,
"unit"
:
"mg/m3"
,
"unitName"
:
"微克每立方米"
,
"step"
:
"1"
}
}
},
{
"identifier"
:
"TVOC"
,
"name"
:
"TVOC检测值"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"9999"
,
"unit"
:
"ug/m3"
,
"unitName"
:
"微克每立方米"
,
"step"
:
"1"
}
}
}
],
"identifier"
:
"property"
,
"method"
:
"thing.event.property.post"
,
"name"
:
"property"
,
"type"
:
"info"
,
"required"
:
true
,
"desc"
:
"属性上报"
}
]
}
tsl/product_3035.json
View file @
7e4db009
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
"productType"
:
"airConditioning"
,
"productType"
:
"airConditioning"
,
"version"
:
"1.3"
,
"version"
:
"1.3"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300
0
"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3035"
,
"productCode"
:
"3035"
,
"productName"
:
"肖邦系列.大金中央空调线控器Z3KA(KONKE)"
"productName"
:
"肖邦系列.大金中央空调线控器Z3KA(KONKE)"
},
},
...
...
tsl/product_3066.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3066.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3066.json"
,
"productType"
:
"lock"
,
"productType"
:
"Doorlock"
,
"version"
:
"1.1"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"
30
00"
,
"heartbeat"
:
"
12
00"
,
"productCode"
:
"3066"
,
"productCode"
:
"3066"
,
"productName"
:
"凯迪仕门锁
"
,
"productName"
:
"御驰智能门锁Z3S
"
,
"sleepTime"
:
"30000"
"sleepTime"
:
"30000"
},
},
"services"
:
[{
"services"
:
[
"identifier"
:
"set"
,
{
"name"
:
"set"
,
"outputData"
:
[
"required"
:
true
,
{
"callType"
:
"async"
,
"identifier"
:
"UserList"
,
"desc"
:
"属性设置"
,
"name"
:
"用户列表"
,
"method"
:
"thing.service.property.set"
,
"dataType"
:
{
"inputData"
:
[{
"type"
:
"array"
,
"identifier"
:
"Volume"
,
"specs"
:
{
"name"
:
"门锁音量"
,
"item"
:{
"dataType"
:
{
"type"
:
"struct"
,
"type"
:
"enum"
,
"specs"
:
[
"specs"
:
{
{
"0"
:
"静音"
,
"identifier"
:
"KeyID"
,
"1"
:
"低音"
,
"name"
:
"用户ID"
,
"2"
:
"中音"
,
"dataType"
:
{
"3"
:
"高音"
"type"
:
"text"
,
}
"length"
:
"10"
}
}
},
{
},
"identifier"
:
"Language"
,
{
"name"
:
"门锁语言"
,
"identifier"
:
"KeyRole"
,
"dataType"
:
{
"name"
:
"用户类型"
,
"type"
:
"enum"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"enum"
,
"0"
:
"中文"
,
"specs"
:
{
"1"
:
"英文"
"1"
:
"管理员"
,
}
"2"
:
"普通用户"
,
}
"3"
:
"临时用户"
}],
}
"outputData"
:
[]
}
},
{
},
"identifier"
:
"get"
,
{
"name"
:
"get"
,
"identifier"
:
"KeyType"
,
"required"
:
true
,
"name"
:
"开锁方式"
,
"callType"
:
"async"
,
"dataType"
:
{
"desc"
:
"属性获取"
,
"type"
:
"enum"
,
"method"
:
"thing.service.property.get"
,
"specs"
:
{
"inputData"
:
[
"LockState"
,
"BackLockState"
,
"Battery"
,
"Volume"
,
"Language"
],
"1"
:
"指纹"
,
"outputData"
:
[{
"2"
:
"密码"
,
"identifier"
:
"LockState"
,
"3"
:
"刷卡"
,
"name"
:
"门锁状态"
,
"4"
:
"APP远程开锁"
,
"dataType"
:
{
"5"
:
"机械钥匙"
,
"type"
:
"enum"
,
"6"
:
"蓝牙"
,
"specs"
:
{
"7"
:
"劫持报警"
,
"0"
:
"关闭"
,
"8"
:
"限时临时密码"
"1"
:
"打开"
}
}
}
}
}
},
{
]
"identifier"
:
"BackLockState"
,
},
"name"
:
"门锁状态"
,
"size"
:
"512"
"dataType"
:
{
}
"type"
:
"enum"
,
}
"specs"
:
{
},
"0"
:
"关闭"
,
{
"1"
:
"打开"
"identifier"
:
"Battery"
,
}
"name"
:
"电池电量"
,
}
"dataType"
:
{
},
{
"type"
:
"double"
,
"identifier"
:
"Battery"
,
"specs"
:
{
"name"
:
"电池电量"
,
"min"
:
"0"
,
"dataType"
:
{
"max"
:
"100"
,
"type"
:
"int"
,
"unit"
:
"%"
,
"specs"
:
{
"unitName"
:
"百分比"
,
"min"
:
"0"
,
"step"
:
"0.01"
"max"
:
"100"
,
}
"unit"
:
"%"
,
}
"unitName"
:
"百分比"
,
}
"step"
:
"1"
],
}
"identifier"
:
"get"
,
}
"inputData"
:
[
},
{
"UserList"
,
"identifier"
:
"Volume"
,
"Battery"
"name"
:
"门锁音量"
,
],
"dataType"
:
{
"method"
:
"thing.service.property.get"
,
"type"
:
"enum"
,
"name"
:
"get"
,
"specs"
:
{
"required"
:
true
,
"0"
:
"静音"
,
"callType"
:
"async"
,
"1"
:
"低音"
,
"desc"
:
"属性获取"
"2"
:
"中音"
,
}
"3"
:
"高音"
],
}
"properties"
:
[
}
{
},
{
"identifier"
:
"UserList"
,
"identifier"
:
"Language"
,
"name"
:
"用户列表"
,
"name"
:
"门锁语言"
,
"accessMode"
:
"r"
,
"dataType"
:
{
"required"
:
true
,
"type"
:
"enum"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"array"
,
"0"
:
"中文"
,
"specs"
:
{
"1"
:
"英文"
"item"
:{
}
"type"
:
"struct"
,
}
"specs"
:
[
}]
{
},
{
"identifier"
:
"KeyID"
,
"identifier"
:
"openLock"
,
"name"
:
"用户ID"
,
"name"
:
"远程开锁"
,
"dataType"
:
{
"required"
:
false
,
"type"
:
"text"
,
"callType"
:
"async"
,
"length"
:
"10"
"method"
:
"thing.service.openLock"
,
}
"inputData"
:
[{
},
"identifier"
:
"Password"
,
{
"name"
:
"密码"
,
"identifier"
:
"KeyRole"
,
"dataType"
:
{
"name"
:
"用户类型"
,
"type"
:
"text"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"enum"
,
"length"
:
"126"
"specs"
:
{
}
"1"
:
"管理员"
,
}
"2"
:
"普通用户"
,
}],
"3"
:
"临时用户"
"outputData"
:
[]
}
},
{
}
"identifier"
:
"getKeyList"
,
},
"name"
:
"获取钥匙列表"
,
{
"required"
:
true
,
"identifier"
:
"KeyType"
,
"callType"
:
"async"
,
"name"
:
"开锁方式"
,
"method"
:
"thing.service.getKeyList"
,
"dataType"
:
{
"inputData"
:
[{
"type"
:
"enum"
,
"identifier"
:
"KeyType"
,
"specs"
:
{
"name"
:
"开锁方式"
,
"1"
:
"指纹"
,
"dataType"
:
{
"2"
:
"密码"
,
"type"
:
"enum"
,
"3"
:
"刷卡"
,
"specs"
:
{
"4"
:
"APP远程开锁"
,
"0"
:
"全部"
,
"5"
:
"机械钥匙"
,
"1"
:
"指纹"
,
"6"
:
"蓝牙"
,
"2"
:
"密码"
,
"7"
:
"劫持报警"
,
"3"
:
"卡"
,
"8"
:
"限时临时密码"
"4"
:
"机械钥匙"
}
}
}
}
}
}],
]
"outputData"
:
[]
},
},
{
"size"
:
"512"
"identifier"
:
"addKey"
,
}
"name"
:
"添加钥匙"
,
}
"required"
:
true
,
},
"callType"
:
"async"
,
{
"method"
:
"thing.service.AddKey"
,
"identifier"
:
"Battery"
,
"inputData"
:
[{
"name"
:
"电池电量"
,
"identifier"
:
"KeyType"
,
"accessMode"
:
"r"
,
"name"
:
"开锁方式"
,
"required"
:
false
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"double"
,
"specs"
:
{
"specs"
:
{
"1"
:
"密码"
,
"min"
:
"0"
,
"2"
:
"指纹"
,
"max"
:
"100"
,
"3"
:
"卡"
,
"unit"
:
"%"
,
"4"
:
"机械钥匙"
"unitName"
:
"百分比"
,
}
"step"
:
"0.01"
}
}
},
{
}
"identifier"
:
"KeyRole"
,
}
"name"
:
"用户权限"
,
],
"dataType"
:
{
"events"
:
[
"type"
:
"enum"
,
{
"specs"
:
{
"outputData"
:
[
"1"
:
"普通用户"
,
{
"2"
:
"管理员"
,
"identifier"
:
"Battery"
,
"3"
:
"劫持用户"
"name"
:
"电池电量"
,
}
"dataType"
:
{
}
"type"
:
"double"
,
},
{
"specs"
:
{
"identifier"
:
"IsValid"
,
"min"
:
"0"
,
"name"
:
"是否有效"
,
"max"
:
"100"
,
"dataType"
:
{
"unit"
:
"%"
,
"type"
:
"bool"
,
"unitName"
:
"百分比"
,
"specs"
:
{
"step"
:
"0.01"
"0"
:
"无效"
,
}
"1"
:
"有效"
}
}
}
}
],
},
{
"identifier"
:
"property"
,
"identifier"
:
"KeyName"
,
"method"
:
"thing.event.property.post"
,
"name"
:
"钥匙昵称"
,
"name"
:
"property"
,
"dataType"
:
{
"type"
:
"info"
,
"type"
:
"text"
,
"required"
:
true
,
"specs"
:
{
"desc"
:
"属性上报"
"length"
:
"255"
},
}
{
}
"outputData"
:
[
},
{
{
"identifier"
:
"KeyEffectiveTime"
,
"identifier"
:
"KeyID"
,
"name"
:
"生效时间"
,
"name"
:
"用户ID"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"int"
,
"type"
:
"text"
,
"specs"
:
{
"length"
:
"10"
"min"
:
"1577808001"
,
}
"max"
:
"32472115201"
},
}
{
}
"identifier"
:
"KeyRole"
,
},
{
"name"
:
"用户类型"
,
"identifier"
:
"KeyExpiryTime"
,
"dataType"
:
{
"name"
:
"失效时间"
,
"type"
:
"enum"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"int"
,
"1"
:
"管理员"
,
"specs"
:
{
"2"
:
"普通用户"
,
"min"
:
"1577808001"
,
"3"
:
"临时用户"
"max"
:
"32472115201"
}
}
}
}
},
},{
{
"identifier"
:
"Password"
,
"identifier"
:
"KeyType"
,
"name"
:
"密码"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"text"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"length"
:
"126"
"1"
:
"指纹"
,
}
"2"
:
"密码"
,
}
"3"
:
"刷卡"
,
}],
"4"
:
"APP远程开锁"
,
"outputData"
:
[]
"5"
:
"机械钥匙"
,
},
{
"6"
:
"蓝牙"
,
"identifier"
:
"ModifyKey"
,
"7"
:
"劫持报警"
,
"name"
:
"配置钥匙权限"
,
"8"
:
"限时临时密码"
"required"
:
false
,
}
"callType"
:
"async"
,
}
"method"
:
"thing.service.ModifyKey"
,
}
"inputData"
:
[{
],
"identifier"
:
"KeyID"
,
"identifier"
:
"LockOpenNotification"
,
"name"
:
"钥匙ID"
,
"method"
:
"thing.event.LockOpenNotification.post"
,
"dataType"
:
{
"name"
:
"LockOpenNotification"
,
"type"
:
"text"
,
"type"
:
"info"
,
"specs"
:
{
"required"
:
true
,
"length"
:
"10"
"desc"
:
"开门上报"
}
},
}
{
},
{
"outputData"
:
[
"identifier"
:
"KeyType"
,
{
"name"
:
"开锁方式"
,
"identifier"
:
"KeyID"
,
"dataType"
:
{
"name"
:
"用户ID"
,
"type"
:
"enum"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"text"
,
"1"
:
"指纹"
,
"length"
:
"10"
"2"
:
"密码"
,
}
"3"
:
"卡"
,
},
"4"
:
"机械钥匙"
{
}
"identifier"
:
"KeyRole"
,
}
"name"
:
"用户类型"
,
},
{
"dataType"
:
{
"identifier"
:
"KeyRole"
,
"type"
:
"enum"
,
"name"
:
"用户权限"
,
"specs"
:
{
"dataType"
:
{
"1"
:
"管理员"
,
"type"
:
"enum"
,
"2"
:
"普通用户"
,
"specs"
:
{
"3"
:
"临时用户"
"1"
:
"普通用户"
,
}
"2"
:
"管理员"
,
}
"3"
:
"劫持用户"
},
}
{
}
"identifier"
:
"KeyType"
,
},
{
"name"
:
"开锁方式"
,
"identifier"
:
"IsValid"
,
"dataType"
:
{
"name"
:
"是否有效"
,
"type"
:
"enum"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"bool"
,
"1"
:
"指纹"
,
"specs"
:
{
"2"
:
"密码"
,
"0"
:
"无效"
,
"3"
:
"刷卡"
,
"1"
:
"有效"
"4"
:
"APP远程开锁"
,
}
"5"
:
"机械钥匙"
,
}
"6"
:
"蓝牙"
,
},
{
"7"
:
"劫持报警"
,
"identifier"
:
"KeyName"
,
"8"
:
"限时临时密码"
"name"
:
"钥匙昵称"
,
}
"dataType"
:
{
}
"type"
:
"text"
,
}
"specs"
:
{
],
"length"
:
"255"
"identifier"
:
"KeyAddNotification"
,
}
"method"
:
"thing.event.KeyAddNotification.post"
,
}
"name"
:
"KeyAddNotification"
,
},
{
"type"
:
"info"
,
"identifier"
:
"KeyEffectiveTime"
,
"required"
:
true
,
"name"
:
"生效时间"
,
"desc"
:
"添加用户上报"
"dataType"
:
{
},
"type"
:
"int"
,
{
"specs"
:
{
"outputData"
:
[
"min"
:
"1577808001"
,
{
"max"
:
"32472115201"
"identifier"
:
"KeyID"
,
}
"name"
:
"用户ID"
,
}
"dataType"
:
{
},
{
"type"
:
"text"
,
"identifier"
:
"KeyExpiryTime"
,
"length"
:
"10"
"name"
:
"失效时间"
,
}
"dataType"
:
{
},
"type"
:
"int"
,
{
"specs"
:
{
"identifier"
:
"KeyRole"
,
"min"
:
"1577808001"
,
"name"
:
"用户类型"
,
"max"
:
"32472115201"
"dataType"
:
{
}
"type"
:
"enum"
,
}
"specs"
:
{
}],
"1"
:
"管理员"
,
"outputData"
:
[]
"2"
:
"普通用户"
,
},
{
"3"
:
"临时用户"
"identifier"
:
"DeleteKey"
,
}
"name"
:
"删除钥匙"
,
}
"required"
:
true
,
},
"callType"
:
"async"
,
{
"method"
:
"thing.service.DeleteKey"
,
"identifier"
:
"KeyType"
,
"inputData"
:
[{
"name"
:
"开锁方式"
,
"identifier"
:
"KeyID"
,
"dataType"
:
{
"name"
:
"钥匙ID"
,
"type"
:
"enum"
,
"dataType"
:
{
"specs"
:
{
"type"
:
"text"
,
"1"
:
"指纹"
,
"specs"
:
{
"2"
:
"密码"
,
"length"
:
"10"
"3"
:
"刷卡"
,
}
"4"
:
"APP远程开锁"
,
}
"5"
:
"机械钥匙"
,
},
{
"6"
:
"蓝牙"
,
"identifier"
:
"KeyType"
,
"7"
:
"劫持报警"
,
"name"
:
"开锁方式"
,
"8"
:
"限时临时密码"
"dataType"
:
{
}
"type"
:
"enum"
,
}
"specs"
:
{
}
"1"
:
"指纹"
,
],
"2"
:
"密码"
,
"identifier"
:
"KeyDeletedNotification"
,
"3"
:
"卡"
,
"method"
:
"thing.event.KeyDeletedNotification.post"
,
"4"
:
"机械钥匙"
"name"
:
"KeyDeletedNotification"
,
}
"type"
:
"info"
,
}
"required"
:
true
,
},
{
"desc"
:
"删除用户上报"
"identifier"
:
"KeyRole"
,
},
"name"
:
"用户权限"
,
{
"dataType"
:
{
"outputData"
:
[
"type"
:
"enum"
,
{
"specs"
:
{
"identifier"
:
"DismantleState"
,
"1"
:
"普通用户"
,
"name"
:
"拆卸状态"
,
"2"
:
"管理员"
,
"dataType"
:
{
"3"
:
"劫持用户"
"type"
:
"enum"
,
}
"specs"
:
{
}
"0"
:
"正常"
,
}],
"1"
:
"被拆卸"
"outputData"
:
[]
}
}],
}
"properties"
:
[{
}
"identifier"
:
"LockState"
,
],
"name"
:
"门锁状态"
,
"identifier"
:
"TamperAlarm"
,
"accessMode"
:
"r"
,
"method"
:
"thing.event.TamperAlarm.post"
,
"required"
:
true
,
"name"
:
"TamperAlarm"
,
"dataType"
:
{
"type"
:
"alert"
,
"type"
:
"enum"
,
"required"
:
true
,
"specs"
:
{
"desc"
:
"防拆告警"
"0"
:
"关闭"
,
},
"1"
:
"打开"
{
}
"outputData"
:
[
}
{
},
{
"identifier"
:
"Battery"
,
"identifier"
:
"BackLockState"
,
"name"
:
"电池电量"
,
"name"
:
"门反锁状态"
,
"dataType"
:
{
"accessMode"
:
"r"
,
"type"
:
"double"
,
"required"
:
true
,
"specs"
:
{
"dataType"
:
{
"min"
:
"0.0"
,
"type"
:
"enum"
,
"max"
:
"100.0"
,
"specs"
:
{
"unit"
:
"%"
,
"0"
:
"关闭"
,
"unitName"
:
"百分比"
,
"1"
:
"打开"
"step"
:
"0.01"
}
}
}
}
},
{
}
"identifier"
:
"Battery"
,
],
"name"
:
"电池电量"
,
"identifier"
:
"BatteryAlarm"
,
"accessMode"
:
"r"
,
"method"
:
"thing.event.BatteryAlarm.post"
,
"required"
:
false
,
"name"
:
"BatteryAlarm"
,
"dataType"
:
{
"type"
:
"alert"
,
"type"
:
"int"
,
"required"
:
true
,
"specs"
:
{
"desc"
:
"低电量告警"
"min"
:
"0"
,
}
"max"
:
"100"
,
]
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
}
},
{
"identifier"
:
"Volume"
,
"name"
:
"门锁音量"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"静音"
,
"1"
:
"低音"
,
"2"
:
"中音"
,
"3"
:
"高音"
}
}
},
{
"identifier"
:
"Language"
,
"name"
:
"门锁语言"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"中文"
,
"1"
:
"英文"
}
}
},
{
"identifier"
:
"LockKeys"
,
"name"
:
"门锁钥匙"
,
"accessMode"
:
"rw"
,
"desc"
:
"门锁钥匙。"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"array"
,
"specs"
:
{
"size"
:
"128"
,
"item"
:
{
"type"
:
"struct"
,
"specs"
:
[{
"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"
:
"enum"
,
"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"
}
}
}]
}
}
}
}],
"events"
:
[{
"identifier"
:
"post"
,
"name"
:
"post"
,
"type"
:
"info"
,
"required"
:
true
,
"desc"
:
"属性上报"
,
"method"
:
"thing.event.property.post"
,
"outputData"
:
[{
"identifier"
:
"LockState"
,
"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"
:
"LockOpenNotification"
,
"name"
:
"开门通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.LockOpenNotification.post"
,
"outputData"
:
[{
"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"
:
"LockNotification"
,
"name"
:
"上锁通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.LockNotification.post"
,
"outputData"
:
[]
},
{
"identifier"
:
"BackLockNotification"
,
"name"
:
"反锁通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.BackLockNotification.post"
,
"outputData"
:
[]
},
{
"identifier"
:
"BackLockOpenNotification"
,
"name"
:
"反锁解除通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.BackLockOpenNotification.post"
,
"outputData"
:
[]
},
{
"identifier"
:
"KeyInformationNotification"
,
"name"
:
"钥匙信息上报"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.KeyInformationNotification.post"
,
"outputData"
:
[{
"identifier"
:
"LockKeys"
,
"name"
:
"门锁钥匙"
,
"dataType"
:
{
"type"
:
"array"
,
"specs"
:
{
"size"
:
"128"
,
"item"
:
{
"type"
:
"struct"
,
"specs"
:
[{
"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"
}
}
}]
}
}
}
}]
},
{
"identifier"
:
"KeyAddNotification"
,
"name"
:
"添加钥匙通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.KeyAddNotification.post"
,
"outputData"
:
[{
"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"
}
}
}]
},
{
"identifier"
:
"KeyModifyNotification"
,
"name"
:
"修改钥匙通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.KeyModifyNotification.post"
,
"outputData"
:
[{
"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"
}
}
}]
},
{
"identifier"
:
"KeyDeletedNotification"
,
"name"
:
"删除钥匙通知"
,
"type"
:
"info"
,
"required"
:
true
,
"method"
:
"thing.event.KeyDeletedNotification.post"
,
"outputData"
:
[{
"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"
:
"UnlockedAlarm"
,
"name"
:
"门未锁好报警"
,
"type"
:
"alert"
,
"required"
:
true
,
"method"
:
"thing.event.UnlockedAlarm.post"
,
"outputData"
:
[]
},{
"identifier"
:
"MultipleOpenLockFailedAlarm"
,
"name"
:
"多次开锁失败"
,
"type"
:
"alert"
,
"required"
:
true
,
"method"
:
"thing.event.MultipleOpenLockFailedAlarm.post"
,
"outputData"
:
[]
},
{
"identifier"
:
"HijackingAlarm"
,
"name"
:
"劫持报警"
,
"type"
:
"alert"
,
"required"
:
true
,
"method"
:
"thing.event.HijackingAlarm.post"
,
"outputData"
:
[{
"identifier"
:
"KeyID"
,
"name"
:
"钥匙ID"
,
"dataType"
:
{
"type"
:
"text"
,
"specs"
:
{
"length"
:
"10"
}
}
},
{
"identifier"
:
"KeyType"
,
"name"
:
"开锁方式"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"1"
:
"指纹"
,
"2"
:
"密码"
,
"3"
:
"卡"
,
"4"
:
"机械钥匙"
}
}
}]
},
{
"identifier"
:
"BatteryAlarm"
,
"name"
:
"低电量报警"
,
"type"
:
"alert"
,
"required"
:
true
,
"method"
:
"thing.event.BatteryAlarm.post"
,
"outputData"
:
[{
"identifier"
:
"Battery"
,
"name"
:
"电池电量"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
}
}]
},
{
"identifier"
:
"TamperAlarm"
,
"name"
:
"防撬报警"
,
"type"
:
"alert"
,
"required"
:
true
,
"method"
:
"thing.event.TamperAlarm.post"
,
"outputData"
:
[]
},
{
"identifier"
:
"Error"
,
"name"
:
"故障上报"
,
"type"
:
"error"
,
"required"
:
true
,
"method"
:
"thing.event.Error.post"
,
"outputData"
:
[{
"identifier"
:
"ErrorCode"
,
"name"
:
"故障代码"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"正常"
}
}
}]
}]
}
}
\ No newline at end of file
tsl/product_3093.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3093.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3093.json"
,
"productType"
:
"lightPanel"
,
"productType"
:
"lightPanel"
,
"version"
:
"1.
2
"
,
"version"
:
"1.
3
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3093"
,
"productCode"
:
"3093"
,
...
@@ -87,48 +87,6 @@
...
@@ -87,48 +87,6 @@
},
},
"name"
:
"亮度"
"name"
:
"亮度"
},
},
{
"identifier"
:
"ColorTemperature_1"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_2"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_3"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
{
"identifier"
:
"FadeTime_1"
,
"identifier"
:
"FadeTime_1"
,
"dataType"
:
{
"dataType"
:
{
...
@@ -339,48 +297,6 @@
...
@@ -339,48 +297,6 @@
},
},
"name"
:
"亮度"
"name"
:
"亮度"
},
},
{
"identifier"
:
"ColorTemperature_1"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_2"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_3"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
{
"identifier"
:
"FadeTime_1"
,
"identifier"
:
"FadeTime_1"
,
"dataType"
:
{
"dataType"
:
{
...
@@ -512,19 +428,16 @@
...
@@ -512,19 +428,16 @@
"inputData"
:
[
"inputData"
:
[
"PowerSwitch_1"
,
"PowerSwitch_1"
,
"Brightness_1"
,
"Brightness_1"
,
"ColorTemperature_1"
,
"FadeTime_1"
,
"FadeTime_1"
,
"LowBrightness_1"
,
"LowBrightness_1"
,
"HighBrightness_1"
,
"HighBrightness_1"
,
"PowerSwitch_2"
,
"PowerSwitch_2"
,
"Brightness_2"
,
"Brightness_2"
,
"ColorTemperature_2"
,
"FadeTime_2"
,
"FadeTime_2"
,
"LowBrightness_2"
,
"LowBrightness_2"
,
"HighBrightness_2"
,
"HighBrightness_2"
,
"PowerSwitch_3"
,
"PowerSwitch_3"
,
"Brightness_3"
,
"Brightness_3"
,
"ColorTemperature_3"
,
"FadeTime_3"
,
"FadeTime_3"
,
"LowBrightness_3"
,
"LowBrightness_3"
,
"HighBrightness_3"
"HighBrightness_3"
...
@@ -626,48 +539,6 @@
...
@@ -626,48 +539,6 @@
},
},
"name"
:
"亮度"
"name"
:
"亮度"
},
},
{
"identifier"
:
"ColorTemperature_1"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_2"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_3"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
{
"identifier"
:
"FadeTime_1"
,
"identifier"
:
"FadeTime_1"
,
"dataType"
:
{
"dataType"
:
{
...
@@ -885,54 +756,6 @@
...
@@ -885,54 +756,6 @@
},
},
"name"
:
"亮度"
"name"
:
"亮度"
},
},
{
"identifier"
:
"ColorTemperature_1"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_2"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"ColorTemperature_3"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
{
"identifier"
:
"FadeTime_1"
,
"identifier"
:
"FadeTime_1"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
...
tsl/product_3095.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3095.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3095.json"
,
"productType"
:
"airConditioning"
,
"productType"
:
"airConditioning"
,
"version"
:
"1.
0
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300
0
"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3095"
,
"productCode"
:
"3095"
,
"productName"
:
"海顿系列.空调多合一面板(KONKE)"
"productName"
:
"海顿系列.空调多合一面板(KONKE)"
},
},
...
@@ -85,34 +85,31 @@
...
@@ -85,34 +85,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -191,6 +188,17 @@
...
@@ -191,6 +188,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -260,6 +268,17 @@
...
@@ -260,6 +268,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -347,6 +366,7 @@
...
@@ -347,6 +366,7 @@
"CurrentTemperature_2"
,
"CurrentTemperature_2"
,
"Temperature_2"
,
"Temperature_2"
,
"TimingOffTime_2"
,
"TimingOffTime_2"
,
"TimingOffEnable_2"
,
"PowerSwitch_2"
,
"PowerSwitch_2"
,
"ChildLockState_2"
,
"ChildLockState_2"
,
"Screensaver_2"
,
"Screensaver_2"
,
...
@@ -354,6 +374,7 @@
...
@@ -354,6 +374,7 @@
"PowerSwitch_3"
,
"PowerSwitch_3"
,
"CurrentTemperature_3"
,
"CurrentTemperature_3"
,
"TimingOffTime_3"
,
"TimingOffTime_3"
,
"TimingOffEnable_3"
,
"WindSpeed_3"
,
"WindSpeed_3"
,
"StrainerAlarmTime_3"
,
"StrainerAlarmTime_3"
,
"ChildLockState_3"
,
"ChildLockState_3"
,
...
@@ -430,34 +451,31 @@
...
@@ -430,34 +451,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -546,6 +564,17 @@
...
@@ -546,6 +564,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"Screensaver_2"
,
"identifier"
:
"Screensaver_2"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -605,6 +634,17 @@
...
@@ -605,6 +634,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -754,38 +794,35 @@
...
@@ -754,38 +794,35 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"
accessMode"
:
"rw
"
,
"
name"
:
"空调延时关机使能
"
,
"
required"
:
true
,
"
accessMode"
:
"rw"
,
"
name"
:
"空调延时关机时间"
,
"
required"
:
true
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"required"
:
true
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -876,6 +913,19 @@
...
@@ -876,6 +913,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -957,6 +1007,19 @@
...
@@ -957,6 +1007,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -1110,13 +1173,24 @@
...
@@ -1110,13 +1173,24 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_1"
,
"identifier"
:
"TimingOffTime_1"
,
"name"
:
"空调延时关机时间"
,
"name"
:
"空调延时关机时间"
,
...
@@ -1127,20 +1201,6 @@
...
@@ -1127,20 +1201,6 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"double"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
},
{
{
"identifier"
:
"Screensaver_1"
,
"identifier"
:
"Screensaver_1"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -1216,6 +1276,17 @@
...
@@ -1216,6 +1276,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -1285,6 +1356,17 @@
...
@@ -1285,6 +1356,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
...
tsl/product_3097.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3097.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3097.json"
,
"productType"
:
"floorHeating"
,
"productType"
:
"floorHeating"
,
"version"
:
"1.
0
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3097"
,
"productCode"
:
"3097"
,
...
@@ -85,34 +85,31 @@
...
@@ -85,34 +85,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -191,6 +188,17 @@
...
@@ -191,6 +188,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -260,6 +268,17 @@
...
@@ -260,6 +268,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -347,6 +366,7 @@
...
@@ -347,6 +366,7 @@
"CurrentTemperature_2"
,
"CurrentTemperature_2"
,
"Temperature_2"
,
"Temperature_2"
,
"TimingOffTime_2"
,
"TimingOffTime_2"
,
"TimingOffEnable_2"
,
"PowerSwitch_2"
,
"PowerSwitch_2"
,
"ChildLockState_2"
,
"ChildLockState_2"
,
"Screensaver_2"
,
"Screensaver_2"
,
...
@@ -354,6 +374,7 @@
...
@@ -354,6 +374,7 @@
"PowerSwitch_3"
,
"PowerSwitch_3"
,
"CurrentTemperature_3"
,
"CurrentTemperature_3"
,
"TimingOffTime_3"
,
"TimingOffTime_3"
,
"TimingOffEnable_3"
,
"WindSpeed_3"
,
"WindSpeed_3"
,
"StrainerAlarmTime_3"
,
"StrainerAlarmTime_3"
,
"ChildLockState_3"
,
"ChildLockState_3"
,
...
@@ -430,34 +451,31 @@
...
@@ -430,34 +451,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -546,6 +564,17 @@
...
@@ -546,6 +564,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"Screensaver_2"
,
"identifier"
:
"Screensaver_2"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -605,6 +634,17 @@
...
@@ -605,6 +634,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -754,38 +794,35 @@
...
@@ -754,38 +794,35 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"
accessMode"
:
"rw
"
,
"
name"
:
"空调延时关机使能
"
,
"
required"
:
true
,
"
accessMode"
:
"rw"
,
"
name"
:
"空调延时关机时间"
,
"
required"
:
true
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"required"
:
true
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -876,6 +913,19 @@
...
@@ -876,6 +913,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -957,6 +1007,19 @@
...
@@ -957,6 +1007,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -1110,13 +1173,24 @@
...
@@ -1110,13 +1173,24 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_1"
,
"identifier"
:
"TimingOffTime_1"
,
"name"
:
"空调延时关机时间"
,
"name"
:
"空调延时关机时间"
,
...
@@ -1127,20 +1201,6 @@
...
@@ -1127,20 +1201,6 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"double"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
},
{
{
"identifier"
:
"Screensaver_1"
,
"identifier"
:
"Screensaver_1"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -1216,6 +1276,17 @@
...
@@ -1216,6 +1276,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -1285,6 +1356,17 @@
...
@@ -1285,6 +1356,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
...
tsl/product_3098.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3098.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3098.json"
,
"productType"
:
"
airConditioning
"
,
"productType"
:
"
fancoil
"
,
"version"
:
"1.
0
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3098"
,
"productCode"
:
"3098"
,
...
@@ -85,34 +85,31 @@
...
@@ -85,34 +85,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -191,6 +188,17 @@
...
@@ -191,6 +188,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -260,6 +268,17 @@
...
@@ -260,6 +268,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -347,6 +366,7 @@
...
@@ -347,6 +366,7 @@
"CurrentTemperature_2"
,
"CurrentTemperature_2"
,
"Temperature_2"
,
"Temperature_2"
,
"TimingOffTime_2"
,
"TimingOffTime_2"
,
"TimingOffEnable_2"
,
"PowerSwitch_2"
,
"PowerSwitch_2"
,
"ChildLockState_2"
,
"ChildLockState_2"
,
"Screensaver_2"
,
"Screensaver_2"
,
...
@@ -354,6 +374,7 @@
...
@@ -354,6 +374,7 @@
"PowerSwitch_3"
,
"PowerSwitch_3"
,
"CurrentTemperature_3"
,
"CurrentTemperature_3"
,
"TimingOffTime_3"
,
"TimingOffTime_3"
,
"TimingOffEnable_3"
,
"WindSpeed_3"
,
"WindSpeed_3"
,
"StrainerAlarmTime_3"
,
"StrainerAlarmTime_3"
,
"ChildLockState_3"
,
"ChildLockState_3"
,
...
@@ -430,34 +451,31 @@
...
@@ -430,34 +451,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -546,6 +564,17 @@
...
@@ -546,6 +564,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"Screensaver_2"
,
"identifier"
:
"Screensaver_2"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -605,6 +634,17 @@
...
@@ -605,6 +634,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -754,38 +794,35 @@
...
@@ -754,38 +794,35 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"
accessMode"
:
"rw
"
,
"
name"
:
"空调延时关机使能
"
,
"
required"
:
true
,
"
accessMode"
:
"rw"
,
"
name"
:
"空调延时关机时间"
,
"
required"
:
true
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"required"
:
true
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -876,6 +913,19 @@
...
@@ -876,6 +913,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -957,6 +1007,19 @@
...
@@ -957,6 +1007,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -1110,13 +1173,24 @@
...
@@ -1110,13 +1173,24 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_1"
,
"identifier"
:
"TimingOffTime_1"
,
"name"
:
"空调延时关机时间"
,
"name"
:
"空调延时关机时间"
,
...
@@ -1127,20 +1201,6 @@
...
@@ -1127,20 +1201,6 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"double"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
},
{
{
"identifier"
:
"Screensaver_1"
,
"identifier"
:
"Screensaver_1"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -1216,6 +1276,17 @@
...
@@ -1216,6 +1276,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -1285,6 +1356,17 @@
...
@@ -1285,6 +1356,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
...
tsl/product_3099.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3099.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3099.json"
,
"productType"
:
"freshAir"
,
"productType"
:
"freshAir"
,
"version"
:
"1.
0
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3099"
,
"productCode"
:
"3099"
,
...
@@ -85,34 +85,31 @@
...
@@ -85,34 +85,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -191,6 +188,17 @@
...
@@ -191,6 +188,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -260,6 +268,17 @@
...
@@ -260,6 +268,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -347,6 +366,7 @@
...
@@ -347,6 +366,7 @@
"CurrentTemperature_2"
,
"CurrentTemperature_2"
,
"Temperature_2"
,
"Temperature_2"
,
"TimingOffTime_2"
,
"TimingOffTime_2"
,
"TimingOffEnable_2"
,
"PowerSwitch_2"
,
"PowerSwitch_2"
,
"ChildLockState_2"
,
"ChildLockState_2"
,
"Screensaver_2"
,
"Screensaver_2"
,
...
@@ -354,6 +374,7 @@
...
@@ -354,6 +374,7 @@
"PowerSwitch_3"
,
"PowerSwitch_3"
,
"CurrentTemperature_3"
,
"CurrentTemperature_3"
,
"TimingOffTime_3"
,
"TimingOffTime_3"
,
"TimingOffEnable_3"
,
"WindSpeed_3"
,
"WindSpeed_3"
,
"StrainerAlarmTime_3"
,
"StrainerAlarmTime_3"
,
"ChildLockState_3"
,
"ChildLockState_3"
,
...
@@ -430,34 +451,31 @@
...
@@ -430,34 +451,31 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"name"
:
"空调延时关机
时间
"
,
"name"
:
"空调延时关机
使能
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -546,6 +564,17 @@
...
@@ -546,6 +564,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"Screensaver_2"
,
"identifier"
:
"Screensaver_2"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -605,6 +634,17 @@
...
@@ -605,6 +634,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
@@ -754,38 +794,35 @@
...
@@ -754,38 +794,35 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Tim
e_1"
,
"identifier"
:
"TimingOff
Enabl
e_1"
,
"
accessMode"
:
"rw
"
,
"
name"
:
"空调延时关机使能
"
,
"
required"
:
true
,
"
accessMode"
:
"rw"
,
"
name"
:
"空调延时关机时间"
,
"
required"
:
true
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"
text
"
,
"type"
:
"
enum
"
,
"specs"
:{
"specs"
:{
"length"
:
"10"
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
}
}
},
},
{
{
"identifier"
:
"TimingOff
Enabl
e_1"
,
"identifier"
:
"TimingOff
Tim
e_1"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"required"
:
true
,
"name"
:
"空调延时关机
使能
"
,
"name"
:
"空调延时关机
时间
"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"double"
,
"type"
:
"text"
,
"specs"
:
{
"specs"
:{
"min"
:
"0"
,
"length"
:
"10"
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
}
}
},
},
...
@@ -876,6 +913,19 @@
...
@@ -876,6 +913,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -957,6 +1007,19 @@
...
@@ -957,6 +1007,19 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"accessMode"
:
"rw"
,
"required"
:
true
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"accessMode"
:
"rw"
,
"accessMode"
:
"rw"
,
...
@@ -1110,13 +1173,24 @@
...
@@ -1110,13 +1173,24 @@
"dataType"
:
{
"dataType"
:
{
"type"
:
"enum"
,
"type"
:
"enum"
,
"specs"
:
{
"specs"
:
{
"
1
"
:
"自动"
,
"
0
"
:
"自动"
,
"2"
:
"
高
档"
,
"2"
:
"
低
档"
,
"3"
:
"中档"
,
"3"
:
"中档"
,
"4"
:
"
低
档"
"4"
:
"
高
档"
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_1"
,
"identifier"
:
"TimingOffTime_1"
,
"name"
:
"空调延时关机时间"
,
"name"
:
"空调延时关机时间"
,
...
@@ -1127,20 +1201,6 @@
...
@@ -1127,20 +1201,6 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_1"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"double"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"24"
,
"unit"
:
"h"
,
"unitName"
:
"小时"
,
"step"
:
"0.5"
}
}
},
{
{
"identifier"
:
"Screensaver_1"
,
"identifier"
:
"Screensaver_1"
,
"name"
:
"屏保时间"
,
"name"
:
"屏保时间"
,
...
@@ -1216,6 +1276,17 @@
...
@@ -1216,6 +1276,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_2"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_2"
,
"identifier"
:
"TimingOffTime_2"
,
"name"
:
"地暖延时关机时间"
,
"name"
:
"地暖延时关机时间"
,
...
@@ -1285,6 +1356,17 @@
...
@@ -1285,6 +1356,17 @@
}
}
}
}
},
},
{
"identifier"
:
"TimingOffEnable_3"
,
"name"
:
"空调延时关机使能"
,
"dataType"
:
{
"type"
:
"enum"
,
"specs"
:{
"0"
:
"关闭"
,
"1"
:
"开启"
}
}
},
{
{
"identifier"
:
"TimingOffTime_3"
,
"identifier"
:
"TimingOffTime_3"
,
"name"
:
"新风延时关机时间"
,
"name"
:
"新风延时关机时间"
,
...
...
tsl/product_3109.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3109.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3109.json"
,
"productType"
:
"airswitch gateway"
,
"productType"
:
"airswitch gateway"
,
"version"
:
"1.
1
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3109"
,
"productCode"
:
"3109"
,
...
@@ -27,6 +27,74 @@
...
@@ -27,6 +27,74 @@
},
},
"name"
:
"电源开关"
"name"
:
"电源开关"
},
},
{
"identifier"
:
"PhasePowerStats"
,
"dataType"
:{
"specs"
:{
"item"
:[
{
"identifier"
:
"Phase"
,
"name"
:
"相线"
,
"dataType"
:{
"type"
:
"enum"
,
"specs"
:
{
"A"
:
"A相"
,
"B"
:
"B相"
,
"C"
:
"C相"
}
}
},
{
"identifier"
:
"Voltage"
,
"name"
:
"电压"
,
"dataType"
:{
"type"
:
"double"
,
"specs"
:
{
"unit"
:
"V"
,
"unitName"
:
"伏特"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Current"
,
"name"
:
"电流"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"A"
,
"unitName"
:
"安培"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Power"
,
"name"
:
"功率"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"W"
,
"unitName"
:
"瓦"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Temperature"
,
"name"
:
"温度"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"°C"
,
"unitName"
:
"摄氏度"
,
"step"
:
"0.1"
}
}
}
]
},
"type"
:
"array"
},
"name"
:
"单相属性"
},
{
{
"identifier"
:
"OverloadCurrent"
,
"identifier"
:
"OverloadCurrent"
,
"name"
:
"最大电流设定值"
,
"name"
:
"最大电流设定值"
,
...
@@ -134,6 +202,76 @@
...
@@ -134,6 +202,76 @@
}
}
}
}
},
},
{
"identifier"
:
"PhasePowerStats"
,
"accessMode"
:
"r"
,
"required"
:
true
,
"dataType"
:{
"specs"
:{
"item"
:[
{
"identifier"
:
"Phase"
,
"name"
:
"相线"
,
"dataType"
:{
"type"
:
"enum"
,
"specs"
:
{
"A"
:
"A相"
,
"B"
:
"B相"
,
"C"
:
"C相"
}
}
},
{
"identifier"
:
"Voltage"
,
"name"
:
"电压"
,
"dataType"
:{
"type"
:
"double"
,
"specs"
:
{
"unit"
:
"V"
,
"unitName"
:
"伏特"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Current"
,
"name"
:
"电流"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"A"
,
"unitName"
:
"安培"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Power"
,
"name"
:
"功率"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"W"
,
"unitName"
:
"瓦"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Temperature"
,
"name"
:
"温度"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"°C"
,
"unitName"
:
"摄氏度"
,
"step"
:
"0.1"
}
}
}
]
},
"type"
:
"array"
},
"name"
:
"单相属性"
},
{
{
"identifier"
:
"LoadAlarmState"
,
"identifier"
:
"LoadAlarmState"
,
"name"
:
"负载报警状态"
,
"name"
:
"负载报警状态"
,
...
@@ -314,6 +452,74 @@
...
@@ -314,6 +452,74 @@
},
},
"name"
:
"电源开关"
"name"
:
"电源开关"
},
},
{
"identifier"
:
"PhasePowerStats"
,
"dataType"
:{
"specs"
:{
"item"
:[
{
"identifier"
:
"Phase"
,
"name"
:
"相线"
,
"dataType"
:{
"type"
:
"enum"
,
"specs"
:
{
"A"
:
"A相"
,
"B"
:
"B相"
,
"C"
:
"C相"
}
}
},
{
"identifier"
:
"Voltage"
,
"name"
:
"电压"
,
"dataType"
:{
"type"
:
"double"
,
"specs"
:
{
"unit"
:
"V"
,
"unitName"
:
"伏特"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Current"
,
"name"
:
"电流"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"A"
,
"unitName"
:
"安培"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Power"
,
"name"
:
"功率"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"W"
,
"unitName"
:
"瓦"
,
"step"
:
"0.1"
}
}
},
{
"identifier"
:
"Temperature"
,
"name"
:
"温度"
,
"dataType"
:{
"specs"
:
{
"unit"
:
"°C"
,
"unitName"
:
"摄氏度"
,
"step"
:
"0.1"
}
}
}
]
},
"type"
:
"array"
},
"name"
:
"单相属性"
},
{
{
"identifier"
:
"LoadAlarmState"
,
"identifier"
:
"LoadAlarmState"
,
"name"
:
"负载报警状态"
,
"name"
:
"负载报警状态"
,
...
...
tsl/product_3119.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3119.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3119.json"
,
"productType"
:
"sensor"
,
"productType"
:
"sensor"
,
"version"
:
"1.
1
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3119"
,
"productCode"
:
"3119"
,
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
}
}
},
},
{
{
"identifier"
:
"
Pollution
"
,
"identifier"
:
"
TVOC
"
,
"name"
:
"TVOC检测值"
,
"name"
:
"TVOC检测值"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"int"
,
"type"
:
"int"
,
...
@@ -102,7 +102,7 @@
...
@@ -102,7 +102,7 @@
"CO2"
,
"CO2"
,
"PM2.5"
,
"PM2.5"
,
"HCHO"
,
"HCHO"
,
"
Pollution
"
"
TVOC
"
],
],
"method"
:
"thing.service.property.get"
,
"method"
:
"thing.service.property.get"
,
"name"
:
"get"
,
"name"
:
"get"
,
...
@@ -193,7 +193,7 @@
...
@@ -193,7 +193,7 @@
}
}
},
},
{
{
"identifier"
:
"
Pollution
"
,
"identifier"
:
"
TVOC
"
,
"name"
:
"TVOC检测值"
,
"name"
:
"TVOC检测值"
,
"accessMode"
:
"r"
,
"accessMode"
:
"r"
,
"required"
:
false
,
"required"
:
false
,
...
@@ -283,7 +283,7 @@
...
@@ -283,7 +283,7 @@
}
}
},
},
{
{
"identifier"
:
"
Pollution
"
,
"identifier"
:
"
TVOC
"
,
"name"
:
"TVOC检测值"
,
"name"
:
"TVOC检测值"
,
"dataType"
:
{
"dataType"
:
{
"type"
:
"int"
,
"type"
:
"int"
,
...
...
tsl/product_3132.json
View file @
7e4db009
{
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3132.json"
,
"schema"
:
"https://iot-ap.ikonke.com/model/product_3132.json"
,
"productType"
:
"sensor"
,
"productType"
:
"sensor"
,
"version"
:
"1.
1
"
,
"version"
:
"1.
2
"
,
"profile"
:
{
"profile"
:
{
"heartbeat"
:
"300"
,
"heartbeat"
:
"300"
,
"productCode"
:
"3132"
,
"productCode"
:
"3132"
,
...
@@ -79,20 +79,6 @@
...
@@ -79,20 +79,6 @@
"step"
:
"1"
"step"
:
"1"
}
}
}
}
},
{
"identifier"
:
"Pollution"
,
"name"
:
"TVOC检测值"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"9999"
,
"unit"
:
"ug/m3"
,
"unitName"
:
"微克每立方米"
,
"step"
:
"1"
}
}
}
}
],
],
"identifier"
:
"get"
,
"identifier"
:
"get"
,
...
@@ -190,22 +176,6 @@
...
@@ -190,22 +176,6 @@
"step"
:
"1"
"step"
:
"1"
}
}
}
}
},
{
"identifier"
:
"Pollution"
,
"name"
:
"TVOC检测值"
,
"accessMode"
:
"r"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"9999"
,
"unit"
:
"ug/m3"
,
"unitName"
:
"微克每立方米"
,
"step"
:
"1"
}
}
}
}
],
],
"events"
:
[
"events"
:
[
...
@@ -280,20 +250,6 @@
...
@@ -280,20 +250,6 @@
"step"
:
"1"
"step"
:
"1"
}
}
}
}
},
{
"identifier"
:
"Pollution"
,
"name"
:
"TVOC检测值"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"9999"
,
"unit"
:
"ug/m3"
,
"unitName"
:
"微克每立方米"
,
"step"
:
"1"
}
}
}
}
],
],
"identifier"
:
"property"
,
"identifier"
:
"property"
,
...
...
tsl/product_3137.json
0 → 100644
View file @
7e4db009
{
"schema"
:
"https://iot-ap.ikonke.com/model/product_3137.json"
,
"productType"
:
"lightPanel"
,
"version"
:
"1.2"
,
"profile"
:
{
"heartbeat"
:
"300"
,
"productCode"
:
"3137"
,
"productName"
:
"耀夜系列.智能双色温筒灯5W(KONKE)"
},
"services"
:
[
{
"outputData"
:
[],
"identifier"
:
"set"
,
"inputData"
:
[
{
"identifier"
:
"PowerSwitch"
,
"dataType"
:
{
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
},
"type"
:
"bool"
},
"name"
:
"电源开关"
},
{
"identifier"
:
"Brightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"亮度"
},
{
"identifier"
:
"ColorTemperature"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"K"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"FadeTime"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"50"
,
"unit"
:
"1/10s"
,
"unitName"
:
"1/10秒"
,
"step"
:
"10"
}
},
"name"
:
"渐变时间"
},
{
"identifier"
:
"LowBrightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"90"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最低亮度"
},
{
"identifier"
:
"HighBrightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"20"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最高亮度"
}
],
"method"
:
"thing.service.property.set"
,
"name"
:
"set"
,
"required"
:
true
,
"callType"
:
"async"
,
"desc"
:
"属性设置"
},
{
"outputData"
:
[
{
"identifier"
:
"PowerSwitch"
,
"dataType"
:
{
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
},
"type"
:
"bool"
},
"name"
:
"电源开关"
},
{
"identifier"
:
"Brightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"亮度"
},
{
"identifier"
:
"ColorTemperature"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"K"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"FadeTime"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"50"
,
"unit"
:
"1/10s"
,
"unitName"
:
"1/10秒"
,
"step"
:
"10"
}
},
"name"
:
"渐变时间"
},
{
"identifier"
:
"LowBrightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"90"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最低亮度"
},
{
"identifier"
:
"HighBrightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"20"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最高亮度"
}
],
"identifier"
:
"get"
,
"inputData"
:
[
"PowerSwitch"
,
"Brightness"
,
"ColorTemperature"
,
"FadeTime"
,
"LowBrightness"
,
"HighBrightness"
],
"method"
:
"thing.service.property.get"
,
"name"
:
"get"
,
"required"
:
true
,
"callType"
:
"async"
,
"desc"
:
"属性获取"
},
{
"outputData"
:[
],
"identifier"
:
"negativeProperty"
,
"inputData"
:[
"PowerSwitch"
],
"method"
:
"thing.service.negativeProperty"
,
"name"
:
"negativeProperty"
,
"required"
:
true
,
"callType"
:
"async"
,
"desc"
:
"属性值取反"
}
],
"properties"
:
[
{
"identifier"
:
"PowerSwitch"
,
"dataType"
:
{
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
},
"type"
:
"bool"
},
"name"
:
"电源开关"
,
"accessMode"
:
"rw"
,
"required"
:
true
},
{
"identifier"
:
"Brightness"
,
"name"
:
"亮度"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
}
},
{
"identifier"
:
"ColorTemperature"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"K"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"FadeTime"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"50"
,
"unit"
:
"1/10s"
,
"unitName"
:
"1/10秒"
,
"step"
:
"10"
}
},
"name"
:
"渐变时间"
},
{
"identifier"
:
"LowBrightness"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"90"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最低亮度"
},
{
"identifier"
:
"HighBrightness"
,
"accessMode"
:
"rw"
,
"required"
:
false
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"20"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最高亮度"
}
],
"events"
:
[
{
"outputData"
:
[
{
"identifier"
:
"PowerSwitch"
,
"dataType"
:
{
"specs"
:
{
"0"
:
"关闭"
,
"1"
:
"打开"
},
"type"
:
"bool"
},
"name"
:
"电源开关"
},
{
"identifier"
:
"Brightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"1"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"亮度"
},
{
"identifier"
:
"ColorTemperature"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"0"
,
"max"
:
"100"
,
"unit"
:
"K"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"色温"
},
{
"identifier"
:
"FadeTime"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"50"
,
"unit"
:
"1/10s"
,
"unitName"
:
"1/10秒"
,
"step"
:
"10"
}
},
"name"
:
"渐变时间"
},
{
"identifier"
:
"LowBrightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"10"
,
"max"
:
"90"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最低亮度"
},
{
"identifier"
:
"HighBrightness"
,
"dataType"
:
{
"type"
:
"int"
,
"specs"
:
{
"min"
:
"20"
,
"max"
:
"100"
,
"unit"
:
"%"
,
"unitName"
:
"百分比"
,
"step"
:
"1"
}
},
"name"
:
"最高亮度"
}
],
"identifier"
:
"property"
,
"method"
:
"thing.event.property.post"
,
"name"
:
"property"
,
"type"
:
"info"
,
"required"
:
true
,
"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