|
|
@@ -3436,6 +3436,7 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
|
|
|
{
|
|
|
case SENSOR_TYPE_TEMPERATURE:
|
|
|
case SENSOR_TYPE_DoubleT:
|
|
|
+ {
|
|
|
data_filed = cJSON_CreateObject();
|
|
|
sprintf(temp, "%d", _globalSensorMangerTemp->sensor_status);
|
|
|
cJSON_AddStringToObject(data_filed, "connectionStatus", temp);
|
|
|
@@ -3643,6 +3644,7 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
|
|
|
}
|
|
|
|
|
|
cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
+ }
|
|
|
break;
|
|
|
case SENSOR_TYPE_SMOKE:
|
|
|
case SENSOR_TYPE_WATER:
|
|
|
@@ -3659,6 +3661,102 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
|
|
|
cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
break;
|
|
|
case SENSOR_TYPE_GAS:
|
|
|
+ {
|
|
|
+ data_filed = cJSON_CreateObject();
|
|
|
+ sprintf(temp, "%d", _globalSensorMangerTemp->sensor_status);
|
|
|
+ cJSON_AddStringToObject(data_filed, "connectionStatus", temp);
|
|
|
+ cJSON_AddStringToObject(data_filed, "sensorName", language_sensor_name[langID][(int)_globalSensorMangerTemp->sensor_type]);
|
|
|
+ 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_atmosphere_gas[__globalDeviceManage._globalDevInfo.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);
|
|
|
+ if (_globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperAction", Alarmtemp);
|
|
|
+ if (_globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownAction", Alarmtemp);
|
|
|
+
|
|
|
+ char *pCHlist;
|
|
|
+ char *pCHListSave;
|
|
|
+ char sensor_para[512];
|
|
|
+ if (strlen(_globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold_ctrl_para) > 0)
|
|
|
+ {
|
|
|
+ strcpy(sensor_para, _globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold_ctrl_para);
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperChanel", _globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold_ctrl_para);
|
|
|
+ memset(subTemp, 0, sizeof(subTemp));
|
|
|
+ pCHlist = strtok_r(sensor_para, ",", &pCHListSave);
|
|
|
+ // 其他版本功能
|
|
|
+ while (pCHlist != NULL)
|
|
|
+ {
|
|
|
+ GlobalPowerManger *_globalPowerMangerTemp = NULL;
|
|
|
+ list_for_each_entry(_globalPowerMangerTemp, &__globalDeviceManage._globalPowerManger.list, list)
|
|
|
+ {
|
|
|
+ if (_globalPowerMangerTemp == NULL)
|
|
|
+ break;
|
|
|
+ if (atoi(pCHlist) == _globalPowerMangerTemp->product_ch_id)
|
|
|
+ {
|
|
|
+ if (strlen(subTemp) <= 0)
|
|
|
+ {
|
|
|
+ sprintf(temp, "%s", _globalPowerMangerTemp->product_ch_name);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sprintf(temp, ",%s", _globalPowerMangerTemp->product_ch_name);
|
|
|
+ }
|
|
|
+ strcat(subTemp, temp);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pCHlist = strtok_r(NULL, ",", &pCHListSave);
|
|
|
+ }
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdUpperChanelName", subTemp);
|
|
|
+ }
|
|
|
+ if (strlen(_globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold_ctrl_para) > 0)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownChanel", _globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold_ctrl_para);
|
|
|
+ memset(subTemp, 0, sizeof(subTemp));
|
|
|
+ strcpy(sensor_para, _globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold_ctrl_para);
|
|
|
+ pCHlist = strtok_r(sensor_para, ",", &pCHListSave);
|
|
|
+ // 其他版本功能
|
|
|
+ while (pCHlist != NULL)
|
|
|
+ {
|
|
|
+ GlobalPowerManger *_globalPowerMangerTemp = NULL;
|
|
|
+ list_for_each_entry(_globalPowerMangerTemp, &__globalDeviceManage._globalPowerManger.list, list)
|
|
|
+ {
|
|
|
+ if (_globalPowerMangerTemp == NULL)
|
|
|
+ break;
|
|
|
+ if (atoi(pCHlist) == _globalPowerMangerTemp->product_ch_id)
|
|
|
+ {
|
|
|
+ if (strlen(subTemp) <= 0)
|
|
|
+ {
|
|
|
+ sprintf(temp, "%s", _globalPowerMangerTemp->product_ch_name);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sprintf(temp, ",%s", _globalPowerMangerTemp->product_ch_name);
|
|
|
+ }
|
|
|
+ strcat(subTemp, temp);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pCHlist = strtok_r(NULL, ",", &pCHListSave);
|
|
|
+ }
|
|
|
+ cJSON_AddStringToObject(data_filed, "thresholdDownChanelName", subTemp);
|
|
|
+ }
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
+ }
|
|
|
+ break;
|
|
|
case SENSOR_TYPE_AIR_PRESS:
|
|
|
default:
|
|
|
data_filed = cJSON_CreateObject();
|