I am not sure whether this is the right subforum, but hope to find some help here.
I am interfacing to a Huawei EMMA2 Pro energy manager, from an AppDaemon app via Modbus. This works in principle. The EMMA energy manager is further connected via another Modbus link to an inverter.
My goal is to quantify accumulated photovoltaic electricity production, and how much has been fed to or drawn from the grid.
I am able to read the PV yield (modbus register 30344), which yields the yield at the output of the inverter (which is lower than the DC photovoltaic yield due to inverter losses).
I also can read out register 30332, which contains the energy fed into the grid. These two values correspond exactly to what I see in FusionSolar, the cloud-based monitoring solution by Huawei.
What I am unable to reproduce is the local consumption side. Obviously, the difference between PV yield and what is fed into the grid is consumed locally. In addition, the power drawn from the grid is also consumed locally.
Right now, in the Huawei app, “from grid” amounts to 787.63kWh.
What I read via ModBus (register 30338), however, equals to 937.14 kWh.
Taken together with the share of the PV yield that is consumed locally, I obtain a total of 1838kWh. This is quite a bit more than what the FusionSolar app shows (1.69 MWh).
So the consumption side values do not correctly add up. So either the values displayed in FusionSolar are incorrect, or the ones I derive from the EMMA ModBus registers.
Do you have any insight about this? Maybe the huawei solar integration to HA does similar calculations, but I am not using it and a brief look did not reveal to me what registers are used and how it works.