Re: SolarEdge via Web API giving errors in log
Posted: Monday 29 December 2025 9:25
Can some admin merge the 3 solaredge api threads?
I have merged 2 topics into 1 and moved some posts of another one in this thread too. So hopefully everyoen stays focusses on this thread....
It appears that this doesn't show json output in my browser:gbonny wrote: Monday 29 December 2025 8:47 The "Solaredge API problem" seems to be on SolarEdge side. People using Home Assistant are reporting issues recently as well:
https://github.com/home-assistant/core/issues/159905
Only one device was working for me yesterday: "Inverter PV Power"
You can verify your API key is working, when the SolarEdge API is working off course, using a web browser via:
This shows information of your site. Extract your siteid and then try:Code: Select all
https://monitoringapi.solaredge.com/sites/list.json?size=1&api_key=<your_key>
This shows your equipement details.Code: Select all
https://monitoringapi.solaredge.com/equipment/<site_id>/list.json?api_key=<your_key>
Try to deactivate/activate "SolarEdge via Web API" from Hardware once, or reboot Domoticz once. Fingers crossed it will work from then on, when the sun shines. Wasn't there an SolarEdge API issue in december last year as well?!
Edit: deactivate/activate worked for me.
One side question: Is there anyone who has a SolarEdge Battery in his/her system, and it is working/visible in Domoticz?
@Gizmocuz, I might see an issue when fetching data in https://github.com/domoticz/domoticz/bl ... dgeAPI.cpp
I cannot verify myself whether this works as I have no battery installed.Code: Select all
void SolarEdgeAPI::GetBatteryDetail .. # expects JSON here: ExtraHeaders.push_back("Accept: application/json"); .. # url returns XML in browser: sURL << "https://monitoringapi.solaredge.com/site/" << m_SiteID << "/currentPowerFlow?api_key=" << m_APIK;
Code: Select all
https://monitoringapi.solaredge.com/site/<site id>/currentPowerFlow?api_key=<api_key>
Code: Select all
https://monitoringapi.solaredge.com/site/<site id>/currentPowerFlow.json?api_key=<api_key>
Code: Select all
https://monitoringapi.solaredge.com/site/<site id>/details.json?api_key=<api_key>
https://monitoringapi.solaredge.com/site/<site id>/dataPeriod.json?api_key=<api_key>
https://monitoringapi.solaredge.com/site/<site id>/overview.json?api_key=<api_key>
That does not seems to be true, it currently is missing the .json for currentPowerflow:jannl wrote: Tuesday 30 December 2025 9:34 This: https://monitoringapi.solaredge.com/sit ... =<api_key> is what is used in de code.
Everry url in Domoticz Solaredge.cpp ends with .json, so that should be ok. Not changed in de the last year
My Bad, you are right, didn't look good.waltervl wrote: Tuesday 30 December 2025 9:40That does not seems to be true, it currently is missing the .json for currentPowerflow:jannl wrote: Tuesday 30 December 2025 9:34 This: https://monitoringapi.solaredge.com/sit ... =<api_key> is what is used in de code.
Everry url in Domoticz Solaredge.cpp ends with .json, so that should be ok. Not changed in de the last year
https://github.com/domoticz/domoticz/bl ... I.cpp#L458
The rest uses .json indeed.
Problem is that you need a restart of domoticz to get the connection re-establised and that only works when solaredge is producing. I guess that is what has changed at the solaredge part of the connection.jannl wrote: Tuesday 30 December 2025 10:28My Bad, you are right, didn't look good.waltervl wrote: Tuesday 30 December 2025 9:40That does not seems to be true, it currently is missing the .json for currentPowerflow:jannl wrote: Tuesday 30 December 2025 9:34 This: https://monitoringapi.solaredge.com/sit ... =<api_key> is what is used in de code.
Everry url in Domoticz Solaredge.cpp ends with .json, so that should be ok. Not changed in de the last year
https://github.com/domoticz/domoticz/bl ... I.cpp#L458
The rest uses .json indeed.
Should be a simple and easy fix if that is the problem. But since it mostly works I doubt that is the (only) problem.
Edit: both work, the one without .json delivers XML, the one with .json delivers json. So the fix is not that easy
And still, I do not think Domoticz is the problem
Edit2: hm, the strange thing is the code seems to parse json.....
I've been monitoring it for a few days now but connection does not automatically come back and there are no issues with the app and web-interface.jannl wrote: Thursday 01 January 2026 15:31 No you (I) don't. Connection always comes back automatically after some time. The app and web interface also have issues with displaying anything besides the live data.
Too bad this did not work.robkoel wrote: Saturday 24 January 2026 12:56 for me, (on linux) changing the ipv6 / ipv4 priority to ipv4 first "solved" the issue.
to check the current priority (you will see the ipv6 address first in the list):
$ getent ahosts monitoringapi.solaredge.com
2606:4700::6812:1dbb STREAM monitoringapi.solaredge.com.cdn.cloudflare.net
2606:4700::6812:1dbb DGRAM
2606:4700::6812:1dbb RAW
2606:4700::6812:1cbb STREAM
2606:4700::6812:1cbb DGRAM
2606:4700::6812:1cbb RAW
104.18.29.187 STREAM
104.18.29.187 DGRAM
104.18.29.187 RAW
104.18.28.187 STREAM
104.18.28.187 DGRAM
104.18.28.187 RAW
after uncommenting the following line in /etc/gai.conf:
precedence ::ffff:-:0/96 100
the priority is set to ipv4, then ipv6
to verify:
$ getent ahosts monitoringapi.solaredge.com
104.18.28.187 STREAM monitoringapi.solaredge.com.cdn.cloudflare.net
104.18.28.187 DGRAM
104.18.28.187 RAW
104.18.29.187 STREAM
104.18.29.187 DGRAM
104.18.29.187 RAW
2606:4700::6812:1dbb STREAM
2606:4700::6812:1dbb DGRAM
2606:4700::6812:1dbb RAW
2606:4700::6812:1cbb STREAM
2606:4700::6812:1cbb DGRAM
2606:4700::6812:1cbb RAW
the last couple of days i didn't have any issues...
short-time happiness: today the same errors as before.
After editting the domocookie.txt file the test-system worked for 4 days, on day five it did not start logging in the morning.