Communication with Solis inverter

Sorry Robert I’m not quite grasping what you mean, modbus tables is something I’ve not been involved with but I have flashed several NodeMCU boards with Tasmota to use as sensors
Do you think the 2 items I’ve put links to above connected together as per you Github drawing would work with the solis wifi dongle
A photo of your completed unit showing to soldered / connected wires would be a great help

You don’t need the wifi module. You connect directly to the inverter and bypass the wifi module. you can use an RS485 to TTL converter, connected to an ESP32 dev board, and then ESPHome to get the data over modbus. I have a YAML file that will get you started with that. It’s actually pretty simple to do.

1 Like

Sounds cool! If you don’t want the stick, as you suggest the modbus route is probably the easiest option.

I do believe what’s going on for me is slightly different: (a) I noticed the inverter was not communicating using modbus with the wifi stick (as per a few concepts I’ve seen on the net), so was not sure whether this was going to work with my inverter (maybe it’s changed with the S5) - so figured I’d give reverse-engineering a go, and (b) I have a reason to keep the wifi stick running in parallel.

Robert - have you considered publishing your yaml config for the modbus connection on github or similar so we can have a look?

Hello! Those two look ideal.

  • Any node-mcy/wemos board should do (smaller the better though). The only requirement is it must accept 5V input (anything with a usb on it should).
  • The TTL RS-485 converter you’ve shown there is perfect; same one I used.
1 Like

I’d really like to go down this avenue but I also really don’t want to loose the official Solis Cloud feature, has anyone achieved both without it being overly complex

Hi, I did write a scraper that would pull the data from the solis cloud into your software, but this was a few years ago and might not work anymore. Might be another way to achieve what you want. We had some issues with the way the solis cloud did the alerting which meant we had to look at other custom solutions, but again, this might be fixed now.

1 Like

The solis wifi stick hardwares & firmwares vary so much that it seems impossible to get 1 system working for all. Across mine & my parents systems we have 4 different solis inverters and 3 different solis sticks (all wifi)
All upload to the solis cloud ok
The oldest stick (1 of mine) is not working with the http://xxx.xxx.xxx/status.html web scrape method
My newest 2 (only bought about 4 months ago) are working using that method
My parents 1 (bought about 2 months ago and looks identical to my newer 2) is not working and has a much more limited web interface
All very strange & annoying!!

If I recall there is an option on the wifi stick to also supply another endpoint for it to send the data too. I never got this working on my system, but perhaps with a little perseverance, that could work. You would then just need to set up a local endpoint to receive the data from the data stick.

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…