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
5bba8740
Commit
5bba8740
authored
Aug 04, 2021
by
尹佳钦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
20210804
parent
fcafb8ee
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
351 additions
and
57 deletions
+351
-57
application/klansdk/kk_lan_sync.c
application/klansdk/kk_lan_sync.c
+121
-35
application/klansdk/kk_lan_sync.h
application/klansdk/kk_lan_sync.h
+1
-1
midware/midware/area/kk_area_handle.c
midware/midware/area/kk_area_handle.c
+27
-0
midware/midware/area/kk_area_handle.h
midware/midware/area/kk_area_handle.h
+1
-0
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+2
-0
midware/midware/dm/kk_sync_data.c
midware/midware/dm/kk_sync_data.c
+199
-21
No files found.
application/klansdk/kk_lan_sync.c
View file @
5bba8740
...
@@ -66,6 +66,7 @@ cJSON *kk_sync_rooms_to_sdk(cJSON *root,cJSON *data)
...
@@ -66,6 +66,7 @@ cJSON *kk_sync_rooms_to_sdk(cJSON *root,cJSON *data)
for
(
i
=
0
;
i
<
num
;
i
++
,
item
++
){
for
(
i
=
0
;
i
<
num
;
i
++
,
item
++
){
room
=
cJSON_GetArrayItem
(
rooms
,
i
);
room
=
cJSON_GetArrayItem
(
rooms
,
i
);
roomId
=
cJSON_GetObjectItem
(
room
,
ROOMS_ID_STR
);
roomId
=
cJSON_GetObjectItem
(
room
,
ROOMS_ID_STR
);
name
=
cJSON_GetObjectItem
(
room
,
NAME_STR
);
name
=
cJSON_GetObjectItem
(
room
,
NAME_STR
);
devices
=
cJSON_GetObjectItem
(
room
,
DEVICES_STR
);
devices
=
cJSON_GetObjectItem
(
room
,
DEVICES_STR
);
...
@@ -79,6 +80,9 @@ cJSON *kk_sync_rooms_to_sdk(cJSON *root,cJSON *data)
...
@@ -79,6 +80,9 @@ cJSON *kk_sync_rooms_to_sdk(cJSON *root,cJSON *data)
item
->
room_status
=
NULL
;
item
->
room_status
=
NULL
;
}
}
roomsAry
=
_kk_syn_rooms_info
(
num
,
items
);
roomsAry
=
_kk_syn_rooms_info
(
num
,
items
);
cJSON_AddItemToObject
(
root
,
ROOMS_STR
,
roomsAry
);
cJSON_AddItemToObject
(
root
,
ROOMS_STR
,
roomsAry
);
return
root
;
return
root
;
...
@@ -169,6 +173,7 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
...
@@ -169,6 +173,7 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
for
(
i
=
0
;
i
<
num
;
i
++
,
ptr
++
){
for
(
i
=
0
;
i
<
num
;
i
++
,
ptr
++
){
cJSON
*
item
;
cJSON
*
item
;
item
=
cJSON_GetArrayItem
(
actions
,
i
);
item
=
cJSON_GetArrayItem
(
actions
,
i
);
...
@@ -203,20 +208,26 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
...
@@ -203,20 +208,26 @@ int kk_sync_actions(cJSON *actions,SYN_SCENE_ACTION **act,char **room_id)
static
int
kk_sync_scene_condition
(
cJSON
*
condition
,
SYN_SCENE_ITEM
**
build
)
static
int
kk_sync_scene_condition
(
cJSON
*
condition
,
SYN_SCENE_ITEM
**
build
)
{
{
cJSON
*
itemAry
=
NULL
;
cJSON
*
startTime
,
*
endTime
,
*
crossDay
,
*
repeat_days
;
cJSON
*
startTime
,
*
endTime
,
*
crossDay
,
*
repeat_days
;
if
(
condition
==
NULL
||
build
==
NULL
||*
build
==
NULL
){
if
(
condition
==
NULL
||
build
==
NULL
||*
build
==
NULL
){
return
-
1
;
return
-
1
;
}
}
if
((
itemAry
=
cJSON_GetObjectItem
(
condition
,
"items"
))
==
NULL
){
return
-
1
;
}
int
i
,
j
,
num
=
cJSON_GetArraySize
(
condition
);
int
i
,
j
,
num
=
cJSON_GetArraySize
(
itemAry
);
int
repeat
;
int
repeat
;
int
get_flag
=
0
;
int
get_flag
=
0
;
SYN_SCENE_ITEM
*
ptr
=*
build
;
SYN_SCENE_ITEM
*
ptr
=*
build
;
printf
(
"kk_sync_scene_condition,num=%d
\n
"
,
num
);
for
(
i
=
0
;
i
<
num
;
i
++
){
for
(
i
=
0
;
i
<
num
;
i
++
){
cJSON
*
item
;
cJSON
*
item
;
printf
(
"i=%d
\n
"
,
i
);
item
=
cJSON_GetArrayItem
(
condition
,
i
);
item
=
cJSON_GetArrayItem
(
condition
,
i
);
startTime
=
cJSON_GetObjectItem
(
item
,
"startTime"
);
startTime
=
cJSON_GetObjectItem
(
item
,
"startTime"
);
...
@@ -259,7 +270,10 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -259,7 +270,10 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
cJSON
*
scenesAry
=
cJSON_CreateArray
();
cJSON
*
scenesAry
=
cJSON_CreateArray
();
cJSON
*
sceneItem
;
cJSON
*
sceneItem
;
for
(
i
=
0
;
i
<
num
;
i
++
,
build
++
){
SYN_SCENE_ITEM
*
pScene
=
build
;
for
(
i
=
0
;
i
<
num
;
i
++
,
pScene
++
){
printf
(
"i=%d
\n
"
,
i
);
cJSON
*
item
=
cJSON_GetArrayItem
(
scenes
,
i
);
cJSON
*
item
=
cJSON_GetArrayItem
(
scenes
,
i
);
actions
=
cJSON_GetObjectItem
(
item
,
ACTIONS_STR
);
actions
=
cJSON_GetObjectItem
(
item
,
ACTIONS_STR
);
enable
=
cJSON_GetObjectItem
(
item
,
ENABLE_STR
);
enable
=
cJSON_GetObjectItem
(
item
,
ENABLE_STR
);
...
@@ -274,16 +288,16 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -274,16 +288,16 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
if(strcmp(sceneType->valuestring,"")==){
if(strcmp(sceneType->valuestring,"")==){
}*/
}*/
build
->
act_num
=
kk_sync_actions
(
actions
,
&
build
->
act
,
&
build
->
room_id
);
pScene
->
act_num
=
kk_sync_actions
(
actions
,
&
pScene
->
act
,
&
pScene
->
room_id
);
kk_sync_scene_condition
(
condition
,
&
build
);
kk_sync_scene_condition
(
condition
,
&
pScene
);
build
->
scene_id
=
sceneId
->
valuestring
;
pScene
->
scene_id
=
sceneId
->
valuestring
;
build
->
name
=
name
->
valuestring
;
pScene
->
name
=
name
->
valuestring
;
build
->
pannel_id
=
NULL
;
pScene
->
pannel_id
=
NULL
;
sceneItem
=
kk_scene_build
(
&
build
);
sceneItem
=
kk_scene_build
(
&
pScene
);
cJSON_AddItemToArray
(
scenesAry
,
sceneItem
);
cJSON_AddItemToArray
(
scenesAry
,
sceneItem
);
...
@@ -294,51 +308,113 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
...
@@ -294,51 +308,113 @@ cJSON *kk_sync_scence_to_sdk(cJSON *root,cJSON *data)
}
}
//同步设备
//同步设备
int
kk_sync_devices_to_sdk
(
cJSON
*
root
)
int
_kk_sync_device_item
(
cJSON
*
deviceCode
,
cJSON
*
epNum
,
cJSON
*
name
,
cJSON
*
roomId
,
cJSON
*
deviceAry
)
{
{
kk_map_dev_node_t
*
node
=
NULL
;
kk_map_dev_node_t
*
node
=
NULL
;
char
nodeid
[
32
]
=
{
0
};
char
nodeid
[
32
]
=
{
0
};
char
gwmac
[
32
]
=
{
0
};
char
gwmac
[
32
]
=
{
0
};
char
submac
[
32
]
=
{
0
};
char
submac
[
32
]
=
{
0
};
char
channel
[
4
]
=
{
0
};
int
idx
=
1
;
kk_map_dev_ctx
*
ctx
=
_kk_map_dev_ctx
();
kk_map_dev_ctx
*
ctx
=
_kk_map_dev_ctx
();
cJSON
*
devices
=
cJSON_CreateArray
();
if
(
deviceCode
==
NULL
||
deviceAry
==
NULL
){
return
-
1
;
}
_kk_map_dev_mutex_lock
();
list_for_each_entry
(
node
,
&
ctx
->
dev_list
,
linked_list
,
kk_map_dev_node_t
)
{
list_for_each_entry
(
node
,
&
ctx
->
dev_list
,
linked_list
,
kk_map_dev_node_t
)
{
if
(
node
!=
NULL
)
{
if
(
node
!=
NULL
)
{
for
(
idx
=
1
;
idx
<=
node
->
channelNum
;
idx
++
){
if
(
strlen
(
node
->
deviceCode
)
==
strlen
(
deviceCode
->
valuestring
)
&&
!
strcmp
(
node
->
deviceCode
,
deviceCode
->
valuestring
)){
cJSON
*
subdevicesItem
=
cJSON_CreateObject
();
cJSON
*
subdevicesItem
=
cJSON_CreateObject
();
snprintf
(
channel
,
sizeof
(
channel
),
"%d"
,
idx
);
cJSON_AddStringToObject
(
subdevicesItem
,
CHANNEL_STRING
,
channel
);
if
(
epNum
==
NULL
||
epNum
->
type
!=
cJSON_String
){
cJSON_AddStringToObject
(
subdevicesItem
,
CHANNEL_STRING
,
"1"
);
kk_creater_nodeid
(
node
->
deviceCode
,
1
,
nodeid
);
}
else
{
cJSON_AddStringToObject
(
subdevicesItem
,
CHANNEL_STRING
,
epNum
->
valuestring
);
kk_creater_nodeid
(
node
->
deviceCode
,
atoi
(
epNum
->
valuestring
),
nodeid
);
}
cJSON_AddStringToObject
(
subdevicesItem
,
NODEID_STRING
,
nodeid
);
if
(
name
==
NULL
||
name
->
type
!=
cJSON_String
){
cJSON_AddStringToObject
(
subdevicesItem
,
NAME_STRING
,
"unkown"
);
}
else
{
cJSON_AddStringToObject
(
subdevicesItem
,
NAME_STRING
,
name
->
valuestring
);
}
if
(
name
==
NULL
||
name
->
type
!=
cJSON_String
){
cJSON_AddStringToObject
(
subdevicesItem
,
ROOM_ID_STRING
,
"unkown"
);
}
else
{
cJSON_AddStringToObject
(
subdevicesItem
,
ROOM_ID_STRING
,
roomId
->
valuestring
);
}
//todo
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_FIELD_STRING
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_FIELD_STRING
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_FIELD_IDNDEX_STRING
,
"
1
"
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_FIELD_IDNDEX_STRING
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_ICON_STRING
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_ICON_STRING
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_POS_STRING
,
"
1
"
);
cJSON_AddStringToObject
(
subdevicesItem
,
DEVICE_POS_STRING
,
""
);
_deviceCode_switchto_mac
(
node
->
gwDeviceCode
,
gwmac
);
_deviceCode_switchto_mac
(
node
->
gwDeviceCode
,
gwmac
);
cJSON_AddStringToObject
(
subdevicesItem
,
GW_MAC_STRING
,
gwmac
);
cJSON_AddStringToObject
(
subdevicesItem
,
GW_MAC_STRING
,
gwmac
);
_deviceCode_switchto_mac
(
node
->
deviceCode
,
submac
);
_deviceCode_switchto_mac
(
node
->
deviceCode
,
submac
);
cJSON_AddStringToObject
(
subdevicesItem
,
MAC_STRING
,
submac
);
cJSON_AddStringToObject
(
subdevicesItem
,
MAC_STRING
,
submac
);
//todo name字段
cJSON_AddStringToObject
(
subdevicesItem
,
NAME_STRING
,
"默认灯"
);
memset
(
nodeid
,
0x0
,
sizeof
(
nodeid
));
kk_creater_nodeid
(
node
->
deviceCode
,
idx
,
nodeid
);
cJSON_AddStringToObject
(
subdevicesItem
,
NODEID_STRING
,
nodeid
);
cJSON_AddStringToObject
(
subdevicesItem
,
OPERATE_TYPE_STRING
,
node
->
opearteType
);
cJSON_AddStringToObject
(
subdevicesItem
,
OPERATE_TYPE_STRING
,
node
->
opearteType
);
cJSON_AddStringToObject
(
subdevicesItem
,
ROOM_ID_STRING
,
"1"
);
cJSON_AddItemToArray
(
device
s
,
subdevicesItem
);
cJSON_AddItemToArray
(
device
Ary
,
subdevicesItem
);
}
}
}
}
}
}
_kk_map_dev_mutex_unlock
();
cJSON_AddItemToObject
(
root
,
DEVICES_STRING
,
devices
);
return
0
;
return
0
;
}
}
int
kk_sync_device
(
cJSON
*
roomId
,
cJSON
*
inDevAry
,
cJSON
*
outDevAry
)
{
kk_map_dev_node_t
*
node
=
NULL
;
kk_map_dev_ctx
*
ctx
=
_kk_map_dev_ctx
();
cJSON
*
deviceCode
=
NULL
,
*
epNum
=
NULL
,
*
name
=
NULL
;
int
i
,
num
;
if
(
inDevAry
==
NULL
||
inDevAry
->
type
!=
cJSON_Array
||
outDevAry
==
NULL
||
outDevAry
->
type
!=
cJSON_Array
){
return
-
1
;
}
num
=
cJSON_GetArraySize
(
inDevAry
);
for
(
i
=
0
;
i
<
num
;
i
++
){
cJSON
*
item
=
cJSON_GetArrayItem
(
inDevAry
,
i
);
deviceCode
=
cJSON_GetObjectItem
(
item
,
"deviceCode"
);
epNum
=
cJSON_GetObjectItem
(
item
,
"epNum"
);
name
=
cJSON_GetObjectItem
(
item
,
"name"
);
_kk_sync_device_item
(
deviceCode
,
epNum
,
name
,
roomId
,
outDevAry
);
}
return
0
;
}
int
kk_sync_devices_to_sdk
(
cJSON
*
root
,
cJSON
*
data
)
{
cJSON
*
rooms
=
cJSON_GetObjectItem
(
data
,
ROOMS_STR
);
cJSON
*
deviceAry
=
cJSON_CreateArray
();
int
i
,
num
=
cJSON_GetArraySize
(
rooms
);
cJSON
*
roomId
,
*
devices
;
for
(
i
=
0
;
i
<
num
;
i
++
){
cJSON
*
room
=
cJSON_GetArrayItem
(
rooms
,
i
);
roomId
=
cJSON_GetObjectItem
(
room
,
ROOMS_ID_STR
);
devices
=
cJSON_GetObjectItem
(
room
,
DEVICES_STR
);
kk_sync_device
(
roomId
,
devices
,
deviceAry
);
}
cJSON_AddItemToObject
(
root
,
DEVICES_STRING
,
deviceAry
);
return
root
;
}
//同步设备状态
//同步设备状态
//
//
cJSON
*
_kk_sync_devicestatus_arg_build
(
kk_map_dev_node_t
*
node
)
cJSON
*
_kk_sync_devicestatus_arg_build
(
kk_map_dev_node_t
*
node
)
...
@@ -946,6 +1022,7 @@ int kk_create_syncinfo_to_sdk(cJSON *payload)
...
@@ -946,6 +1022,7 @@ int kk_create_syncinfo_to_sdk(cJSON *payload)
cJSON
*
code_lib_controllers
;
cJSON
*
code_lib_controllers
;
cJSON
*
controllers
;
cJSON
*
controllers
;
cJSON
*
expand_rules
;
cJSON
*
expand_rules
;
cJSON
*
data
=
kk_get_sync_data
(
payload
);
char
*
out
=
NULL
;
char
*
out
=
NULL
;
printf
(
"!!!!!!!!!!!!!!!!!!!!------>%x
\n
"
,
&
out
);
printf
(
"!!!!!!!!!!!!!!!!!!!!------>%x
\n
"
,
&
out
);
...
@@ -974,21 +1051,30 @@ int kk_create_syncinfo_to_sdk(cJSON *payload)
...
@@ -974,21 +1051,30 @@ int kk_create_syncinfo_to_sdk(cJSON *payload)
printf
(
"kk_sync_devices_status_to_sdk
\n
"
);
kk_sync_devices_status_to_sdk
(
root
);
kk_sync_devices_status_to_sdk
(
root
);
printf
(
"kk_sync_devices_to_sdk
\n
"
);
kk_sync_devices_to_sdk
(
root
);
kk_sync_devices_to_sdk
(
root
,
data
);
printf
(
"kk_get_sync_data
\n
"
);
cJSON
*
data
=
kk_get_sync_data
(
payload
);
kk_sync_rooms_to_sdk
(
root
,
data
);
kk_sync_rooms_to_sdk
(
root
,
data
);
kk_sync_scence_to_sdk
(
root
,
data
);
kk_sync_scence_to_sdk
(
root
,
data
);
kk_sync_gw_version_to_sdk
(
root
,
data
);
kk_sync_gw_version_to_sdk
(
root
,
data
);
kk_sync_ccu_version_to_sdk
(
root
,
data
);
kk_sync_ccu_version_to_sdk
(
root
,
data
);
kk_sync_guard_to_sdk
(
root
,
data
);
kk_sync_guard_to_sdk
(
root
,
data
);
kk_sync_central_ac_to_sdk
(
root
,
data
);
kk_sync_central_ac_to_sdk
(
root
,
data
);
kk_sync_central_ac_indoorunits_to_sdk
(
root
,
data
);
kk_sync_central_ac_indoorunits_to_sdk
(
root
,
data
);
kk_sync_groups_to_sdk
(
root
,
data
);
kk_sync_groups_to_sdk
(
root
,
data
);
kk_create_floors_to_sdk
(
root
,
data
);
kk_create_floors_to_sdk
(
root
,
data
);
...
...
application/klansdk/kk_lan_sync.h
View file @
5bba8740
...
@@ -42,7 +42,7 @@ cJSON *kk_get_raw_sync_data(cJSON *payload);
...
@@ -42,7 +42,7 @@ cJSON *kk_get_raw_sync_data(cJSON *payload);
cJSON
*
kk_sync_rooms_to_sdk
(
cJSON
*
root
,
cJSON
*
payload
);
cJSON
*
kk_sync_rooms_to_sdk
(
cJSON
*
root
,
cJSON
*
payload
);
cJSON
*
kk_sync_scence_to_sdk
(
cJSON
*
root
,
cJSON
*
data
);
cJSON
*
kk_sync_scence_to_sdk
(
cJSON
*
root
,
cJSON
*
data
);
int
kk_sync_devices_to_sdk
(
cJSON
*
root
);
int
kk_sync_devices_to_sdk
(
cJSON
*
root
,
cJSON
*
data
);
int
kk_sync_devices_status_to_sdk
(
cJSON
*
root
);
int
kk_sync_devices_status_to_sdk
(
cJSON
*
root
);
int
kk_create_syncinfo_to_sdk
(
cJSON
*
payload
);
int
kk_create_syncinfo_to_sdk
(
cJSON
*
payload
);
...
...
midware/midware/area/kk_area_handle.c
View file @
5bba8740
...
@@ -391,6 +391,33 @@ int kk_room_device_list_add(const char *deviceCode)
...
@@ -391,6 +391,33 @@ int kk_room_device_list_add(const char *deviceCode)
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
cJSON
*
kk_get_roomIds_ary
(
void
)
{
int
isExist
=
0
;
sqlite3_stmt
*
stmt
;
char
*
proomId
=
NULL
;
cJSON
*
roomIdsAry
=
cJSON_CreateArray
();
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
const
char
*
searchCmd
=
"select * from AreaInfo;"
;
_kk_area_lock
();
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
proomId
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_ROOM_ID
);
cJSON_AddItemToArray
(
roomIdsAry
,
cJSON_CreateNumber
(
atoi
(
proomId
)));
}
sqlite3_finalize
(
stmt
);
_kk_area_unlock
();
return
roomIdsAry
;
}
kk_dev_list_t
*
kk_get_room_deviceCode
(
const
char
*
roomId
)
kk_dev_list_t
*
kk_get_room_deviceCode
(
const
char
*
roomId
)
{
{
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
...
...
midware/midware/area/kk_area_handle.h
View file @
5bba8740
...
@@ -30,6 +30,7 @@ int kk_room_device_list_add(const char *deviceCode);
...
@@ -30,6 +30,7 @@ int kk_room_device_list_add(const char *deviceCode);
kk_dev_list_t
*
kk_get_room_deviceCode
(
const
char
*
roomId
);
kk_dev_list_t
*
kk_get_room_deviceCode
(
const
char
*
roomId
);
void
kk_free_room_dev_list
(
void
);
void
kk_free_room_dev_list
(
void
);
int
kk_get_device_name
(
const
char
*
deviceCode
,
const
char
*
epNum
,
char
*
devName
,
int
size
);
int
kk_get_device_name
(
const
char
*
deviceCode
,
const
char
*
epNum
,
char
*
devName
,
int
size
);
cJSON
*
kk_get_roomIds_ary
(
void
);
#endif
#endif
midware/midware/dm/kk_linkkit.c
View file @
5bba8740
...
@@ -879,6 +879,8 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -879,6 +879,8 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
cJSON
*
deviceCode
=
NULL
;
cJSON
*
deviceCode
=
NULL
;
json
=
cJSON_Parse
(
data
);
json
=
cJSON_Parse
(
data
);
printf
(
"_iotx_linkkit_event_callback
\n
"
);
if
(
json
==
NULL
)
{
if
(
json
==
NULL
)
{
WARNING_PRINT
(
"Error before: [%s]
\n
"
,
"cJSON_Parse"
);
WARNING_PRINT
(
"Error before: [%s]
\n
"
,
"cJSON_Parse"
);
return
;
return
;
...
...
midware/midware/dm/kk_sync_data.c
View file @
5bba8740
...
@@ -85,11 +85,14 @@ static cJSON * kk_get_room_devices(const char *roomId)
...
@@ -85,11 +85,14 @@ static cJSON * kk_get_room_devices(const char *roomId)
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
cJSON
*
dev
=
cJSON_CreateObject
();
cJSON
*
dev
=
cJSON_CreateObject
();
char
devName
[
64
]
=
{
0
};
deviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
deviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
epNum
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_EPNUM
);
epNum
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_EPNUM
);
cJSON_AddStringToObject
(
dev
,
KK_SYNC_DEVICECODE_STR
,
deviceCode
);
cJSON_AddStringToObject
(
dev
,
KK_SYNC_DEVICECODE_STR
,
deviceCode
);
cJSON_AddStringToObject
(
dev
,
KK_SYNC_SCENE_EPNUM_STR
,
epNum
);
cJSON_AddStringToObject
(
dev
,
KK_SYNC_SCENE_EPNUM_STR
,
epNum
);
kk_get_device_name
(
deviceCode
,
epNum
,
devName
,
sizeof
(
devName
));
cJSON_AddStringToObject
(
dev
,
"name"
,
devName
);
cJSON_AddItemToArray
(
devs
,
dev
);
cJSON_AddItemToArray
(
devs
,
dev
);
}
}
...
@@ -170,7 +173,119 @@ static int kk_get_rooms_info(cJSON *data)
...
@@ -170,7 +173,119 @@ static int kk_get_rooms_info(cJSON *data)
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
static
int
kk_get_properties_info
(
char
*
deviceCode
,
cJSON
*
obj
)
static
int
kk_check_multi_ep_num
(
char
*
deviceCode
)
{
char
*
sqlCmd
=
NULL
;
//char *zErrMsg = 0;
sqlite3_stmt
*
stmt
;
char
*
propertyStr
=
NULL
;
char
*
valueStr
=
NULL
;
int
valueType
=
0
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
if
(
deviceCode
==
NULL
){
return
0
;
}
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE deviceCode = '%s' and devType=%d;"
,
deviceCode
,
KK_DM_DEVICE_SUBDEV
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
propertyStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
char
*
propertiesbuf
[
64
]
=
{
0
};
int
num
=
0
;
split
(
propertyStr
,
"_"
,
propertiesbuf
,
&
num
);
if
(
num
>=
2
){
return
1
;
}
}
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
return
0
;
}
static
cJSON
*
kk_get_gw_properties_info
(
cJSON
*
data
)
{
char
*
sqlCmd
=
NULL
;
sqlite3_stmt
*
stmt
;
char
*
propertyStr
=
NULL
;
char
*
valueStr
=
NULL
;
int
valueType
=
0
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
cJSON
*
roomIdsAry
=
NULL
;
cJSON
*
property
=
cJSON_CreateObject
();
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE devType = '%d' "
,
KK_DM_DEVICE_GATEWAY
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
propertyStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
valueType
=
sqlite3_column_int
(
stmt
,
DB_VALUETYPE
);
valueStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_VALUE
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
if
(
valueType
==
KK_TSL_DATA_TYPE_TEXT
){
cJSON_AddStringToObject
(
property
,
propertyStr
,
valueStr
);
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_INT
||
valueType
==
KK_TSL_DATA_TYPE_ENUM
||
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
cJSON_AddNumberToObject
(
property
,
propertyStr
,
atoi
(
valueStr
));
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_DOUBLE
){
cJSON_AddNumberToObject
(
property
,
propertyStr
,
atof
(
valueStr
));
}
}
cJSON_AddItemToObject
(
data
,
KK_SYNC_PROPERTY_STR
,
property
);
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
return
property
;
}
static
cJSON
*
kk_get_ccu_properties_info
(
cJSON
*
data
)
{
char
*
sqlCmd
=
NULL
;
//char *zErrMsg = 0;
sqlite3_stmt
*
stmt
;
char
*
propertyStr
=
NULL
;
char
*
valueStr
=
NULL
;
int
valueType
=
0
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
cJSON
*
roomIdsAry
=
NULL
;
cJSON
*
property
=
cJSON_CreateObject
();
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE devType = '%d' "
,
KK_DM_DEVICE_CCU
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
propertyStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
valueType
=
sqlite3_column_int
(
stmt
,
DB_VALUETYPE
);
valueStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_VALUE
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
if
(
valueType
==
KK_TSL_DATA_TYPE_TEXT
){
cJSON_AddStringToObject
(
property
,
propertyStr
,
valueStr
);
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_INT
||
valueType
==
KK_TSL_DATA_TYPE_ENUM
||
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
cJSON_AddNumberToObject
(
property
,
propertyStr
,
atoi
(
valueStr
));
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_DOUBLE
){
cJSON_AddNumberToObject
(
property
,
propertyStr
,
atof
(
valueStr
));
}
}
if
((
roomIdsAry
=
kk_get_roomIds_ary
())
!=
NULL
){
cJSON_AddItemToObject
(
property
,
"RoomIds"
,
roomIdsAry
);
}
cJSON_AddItemToObject
(
data
,
KK_SYNC_PROPERTY_STR
,
property
);
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
return
property
;
}
static
cJSON
*
kk_get_properties_info
(
char
*
deviceCode
,
int
devType
)
{
{
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
//char *zErrMsg = 0;
//char *zErrMsg = 0;
...
@@ -179,15 +294,17 @@ static int kk_get_properties_info(char *deviceCode,cJSON *obj)
...
@@ -179,15 +294,17 @@ static int kk_get_properties_info(char *deviceCode,cJSON *obj)
char
*
valueStr
=
NULL
;
char
*
valueStr
=
NULL
;
int
valueType
=
0
;
int
valueType
=
0
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
if
(
deviceCode
==
NULL
||
obj
==
NULL
){
if
(
deviceCode
==
NULL
){
return
FAIL_RETURN
;
return
NULL
;
}
}
cJSON
*
propertyItem
=
cJSON_CreateObject
();
cJSON
*
obj
=
cJSON_CreateObject
();
cJSON
*
eps
=
cJSON_CreateArray
();
cJSON
*
eps
=
cJSON_CreateArray
();
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE deviceCode = '%s'
"
,
deviceCod
e
);
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE deviceCode = '%s'
and devType=%d;"
,
deviceCode
,
devTyp
e
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
cJSON
*
propertyItem
=
cJSON_CreateObject
();
propertyStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
propertyStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
valueType
=
sqlite3_column_int
(
stmt
,
DB_VALUETYPE
);
valueType
=
sqlite3_column_int
(
stmt
,
DB_VALUETYPE
);
valueStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_VALUE
);
valueStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_VALUE
);
...
@@ -203,20 +320,59 @@ static int kk_get_properties_info(char *deviceCode,cJSON *obj)
...
@@ -203,20 +320,59 @@ static int kk_get_properties_info(char *deviceCode,cJSON *obj)
}
}
char
*
propertiesbuf
[
64
]
=
{
0
};
char
*
propertiesbuf
[
64
]
=
{
0
};
int
num
=
0
;
int
num
=
0
;
//
split(propertyStr,"_",propertiesbuf,&num);
split
(
propertyStr
,
"_"
,
propertiesbuf
,
&
num
);
if
(
num
==
2
){
if
(
num
==
2
){
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
cJSON_AddStringToObject
(
propertyItem
,
"epNum"
,
propertiesbuf
[
1
]);
cJSON_AddStringToObject
(
propertyItem
,
"epNum"
,
propertiesbuf
[
1
]);
}
else
{
}
else
{
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
cJSON_AddStringToObject
(
propertyItem
,
"epNum"
,
"1"
);
cJSON_AddStringToObject
(
propertyItem
,
"epNum"
,
"1"
);
}
}
cJSON_AddItemToArray
(
eps
,
propertyItem
);
cJSON_AddItemToArray
(
eps
,
propertyItem
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
}
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
cJSON_AddItemToObject
(
obj
,
KK_SYNC_PROPERTY_STR
,
eps
);
cJSON_AddItemToObject
(
obj
,
"eps"
,
eps
);
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
sqlite3_finalize
(
stmt
);
return
SUCCESS_RETURN
;
return
obj
;
}
static
int
kk_get_properties_info_obj
(
char
*
deviceCode
)
{
char
*
sqlCmd
=
NULL
;
//char *zErrMsg = 0;
sqlite3_stmt
*
stmt
;
char
*
propertyStr
=
NULL
;
char
*
valueStr
=
NULL
;
int
valueType
=
0
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
cJSON
*
obj
=
cJSON_CreateObject
();
if
(
deviceCode
==
NULL
){
return
NULL
;
}
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE deviceCode = '%s' and devType=%d;"
,
deviceCode
,
KK_DM_DEVICE_SUBDEV
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
propertyStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
valueType
=
sqlite3_column_int
(
stmt
,
DB_VALUETYPE
);
valueStr
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_VALUE
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
if
(
valueType
==
KK_TSL_DATA_TYPE_TEXT
){
cJSON_AddStringToObject
(
obj
,
propertyStr
,
valueStr
);
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_INT
||
valueType
==
KK_TSL_DATA_TYPE_ENUM
||
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
cJSON_AddNumberToObject
(
obj
,
propertyStr
,
atoi
(
valueStr
));
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_DOUBLE
){
cJSON_AddNumberToObject
(
obj
,
propertyStr
,
atof
(
valueStr
));
}
}
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
return
obj
;
}
}
static
int
kk_get_sub_devices_info
(
cJSON
*
gwdevicesItem
,
char
*
deviceCode
)
static
int
kk_get_sub_devices_info
(
cJSON
*
gwdevicesItem
,
char
*
deviceCode
)
...
@@ -234,11 +390,13 @@ static int kk_get_sub_devices_info(cJSON *gwdevicesItem,char *deviceCode)
...
@@ -234,11 +390,13 @@ static int kk_get_sub_devices_info(cJSON *gwdevicesItem,char *deviceCode)
}
}
cJSON
*
subDevices
=
cJSON_CreateArray
();
cJSON
*
subDevices
=
cJSON_CreateArray
();
#if 1
#if 1
sqlCmd
=
sqlite3_mprintf
(
"select * from SubDeviceInfo WHERE fatherDeviceCode = '%s' "
,
deviceCode
);
sqlCmd
=
sqlite3_mprintf
(
"select * from SubDeviceInfo WHERE fatherDeviceCode = '%s' "
,
deviceCode
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
cJSON
*
subdevicesItem
=
cJSON_CreateObject
();
cJSON
*
subdevicesItem
=
cJSON_CreateObject
();
char
devName
[
64
]
=
{
0
};
cJSON
*
properties
=
NULL
;
subDeviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_DEVICECODE
);
subDeviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_DEVICECODE
);
subProductCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_PRODUCTCODE
);
subProductCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_PRODUCTCODE
);
subVersion
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_VERSION
);
subVersion
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_SUB_VERSION
);
...
@@ -246,19 +404,29 @@ static int kk_get_sub_devices_info(cJSON *gwdevicesItem,char *deviceCode)
...
@@ -246,19 +404,29 @@ static int kk_get_sub_devices_info(cJSON *gwdevicesItem,char *deviceCode)
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_DEVICECODE_STR
,
subDeviceCode
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_DEVICECODE_STR
,
subDeviceCode
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_VERSION_STR
,
subVersion
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_VERSION_STR
,
subVersion
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_MAC_STR
,
subDeviceCode
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_MAC_STR
,
subDeviceCode
);
kk_get_device_name
(
subDeviceCode
,
"1"
,
devName
,
sizeof
(
devName
));
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_NANE_STR
,
devName
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_ONLINE_STR
,
subIsline
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_ONLINE_STR
,
subIsline
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_PRODUCTCODE_STR
,
subProductCode
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_PRODUCTCODE_STR
,
subProductCode
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_SN_STR
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_SN_STR
,
""
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_STATUS_STR
,
"启动"
);
cJSON_AddStringToObject
(
subdevicesItem
,
KK_SYNC_STATUS_STR
,
"启动"
);
kk_get_properties_info
(
subDeviceCode
,
subdevicesItem
);
if
(
kk_check_multi_ep_num
(
subDeviceCode
)){
printf
(
"[%s][%d]--->$1
\n
"
,
__FUNCTION__
,
__LINE__
);
properties
=
kk_get_properties_info
(
subDeviceCode
,
KK_DM_DEVICE_SUBDEV
);
}
else
{
printf
(
"[%s][%d]--->$2
\n
"
,
__FUNCTION__
,
__LINE__
);
properties
=
kk_get_properties_info_obj
(
subDeviceCode
);
}
cJSON_AddItemToObject
(
subdevicesItem
,
"properties"
,
properties
);
cJSON_AddItemToArray
(
subDevices
,
subdevicesItem
);
cJSON_AddItemToArray
(
subDevices
,
subdevicesItem
);
}
}
#endif
#endif
cJSON_AddItemToObject
(
gwdevicesItem
,
KK_SYNC_DEVICES_STR
,
subDevices
);
cJSON_AddItemToObject
(
gwdevicesItem
,
KK_SYNC_DEVICES_STR
,
subDevices
);
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
sqlite3_finalize
(
stmt
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
static
int
kk_get_gw_devices_info
(
cJSON
*
gwdevices
)
static
int
kk_get_gw_devices_info
(
cJSON
*
gwdevices
)
...
@@ -297,8 +465,13 @@ static int kk_get_gw_devices_info(cJSON *gwdevices)
...
@@ -297,8 +465,13 @@ static int kk_get_gw_devices_info(cJSON *gwdevices)
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
,
""
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_STATUS_STR
,
"启动"
);
cJSON_AddStringToObject
(
gwdevicesItem
,
KK_SYNC_STATUS_STR
,
"启动"
);
kk_get_properties_info
(
gw_deviceCode
,
gwdevicesItem
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
kk_get_gw_properties_info
(
gwdevicesItem
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
kk_get_sub_devices_info
(
gwdevicesItem
,
gw_deviceCode
);
kk_get_sub_devices_info
(
gwdevicesItem
,
gw_deviceCode
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
cJSON_AddItemToArray
(
gwdevices
,
gwdevicesItem
);
cJSON_AddItemToArray
(
gwdevices
,
gwdevicesItem
);
}
}
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
...
@@ -519,6 +692,8 @@ static int kk_get_scenes_info(cJSON *data)
...
@@ -519,6 +692,8 @@ static int kk_get_scenes_info(cJSON *data)
sqlite3_finalize
(
stmt
);
sqlite3_finalize
(
stmt
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/*
static int kk_get_ccu_properties(cJSON *property)
static int kk_get_ccu_properties(cJSON *property)
{
{
char *sqlCmd = NULL;
char *sqlCmd = NULL;
...
@@ -552,6 +727,7 @@ static int kk_get_ccu_properties(cJSON *property)
...
@@ -552,6 +727,7 @@ static int kk_get_ccu_properties(cJSON *property)
_kk_sync_unlock();
_kk_sync_unlock();
return SUCCESS_RETURN;
return SUCCESS_RETURN;
}
}
*/
/************************************************************
/************************************************************
*功能描述:检查设备是否有重复
*功能描述:检查设备是否有重复
*输入参数:deviceCode:设备deviceCode
*输入参数:deviceCode:设备deviceCode
...
@@ -571,15 +747,17 @@ char *kk_sync_get_info()
...
@@ -571,15 +747,17 @@ char *kk_sync_get_info()
cJSON
*
data
=
cJSON_CreateObject
();
cJSON
*
data
=
cJSON_CreateObject
();
cJSON_AddItemToObject
(
root
,
KK_SYNC_DATA_STR
,
data
);
cJSON_AddItemToObject
(
root
,
KK_SYNC_DATA_STR
,
data
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
kk_get_rooms_info
(
data
);
kk_get_rooms_info
(
data
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
kk_get_devices_info
(
data
);
kk_get_devices_info
(
data
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
kk_get_scenes_info
(
data
);
kk_get_scenes_info
(
data
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
HAL_GetDevice_Code
(
ccu_deviceCode
);
HAL_GetDevice_Code
(
ccu_deviceCode
);
HAL_GetProduct_Code
(
ccu_productCode
);
HAL_GetProduct_Code
(
ccu_productCode
);
HAL_GetVersion
(
version
);
HAL_GetVersion
(
version
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_DEVICECODE_STR
,
ccu_deviceCode
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_DEVICECODE_STR
,
ccu_deviceCode
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_NANE_STR
,
"newccu"
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_NANE_STR
,
"newccu"
);
...
@@ -587,10 +765,10 @@ char *kk_sync_get_info()
...
@@ -587,10 +765,10 @@ char *kk_sync_get_info()
cJSON_AddStringToObject
(
data
,
KK_SYNC_ONLINE_STR
,
cloudstatus_str
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_ONLINE_STR
,
cloudstatus_str
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_PRODUCTCODE_STR
,
ccu_productCode
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_PRODUCTCODE_STR
,
ccu_productCode
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_VERSION_STR
,
version
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_VERSION_STR
,
version
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
cJSON
*
property
=
cJSON_CreateObject
();
kk_get_ccu_properties_info
(
data
);
kk_get_ccu_properties
(
property
);
cJSON_AddItemToObject
(
data
,
KK_SYNC_PROPERTY_STR
,
property
);
out
=
cJSON_Print
(
root
);
out
=
cJSON_Print
(
root
);
printf
(
"kk_sync_get_info:%s
\n
"
,
out
);
printf
(
"kk_sync_get_info:%s
\n
"
,
out
);
...
...
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