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
d2e01e55
Commit
d2e01e55
authored
Jan 19, 2022
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】设备强制退网后中控端保留数据修改
【提交人】陈伟灿
parent
00eeb130
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
118 additions
and
35 deletions
+118
-35
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+3
-2
midware/midware/dm/kk_property_db.h
midware/midware/dm/kk_property_db.h
+5
-0
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+0
-2
midware/midware/dm/kk_sync_data.c
midware/midware/dm/kk_sync_data.c
+23
-15
midware/midware/midware.c
midware/midware/midware.c
+13
-5
midware/midware/scene/kk_scene_db.c
midware/midware/scene/kk_scene_db.c
+65
-5
midware/midware/scene/kk_scene_db.h
midware/midware/scene/kk_scene_db.h
+5
-2
midware/midware/scene/kk_scene_handle.c
midware/midware/scene/kk_scene_handle.c
+4
-4
No files found.
midware/midware/dm/kk_dm_mng.c
View file @
d2e01e55
...
...
@@ -461,7 +461,7 @@ int dm_mgr_update_timestamp_by_devicecode(_IN_ char deviceCode[DEVICE_CODE_MAXLE
(
memcmp
(
search_node
->
deviceCode
,
deviceCode
,
strlen
(
deviceCode
))
==
0
))
{
/* dm_log_debug("Device Found, Product Key: %s, Device Name: %s", product_key, device_name); */
search_node
->
timestamp
=
timestamp
;
if
(
search_node
->
dev_type
==
KK_DM_DEVICE_SUBDEV
){
if
(
search_node
->
dev_type
==
KK_DM_DEVICE_SUBDEV
&&
timestamp
!=
0
){
dm_mgr_update_gw_timestamp_by_devicecode
(
search_node
->
fatherDeviceCode
,
timestamp
);
}
_dm_mgr_mutex_unlock
();
...
...
@@ -502,7 +502,6 @@ int dm_mgr_set_dev_onoffline(dm_mgr_dev_node_t *node,int isOffline)
if
(
node
==
NULL
){
return
INVALID_PARAMETER
;
}
if
(
isOffline
){
INFO_PRINT
(
"[%s]dev timeout,send offline
\n
"
,
__FUNCTION__
);
node
->
isOffline
=
KK_DEV_OFFLINE
;
...
...
@@ -561,12 +560,14 @@ int dm_mgr_check_heartbeat_timeout(time_t timestamp)
}
if
((
timestamp
-
search_node
->
timestamp
)
>=
search_node
->
hb_timeout
){
if
(
search_node
->
isOffline
!=
KK_DEV_OFFLINE
){
INFO_PRINT
(
"[%s]send offline
\n
"
,
__FUNCTION__
);
dm_mgr_set_dev_onoffline
(
search_node
,
1
);
}
}
else
{
if
(
search_node
->
isOffline
==
KK_DEV_OFFLINE
){
/*如果是离线状态,上报在线给云端*/
INFO_PRINT
(
"[%s]send online
\n
"
,
__FUNCTION__
);
dm_mgr_set_dev_onoffline
(
search_node
,
0
);
}
}
...
...
midware/midware/dm/kk_property_db.h
View file @
d2e01e55
...
...
@@ -85,5 +85,10 @@ int kk_subFreshAir_query_epnums(const char *deviceCode,int epList[]);
int
kk_subFreshAir_delete_by_dcode
(
char
deviceCode
[
DEVICE_CODE_MAXLEN
]);
int
kk_subFreshAir_db_update_value
(
const
char
*
deviceCode
,
const
char
*
identifier
,
const
char
*
value
,
int
epNum
);
int
kk_indoor_air_get_online
(
const
char
*
deviceCode
,
int
ep
);
int
kk_subAirSwitch_get_online
(
const
char
*
deviceCode
,
int
ep
);
int
kk_subFreshAir_get_online
(
const
char
*
deviceCode
,
int
ep
);
int
kk_indoorAir_db_update_online
(
const
char
*
deviceCode
,
int
online
,
int
epNum
);
int
kk_subFreshAir_db_update_online
(
const
char
*
deviceCode
,
int
online
,
int
epNum
);
int
kk_subAirSwitch_db_update_online
(
const
char
*
deviceCode
,
int
online
,
int
epNum
);
#endif
midware/midware/dm/kk_sub_db.c
View file @
d2e01e55
...
...
@@ -421,11 +421,9 @@ int kk_subDev_check_auth(int devType)
char
*
zErrMsg
=
0
;
const
char
*
searchCmd
=
"select * from SubDeviceInfo WHERE devType = '%d';"
;
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
printf
(
"------------------------------------------------------->111
\n
"
);
sqlCmd
=
sqlite3_mprintf
(
searchCmd
,
devType
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
printf
(
"------------------------------------------------------->222
\n
"
);
char
*
pDeviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_DEVICECODE
);
char
*
pProductCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_PRODUCTCODE
);
kk_msg_cloud_status_notify
(
pDeviceCode
,
pProductCode
);
...
...
midware/midware/dm/kk_sync_data.c
View file @
d2e01e55
...
...
@@ -28,7 +28,7 @@
extern
sqlite3
*
g_kk_pDb
;
static
int
kk_check_multi_ep_num
(
char
*
deviceCode
);
static
int
kk_get_scenes_actions_info
(
cJSON
*
actionArray
,
int
id
);
static
int
kk_get_scenes_actions_info
(
cJSON
*
actionArray
,
int
id
,
char
*
productType
,
char
*
actionRoomId
);
static
int
kk_get_panel_scenes_actions_info
(
cJSON
*
actionArray
,
int
id
);
static
int
kk_get_panel_scenes_info
(
cJSON
*
actionItem
,
int
id
);
...
...
@@ -851,14 +851,14 @@ static int kk_get_devices_info(cJSON *data)
return
SUCCESS_RETURN
;
}
int
kk_get_room
_name_by_scene_id
(
int
scene_id
,
char
*
room_name
)
int
kk_get_room
Id_by_scene_id
(
int
scene_id
,
char
*
roomId
)
{
int
res
=
-
1
;
kk_scene_ctx_t
*
ctx
=
_kk_scene_get_ctx
();
char
*
sqlCmd
=
NULL
;
sqlite3_stmt
*
stmt
;
int
dbepNum
=
0
;
char
*
room
Name
Str
=
NULL
;
char
*
room
Id
Str
=
NULL
;
const
char
*
selectCmd
=
"select * from SceneInfo WHERE sceneId = '%d';"
;
...
...
@@ -866,8 +866,8 @@ int kk_get_room_name_by_scene_id(int scene_id,char *room_name)
sqlCmd
=
sqlite3_mprintf
(
selectCmd
,
scene_id
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
room
Name
Str
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_ROOMID
);
memcpy
(
room
_name
,
roomNameStr
,
strlen
(
roomName
Str
));
room
Id
Str
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_ROOMID
);
memcpy
(
room
Id
,
roomIdStr
,
strlen
(
roomId
Str
));
res
=
0
;
break
;
}
...
...
@@ -1033,7 +1033,7 @@ static int kk_get_panel_scenes_actions_info(cJSON *actionItem,int id)
static
int
kk_get_scenes_actions_info
(
cJSON
*
actionArray
,
int
id
)
static
int
kk_get_scenes_actions_info
(
cJSON
*
actionArray
,
int
id
,
char
*
productType
,
char
*
actionRoomId
)
{
char
*
sqlCmd
=
NULL
;
//char *zErrMsg = 0;
...
...
@@ -1041,7 +1041,7 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id)
char
*
deviceCode
=
NULL
;
char
*
propertyName
=
NULL
;
char
*
propertyValue
=
NULL
;
char
room_
name
[
64
]
=
{
0
};
char
room_
id
[
64
]
=
{
0
};
cJSON
*
prtyObj
=
NULL
;
char
*
type
=
NULL
;
...
...
@@ -1067,7 +1067,7 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id)
propertyValue
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEACTION_PROPERTYVALUE
);
type
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEACTION_TYPE
);
kk_get_room_name_by_scene_id
(
scene_id
,
room_name
);
actionItem
=
cJSON_CreateObject
();
...
...
@@ -1087,9 +1087,7 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id)
cJSON_AddNumberToObject
(
actionItem
,
KK_SYNC_SCENE_EPNUM_STR
,
epNum
);
}
//cJSON_AddNumberToObject(actionItem, KK_SYNC_SCENE_EPNUM_STR, epNum);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_TYPE_STR
,
type
);
if
(
strstr
(
propertyValue
,
"{"
)
!=
NULL
&&
strstr
(
propertyValue
,
"}"
)
!=
NULL
){
prtyObj
=
cJSON_Parse
(
propertyValue
);
if
(
prtyObj
!=
NULL
){
...
...
@@ -1097,14 +1095,20 @@ static int kk_get_scenes_actions_info(cJSON *actionArray,int id)
}
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
,
room_name
);
if
(
strcmp
(
productType
,
""
)
!=
0
){
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_SCENE_PRODUCTTYPE
,
productType
);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_ROOMID_STR
,
actionRoomId
);
cJSON_AddItemToArray
(
actionArray
,
actionItem
);
break
;
}
else
{
kk_get_roomId_by_scene_id
(
scene_id
,
room_id
);
cJSON_AddStringToObject
(
actionItem
,
KK_SYNC_ROOMID_STR
,
room_id
);
cJSON_AddItemToArray
(
actionArray
,
actionItem
);
}
}
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
return
SUCCESS_RETURN
;
...
...
@@ -1342,6 +1346,8 @@ static int kk_get_scenes_info(cJSON *data)
char
*
name
=
NULL
;
char
*
roomId
=
NULL
;
char
*
sceneId
=
NULL
;
char
*
productType
=
NULL
;
char
*
actionRoomId
=
NULL
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
if
(
data
==
NULL
){
return
FAIL_RETURN
;
...
...
@@ -1363,10 +1369,12 @@ static int kk_get_scenes_info(cJSON *data)
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_NANE_STR
,
name
);
sceneId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_SCENEID
);
roomId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_ROOMID
);
productType
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_PRODUCTTYPE
);
actionRoomId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SCENEINFO_ACTIONROOMID
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_ROOMID_STR
,
roomId
);
cJSON_AddStringToObject
(
sceneArrayItem
,
KK_SYNC_SCENEID_STR
,
sceneId
);
cJSON
*
actionArray
=
cJSON_CreateArray
();
kk_get_scenes_actions_info
(
actionArray
,
atoi
(
sceneId
));
kk_get_scenes_actions_info
(
actionArray
,
atoi
(
sceneId
)
,
productType
,
actionRoomId
);
cJSON_AddItemToObject
(
sceneArrayItem
,
KK_SYNC_SCENE_ACTIONS_STR
,
actionArray
);
cJSON
*
triggerObj
=
cJSON_CreateObject
();
kk_get_scenes_trigger_info
(
triggerObj
,
sceneId
);
...
...
midware/midware/midware.c
View file @
d2e01e55
...
...
@@ -1412,17 +1412,17 @@ void kk_platMsg_handle(void* data, char* chalMark){
if
(
strcmp
(
search_node
->
productType
,
KK_DM_AIR_GATEWAY_TYPE
)
==
0
){
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
if
(
epNumJson
==
NULL
)
goto
error
;
kk_indoorAir_db_update_online
(
search_n
ode
,
0
,
epNumJson
->
valueint
);
kk_indoorAir_db_update_online
(
(
char
*
)
search_node
->
deviceC
ode
,
0
,
epNumJson
->
valueint
);
_kk_subDevice_online_to_app
(
info
,
payload
);
}
else
if
(
strcmp
(
search_node
->
productType
,
KK_DM_AIR_SWITCH_GATEWAY_TYPE
)
==
0
){
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
if
(
epNumJson
==
NULL
)
goto
error
;
kk_subAirSwitch_db_update_online
(
search_n
ode
,
0
,
epNumJson
->
valueint
);
kk_subAirSwitch_db_update_online
(
(
char
*
)
search_node
->
deviceC
ode
,
0
,
epNumJson
->
valueint
);
_kk_subDevice_online_to_app
(
info
,
payload
);
}
else
if
(
strcmp
(
search_node
->
productType
,
KK_DM_FRESHAIR_GATEWAY_TYPE
)
==
0
){
cJSON
*
epNumJson
=
cJSON_GetObjectItem
(
jsonPay
,
"epNum"
);
if
(
epNumJson
==
NULL
)
goto
error
;
kk_subFreshAir_db_update_online
(
search_n
ode
,
0
,
epNumJson
->
valueint
);
kk_subFreshAir_db_update_online
(
(
char
*
)
search_node
->
deviceC
ode
,
0
,
epNumJson
->
valueint
);
_kk_subDevice_online_to_app
(
info
,
payload
);
}
}
...
...
@@ -1489,12 +1489,20 @@ void kk_platMsg_handle(void* data, char* chalMark){
free
(
outstr
);
}
}
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_TOPO_DELETE_MSG
)
!=
NULL
){
dm_mgr_dev_node_t
*
node
=
NULL
;
INFO_PRINT
(
"kk_platMsg_handle data: handle delete
\n
"
);
jsonPay
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
if
(
jsonPay
==
NULL
)
goto
error
;
devCode
=
cJSON_GetObjectItem
(
jsonPay
,
MSG_DEVICE_CODE_STR
);
kk_ipc_send
(
IPC_MID2APP
,
data
,
strlen
(
data
)
+
1
);
dm_mgr_subdev_delete
(
devCode
->
valuestring
);
res
=
dm_mgr_get_device_by_devicecode
(
devCode
->
valuestring
,
&
node
);
if
(
res
<
SUCCESS_RETURN
)
{
goto
error
;
}
printf
(
"--------------------------------------->11111111111111111111113333
\n
"
);
dm_mgr_update_timestamp_by_devicecode
(
node
->
deviceCode
,
0
);
dm_mgr_set_dev_onoffline
(
node
,
1
);
//kk_ipc_send(IPC_MID2APP,data,strlen(data)+1);
//dm_mgr_subdev_delete(devCode->valuestring);
}
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_EVENT_MESSAGE
)
!=
NULL
&&
\
strstr
(
msgType
->
valuestring
,
KK_THING_EVENT_POST
)
!=
NULL
){
...
...
midware/midware/scene/kk_scene_db.c
View file @
d2e01e55
...
...
@@ -51,7 +51,9 @@ int kk_scene_db_init(void)
sceneName varchar(255), \
sceneType INTEGER, \
enable INTEGER, \
sceneId varchar(255) UNIQUE)"
;
sceneId varchar(255) UNIQUE, \
productType varchar(255),\
actionRoomId varchar(255))"
;
if
(
sqlite3_exec
(
ctx
->
pDb
,
pSceneTable
,
NULL
,
NULL
,
&
pcErr
)
!=
SQLITE_OK
)
{
...
...
@@ -247,18 +249,18 @@ int kk_scene_update_scene_enable(int enable,const char *sceneId)
*其他说明:
*************************************************************/
int
kk_scene_insert_scene_info
(
const
char
*
roomId
,
const
char
*
sceneName
,
int
sceneType
,
int
enable
,
const
char
*
sceneId
)
int
kk_scene_insert_scene_info
(
const
char
*
roomId
,
const
char
*
sceneName
,
int
sceneType
,
int
enable
,
const
char
*
sceneId
,
char
*
productType
,
char
*
actionRoomId
)
{
int
res
=
0
;
kk_scene_ctx_t
*
ctx
=
_kk_scene_get_ctx
();
char
*
sqlCmd
=
NULL
;
char
*
zErrMsg
=
0
;
const
char
*
insertCmd
=
"insert into SceneInfo (roomId,sceneName, sceneType,enable,sceneId) \
values ('%s','%s','%d','%d','%s');"
;
const
char
*
insertCmd
=
"insert into SceneInfo (roomId,sceneName, sceneType,enable,sceneId
,productType,actionRoomId
) \
values ('%s','%s','%d','%d','%s'
,'%s','%s'
);"
;
_kk_scene_lock
();
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
roomId
,
sceneName
,
sceneType
,
enable
,
sceneId
);
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
roomId
,
sceneName
,
sceneType
,
enable
,
sceneId
,
productType
,
actionRoomId
);
res
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
if
(
res
!=
SQLITE_OK
){
ERROR_PRINT
(
"SQL error: %s
\n
"
,
zErrMsg
);
...
...
@@ -273,6 +275,64 @@ int kk_scene_insert_scene_info(const char* roomId,const char* sceneName,int scen
return
SUCCESS_RETURN
;
}
/************************************************************
*功能描述:更新场景设备类型
*输入参数:sceneId:场景Id
productType:类型
*输出参数:无
*返 回 值:0:成功;其他:失败
*其他说明:
*************************************************************/
int
kk_scene_update_productType
(
const
char
*
sceneId
,
char
*
productType
)
{
char
*
sqlCmd
=
NULL
;
int
rc
=
0
;
char
*
zErrMsg
=
0
;
kk_scene_ctx_t
*
ctx
=
_kk_scene_get_ctx
();
_kk_scene_lock
();
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SceneInfo SET productType='%s' WHERE sceneId= '%s'"
,
productType
,
sceneId
);
INFO_PRINT
(
"kk_scene_update_productType sqlCmd:%s
\n
"
,
sqlCmd
);
rc
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
if
(
rc
!=
SQLITE_OK
){
ERROR_PRINT
(
"SQL error: %s
\n
"
,
zErrMsg
);
sqlite3_free
(
zErrMsg
);
}
else
{
INFO_PRINT
(
"Table updata data successfully
\n
"
);
}
sqlite3_free
(
sqlCmd
);
_kk_scene_unlock
();
return
SUCCESS_RETURN
;
}
/************************************************************
*功能描述:更新场景设备类型
*输入参数:sceneId:场景Id
productType:类型
*输出参数:无
*返 回 值:0:成功;其他:失败
*其他说明:
*************************************************************/
int
kk_scene_update_actionRoomId
(
const
char
*
sceneId
,
char
*
roomId
)
{
char
*
sqlCmd
=
NULL
;
int
rc
=
0
;
char
*
zErrMsg
=
0
;
kk_scene_ctx_t
*
ctx
=
_kk_scene_get_ctx
();
_kk_scene_lock
();
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SceneInfo SET actionRoomId='%s' WHERE sceneId= '%s'"
,
roomId
,
sceneId
);
INFO_PRINT
(
"kk_scene_update_actionRoomId sqlCmd:%s
\n
"
,
sqlCmd
);
rc
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
if
(
rc
!=
SQLITE_OK
){
ERROR_PRINT
(
"SQL error: %s
\n
"
,
zErrMsg
);
sqlite3_free
(
zErrMsg
);
}
else
{
INFO_PRINT
(
"Table updata data successfully
\n
"
);
}
sqlite3_free
(
sqlCmd
);
_kk_scene_unlock
();
return
SUCCESS_RETURN
;
}
/************************************************************
*功能描述: 添加情景面板信息到数据库
*输入参数: name:场景名称
enable: 1,使能;0,不使能
...
...
midware/midware/scene/kk_scene_db.h
View file @
d2e01e55
...
...
@@ -15,6 +15,8 @@ enum{
DB_SCENEINFO_SCENETYPE
,
DB_SCENEINFO_ENABLE
,
DB_SCENEINFO_SCENEID
,
DB_SCENEINFO_PRODUCTTYPE
,
DB_SCENEINFO_ACTIONROOMID
,
};
enum
{
...
...
@@ -93,12 +95,13 @@ int kk_scene_insert_scene_condition(const char* type,int startTime,int endTime,i
char
repeat_days
,
const
char
*
sceneId
);
int
kk_scene_insert_scene_trigger
(
const
char
*
type
,
const
char
*
deviceCode
,
int
epNum
,
const
char
*
propertyName
,
const
char
*
compareType
,
const
char
*
compareValue
,
const
char
*
sceneId
,
int
isAnd
);
int
kk_scene_insert_scene_info
(
const
char
*
room
Name
,
const
char
*
name
,
int
sceneType
,
int
enable
,
const
char
*
scene
Id
);
int
kk_scene_insert_scene_info
(
const
char
*
room
Id
,
const
char
*
sceneName
,
int
sceneType
,
int
enable
,
const
char
*
sceneId
,
char
*
productType
,
char
*
actionRoom
Id
);
int
kk_scene_update_scene_enable
(
int
enable
,
const
char
*
sceneId
);
int
kk_scene_db_init
(
void
);
int
kk_scene_insert_panel_scene_info
(
int
bindType
,
char
*
buttonId
,
char
*
deviceCode
,
const
char
*
sceneId
,
const
char
*
roomId
,
const
char
*
productType
);
int
kk_scene_delete_quickpanel_info
(
char
*
buttonId
,
char
*
deviceCode
);
int
kk_scene_delete_panel_scene_info
(
char
*
buttonId
,
char
*
deviceCode
);
int
kk_scene_deleteall_panel_scene_info
(
char
*
deviceCode
);
int
kk_scene_update_productType
(
const
char
*
sceneId
,
char
*
productType
);
int
kk_scene_update_actionRoomId
(
const
char
*
sceneId
,
char
*
roomId
);
#endif
midware/midware/scene/kk_scene_handle.c
View file @
d2e01e55
...
...
@@ -295,7 +295,6 @@ void *kk_scene_yield(void *args)
*返 回 值: 0:成功;其他:失败
*其他说明:
*************************************************************/
int
kk_scene_init
(
void
)
{
int
res
=
0
;
...
...
@@ -829,7 +828,6 @@ void BodySensorNoActive_report(char *deviceCode,int noAct)
}
int
BodySensorTrigger_check
(
void
)
{
BodySensorNoActive
*
ptr
=
NULL
;
...
...
@@ -1409,6 +1407,8 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
roomId
=
cJSON_GetObjectItem
(
item
,
MSG_AREA_ROOM_ROOMID
);
}
delay
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_DELAY
);
kk_scene_update_productType
((
char
*
)
sceneId
,
productType
->
valuestring
);
kk_scene_update_actionRoomId
((
char
*
)
sceneId
,
roomId
->
valuestring
);
if
(
delay
==
NULL
)
return
FAIL_RETURN
;
int
idelay
=
delay
->
valueint
;
if
(
propertyValue
->
type
==
cJSON_String
){
...
...
@@ -1605,9 +1605,9 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate,const c
if
(
room_id
!=
NULL
){
//char roomIdStr[32] = {0};
//snprintf(roomIdStr,32,"%d",room_id->valuestring);
res
=
kk_scene_insert_scene_info
(
room_id
->
valuestring
,
name
->
valuestring
,
sceneType
->
valueint
,
enable
->
valueint
,
sceneId
);
res
=
kk_scene_insert_scene_info
(
room_id
->
valuestring
,
name
->
valuestring
,
sceneType
->
valueint
,
enable
->
valueint
,
sceneId
,
""
,
""
);
}
else
{
res
=
kk_scene_insert_scene_info
(
"-1"
,
name
->
valuestring
,
sceneType
->
valueint
,
enable
->
valueint
,
sceneId
);
res
=
kk_scene_insert_scene_info
(
"-1"
,
name
->
valuestring
,
sceneType
->
valueint
,
enable
->
valueint
,
sceneId
,
""
,
""
);
}
/*多控直接下发给网关处理*/
if
(
enable
->
valueint
==
1
&&
sceneType
->
valueint
==
DB_SCENETYPE_MUTICONTROL
){
...
...
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