|
|
@@ -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);
|
|
|
}
|
|
|
}
|