Integrating SRNE MPPT Inverter with HA

Hello @Koshman! I’m glad that you found this useful! I’m a bit surprised that you made it work with my code on a different manufacturer tho? Maybe those Chinese brands have these indexes in common. It will probably be better if you try to find the accurate index list for your specific device. Or else you risk wasting your time trying to get my SRNE translations to work :slight_smile:

I have a specific sensor in my device that gives me the AC Load output without the need for calculations. I did calculations for the battery use however. It isn’t totally accurate tho, but close enough.

I have put all my modbus code in my main configuration file. I find it easier to work with when I build templates and search for sensors. Not that esthetic maybe.

ok will do, did you simply ask the support for the ‘index list’ without any context or did you provide a reason for why you needed it?

Also yes, i think PowMr and SRNE are made in the same factory so thats why eitehr the majority or all indexes are the same.

Yes I just asked for the modbus index file and that I needed it to fetch data through a network gateway. If you’re curious I uploaded the srne index here, you could fiddle with it while you wait for the proper one :slight_smile:

1 Like

Since this post my ASF has gone completely dead from exposure to induction load.

Hi,

I just got PowMr hybrid inverter 6.5K 48V (POW-HVM6.5K-48V) and sadly discovered that as soon as the AV input is turned on, it switches to Bypass mode and uses grid power to feed the output no matter how much solar or battery power. So SBU configuration has no effect.

PowMr told me this is a known error with the model and can’t be fixed. They suggested that I use a time-controlled relay to control the ac input.

This is a no-go, as it should take the available solar and battery power into consideration.

Now I am thinking that if can integrate it to HA, then I can do much better control of when to switch the ac input on/off.

Anybody succeeded interfacing to POW-HVM6.5K-48V?

I’m using a shelly 16A plug for each of my inverters to monitor the AC consumption. That also gives me the possibility to cut the power to the inverters. Sometimes when the inverter is waiting for the battery voltage to rise and I quickly wanna change to inverter powered mode I turn the AC to the inverter to off thus making the inverter switch from AC to solar/battery power. Could easily be used in automations as long as you can trust your connection to the inverter to 100%. Things can easily go wrong if you for example loose the connection to the inverter after the AC power has been cut making it possible to draw the batterybank to 0%

Hi Mattias,
Thank you for your input, but first step I need some help to figure out how to get data from the PowMr inverter into Home Asistsant.

The inverter has a RJ45 rs485 serial interface. with following pinout:
1: RX
2: TX
3: VCC
4: VCC
5: RS485-A
6: RS485-B
7: GND
8: GND

Would it be possible for example to extract the data from he inverter and transfer these to Home assistat by esphome or over mqtt?

Your inverter probably has a different wire scheme and won’t work with my guide. You need to find those settings in you manual, I can’t help you unfortunately

I also use a epever tracer inverter and have to wire it differently to get data from it through my gateway, all info in the manual though

Hey all, just wanted to share my personal feedback on my latest SRNE / PowMr (POW-LVM3K-24V) setup.
I tried many ways and so far, those are the results:

- Probes and Connection type:
It appears the USB and the RS485 are tied to the same controller internally, and pulling both at once will create conflicts, as in if once port polls data, the other port is unavailable for that timeslot.

- USB:
iPow connection is stable on the computer, however data in the third tab is fractional, not direct reading (as in voltages readings can be *2 or /2 from real life)

Trying to read USB port through a VM connected to /dev/ttyUSB0 worked, but was highly unreliable, with half the readings not happening because “Command unrecognized or invalid”

Trying to read USB port from a RPi (to try sending over MQTT) under Raspbian failed 100% of the time. Port is detected, but for some reason, I had the “Command unrecognized or invalid” every single poll.

RS-485:
RS-485 through RS485-USB adapter : Works, but I didn’t like it
RS-485 through ESPHome : Couldn’t make it work
RS-485 through Waveshare : Worked 100% of the time

Final and best solution (for my use case and liking):
Finally, this is what I used, Waveshare 485 to PoE Eth “Breaker style” device and YAML config to poll each address I needed.

Note : I found that readings were… of average accuracy. Especially in the grey zone where your solar production is close to the inverter output. Most of the time, my panel would say “0W”, my battery discharge would also be “0W” but my inverter would output “100W”.
Note2 : I also find the internal SoC to be very badly implemented. It does not the battery capacity, hence I am suspecting the SoC is just a curve based on the battery voltage. For accurate SoC, I can’t recommend enough getting a coulombmeter or even code your own SoC (probably what I’ll do next)

2 Likes

Hey Mattie, I also found some discrepency in the Panel measurements, especially when battery is charged. At that point, for example, I can use 200W from the inverter, but battery discharge would be 0W, but also panels would read 0W/0A. Which I believe is wrong, as it is set to PV Priority and assuming those 200W are indeed pulled from the panel. Also reading 264.
Does anyone ever solved this discrepency (by polling anther register or making home-made helpers to correct this offset?)

Hey! Thanks for all your info, I’ve noticed the same as you regarding the polling and the battery charge. I think this is an issue with bad coding in the internal computer of the inverter and not the rs485 at all. It’s only a guess but srne is not exactly a high end product imo, and the data you get from the display is totally crap. The hardware and components over all feels great but where they save money is probably the coding and data calculation. But still, with the price taken into account I’m totally satisfied with the inverter. It does what is should and the overall consumption graph seems ok at least which is most important for me.

Also I think everyone is having a hard time calculating power draw from batteries in general, ESPECIALLY lead acid like many still use (including me). It’s just too many factors that the inverter can’t take into account, like how the battery bank is built, cable sizing, connections, other resistances etc. So I don’t think you can expect much more unless you calculate the SOC yourself.

1 Like

Hey all,

I got two SRNE inverters in PAL and I am using the USB connector to go to an Linux appliance and have the USB to Serial terminate there.

I have been unable to communicate to the second inverter, it does not respond to the slave addressing.

How do we communicate to the other inverters through the master address 01 inverter with the RS482 and rtu modbus? Has anyone been successful with this?

RESET01_DEVICE=‘01 10 df 01 00 01 02 00 01 48 8C’
RESET01_RETURN=‘01 10 df 01 00 01’

RESET02_DEVICE=‘02 10 df 01 00 01 02 00 01 5C 7C’
RESET02_RETURN=‘02 10 df 01 00 01’

I did some more research with testing on a two parallel inverter setup and it seems that when connecting the RS485 port with both the T568b pin 8 (brown), pin 7 (brown/white) and pin 2 (orange) to each other it does create a Modbus RTU bus and I can communicate with the inverter build in USB connector to the other inverter (with the different slave address)

Which made me have the question how the heck the inverters communicate with each other when in parallel mode, I was expecting they where linked with the communication cable and used Modbus on there, but maybe they have to separated communication channels…

Next step would be to have an ESP32 to RS485 with an IPaddr as gateway… instead of using the USB cable to my Linux appliance with socat.

@Mattie I have the exact same inverter as you. Do you happen to have the modbus manual pdf for this model?

Out of curiosity, I have found out that this model is very likely to be the same as EASUN ISolar MLV 3KW-U.

Answering to myself:

I asked SRNE support, and they confirmed this is the modbus manual for such inverter (SRNE HF2430U60-100):

SRNE.Solar.Charge.Inverter.MODBUS.Protocol1.96.pdf

1 Like

I have a ASF48100S200-H SRne inverter but I’m stuck to connect to my HA.
I have a USB to rs485 waveshare usb stick.
I have tried in many way but seams to not communicate. Can you please give me some info about to connect and communicate?
Your info will be really appreciated

I’m sorry that I cant answer everyons questions here, I’ve got both limited knowledge and time due to work and family. It’s nice to see so many users for this setup though!

@3industries I have no idea how to connect a USB waveshare, my guide is about a waveshare TCP/IP Gateway. I’m guessing you have the usb connected directly to the hassio unit, so you need to set up the controller with the modbus integration as a USB device like described in the docs here Modbus - Home Assistant

# Example yaml:  typical serial connection
modbus:
  - name: modbus_hub
    type: serial
    port: /dev/ttyUSB0
    baudrate: 9600
    bytesize: 8
    method: rtu
    parity: E
    stopbits: 1

My latest dashboard of my 3 inverters for some inspiration, the setup works like a charm! It may look like much but the coloring is key, I set thresholds so I only need to look for red on any value. If all is green/orange all is good!

I’ve got 2 SRNE 1.4kWh & 4kWh and an Epever 3.6kWh connected. The Epever is only a chargecontroller connected to the batterybank

First column is a genreal oversight of the total parameters and my current devices running on the system ordered by load

Second is divided in two columns showing each SRNE and the third is the Epever with some other values including the batterybank measured separately to see the eventual deviation between the two strings. I alsom have my zwave/shelly plugs connected to the incoming power for the inverters. That way I can also control them in inverterstate if I want them to switch to invertermode earlier than the voltage parameter I can turn off the power from the mains to make them fallback. Also I take advantage of their build in fuses if by any chance the power gets to high

The third column shows the log of events so I can see when the inverters change operations followed by their actual operation values and how to control them through specific command or automation to start the charging based on my current electricityprice


@Mattie, just a small issue in your config. The address for Modbus_Inverter_load_daily_consumption should be 61488.

Thanks, that was my first version of the config wich was alot of testing. I cleaned out many of the sensors after that mainly because I did have performance issues in the beginning due to to many requests or bad timeout settings in the integration I think. So I didn’t use that one for too long. I can’t find that address in my config anymore. Probably because I only need to measure the total draw from mains instead and that metric is given to my from the shelly/zwave plug (16A) instead