diy solar

diy solar

Has anyone tried to use SRNE (Modbus ?) communication protocol with MakeskyBlue, PowMR or EASUN SCCs ?


New Member
Feb 8, 2024
Sri lanka
I saw in several places that, MakeskyBlue, PowMR or EASUN Solar Charge Controllers are all re-brands of SRNE (or Voltronic) AND they are able to use SRNE Software applications with MakeskyBlue, PowMR or EASUN SCCs.

If this is true, I am guessing one should be able to communicate (read/change settings) with a MakeskyBlue, PowMR or EASUN SCC using SRNE published protocol(MODBUS) in a software application.

Is there any one who tried this ?
I'm very much interested in this. The main question is, are these using true modbus protocol?

I have a DEYE SMK 3K and also a EASUN SMH-ii-7k, both came with identical "wifi dongles". I haven't powered up the EASUN yet as I haven't got a battery yet, but I'm pretty sure if both use the same WIFI dongle they should use the same protocol.

The way these dongles work supposedly is they encapsulate Modbus (which is serial) into Solarman5 TCP protocol. There exist various open source libraries that let you use it. For example and for DEYE this software

Why am I talking abiut Deye in a thread about ESUN? Because I'm hoping this software can be fairly easily modified to work with EASUN with a wifi dongle.

However if we want to talk directly via Modbus serial, this open source project is a good starting point: there is a SRNE modbus manual there and some example software for arduino etc to read some data. Personally I'd much prefer if there was a python example that could be run on a linux PC or a raspberry PI, but this is much better than nothing.

I'm interested in this to be able to have my PC/controller switch charging and source priorities of my EASUN smh-ii-7k on the fly.
just implemented SRNE's modbus for my project for v1.1.2.

untested... a lot of weird things in their documentation. so could need a bit of testing to get it going well.

writing is sitll in its infancy for the project in general; on my todo list. so can't write to all registers yet.

I am using a variation of a different python modus project from GitHub on my 10kW SRNE hybrid inverter:

I can read all parameters but have trouble configuring through modus.
I am able to configure the energy save mode (E20C) but all other RW parameters return a 0BH error (insufficient permissions) when I try to write to them. I noticed that the iPow Software from SRNE can’t set these either, also contacted their customer support with no success. There might an additional step required in order to acquire the permission.

Are you able to configure any of the useful parameters on the SRNE inverter?
Same here with an SRNE HF2430S60-100 AIO inverter.

In iPower you need to enter the password to change settings.
I found that 111111 works.

For reference, here is my post regarding the issue. My main issue is changing settings via SolarAssistant, but iPower didn't change settings either, untill the password is entered. You have to do this once, any time the inverter is rebooted.
Just a little update:
I tried to do some modbus hacking with my SRNE, but wasn't very successful.
I found that in the SRNE MODBUS v1.7 protocol there is a register for password input (E203) and for password change (E202). According to the protocol document, 0 means no password.
So I tried that, but it didn't disable the need for a password.

I also tried changing the password via iPower, but that didn't help either.
So I guess that the password cannot be disabled, but if you send it properly, you can make changes.
BTW, does anyone know if any sort of protocol level debugging is possible with this:
This is a "data debugging" part of the "smart plug Pro 05" "SmartESS" software. As I need some way to log the data before my open source solution is working I connected this temporarily.

It would be great if one could test protocol commands without disconnecting, hooking up a different device etc during development.

The top most field is numeric only and it is labelled "Communication addrrss" (exactly like this) and there is 1 there when it is opened.

The lower box is where any text can be entered and with nothing is entered it says "Please enter debugging instructions". I tried various things. Modbus commands in decimal with no spaces, with spaces etc, but I always get "null" as answer.

If anyone knows please share.

Also, as I understand it modbus is a simple binary protocol, why people talk about "PSET" commands etc in this context? I thought modbus uses numeric commands for example 03 is read, 05 is write and so on.
There might an additional step required in order to acquire the permission.

Are you able to configure any of the useful parameters on the SRNE inverter?

Here's what I'm doing using Python:

import minimalmodbus
instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 1, mode='rtu', debug=False)

# send default binary password 11111111
value = instrument.write_register(0xe203, 0b11111111, 0, 6, False)

# change failsafe shutdown 30v->29.8v, normally a privileged op
# (note: voltage registers are all stored w.r.t 12V, so for a 24v system divide intended values by 2)
value = instrument.write_register(0xe005, 14.9, 1, 6, False)

diy solar

diy solar