SolarEdge : why a difference between the standard import/export sensors and when using utility_meters?

I have a SolarEdge inverter at home, for which I do have the modbus module that allows to get the home consumption, exported and imported energy, etc. Running HA core2021.10.7.

For the Home Assistant Energy panel, I can’t use the standard sensor.solaredge_exported_power and sensor.solaredge_imported_power from the standard SolarEdge integration as none of these sensors do make use of the last_reset attribute (at least until now), so they won’t be taken into account for long term statistics. So I did configure 2 utility sensors like this:

utility_meter:
  exported_energy_meter:
    source: sensor.solaredge_exported_power
    cycle: daily
  imported_energy_meter:
    source: sensor.solaredge_imported_power
    cycle: daily

If I look at today’s exported values, now that the sun is set and my inverter has moved to sleeping mode, I get:

  • From the standard SolarEdge integration, sensor.solaredge_exported_power reports 7939.0 Wh
  • From the configured utility meters, for sensor.exported_energy_meter I get 7305.0 Wh

I would expect that sensor.exported_energy_meter would report the same value as sensor.solaredge_exported_power, since it’s directly based on that sensor and I’m not using any integration sensor in between. So how can the difference be explained between these 2 sensors ?

honestly speaking, I can’t really explain why the sensor from your utility meter is showing something different than your sensor from the integration - but as with the release of 2021.11.0 the default solaredge sensors have been added to the energy dashboard - so can now be used without the need of creating a utility meter.

Anyway - adding the meters to the dashboard now will probably cause the loss of already existing data that has been created with the utility meters.

when switching to the 2021.11 release, please make sure to read the release notes, as the sensors probably need to be enabled and some of them needs to be renamed if you are using them in templates or automations.

besides of that:
The SolarEdge Montitoring is also showing 7939 wh exported?

EDIT:
could you check, if the solaredge sensor became unavailable during the day?
A situation I can imagine is, that - if the sensor becomes unavailable, the utility meter does stop counting.
When the sensor comes back, it will probably just start counting where it has stopped, while the export meter is then show the already increased export value…

CChris, I have indeed seen (and believe I’m not alone with this issue) that the standard SolarEdge integration is causing regularly HTTP 429 errors. Most probably SolarEdge implemented some rate limits on API calls and the integration hasn’t yet taken this into account. But still, seen the utility meter sensor doesn’t do integration it’s still strange to have a difference with the base sensor value.

I have now also started to play around with the SolarEdge modbus custom integration. I’ll dig a little deeper to see how to properly recreate all data and sensors needed for the energy dashboard and might switch to it and drop the standard integration. Advantages would be 1) no dependency on cloud data and 2) faster refresh rates (every 30 sec).

Hi :slight_smile:
I think the most “perfect” solution is to keep both integrations.

The benefit from the modbus integration is (additionally to the more reliable fetching of production data) the ability to get the inverter status (and therefore you can also create automations when the inverter is running into an error or similar)… but - the API integration does also allow the monitoring production information such as “this month”, “this year”.

I am using these sensors for calculating some more statistics… (sorry, dashboard and everything else is german)

Actually you can also have daily/monthly counters based on the modbus integration, just need to define the right utility sensors based on the modbus sensors. For instance:

utility_meter:
  # Exported energy
  solaredge_modbus_utility_m1_exported_daily:
    source: sensor.solaredge_modbus_m1_exported_kwh
    cycle: daily
  solaredge_modbus_utility_m1_exported_monthly:
    source: sensor.solaredge_modbus_m1_exported_kwh
    cycle: monthly
  # Imported energy
  solaredge_modbus_utility_m1_imported_daily:
    source: sensor.solaredge_modbus_m1_imported_kwh
    cycle: daily
  solaredge_modbus_utility_m1_imported_monthly:
    source: sensor.solaredge_modbus_m1_imported_kwh
    cycle: monthly
  # Solar production
  solaredge_modbus_ac_energy_daily:
    source: sensor.solaredge_modbus_ac_energy_kwh
    cycle: daily
  solaredge_modbus_ac_energy_monthly:
    source: sensor.solaredge_modbus_ac_energy_kwh
    cycle: monthly

where “solaredge_modbus” is the prefix I gave when configuring the SolarEdge Modbus custom component. With these utility sensors, that would be enough to configure the Energy Panel of HA. There is a slight difference between the “official” import and export Wh values coming the standard integration and the one computed based on the modbus integration, but close enough to be used should the standard integration not be fixed (429 errors)

If next to this I also want a kWh counter for the home consumption, I can make another Utility sensor based on integrating a template sensor.

1 Like