EPEVER UPower-Hi modbus setting, if you need :)

RPI 3b+ should fine.

If you run HA on Home Assistant Operating System, it not have drivers for CC-USB-DB9(M)-150U-V1.0.

Because of that I have ~12 years old Atom industrial PC running Debian 11 and for it have build drivers to CC-USB-DB9(M)-150U-V1.0. Drivers you find here . This Debian also runs mbusd daemon. With this mbusd daemon HA can talk via rs485 bus to UPower HI.

All UPower HI series devices have same rs485 registers, so you can use directly my setup.

Maybe esp32 can be used, but I don’t own it so I no idea :grinning:

Thank you, i will try using the wifi box method, as this will be easier for me… Thanks for your time :+1::+1:

Thank you so much for the modbus config! :+1::+1::+1: And finding all of the register information… I have gotten it working using the ebox-wifi-01, im very happy :grinning:. Now to make a dashboard​:thinking:


Good, glad I was able to help.

1 Like

Hi, i think there is one register missing, for the current load in watts, i dont suppose you would know the correct register address etc for this?
I found this from marcao88 on another thread, but it does not work for me, but the address type looks different to yours, not hexadecimal?

name: “Sol2 Load W”
unit_of_measurement: W
device_class: power
slave: 1
address: 12558 # low 12550 high 12551 #12558
input_type: input
scale: 0.01
precision: 2
scan_interval: 5

Thanks :+1:

No idea :grinning:

Perhaps your example is for older UPower.

I have dig those register values from perl script ( mentioned in earlier post), found it from one of German forums. There is no mentions load watts.

You can experiment and try find correct register values or let HA calculate it for you (voltage * amps = watts).

Yes thanks, ive done a template calculation instead, and works ok. Ive also emailed epever to see if they can send me the full register information for upower hi series.

If you get information from epever, I’m interested :slightly_smiling_face:

1 Like

Hi, i have the full rs485 documentation from epever for the upower hi series:

Thanks.

Looks like there is no watts for load. On pdf, if you look real-time parameters load output watts missing (B34 - B50).

1 Like

Yes, no problem though, i added this to config yaml: works ok:

template:
sensor:
- name: “House Load”
unit_of_measurement: W
device_class: power
state: “{{((states(‘sensor.load_current’)| float(0) * states(‘sensor.load_voltage’)| float(0))) | round(2) }}”

I had to do the same with grid power too, as that was giving incorrect watts…

Hello. I’m from Romania and I have a home assistant system for monitoring the devices in the house. the photovoltaic system consisting of 4 mppt epever tracer 4210 and rj45 wi-fi modules. how could I integrate those mppts in ha? they are connected to the internal network and I have their ips. I greet you.

Do you still have this file? Many Thanks :grinning:

Hi, dont know why its missing, try this:

https://drive.google.com/file/d/14-aKoXOJ2kXLJej8gI7Gfap30uCq2gtu/view?usp=drivesdk

Has anyone managed to get buttons for the Upower HI series working? (Edit: In esphome)

I have the stats working but would really like to be able to switch between Utility Priority and Inverter Priority without going to the front panel every evening.

I’m not fussed about the other switches but it’d be nice to have them working too but seems epever changed a lot of stuff for some reason.

Check my post #8.

I control charge from grid, basically toggle between “Utility & Solar” and “Solar”.

switches:
      - name: "Charge from grid"
        address: 0x9607
        slave: 4
        write_type: holdings
        # 1:Solar Priority, 2:Utility & Solar, 3:Solar
        command_on: 0x2
        command_off: 0x3

@Catchmydrift posted register values so check from there address

I tried that and forgot to mention I’m using esphome with a rs485 thing and seems to be differant.

I have:

   - platform: modbus_controller
     modbus_controller_id: epever
     id: charge_from_grid
     name: "Upower - Charge from grid"
     address: 0x9607
     register_type: holding
     # 1:Solar Priority, 2:Utility & Solar, 3:Solar
     write_lambda: |-
       ESP_LOGD("main","Modbus Switch incoming state = %f",x);
       // return false ; // use this to just change the value
       payload.push_back(0x2);  // On
       payload.push_back(0x3);  // Off
       return true;

but I get the error: Modbus command to device=10 register=0xA7F0 countdown=0 no response received - removed from send queue

Full code from: https://github.com/chickey/RS485-WiFi-EPEver/blob/aff46219358caabb6c2ce58a66649de9ed57a27f/epever-upower.yaml

I have no esphome. But where you define slave=4?

erm… yes, I have no idea on modbus, or esp beyond simple stuff. Maybe its easier to but the wifibox and move it to home assistant.

Just want to say a big thank you to Timo and Ucatchmydrift for all the information supplied here, finally got this working with my two UP-Hi inverter/chargers.
Many thanks
Ade