EPEVER Modbus RS-485 Config

So i have an EPEVER wifi 2.4g RJ45 A connected to my wifi but it doesnt connect to my home assistant i get the error: Connection to (192.168.178.187, 8088) failed: [Errno 111] Connection refused

If some one could help that would be much appreciated.

I just did a full port scan and not a single port was open was i wrong setting it up over the epever pair app?

Could this be that on these newer devices Epever wantā€™s to use their cloud service and thatā€™s why donā€™t open local ports?

I have UPower-HI series hybrid-inverter and hopefully I get ā€œEPEVER-WIFI-2.4G-DB9-Bā€ (this connects to DB9 connector) on next week and I can check if there is open ports to connect it to HA.

BTW, they ship newer USB cable with UPower-HI adn looks like it use CH343 chip nowadays.

Today I scanned open ports of my EPEVER-WIFI-2.4G-DB9-B and only port what was open was 65010/tcp. But when I connected WiFi dongle to Epever Cloud (with EPEVER Pair app) then all port was closed, actually whole SSID went missing.

So 65010/tcp is for EPEVER Pair in local mode, but no idea what kind of service/api is thatā€¦

Epever has changed registers for the UPower-Hi series from UPower. I found perl script from German FHEM forum https://forum.fhem.de/index.php?topic=111967.0 and downloaded it.

I donā€™t know perl but looks like there is new registers for UPower-Hi, like for PV, I assume this ā€œi13641ā€ is register for PV Array Voltage :thinking:

          "i13641" =>  {       'reading' => 'PVInputVolt',
								  'expr' => '$val=($val/100)." V"',
                       },
          "i13642" =>  {       'reading' => 'PVInputCurrent',
								  'expr' => '$val=($val/100)." A"',
                       },
          "i13643" =>  {       'reading' => 'PVInputPower',
								  'expr' => '$val=($val/100)." W"',
                                   'len' => '2',
                                'unpack' => 'l>', 							  
                       },
          "i13655" =>  {       'reading' => 'PVTotalCargePower',
								  'expr' => '$val=($val/100)." kWh"',
                                   'len' => '2',
                                'unpack' => 'l>', 							  
                       },

Any ideas how easy is to convert to python? Whole perl script can be found here.

What Type of Temp. Sensor does the Tracer-AN use?

hi @timnis, we are in the same boatā€¦

I expected the ebox-wifi-01 to connect with the UPower-HI but I had a bad surprise as the RJ45 port is not meant for that. Some store told me it is possible to connect the ebox-wifi-01 on the RS485 with limitations, I tried to follow the RS485 interface pin scheme described on the UPower-HI manual and build an adapter but sadly it did not work.

I am not planning to buy ā€œEPEVER-WIFI-2.4G-DB9-B" until I am 100% sure it will work with Home Assistant.

Epever is a very famous brand, it is hard to believe there is no integration built for Home Assistant.

Please keep me posted if you find a solution.

By the way, I found a new dongle on the official website ā€œEPEVER WiFi Adapter 2.4G RJ45 Cā€ no idea if this works with the UPower-HI, but I guess not :stuck_out_tongue_winking_eye:

hi @marcao88

Yes there is rs485 rj-45 port on UPpower Hi, but like I have itā€™s connected to BMS-LINK.

If you have ebox-wifi-01, make the cable and connect it to DB9 connector, should be easy and pinouts are in the manuals. That way you should able to connect like in this thread.

I have feel that Epever try to get all new inverters connected to their cloud services (like other manufactures also) and from there I assume in future they offer API (in Epever Cloud service, there is already some mentions on the API). That way it works in normal conditions. But if after few years cloud service stop working or you have unreliable/no internet connection then it is problematic.

I finally ditched ā€œEPEVER-WIFI-2.4G-DB9-B" and I have old rpi2b connected via usb-rs485 cable to inverter (which was delivered with inverter). Basically config same as in post #67 by dylan, but with different registers values. This has been worked for me few weeks now without problems and I also control from HA when UPower Hi charge battery from grid (and when consuming it).

Check this for newer register values https://community.home-assistant.io/t/epever-upower-hi-modbus-setting-if-you-need/483184. And from this perl script you will find more register values (from German FHEM forum)

1 Like

Please forgive me for asking for help but I could not manage to get it done and you are my last hope.
I made the cable but it did not work, my ebox-wifi-01 remains dead. :sob:
This is what I prepared:

I am using this adapter:
adapter2

And having this cable order, that is not working:
adapter3

This is what I found on the official manual:
I am not sure what to do with pin 1,2 and 6. Even 4 and 5 are confusing to me as in the adapter it had a GND door that I am not using.

The link below refers to the ebox wifi manual, that contains more fancy Definitions for the pinsā€¦
https://www.epever.com/wp-content/uploads/2022/04/EPEVER-WiFi-2.4G-Manual-EN-V1.4.pdf

Thank you for your support. :slight_smile:

  • List item

cal wifi connectivity adapter

Hi,

Ebox-wifi-01 works on 5vdc and below is Pinout from UPower (older version) RS485 port.

So, I assume you need to connect following pins

Rj45 - db9
1 - 9 (5vdc)
7 - 5 (gnd)
5 - 7 (A)
3 - 8 (B)

Thank you! It was very helpful, for me to understand it, but this is what worked por the UPOWER HI RTU, I hope more people will benefit from this finding:

RJ45 - DB9
1-9 (5V)
3-8 (B-)
5-7 (A+)
7-4 (gnd)
8-5 (gnd)

1 Like

Good. According pinouts there is two GNDā€™s, but maybe only one is connected.

Anyway, nicely done :+1:

Hello everyone! and @timnis, I am facing a hard time bringing the epever sensors to Home Assistant.

Ebox-wifi-01 might be innocent as it works providing data locally to the phone app (when in AP mode) as it is supposed to be. So, there are no broken links between this lovely ebox-wifi-01 and the Epever UP5000 - HM8042(RTU)

When I place the Ebox-wifi-01 inside the network (STA mode), port 8088 is confirmed to open and I see ZERO significant errors on home assistant logs, this is the log level that I am using:

logger:
default: debug

When I search for errors I look for keywords like ā€œmodbusā€, ā€œconnectionā€, ā€œsol2ā€ this is what I get:

Logger: homeassistant.components.modbus.validators
Source: components/modbus/validators.py:169
Integration: Modbus (documentation, issues)
First occurred: 4:09:22 PM (2 occurrences)
Last logged: 4:15:56 PM

Modbus Solar2EP timeout(10) is adjusted(4) due to scan_interval

and this:

Something is blocking Home Assistant from wrapping up the start up phase. Weā€™re going to continue anyway.
Please report the following info at https://github.com/home-assistant/core/issues:
BIG LIST of everything including: sensor.modbus, sensor.broadlinkā€¦ and 1000 things.

I have included the ESPHome addon, (honestly not sure if this helps :blush:)

Since I do not see connection issues I suspect the problem might be the sensor addresses code, so I made a few tests by replacing the addresses for the PV Voltage with the suggestions I found around but with no success, I wonder if I can really use HEX:

12544
13334
12288
13641
0x3549

This is what I have on my configuration.yaml, I am just following the recommendations from this community but still got a problem, please take a moment to suggest:

#EPEver eBox-Wifi-01 modbus
modbus:
  # - type: tcp
  - type: rtuovertcp
    name: "Solar2EP"
    host: 192.168.1.117
    port: 8088
    delay: 5
    timeout: 10
    close_comm_on_error: false
    retry_on_empty: true
    retries: 20
# Modbus sensors for EPever Charge Controller 2
    sensors:
    # - name: "Sol2 Battery Capacity"
    #   unit_of_measurement: "%"
    #   device_class: battery
    #   slave: 1
    #   address: 12570
    #   input_type: input
    #   scan_interval: 10
    - name: "Sol2 Solar V"
      unit_of_measurement: V
      device_class: voltage
      slave: 1
      address: 12544 # original
      # address: 13334 # tested
      # address: 12288 # tested
      # address: 13641 # tested
      # address: 0x3549 # tested
      input_type: input
      scale: 0.01
      precision: 2
      scan_interval: 10
    - name: "Sol2 Solar A"
      unit_of_measurement: A
      device_class: current
      slave: 1
      address: 12545
      input_type: input
      scale: 0.01
      precision: 2
      scan_interval: 10
    # - name: "Sol2 Charging W"
    #   unit_of_measurement: W
    #   device_class: power
    #   slave: 1
    #   address: 12546
    #   input_type: input
    #   data_type: int32
    #   scale: 0.01
    #   count: 2
    #   precision: 2
    #   swap: word
    #   scan_interval: 10
    # - name: "Sol2 Battery V"
    #   unit_of_measurement: V
    #   device_class: voltage
    #   slave: 1
    #   address: 13082
    #   input_type: input
    #   scale: 0.01
    #   precision: 2
    #   scan_interval: 10
    - 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
    - name: "Sol2 Load A"
      device_class: current
      unit_of_measurement: A
      slave: 1
      address: 12549
      input_type: input
      scale: 0.001
      precision: 2
      scan_interval: 10
    - name: "Sol2 Load V"
      device_class: voltage
      unit_of_measurement: V
      slave: 1
      address: 12548
      input_type: input
      scale: 0.01
      precision: 2
      scan_interval: 10
    # - name: "Sol2 Battery Temp"
    #   unit_of_measurement: Ā°C
    #   slave: 1
    #   address: 12560
    #   input_type: input
    #   scale: 0.01
    #   precision: 2
    #   scan_interval: 10
    # - name: "Sol2 Controller Temp"
    #   unit_of_measurement: Ā°C
    #   slave: 1
    #   address: 12561
    #   input_type: input
    #   scale: 0.01
    #   precision: 2
    #   scan_interval: 10
    # - name: "Sol2 WH Today"
    #   device_class: energy
    #   unit_of_measurement: KWh
    #   slave: 1
    #   address: 13068
    #   input_type: input
    #   data_type: int32
    #   scale: 0.01
    #   precision: 2
    #   count: 2
    #   swap: word
    #   scan_interval: 10
    # - name: "Sol2 WH Month"
    #   device_class: energy
    #   unit_of_measurement: KWh
    #   slave: 1
    #   address: 13070
    #   input_type: input
    #   data_type: int32
    #   scale: 0.01
    #   precision: 2
    #   count: 2
    #   swap: word
    #   scan_interval: 10
    # - name: "Sol2 WH Year"
    #   device_class: energy
    #   unit_of_measurement: KWh
    #   slave: 1
    #   address: 13072
    #   input_type: input
    #   data_type: int32
    #   scale: 0.01
    #   precision: 2
    #   count: 2
    #   swap: word
    #   scan_interval: 10
    # - name: "Sol2 WH Total"
    #   device_class: energy
    #   unit_of_measurement: KWh
    #   slave: 1
    #   address: 13074
    #   input_type: input
    #   data_type: int32
    #   scale: 0.01
    #   precision: 2
    #   count: 2
    #   swap: word
    #   scan_interval: 10
    # binary_sensors:
    # - name: "Sol2 load switch"
    #   slave: 1
    #   address: 2
    #   scan_interval: 10

@marcao88 have you tried to set slave=4?

Check here https://community.home-assistant.io/t/epever-upower-hi-modbus-setting-if-you-need/483184

Hello @timnis , I must say thank you for your post again you helped me!
Yep, the problem was really on the Slave ID! Mine was 10.

I utilized a trick to find out what was it, the https://www.netburner.com/download/virtual-comm-port-driver-windows-xp-10/ to establish a connection from the computer and epever official software https://www.epever.com/download/inverterupower-v1-2-windows-zip/?wpdmdl=1990&refresh=63a01a7eb15e01671436926

So every attempt to get the inverter data I could check if there was a return, (data received) from the virtual connection.

Hello,
Does anyone have functional config for Tracer 3210AN (MPPT) and EPSOLAR eBox-BLE-01 Box RS485 to Bluetooth adapter? I only found links to EBOX-WIFI but I have bluetoth version. I use ESPHome bluetooth proxy in my HA but Iā€™m lost - I donā€™t know how to proceed to see the data. Could someone please help - share documentation-scripts? tks

Canā€™t help with Bluetooth.
Iā€™m using esphome with a rs485 module.

If you donā€™t want to solder it the m5stack esp32 is a nice option.

Just cut a network cable and connect A/B (PIN 3 and 5) to the module.

1 Like

Thank you :+1::+1::+1:. This pinout works for my upower hi too! I now have remote access! Yay. Just need to do the rest to send to HA.!

HA connects to the esp32 (atom or other) using the esphome API via WiFi . There isnā€™t any configuration required in HA because esphome devices are auto detected.

Hello. Just to clarify, if I order ā€œATOM RS485 DC/DC Voltage Converter Development Kit (SP3485EE)ā€ I just connect it A/B to Epever tracer and on the other side usb to RPI - HA. And install ESPHome add-on. In this add-on, the option "new device/ESP32) and thatā€™s it? No modbus and other settings in HA - configuration.yaml? Thank you. P.S Can I ask for a screenshot of what it looks like in HA?