浏览代码

1、增加MQTT每相阈值超限报警接口

liyuezong 1 年之前
父节点
当前提交
b3d645db3e
共有 1 个文件被更改,包括 21 次插入 和 2 次删除
  1. 21 2
      pro/src/mqtt.c

+ 21 - 2
pro/src/mqtt.c

@@ -700,7 +700,7 @@ static int send_stat(mqtt_conn_t *conn, int type)
     float p1,p2,p3;
     char topic[256];
     char* content=NULL;
-    char buf[20],date[40],time[40];
+    char buf[50],date[40],time[40];
     mqtt_handle_t *h=(mqtt_handle_t*)conn->h;
 
     if((!conn->c)|| !get_status(conn) || (type<0) || (type>=MQTT_PUB_MAX)) {
@@ -840,12 +840,31 @@ static int send_stat(mqtt_conn_t *conn, int type)
                             cJSON_AddStringToObject(data_filed, "power_factor", get_float_str(info->factor));
                             cJSON_AddStringToObject(data_filed, "power_freq", get_float_str(info->freq));
                             p1 = info->power;
-                            p3 = info->factor>0 ? (p1 / info->factor) : 0.0f;
+                            p3 = info->factor > 0 ? (p1 / info->factor) : 0.0f;
                             p2 = p3 - p1;
                             cJSON_AddStringToObject(data_filed, "pactive_power", get_float_str(p1));
                             cJSON_AddStringToObject(data_filed, "reactive_power", get_float_str(p2));
                             cJSON_AddStringToObject(data_filed, "apparent_power", get_float_str(p3));
                         }
+
+                        if (h->dm->_globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_Tree
+                        ||h->dm->_globalDevInfo.product.pwr_type == TREE_AC_TYPE
+                        || h->dm->_globalDevInfo.product.pwr_type == DOUBLE_AC_TYPE 
+                        || h->dm->_globalDevInfo.product.pwr_type == SmartPDU_Tree_AC_One_B)
+                        {
+                            GlobalTreeACManager *_TreeACTemp = NULL;
+                            list_for_each_entry(_TreeACTemp, &h->dm->_globalPowerManger.list_Tree_AC, list_Tree_AC)
+                            {
+                                if (_TreeACTemp && _TreeACTemp->product_ph_type ==i)
+                                {
+                                    cJSON_AddStringToObject(data_filed,"phase_voltage_over", get_int_str(_TreeACTemp->_PowerWarninginfo.w_voltage_up));
+                                    cJSON_AddStringToObject(data_filed, "phase_voltage_low", get_int_str(_TreeACTemp->_PowerWarninginfo.w_voltage_down));
+                                    cJSON_AddStringToObject(data_filed, "phase_current_over", get_int_str(_TreeACTemp->_PowerWarninginfo.w_current));
+                                    cJSON_AddStringToObject(data_filed, "phase_power_over", get_int_str(_TreeACTemp->_PowerWarninginfo.w_power));
+                                    cJSON_AddStringToObject(data_filed, "phase_consumption_over", get_int_str(_TreeACTemp->_PowerWarninginfo.w_consumption));
+                                }
+                            }
+                        }
                         cJSON_AddItemToObject(data_root_array, "power_status", data_filed);
                     }
                 }