TapHome
Community Beta Energy & metering

ABB TRIO-50.0/60.0 Solar Inverter (Gt03 Modbus Map)

ABB TRIO-50.0/60.0-TL-OUTD three-phase PV inverter in TapHome over Modbus RTU on RS-485, using the Gt03.0 register map. Reads AC power, total and daily energy, grid voltage, current and frequency, DC input #1, two temperatures, and turns state, alarm and derating codes into notifications. Modbus is enabled in Aurora Manager LITE.

Modbus RTU10 devicesRevision 1.0 Last updated: November 12, 2026

Submitted by Adam Tížik

ABB TRIO-50.0/60.0 Solar Inverter (Gt03 Modbus Map)

Import into the TapHome appHardware › Modbus › Add from template

Download Template
On this page

Integration guide

The ABB TRIO is a three-phase, transformerless grid-tied photovoltaic string inverter. TapHome reads it over Modbus RTU on an RS-485 line, using the manufacturer’s proprietary register map version Gt03.0 (“Modbus RTU Slave”). The manufacturer’s documentation for the TRIO range is now published by FIMER.

The template reads AC output power and energy, today’s production, grid voltage, current and frequency, power, voltage and current of DC input #1, two inverter temperatures, and decodes the inverter’s global state, alarm state and derating state into TapHome notifications. It only reads — it does not switch the inverter on or off and does not limit its power.

Which TRIO models the template fits

The Gt03.0 register map is the manufacturer’s map for these inverters:

ModelMinimum inverter update version (Europe)USAJapan
TRIO-50.0-TL-OUTD1711C1711D1708B
TRIO-60.0-TL-OUTD1715B1715C—
TRIO-TM-50.0-4001741E——
TRIO-TM-60.0-4801741F——

The template name also lists TRIO-20.0 and TRIO-27.6, but the manufacturer’s register map for TRIO-20.0/27.6-TL-OUTD (version GT05, revision 1.6) is a different map: its measurements sit at input registers 0100–0174 (for example global state 0124, daily energy 0132, grid voltage 0144, grid power 0148, inverter temperature 0164). The registers this template reads (1050–1122) do not appear in that map, so on a TRIO-20.0 or TRIO-27.6 the template is not expected to return values. Verify on the inverter before relying on it.

Hardware connection

Work inside the inverter’s wiring area may only be carried out by a qualified installer, with the inverter disconnected as described in the manufacturer’s product manual.

RS-485 lines on the TRIO-50.0/60.0

The inverter has two RS-485 lines, RS485-1 and RS485-2. Each line runs either the proprietary “Aurora” protocol or Modbus, set separately per line. Both lines can be used for monitoring devices, configuration and power management commands; they differ only in that firmware upgrades must go through RS485 (1), and ABB monitoring devices must be wired to RS485 (1). If an ABB monitoring device already uses RS485 (1) with the Aurora protocol, connect TapHome to RS485 (2).

Each line can be connected in two equivalent ways on the communication board:

  • Terminal block a11 — terminals +T/R, −T/R, RTN and SH, one row per line. Use the SH terminal for the cable shield.
  • RJ45 connectors — a16 for RS485-1 and a14 for RS485-2. Each line has two RJ45 sockets (A) and (B); they are equivalent and serve as the IN and OUT of a daisy chain.
TRIO-50.0/60.0 communication board: RS485-1 and RS485-2 terminal block a11 (+T/R, -T/R, RTN, SH) and RJ45 connectors a14 and a16 with IN/OUT daisy chain.
Inverter terminalRS-485 bus to TapHome
+T/RA (+), positive data
−T/RB (−), negative data
RTNReference (GND)
SHCable shield

RJ45 pinout

RJ45 pinSignal
3+T/R
5−T/R
7Reference (RTN; labelled GND COM in the TRIO-20.0/27.6 manual)
1, 2, 4, 6, 8Not used
RJ45 pinout for the RS-485 line (pin 3 +T/R, pin 5 -T/R, pin 7 GND COM) and shielded twisted-pair cable signals +T/R, -T/R, GND COM, SH on the TRIO-20.0/27.6 inverter.

Use an RJ45 connector with a metal body so that the shield stays continuous. For long distances the manufacturer prefers the terminal block with a shielded twisted-pair cable of 120 Ω characteristic impedance. The shield must be continuous along the whole line and grounded at a single point.

Daisy chain and line termination

Several inverters can share one RS-485 line in a daisy chain (in–out). The manufacturer recommends a line length of at most 1000 m and allows at most 62 inverters on one RS-485 line.

Terminate the line with the 120 Ω termination switch on the last inverter of the chain — a12 (S6) for RS485-1, a13 (S5) for RS485-2 — by setting it to ON. The line must also be terminated at the first element, which is normally the monitoring device, here the TapHome side of the bus. With a single inverter, set its termination switch to ON.

TRIO-50.0/60.0 RS-485 daisy chain with 120 ohm termination switches a12 and a13 set ON on the last inverter and on the monitoring system.

Inverters ship with the termination switches set to OFF. When an inverter is added to an existing chain later, set the termination switch of the previously last inverter back to OFF.

Configuration

Enabling Modbus RTU with Aurora Manager LITE

Out of the factory, both RS-485 lines of the TRIO-50.0/60.0 use the Aurora protocol, so Modbus does not answer until it is enabled. The serial line — protocol, address (Slave ID), baud rate, parity and stop bits — is configured with the manufacturer’s Aurora Manager LITE software. The PC connects to the inverter’s RS-485 line through a PVI-USB-RS485_232 signal converter. The advanced (installer) settings in Aurora Manager LITE are password protected; the password is obtained by registering on the manufacturer’s registration website.

  1. Connect the PC with the PVI-USB-RS485_232 converter to the RS-485 line of the inverter.
  2. In Aurora Manager LITE, set the protocol of the line that TapHome will use (RS485-1 or RS485-2) to Modbus RTU Slave. RS485-2 also offers “Modbus SunSpec”; the template uses the proprietary Modbus RTU map, not SunSpec.
  3. Set the RS-485 address of the inverter to a fixed value from 2 to 63. Every inverter on the line needs a different address, and none may be left on “Auto”.
  4. Check the serial parameters: the template expects the defaults 19200 bps, 8 data bits, no parity, 1 stop bit.

The product manual states that inverters ship with RS-485 address 2, while its list of default parameters shows “AUTO” for both lines. Check the address in Aurora Manager LITE rather than relying on the default.

The register map also contains holding registers 1006 (RS485 #1) and 1007 (RS485 #2) for the protocol of each line: 0 = Aurora, 1 = Modbus. They can only be written over Modbus, so they do not replace the first activation in Aurora Manager LITE. According to the register map, writing a value other than 1 changes the protocol immediately after the reply, which ends Modbus communication on that line. The template does not write these registers.

Communication parameters

ParameterInverter (Gt03.0 map)Template
InterfaceRS-485, half duplex—
Baud rate2400, 4800, 9600, 19200 (default), 38400, 57600, 115200 bps19200 bps
Data bits88
ParityNone (default), even or oddNone
Stop bits11
Address (Slave ID)2–63Import parameter, default 2
Minimum timeout100 ms1000 ms

In TapHome, import the template on the Modbus RTU interface the inverter is wired to and enter the inverter’s RS-485 address as Modbus Slave ID; with several inverters on one line, import the template once per inverter.

Device capabilities

The register map numbers registers as Modbus data addresses starting at 1; the request itself carries the address minus one. The tables below give both. All values come from input registers (function 04).

AC power and energy

DeviceMeasurementMap data addressRequest addressType, unit
AC Power and EnergyOutput active power, instantaneous10941093SF32, W
AC Power and EnergyTotal energy since installation10721071U32, Wh
Daily EnergyEnergy produced today10701069U32, Wh

Grid measurements

DeviceMeasurementMap data addressRequest addressType, unit
AC VoltageMean grid voltage, phase to neutral10901089SF32, V
AC CurrentMean output current, phase to neutral10921091SF32, A
Grid FrequencyMean grid frequency11061105SF32, Hz

DC input #1

DeviceMeasurementMap data addressRequest addressType, unit
DC Input #1 PowerActive power on DC input #111081107SF32, W
DC Input #1 VoltageVoltage on DC input #111101109SF32, V
DC Input #1 CurrentCurrent on DC input #111121111SF32, A

Temperatures

DeviceMeasurementMap data addressRequest addressType, unit
Inverter TemperatureDC/AC converter temperature11221121SF32, °C
DC Box TemperatureInternal (DC box) temperature11201119SF32, °C

The register map notes that the DC box temperature may refresh slightly more slowly than the other values.

Inverter state, alarms and derating

The module reads three status registers and turns them into TapHome notifications:

  • Global State (data address 1050) — “Running” when the inverter is connected to the grid (value 6), “Wait Sun / Grid” (1) and “Pause” (8) as information; ground fault, over-temperature fault, grid protection self-test fault, leakage fault and remote off (interlock) as errors. The inverter feeds power into the grid only in state 6.
  • Alarm State (data address 1051) — “No Alarm” or the alarm with its code, for example E001 Input OC, E002 Input OV, E004 Bulk OV, E014 Over Temp., E025 Riso Low or E035 Remote Off, as a warning or an error.
  • Derating State (data address 1054) — any value other than 0 raises the warning “Derating active (code …)”.

The derating code is a bit field; several deratings can be active at once, and the output is then limited to the lowest of them:

BitDerating cause
0Power curtailment from user set point
1Grid over-frequency
2Average grid over-voltage
3Anti-islanding
4Nameplate grid current limitation
5Over-temperature
6DC over-voltage
7Energy storage system zero-power injection

For example, code 3 means bits 0 and 1: power curtailment and grid over-frequency.

Troubleshooting

No response from the inverter

  • Check in Aurora Manager LITE that the line TapHome uses is set to Modbus RTU Slave — the factory setting is Aurora on both lines.
  • Check that the Modbus Slave ID in TapHome equals the inverter’s RS-485 address and that the address is not “Auto”.
  • Check the polarity: +T/R to A (+), −T/R to B (−). Swapped wires are a common cause.
  • Check that baud rate, parity and stop bits in TapHome match the inverter (default 19200 bps, no parity, 1 stop bit).
  • Check the termination: ON only on the last inverter of the chain, OFF on all others.
  • Make sure TapHome is not connected to a line that an ABB monitoring device uses with the Aurora protocol.

Exception code 2 (illegal data address)

The inverter answers exception code 2 for every register that is not in its map. Typical causes:

  • The inverter firmware is older than the minimum update version for the Gt03.0 map (see the table at the top).
  • The inverter is a TRIO-20.0 or TRIO-27.6, which uses a different register map.
  • A 32-bit value (SF32 or U32) was requested only partly. Every request must cover both registers of a 32-bit value.

A fault is shown on the inverter but not in TapHome

The template decodes only a selection of the state and alarm codes. The full lists are in annexes 3 (Global State), 4 (Alarm State) and 7 (Derating State) of the Gt03.0 register map — for example arc fault is Global State 51 and the “Reset by hand” latch is Global State 124. Read the inverter’s state in Aurora Manager LITE in that case.

Available devices 10

These devices appear in TapHome after import.

ABB TRIO Inverter Module

ABB TRIO Inverter

Read (module)
VAR gs := MODBUSR(A, 1049, UInt16);
IF(gs = 6, ADDINFO(0, "Running"));
IF(gs = 1, ADDINFO(1, "Wait Sun / Grid"));
IF(gs = 8, ADDINFO(2, "Pause"));
IF(gs = 25, ADDERROR(0, "Remote OFF"));
IF(gs = 9, ADDERROR(1, "Ground Fault"));
IF(gs = 10, ADDERROR(2, "OTH Fault"));
IF(gs = 13, ADDERROR(3, "Self-Test Fail"));
IF(gs = 15, ADDERROR(4, "Leak Fault"));
IF(gs = 16, ADDERROR(5, "Waiting for manual reset"));
IF(gs = 31, ADDERROR(6, "Temperature Fault"));
IF(gs = 32, ADDERROR(7, "Fan Stuck"));
IF(gs = 115, ADDERROR(8, "Arc Fault"));
VAR al := MODBUSR(A, 1050, UInt16);
IF(al = 0, ADDINFO(10, "No Alarm"));
IF(al = 1, ADDWARNING(11, "W001 Sun Low"));
IF(al = 2, ADDERROR(12, "E001 Input OC"));
IF(al = 3, ADDWARNING(13, "W002 Input UV"));
IF(al = 4, ADDERROR(14, "E002 Input OV"));
IF(al = 7, ADDERROR(15, "E004 Bulk OV"));
IF(al = 8, ADDERROR(16, "E005 Comm. Error"));
IF(al = 9, ADDERROR(17, "E006 Output OC"));
IF(al = 13, ADDWARNING(18, "W003 Grid Fail"));
IF(al = 16, ADDERROR(19, "E012 DC/DC Fail"));
IF(al = 19, ADDERROR(20, "E014 Over Temp."));
IF(al = 21, ADDERROR(21, "E016 Inverter Fail"));
IF(al = 23, ADDERROR(22, "E018 Ground Fault"));
IF(al = 38, ADDERROR(23, "E025 Riso Low"));
IF(al = 47, ADDWARNING(24, "W010 Fan Fail"));
IF(al = 50, ADDERROR(25, "E035 Remote Off"));
IF(al = 56, ADDERROR(26, "E038 Fan Stuck"));
VAR dr := MODBUSR(A, 1053, UInt16);
IF(dr != 0, ADDWARNING(30, "Derating active (code " + TOSTRING(dr, "F0") + ")"));
AC Power and Energy Electricity Meter

AC Power and Energy

Read total consumption
MODBUSR(A, 1071, UInt32)
Read demand
MODBUSR(A, 1093, Float)
Daily Energy Variable

Daily Energy

Read
MODBUSR(A, 1069, UInt32)
AC Voltage Analog Input

AC Voltage

Read input level
MODBUSR(A, 1089, Float)
AC Current Analog Input

AC Current

Read input level
MODBUSR(A, 1091, Float)
Grid Frequency Analog Input

Grid Frequency

Read input level
MODBUSR(A, 1105, Float)
DC Input #1 Power Analog Input

DC Input #1 Power

Read input level
MODBUSR(A, 1107, Float)
DC Input #1 Voltage Analog Input

DC Input #1 Voltage

Read input level
MODBUSR(A, 1109, Float)
DC Input #1 Current Analog Input

DC Input #1 Current

Read input level
MODBUSR(A, 1111, Float)
Inverter Temperature Temperature Sensor

Inverter Temperature

Read temperature
MODBUSR(A, 1121, Float)
DC Box Temperature Temperature Sensor

DC Box Temperature

Read temperature
MODBUSR(A, 1119, Float)
Connection: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]

Import parameters

Enter these values when you import the XML.

Asked in the appDefault
Modbus Slave ID2

Found a problem with this device template?

Tell us what's wrong, what's missing, or how the template should behave. We rely on your feedback to keep the catalog accurate.

Template · TapHome portal ABB TRIO-50.0/60.0 Solar Inverter (Gt03 Modbus Map) Open this template in the Customer Portal to apply it to one of your homes, or to draft a refinement and submit it back to the catalog. Modbus RTU View in TapHome portal