---
title: "EPever IP-Plus Inverter"
description: "EPever IPower-Plus pure sine wave off-grid inverter with Modbus RTU (RS-485) integration."
url: "https://taphome.com/en/compatibility/epever-ip-plus/"
language: en
lastmod: 2026-03-27
generator: hugo
ai:
  topics: ["modbus-rtu","inverter","rs485","off-grid","pure-sine-wave","battery"]
  questions: ["How to integrate EPever IP-Plus inverter with TapHome?","What does the EPever IP-Plus TapHome template monitor and control?","How to connect EPever IP-Plus via RS-485 to TapHome?","What is the default Modbus slave ID for EPever IP-Plus?","How to enable remote control on EPever IP-Plus via Modbus?","How to adjust battery voltage protection thresholds on EPever IP-Plus?"]
---

# EPever IP-Plus Inverter

Communication: Modbus RTU

- [EPever Official Website](https://www.epever.com)

## Integration guide

The EPever IPower-Plus is a pure sine wave off-grid inverter available in models from 350 W to 5000 W. It communicates with TapHome via Modbus RTU over an RS-485 connection using an RJ45 connector. The TapHome template provides AC load power monitoring and inverter on/off control, along with configurable battery voltage/current protection thresholds and AC output settings.

The template covers the entire IP-Plus series — all models from IP350-Plus through IP5000-Plus share the same Modbus register map.

> [!WARNING]
> The IP-Plus is strictly an **off-grid inverter**. It must never be connected to the mains grid. Only stand-alone operation is permitted — parallel or series connection of multiple units is not supported.

## Hardware connection

### RS-485 via RJ45

The inverter uses an **RJ45 connector** for RS-485 communication. Connect to TapHome using a standard Ethernet cable with the following pin assignment:

| RJ45 Pin | Function | Connect to TapHome |
|----------|----------|-------------------|
| 1, 2 | +5 V DC (200 mA) | Not used |
| 3, 4 | RS485-B | B-/D- |
| 5, 6 | RS485-A | A+/D+ |
| 7, 8 | GND | GND |

> [!WARNING]
> The GND connection (pins 7, 8) is mandatory for reliable communication. Without a common ground reference, Modbus communication will be unstable or fail entirely.

> [!NOTE]
> Communication isolation is only available on 48 V input models. The 12 V and 24 V models have no communication isolation between the RS-485 port and the inverter's DC input.

## Configuration

### Modbus communication parameters

| Parameter | Value |
|-----------|-------|
| Baud rate | 115200 (configurable to 9600 via LCD menu "BRS") |
| Data bits | 8 |
| Parity | None |
| Stop bits | 1 |

### Slave ID

> [!WARNING]
> The EPever documentation states the **default Modbus slave ID is 3**, but the TapHome template ships with **slave ID 1**. After importing the template, verify and adjust the slave ID in TapHome module settings to match the actual inverter configuration — or change the inverter's slave ID to 1 using EPever's configuration tools.

### Remote control

The inverter must be in **remote control mode** before TapHome can switch it on or off. The TapHome template handles this automatically — the module initialization script writes `1` to coil register `0x11` (Local/Remote control) on startup. If remote control is manually disabled on the inverter, the template displays a "Remote control is disabled" warning in TapHome.

## Device capabilities

### AC load monitoring

The **AC Load** device is a sensor that reports the inverter's AC output power in kW. The value is calculated from two 16-bit input registers (0x310E and 0x310F) combined into a 32-bit Little Endian value. Two service attributes provide additional detail:

- **Load output voltage** — AC voltage delivered to the connected loads
- **Load output current** — AC current drawn by the connected loads

### Inverter power control

The **Inverter ON/OFF** device is a switch that turns the inverter output on or off via coil register 0x0F. A service action allows manually re-enabling remote control mode if needed.

### Monitoring and protection thresholds

The module exposes 13 service attributes at the module level for monitoring and configuration:

**Monitoring:**
- **Load input voltage** — battery-side DC input voltage
- **Device temperature** and **Heat sink temperature** — internal thermal monitoring

**Voltage/current protection thresholds (read-only):**
- **Low input voltage** — over-discharge immediate disconnect threshold
- **High input voltage** — over-voltage immediate disconnect threshold
- **High input current** and **High input current recovery** — over-current protection thresholds

**Voltage protection thresholds (adjustable via service actions):**
- **Low input voltage (5s)** — over-discharge disconnect with 5-second delay
- **Low input voltage recovery** — voltage at which the inverter recovers from over-discharge
- **High input voltage recovery** — voltage at which the inverter recovers from over-voltage
- **High input voltage (5s)** — over-voltage disconnect with 5-second delay

**AC output settings (adjustable via service actions):**
- **Output AC voltage setting** — 220 V or 230 V (220 V system) / 110 V or 120 V (110 V system)
- **Output AC frequency setting** — 50 Hz or 60 Hz

> [!WARNING]
> Changing the AC output voltage or frequency causes the inverter to **restart automatically**. Connected loads will experience a brief power interruption.

### Status monitoring

The module ReadScript continuously monitors the inverter status register (0x3202) and the over-temperature discrete register (0x2000). TapHome displays warnings and errors for the following conditions:

- Standby mode, faults, output failure
- High voltage side short-circuit, input over-current
- Abnormal output voltage, unable to discharge/stop discharging, short-circuit
- Device over temperature
- Load level (medium, nominal, overload)
- Input voltage status (low, high, no connection)

### Additional capabilities

The inverter also exposes registers for DC input current (0x3109) and DC input power (0x310A–0x310B) monitoring. A power saving mode coil (0x04) exists but is only supported on the SHI series. These can be added in a future template update.

## Troubleshooting

### No Modbus communication

1. Verify the RJ45 cable is properly seated in the inverter's RS-485 port
2. Check pin assignment — pins 3, 4 (RS485-B) to B-/D- and pins 5, 6 (RS485-A) to A+/D+ on TapHome
3. Confirm the GND connection (pins 7, 8) is wired to TapHome ground
4. Verify the baud rate matches — the inverter defaults to 115200 bps
5. Check the slave ID — the inverter defaults to 3, the TapHome template defaults to 1

### "Remote control is disabled" warning

The template initialization script enables remote control automatically. If this warning appears:

1. Check that the inverter is powered on and communicating
2. Use the **Enable Remote control** service action on the Inverter ON/OFF device
3. If the warning persists, verify that no other Modbus master is writing to coil 0x11

### Inverter error codes on the LCD

| Code | Fault | Resolution |
|------|-------|------------|
| ILV | Input low voltage | Check battery voltage — must be above 10.8 V (12 V) / 21.6 V (24 V) / 43.2 V (48 V) |
| IOV | Input over voltage | Check battery/charge controller voltage — must be below 16 V (12 V) / 32 V (24 V) / 64 V (48 V) |
| OOL | Output overload | Reduce connected AC loads, restart inverter |
| OSC | Output short circuit | Check load wiring, clear faults via TapHome service action or restart |
| OTP | Over temperature | Improve ventilation, wait for cooldown, restart |

> [!TIP]
> The **Clear the faults** service action in TapHome writes to coil register 0x13 and clears both current and historical faults, resuming normal operation without needing to physically restart the inverter.

## Available devices 2

These devices appear in TapHome after import.

EPever IP-Plus Module

Service Attributes

|                             |                                                                                                |
|-----------------------------|------------------------------------------------------------------------------------------------|
| Load input voltage          | Battery-side DC input voltage to the inverter                                                  |
| Device temperature          |                                                                                                |
| Heat sink temperature       |                                                                                                |
| Low input voltage           | Over-discharge immediate disconnect threshold — read-only, cannot be modified                  |
| Low input voltage (5s)      | Over-discharge disconnect threshold with 5-second delay — adjustable via service action        |
| Low input voltage recovery  | Voltage at which the inverter recovers from over-discharge protection                          |
| High input voltage recovery | Voltage at which the inverter recovers from over-voltage protection                            |
| High input voltage (5s)     | Over-voltage disconnect threshold with 5-second delay — adjustable via service action          |
| High input voltage          | Over-voltage immediate disconnect threshold — read-only, cannot be modified                    |
| High input current          | Over-current protection threshold — read-only, cannot be modified                              |
| High input current recovery | Current at which the inverter recovers from over-current protection — read-only                |
| Output AC voltage setting   | AC output voltage — 220/230 V or 110/120 V depending on system. Inverter restarts after change |
| Output AC frequency setting | AC output frequency — 50 Hz or 60 Hz. Inverter restarts after change                           |

Service Actions

|                                         |                                                                                                                   |
|-----------------------------------------|-------------------------------------------------------------------------------------------------------------------|
| Set Low input voltage - 5s              |                                                                                                                   |
| Set Low input voltage recovery voltage  |                                                                                                                   |
| Set High input voltage recovery voltage |                                                                                                                   |
| Set High input voltage - 5s             |                                                                                                                   |
| Set Output AC voltage                   | Set AC output voltage — 220 V or 230 V (220 V system) or 110/120 V (110 V system). Inverter restarts after change |
| Set Output AC frequency                 | Set AC output frequency — 50 Hz or 60 Hz. Inverter restarts after change                                          |
| Clear the faults                        | Clears current and historical faults and resumes normal inverter operation                                        |

Read (module)

```taphome
if(modbusr(D, 0x2000, bool), ADDWARNING("Device over temperature"));

var stat := modbusr(A,0x3202,Uint16);

if(!getbit(stat, 0), ADDWARNING("Standby"));
if(getbit(stat, 1), ADDWARNING("Faults"));
if(getbit(stat, 5), ADDWARNING("Output fail"));
if(getbit(stat, 6), ADDWARNING("High voltage side short-circuit"));
if(getbit(stat, 7), ADDWARNING("Input over-current"));
if(getbit(stat, 8), ADDWARNING("Abnormal Output voltage"));
if(getbit(stat, 9), ADDWARNING("Unable to stop discharging"));
if(getbit(stat, 10), ADDWARNING("Unable to discharge"));
if(getbit(stat, 11), ADDWARNING("Short-circuit"));

if getbits(stat,12,2) = 0x01
    ADDINFO("Medium load");
elseif getbits(stat,12,2) = 0x02
    ADDINFO("Nominal Load");
elseif getbits(stat,12,2) = 0x03
    ADDERROR("Overload");
end

if getbits(stat,14,2) = 0x01
    ADDWARNING("Low input voltage");
elseif getbits(stat,14,2) = 0x02
    ADDWARNING("High input voltage");
elseif getbits(stat,14,2) = 0x03
    ADDWARNING("No connect to the input power, etc.");
end
```

Service Attributes

Load input voltage \[V]

```taphome
modbusr(A, 0x3108, Uint16) / 100
```

Device temperature \[℃]

```taphome
modbusr(A, 0x3111, Int16) / 100
```

Heat sink temperature \[℃]

```taphome
modbusr(A, 0x3112, Int16) / 100
```

Low input voltage \[V]

```taphome
modbusr(H, 0x902F, Uint16) / 100
```

Low input voltage (5s) \[V]

```taphome
modbusr(H, 0x9030, Uint16) / 100
```

Low input voltage recovery voltage \[V]

```taphome
modbusr(H, 0x9031, Uint16) / 100
```

High input voltage recovery voltage \[V]

```taphome
modbusr(H, 0x9032, Uint16) / 100
```

High input voltage (5s) \[V]

```taphome
modbusr(H, 0x9033, Uint16) / 100
```

High input voltage \[V]

```taphome
modbusr(H, 0x9034, Uint16) / 100
```

High input current \[A]

```taphome
modbusr(H, 0x9035, Uint16) / 100
```

High input current recovery \[A]

```taphome
modbusr(H, 0x9036, Uint16) / 100
```

Output AC voltage setting \[A]

```taphome
modbusr(H, 0x9022, Uint16) / 100
```

Output AC frequency setting \[Hz]

```taphome
modbusr(H, 0x9023, Uint16) / 100
```

Service Actions

Set Low input voltage - 5s

Parameters: Voltage (1–100 V)

```taphome
modbusw(H, 0x9030, Uint16, round(V * 100))
```

Set Low input voltage recovery voltage

Parameters: Voltage (1–100 V)

```taphome
modbusw(H, 0x9031, Uint16, round(V * 100))
```

Set High input voltage recovery voltage

Parameters: Voltage (1–100 V)

```taphome
modbusw(H, 0x9032, Uint16, round(V * 100))
```

Set High input voltage - 5s

Parameters: Voltage (1–100 V)

```taphome
modbusw(H, 0x9033, Uint16, round(V * 100))
```

Set Output AC voltage

Parameters: Voltage

```taphome
modbusw(H, 0x9022, Uint16, round(V * 100))
```

Set Output AC frequency

Parameters: Frequency

```taphome
modbusw(H, 0x9023, Uint16, round(Hz * 100))
```

Clear the faults

```taphome
modbusw(C, 0x13, bool, 1)
```

AC Load Variable Read-only

AC output power in kW — combines two registers into a 32-bit value for precise power measurement

Register: A:0x310E LittleEndianUint32 Unit: kW numeric

Service Attributes

|                     |                                         |
|---------------------|-----------------------------------------|
| Load output voltage | AC output voltage delivered to the load |
| Load output current | AC output current drawn by the load     |

Read

```taphome
MODBUSR(A, 0x310e, LittleEndianUint32 ) / 100000
```

Service Attributes

Load output voltage \[V]

```taphome
modbusr(A, 0x310c, Uint16) / 100
```

Load output current \[A]

```taphome
modbusr(A, 0x310d, Uint16) / 100
```

Inverter ON/OFF Switch Read and write

Turns inverter output on or off — requires remote control to be enabled (handled automatically by the template)

Register: C:0x0F Bool

Values / States: ON · OFF

Service Actions

|                       |                                                                             |
|-----------------------|-----------------------------------------------------------------------------|
| Enable Remote control | Enables remote control mode — required before inverter ON/OFF commands work |

Read switch state

```taphome
MODBUSR(C, 0xf, Bool)
```

Write switch state

```taphome
MODBUSW(C, 0xf, Bool, St)
```

Read (module)

```taphome
if (!MODBUSR(C, 0x11, Bool), ADDWARNING("Remote control is disabled"))
```

Initialize

```taphome
#enable Remote control
modbusw(C, 0x11, bool, 1)
```

Service Actions

Enable Remote control

```taphome
MODBUSW(C, 0x11, Bool, 1)
```

**Connection:** Modbus RTU • 115200 baud• 8N1 • Slave ID: $\[SlaveId]

Possible improvements (3)

- A:0x3109 Load input current — DC input current (A). May always read 0 on some hardware models that don't support it
- A:0x310A+0x310B Load input power — DC input power (W), 32-bit LE. Could complement the AC output power device
- C:0x04 Power saving mode enable — Only SHI series supports this — other products do not support it

## Import parameters

Enter these values when you import the XML.

| Asked in the app | Default       |
|------------------|---------------|
| Slave ID         | `1`           |
| IP address       | `192.168.1.0` |

## Sources

- Inverter Communication Protocol V1.0 — Modbus Register Map
  
  2026-03-27
  
  [PDF](https://taphome.com/compatibility/devices/epever-ip-plus/manufacturer/modbus-protocol-inverter-v1.0.pdf)
- IPower-Plus Series User Manual V3.3
  
  [solarv.de](https://solarv.de/Datenblatt/2020/12/User-Manual-EPEVER-IPower-Plus-Inverter-EN-2024.pdf) 2026-03-27
  
  [PDF](https://taphome.com/compatibility/devices/epever-ip-plus/manufacturer/ipower-plus-user-manual-v3.3.pdf)

Manufacturer documents are © their respective owners. They are provided as published by the manufacturer, for reference only.

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

