core: Solaredge integration doesn't show lifetime energy
The problem
TL;DR: Sanity check on lifeTimeData is to strick
I have a new solaredge installation and tried adding it to Home assistant. I don’t have any monitoring besides the inverter itself so by default it only loads lifeTimeData and current_power. This is fine but the lifeTimeData value is unkown in home assistant. After enabling debugging I could see that I do get a somewhat sane value:
Ignoring invalid energy value 14167.0 for lifeTimeData
However if I compare it to the other data lifeTimeData does lag behind on the other data:
Updated SolarEdge overview: {‘lastUpdateTime’: ‘2023-08-09 07:41:13’, ‘lastYearData’: 17193.0, ‘lastMonthData’: 17193.0, ‘lastDayData’: 103.0, ‘currentPower’: 121.57041, ‘measuredBy’: ‘INVERTER’}
So I assume the sanity check of the data compares the lifeTimeData to the lastYearData and finds that it isn’t correct. But I need the LifeTimeData for integration in my energy dashboard.
Any idea how I could resolve this?
What version of Home Assistant Core has the issue?
core-2023.8.1
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Solaredge
Link to integration documentation on our website
https://www.home-assistant.io/integrations/solaredge/
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
2023-08-09 07:41:57.298 DEBUG (SyncWorker_10) [homeassistant.components.solaredge] Updated SolarEdge details: Active, {'name': '*REDACTED*', 'peak_power': 10.0, 'last_update_time': '2023-08-09', 'installation_date': '2023-07-26', 'type': 'Optimizers & Inverters', 'manufacturer_name': 'HYUNDAI', 'model_name': 'HiE-S395VG', 'maximum_power': 395.0, 'temperature_coef': -0.34}
2023-08-09 07:41:57.299 DEBUG (MainThread) [homeassistant.components.solaredge] Finished fetching <homeassistant.components.solaredge.coordinator.SolarEdgeDetailsDataService object at 0x7f5e91fb5bd0> data in 0.002 seconds (success: True)
2023-08-09 07:41:57.618 INFO (SyncWorker_0) [homeassistant.components.solaredge] Ignoring invalid energy value 14167.0 for lifeTimeData
2023-08-09 07:41:57.618 DEBUG (SyncWorker_0) [homeassistant.components.solaredge] Updated SolarEdge overview: {'lastUpdateTime': '2023-08-09 07:41:13', 'lastYearData': 17193.0, 'lastMonthData': 17193.0, 'lastDayData': 103.0, 'currentPower': 121.57041, 'measuredBy': 'INVERTER'}
2023-08-09 07:41:57.619 DEBUG (MainThread) [homeassistant.components.solaredge] Finished fetching <homeassistant.components.solaredge.coordinator.SolarEdgeOverviewDataService object at 0x7f5e89d77d10> data in 0.320 seconds (success: True)
2023-08-09 07:41:57.831 DEBUG (SyncWorker_11) [homeassistant.components.solaredge] Updated SolarEdge inventory: {'meters': 0, 'sensors': 0, 'gateways': 0, 'batteries': 0, 'inverters': 1}, {'meters': {'meters': []}, 'sensors': {'sensors': []}, 'gateways': {'gateways': []}, 'batteries': {'batteries': []}, 'inverters': {'inverters': [{'name': 'Inverter 1', 'manufacturer': 'SolarEdge', 'model': 'SE8K-RWS48BEN4', 'communicationMethod': 'ETHERNET', 'cpuVersion': '4.18.32', 'SN': '*REDACTED*', 'connectedOptimizers': 31}]}}
2023-08-09 07:41:57.832 DEBUG (MainThread) [homeassistant.components.solaredge] Finished fetching <homeassistant.components.solaredge.coordinator.SolarEdgeInventoryDataService object at 0x7f5e89d77bd0> data in 0.213 seconds (success: True)
2023-08-09 07:41:58.027 DEBUG (SyncWorker_1) [homeassistant.components.solaredge] Missing connections in power flow data. Assuming site does not have any
2023-08-09 07:41:58.029 DEBUG (MainThread) [homeassistant.components.solaredge] Finished fetching <homeassistant.components.solaredge.coordinator.SolarEdgePowerFlowDataService object at 0x7f5e8d6892d0> data in 0.196 seconds (success: True)
2023-08-09 07:41:58.216 DEBUG (SyncWorker_9) [homeassistant.components.solaredge] Updated SolarEdge energy details: {'Production': 103.0}, {'Production': {'date': '2023-08-09 00:00:00'}}
2023-08-09 07:41:58.218 DEBUG (MainThread) [homeassistant.components.solaredge] Finished fetching <homeassistant.components.solaredge.coordinator.SolarEdgeEnergyDetailsService object at 0x7f5e8d688910> data in 0.189 seconds (success: True)
Additional information
No response
About this issue
- Original URL
- State: open
- Created a year ago
- Comments: 42 (2 by maintainers)
Hi Guys, I have the same issue since begin augustus. i’m getting the following errors, and the value is ignored.
2023-08-30 14:11:03.723 INFO (SyncWorker_6) [homeassistant.components.solaredge] Ignoring invalid energy value 1241247.0 for lifeTimeData 2023-08-30 14:11:03.724 DEBUG (SyncWorker_6) [homeassistant.components.solaredge] Updated SolarEdge overview: {'lastUpdateTime': '2023-08-30 14:10:27', 'lastYearData': 1241270.0, 'lastMonthData': 859688.0, 'lastDayData': 8213.0, 'currentPower': 1495.4628, 'measuredBy': 'INVERTER'}Any development on this issue?
The solaredge inverter only knows its own production. Not how it is used. For this you need an additional energy meter that sits between the grid and your own house. I myself opted not to take this energy meter because my old analogue utility meter will be replaced with a digital one that I can integrate with HA. As I understand it (but I am by no means an expert on this matter) when you use the solar edge energy meter and link this to the inverter through e.a. a modbus wire then the inverter reports grid import/export and self usage as well to the app and I can only assume that when you do this you would receive these values from the api as well
something like this : https://www.solaredge.com/en/products/metering-and-sensors/energy-meter-with-modbus-connection
@bjorndewulf: Seems there are no meters present. I have them populated in the result and in the integration. As long as no values are coming from proral the integration will not provide them either. Without these values it is not possible to configure the energy dashboard in a meaningful way. Your inverter is connected to internet and on the solaredge portal / APP you see decent values?
I was able to enable a few of them right from within the UI. However I switched to the unofficial integration to get the information directly from the inverter through modbus via tcp(https://github.com/binsentsu/home-assistant-solaredge-modbus). Works like a charm but you need to switch this option on in your inverter.
Probably this is more an own topic, but what “other entities” are you missing after activating entities provided by the integration? Is the information supplied by SolarEdge API? I feel the API does not provide best info if you have a system with DC-coupled battery, because most energy value show energy at the AC side and it is nearly impossibele to calculate the energy coming from the Solar pannels (e.g. Life time energy etc. alsways subtract/add energy to/from batteries). The value is sent by the inverter to SolarEdge (in the statics tab on the web-page it is possible get the energy graph for the lines of solar modules connceted to the inverter), but the value is not provided in the API.
@tmack8001: I was diving into the code myself, for fetching the battery charging and discharging energy values form the solaredge portal, so I can tell you that the sensors are marked with “entity_registry_enabled_default=False” in const.py. So it is intentionally. Maybe the idea is that you enable only the few sensors you neeed. For the energy dashboard you would need only 3 of them.