|
|
@@ -3086,7 +3086,150 @@ char *breaker_status_ack_to_json(GlobalDeviceManager *gm,int slave)
|
|
|
}
|
|
|
return strRet;
|
|
|
}
|
|
|
+char *threshold_status_ack_to_json(GlobalDeviceManager *dm)
|
|
|
+{
|
|
|
+ char* str = NULL;
|
|
|
+ char temp[32] = {0};
|
|
|
+ char Closetemp[32] = {0};
|
|
|
+ char Alarmtemp[32] = {0};
|
|
|
+ GlobalPowerManger *tmp = NULL;
|
|
|
+
|
|
|
+ cJSON* root = cJSON_CreateObject();
|
|
|
+ cJSON_AddNumberToObject(root, "code", 200);
|
|
|
+ cJSON* data_root_array = cJSON_CreateArray();
|
|
|
+
|
|
|
+ sprintf(Closetemp, "%d", ALARM_CTRL_CLOSE_CH);
|
|
|
+ sprintf(Alarmtemp, "%d", ALARM_CTRL_ALARM_ONLY);
|
|
|
+ // language_alarm_ctrl_Alarm[__globalDeviceManage._globalDevInfo.product.language]
|
|
|
+ // language_alarm_ctrl_CloseCH[__globalDeviceManage._globalDevInfo.product.language]
|
|
|
+
|
|
|
+ list_for_each_entry(tmp, &dm->_globalPowerManger.list, list)
|
|
|
+ {
|
|
|
+
|
|
|
+ cJSON* data_filed = cJSON_CreateObject();
|
|
|
+ cJSON_AddStringToObject(data_filed,"productChName",tmp->product_ch_name);
|
|
|
+ sprintf(temp,"%d",tmp->product_ch_id);
|
|
|
+ cJSON_AddStringToObject(data_filed,"productChId",temp);
|
|
|
+ //cJSON_AddNumberToObject(data_filed,"dyType",tmp->product_ch_id);
|
|
|
+ cJSON_AddNumberToObject(data_filed,"dyType",1);
|
|
|
+ sprintf(temp, "%d", tmp->_PowerInfo.status);
|
|
|
+ cJSON_AddStringToObject(data_filed,"productChStatus",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_cur_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"currentUpperValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_vol_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"voltageUpperValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_vol_lower_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"voltageDownValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_pwr_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"powerUpperValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_pwrcon_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"alarmContentUpperValue",temp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_cur_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "currentUpperAction",Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "currentUpperAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_vol_over_upper_threshold_ctrl ==ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageUpperAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageUpperAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_vol_over_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageDownAction",Closetemp );
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageDownAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_pwr_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "powerUpperAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "powerUpperAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "alarmContentUpperAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "alarmContentUpperAction", Alarmtemp);
|
|
|
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
+ }
|
|
|
+
|
|
|
+ cJSON* data_filed = cJSON_CreateObject();
|
|
|
+ cJSON_AddStringToObject(data_filed,"productChName",tmp->product_ch_name);
|
|
|
+ sprintf(temp,"%d",tmp->product_ch_id);
|
|
|
+ cJSON_AddStringToObject(data_filed,"productChId",temp);
|
|
|
+ cJSON_AddNumberToObject(data_filed,"dyType",tmp->product_ch_id);
|
|
|
+ //sprintf(temp,"%d",_globalPowerMangerTemp->_PowerInfo.status);
|
|
|
+ cJSON_AddStringToObject(data_filed,"productChStatus","-1");//总通道状态不显示
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_cur_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"currentUpperValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_vol_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"voltageUpperValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_vol_lower_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"voltageDownValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_pwr_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"powerUpperValue",temp);
|
|
|
+ sprintf(temp,"%0.2f",tmp->global_over_manager.product_pwrcon_upper_threshold);
|
|
|
+ cJSON_AddStringToObject(data_filed,"alarmContentUpperValue",temp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_cur_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "currentUpperAction",Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "currentUpperAction",Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_vol_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageUpperAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageUpperAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_vol_over_lower_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageDownAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "voltageDownAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_pwr_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "powerUpperAction", Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "powerUpperAction", Alarmtemp);
|
|
|
+
|
|
|
+ if (tmp->global_over_manager.product_pwrcon_over_upper_threshold_ctrl == ALARM_CTRL_CLOSE_CH)
|
|
|
+ {
|
|
|
+ cJSON_AddStringToObject(data_filed, "alarmContentUpperAction",Closetemp);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ cJSON_AddStringToObject(data_filed, "alarmContentUpperAction", Alarmtemp);
|
|
|
+
|
|
|
+
|
|
|
+ cJSON_AddItemToObject(data_root_array, "data", data_filed);
|
|
|
+
|
|
|
+
|
|
|
+ cJSON_AddItemToObject(root, "data", data_root_array);
|
|
|
+ cJSON_AddStringToObject(root, "msg", language_Operation_Success[__globalDeviceManage._globalDevInfo.product.language]);
|
|
|
+ cJSON_AddStringToObject(root, "socketIdx", "PDU-WebSocket");
|
|
|
+ cJSON_AddBoolToObject(root, "success",true);
|
|
|
+ cJSON_AddStringToObject(root, "type", "powerChannelStatusMonitoring");
|
|
|
+
|
|
|
+ str = cJSON_Print(root);
|
|
|
+ cJSON_Delete(root);
|
|
|
+ return str;
|
|
|
+}
|
|
|
|
|
|
|
|
|
/**
|