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
4c4600c3
Commit
4c4600c3
authored
Sep 14, 2021
by
陈伟灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'cwc' into 'master'
【修改内容】1,增加新风多合一面板的支持 See merge request chenweican/k-sdk!132
parents
f49071b9
414f92af
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
298 additions
and
43 deletions
+298
-43
application/klansdk/kk_data_handle.c
application/klansdk/kk_data_handle.c
+2
-3
application/klansdk/kk_data_mng.h
application/klansdk/kk_data_mng.h
+1
-0
application/klansdk/kk_lan_sync.c
application/klansdk/kk_lan_sync.c
+6
-4
application/klansdk/kk_oldccu_msg.c
application/klansdk/kk_oldccu_msg.c
+10
-17
midware/midware/dm/kk_sync_data.c
midware/midware/dm/kk_sync_data.c
+65
-18
onboot.sh
onboot.sh
+4
-1
opcodeMapCfg/device_3078.json
opcodeMapCfg/device_3078.json
+72
-0
opcodeMapCfg/device_3099.json
opcodeMapCfg/device_3099.json
+138
-0
No files found.
application/klansdk/kk_data_handle.c
View file @
4c4600c3
...
...
@@ -441,9 +441,6 @@ static int kk_parse_syncinfo(cJSON *payload)
properties
=
cJSON_GetObjectItem
(
subitem
,
MSG_PROPERTIES_STR
);
kk_map_dev_node_add
(
deviceCode
,
productCode
,
gwdevicecode
,(
onlineStatus
->
valueint
==
1
)
?
"1"
:
"0"
);
kk_lan_property_syn_deal
(
deviceCode
,
properties
);
...
...
@@ -537,6 +534,7 @@ typedef struct{
}
alarmcontext_map_s
;
static
alarmcontext_map_s
alarmContext
[]
=
{
{
"3049"
,
"检测到有人 告警时间戳"
},
{
"3053"
,
"检测到有人 告警时间戳"
},
{
"3054"
,
"SOS 按钮触发报警 告警时间戳"
},
{
"3083"
,
"检测到浓雾 告警时间戳"
},
{
"3082"
,
"检测到燃气 告警时间戳"
},
...
...
@@ -545,6 +543,7 @@ static alarmcontext_map_s alarmContext[] = {
};
static
alarmcontext_map_s
lowbatteryContext
[]
=
{
{
"3049"
,
"人体感应设备电量低 告警时间戳"
},
{
"3053"
,
"人体感应设备电量低 告警时间戳"
},
{
"3054"
,
"SOS按钮电量低 告警时间戳"
},
{
"3083"
,
"烟感电量低 告警时间戳"
},
{
"3082"
,
"气感电量低 告警时间戳"
},
...
...
application/klansdk/kk_data_mng.h
View file @
4c4600c3
...
...
@@ -43,6 +43,7 @@ void _kk_map_dev_mutex_lock(void);
void
_kk_map_dev_mutex_unlock
(
void
);
void
kk_map_dev_deinit
(
void
);
int
kk_creater_nodeid
(
char
*
deviceCode
,
int
channel
,
char
*
nodeId
);
#define AIR_FRESH_MUTI_DEVICE "3099"
#endif
application/klansdk/kk_lan_sync.c
View file @
4c4600c3
...
...
@@ -604,7 +604,12 @@ static int _kk_sync_devices_status_arg_obj(kk_map_dev_node_t *node,cJSON *devSta
cJSON_AddItemToObject
(
dev_status
,
ARG_STRING
,
arg
);
cJSON_AddStringToObject
(
dev_status
,
OPCODE_STRING
,
node
->
syn_opcode
);
//新风多合一面板需要获取第三路状态
if
(
strcmp
(
node
->
productCode
,
AIR_FRESH_MUTI_DEVICE
)
==
0
){
kk_creater_nodeid
(
node
->
deviceCode
,
3
,
nodeid
);
}
else
{
kk_creater_nodeid
(
node
->
deviceCode
,
1
,
nodeid
);
}
cJSON_AddNumberToObject
(
dev_status
,
NODEID_STRING
,
atoi
(
nodeid
));
memset
(
indexId
,
0
,
sizeof
(
indexId
));
...
...
@@ -630,12 +635,9 @@ int kk_sync_devices_status_to_sdk(cJSON *root)
list_for_each_entry_safe
(
node
,
n
,
&
ctx
->
dev_list
,
linked_list
,
kk_map_dev_node_t
){
if
(
node
->
syn_type
==
1
){
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
_kk_sync_devices_status_arg_obj
(
node
,
devStatusAry
,
&
idx
);
}
else
{
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
_kk_sync_devices_status_arg_str
(
node
,
devStatusAry
,
&
idx
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
//_kk_sync_devicestatus(node,devStatusAry);
}
...
...
application/klansdk/kk_oldccu_msg.c
View file @
4c4600c3
...
...
@@ -206,16 +206,21 @@ static int _kk_lan_sync_device_status(const char *deviceCode,kk_map_dev_node_t *
return
-
1
;
}
if
((
arg
=
_kk_sync_devicestatus_arg_build
(
devNode
))
==
NULL
){
debug_log
(
LOG_DEBUG_LEVEL
,
"[err] arg.
\n
"
);
return
-
1
;
}
if
(
strcmp
(
devNode
->
productCode
,
AIR_FRESH_MUTI_DEVICE
)
==
0
){
if
((
nodeId
=
kk_lan_db_node_get
(
deviceCode
,
3
))
==-
1
){
debug_log
(
LOG_DEBUG_LEVEL
,
"[err] nodeId.
\n
"
);
return
-
1
;
}
}
else
{
if
((
nodeId
=
kk_lan_db_node_get
(
deviceCode
,
1
))
==-
1
){
debug_log
(
LOG_DEBUG_LEVEL
,
"[err] nodeId.
\n
"
);
return
-
1
;
}
}
debug_log
(
LOG_FOCUS_LEVEL
,
"[sync] device status.
\n
"
);
memset
(
nodeBuff
,
0
,
sizeof
(
nodeBuff
));
...
...
@@ -249,12 +254,9 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev
int
o_item_size
=
0
,
n_item_size
=
0
;
int
item_size
=
0
;
cJSON
*
epsAry
=
NULL
,
*
epAryItem
=
NULL
,
*
epAryEpNumObj
=
NULL
;
int
j
,
mFlag
=
0
,
epsArySize
=
0
;
if
(
deviceCode
==
NULL
||
devNode
==
NULL
||
params
==
NULL
||
params
->
type
!=
cJSON_Object
){
debug_log
(
LOG_DEBUG_LEVEL
,
"[err] para.
\n
"
);
...
...
@@ -351,16 +353,7 @@ static int kk_lan_property_convert(const char *deviceCode,kk_map_dev_node_t *dev
continue
;
}
kk_lan_replace_val_to_obj
(
n_item
,
valObj
,
"value"
);
if
((
args
=
ccu_value_convert
(
n_dataType
,
n_valueRange
,
o_dataType
,
o_valueRange
,
valObj
))
!=
NULL
){
...
...
midware/midware/dm/kk_sync_data.c
View file @
4c4600c3
...
...
@@ -308,7 +308,18 @@ static cJSON *kk_get_ccu_properties_info(cJSON *data)
}
static
void
_kk_value_set
(
cJSON
*
item
,
int
valueType
,
char
*
identifier
,
char
*
value
)
{
if
(
valueType
==
KK_TSL_DATA_TYPE_TEXT
){
cJSON_AddStringToObject
(
item
,
identifier
,
value
);
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_INT
||
valueType
==
KK_TSL_DATA_TYPE_ENUM
||
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
cJSON_AddNumberToObject
(
item
,
identifier
,
atoi
(
value
));
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_DOUBLE
){
cJSON_AddNumberToObject
(
item
,
identifier
,
atof
(
value
));
}
}
static
cJSON
*
kk_get_properties_info
(
char
*
deviceCode
,
int
devType
)
{
...
...
@@ -319,6 +330,10 @@ static cJSON *kk_get_properties_info(char *deviceCode,int devType)
char
*
valueStr
=
NULL
;
int
valueType
=
0
;
char
*
ptr
=
NULL
;
cJSON
*
propertyItem1
=
NULL
;
cJSON
*
propertyItem2
=
NULL
;
cJSON
*
propertyItem3
=
NULL
;
cJSON
*
propertyItem4
=
NULL
;
kk_sync_ctx_t
*
ctx
=
_kk_sync_get_ctx
();
if
(
deviceCode
==
NULL
){
return
NULL
;
...
...
@@ -328,41 +343,73 @@ static cJSON *kk_get_properties_info(char *deviceCode,int devType)
cJSON
*
eps
=
cJSON_CreateArray
();
sqlCmd
=
sqlite3_mprintf
(
"select * from PropertiesInfo WHERE deviceCode = '%s' and devType=%d;"
,
deviceCode
,
devType
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
//printf("[%s][%d]\n",__FUNCTION__,__LINE__);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
cJSON
*
propertyItem
=
cJSON_CreateObject
(
);
//printf("[%s][%d]\n",__FUNCTION__,__LINE__
);
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__);
char
*
propertiesbuf
[
64
]
=
{
0
};
int
num
=
0
;
split
(
propertyStr
,
"_"
,
propertiesbuf
,
&
num
);
if
(
num
==
2
){
cJSON_AddStringToObject
(
propertyItem
,
"epNum"
,
propertiesbuf
[
1
]);
if
(
valueType
==
KK_TSL_DATA_TYPE_TEXT
){
cJSON_AddStringToObject
(
propertyItem
,
propertiesbuf
[
0
],
valueStr
);
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_INT
||
valueType
==
KK_TSL_DATA_TYPE_ENUM
||
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
cJSON_AddNumberToObject
(
propertyItem
,
propertiesbuf
[
0
],
atoi
(
valueStr
));
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_DOUBLE
){
cJSON_AddNumberToObject
(
propertyItem
,
propertiesbuf
[
0
],
atof
(
valueStr
));
if
(
strcmp
(
propertiesbuf
[
1
],
"1"
)
==
0
){
if
(
propertyItem1
==
NULL
){
//printf("[%s][%d]\n",__FUNCTION__,__LINE__);
propertyItem1
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
propertyItem1
,
"epNum"
,
propertiesbuf
[
1
]);
}
//printf("[%s][%d]\n",__FUNCTION__,__LINE__);
_kk_value_set
(
propertyItem1
,
valueType
,
propertiesbuf
[
0
],
valueStr
);
}
else
if
(
strcmp
(
propertiesbuf
[
1
],
"2"
)
==
0
){
if
(
propertyItem2
==
NULL
){
propertyItem2
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
propertyItem2
,
"epNum"
,
propertiesbuf
[
1
]);
}
_kk_value_set
(
propertyItem2
,
valueType
,
propertiesbuf
[
0
],
valueStr
);
}
else
if
(
strcmp
(
propertiesbuf
[
1
],
"3"
)
==
0
){
if
(
propertyItem3
==
NULL
){
propertyItem3
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
propertyItem3
,
"epNum"
,
propertiesbuf
[
1
]);
}
_kk_value_set
(
propertyItem3
,
valueType
,
propertiesbuf
[
0
],
valueStr
);
}
else
if
(
strcmp
(
propertiesbuf
[
1
],
"4"
)
==
0
){
if
(
propertyItem4
==
NULL
){
propertyItem4
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
propertyItem4
,
"epNum"
,
propertiesbuf
[
1
]);
}
_kk_value_set
(
propertyItem4
,
valueType
,
propertiesbuf
[
0
],
valueStr
);
}
}
else
{
cJSON_AddStringToObject
(
propertyItem
,
"epNum"
,
"1"
);
cJSON_AddStringToObject
(
propertyItem
1
,
"epNum"
,
"1"
);
if
(
valueType
==
KK_TSL_DATA_TYPE_TEXT
){
cJSON_AddStringToObject
(
propertyItem
,
propertyStr
,
valueStr
);
cJSON_AddStringToObject
(
propertyItem
1
,
propertyStr
,
valueStr
);
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_INT
||
valueType
==
KK_TSL_DATA_TYPE_ENUM
||
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
cJSON_AddNumberToObject
(
propertyItem
,
propertyStr
,
atoi
(
valueStr
));
cJSON_AddNumberToObject
(
propertyItem
1
,
propertyStr
,
atoi
(
valueStr
));
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_DOUBLE
){
cJSON_AddNumberToObject
(
propertyItem
,
propertyStr
,
atof
(
valueStr
));
cJSON_AddNumberToObject
(
propertyItem
1
,
propertyStr
,
atof
(
valueStr
));
}
}
cJSON_AddItemToArray
(
eps
,
propertyItem
);
}
if
(
propertyItem1
!=
NULL
){
cJSON_AddItemToArray
(
eps
,
propertyItem1
);
}
if
(
propertyItem2
!=
NULL
){
cJSON_AddItemToArray
(
eps
,
propertyItem2
);
}
if
(
propertyItem3
!=
NULL
){
cJSON_AddItemToArray
(
eps
,
propertyItem3
);
}
if
(
propertyItem4
!=
NULL
){
cJSON_AddItemToArray
(
eps
,
propertyItem4
);
}
//printf("[%s][%d]\n",__FUNCTION__,__LINE__);
cJSON_AddItemToObject
(
obj
,
"eps"
,
eps
);
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
...
...
onboot.sh
View file @
4c4600c3
...
...
@@ -29,13 +29,16 @@ sqlite_File="$filepath/lib/libsqlite3.so.0"
run_Dir
=
"/data/kk"
tsl_Dir
=
"
${
run_Dir
}
/tsl"
map_Dir
=
"
${
run_Dir
}
/map"
smt_Dir
=
"/etc/smarthome"
#dev_cfg_Dir="${run_Dir}/dev_config_table"
#cd /sbin/
#insmod /sbin/ssd1306-revision.ko
#/sbin/oled >/dev/null 2>&1 &
#sleep 1
if
[
!
-d
"
$smt_Dir
"
]
;
then
mkdir
${
smt_Dir
}
fi
if
[
!
-d
"
$run_Dir
"
]
;
then
mkdir
${
run_Dir
}
fi
...
...
opcodeMapCfg/device_3078.json
0 → 100644
View file @
4c4600c3
{
"productCode"
:
"3078"
,
"operateType"
:
"3"
,
"channel"
:
4
,
"newccu"
:[
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"4"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
}
],
"oldccu"
:[
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"1"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"2"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"3"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"4"
,
"valueRange"
:[
"OFF"
,
"ON"
]
}
]
}
\ No newline at end of file
opcodeMapCfg/device_3099.json
0 → 100644
View file @
4c4600c3
{
"productCode"
:
"3099"
,
"operateType"
:
"14002"
,
"channel"
:
3
,
"syn_type"
:
1
,
"syn_opcode"
:
"CHOPIN_FRESH_AIR_STATUS"
,
"newccu"
:[
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"FRESH_AIR_SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},{
"identifier"
:
"WorkMode"
,
"opcodemap"
:
"FRESH_AIR_RUN_MODEL"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
],
"value"
:
1
},{
"identifier"
:
"WindSpeed"
,
"opcodemap"
:
"FRESH_AIR_SPEED_SET"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
,
2
,
3
],
"value"
:
1
},{
"identifier"
:
"ChildLockState"
,
"opcodemap"
:
"FRESH_AIR_SET_LOCK_STATUS"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},{
"identifier"
:
"TimingOffTime"
,
"opcodemap"
:
"FRESH_AIR_SET_TIME_OFF"
,
"dataType"
:
"double"
,
"channel"
:
"3"
,
"valueRange"
:[],
"value"
:
0
},{
"identifier"
:
"StrainerUsageTime"
,
"opcodemap"
:
"CHOPIN_FRESH_AIR_STATUS"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[],
"value"
:
0
},{
"identifier"
:
"StrainerAlarmTime"
,
"opcodemap"
:
"CHOPIN_FRESH_AIR_STATUS"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[],
"value"
:
0
},{
"identifier"
:
"CurrentTemperature"
,
"opcodemap"
:
"CHOPIN_FRESH_AIR_STATUS"
,
"dataType"
:
"double"
,
"channel"
:
"3"
,
"valueRange"
:[],
"value"
:
0
}
],
"oldccu"
:[
{
"opcode"
:
"FRESH_AIR_SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"3"
,
"valueRange"
:[
"OFF"
,
"ON"
],
"syn"
:
"on"
,
"synType"
:
"bool"
},{
"opcode"
:
"FRESH_AIR_RUN_MODEL"
,
"identifiermap"
:
"WorkMode"
,
"dataType"
:
"map"
,
"channel"
:
"3"
,
"valueRange"
:[
"AUTO"
,
"MANUAL"
],
"syn"
:
"runModel"
,
"synType"
:
"map"
},{
"opcode"
:
"FRESH_AIR_SPEED_SET"
,
"identifiermap"
:
"WindSpeed"
,
"dataType"
:
"map"
,
"channel"
:
"3"
,
"valueRange"
:[
"STOP"
,
"LOW"
,
"MID"
,
"HIGH"
],
"syn"
:
"speed"
,
"synType"
:
"int"
},{
"opcode"
:
"FRESH_AIR_SET_LOCK_STATUS"
,
"identifiermap"
:
"ChildLockState"
,
"dataType"
:
"bool"
,
"channel"
:
"3"
,
"valueRange"
:[],
"syn"
:
"ChildLockState"
,
"synType"
:
"double"
},{
"opcode"
:
"FRESH_AIR_SET_TIME_OFF"
,
"identifiermap"
:
"TimingOffTime"
,
"dataType"
:
"string_time"
,
"channel"
:
"3"
,
"valueRange"
:[],
"syn"
:
"time_off"
,
"synType"
:
"string_time"
},{
"opcode"
:
"CHOPIN_FRESH_AIR_STATUS "
,
"identifiermap"
:
"StrainerUsageTime"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[],
"syn"
:
"filterScreenWorkTime"
,
"synType"
:
"int"
},{
"opcode"
:
"CHOPIN_FRESH_AIR_STATUS"
,
"identifiermap"
:
"StrainerAlarmTime"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[],
"syn"
:
"filterScreenAlarmTime"
,
"synType"
:
"int"
},{
"opcode"
:
"CHOPIN_FRESH_AIR_STATUS"
,
"identifiermap"
:
"CurrentTemperature"
,
"dataType"
:
"double"
,
"channel"
:
"3"
,
"valueRange"
:[],
"syn"
:
"cur_temperature"
,
"synType"
:
"double"
}
]
}
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