Pārlūkot izejas kodu

1、添加阈值设置等操作日志;2、修改温湿度传感器阈值获取信息错误bug

liyuezong 2 gadi atpakaļ
vecāks
revīzija
b461f005ab
2 mainītis faili ar 155 papildinājumiem un 69 dzēšanām
  1. 15 0
      pro/src/appweb_handle.c
  2. 140 69
      pro/src/json_handle.c

+ 15 - 0
pro/src/appweb_handle.c

@@ -1808,6 +1808,9 @@ static void channelStatusMonitoring(void* conn)
             pCHlist = strtok_r(NULL, ",", &pCHListSave);
             usleep(30000);//延时50ms,等待控制板串口写完
         }
+        char log_buff[256];
+        sprintf(log_buff, "Reset power consumption!");
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, log_buff);
     }
 quit:
     cJSON_Delete(cjson);
@@ -2775,6 +2778,9 @@ static void alarmProtect(void *conn)
         // int g_pwr_ch_id = atoi(_alarm_request_info._pwr_info.productChId);
         int g_pwr_ch_id = _alarm_request_info._pwr_info.productChId;
         ack_str=setThresholdToCh(&_alarm_request_info,g_pwr_ch_id);
+        char log_buff[256];
+        sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, log_buff);
         /*
         if (g_pwr_ch_id ==0)
         {
@@ -2943,6 +2949,9 @@ static void alarmProtect(void *conn)
             pCHlist = strtok_r(NULL, ",", &pCHListSave);
             usleep(30000);//延时30ms,等待控制板串口写完
         }
+        char log_buff[256];
+        sprintf(log_buff, "Batch setting power threshold!");
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, log_buff);
     }
     else if(strcmp(_alarm_request_info.type,"sensorThresholdList")==0)//传感器阈值查询
     {
@@ -3037,6 +3046,9 @@ static void alarmProtect(void *conn)
                                     _globalSensorMangerSaveTemp);
         if(ret!=0)
             log_e("power threshold update error.");
+        char log_buff[256];
+        sprintf(log_buff, "Update sensor threshold ID%d!",g_sensor_id);
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, log_buff);
         //拿到参数保存
         ack_str = ctrl_sts_ack_to_json();
     }    
@@ -4886,6 +4898,9 @@ static void equipmentMintenance(void *conn)
         lock_s_hold(LOCK_ID_POWER_UPDATE);
         ResetChmData(1);
         lock_s_release(LOCK_ID_POWER_UPDATE);
+        char log_buff[256];
+        sprintf(log_buff, "Rescan channel!");
+        dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product_id, ALARM_TYPE_OPRATION, log_buff);
         //__globalDeviceManage._ReloadChm_flag=false;
     }
     else if (strcmp(_Over_equipment_mintenance.type,"cleanUp") == 0)

+ 140 - 69
pro/src/json_handle.c

@@ -3453,7 +3453,7 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
             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);
+                cJSON_AddStringToObject(data_filed, "thresholdUpperAction", Closetemp);
             }
             else
                 cJSON_AddStringToObject(data_filed, "thresholdUpperAction", Alarmtemp);
@@ -3463,14 +3463,15 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
             }
             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);
+                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)
@@ -3502,7 +3503,7 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
             {
                 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);
+                strcpy(sensor_para, _globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold_ctrl_para);
                 pCHlist = strtok_r(sensor_para, ",", &pCHListSave);
                 // 其他版本功能
                 while (pCHlist != NULL)
@@ -3530,8 +3531,9 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
                 }
                 cJSON_AddStringToObject(data_filed, "thresholdDownChanelName", subTemp);
             }
-
             cJSON_AddItemToObject(data_root_array, "data", data_filed);
+
+            
             data_filed = cJSON_CreateObject();
             sprintf(temp, "%d", _globalSensorMangerTemp->sensor_status);
             cJSON_AddStringToObject(data_filed, "connectionStatus", temp);
@@ -3539,78 +3541,147 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
             sprintf(temp, "%d", _globalSensorMangerTemp->sensor_id);
             cJSON_AddStringToObject(data_filed, "sensorId", temp);
             cJSON_AddNumberToObject(data_filed, "sensorType", _globalSensorMangerTemp->sensor_type);
-            if (SENSOR_TYPE_DoubleT==_globalSensorMangerTemp->sensor_type)
+            if (SENSOR_TYPE_DoubleT == _globalSensorMangerTemp->sensor_type)
             {
-                sprintf(temp, "%s%d",language_temperature[__globalDeviceManage._globalDevInfo.product_language],2);
+                sprintf(temp, "%s%d", language_temperature[__globalDeviceManage._globalDevInfo.product_language], 2);
                 cJSON_AddStringToObject(data_filed, "thresholdType", temp);
-                }
-                else
-                {
-                    cJSON_AddStringToObject(data_filed, "thresholdType", language_humidity[__globalDeviceManage._globalDevInfo.product_language]);
-                }
+            }
+            else
+            {
+                cJSON_AddStringToObject(data_filed, "thresholdType", language_humidity[__globalDeviceManage._globalDevInfo.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);
-                if (_globalSensorMangerTemp->over_manager->sensor_val2_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_val2_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
-                {
-                    cJSON_AddStringToObject(data_filed, "thresholdDownAction", Closetemp);
-                }
-                else
-                    cJSON_AddStringToObject(data_filed, "thresholdDownAction", Alarmtemp);
-                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);
-                if (_globalSensorMangerTemp->over_manager->sensor_val1_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
+            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);
+            if (_globalSensorMangerTemp->over_manager->sensor_val2_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_val2_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
+            {
+                cJSON_AddStringToObject(data_filed, "thresholdDownAction", Closetemp);
+            }
+            else
+                cJSON_AddStringToObject(data_filed, "thresholdDownAction", Alarmtemp);
+
+            char *pCHlist1;
+            char *pCHListSave1;
+            char sensor_para1[512];
+            if (strlen(_globalSensorMangerTemp->over_manager->sensor_val2_upper_threshold_ctrl_para) > 0)
+            {
+                strcpy(sensor_para1, _globalSensorMangerTemp->over_manager->sensor_val2_upper_threshold_ctrl_para);
+                cJSON_AddStringToObject(data_filed, "thresholdUpperChanel", _globalSensorMangerTemp->over_manager->sensor_val2_upper_threshold_ctrl_para);
+                memset(subTemp, 0, sizeof(subTemp));
+                pCHlist1 = strtok_r(sensor_para1, ",", &pCHListSave1);
+                // 其他版本功能
+                while (pCHlist1 != NULL)
                 {
-                    cJSON_AddStringToObject(data_filed, "thresholdUpperAction", Closetemp);
+                    GlobalPowerManger *_globalPowerMangerTemp = NULL;
+                    list_for_each_entry(_globalPowerMangerTemp, &__globalDeviceManage._globalPowerManger.list, list)
+                    {
+                        if (_globalPowerMangerTemp == NULL)
+                            break;
+                        if (atoi(pCHlist1) == _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;
+                        }
+                    }
+                    pCHlist1 = strtok_r(NULL, ",", &pCHListSave1);
                 }
-                else
-                    cJSON_AddStringToObject(data_filed, "thresholdUpperAction", Alarmtemp);
-                if (_globalSensorMangerTemp->over_manager->sensor_val1_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
+                cJSON_AddStringToObject(data_filed, "thresholdUpperChanelName", subTemp);
+            }
+            if (strlen(_globalSensorMangerTemp->over_manager->sensor_val2_lower_threshold_ctrl_para) > 0)
+            {
+                cJSON_AddStringToObject(data_filed, "thresholdDownChanel", _globalSensorMangerTemp->over_manager->sensor_val2_lower_threshold_ctrl_para);
+                memset(subTemp, 0, sizeof(subTemp));
+                strcpy(sensor_para1, _globalSensorMangerTemp->over_manager->sensor_val2_lower_threshold_ctrl_para);
+                pCHlist1 = strtok_r(sensor_para1, ",", &pCHListSave1);
+                // 其他版本功能
+                while (pCHlist1 != NULL)
                 {
-                    cJSON_AddStringToObject(data_filed, "thresholdDownAction", Closetemp);
+                    GlobalPowerManger *_globalPowerMangerTemp = NULL;
+                    list_for_each_entry(_globalPowerMangerTemp, &__globalDeviceManage._globalPowerManger.list, list)
+                    {
+                        if (_globalPowerMangerTemp == NULL)
+                            break;
+                        if (atoi(pCHlist1) == _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;
+                        }
+                    }
+                    pCHlist1 = strtok_r(NULL, ",", &pCHListSave1);
                 }
-                else
-                    cJSON_AddStringToObject(data_filed, "thresholdDownAction", Alarmtemp);
-                cJSON_AddItemToObject(data_root_array, "data", data_filed);
-                break;
+                cJSON_AddStringToObject(data_filed, "thresholdDownChanelName", subTemp);
+            }
+
+            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);
+            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);
+            cJSON_AddItemToObject(data_root_array, "data", data_filed);
+            break;
+        }
     }
     //添加汇总
     cJSON_AddItemToObject(root, "data", data_root_array);