Getting Data from Solis Inverter

Sorry for late answer.

Yes, it looks like this model. I’ts the one with green 4 wire plug (solis home page: WiFi-Adapter DLS-W)

@Tonygadget glad you got it up and running. It is very powerful and I was glad to get shot of the SolisCloud rubbish!

To your question, the only real reason I decode the values like that is to standardize the code within my Node-Red functions. Some values come through within the other array just fine (the uint16 ones if memory serves me right) but the larger values take up 2 registers and therefore combining two decoded numbers into one gets messy. Might as well just use the same deserialization code and give it how many registers the number takes up (e.g. 1 or 2) - that way the code the same either way.

Hi,

I have just ordered this plug + USB adapter since I will have a Solis inverter running in my garage very soon.

I have a Solis WiFi stick also (Generation 3) that I will use to test things but then my plan is to go with a Raspberry Pi Zero W (first model that I had in box just collecting dust…) to read the data from the inverter to HA, as little cloud as possible is my goal, using this project GitHub - incub77/solis2mqtt: Modbus RTU / RS485 to MQTT bridge for Solis Mini solar inverter.

Since I don’t speak german I used Google translate to help with that image @sticilface posted (See image here), I have 0 experience with modbus so far but as I understood the text on the image I just choose either D- och D+ and connect the Ground pin to either? (Not both obviously :slight_smile: )

Is that a correct assumption or did my translation end up horribly wrong?

I also plan to run the Pi Zero W from the connector on the inverter since I read the WiFi stick can use up to ~5W in the technical details, that should be plenty for the Pi Zero W as I understand it, or can someone tell me that is a bad plan before I even try it?

Huh. Interesting. I have a Solis S6 inverter and the S2-WL-ST data logger, however, I don’t see any open ports other than 53 (dns):

% nmap -PN -p1-9999 192.168.1.205
Starting Nmap 7.93 ( https://nmap.org ) at 2023-06-14 23:38 BST
Nmap scan report for 192.168.1.205
Host is up (0.000021s latency).
Not shown: 9998 filtered tcp ports (no-response)
PORT   STATE SERVICE
53/tcp open  domain

Curiously, there was a (very crude) web interface on port 80 protected with basic auth there a few days ago, but it seems to have disappeared. Not that there was anything of note on there, just a status page with zero values against everything, some wifi settings (I’m using LAN), and a couple of other completely non-functional pages. Data appears to be going to Solis Cloud just fine.

I did try hooking the inverter up to my Waveshare PoE Modbus device on the inverters com port but I couldn’t get it to connect let alone read any registers at all.

I’m using an approach that hasn’t been mentioned yet to non-invasively log data from my solis inverter. Rather than redirect Server A, or use Server B (which doesn’t seem to work for me) I’m just creating a copy of all the network traffic from inverter on my router and sending it to the machine I want to have log it.

I’m using these IPTables rules:
On the router:

iptables -t mangle -A PREROUTING -s <IP address of inverter> -j TEE --gateway <IP address of logging server>

And on the logging machine:

iptables -N inverter_log_and_drop
iptables -A FORWARD -s <IP address of inverter> -j inverter_log_and_drop

# log packets destined for the solis cloud monitoring endpoint
iptables -F inverter_log_and_drop
iptables -A inverter_log_and_drop -p tcp --dport 10000 -j NFLOG --nflog-prefix "SOLIS-PACKET"
iptables -A inverter_log_and_drop -j DROP

which copies all packets with destination port 10000 (the solis cloud monitoring port) to the nflog buffer and then drops all packets.

Packets can then be read from nflog in userspace. I’m using Perl’s Linux::Netfilter::Log, but there are similar libraries for pretty much every major language.

This read only access is enough for me for the moment, but I may look at exploring some avenue of modbus write access in the future, there’s a lot of things I can think of that might be money saving if I could dynamically change how and when the batteries charge. It just annoys me that all this has to be so hacky rather than a proper, well supported local network API for this sort of thing.

I was hoping to switch from my 2x Waveshare adaptor and WiFi Logger (2x POE and 1x Wifi) to a single ethernet connection simply to tidy things up a little.

I got an S2-WL-ST to try but I had the similar problem…only Port 80 was listening so it was useless for modbus.

Sticking with the Waveshare method for now as it’s pretty solid once it’s working.

The solar panel company have upgraded the firmware in my batteries and solis inverter. They also gave me a new wifi datalogging stick. I have been using solismon3 and MQTT without issue.

The new logger has a SN 5AnnnnnnnnnnnnnE , all the software I have looked at expects the SN to be numeric
Any suggestions please?

Sorry not in reply to your question but another question.

Which sensor gives the actual house usage/draw? (ignoring solar & battery)

Using LAN stick direct & using foboundy’s relative easy & straight forward HA coding, all works great.
read info & now got it to adjust Econ7 overnight charge times depending of how sunny the following day but that’s another story.

33147 House load power … Load power which is the active load is not actually correct.
Surely should be 947 W (small solar generation & rest from battery)

Now I have added the backup circuit & that is separate & uses the 200W as shown
So likely this is not in the load power but even 595 + 200 = 795, still 150 W out.

Battery power + Solar power IS correct - I can set up a calculated sensor but would like to understand.
Solis cloud has the correct KW - perhaps that even does it via calculation?

image

Any info.

I stumbled upon this and it’s now kicking out live data every 30 seconds which is far better than the cloud based integrations I used before

1 Like

to check this, we need all values. Where is your house load power? What is Solid home?

Hii, I’m very much a noob when it comes to home assistant. I would like connect my solis inverter as shown in the link below. but it has to little info for me to make sense on how to do this. Could you help me out in any way? many thanks in advance.

Feel free to try my integration GitHub - Pho3niX90/solis_modbus: Home Assistant HACS integration for Solis inverters

hii, I installed the intergration. but I don’t know wich port my inverter is using. where can I find this? Also the inverters shut of when they don’t produce power. Is this a problem and if it is how can i get around that?
Thanks in advance.

It’s dependent on the datalogger you are using, for st-2 it should be 502, the rest I believe are 8899

Regarding the shutoff, this wouldn’t be ideal, as data would be unknown during this period, however, it should just go back to polling it once online, there isn’t a timeout built in.

Hi, I have set up integration in node-red and pv, but I do not see the entity in home assistant. where can I find them?

this looks good
https://solis-modbus.readthedocs.io/en/latest/

It certainly is - working really well for my Solis inverter.
I have disabled the previous ones and just use this now.
Very responsive developer.

HI 0rangutan! are you talking about this?
https://solis-modbus.readthedocs.io/en/latest/ ?? Can you share your inverter model and WIFI /lan dongle?

not compatibility with my wifi dongle

Sorry to resurrect this old thread - is it possible to chain two data logging sticks together? (presumably changing RS485 address).
I want to keep both the original Soliscloud functionality and local RS485 control (perhaps with alternative FW).
I have an S3 and DLS-W stick…