Commit 547a56cf authored by chen.weican's avatar chen.weican

【修改内容】增加传感类设备防撬报警的event支持

【提交人】陈伟灿
parent f3acacd8
...@@ -375,6 +375,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -375,6 +375,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
int idx = 0; int idx = 0;
kk_tsl_event_t *eventItem =NULL; kk_tsl_event_t *eventItem =NULL;
char tmpStr[128] = {0}; char tmpStr[128] = {0};
cJSON * itemStr = NULL;
res = dm_mgr_get_device_shadow_by_devicecode(info_dcode->valuestring,&dev_shadow); res = dm_mgr_get_device_shadow_by_devicecode(info_dcode->valuestring,&dev_shadow);
if (res < SUCCESS_RETURN) { if (res < SUCCESS_RETURN) {
goto error; goto error;
...@@ -386,7 +387,7 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -386,7 +387,7 @@ void kk_platMsg_handle(void* data, char* chalMark){
eventItem->output_data_number > 0){ eventItem->output_data_number > 0){
int index = 0; int index = 0;
kk_tsl_data_t *itemData = NULL; kk_tsl_data_t *itemData = NULL;
cJSON * itemStr = NULL;
for(index = 0; index < eventItem->output_data_number;index++){ for(index = 0; index < eventItem->output_data_number;index++){
itemStr = cJSON_GetObjectItem(jsonPay, eventItem->identifier); itemStr = cJSON_GetObjectItem(jsonPay, eventItem->identifier);
itemData = eventItem->output_datas + index; itemData = eventItem->output_datas + index;
...@@ -413,6 +414,15 @@ void kk_platMsg_handle(void* data, char* chalMark){ ...@@ -413,6 +414,15 @@ void kk_platMsg_handle(void* data, char* chalMark){
} }
} }
else if(strcmp(eventItem->identifier,MSG_PROPERTY_STR) != 0 &&
eventItem->output_data_number == 0){
itemStr = cJSON_GetObjectItem(jsonPay, eventItem->identifier);
if(itemStr != NULL){
//kk_tsl_set_value(kk_tsl_set_event_output_value,dev_shadow,eventItem->identifier,&itemStr->valueint,NULL);
dm_msg_thing_event_post(info_dcode->valuestring,eventItem->identifier);
}
}
} }
} }
}else if(strstr(msgType->valuestring, KK_THING_TOPO_BATCH_DELETE_MSG) != NULL){ }else if(strstr(msgType->valuestring, KK_THING_TOPO_BATCH_DELETE_MSG) != NULL){
......
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,13 +26,21 @@ ...@@ -26,13 +26,21 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
} }
] ]
} }
...@@ -26,14 +26,22 @@ ...@@ -26,14 +26,22 @@
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
},{ },{
"identity":"batteryAlarm", "identity":"BatteryAlarm",
"endpoint":1, "endpoint":1,
"cluster":"0x0500", "cluster":"0x0500",
"attribute":"0x0002", "attribute":"0x0002",
"iasStatusMask":"0x0008", "iasStatusMask":"0x0008",
"reportFunc":"", "reportFunc":"",
"controlFunc":"" "controlFunc":""
} },{
"identity":"TamperAlarm",
"endpoint":1,
"cluster":"0x0500",
"attribute":"0x0002",
"iasStatusMask":"0x0004",
"reportFunc":"",
"controlFunc":""
},
] ]
} }
\ No newline at end of file
...@@ -535,11 +535,6 @@ void emberAfPluginDeviceTableInitialized(void) ...@@ -535,11 +535,6 @@ void emberAfPluginDeviceTableInitialized(void)
kk_load_dev_map_table(); kk_load_dev_map_table();
kk_device_map_print(); kk_device_map_print();
kk_device_config_load_from_db(); kk_device_config_load_from_db();
//kk_device_config_map_add("3073");
} }
void test_123(int val) void test_123(int val)
......
...@@ -115,7 +115,7 @@ static int kk_tsl_report(EmberEUI64 mac,uint8_t EP,int status,uint16_t clusterId ...@@ -115,7 +115,7 @@ static int kk_tsl_report(EmberEUI64 mac,uint8_t EP,int status,uint16_t clusterId
if(clusterId==ZCL_BASIC_CLUSTER_ID && attributeId== ZCL_BATTERY_PERCENTAGE_REMAINING_ATTRIBUTE_ID){ if(clusterId==ZCL_BASIC_CLUSTER_ID && attributeId== ZCL_BATTERY_PERCENTAGE_REMAINING_ATTRIBUTE_ID){
double battery = (double)status * 0.5; double battery = (double)status * 0.5;
char batteryStr[32]; char batteryStr[32];
sprintf(batteryStr,"f",battery); sprintf(batteryStr,"%f",battery);
rpc_cJSON_AddStringToObject(root, Identify,batteryStr); rpc_cJSON_AddStringToObject(root, Identify,batteryStr);
}else{ }else{
rpc_cJSON_AddNumberToObject(root, Identify,status); rpc_cJSON_AddNumberToObject(root, Identify,status);
...@@ -144,30 +144,26 @@ void kk_tsl_report_alarm(EmberEUI64 eui64, ...@@ -144,30 +144,26 @@ void kk_tsl_report_alarm(EmberEUI64 eui64,
UTIL_LOG_INFO("\n********************kk_tsl_report_alarm********************\n"); UTIL_LOG_INFO("\n********************kk_tsl_report_alarm********************\n");
dev = kk_device_find_by_mac(eui64); dev = kk_device_find_by_mac(eui64);
if(dev == NULL){ if(dev == NULL){
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
return; return;
} }
dev_info = kk_device_config_find(dev->productCode); dev_info = kk_device_config_find(dev->productCode);
if(dev_info == NULL){ if(dev_info == NULL){
printf("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&,%s\n",dev->productCode);
return; return;
} }
item = &dev_info->item; item = &dev_info->item;
while(item!=NULL){ while(item!=NULL){
printf("&&&&&&&&&&&&&&&&&&&&&&\n");
if(item->cluster== ZCL_IAS_ZONE_CLUSTER_ID if(item->cluster== ZCL_IAS_ZONE_CLUSTER_ID
&& item->attribute ==ZCL_ZONE_STATUS_ATTRIBUTE_ID && && item->attribute ==ZCL_ZONE_STATUS_ATTRIBUTE_ID &&
item->iasZoneStatusMask!=0 && item->reportFunc==NULL){ item->iasZoneStatusMask!=0 && item->reportFunc==NULL){
printf("!!!!!!!!!!!!\n");
root = rpc_cJSON_CreateObject(); root = rpc_cJSON_CreateObject();
rpc_cJSON_AddNumberToObject(root, item->identity,(zoneStatus & item->iasZoneStatusMask) ? 1 : 0); rpc_cJSON_AddNumberToObject(root, item->identity,(zoneStatus & item->iasZoneStatusMask) ? 1 : 0);
kk_msg_report_alarm(root,eui64); kk_msg_report_alarm(root,eui64);
} }
item = item->next; item = item->next;
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
} }
} }
......
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "batteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
{ {
"schema":"https://ikonke.com/schema.json", "schema": "https://iot-ap.ikonke.com/model/product_2102.json",
"productType":"outlet", "productType":"outlet",
"profile":{ "profile":{
"heartbeat": "3000",
"productCode": "2102", "productCode": "2102",
"productName": "星辰二路零火面板" "productName": "星辰二路零火面板"
}, },
......
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
...@@ -131,11 +131,18 @@ ...@@ -131,11 +131,18 @@
} }
} }
}], }],
"identifier": "batteryAlarm", "identifier": "BatteryAlarm",
"method": "thing.event.alarm.post", "method": "thing.event.alarm.post",
"name": "batteryAlarm", "name": "BatteryAlarm",
"type": "alarm", "type": "alarm",
"required": true, "required": true,
"desc": "低电量告警" "desc": "低电量告警"
}, {
"identifier": "TamperAlarm",
"name": "防撬报警",
"type": "alert",
"required": true,
"method": "thing.event.TamperAlarm.post",
"outputData": []
}] }]
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment