I did, I’ve mirrored the port on my switch, to which the inverter is connect, to another port where a raspberry pi is connected. I’m dumping the traffic the inverter sends/receives using tcpdump, piping it into a Python script.
The traffic is TLS encrypted… but that’s not always the case. Just after installation (or after factory reset), the Solar Edge will communicate un-encrypted. After 24-48 hours ish, an encryption key will be send to the inverter by the Solar Edge platform. Since I was listening already at the time, that key was intercepted as well.
So now I am able to keep listening in, even when it is in an encrypted state.
Using the current solution using jsonrest sensors, I run into the issue that the values are stored with the timestamp on which they are received - instead of the “lastUpdateTime” timestamp. This causes the values to shift in time.
Normally this is not a big issue, but I use the “currentPower” value to calculate the net consumption of our house:
[inverter production] - [smart meter production] + [smart meter consumption]
Because the SolarEdge values have the wrong timestamps, this calculation provides wrong values which sometimes even results into negative net consumption. Does anyone have a workaround for this?
@frenck Can you share a more detailed write up of this? Our install is slated for November. I can mirror the traffic in my edgerouter and…just setup packet capture for 48h? Then hunt for a specific something?
I don’t want to intercept such that their platform doesn’t work I just want to spy on the data by mirroring the port.
There is an installation summary on the website of solaredge monitoring. Here you can find the site id of your installation. Send a request to [email protected] for an API key based on your site ID. The site ID (xxx) and API key (xxxx) can be entered in the code that I have shared:
Just jumped into this and would like to say thanks for the effort to make this happen. Works very nice with the jsonrest.
Is there any way to make the queries stop for a certain period of time? I would rather use up the 300 api calls only daytime as the panels do not produce any power night time. Thanks.
Hi there, received my solar panels earlier this year with also a SolarEdge setup. Have been working on a SolarEdge component to integrate the setup in my Home Assistant installation. The component has been merged into the development branch. For now it only supports the overview request but I will add more sensors in the near future. You can find some more information at https://github.com/home-assistant/home-assistant/pull/18846. Will post the link to the component page when it has been added to the next release. Any input / questions / feedback is of course welcome.
Hi @GidoHakvoort, that would be very nice! We will recieve our SolarEdge system in februari. Not sure how to implement it right now, so a component would be very nice!
From release 0.85 Home Assistant has a Solar Edge component! Check it out at: https://www.home-assistant.io/components/sensor.solaredge/. I’m working on an update which will add support for site details and equipment overview. Feedback is of course always welcome.
Hi @divirg, if you have something like a digital/smart meter you should be able to get details about your energy consumption. Have a look at the DSMR or the Duke Energy sensors.
For instance, my current output: {"siteCurrentPowerFlow":{"updateRefreshRate":3,"unit":"kW","connections":[{"from":"PV","to":"Load"},{"from":"GRID","to":"Load"}],"GRID":{"status":"Active","currentPower":0.78},"LOAD":{"status":"Active","currentPower":1.31},"PV":{"status":"Active","currentPower":0.53}}}