Epever RS485 + Elfin EW11 WiFi Modbus (or MQTT)

Here’s a sample config for the connection and sensors working in core 8.6. I don’t have switches converted to the new structure that was a breaking change as of 7.1.

This is with the EW11 running into an EPEver charge controller on Bank/Array 1 and EPEver eBox-Wifi-01 on Bank/Array 2. They work great together. After working with and using them both for a few months, I prefer the EW11. The configuration in the device may appear more complex, but I’ve found it to be more reliable and straightforward to work with than the eBox. It’s also cheaper. The one downside to the EW11 is that it seems a little harder to get outside of AliExpress.

modbus:
  - type: tcp
    name: "ew11"
    host: ew11.lan
    port: 502
    close_comm_on_error: false
    timeout: 9
    retry_on_empty: true
    retries: 10
    sensors:
      - name: "Battery 1"
        address: 13082
        data_type: uint
        slave: 1
        unit_of_measurement: V
        input_type: input        
        scale: 0.01
        precision: 2
        scan_interval: 10
      - name: "Array 1 Power"
        address: 12546
        slave: 1
        data_type: uint
        input_type: input
        unit_of_measurement: W
        scale: 0.01

  - type: rtuovertcp
    name: "epever"
    host: epever.lan
    port: 8088
    close_comm_on_error: false
    retry_on_empty: true
    retries: 10
    timeout: 9
    sensors:
      - name: "Battery 2"
        address: 13082
        data_type: uint
        slave: 1
        unit_of_measurement: V
        input_type: input        
        scale: 0.01
        precision: 2
        scan_interval: 10
      - name: "Array 2 Power" 
        address: 12546
        slave: 1
        data_type: uint
        input_type: input
        unit_of_measurement: W
        scale: 0.01

NOTES:

  1. Lines like precision and scale might be redundant. I haven’t messed around with them too much, and things got a little more complex with the new data__type variable, which seemed to be necessary.

  2. Not sure what’s necessary and/or best practice with close_comm_on_error, timeout, retry_on_empty, retries. I messed with all of those first, and it seemed like data_type, and input_type were what was actually breaking the config.

  3. Depending on your local network, you may want to use IPs rather than hostnames for the host setting. It’s less flexible if something changes on the network, but does rely on properly structured hostnames.

1 Like