---
title: "GoodWe ET Plus+ Inverters"
description: "GoodWe ET Plus+ hybrid solar inverters connected to TapHome via Modbus TCP. PV production monitoring, battery management, 3-phase grid and backup load."
url: "https://taphome.com/en/compatibility/goodwe-et-plus-inverters/"
language: en
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-tcp","inverter","solar","3-phase","battery-storage","hybrid-inverter"]
  questions: ["How to integrate GoodWe ET Plus+ inverter with TapHome?","What does the GoodWe ET Plus+ TapHome template monitor?","How to connect GoodWe ET Plus+ via Modbus TCP to TapHome?","What LAN module is needed for GoodWe Modbus TCP communication?","How to monitor battery state of charge on GoodWe ET Plus+ via TapHome?","What firmware version is required for GoodWe Modbus TCP?"]
---

# GoodWe ET Plus+ Inverters

Communication: Modbus RTU

- [GoodWe Official Website](https://www.goodwe.com)

## Integration guide

The GoodWe ET Plus+ series are three-phase hybrid solar inverters with battery storage support, backup output and integrated grid metering. TapHome connects via Modbus TCP through a LAN module (or WiFi+LAN module) plugged into the inverter’s communication port. The connection uses standard Modbus TCP on port 502 with a default slave ID of 247.

The template provides read-only monitoring of PV string production (4 MPPT inputs), battery state of charge and energy flow, three-phase grid and backup load electrical parameters, cumulative energy counters and inverter diagnostics including error flags and thermal monitoring.

## Hardware connection

The GoodWe ET Plus+ supports two communication methods for third-party integration:

- **Modbus TCP** — via an optional LAN module or WiFi+LAN module (replaces the default WiFi module). This is the recommended method for TapHome.
- **Modbus RTU** — via the RS-485 EMS port on the 18PIN terminal block (pins 1–2: 485_A1/485_B1). Available natively without additional hardware.

### LAN module

The default communication module on the ET Plus+ is WiFi only. For Modbus TCP, a **LAN module** or **WiFi+LAN module** must be purchased separately from GoodWe. The ET series uses the **USB terminal type** module.

### Wiring diagram

![GoodWe Modbus TCP wiring — direct connection to LAN module or via Ethernet network with router](https://taphome.com/images/compatibility/goodwe-et-plus-inverters/wiring-modbus-tcp_hu_436c1fb5654af592.jpg)

Two connection options are available:

1. **Direct connection** — Ethernet cable from TapHome Core directly to the LAN module on the inverter
2. **Network connection** — both TapHome Core and the inverter connected to the same local network via a router or switch

### EMS port (RS-485 alternative)

For Modbus RTU communication, use the EMS port on the 18PIN terminal block at the bottom of the inverter:

![GoodWe ET Plus+ EMS communication cable wiring — RS-485 connection to battery, smart meter and EMS device](https://taphome.com/images/compatibility/goodwe-et-plus-inverters/ems-port-wiring_hu_9d3beca3efcb492a.jpg)

| Pin | Definition | Function |
|-----|-----------|----------|
| 1 | 485_A1 | RS-485 A+ (EMS) |
| 2 | 485_B1 | RS-485 B- (EMS) |
| 10 | GND-S | Signal ground |

> [!NOTE]
> The TapHome template is configured for Modbus TCP (IP address parameter). For RS-485 connection, adjust the module communication settings in TapHome accordingly.

## Configuration

### Enabling Modbus TCP communication

**Firmware requirement:** ARM firmware version 13 or higher is required for HV battery inverters, ARM 15 or higher for LV battery inverters.

Configure the inverter for Modbus TCP via the **SolarGo app** or web interface:

1. Open communication settings
2. Set the connection type to **Modbus TCP/IP**
3. Set the **IP address** — ensure the inverter and TapHome Core are on the same subnet
4. Set the **server port** to **502**
5. Confirm with **OK**

When importing the template in TapHome, provide:

- **IP Address** — the inverter’s IP on the local network
- **Slave ID** — Modbus slave address (factory default: **247**, configurable 1–247)

> [!TIP]
> Assign a static IP address to the inverter (via router DHCP reservation) to prevent the address from changing after a power cycle. The GoodWe inverter does not support mDNS hostnames.

### RS-485 settings (if using RTU)

- **Baud rate:** 9600 bps (default)
- **Data format:** 8 data bits, no parity, 1 stop bit
- **Slave ID:** 247 (factory default)

## Device capabilities

The template exposes 26 read-only sensors organized into the following groups:

### PV string monitoring

Four MPPT inputs are monitored individually:

- **PV1 Power** — PV string 1 power in kW, with service attributes for PV1 voltage (V), current (A) and operating mode (No PV / Standby / Work)
- **PV2 Power** — PV string 2 power in kW, with voltage, current and mode
- **PV3 Power** — PV string 3 power in kW, with voltage, current and mode
- **PV4 Power** — PV string 4 power in kW, with voltage, current and mode

### Battery monitoring

- **Battery State of Charge** — current SOC as a percentage, with service attributes for battery power (W), current (A) and voltage (V)
- **Battery Mode** — current battery operating state: No Battery, Standby, Discharging, Charging, Waiting for Charge, or Waiting for Discharge
- **Charge Energy Total** — cumulative battery charge energy in kWh
- **Discharge Energy Total** — cumulative battery discharge energy in kWh

### Three-phase backup load

Per-phase monitoring of the backup (UPS) output for L1, L2 and L3:

- **L1/L2/L3 Back-Up Load Voltage** — backup output voltage (V), with grid voltage as service attribute
- **L1/L2/L3 Back-Up Load Current** — backup output current (A), with grid current as service attribute
- **L1/L2/L3 Back-Up Load Frequency** — backup output frequency (Hz), with grid frequency as service attribute
- **L1/L2/L3 Back-Up Load Power** — backup output power (kW), with grid power as service attribute

Each backup load device includes a corresponding grid-side service attribute, allowing comparison between backup and grid values for each phase.

### Energy metering

- **Total PV Energy Production** — cumulative PV energy in kWh, with a demand reading showing current total inverter power (kW)
- **PV Production Daily** — PV energy produced today in kWh
- **Load Energy Total** — cumulative total load consumption in kWh
- **Total Purchased Energy** — cumulative energy imported from grid in kWh (from smart meter)
- **Total Supplied Energy** — cumulative energy exported to grid in kWh (from smart meter)

### Inverter diagnostics

- **Radiator Temperature** — inverter heatsink temperature in °C, with IGBT module temperature as service attribute

The module-level service attributes provide additional context: device type identification, serial number, work mode (Wait / On-Grid / Off-Grid / Fault / Flash / Check), meter connection and communication status, AC output type (single-phase / three-phase) and grid mode (Loss / OK / Fault). Error monitoring reads a 32-bit bitmask register covering 24 fault conditions including GFCI, relay, grid, PV, temperature, isolation and communication faults.

### Additional capabilities

The GoodWe ET Plus+ also exposes registers for AC active/reactive/apparent power, total backup and total load power, per-phase load power (not just backup), air and bus temperatures, UPS load percentage, BMS pack temperature, battery state of health (SOH) and grid energy counters from the inverter registers. Additionally, writable settings registers are available for grid export control, EMS mode selection and battery discharge depth configuration. These can be added in a future template update.

## Troubleshooting

### No Modbus TCP communication

1. Verify the **LAN module** (or WiFi+LAN module) is installed — the default WiFi module does not support Modbus TCP
2. Check that the ARM firmware version meets the minimum requirement (13+ for HV battery, 15+ for LV battery)
3. Confirm that the connection type is set to **Modbus TCP/IP** in the SolarGo app
4. Verify TapHome Core and the inverter are on the same network/subnet
5. Ensure port 502 is not blocked by a firewall

### Meter connection errors

The template monitors the smart meter connection status via service attributes:

- **Meter Connection Status**: 0 = Not checked, 1 = Connected correctly, 2 = Connected reverse, 3 = Connected incorrectly
- **Meter Communication Status**: 1 = OK, 0 = NG (no communication)

If the meter status shows "reverse", the CT (current transformer) clamps are installed in the wrong direction. Reverse the CT orientation on the corresponding phase.

### Inverter not responding

The inverter must be powered by DC (PV) or AC (grid) power before Modbus communication is available. If the inverter is in standby with no power source, it will not respond to Modbus queries.

## Available devices 26

These devices appear in TapHome after import.

GoodWe ET Plus+ Inverter Module

Service Attributes

|                            |                                                                                                       |
|----------------------------|-------------------------------------------------------------------------------------------------------|
| Device Type                |                                                                                                       |
| Serial Number              |                                                                                                       |
| Work Mode                  | Inverter operating mode — Wait, On-Grid, Off-Grid, Fault, Flash, Check                                |
| Meter Connection Status    | Smart meter wiring check — Not Checked, Connected Correctly, Connected Reverse, Connected Incorrectly |
| Meter Communication Status | Smart meter communication state — OK or NG (no communication)                                         |
| AC Output Type             | Inverter phase configuration — Single Phase, Three Phase Four Wire, Three Phase Three Wire            |
| Grid Mode                  | Grid connection state — Loss, OK, Fault                                                               |
| Network Frequency          |                                                                                                       |

Read (module)

```taphome
#error register
var err:= MODBUSR(H, 35189, Uint32);
#errors
IF(GETBIT(err, 0) = 1, ADDERROR("GFCI Device Check Failure-The GFCI detecting circuit is abnormal"));
IF(GETBIT(err, 1) = 1, ADDERROR("AC HCT Check Failure-The output current sensor is abnormal"));
IF(GETBIT(err, 3) = 1, ADDERROR("DCI Consistency Failure-Different value between Master and Slave for output DC current"));
IF(GETBIT(err, 4) = 1, ADDERROR("GFCI Consistency Failure-Different value between Master and Slave for GFCI"));
IF(GETBIT(err, 6) = 1, ADDERROR("GFCI Device Failure-GFCI check failure 3 times"));
IF(GETBIT(err, 7) = 1, ADDERROR("Relay Device Failure-Relay check failure 3 times"));
IF(GETBIT(err, 8) = 1, ADDERROR("AC HCT Failure-AC HCT check failure 3 times"));
IF(GETBIT(err, 9) = 1, ADDERROR("Utility Loss-Utility is unavailable"));
IF(GETBIT(err, 10) = 1, ADDERROR("Ground I Failure-Ground current is too high"));
IF(GETBIT(err, 11) = 1, ADDERROR("DC Bus High-Dc bus is too high"));
IF(GETBIT(err, 12) = 1, ADDERROR("InternalFan Failure-The fan in case failure"));
IF(GETBIT(err, 13) = 1, ADDERROR(" Over Temperature-Temperature is too high"));
IF(GETBIT(err, 14) = 1, ADDERROR("Utility Phase Failure - Utility Phase Failure"));
IF(GETBIT(err, 15) = 1, ADDERROR("PV Over Voltage - Pv input voltage is over the tolerable maximum value"));
IF(GETBIT(err, 16) = 1, ADDERROR("External Fan Failure - The external fan failure"));
IF(GETBIT(err, 17) = 1, ADDERROR("Vac Failure - Grid voltage out of tolerable range"));
IF(GETBIT(err, 18) = 1, ADDERROR(" Isolation Failure - Isolation resistance of PV-plant out of tolerable range"));
IF(GETBIT(err, 19) = 1, ADDERROR("DC Injection High - The DC injection to grid is too high"));
IF(GETBIT(err, 20) = 1, ADDERROR("Back-Up Over Load"));
IF(GETBIT(err, 22) = 1, ADDERROR("Fac Consistency Failure - Different value between Master and Slave for grid frequency"));
IF(GETBIT(err, 23) = 1, ADDERROR("Vac Consistency Failure - Different value between Master and Slave for grid voltage"));
IF(GETBIT(err, 25) = 1, ADDERROR("Relay Check Failure - Relay check is failure"));
IF(GETBIT(err, 27) = 1, ADDERROR("PhaseAngleFailure - Phase angle out of range（110°~140°）"));
IF(GETBIT(err, 28) = 1, ADDERROR(" DSP communication failure - Communication between ARM and DSP is failure"));
IF(GETBIT(err, 29) = 1, ADDERROR("Fac Failure - The grid frequency is out of tolerable range"));
IF(GETBIT(err, 30) = 1, ADDERROR("EEPROM R/W Failure - EEPROM cannot be read or written"));
IF(GETBIT(err, 31) = 1, ADDERROR(" Internal Communication Failure - Communication between microcontrollers is failure"));
```

Service Attributes

Device Type

```taphome
MODBUSR(H, 35011, String, 5)
```

Serial Number

```taphome
MODBUSR(H, 35003, String, 8)
```

Work mode

```taphome
SWITCH( MODBUSR(H, 35187, Uint16), 
0, "Wait", 
1, "On-grid",
2, "Off-grid", 
3, "Fault", 
4, "Flash", 
5, "Check", 
"Communication error");
```

bMeter Status

```taphome
SWITCH(MODBUSR(H, 36003, Uint16),
 0, "Not checked", 
 1, "Connected correctly", 
 2, "Connected reverse", 
 3, "Connected incorrectly", 
 "Error");
```

Meter communication status

```taphome
IF(MODBUSR(H, 36004, Uint16) = 1, "OK", "NG" );
```

AC output type

```taphome
SWITCH(MODBUSR(H, 35002, Uint16), 
0, "single phase", 
1, "three phase, four wire system", 
2, "three phase, three wire system", 
"Unknown")
```

Grid Mode

```taphome
SWITCH(MODBUSR(H, 35136, Uint16),
 0, "Loss", 
 1, "OK", 
 2, "Fault", 
 "Communication Error")
```

Network Frequency \[Hz]

```taphome
MODBUSR(H, 35123, UInt16)/100
```

Battery Mode Multi-value Switch Read-only

Battery operating state — No Battery, Standby, Discharging, Charging, Waiting for Charge, Waiting for Discharge

Register: H:35184 UInt16 numeric

Values / States: No battery · Standby · Discharging · Charging · Waiting for charge · Waiting for discharge

Read switch state

```taphome
MODBUSR(H, 35184, uint16);
```

Battery State of Charge Dimmer Read-only

Available battery energy as percentage, with battery power (W), current (A) and voltage (V) as service attributes

Register: H:37007 UInt16 Unit: % numeric

Service Attributes

|                 |
|-----------------|
| Battery Power   |
| Battery Current |
| Battery Voltage |

Read level

```taphome
MODBUSR(H, 37007, Uint16)/100
```

Service Attributes

Battery power

```taphome
MODBUSR(H, 35183, int16) + "W";
```

Battery Current

```taphome
MODBUSR(H, 35181, Uint16)/10 + "A";
```

Battery Voltage

```taphome
MODBUSR(H, 35180, Uint16)/10 + "V";
```

Discharge Energy Total Variable Read-only

Cumulative total battery discharge energy in kWh

Register: H:35209 UInt32 Unit: kWh numeric

Read

```taphome
MODBUSR(H, 35209, uInt32)/10;
```

Charge Energy Total Variable Read-only

Cumulative total battery charge energy in kWh

Register: H:35206 UInt32 Unit: kWh numeric

Read

```taphome
MODBUSR(H, 35206, uInt32)/10;
```

L1 Back-Up Load Current Variable Read-only

Register: H:35146 UInt16 Unit: A numeric

Service Attributes

|                 |
|-----------------|
| L1 Grid Current |

Read

```taphome
MODBUSR(H, 35146, UInt16)/10
```

Service Attributes

L1 Grid Current

```taphome
MODBUSR(H, 35122, UInt16)/10 + "A"
```

L1 Back-Up Load Frequency Variable Read-only

Register: H:35147 UInt16 Unit: Hz numeric

Service Attributes

|                   |
|-------------------|
| L1 Grid Frequency |

Read

```taphome
MODBUSR(H, 35147, UInt16)/100
```

Service Attributes

L1 Grid Frequency

```taphome
MODBUSR(H, 35123, UInt16)/100 + "Hz"
```

L1 Back-Up Load Power Variable Read-only

L1 backup load power in kW, with grid-side power as service attribute

Register: H:35150 Int16 Unit: kW numeric

Service Attributes

|               |
|---------------|
| L1 Grid Power |

Read

```taphome
MODBUSR(H, 35150, Int16)/1000
```

Service Attributes

L1 Grid Power

```taphome
MODBUSR(H, 35125, Int16) + "W"
```

L1 Back-Up Load Voltage Variable Read-only

Register: H:35145 UInt16 Unit: V numeric

Service Attributes

|                 |
|-----------------|
| L1 Grid Voltage |

Read

```taphome
MODBUSR(H, 35145, UInt16)/10
```

Service Attributes

L1 Grid Voltage

```taphome
MODBUSR(H, 35121, UInt16)/10 + "V"
```

L2 Back-Up Load Current Variable Read-only

Register: H:35152 UInt16 Unit: A numeric

Service Attributes

|                 |
|-----------------|
| L2 Grid Current |

Read

```taphome
MODBUSR(H, 35152, UInt16)/10
```

Service Attributes

L2 Grid Current

```taphome
MODBUSR(H, 35127, UInt16)/10 + "A"
```

L2 Back-Up Load Frequency Variable Read-only

Register: H:35153 UInt16 Unit: Hz numeric

Service Attributes

|                   |
|-------------------|
| L2 Grid Frequency |

Read

```taphome
MODBUSR(H, 35153, UInt16)/100
```

Service Attributes

L2 Grid Frequency

```taphome
MODBUSR(H, 35128, UInt16)/100 + "Hz"
```

L2 Back-Up Load Power Variable Read-only

L2 backup load power in kW, with grid-side power as service attribute

Register: H:35156 Int16 Unit: kW numeric

Service Attributes

|               |
|---------------|
| L2 Grid Power |

Read

```taphome
MODBUSR(H, 35156, Int16)/1000
```

Service Attributes

L2 Grid Power

```taphome
MODBUSR(H, 35130, Int16) + "W"
```

L2 Back-Up Load Voltage Variable Read-only

Register: H:35151 UInt16 Unit: V numeric

Service Attributes

|                 |
|-----------------|
| L2 Grid Voltage |

Read

```taphome
MODBUSR(H, 35151, UInt16)/10
```

Service Attributes

L2 Grid Voltage

```taphome
MODBUSR(H, 35126, UInt16)/10 + "V"
```

L3 Back-Up Load Current Variable Read-only

Register: H:35158 UInt16 Unit: A numeric

Service Attributes

|                 |
|-----------------|
| L3 Grid Current |

Read

```taphome
MODBUSR(H,35158 , UInt16)/10
```

Service Attributes

L3 Grid Current

```taphome
MODBUSR(H, 35132, UInt16)/10 + "A"
```

L3 Back-Up Load Frequency Variable Read-only

Register: H:35159 UInt16 Unit: Hz numeric

Service Attributes

|                   |
|-------------------|
| L3 Grid Frequency |

Read

```taphome
MODBUSR(H, 35159, Uint16)/100
```

Service Attributes

L3 Grid Frequency

```taphome
MODBUSR(H, 35133, UInt16)/100 + "Hz"
```

L3 Back-Up Load Power Variable Read-only

L3 backup load power in kW, with grid-side power as service attribute

Register: H:35162 Int16 Unit: kW numeric

Service Attributes

|               |
|---------------|
| L3 Grid Power |

Read

```taphome
MODBUSR(H, 35162, Int16)/1000
```

Service Attributes

L3 Grid Power

```taphome
MODBUSR(H, 35135, Int16) + "W"
```

L3 Back-Up Load Voltage Variable Read-only

Register: H:35157 UInt16 Unit: V numeric

Service Attributes

|                 |
|-----------------|
| L3 Grid Voltage |

Read

```taphome
MODBUSR(H, 35157, UInt16)/10
```

Service Attributes

L3 Grid Voltage

```taphome
MODBUSR(H, 35131, UInt16)/10 + "V"
```

Load Energy Total Variable Read-only

Cumulative total energy consumed by load in kWh

Register: H:35203 UInt32 Unit: kWh numeric

Read

```taphome
MODBUSR(H, 35203, uInt32)/10;
```

PV Production Daily Variable Read-only

PV energy produced today in kWh

Register: H:35193 UInt32 Unit: kWh numeric

Read

```taphome
MODBUSR(H, 35193, UInt32)/10
```

PV1 Power Variable Read-only

PV string 1 power in kW, with voltage (V), current (A) and operating mode as service attributes

Register: H:35105 UInt32 Unit: kW numeric

Service Attributes

|             |                                           |
|-------------|-------------------------------------------|
| Mode        | PV1 operating mode — No PV, Standby, Work |
| PV1 Current |                                           |
| PV1 Voltage |                                           |

Read

```taphome
MODBUSR(H, 35105, uInt32)/1000
```

Service Attributes

Mode

```taphome
var reg:= MODBUSR(H, 35119, Uint32);
SWITCH(GETBYTE(reg, 0),
 0, "No PV", 
 1, "Standby", 
 2, "Work", 
 "Error");
```

PV1 - current

```taphome
MODBUSR(H, 35104, Uint16)/10 + "A";
```

PV1 - voltage

```taphome
MODBUSR(H, 35103, Uint16)/10 + "V";
```

PV2 Power Variable Read-only

PV string 2 power in kW, with voltage (V), current (A) and operating mode as service attributes

Register: H:35109 UInt32 Unit: kW numeric

Service Attributes

|             |                                           |
|-------------|-------------------------------------------|
| Mode        | PV2 operating mode — No PV, Standby, Work |
| PV2 Voltage |                                           |
| PV2 Current |                                           |

Read

```taphome
MODBUSR(H, 35109, UInt32)/1000
```

Service Attributes

Mode

```taphome
var reg:= MODBUSR(H, 35119, Uint32);
SWITCH(GETBYTE(reg, 1),
 0, "No PV", 
 1, "Standby", 
 2, "Work", 
 "Error");
```

PV2 - voltage

```taphome
MODBUSR(H, 35107, Uint16)/10 + "V";
```

PV2 - current

```taphome
MODBUSR(H, 35108, Uint16)/10 + "A";
```

PV3 Power Variable Read-only

PV string 3 power in kW, with voltage (V), current (A) and operating mode as service attributes

Register: H:35113 UInt32 Unit: kW numeric

Service Attributes

|             |                                           |
|-------------|-------------------------------------------|
| PV3 Current |                                           |
| PV3 Voltage |                                           |
| Mode        | PV3 operating mode — No PV, Standby, Work |

Read

```taphome
MODBUSR(H, 35113, UInt32)/1000
```

Service Attributes

PV3 - current

```taphome
MODBUSR(H, 35112, Uint16)/10 + "A";
```

PV3 - voltage

```taphome
MODBUSR(H, 35111, Uint16)/10 + "V";
```

Mode

```taphome
var reg:= MODBUSR(H, 35119, Uint32);
SWITCH(GETBYTE(reg, 2),
 0, "No PV", 
 1, "Standby", 
 2, "Work", 
 "Error");
```

PV4 Power Variable Read-only

PV string 4 power in kW, with voltage (V), current (A) and operating mode as service attributes

Register: H:35117 UInt32 Unit: kW numeric

Service Attributes

|             |                                           |
|-------------|-------------------------------------------|
| Mode        | PV4 operating mode — No PV, Standby, Work |
| PV4 Current |                                           |
| PV4 Voltage |                                           |

Read

```taphome
MODBUSR(H, 35117, Uint32)/1000
```

Service Attributes

Mode

```taphome
var reg:= MODBUSR(H, 35119, Uint32);
SWITCH(GETBYTE(reg, 3),
 0, "No PV", 
 1, "Standby", 
 2, "Work", 
 "Error");
```

PV4 - current

```taphome
MODBUSR(H, 35116, Uint16)/10 + "A";
```

PV4 - voltage

```taphome
MODBUSR(H, 35115, Uint16)/10 + "V";
```

Radiator Temperature Temperature Sensor Read-only

Inverter heatsink temperature, with IGBT module temperature as service attribute

Register: H:35176 Int16 Unit: °C numeric

Service Attributes

|                    |
|--------------------|
| Module Temperature |

Read temperature

```taphome
MODBUSR(H, 35176, int16)/10
```

Service Attributes

Module temperature

```taphome
MODBUSR(H, 35175, Int16) / 10  + "°C";
```

Total Purchased Energy Variable Read-only

Cumulative energy imported from grid in kWh (from smart meter)

Register: H:36017 Float Unit: kWh numeric

Read

```taphome
MODBUSR(H, 36017, Float)/10
```

Total PV Energy Production Electricity Meter Read-only

Cumulative PV energy in kWh, with current total inverter power (kW) as demand reading

Register: H:35191 UInt32 Unit: kWh numeric

Read total consumption

```taphome
MODBUSR(H, 35191, UInt32)/10
```

Read demand

```taphome
MODBUSR(H, 35138, Int16) / 1000
```

Total Supplied Energy Variable Read-only

Cumulative energy exported to grid in kWh (from smart meter)

Register: H:36015 Float Unit: kWh numeric

Read

```taphome
MODBUSR(H, 36015, Float)/10
```

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

Possible improvements (21)

- H:35189 Module Error Flags — UInt32 bitmask — Table 8-2 — 24 error flags covering GFCI, relay, grid, PV, temperature, isolation, and communication faults. Read in module\[0] readscript but not exposed as device.
- H:35140 AC Active Power — S16, W, read-only — total AC active power output
- H:35142 AC Reactive Power — S16, VAR, read-only
- H:35144 AC Apparent Power — S16, VA, read-only
- H:35170 Total Back-Up Load Power — S16, W, read-only — total backup load across all phases
- H:35172 Total Load Power — S16, W, read-only — total load power across all phases
- H:35174 Air Temperature — S16, °C, /10, read-only — inverter internal air temperature
- H:35178 BUS Voltage — U16, V, /10, read-only — DC bus voltage
- H:35195 E-Total Grid Feed (Export) — U32, kWh, /10, read-only — total energy fed to grid (from inverter registers, not meter)
- H:35200 E-Total Grid Buy (Import) — U32, kWh, /10, read-only — total purchased energy (from inverter registers, not meter)
- H:35173 UPS Load Percent — U16, %, /100, read-only
- H:37003 BMS Pack Temperature — U16, °C, /10, read-only — battery pack temperature
- H:37008 Battery SOH — U16, %, read-only — battery state of health
- H:36008 Meter Total Active Power — S16, W, read-only — smart meter total active power
- H:35164 Load Power R (L1) — S16, W, read-only — R phase total load power (not just backup)
- H:35166 Load Power S (L2) — S16, W, read-only — S phase total load power
- H:35168 Load Power T (L3) — S16, W, read-only — T phase total load power
- H:47509 Grid Export Enable — U16, R/W — enable/disable grid export
- H:47510 Grid Export Limit — U16, W, R/W — grid export power limit
- H:47511 EMS Mode — U16, R/W — energy management system mode selection
- H:45356 Battery Discharge Depth — U16, %, R/W — minimum SOC for discharge

## Import parameters

Enter these values when you import the XML.

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

## Sources

- GoodWe EMS Modbus Protocol (Hybrid ET/EH/BH/BT) V1.7
  
  2026-03-26
  
  [PDF](https://taphome.com/compatibility/devices/goodwe-et-plus-inverters/manufacturer/goodwe-modbus-protocol-hybrid.pdf)
- GoodWe HA Integration — ET Register Map (goodwe PyPI library)
  
  [github.com](https://github.com/marcelblijleven/goodwe/blob/master/goodwe/et.py) 2026-03-26
- GoodWe Modbus TCP/IP Communication Solution (VER 03)
  
  [community.goodwe.com](https://community.goodwe.com/resources/goodwe/2021-12-14558424.pdf) 2026-03-26
  
  [PDF](https://taphome.com/compatibility/devices/goodwe-et-plus-inverters/manufacturer/modbus-tcp-communication-solution.pdf)
- GoodWe ET/ET Plus+/BT Series User Manual V1.9
  
  [en.goodwe.com](https://en.goodwe.com/Ftp/EN/Downloads/User%20Manual/GW_ET,%20ET%20PLUS+,%20BT_User%20Manual-EN.pdf) 2026-03-26
  
  [PDF](https://taphome.com/compatibility/devices/goodwe-et-plus-inverters/manufacturer/et-plus-user-manual.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/)

