diff --git a/src/WebApi_ws_live.cpp b/src/WebApi_ws_live.cpp index 46e97d5c2..170e38c82 100644 --- a/src/WebApi_ws_live.cpp +++ b/src/WebApi_ws_live.cpp @@ -7,6 +7,8 @@ #include "MessageOutput.h" #include "WebApi.h" #include "Battery.h" +#include "Huawei_can.h" +#include "PowerMeter.h" #include "VeDirectFrameHandler.h" #include "defaults.h" #include @@ -197,10 +199,17 @@ void WebApiWsLiveClass::generateJsonResponse(JsonVariant& root) JsonObject huaweiObj = root.createNestedObject("huawei"); huaweiObj[F("enabled")] = Configuration.get().Huawei_Enabled; - + const RectifierParameters_t * rp = HuaweiCan.get(); + addTotalField(huaweiObj, "Power", rp->output_power, "W", 2); + JsonObject batteryObj = root.createNestedObject("battery"); batteryObj[F("enabled")] = Configuration.get().Battery_Enabled; addTotalField(batteryObj, "soc", Battery.stateOfCharge, "%", 0); + + JsonObject powerMeterObj = root.createNestedObject("power_meter"); + powerMeterObj[F("enabled")] = Configuration.get().PowerMeter_Enabled; + addTotalField(powerMeterObj, "Power", PowerMeter.getPowerTotal(), "W", 1); + } void WebApiWsLiveClass::addField(JsonObject& root, uint8_t idx, std::shared_ptr inv, ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId, String topic)