Scraping Delta SOLIVIA PV inverter data

The scrape integration is documented here: Scrape - Home Assistant

Dear Robert, sinds about 2 months Delta ended the portall and now, at the interval, the gateway doesnt communicate, of course and the 2 values you are scraping aren’t available until you reset the gateway. Do You perhaps have a hack or crack to overwrite the gateway, whitch one is, in this state virtualy worthless?
I still don’t know how to implement your scrape scrips and where.
BTW: I am still looking at it with the webinterface.

Hallo Jeroen, ik ben heel benieuwd hoe je de M1 gateway op passtrough zet. De sequenties zijn nu inmiddels bekend en er is een .pdf van. (ps. ik heb je op linkedin gevonden daarom doe ik het nu in het Nederlands)

I never had to reset or do anything with my gateway, the data that I’m scraping has always been available (the reason why I use it like this is because the previous owner of my house never left the access password to the gateway, or the Delta portal, and I didn’t want to reset the gateway).

Can you see your inverter on this page: http://AA.BB.CC.DD/Inverter.htm (where “AA.BB.CC.DD” should be replaced by the IP address of your gateway).

I have two inverters that are both mentioned there, and for each there’s a link to the inverter data page that contains the table with the information that I’m scraping.

Hi Ton, you’re right, I’m a native Dutchie - but I’ll reply in English, I believe that’s the preferred language on the forum.
I can send you an example Perl script that polls several values from an inverter using the M1 gateway as a relay, does that help? I haven’t found the time to re-write the code in Python, but I’d be happy to co-develop and/or test if someone wants to take up this task.

1 Like

Since my gateway was starting to act up too I replaced it with a hardware solution based on an ESP32: RS-485 component for some Delta Solivia G3/G4 solar inverters

Personally I prefer wired over wireless, so I’ll stick with the M1. The 2 that I’m using work flawless. And I have 20 or 30 or so that I bought second-hand for a good price :slight_smile:

Hoi Jeroen,
I also prefer wired and the M1 gateway wasn’t cheap so. Now Delta stopped with the Azure based portal. I would like continu to make use of this gateway if posible. But now it cannot connect any more, The ‘actual power’ and the ‘total energy’ are sometimes not available anymore, until you restart the gateway, making the device worthless for automatisation, I think. But I am talking about the webinterface off it. Q: With such a script as you are using, you probely, bypass that interface. Am I correct in that asuption?

This was exactly the problem that I was having, often the values weren’t available anymore or they were wildly inaccurate. I used a smart plug to power cycle the gateway every night but that didn’t stop the issue from happening during the day, which is why I went on to look for alternatives.

My hardware solution (which, if wired is really a requirement, should also work on a WT32-ETH01 board, although I haven’t actually tried that myself) has been running without issues for about a week now.

@Robert,
That the values where highly inaccurate, I experienced also after I tried to include the scrape script, by your hand with the IP and name of my inverter. I thought it was because I inserted in the wrong config file. After I removed it, the wright values reappeared after several reboots of HA and the gateway. I just tried something, because I am not hindered, by any real knowledge of YAML or Python.

I ran this scraper setup for many years without problems, the issue with incorrect values being retrieved has only started recently (and I can see the values being incorrect on the webpage, so it’s not because of an incorrectly configured scraper).

I never used the Solivia portal so didn’t know it was discontinued, but it does sound like a likely cause of these issues.

My hardware solutions talks directly to the inverters, with the added bonus that it provides much more information than the gateway ever did in my case.

I don’t need that much data. Actually only those two values ​​that I mentioned earlier and of which I think the actually generated energy of the PV installation is the most important, because it does not come via the P1 cable. HA uses the value that the smart meter indicates and that is after the current consumption has been deducted. That is of course also important if you think about tax payments. Consuming as much of the energy generated as possible yourself, is the most cost-effective option.
I still think your scrape script is the closest to a simple solution for me. If only I understood a little bit.
Q: You use 2 inverters, I only have 1. Does that affect that script? Or do you enter data for those inverters twice?
Q: Where exactly, so in which file should these lines be inserted in HA, or should I create a new file, with what name and where should it be located in HA?

The gateway has separate pages for each inverter, so I had configured two scrapers.

How to add scrapers is documented here: Scrape - Home Assistant

@Jeroen, Send me a.u.b.(please) that script, although I am an absolute beginner in scripting, I have to learn it and then I might also understand the clues that RobertKlep refers me to. A long way to go. So don’t hold your breath. I have some professional experience, but that mainly applies to Microsof. I still have some links to a Forum about the Delta, so if you are interested I can post them (if that is allowed here) I have been looking for a way to download the info from my inverter since installation (now 8 years), via that M1. I was so disappointed when I heard that it had to go through that Kwalitatief Uitermate Teleurstellende (Qualitatively Extremely Disappointing) portal. The web interface prevented me from having to go to the attic every day to read the final score of the day and gave me a kind of dashboard for the current yield.

Indeed, my script doesn’t scrape the web interface of the M1 gateway, it uses the M1 gateway as a serial device server (which is undocumented by Delta).
I’ll put more details in reply to your more recent message.

Sure. I just created a shortened version of what I use myself, will send it as a PM.

If anyone has links to current Python projects that talk to Delta Solivia inverters via serial, please let me know, perhaps one is designed in a way that would make it easy to extend it with support to relay via the M1.

Feel free to share it here, I’m always interested in undocumented stuff :wink:

@Jeroen The following links on Github, are not directly about the M1 but are relevant, I think
…com/bbinet/delta-rpi
…com/runesl/DeltaPVOutput
…com/lvzon/soliviamonitor#readme
…com/rwh86/delta-rpi

1 Like

All those projects basically use the same method as I am with ESPHome, reading the inverter data directly off the RS-485 bus.

The protocol is well documented, but the main issue is that there are dozens of Solivia inverter models, and about 10 different data formats. Most implementations only use a single data format (my implementation too).

Somewhere in This forum is a reversed engineerd “DeltaSoliviaProtocolTest.exe” also needs a com port but perhaps useful “…forums.whirlpool.net.au/archive/1901079”
It is fairly old and long.