|
@@ -4,7 +4,6 @@
|
|
|
#include <time.h>
|
|
#include <time.h>
|
|
|
#include "common.h"
|
|
#include "common.h"
|
|
|
#include "list.h"
|
|
#include "list.h"
|
|
|
-#include "language_common.h"
|
|
|
|
|
#include "cascade.h"
|
|
#include "cascade.h"
|
|
|
|
|
|
|
|
#define TOTAL_COUNT 60 //计数长度
|
|
#define TOTAL_COUNT 60 //计数长度
|
|
@@ -2062,8 +2061,6 @@ cJSON* json_to_sensor_manage(const char* str,_OverSensorRequest* _overSensorRequ
|
|
|
if(cjson_type!=NULL)
|
|
if(cjson_type!=NULL)
|
|
|
_overSensorRequest->type = cjson_type->valuestring;
|
|
_overSensorRequest->type = cjson_type->valuestring;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
cJSON* cjson_productName = cJSON_GetObjectItem(cjson,"productName");
|
|
cJSON* cjson_productName = cJSON_GetObjectItem(cjson,"productName");
|
|
|
if(cjson_productName!=NULL)
|
|
if(cjson_productName!=NULL)
|
|
|
_overSensorRequest->productName = cjson_productName->valuestring;
|
|
_overSensorRequest->productName = cjson_productName->valuestring;
|
|
@@ -2100,6 +2097,10 @@ cJSON* json_to_sensor_manage(const char* str,_OverSensorRequest* _overSensorRequ
|
|
|
if(cjson_comSlogan!=NULL)
|
|
if(cjson_comSlogan!=NULL)
|
|
|
_overSensorRequest->comSlogan = cjson_comSlogan->valuestring;
|
|
_overSensorRequest->comSlogan = cjson_comSlogan->valuestring;
|
|
|
|
|
|
|
|
|
|
+ cJSON* cjson_cgqtd = cJSON_GetObjectItem(cjson,"cgqtd");
|
|
|
|
|
+ if(cjson_cgqtd!=NULL)
|
|
|
|
|
+ _overSensorRequest->cgqtd = cjson_cgqtd->valuestring;
|
|
|
|
|
+
|
|
|
cJSON* cjson_sensorAddr = cJSON_GetObjectItem(cjson,"sensorAddr");
|
|
cJSON* cjson_sensorAddr = cJSON_GetObjectItem(cjson,"sensorAddr");
|
|
|
if(cjson_sensorAddr!=NULL)
|
|
if(cjson_sensorAddr!=NULL)
|
|
|
_overSensorRequest->sensorAddr = cjson_sensorAddr->valuestring;
|
|
_overSensorRequest->sensorAddr = cjson_sensorAddr->valuestring;
|
|
@@ -2136,7 +2137,8 @@ char* over_all_sensor_info_to_json(_OverSensorBackInfo* _over_all_sensor_back_in
|
|
|
//log_d("sensor_name:%s", _temp->sensorName);
|
|
//log_d("sensor_name:%s", _temp->sensorName);
|
|
|
char temp[32] = {0};
|
|
char temp[32] = {0};
|
|
|
cJSON* data_filed = cJSON_CreateObject();
|
|
cJSON* data_filed = cJSON_CreateObject();
|
|
|
- cJSON_AddNumberToObject(data_filed, "accessControlStatus",_temp->accessControlStatus);
|
|
|
|
|
|
|
+ sprintf(temp,"%d",_temp->accessControlStatus);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "accessControlStatus",temp);
|
|
|
cJSON_AddNumberToObject(data_filed,"sensorAddr",_temp->sensorAddr);
|
|
cJSON_AddNumberToObject(data_filed,"sensorAddr",_temp->sensorAddr);
|
|
|
cJSON_AddStringToObject(data_filed,"cgqtd",_temp->sensorvaluech);
|
|
cJSON_AddStringToObject(data_filed,"cgqtd",_temp->sensorvaluech);
|
|
|
cJSON_AddNumberToObject(data_filed,"airPressureValue",_temp->airPressureValue);
|
|
cJSON_AddNumberToObject(data_filed,"airPressureValue",_temp->airPressureValue);
|
|
@@ -2146,8 +2148,15 @@ char* over_all_sensor_info_to_json(_OverSensorBackInfo* _over_all_sensor_back_in
|
|
|
cJSON_AddNumberToObject(data_filed,"alarmStatus",_temp->alarmStatus);
|
|
cJSON_AddNumberToObject(data_filed,"alarmStatus",_temp->alarmStatus);
|
|
|
cJSON_AddNumberToObject(data_filed,"sensorBaud",_temp->sensorBaud);
|
|
cJSON_AddNumberToObject(data_filed,"sensorBaud",_temp->sensorBaud);
|
|
|
cJSON_AddStringToObject(data_filed,"comSlogan",_temp->comSlogan);
|
|
cJSON_AddStringToObject(data_filed,"comSlogan",_temp->comSlogan);
|
|
|
- sprintf(temp,"%d",_temp->connectionStatus);
|
|
|
|
|
- cJSON_AddStringToObject(data_filed,"connectionStatus",temp);
|
|
|
|
|
|
|
+ if (_temp->connectionStatus >= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ sprintf(temp, "%d", _temp->connectionStatus);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "connectionStatus", temp);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "connectionStatus", "");
|
|
|
|
|
+ }
|
|
|
cJSON_AddNumberToObject(data_filed,"gasConcentration",_temp->gasConcentration);
|
|
cJSON_AddNumberToObject(data_filed,"gasConcentration",_temp->gasConcentration);
|
|
|
sprintf(temp,"%0.2f",_temp->humidityValue);
|
|
sprintf(temp,"%0.2f",_temp->humidityValue);
|
|
|
cJSON_AddStringToObject(data_filed,"humidityValue",temp);
|
|
cJSON_AddStringToObject(data_filed,"humidityValue",temp);
|
|
@@ -2172,7 +2181,8 @@ char* over_all_sensor_info_to_json(_OverSensorBackInfo* _over_all_sensor_back_in
|
|
|
// break;
|
|
// break;
|
|
|
//}
|
|
//}
|
|
|
cJSON_AddStringToObject(data_filed,"sensorName",_temp->sensorName);
|
|
cJSON_AddStringToObject(data_filed,"sensorName",_temp->sensorName);
|
|
|
- cJSON_AddNumberToObject(data_filed,"sensorId",_temp->sensorId);
|
|
|
|
|
|
|
+ sprintf(temp, "%d", _temp->sensorId);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed,"sensorId",temp);
|
|
|
sprintf(temp_buf,"%d",_temp->sensorType);
|
|
sprintf(temp_buf,"%d",_temp->sensorType);
|
|
|
cJSON_AddStringToObject(data_filed,"sensorType",temp_buf);
|
|
cJSON_AddStringToObject(data_filed,"sensorType",temp_buf);
|
|
|
//cJSON_AddNumberToObject(data_filed,"sensorType",_temp->sensorType);
|
|
//cJSON_AddNumberToObject(data_filed,"sensorType",_temp->sensorType);
|
|
@@ -2201,6 +2211,7 @@ char* over_sensor_history_info_to_json(_OverSensorBackInfo* _over_all_sensor_bac
|
|
|
char* str = NULL;
|
|
char* str = NULL;
|
|
|
struct list_head *pos;
|
|
struct list_head *pos;
|
|
|
_OverSensorBackInfo* _temp;
|
|
_OverSensorBackInfo* _temp;
|
|
|
|
|
+ char temp[32] = {0};
|
|
|
// 创建 JSON 对象
|
|
// 创建 JSON 对象
|
|
|
cJSON* root = cJSON_CreateObject();
|
|
cJSON* root = cJSON_CreateObject();
|
|
|
if(sensor_type == SENSOR_TYPE_VALUE)
|
|
if(sensor_type == SENSOR_TYPE_VALUE)
|
|
@@ -2278,7 +2289,8 @@ char* over_sensor_history_info_to_json(_OverSensorBackInfo* _over_all_sensor_bac
|
|
|
cJSON_AddItemToArray(type_data_array,type_data_press);
|
|
cJSON_AddItemToArray(type_data_array,type_data_press);
|
|
|
cJSON_AddArrayToObject(data,type_data_array);
|
|
cJSON_AddArrayToObject(data,type_data_array);
|
|
|
}
|
|
}
|
|
|
- cJSON_AddStringToObject(data,"sensorId",_over_all_sensor_back_info->sensorId);
|
|
|
|
|
|
|
+ sprintf(temp, "%d", _temp->sensorId);
|
|
|
|
|
+ cJSON_AddStringToObject(data,"sensorId",temp);
|
|
|
cJSON_AddArrayToObject(data_root_array,data);
|
|
cJSON_AddArrayToObject(data_root_array,data);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2304,7 +2316,8 @@ char* over_sensor_history_info_to_json(_OverSensorBackInfo* _over_all_sensor_bac
|
|
|
cJSON_AddStringToObject(data_filed,"comSlogan",_over_all_sensor_back_info->comSlogan);
|
|
cJSON_AddStringToObject(data_filed,"comSlogan",_over_all_sensor_back_info->comSlogan);
|
|
|
cJSON_AddNumberToObject(data_filed, "connectionStatus",_over_all_sensor_back_info->connectionStatus);
|
|
cJSON_AddNumberToObject(data_filed, "connectionStatus",_over_all_sensor_back_info->connectionStatus);
|
|
|
cJSON_AddStringToObject(data_filed,"sensorName",_over_all_sensor_back_info->sensorName);
|
|
cJSON_AddStringToObject(data_filed,"sensorName",_over_all_sensor_back_info->sensorName);
|
|
|
- cJSON_AddNumberToObject(data_filed,"sensorId",_over_all_sensor_back_info->sensorId);
|
|
|
|
|
|
|
+ sprintf(temp, "%d", _over_all_sensor_back_info->sensorId);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed,"sensorId",temp);
|
|
|
cJSON_AddNumberToObject(data_filed,"sensorType",_over_all_sensor_back_info->sensorType);
|
|
cJSON_AddNumberToObject(data_filed,"sensorType",_over_all_sensor_back_info->sensorType);
|
|
|
cJSON_AddNumberToObject(data_filed, "waterImmersionState",_over_all_sensor_back_info->waterImmersionState);
|
|
cJSON_AddNumberToObject(data_filed, "waterImmersionState",_over_all_sensor_back_info->waterImmersionState);
|
|
|
cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
@@ -2539,8 +2552,10 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
|
|
|
{
|
|
{
|
|
|
char* str = NULL;
|
|
char* str = NULL;
|
|
|
GlobalSensorManger* _globalSensorMangerTemp = NULL ;
|
|
GlobalSensorManger* _globalSensorMangerTemp = NULL ;
|
|
|
|
|
+ char temp[32] = {0};
|
|
|
// 创建 JSON 对象
|
|
// 创建 JSON 对象
|
|
|
cJSON* root = cJSON_CreateObject();
|
|
cJSON* root = cJSON_CreateObject();
|
|
|
|
|
+ cJSON *data_filed = NULL;
|
|
|
// 添加基本键值对
|
|
// 添加基本键值对
|
|
|
cJSON_AddNumberToObject(root, "code", 200);
|
|
cJSON_AddNumberToObject(root, "code", 200);
|
|
|
//创建数据
|
|
//创建数据
|
|
@@ -2549,15 +2564,69 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
|
|
|
//循环添加数据
|
|
//循环添加数据
|
|
|
list_for_each_entry(_globalSensorMangerTemp, &_globalSensorManger->list, list)
|
|
list_for_each_entry(_globalSensorMangerTemp, &_globalSensorManger->list, list)
|
|
|
{
|
|
{
|
|
|
- cJSON* data_filed = cJSON_CreateObject();
|
|
|
|
|
- cJSON_AddNumberToObject(data_filed,"connectionStatus",_globalSensorMangerTemp->sensor_status);
|
|
|
|
|
- //cJSON_AddNumberToObject(data_filed,"connectionStatus",_globalSensorMangerTemp->sensor_status);
|
|
|
|
|
- cJSON_AddStringToObject(data_filed,"sensorName",_globalSensorMangerTemp->sensor_name);
|
|
|
|
|
- cJSON_AddNumberToObject(data_filed,"sensorId", _globalSensorMangerTemp->sensor_id);
|
|
|
|
|
- cJSON_AddNumberToObject(data_filed,"sensorType",_globalSensorMangerTemp->sensor_type);
|
|
|
|
|
- cJSON_AddNumberToObject(data_filed,"thresholdUpperValue",_globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold);
|
|
|
|
|
- cJSON_AddNumberToObject(data_filed,"thresholdDownValue",_globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold);
|
|
|
|
|
- cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
|
|
|
|
+ switch (_globalSensorMangerTemp->sensor_type)
|
|
|
|
|
+ {
|
|
|
|
|
+ case SENSOR_TYPE_TEMPERATURE:
|
|
|
|
|
+ data_filed = cJSON_CreateObject();
|
|
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_status);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "connectionStatus", temp);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorName", _globalSensorMangerTemp->sensor_name);
|
|
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_id);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorId", temp);
|
|
|
|
|
+ cJSON_AddNumberToObject(data_filed, "sensorType", _globalSensorMangerTemp->sensor_type);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdType",language_temperature[__globalDeviceManage._global_device_info->product_language]);
|
|
|
|
|
+ sprintf(temp, "%0.2f", _globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperValue", temp);
|
|
|
|
|
+ sprintf(temp, "%0.2f", _globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownValue", temp);
|
|
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
|
|
+ data_filed = cJSON_CreateObject();
|
|
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_status);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "connectionStatus", temp);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorName", _globalSensorMangerTemp->sensor_name);
|
|
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_id);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorId", temp);
|
|
|
|
|
+ cJSON_AddNumberToObject(data_filed, "sensorType", _globalSensorMangerTemp->sensor_type);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdType", language_humidity[__globalDeviceManage._global_device_info->product_language]);
|
|
|
|
|
+ sprintf(temp, "%0.2f", _globalSensorMangerTemp->over_manager->sensor_val2_upper_threshold);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperValue", temp);
|
|
|
|
|
+ sprintf(temp, "%0.2f", _globalSensorMangerTemp->over_manager->sensor_val2_lower_threshold);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownValue", temp);
|
|
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case SENSOR_TYPE_SMOKE:
|
|
|
|
|
+ case SENSOR_TYPE_WATER:
|
|
|
|
|
+ case SENSOR_TYPE_DOOR:
|
|
|
|
|
+ data_filed = cJSON_CreateObject();
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "connectionStatus", "");
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorName", _globalSensorMangerTemp->sensor_name);
|
|
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_id);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorId", temp);
|
|
|
|
|
+ cJSON_AddNumberToObject(data_filed, "sensorType", _globalSensorMangerTemp->sensor_type);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdType", "");
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperValue", "");
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownValue", "");
|
|
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case SENSOR_TYPE_GAS:
|
|
|
|
|
+ case SENSOR_TYPE_AIR_PRESS:
|
|
|
|
|
+ default:
|
|
|
|
|
+ data_filed = cJSON_CreateObject();
|
|
|
|
|
+ cJSON_AddNumberToObject(data_filed, "connectionStatus", _globalSensorMangerTemp->sensor_status);
|
|
|
|
|
+ // cJSON_AddNumberToObject(data_filed,"connectionStatus",_globalSensorMangerTemp->sensor_status);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorName", _globalSensorMangerTemp->sensor_name);
|
|
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_id);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorId", temp);
|
|
|
|
|
+ cJSON_AddNumberToObject(data_filed, "sensorType", _globalSensorMangerTemp->sensor_type);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdType", "");
|
|
|
|
|
+ sprintf(temp, "%0.2f", _globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperValue", temp);
|
|
|
|
|
+ sprintf(temp, "%0.2f", _globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold);
|
|
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownValue", temp);
|
|
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
//添加汇总
|
|
//添加汇总
|
|
|
cJSON_AddItemToObject(root, "data", data_root_array);
|
|
cJSON_AddItemToObject(root, "data", data_root_array);
|
|
@@ -3037,7 +3106,16 @@ cJSON* json_to_alarm_manage(const char* str,_AlarmRequestInfo* _alarm_request_in
|
|
|
|
|
|
|
|
cJSON* cjson_sensorId = cJSON_GetObjectItem(cjson,"sensorId");
|
|
cJSON* cjson_sensorId = cJSON_GetObjectItem(cjson,"sensorId");
|
|
|
if(cjson_sensorId!=NULL)
|
|
if(cjson_sensorId!=NULL)
|
|
|
- _alarm_request_info->_sensor_info.sensorId = cjson_sensorId->valuestring ;
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ if (cjson_sensorId->valuestring)
|
|
|
|
|
+ {
|
|
|
|
|
+ _alarm_request_info->_sensor_info.sensorId = atoi(cjson_sensorId->valuestring);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ _alarm_request_info->_sensor_info.sensorId = cjson_sensorId->valueint ;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
cJSON* cjson_sensorName = cJSON_GetObjectItem(cjson,"sensorName");
|
|
cJSON* cjson_sensorName = cJSON_GetObjectItem(cjson,"sensorName");
|
|
|
if(cjson_sensorName!=NULL)
|
|
if(cjson_sensorName!=NULL)
|
|
@@ -3047,6 +3125,10 @@ cJSON* json_to_alarm_manage(const char* str,_AlarmRequestInfo* _alarm_request_in
|
|
|
if(cjson_sensorType!=NULL)
|
|
if(cjson_sensorType!=NULL)
|
|
|
_alarm_request_info->_sensor_info.sensorType = cjson_sensorType->valuestring ;
|
|
_alarm_request_info->_sensor_info.sensorType = cjson_sensorType->valuestring ;
|
|
|
|
|
|
|
|
|
|
+ cJSON* cjson_thresholdType = cJSON_GetObjectItem(cjson,"thresholdType");
|
|
|
|
|
+ if(cjson_thresholdType!=NULL)
|
|
|
|
|
+ _alarm_request_info->_sensor_info.thresholdType = cjson_thresholdType->valuestring ;
|
|
|
|
|
+
|
|
|
cJSON* cjson_thresholdDownValue = cJSON_GetObjectItem(cjson,"thresholdDownValue");
|
|
cJSON* cjson_thresholdDownValue = cJSON_GetObjectItem(cjson,"thresholdDownValue");
|
|
|
if(cjson_thresholdDownValue!=NULL)
|
|
if(cjson_thresholdDownValue!=NULL)
|
|
|
_alarm_request_info->_sensor_info.thresholdDownValue = cjson_thresholdDownValue->valuestring ;
|
|
_alarm_request_info->_sensor_info.thresholdDownValue = cjson_thresholdDownValue->valuestring ;
|
|
@@ -3792,6 +3874,17 @@ char* service_group_ack_to_json(GroupInfo* _globalgroupInfo)
|
|
|
cJSON_Delete(root);
|
|
cJSON_Delete(root);
|
|
|
return str;
|
|
return str;
|
|
|
}
|
|
}
|
|
|
|
|
+/**
|
|
|
|
|
+ * @brief 发送设备告警信息
|
|
|
|
|
+ *
|
|
|
|
|
+ * 根据指定的告警类型,构建告警信息并发送。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param __globalDeviceManger 全局设备管理器指针
|
|
|
|
|
+ * @param __globalPowerTemp 全局电源管理器指针
|
|
|
|
|
+ * @param _AlarmType 告警类型
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return 返回值为0表示发送成功,非0表示发送失败
|
|
|
|
|
+ */
|
|
|
int dev_Alarm_send_message(GlobalDeviceManager* __globalDeviceManger,GlobalPowerManger* __globalPowerTemp,int _AlarmType)
|
|
int dev_Alarm_send_message(GlobalDeviceManager* __globalDeviceManger,GlobalPowerManger* __globalPowerTemp,int _AlarmType)
|
|
|
{
|
|
{
|
|
|
char AlarmText[256];
|
|
char AlarmText[256];
|
|
@@ -3834,10 +3927,69 @@ int dev_Alarm_send_message(GlobalDeviceManager* __globalDeviceManger,GlobalPower
|
|
|
|
|
|
|
|
char buffer[80];
|
|
char buffer[80];
|
|
|
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);
|
|
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);
|
|
|
- //dev_insert_alarm_info(__globalDeviceManage.db,__globalPowerTemp->product_id,0,buffer,AlarmText);
|
|
|
|
|
|
|
+ dev_insert_alarm_info(__globalDeviceManage.db,__globalPowerTemp->product_id,0,buffer,AlarmText);
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * @brief 发送传感器告警信息
|
|
|
|
|
+ *
|
|
|
|
|
+ * 根据给定的全局设备管理器、全局传感器管理器和告警类型,发送传感器告警信息。
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param __globalDeviceManger 全局设备管理器指针
|
|
|
|
|
+ * @param __globalPowerTemp 全局传感器管理器指针
|
|
|
|
|
+ * @param _AlarmType 告警类型
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return 成功返回0,失败返回-1
|
|
|
|
|
+ */
|
|
|
|
|
+int dev_sensor_Alarm_send_message(GlobalDeviceManager* __globalDeviceManger,GlobalSensorManger* __globalPowerTemp,int _AlarmType)
|
|
|
|
|
+{
|
|
|
|
|
+ char AlarmText[256];
|
|
|
|
|
+ int languagesID=0;
|
|
|
|
|
+ struct tm* t ;
|
|
|
|
|
+ if (!__globalPowerTemp)
|
|
|
|
|
+ {
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ switch (__globalPowerTemp->sensor_type)
|
|
|
|
|
+ {
|
|
|
|
|
+ case SENSOR_TYPE_TEMPERATURE:
|
|
|
|
|
+ {
|
|
|
|
|
+ switch (_AlarmType)
|
|
|
|
|
+ {
|
|
|
|
|
+ case SENSOR_VAL1_UPPER:
|
|
|
|
|
+ sprintf(AlarmText, "%s |$温度$|$%s$", __globalPowerTemp->sensor_name, language_alarm_Up[languagesID]);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case SENSOR_VAL1_LOWER:
|
|
|
|
|
+ sprintf(AlarmText, "%s |$温度$|$%s$", __globalPowerTemp->sensor_name, language_alarm_Down[languagesID]);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case SENSOR_VAL2_UPPER:
|
|
|
|
|
+ sprintf(AlarmText, "%s |$湿度$|$%s$", __globalPowerTemp->sensor_name, language_alarm_Up[languagesID]);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case SENSOR_VAL2_LOWER:
|
|
|
|
|
+ sprintf(AlarmText, "%s |$湿度$|$%s$", __globalPowerTemp->sensor_name, language_alarm_Down[languagesID]);
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ sprintf(AlarmText, "%s |$%s$", __globalPowerTemp->sensor_name, language_alarm_NULL_ERROR[languagesID]);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ sprintf(AlarmText,"%s |$%s$",__globalPowerTemp->sensor_name,language_alarm_NULL_ERROR[languagesID]);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ time_t now;
|
|
|
|
|
+ time(&now);
|
|
|
|
|
+ t = localtime(&now);
|
|
|
|
|
+
|
|
|
|
|
+ char buffer[80];
|
|
|
|
|
+ strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);
|
|
|
|
|
+ dev_insert_alarm_info(__globalDeviceManage.db,__globalPowerTemp->product_id,1,buffer,AlarmText);
|
|
|
|
|
+ return 0;
|
|
|
|
|
+}
|
|
|
int GetRoleIDByUserName(char* _userName,UserInfo* __UserInfo_t)
|
|
int GetRoleIDByUserName(char* _userName,UserInfo* __UserInfo_t)
|
|
|
{
|
|
{
|
|
|
int nRole = -1;
|
|
int nRole = -1;
|
|
@@ -4082,5 +4234,12 @@ void InitHashTable(HashTable *table)
|
|
|
insert_Newhash(table,language_alarm_Ctrl_ALL[0],language_alarm_Ctrl_ALL,nMaxSize);
|
|
insert_Newhash(table,language_alarm_Ctrl_ALL[0],language_alarm_Ctrl_ALL,nMaxSize);
|
|
|
insert_Newhash(table,language_alarm_connect_ERROR[0],language_alarm_connect_ERROR,nMaxSize);
|
|
insert_Newhash(table,language_alarm_connect_ERROR[0],language_alarm_connect_ERROR,nMaxSize);
|
|
|
insert_Newhash(table,language_alarm_Init_Success[0],language_alarm_Init_Success,nMaxSize);
|
|
insert_Newhash(table,language_alarm_Init_Success[0],language_alarm_Init_Success,nMaxSize);
|
|
|
- insert_Newhash(table,language_alarm_NULL_ERROR[0],language_alarm_NULL_ERROR,nMaxSize);
|
|
|
|
|
|
|
+ insert_Newhash(table, language_alarm_NULL_ERROR[0], language_alarm_NULL_ERROR, nMaxSize);
|
|
|
|
|
+ //13
|
|
|
|
|
+ insert_Newhash(table, language_temperature[0], language_temperature, nMaxSize);
|
|
|
|
|
+ insert_Newhash(table, language_humidity[0], language_humidity, nMaxSize);
|
|
|
|
|
+ insert_Newhash(table, language_atmosphere_gas[0], language_atmosphere_gas, nMaxSize);
|
|
|
|
|
+ insert_Newhash(table, language_atmosphere_airflow[0], language_atmosphere_airflow, nMaxSize);
|
|
|
|
|
+ insert_Newhash(table, language_atmosphere_pressure[0], language_atmosphere_pressure, nMaxSize);
|
|
|
|
|
+ //18
|
|
|
}
|
|
}
|