---
title: "SolarEdge SunSpec Inverter"
description: "SolarEdge SunSpec Modbus RTU integration for TapHome. Monitor AC/DC power, voltage, current, frequency, energy, heat sink temperature and state."
url: "https://taphome.com/en/compatibility/solaredge-sunspec/"
language: en
lastmod: 2026-03-23
generator: hugo
ai:
  topics: ["modbus-rtu","inverter","rs485","sunspec","solar","3-phase","energy-monitoring"]
  questions: ["How to integrate SolarEdge inverter with TapHome via Modbus RTU?","What does the SolarEdge SunSpec TapHome template monitor?","How to connect SolarEdge inverter via RS-485 to TapHome?","How to enable SunSpec Modbus on a SolarEdge inverter?","What operating states does the SolarEdge SunSpec template report?","How to monitor solar energy production with TapHome?"]
---

# SolarEdge SunSpec Inverter

Communication: Modbus RTU

- [SolarEdge Official Website](https://www.solaredge.com)

## Integration guide

SolarEdge inverters implement the SunSpec open protocol for interoperability with third-party monitoring devices. The TapHome template reads inverter data via Modbus RTU over RS-485, providing real-time monitoring of AC and DC electrical parameters, lifetime energy production, heat sink temperature and inverter operating state.

The template supports all SunSpec-compatible SolarEdge inverters — including single-phase (SE3000H, SE3800, SE4000H, SE5000H, SE5K, SE6000H, SE7K), three-phase (SE10K, SE12.5K) and Synergy models. All inverters with SetApp configuration support SunSpec out of the box. LCD-display inverters require firmware version 3.xxxx or above.

## Hardware connection

### RS-485 wiring

Connect the SolarEdge inverter to TapHome Core using an RS-485 twisted pair cable:

- **RS-485 A+** on the inverter → **A+/D+** on TapHome RS-485
- **RS-485 B-** on the inverter → **B-/D-** on TapHome RS-485
- **GND** → shared ground reference (**recommended**)

**Cable specification:**

- Type: shielded twisted pair, 0.2–1 mm² (CAT5 may be used)
- Minimum 3 wires: A+, B-, GND (shield)

All SetApp inverters have **two built-in RS485 ports** and can act as Leader on both simultaneously. For a single inverter connected to TapHome, use RS485-1 for the SunSpec connection.

### Single inverter connection

Use the RS-485 bus to connect the inverter directly to TapHome. The Ethernet or wireless connection is used separately for the SolarEdge monitoring platform.

![SolarEdge single inverter RS-485 connection to TapHome](https://taphome.com/images/compatibility/solaredge-sunspec/connection-single_hu_c860a4c9ee409c44.jpg)

### Multiple inverter connection

If a second RS-485 port is required to establish connection, use RS-485-2 for inverters with SetApp configuration, or RS-485-E (requires a plug-in) for inverters with an LCD.

**Option 1 (direct connection)** — connect all Followers and the Leader to TapHome via RS-485-1. Every inverter on the RS-485 bus must have a unique Modbus Device ID.

![SolarEdge multiple inverter direct RS-485 connection](https://taphome.com/images/compatibility/solaredge-sunspec/connection-multiple-option1_hu_6ace2bf69a8d91d3.jpg)

**Option 2 (via Leader)** — connect Followers to the Leader via RS-485-1, then connect the Leader to TapHome via RS-485-2 or RS-485-E.

![SolarEdge multiple inverter Leader-Follower RS-485 connection](https://taphome.com/images/compatibility/solaredge-sunspec/connection-multiple-option2_hu_7697d7e63dc99f4d.jpg)

> [!NOTE]
> SolarEdge systems support a **single Modbus Leader only** — either Modbus RTU or Modbus TCP, not both. If TapHome is connected via RS-485, no other Modbus master can use the same bus.

## Configuration

### Enabling Modbus communication

#### SetApp inverters

1. Open the SetApp app and tap **Commissioning → Site Communication**
2. Navigate to **RS485-1 → Protocol** and select **SunSpec (Non-SE Logger)**
3. Navigate to **RS485-1 → Device ID** and enter the Modbus address (unique value **1–247**)
4. Optionally set the baud rate under **RS485-1 → Baud rate** (default: 115200 bps)

#### LCD-display inverters

1. Navigate to **Communication → RS485-1 Conf → Device Type** and select **Non-SE Logger**
2. Navigate to **Communication → RS485-1 Conf → Protocol** and select **SunSpec**

### Communication parameters

| Parameter | Value |
|-----------|-------|
| **Baud rate** | 115200 bps (configurable 9600–115200) |
| **Data bits** | 8 |
| **Parity** | None |
| **Stop bits** | 1 |
| **Slave ID** | 1–247 (configurable) |
| **Response time** | < 100 ms per inverter at 115200 bps |

> [!TIP]
> The default baud rate is **115200 bps**. Baud rate configuration is supported from CPU firmware version 2.0549 and above. If TapHome cannot communicate at 115200, try lowering to 9600 bps in both the inverter settings and TapHome module configuration.

### Multiple inverter setup

When connecting multiple inverters to TapHome:

1. Configure each inverter with a **unique Device ID** (1–247)
2. Connect all inverters on the RS-485 bus in a daisy-chain topology
3. In TapHome, add a separate module instance for each inverter with the corresponding Slave ID
4. The Leader inverter connects to TapHome; Followers connect via RS485-1 in a chain

For systems with a Commercial Gateway, use RS485-2 on the gateway for the TapHome connection and RS485-1 for the Leader-Follower chain.

## Device capabilities

### AC electrical monitoring

The template provides comprehensive AC-side monitoring with SunSpec dynamic scale factors. Each value is read as a scaled integer and converted using a per-parameter scale factor register:

- **AC Total Current** (H:40071) — sum of all phase currents in Amps
- **AC Phase A/B/C Current** (H:40072–40074) — per-phase AC current, all sharing scale factor at H:40075
- **AC Power** (H:40083) — total AC power output in Watts
- **AC Frequency** (H:40085) — grid frequency in Hz

### AC voltage monitoring

The template reads both line-to-line and line-to-neutral voltages, all using the voltage scale factor at H:40082:

- **AC Voltage Phase A-B** (H:40076), **B-C** (H:40077), **C-A** (H:40078) — line-to-line voltages
- **AC Voltage Phase A-N** (H:40079), **B-N** (H:40080), **C-N** (H:40081) — line-to-neutral voltages

> [!NOTE]
> Single-phase inverters (SunSpec DID 101) only populate Phase A registers. Split-phase inverters (DID 102) populate Phases A and B. Three-phase inverters (DID 103) populate all three phases.

### Power quality

- **Apparent Power** (H:40087) — AC apparent power in VA
- **Reactive Power** (H:40089) — AC reactive power in VAR
- **Power Factor** (H:40091) — AC power factor as percentage

### DC input monitoring

- **DC Current** (H:40096) — DC input current from solar panels in Amps
- **DC Voltage** (H:40098) — DC input voltage in Volts
- **DC Power** (H:40100) — DC input power in Watts

### Energy production

- **AC Lifetime Energy** (H:40093) — accumulated total energy production in kWh. This device also reads AC Power (H:40083) as current demand in kW, enabling both instantaneous power and cumulative energy tracking in TapHome

### Temperature and status

- **Heat Sink Temperature** (H:40103) — inverter heat sink temperature in °C
- **Operating State** (H:40107) — current inverter state:
    - **1 — Off** — inverter is off
    - **2 — Sleeping** — night mode / auto-shutdown
    - **3 — Grid Monitoring** — starting / wake-up
    - **4 — Producing** — inverter is ON and producing power (MPPT)
    - **5 — Throttled** — production curtailed
    - **6 — Shutting Down** — shutting down
    - **7 — Fault** — fault condition
    - **8 — Standby** — maintenance / setup

### Service diagnostics

The module exposes six service attributes for identification and diagnostics:

- **SunSpecID** (H:40000) — validates the SunSpec protocol header (expected value: "SunS" / 0x53756e53)
- **Manufacturer** (H:40004) — inverter manufacturer name ("SolarEdge")
- **Model** (H:40020) — inverter model (e.g. "SE5000")
- **Version** (H:40044) — CPU software version (e.g. "0002.0611")
- **SerialNumber** (H:40052) — inverter serial number
- **SunSpecDID** (H:40069) — identifies inverter type: 101=single phase, 102=split phase, 103=three phase

The module ReadScript also monitors the vendor-specific status register (H:40108) for error reporting in TapHome.

### SunSpec scale factors

All numeric values in the SunSpec protocol use dynamic scale factors. The actual value is calculated as:

```text
Value = RegisterValue × 10^ScaleFactor
```

For example, a raw frequency value of 5003 with scale factor -2 yields 50.03 Hz. The TapHome template handles this conversion automatically — no manual configuration is needed.

### Additional capabilities

SolarEdge inverters also expose SunSpec meter models (201–204) for up to three external meters per inverter, providing grid consumption, production, and export/import metering. The MPPT Extension Model (SunSpec ID 160) provides per-unit DC current, voltage, power and temperature for Synergy inverters with firmware 4.13.xx or later. Two additional temperature sensors (H:40104, H:40105) are available on some models. These can be added in a future template update.

## Troubleshooting

### No Modbus communication

1. **Check RS-485 wiring:** Verify A+ and B- are not swapped between the inverter and TapHome
2. **Verify SunSpec is enabled:** On SetApp inverters, confirm RS485-1 Protocol is set to "SunSpec (Non-SE Logger)". On LCD inverters, check RS485-1 Conf → Protocol → SunSpec
3. **Check baud rate:** Ensure TapHome module baud rate matches the inverter setting (default 115200 bps)
4. **Verify Device ID:** The Slave ID in TapHome must match the Device ID configured on the inverter
5. **Single Leader:** Confirm no other Modbus master is connected to the same RS-485 bus

### All values read as zero

1. The inverter may be in **Sleeping** or **Off** state (night mode). Check the Operating State device — values 1 and 2 indicate the inverter is not producing
2. Verify the SunSpec header by checking the SunSpecID service attribute — it should read "SunS" (0x53756e53). If not, the register addressing may be incorrect

### Phase B/C values show zero on single-phase inverter

This is expected behavior. Single-phase SolarEdge inverters (SunSpec DID 101) only populate Phase A registers. The Phase B and Phase C devices will show zero permanently. The SunSpecDID service attribute confirms the inverter type.

### Communication timeout with multiple inverters

The response time increases with the number of Follower inverters connected via a Commercial Gateway. The timeout delay is approximately N × 100 ms + 60 ms, where N is the number of Followers. For 10 Followers at 115200 bps, expect approximately 1060 ms response time. Adjust the TapHome module timeout accordingly.

## Available devices 21

These devices appear in TapHome after import.

SolarEdge SunSpec Inverter Module

Service Attributes

|              |                                                                               |
|--------------|-------------------------------------------------------------------------------|
| SunSpecID    | SunSpec protocol header validation — expected value 'SunS' (0x53756e53)       |
| Manufacturer |                                                                               |
| Model        |                                                                               |
| Version      |                                                                               |
| SerialNumber |                                                                               |
| SunSpecDID   | Inverter type identifier — 101=single phase, 102=split phase, 103=three phase |

Read (module)

```taphome
var IStatusVendor := modbusr(H, 40108, uint16);
if (IStatusVendor != 0, adderror(IStatusVendor, "Fault"))
```

Service Attributes

SunSpecID

```taphome
var ret := modbusr(H, 40000, Uint32);

if (ret = 0x53756e53, "SunS", "Unknown ID")
```

Manufacturer

```taphome
modbusr(H, 40004, String, 32)
```

Model

```taphome
modbusr(H, 40020, String, 32)
```

Version

```taphome
modbusr(H, 40044, String, 32)
```

SerialNumber

```taphome
modbusr(H, 40052, String, 32)
```

SunSpecDID

```taphome
switch(modbusr(H, 40069, uint16),
101, "single phase",
102, "split phase",
103, "three phase",
"Unknown")
```

AC Frequency Variable Read-only

AC grid frequency in Hz

Register: H:40085 Int16 Unit: Hz numeric

Read

```taphome
MODBUSR(H, 40085, Int16)*power(10, MODBUSR(H, 40086, Int16))
```

AC Lifetime Energy Electricity Meter Read-only

Total accumulated energy production (kWh) with current AC power demand (kW)

Register: H:40093 Uint32 Unit: kWh numeric

Read total consumption

```taphome
MODBUSR(H, 40093, Uint32) * power(10, MODBUSR(H, 40095, Uint16)) / 1000
```

Read demand

```taphome
MODBUSR(H, 40083, Int16) * power(10, MODBUSR(H, 40084, Int16)) / 1000
```

AC Phase A Current Variable Read-only

Register: H:40072 Uint16 Unit: A numeric

Read

```taphome
MODBUSR(H, 40072, Uint16) * power(10, MODBUSR(H, 40075, Int16))
```

AC Phase B Current Variable Read-only

Register: H:40073 Uint16 Unit: A numeric

Read

```taphome
MODBUSR(H, 40073, Uint16) * power(10, MODBUSR(H, 40075, Int16))
```

AC Phase C Current Variable Read-only

Register: H:40074 Uint16 Unit: A numeric

Read

```taphome
MODBUSR(H, 40074, Uint16) * power(10, MODBUSR(H, 40075, Int16))
```

AC Power Variable Read-only

Total AC power output from the inverter

Register: H:40083 Int16 Unit: W numeric

Read

```taphome
MODBUSR(H, 40083, Int16) * power(10, MODBUSR(H, 40084, Int16))
```

AC Total Current Variable Read-only

Sum of all AC phase currents

Register: H:40071 Uint16 Unit: A numeric

Read

```taphome
MODBUSR(H, 40071, Uint16) * power(10, MODBUSR(H, 40075, Int16))
```

AC Voltage Phase A-N Variable Read-only

Register: H:40079 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40079, Uint16) * power(10, MODBUSR(H, 40082, Int16))
```

AC Voltage Phase A-B Variable Read-only

Register: H:40076 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40076, Uint16) * power(10, MODBUSR(H, 40082, Int16))
```

AC Voltage Phase B-N Variable Read-only

Register: H:40080 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40080, Uint16) * power(10, MODBUSR(H, 40082, Int16))
```

AC Voltage Phase B-C Variable Read-only

Register: H:40077 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40077, Uint16) * power(10, MODBUSR(H, 40082, Int16))
```

AC Voltage Phase C-N Variable Read-only

Register: H:40081 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40081, Uint16) * power(10, MODBUSR(H, 40082, Int16))
```

AC Voltage Phase C-A Variable Read-only

Register: H:40078 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40078, Uint16) * power(10, MODBUSR(H, 40082, Int16))
```

Apparent Power Variable Read-only

Register: H:40087 Int16 Unit: VA numeric

Read

```taphome
MODBUSR(H, 40087, Int16) * power(10, MODBUSR(H, 40088, Int16))
```

DC Current Variable Read-only

DC input current from solar panels

Register: H:40096 Uint16 Unit: A numeric

Read

```taphome
MODBUSR(H, 40096, Uint16) * power(10, MODBUSR(H, 40097, Int16))
```

DC Power Variable Read-only

DC input power from solar panels

Register: H:40100 Int16 Unit: W numeric

Read

```taphome
MODBUSR(H, 40100, Int16) * power(10, MODBUSR(H, 40101, Int16))
```

DC Voltage Variable Read-only

DC input voltage from solar panels

Register: H:40098 Uint16 Unit: V numeric

Read

```taphome
MODBUSR(H, 40098, Uint16) * power(10, MODBUSR(H, 40099, Int16))
```

Heat Sink Temperature Temperature Sensor Read-only

Inverter heat sink temperature for thermal monitoring

Register: H:40103 Int16 Unit: °C numeric

Read temperature

```taphome
MODBUSR(H, 40103, Int16)*power(10, MODBUSR(H, 40106, Int16))
```

Operating State Multi-value Switch Read-only

Inverter operating state — Off, Sleeping, Grid Monitoring, Producing, Throttled, Shutting Down, Fault, Standby

Register: H:40107 Uint16 enum

Values / States: Off · Sleeping (auto-shutdown) – Night mode · Grid Monitoring/wake-up · Inverter is ON and producing power · Production (curtailed) · Shutting down · Fault · Maintenance/setup

Read switch state

```taphome
MODBUSR(H, 40107, Uint16)
```

Power Factor Variable Read-only

Register: H:40091 Int16 Unit: % numeric

Read

```taphome
MODBUSR(H, 40091, Int16) * power(10, MODBUSR(H, 40092, Int16))
```

Reactive Power Variable Read-only

Register: H:40089 Int16 Unit: VAR numeric

Read

```taphome
MODBUSR(H, 40089, Int16) * power(10, MODBUSR(H, 40090, Int16))
```

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

Possible improvements (6)

- H:40068 Device Address — Modbus Unit ID (1–247) — useful for multi-inverter setups but redundant with connection\_details slave\_id
- H:40104 Temp Other 1 — Additional temperature sensor 1 (°C with SF at H:40106) — not all models populate this register
- H:40105 Temp Other 2 — Additional temperature sensor 2 (°C with SF at H:40106) — not all models populate this register
- H:40108 Vendor Status (as device) — I\_Status\_Vendor — vendor-specific error codes. Already used in module readscript for error reporting, but not exposed as a separate device
- H:40121+ SunSpec Meter Model (201–204) — Up to 3 SunSpec meters per inverter (grid consumption, production, export/import) — separate template would be needed
- H:40121+ MPPT Extension Model 160 — Per-unit DC current, voltage, power and temperature for Synergy inverters (2–3 units) — requires firmware 4.13.xx+

## 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

- SolarEdge SunSpec Implementation Technical Note
  
  [knowledge-center.solaredge.com](https://knowledge-center.solaredge.com/sites/kc/files/sunspec-implementation-technical-note.pdf) 2026-03-23
  
  [PDF](https://taphome.com/compatibility/devices/solaredge-sunspec/manufacturer/sunspec-implementation-technical-note.pdf)
- SolarEdge MODBUS Register Map (AGG Software)
  
  [www.aggsoft.com](https://www.aggsoft.com/modbus-data-logging/solaredge.htm) 2026-03-23

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/)

