I’m new to OpenEMS and this forum, so apologies if this is something obvious.
I’ve hooked up OpenEMS to a real system, and am pulling in data from the inverter, battery and solar charge controller. It gets displayed perfectly in the UI except for the charge/discharge in the Storage System. Oddly, when I click on the item, the modal does show the right values.
They’re custom - I pull data from a Prometheus database. With these, I use a ESS Generic Managed Symmetric module. The ‘Storage System’ seems to report the total power draw in the dashboard, but correctly shows charge and discharge power in the Modal as I mentioned.
Ok, seems that the data in the component and modal are supposed to be different. The component data comes from the inverter, which in my case is a BatteryInverter, which only sets its active power consumption (it has no knowledge of incoming solar).
I’m not an expert in the UI, but we had the same some time ago if I remember correctly.
It seems that you implement a hybrid battery inverter, in which case your inverter should implement a HybridManagedSymmetricBatteryInverter. Furthermore, your solar chargers should implement the interface EssDcCharger (not the interface ManagedSymmetricPvInverter). Have you done it that way? Though it takes some time to understand it, it may be helpful to have a look at how it’s done in io.openems.edge.goodwe.
Looking at the numbers, it seems that the flat widget “Storage System” shows the active (AC) power of the inverter, which is the sum of the pv power and battery discharge power, while the Energy Monitor and the detailed widget show the DC Discharge power of the battery (which is what you actually want to see there).
I can’t remember which channels the UI uses where, but some voice in the back of my mind tells me that the flat widget takes the active power and subtracts all the DC-Chargers’ actual powers, while the other widgets take the DC discharge power directly.
I hope my message helps more than it distracts or confuses…
Thanks for the info! I’m definitely going to play around a bit with your suggestions and dive a bit deeper. Like I said, I’m new to OpenEMS and have not had time yet to dive into the details. Thanks for this starting point.