Communication with Solis inverter

Hi Robert & Co

It sounds like you have had good success and experience in directly connecting to Solis inverters via 485 Modbus. I’ve had success connecting an Arduino to a Solis G4 Mini to broadcast values on 433mhz to remote displays or to Ubidots MQTT etc.

However! Now after just upgrading to a Solis S6-GR1P3.6k-M I am having zero luck interrogating Modbus I get no responses. I’m using same cable / connector, gone back to basics using a USB to 485 adapter and ‘Modbus Poll’ app. I send 04 function commands to read registers (in 30nn range) and get nothing - just a time out - absolutely no reply from the S6…I move connector to my G4, it works perfect! It seems i’m not the only one having a problem. (tried swapping A-B, differnt bauds etc)

Have you or anyone managed to successfully connect to a Solis S6 via 485 Modbus? Any ideas why it doesn’t respond?
Cheers Steve

check the slave address is in settings on the inverter?

Address in all devices etc is set to 01 …and tried others.

I still haven’t managed to get a response from this new S6 ! Its driving me nuts as the 4G is working fine with the same interrogation set-up.

Either my brand new S6 has a fault, OR there is some quirk like this which showed the need for pull up /down resistors, OR my USB- 485 signals are marginal (maybe that’s why those resistors had an effect), OR i’m doing something really stupid - all are possibilities.

In desperation today I’ve ordered a wifi stick to simply prove the comms port works!.

I have been using the blue USB-485 adapter in the photo but i have to say its output signals look pretty poor & noisy on a scope - (although it does work happily on my Solis 4G mini!) i’ve also tried my arduino setup with a MAX485 which has cleaner signals. Still Nothing!!

I’ve also ordered the black adaptor to try plus the module board which I can drive from an FTDI USB-UART device.

I’ve never seen a Register assignment list which specifically mentions a Solis S6 or any online evidence of anyone connecting to an S6. I’ve been mainly trying to use function 04 reads on addresses in the 3000 upwards range. Is this correct? Could the S6 use completely different addressing ? if the address is wrong I thought it should throw and error response.

I’ve also tried 33000 upwards as i’ve seen that mentioned.

I think my next step is to see what the WIFI stick does when it arrives… unless someone spots that i’m being an idiot!

I’ve used one like the black on in the middle to connect to a 4g successfully. I have not tried a 6g. You can always contact their help department, they are quite useful if you can get through to the right person. One thing I would look for is compatibility between the solis dongles. I would think if the wifi dongle says it can be used on a 4g/5g/6g model then in theory (there could be some software detection), the comms are probably the same. If there are different dongles for different generations then you might be out of luck. The Wifi dongle used to allow you to set a second endpoint to also send the data to, to you might be able to use that technique.

I’m assuming you’ve seen this for the modbus info?

solis
Hi All …
PROBLEM SOLVED !! The Solis S6 Comms works fine, it was caused by a physical problem in the Comms socket to plug mating (the B- line was not connected through!!). It’s taken me days to get to the bottom of a stupid fault!!!

Full story and some pics explained in this link.

Many thanks to everyone for their input and help.
Steve

Hi
New to the forum.
I’ve just got the Solis Rai and using this forum, I was able to get Raw Modbus working using the Datalogger. No Solarman v5 protocol involved at all which I’m not sure is a good thing or not :sweat_smile:

My issue with the modbus registers in circulation is, I’m unable to locate the correct register for the PV CT meter. Ive checked all the FC4 registers from 33000 to 33300.

Does anyone have any idea which register is used to get the PV reading from the PV CT? Or does anyone have an updated modbus doc for Solis? I’ve raised a ticket with Solis but they haven’t even picked it up yet

Edit, seems I put this in the wrong thread: the related thread is Solis Inverter Modbus integration

Hi Robert,
I am close to going crazy on trying to get my Solis RHI-3P10k-HVES-5G to answer via Mobus. No luck at all! Reading out the Acrel Meter was quick and workig right away. But my Solis: no way!

After I had used a commercial modbus to lan adapter, I have now tryed to go with an D1 Mini with ESPhome. Again: Acrel - no problem. Solis Inverter - nothing!

I am using the Modbus Register Document von Ginlong ( RS485_MODBUS Communication Protocol
Translated on 2021.5.6).

You wrote that you do have a working configuration. Would you be able to share that?
There must be something I am missing here…

Many thanks!

I have started to add in Solis support in my custom_component Integration. Universal Solar Inverter over Modbus RS485 / TCP custom_component (Formally SolaX No Pocket WiFi) - #794 by wills106 It’s not been tested yet and only contains Serial numbers for Single phase such as RHI-6K-48ES-5G

You’ll know if it’s the correct communication protocol if you get an error in your log _LOGGER.error(f"unrecognized {hub.name} inverter type - serial number : {seriesnumber}")

I can then add the first 4 or 6 digit’s of the serial number so it can auto detect.
For example the Solis RHI-6K-48ES-5G. starts of 603105. 3105 being the model number and the 60 is the kW rating of the Inverter.

If you would like to beta test Solis support in the Integration let me know.

HI Will,

sure, why not giving it a try.
I own two Solis RHI-3P10K-HVES-5G inverters.

I have been trying to use a D1 with ESPHome to establish communication with my Solis Inverter.
But I also own a Waveshare RS232 / RS485 to ETC converter (Type: H7-4). Its not listed on your wiki Page and also offers a lot less options to work with. So maybe not the right device for the job.

One of the SN starts with: 110CA22

Solis cloud does have a rest API but it is not enabled by default. It took two support requests and four weeks waiting but support now tell me it has been enabled on my account.

While waiting I did a proof of concept that showed it was possible to screen scrape parts of the web GUI using Selenium

Support tickets can be raised at Submit a ticket : Service Centre . The API is described at 锦浪监控

post deleted

Hi!

I’ve managed to get the Solarman integration to connect to my Solis inverter via the WiFi stick…it was a bit of a #&# to get it set up so the stick would accept connections but now it seems to be working fine. However, I’m hitting the same problem of not knowing the registers to hit for the data I want to extract. I have managed to get quite a few of them and have created my own parameters.yaml file (based on the Solis Hybrid config). I can get the DC-data, live power, daily/monthly/total generation, frequency, temperature etc…but there is more data there that I’m keen to pull…

Did anyone find a reliable source? The supposed official guide (Modbus Communication for Solis Inverters : Ginlong Solis) doesn’t have the right addresses but does show what is available, the reference guide provided at Ginlong Solis (PV) data logging. MODBUS registers map. is also a bust. However I did glean some useful registers at Reading Ginlong Solis inverter over serial and importing in Home Assistant over MQTT :: Sequr and at Solar Upgrade Solis 1.5kW inverter and Raspberry Pi RS485 Logging as their code examples contained addresses which brought back the data I needed!

But I’m rather hoping that someone can point me to a more comprehensive guide of share the registers that they’ve uncovered. I can’t share what I have now as I’ve made some more changes and it is dark here so the inverters are offline and I can’t test anymore…

Hi all, I had the same problem with my S3 inverter, but I didn’t want to allow uploads to their servers. So I ended up writing a small python script here to grab basic information from the web interface of the stick.

It publishes the data to MQTT and sets up the entities automatically on home-assistant. There are some Dockerfiles to containerize it (as I am doing).

There isn’t much data available on my web interface but for me the power, daily and total energy statistics are enough to set the Energy Dashboard on home-assistant.

Did you ever find the register number for the CT meter?

Hi xion, my solution is currently working in both, and has been stable for a few months now. Please check out the post above and the github with the esphome config & schematic for how to do this!

@wills106
Hi Will,
I have an Solis invertor Model: RAI-3K-48ES-5G
Serial Number: 0602622xxxxxx63 (15 digits) starting with 0. This is what’s listed in the Solis Cloud.
I am using the Lan stick (not WIFI) and I can see that the integration is getting the serial number but not recognising it (not surprising).
The message in the log is
“unrecognized Solis inverter type - serial number : 0602622xxxxxx6” (only 14 digits)
Is it possible to support this?
Thanks
Andy

Just released the Beta 2023.01.3b1 should work fine now.

Looks good. Adds to home assistant fine now and values look ok on initial glance.
I’ll play more tomorrow and update if any issues.
Many thanks

1 Like

I’ve stumbled on this thread after searching through integrations etc. I don’t know how aware everyone is with Solis, but they’ve recently opened up their API to home users. You need to request access to the API through their solis-service platform, but to be fair, the agents that assist are pretty quick. I think I had my API access approved within about 24hours.

I haven’t integrated yet, and I have little free time to handle it on my own. But if someone was to get started and map out the feature’s I’d be more than happy to help when I get a bit of free time. The documentation provided is extensive and it looks like there are just reams of endpoints and data points we have access to such as from the inverter itself down the data that is logged on the datalogger.

Hello Sean,

I plan to integrate my Solis inverter into HomeAssistant as well. There seem to be quite some ways to do it.

1: Without any data logger directly via the RS482 Port. The protocol seems to be open (I found a pdf about that)
2: With data logger installed - just grab the data from the TX line
3: Grab the data from the Website using a python script
4: Use the API

Well, option 1 is a no-go for me, because I want to use SolisCloud.
Option 2 sounds interesting and I’ll have a look into that. I found a lot of rudimentary documentations on that topic, so I guess I’m gonna start with a RS485 to TTL converter, an Arduino and a serial Interface …
Option 3 is also a no-go: I don’t want update delays of 5+ mins…

So Option 4 sounds really interesting. But like option 2, I can’t find any information about the refresh rate. If the API is as “fast” as SolisCloud, then it’s pretty much useless …

I ordered the API access aswell, but the Ticket System seems to have lost a lot of performance. Ticket is still pending and not assigned … since 2 days now. However, I want to give this Home Assistant with a Solis Hybrid inverter – A taste of Blue Feathers sort of documentation a go once I got the API access.

Has anyone set up the API access and can say something about the refresh rate? Same goes for the RS485 Link: How often does the data logger reads data from the inverter?

1 Like