TapHome

Inepro PRO380-S-CT

Modbus RTU
Submitted by
Last updated: 03. 2026
Inepro PRO380-S-CT

The Inepro PRO380-S-CT is a MID-certified DIN-rail mounted 3-phase energy meter designed for current transformer (CT) installations. It communicates via Modbus RTU over RS-485 and measures active energy (kWh), reactive energy (kvarh), and instantaneous electrical parameters (voltage, current, power, power factor, frequency). The TapHome template provides 15 devices covering total, per-phase (L1/L2/L3), and bidirectional (import/export) metering with per-tariff (T1/T2) breakdown as service attributes.

The meter supports multiple wiring configurations: 3-phase 4-wire (3P4W), 3-phase 3-wire Open Delta (Aron), 3-phase 3-wire Delta, and single-phase 2-wire (1P2W). All measurement and energy registers use IEEE 754 Float32 in Big Endian byte order, read via Modbus function code FC03 (holding registers).

Hardware connection

CT wiring

The PRO380-S-CT requires external current transformers with a 5A secondary. The CT ratio must be configured before energy readings are valid (see Configuration section below).

3-phase 4-wire (3P4W)
Inepro PRO380-CT 3-phase 4-wire wiring diagram
TerminalFunction
1, 2CT L1 (S1 input, S2 output)
3, 4CT L2 (S1 input, S2 output)
5, 6CT L3 (S1 input, S2 output)
7L1 voltage input
8L2 voltage input
9L3 voltage input
10N (Neutral)
3-phase 3-wire Open Delta — Aron (3P3W)
Inepro PRO380-CT 3-phase 3-wire Open Delta (Aron) wiring diagram
TerminalFunction
1, 2CT L1 (S1 input, S2 output)
3, 4Not used
5, 6CT L3 (S1 input, S2 output)
7L1 voltage input
8L2 voltage input
9L3 voltage input
10Not used
3-phase 3-wire Delta (3P3W)
Inepro PRO380-CT 3-phase 3-wire Delta wiring diagram
TerminalFunction
1, 2CT L1 (S1 input, S2 output)
3, 4CT L2 (S1 input, S2 output)
5, 6CT L3 (S1 input, S2 output)
7L1 voltage input
8L2 voltage input
9L3 voltage input
10Not used
Single-phase 2-wire (1P2W)
Inepro PRO380-CT single-phase 2-wire wiring diagram
TerminalFunction
1, 2CT L1 (S1 input, S2 output)
3, 4Not used
5, 6Not used
7L1 voltage input
8, 9Not used
10N (Neutral)

The CT secondary circuits must never be open while the primary is energized. Open CT secondaries develop dangerous high voltages. Always short-circuit the CT secondary terminals before disconnecting the meter.

RS-485 wiring
Inepro PRO380-Mod RS-485 Modbus connection diagram showing terminals 22 and 23

Connect the RS-485 bus to the meter terminals:

  • Terminal 22 — RS-485 A (Data+)
  • Terminal 23 — RS-485 B (Data-)

Use twisted pair cable (Cat5 or dedicated RS-485 cable). For cable runs exceeding 50 m, add a 120 ohm termination resistor (0.25 W minimum) at each end of the bus. Maximum cable length is approximately 1200 m at 9600 baud. Up to 32 devices can share one RS-485 bus.

Configuration

Communication parameters

The default Modbus settings match the TapHome template:

ParameterDefaultConfigurable
Baud rate9600Yes (300–9600)
Data bits8No (fixed)
ParityEvenYes (Even, Odd, None)
Stop bits1No (fixed)
Slave ID1Yes (1–247)

Communication parameters can be changed via Modbus registers: Slave ID (register 0x4003), baud rate (register 0x4004), and parity (register 0x4011). The slave ID can also be changed via the meter pushbutton menu.

When connecting multiple PRO380 meters on the same RS-485 bus, each meter must have a unique Slave ID. After importing the TapHome template, adjust the Slave ID in the module connection settings to match the meter.

CT ratio configuration

On first power-up, the CT version displays a CT ratio warning. The CT ratio must be set before energy readings are valid. The default ratio is 5/5 (1:1).

Configuration via meter menu:

  1. Press and hold the pushbutton for 3 seconds to enter setup
  2. Navigate to the CT ratio screen
  3. Set the primary current value (e.g., 200 for a 200/5 CT)
  4. Confirm with the pushbutton

The CT ratio can also be written to Modbus register 0x400C (Float32). Common ratios: 100/5, 200/5, 400/5, 600/5, 800/5, 1000/5, 1500/5, 2000/5.

If the CT ratio is not configured correctly, all energy and power readings will be incorrect. The meter scales all current-derived measurements by the configured CT ratio.

Combination code (energy direction)

The combination code (register 0x400F) determines how forward and reverse energy is calculated:

CodeDescription
1Arithmetic sum (L1+L2+L3) — standard 3P4W
2Absolute sum (|L1|+|L2|+|L3|)
3L1 only (single phase)
4L1+L2 (Aron connection)
5L1+L3

The default combination code should match the wiring configuration. For standard 3-phase 4-wire installations, use code 1.

Device capabilities

The template creates 15 devices organized into five groups: per-phase voltage and current sensors, per-phase and total active energy meters, per-phase and total active power sensors, apparent power and power factor monitoring, and reactive energy/power metering. All devices are read-only.

Voltage and current monitoring

Six sensor devices provide per-phase electrical measurements:

  • L1 Voltage, L2 Voltage, L3 Voltage — phase-to-neutral voltages (V)
  • L1 Current, L2 Current, L3 Current — phase currents (A)

An additional Grid Frequency sensor reports the line frequency (Hz).

Active energy metering

Three energy devices track active energy with per-tariff (T1/T2) and per-phase (L1/L2/L3) breakdown as service attributes:

  • Total Active Energy — combined 3-phase energy (kWh) and instantaneous total active power (kW). Service attributes provide T1/T2 tariff totals and L1/L2/L3 per-phase totals.
  • Forward Active Energy (Import) — energy imported from the grid (kWh) with T1/T2 and L1/L2/L3 breakdown.
  • Reverse Active Energy (Export) — energy exported to the grid (kWh) with T1/T2 and L1/L2/L3 breakdown. Useful for solar PV installations with bidirectional metering.
Active power monitoring

The Total Active Power device provides instantaneous total active power (kW) with per-phase breakdown as service attributes (L1/L2/L3 Active Power in W, converted from kW by the template).

Apparent power and power factor
  • Total Apparent Power — instantaneous apparent power (kVA) with per-phase service attributes (L1/L2/L3 in kVA).
  • Total Power Factor — system-wide power factor (0.00–1.00) with per-phase power factor as service attributes (displayed as percentage).
Reactive energy and power
  • Total Reactive Energy — total reactive energy (kvarh) and instantaneous reactive power (kvar), with T1/T2 tariff breakdown, L1/L2/L3 per-phase breakdown, and forward/reverse reactive energy counters as service attributes.
  • Total Reactive Power — instantaneous total reactive power (kvar) with per-phase breakdown (L1/L2/L3 in kvar).

The import/export energy split (Forward/Reverse Active Energy) is particularly useful for monitoring solar PV self-consumption and grid interaction. The combination code setting determines how the meter calculates the energy direction.

Additional capabilities

The PRO380 also exposes registers for line-to-line voltage (L1-L2), total current (sum of all phases), per-phase and per-tariff forward/reverse reactive energy breakdown, CT ratio and communication parameter readback, error codes, power down counter, and power quadrant indicators. The L3 Apparent Power register (0x5028) is available in the meter but the template service attribute currently reads the wrong register (0x502A). These can be added or corrected in a future template update.

Troubleshooting

No communication
  1. Verify RS-485 wiring: terminal 22 to A/D+ and terminal 23 to B/D- on the TapHome converter
  2. Check for swapped A/B connections — swap terminals 22 and 23 if communication fails
  3. Confirm the baud rate and parity match between the meter and TapHome (default: 9600, 8E1)
  4. Verify the Slave ID in TapHome matches the meter setting (default: 1)
  5. For long cable runs, ensure 120 ohm termination resistors are installed at both bus ends
Incorrect readings
  1. CT ratio not set — the most common issue. Verify the CT ratio is configured correctly for the installed CTs (register 0x400C or via menu). If the ratio is wrong, all current, power, and energy readings will be scaled incorrectly.
  2. Wrong combination code — if forward/reverse energy values seem incorrect, check that the combination code (register 0x400F) matches the wiring configuration.
  3. CT polarity reversed — check the L1/L2/L3 Current Direction indicators (registers 0x4012–0x4014). A “-” sign indicates reversed CT orientation on that phase. Swap the S1/S2 connections on the affected CT.
Zero or missing readings
  1. Confirm the wiring configuration matches one of the supported types (3P4W, 3P3W, Delta, 1P2W)
  2. In 3P3W configurations, some phase voltage registers may return zero — this is expected
  3. Verify that voltage inputs (terminals 7-10) are connected, as the meter is powered through these terminals

Available devices

Inepro PRO380-S-CT Module
Service Attributes
Serial Number
L1, L2, L3 Current DirectionShows current flow direction (+/-) for each phase — useful for verifying correct CT orientation
Protocol Version
Software Version
Hardware Version

INEPRO PRO380-S-CT

Service Attributes
Serial Number
MODBUSR(H, 0x4000, Uint16, 2) 
L1, L2, L3 Current Direction
MODBUSR(H, 0x4012, String,1) + ", " + MODBUSR(H, 0x4013, String,1) + ", " + MODBUSR(H, 0x4014, String,1)
Protocol Version
FLOOR(MODBUSR(H, 0x4005, Float, 2),0.01);
Software Version
FLOOR(MODBUSR(H, 0x4007, Float, 2),0.01);
Hardware Version
FLOOR(MODBUSR(H, 0x4009, Float, 2),0.01);
Forward Active Energy (Import) Variable Read-only

Energy imported from the grid — total forward active energy (kWh) with per-tariff (T1/T2) and per-phase (L1/L2/L3) breakdown as service attributes

Register: H:0x600C (readstate) Float32 Unit: kWh
Service Attributes
T1 Forward Active energy
T2 Forward Active energy
L1 Forward Active energy
L2 Forward Active energy
L3 Forward Active energy

Forward Active Energy (Import)

Read
MODBUSR(H, 0x600C, Float, 2)
Service Attributes
T1 Forward Active energy
FLOOR(MODBUSR(H, 0x600E, Float, 2), 0.01) + " kWh";
T2 Forward Active energy
FLOOR(MODBUSR(H, 0x6010, Float, 2), 0.01) + " kWh";
L1 Forward Active energy
FLOOR(MODBUSR(H, 0x6012, Float, 2), 0.01) + " kWh";
L2 Forward Active energy
FLOOR(MODBUSR(H, 0x6014, Float, 2), 0.01) + " kWh";
L3 Forward Active energy
FLOOR(MODBUSR(H, 0x6016, Float, 2), 0.01) + " kWh";
Grid Frequency Variable Read-only
Register: H:0x5008 (readstate) Float32 Unit: Hz

Grid Frequency

Read
MODBUSR(H, 0x5008, Float, 2)
L1 Current Variable Read-only
Register: H:0x500C (readstate) Float32 Unit: A

L1 Current

Read
MODBUSR(H, 0x500C, Float, 2)
L1 Voltage Variable Read-only
Register: H:0x5002 (readstate) Float32 Unit: V

L1 Voltage

Read
MODBUSR(H, 0x5002, Float, 2)
L2 Current Variable Read-only
Register: H:0x500E (readstate) Float32 Unit: A

L2 Current

Read
MODBUSR(H, 0x500E, Float, 2)
L2 Voltage Variable Read-only
Register: H:0x5004 (readstate) Float32 Unit: V

L2 Voltage

Read
MODBUSR(H, 0x5004, Float, 2)
L3 Current Variable Read-only
Register: H:0x5010 (readstate) Float32 Unit: A

L3 Current

Read
MODBUSR(H, 0x5010, Float, 2)
L3 Voltage Variable Read-only
Register: H:0x5006 (readstate) Float32 Unit: V

L3 Voltage

Read
MODBUSR(H, 0x5006, Float, 2)
Total Power Factor Variable Read-only

System-wide power factor (0.00–1.00) with per-phase breakdown as service attributes

Register: H:0x502A (readstate) Float32
Service Attributes
L1 Power Factor
L2 Power Factor
L3 Power Factor

Total Power Factor

Read
MODBUSR(H, 0x502A, Float, 2)
Service Attributes
L1 Power Factor
ROUND(MODBUSR(H, 0x502C, Float, 2)*100) + "%"
L2 Power Factor
ROUND(MODBUSR(H, 0x502E, Float, 2)*100) + "%"
L3 Power Factor
ROUND(MODBUSR(H, 0x5030, Float, 2)*100) + "%"
Reverse Active Energy (Export) Variable Read-only

Energy exported to the grid — total reverse active energy (kWh) with per-tariff (T1/T2) and per-phase (L1/L2/L3) breakdown as service attributes

Register: H:0x6018 (readstate) Float32 Unit: kWh
Service Attributes
T1 Reverse active energy
T2 Reverse active energy
L1 Reverse active energy
L2 Reverse active energy
L3 Reverse active energy

Reverse Active Energy (Export)

Read
MODBUSR(H, 0x6018, Float, 2)
Service Attributes
T1 Reverse active energy
FLOOR(MODBUSR(H, 0x601A, Float, 2), 0.01) + " kWh";
T2 Reverse active energy
FLOOR(MODBUSR(H, 0x601C, Float, 2), 0.01) + " kWh";
L1 Reverse active energy
FLOOR(MODBUSR(H, 0x601E, Float, 2), 0.01) + " kWh";
L2 Reverse active energy
FLOOR(MODBUSR(H, 0x6020, Float, 2), 0.01) + " kWh";
L3 Reverse active energy
FLOOR(MODBUSR(H, 0x6022, Float, 2), 0.01) + " kWh";
Total Active Energy Electricity Meter Read-only

3-phase energy meter — total active energy (kWh) and total active power (kW), with per-tariff (T1/T2) and per-phase (L1/L2/L3) energy breakdown as service attributes

Register: H:0x6000 (readtotalconsumption), H:0x5012 (readdemand) Float32 Unit: kWh / kW
Service Attributes
T1 Total active energy
T2 Total active energy
L1 Total active energy
L2 Total active energy
L3 Total active energy

Total Active Energy

Read total consumption
MODBUSR(H, 0x6000, Float, 2)
Read demand
MODBUSR(H, 0x5012, Float, 2)
Service Attributes
T1 Total active energy
FLOOR(MODBUSR(H, 0x6002, Float, 2), 0.01) + " kWh";
T2 Total active energy
FLOOR(MODBUSR(H, 0x6004, Float, 2), 0.01) + " kWh";
L1 Total active energy
FLOOR(MODBUSR(H, 0x6006, Float, 2), 0.01) + " kWh";
L2 Total active energy
FLOOR(MODBUSR(H, 0x6008, Float, 2), 0.01) + " kWh";
L3 Total active energy
FLOOR(MODBUSR(H, 0x600A, Float, 2), 0.01) + " kWh";
Total Active Power Variable Read-only

Instantaneous total active power (kW) with per-phase breakdown — phase values converted from kW to W by the template

Register: H:0x5012 (readstate) Float32 Unit: kW
Service Attributes
L1 Active Power
L2 Active Power
L3 Active Power

Total Active Power

Read
MODBUSR(H, 0x5012, Float, 2)
Service Attributes
L1 Active Power
FLOOR(MODBUSR(H, 0x5014, Float, 2)*1000, 0.01) + " W";
L2 Active Power
FLOOR(MODBUSR(H, 0x5016, Float, 2)*1000, 0.01) + " W";
L3 Active Power
FLOOR(MODBUSR(H, 0x5018, Float, 2)*1000, 0.01) + " W";
Total Apparent Power Variable Read-only

Instantaneous total apparent power (kVA) with per-phase breakdown as service attributes

Register: H:0x5022 (readstate) Float32 Unit: kVA
Service Attributes
L1 Apparent Power
L2 Apparent Power
L3 Apparent Power

Total Apparent Power

Read
MODBUSR(H, 0x5022, Float, 2)
Service Attributes
L1 Apparent Power
FLOOR(MODBUSR(H, 0x5024, Float, 2), 0.01) + " kVA";
L2 Apparent Power
FLOOR(MODBUSR(H, 0x5026, Float, 2), 0.01) + " kVA";
L3 Apparent Power
FLOOR(MODBUSR(H, 0x502A, Float, 2), 0.01) + " kVA";
Total Reactive Energy Electricity Meter Read-only

3-phase reactive energy meter — total reactive energy (kvarh) and reactive power (kvar), with per-tariff, per-phase, and directional (forward/reverse) breakdown as service attributes

Register: H:0x6024 (readtotalconsumption), H:0x501A (readdemand) Float32 Unit: kvarh / kvar
Service Attributes
T1 Total reactive energy
T2 Total reactive energy
L1 Total reactive energy
L2 Total reactive energy
L3 Total reactive energy
Forward Reactive EnergyImport reactive energy counter
Reverse Reactive EnergyExport reactive energy counter

Total Reactive Energy

Read total consumption
MODBUSR(H, 0x6024, Float, 2)
Read demand
MODBUSR(H, 0x501A, Float, 2);
Service Attributes
T1 Total reactive energy
FLOOR(MODBUSR(H, 0x6026, Float, 2), 0.01) + " kvarh";
T2 Total reactive energy
FLOOR(MODBUSR(H, 0x6028, Float, 2), 0.01) + " kvarh";
L1 Total reactive energy
FLOOR(MODBUSR(H, 0x602A, Float, 2), 0.01) + " kvarh";
L2 Total reactive energy
FLOOR(MODBUSR(H, 0x602C, Float, 2), 0.01) + " kvarh";
L3 Total reactive energy
FLOOR(MODBUSR(H, 0x602E, Float, 2), 0.01) + " kvarh";
Forward Reactive Energy
FLOOR(MODBUSR(H, 0x6030, Float, 2), 0.01) + " kvarh";
Reverse Reactive Energy
FLOOR(MODBUSR(H, 0x603C, Float, 2), 0.01) + " kvarh";
Total Reactive Power Variable Read-only

Instantaneous total reactive power (kvar) with per-phase breakdown as service attributes

Register: H:0x501A (readstate) Float32 Unit: kvar
Service Attributes
L1 Reactive power
L2 Reactive power
L3 Reactive power

Total Reactive Power

Read
MODBUSR(H, 0x501A, Float, 2)
Service Attributes
L1 Reactive power
FLOOR(MODBUSR(H, 0x501C, Float, 2), 0.01) + " kvar";
L2 Reactive power
FLOOR(MODBUSR(H, 0x501E, Float, 2), 0.01) + " kvar";
L3 Reactive power
FLOOR(MODBUSR(H, 0x5020, Float, 2), 0.01) + " kvar";
Connection: Modbus RTU • 9600 baud• 8E1 • Slave ID: $[SlaveId]
Possible improvements (20)
  • H:0x5000 Line Voltage L12 — L1-L2 line-to-line voltage (V)
  • H:0x500A Total Current — Sum of L1+L2+L3 current (A) — individual phase currents are implemented
  • H:0x5028 L3 Apparent Power — Template reads 0x502A (Total PF) instead of 0x5028 for L3 Apparent Power SA — correct register not used anywhere
  • H:0x6032 T1 Forward Reactive Energy — Tariff 1 reactive import (kvarh)
  • H:0x6034 T2 Forward Reactive Energy — Tariff 2 reactive import (kvarh)
  • H:0x6036 L1 Forward Reactive Energy — Phase L1 reactive import (kvarh)
  • H:0x6038 L2 Forward Reactive Energy — Phase L2 reactive import (kvarh)
  • H:0x603A L3 Forward Reactive Energy — Phase L3 reactive import (kvarh)
  • H:0x603E T1 Reverse Reactive Energy — Tariff 1 reactive export (kvarh)
  • H:0x6040 T2 Reverse Reactive Energy — Tariff 2 reactive export (kvarh)
  • H:0x6042 L1 Reverse Reactive Energy — Phase L1 reactive export (kvarh)
  • H:0x6044 L2 Reverse Reactive Energy — Phase L2 reactive export (kvarh)
  • H:0x6046 L3 Reverse Reactive Energy — Phase L3 reactive export (kvarh)
  • H:0x400C CT Ratio — CT ratio setting (R/W) — critical for CT models, determines measurement scaling
  • H:0x4003 Modbus Slave ID — Slave address (R/W, 1-247)
  • H:0x4004 Baud Rate — Communication speed (R/W, 0=9600..5=300)
  • H:0x4011 Parity Setting — Parity (R/W, 0=Even 1=Odd 2=None)
  • H:0x400F Combination Code — Energy direction calculation mode (1-5)
  • H:0x4015 Error Code — Meter error status code
  • H:0x4016 Power Down Counter — Number of power interruptions

Sources