SolarEdge solar panels support

Looking good! I can’t seem to find out how to display data from each inverter though (29 of them).

I tried this method to pull all attributes, if the key is sensor.solaredge_inverters.* I do get a lot of attributes, but nothing specific to each inverter.

I end up with lines that read:
friendly name SolarEdge (Inverters)
inverters [object Object]

Perhaps it’s not pulling each inverter’s data?
Do you have your Lovelace configs on GitHub where you’re able to pull the inverter data individually?

Thanks

Nice to hear it’s working! There will be some small changes for the final version. For all equipment the state itself indicates the number of devices (e.g. 29 inverters). The actual details of these devices are added as a list of devices in the attributes of the entity. In your case the inverters [object Object] will be 29 inverters. You should be able to access them using templating, for example:

{% for inverter in states.solaredge.inverters.attributes.inverters %}
{{ inverter.name }}
{% endfor %}

I don’t think Lovelace supports displaying attributes or templating yet so that makes it a bit more difficult. In my case, for my 1 inverter, I just added a template sensors to expose the inverter data, for example:

platform: template
sensors:
  inverter_0:
    value_template: "{{ states.solaredge.inverters.attributes.inverters[0] }}"

Hope this helps a bit.

Hmm, I think I follow.

The template example gave an error:
Error rendering template: UndefinedError: ‘None’ has no attribute ‘attributes’

And of course the template sensor didn’t return any values either.

Is that since more tweaking is needed as you hinted?

Could be that the sensor has a different entity id? I gave a direct copy of my setup which I’m currently updating to pass the reviews. Yours might be something in the line of sensor.solaredge_inverters? The template should then start with something like states.sensor.solaredge_inverters.attributes.inverters?

Ah I’m getting my terms mixed. I do have just one inverter, but 29 optimizers. Does this pull the data from the optimizers too? I can’t recall if it’s in the solaredge api, or only available when you have the inverter on your lan and access the api that way.

I can see the data this way, but don’t know enough code to convert this to sensors for HA.

curl -s http://10.13.37.11/web/v1/maintenance | protoc --decode Maintenance message_types/maintenance.proto

From work done by: https://github.com/drobtravels/solaredge-local/

Ah doh, I should have seen that.

{% for inverter in states.solaredge_inverters.attributes.inverters %}
{{ inverter.name }}
{% endfor %}

Doesn’t error out anymore but also doesn’t return any data.

Curious why my attribute layout wouldn’t match yours?

I have:

{
“inverters”: [
{
“name”: “Inverter 1”,
“manufacturer”: “SolarEdge”,
“model”: “SE10000H-US000BNC4”,
“communicationMethod”: “ETHERNET”,
“cpuVersion”: “4.4.67”,
“SN”: “731E645E-53”,
“connectedOptimizers”: 29
}
],
“friendly_name”: “SolarEdge (Inverters)”
}

Ah nice, and no, only inverter data and the number of optimizers are available from the solaredge api. Nice setup though, would be nice to make a component for this too but unfortunately my inverter does not support this. Maybe you can use the restful sensor?

That seems about right. You can create new templates for more specific details (e.g. for only the connectedOptimizers `states.sensor.solaredge_inverters.attributes.inverters[0].connectedOptimizers). Would be nice though if you could use templating in lovelace and for example create a list of these details.

That seems really promising, but it’s using protocol buffers to send the data back not json, which seems to be a high bar for a beginner like me. I’ll hang around until that other repo gets traction with an HA plugin for this. It’s nice to have a little more info from the formal API via your work in the meantime!

Hiya, as of HA release 0.91 the SolarEdge component has some new conditions which you can monitor. Among others site details, equipment and also power flow. Have a look here for more information. Any questions - please let me know.

@GidoHakvoort, is there any way I can provide some data from my inverter to help you make a component for getting more solaredge data directly from the inverter’s local api? I wasn’t able to get very trying to pickup enough python to parse the data into HA output myself.

Hi @AndyRPH I would love to work on such a component but without the actual converter it’ll be hard to test the setup and debug the system. I did found an opensource python project working on it and maybe you might be able to convert the SE component using solaredge-local?

Yeah thats where I learned of this. I’m just not enough of a programmer to get the data into HA. Thanks for all the work on the solaredge API half though, it certainly is a great addition, most people would probably be satisfied with inverter level data instead of data per panel. Then again it’s only that easy for folks with the new HD inverters. Older models still need modbus or to capture the inverter data as it flows to solaredge servers.

@AndyRPH, I guess drobtravels had a similar idea and developed a local solaredge component. It has been merged and should be available in the next HA update.

1 Like

Saw that! Didn’t get too far implementing it myself but am glad someone who codes better was able to!

Hi. Could someone tell me if there is a last_week sensor? Ty

Hi @Mikomi, the SolarEdge Cloud component supports daily, monthly and yearly reports. I haven’t tested the SolarEdge Local component but from the documentation it looks similar. The SolorEdge Monitoring API does have an endpoint to retrieve Detailed Site Energy (/site/{siteId}/energyDetails) which also has a ‘by week’ option, maybe you could use this to get data on a weekly basis? Hope this help!

Thank you Gido for your amazing work. I don’t have SolarEdge yet, but I’ll have it soon :).
I’ll have this version: HD Wave SE3500H
Do you by any chance know if the webapi will provide also data per solarpanel?
Because I guess that would be the only reason to look at for instance this way of logging https://gathering.tweakers.net/forum/list_messages/1721977/0, instead of keeping it simple with the webapi.
Or do you think my version already also has a local ip which I can access with the SolardEdge Local component and get per panel data that way?

@PuckStar I just got my SolarEdge SE10000H turned on 10 days ago. I originally setup the remote API, it updates every 15 minutes but provides more information. I got the local component setup about 10 days ago. It only appears to display 5 parameters at this time (current power, daily energy, weekly energy, monthly energy, yearly energy and lifetime energy). It may be possible to add more to the component. The local updates about every 10 seconds.

You can see last weeks energy via the history log.

So far I have generated 0.5 megawatts of power for the last 10 days (had a lot of rain and clouds). On a good day I should get about 70 kWh. Max power is at about 1230 until 1730 (10kW).

This post has saved my life since they removed SolarEdge from Home Assistant!!

WELL DONE!!