SRNE inverter integration help

thank you for sharing , could you explain how you got your dashboard to look like that
could share thank in advance

can you please share your power card

1 Like

Thanks. I just flashed the new yaml and I can see a lot of more details. My next goal would be fleshing out my cards to look like yours. You have a beautiful dashboard.

Would be nice to get the Dashboards and setup file side by side. Thanks.

Also I believe your system is a 48v system. I tried seeing if I could tweak some values (mainly voltage related ones) to reflect that.

In a config like this, how I get it to slim fit it for a 24v system? I’m still new to how modbus works.

- platform: modbus_controller
   modbus_controller_id: srne1
   name: "Over Charge Return Voltage" #name for HA
   id: srne_overcharge_return_charge #id for HA
   register_type: holding
   address: 0xE009 #register address (see modbus manual)
   unit_of_measurement: "V"
   accuracy_decimals: 2
   device_class: Voltage
   state_class: measurement
      - multiply: 0.4  

Also looking around I can’t seem to find the accumulated PV generated in a day so far, the only thing I could see was historical data from 1-7 days ago. I could see “Inverter Power Generation of the day” but I am not sure if it’s for “mains + PV” or just PV generation.

Hello @Dimumal, it’s a new day and I noticed that it retained the data from the previous day as the power generation of the new day. Any clue as to why?

I also had to edit the yaml (multiply by 0.05 instead of 0.1) for the power generation because the figures I was getting (11kWh) wasn’t accurate with what I usually generate (around 5kWh on average).

 - platform: modbus_controller
   modbus_controller_id: srne1
   name: "Power Generation of the day" #name for HA
   id: srne_power_generation_of_the_day #id for HA
   register_type: holding
   address: 0xF02F #register address (see modbus manual)
   unit_of_measurement: kWh
   accuracy_decimals: 1
   device_class: Energy
   state_class: total_increasing
      - multiply: 0.05

I’ve requested for the Modbus manual (waiting for a reply) as I use the SRNE HF2430S60-100 while you use the SRNE HF4850S80-H. How were you able to get your hands on the Modbus manual?


I created a utility helper that resets it and it looks better data wise. Thanks so far.

My Modbus manual has 0.1 (mine is 48V). May be 0.05 is correct.

You have to connect your inverter to the PC / laptop and correct the time of the inverter through iPower application as the time may not be correct. This happened to me too.

1 Like

Thank you, I am upgrading my inverter soon to the HYP4850S100-H so I’ll do this with the new one.

Could you send me the link to the software? I can’t seem to find it or know what it looks like. I asked for the Modbus manual to cross-check, and your yaml settings were accurate so I have gone back to multiplying by 0.1 as specified. I think I just need to accurately set the inverter’s date and time.

Edited: comparing readings from the Home Assistant default energy board which uses the accumulated power generated entity and the daily PV entity from the inverter, I’ve found out the latter is indeed a double of what’s there. So the fix for it is to actually multiply by 0.05.

1 Like

Thank you so much.

Good day bro.

I have tried EVERYTHING you did in this thread to get mine to work. I’m so close yet so far.

Even @LifeofDan-EL has helped me. I get “Unknown” error. My wiring is correct. Don’t know what else to do really.

Logs look good too i think.

What could be the problem?

Is it because I have the HESP Inverter?

@Dimumal and idea?


I’m not an expert on this. I got it done through someone & just posted here to show that it is possible

Just wanted to share some 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 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”.

1 Like

@Dimumal I needed quick esphome/modbus monitoring of my PowMr branded SNRE inverter, and I had followed that other github’s yaml, but it was constantly disconnecting and resetting with all the data showing unavailable.
I found your post here, copied your sensors and dropped them in and immediately the connection issues resolved, and now I have data. I’m running 24V so some of the numbers will need to be adjusted but for now I’ve got enough useful data for this week’s offgrid excursion so I can use HA to alert when I need to start my generator (it’s a manual pull-cord so I can’t use the built-in relay).

Long and short: Thank you for posting!
This was very helpful! I may work on tweaking that other youtuber’s yaml using yours as the baseline as his has more data, if I do I’ll post back here to update.



And a quick note. My inverter send the voltage as it is 12V system. So I have to multiply it by 4 for my 48V system as below example

 - platform: modbus_controller
   modbus_controller_id: srne1
   name: "Over Discharge Voltage" #name for HA
   id: srne_over_discharge_voltage #id for HA
   register_type: holding
   address: 0xE00D #register address (see modbus manual)
   unit_of_measurement: "V"
   accuracy_decimals: 2
   device_class: Voltage
   state_class: measurement
      - multiply: 0.4   

Maybe you have to multiply it by 2 for your 24V system.

      - multiply: 0.2