My first post here, and right away a question, to get started. My ultimate goal is to read the register values in my SolarEdge15K inverter over the local in-home Ethernet into a small computer (Arduino) and activate/stop loads based on the excess energy being produced.
My inverter has a meter connected to one of its RS485 ports. As it is a SetApp configurable only inverter, it should have two Modbus/RS485 interfaces. (according to https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf, page 3).
All telemetry data over the solaredge monitoring server works, so the connectivity is ok. But I do not want to incur the complexity, dependency and latency involved with going through this monitoring server using the available API.
First step is to get into my SolarEdge with a python program, from my laptop, e.g. solaredge-modbus · PyPI . Of course, this did not work from the outset. I diagnosed the problem to the fact that my SolarEdge is totally closed. Using Angry IP Scanner over the IP address of my SolarEdge I see zero open ports and although ping works, any other communication fails. (ftp / http(s) etc.). Page 11 of the above mentioned document says: Modbus over TCP is by default disabled.
So how do I open a port? And as mentioned on Page 12 of the above document, I need to send in a request into the SolarEdge inverter within 2 minutes?
- Anybody out here who has experience / has done this?
- Do I need to get an installer account to be able to open the TCP connection from my mobile with SetApp,
- and from there on I need to poll every two minutes to prevent the port from shutting down again? Guess that is a tall order, especially when something goes down …