device library

Carlo Gavazzi EM330/EM340 energy meter

Register map(s) for this device, with a note of how far each has been checked. Addresses are 0-based, as on the wire. Scale and byte order are confirmed only at the hardware-verified rung.

coherence-checked

Round-trips through a real Modbus stack with no overlapping addresses and a word-order-sensitive codec — the map is internally coherent and wire-decodable. Does NOT prove byte-order or scaling match a real device: the emulator is seeded from the map's own types, so a uniformly wrong byte-order still round-trips. Only hardware-verified confirms byte-order/scale on the wire.

pointaddress (0-based)typescaleunit
V L1-N0I32LE10V
V L2-N2I32LE10V
V L3-N4I32LE10V
V L1-L26I32LE10V
V L2-L38I32LE10V
V L3-L110I32LE10V
A L112I32LE1000A
A L214I32LE1000A
A L316I32LE1000A
W L118I32LE10W
W L220I32LE10W
W L322I32LE10W
VA L124I32LE10VA
VA L226I32LE10VA
VA L328I32LE10VA
var L130I32LE10var
var L232I32LE10var
var L334I32LE10var
V L-N sys36I32LE10V
V L-L sys38I32LE10V
W sys40I32LE10W
VA sys42I32LE10VA
var sys44I32LE10var
PF L146I161000
PF L247I161000
PF L348I161000
PF sys49I161000
Phase sequence50I161
Hz51I1610Hz
kWh (+) TOT52I32LE10kWh
Kvarh (+) TOT54I32LE10kvarh
kW dmd56I32LE10W
kW dmd peak58I32LE10W
kWh (+) PARTIAL60I32LE10kWh
Kvarh (+) PARTIAL62I32LE10kvarh
kWh (+) L164I32LE10kWh
kWh (+) L266I32LE10kWh
kWh (+) L368I32LE10kWh
kWh (+) t170I32LE10kWh
kWh (+) t272I32LE10kWh
kWh (+) t374I32LE1
kWh (+) t476I32LE1
kWh (-) TOT78I32LE10kWh
kvarh (-) TOT80I32LE10kvarh
kWh (-) PARTIAL82I32LE1
Kvarh (-) PARTIAL84I32LE1
kVAh TOT86I32LE0.1kVAh
kVAh PARTIAL88I32LE0.1kVAh
Run hour meter90I32LE0.01h
Run hour meter kWh (-)92I32LE1
n.a.94I32LE1
kWh (-) L196I32LE0.1kWh
kWh (-) L298I32LE0.1kWh
kWh (-) L3100I32LE0.1kWh
kWh (+) t5102I32LE1
kWh (+) t6104I32LE1
kWh (+) t7106I32LE1
kWh (+) t8108I32LE1
n.a.110I32LE1
n.a.112I32LE1
n.a.114I32LE1
n.a.116I32LE1
n.a.118I32LE1
n.a.120I32LE1
n.a.122I32LE1
n.a.124I32LE1
n.a.126I32LE1
n.a.128I32LE1
THD A L1130I32LE100%
THD A L2132I32LE100%
THD A L3134I32LE100%
THD V L-N sys136I32LE100%
THD V L1-N138I32LE100%
THD V L2-N140I32LE100%
THD V L3-N142I32LE100%
THD V L-L sys144I32LE1
THD V L1-L2146I32LE1
THD V L2-L3148I32LE1
THD V L3-L1150I32LE1
An152I32LE1000A
Run hour meter kWh (-)246I32LE1
A n248I32LE0.001A
THD V L-N sys250I32LE0.01%
THD V L-L sys252I32LE0.01%
Run hour meter254I32LE0.01h
n.a.256I32LE1
V L-N sys258I32LE0.1V
V L-L sys260I32LE0.1V
W sys262I32LE0.1W
VA sys264I32LE0.1VA
var sys266I32LE0.1var
PF sys268I32LE0.001PF
Phase sequence270I32LE1
Hz272I32LE0.1Hz
kWh (+) TOT274I32LE0.1kWh
Kvarh (+) TOT276I32LE0.1kvarh
kWh (-) TOT278I32LE0.1kWh
kvarh (-) TOT280I32LE0.1kvarh
W dmd282I32LE0.1W
W dmd peak284I32LE0.1W
V L1-L2286I32LE0.1V
V L1-N288I32LE0.1V
A L1290I32LE0.001A
W L1292I32LE0.1W
VA L1294I32LE0.1VA
var L1296I32LE0.1var
PF L1298I32LE0.001PF
V L2-L3300I32LE0.1V
V L2-N302I32LE0.1V
A L2304I32LE0.001A
W L2306I32LE0.1W
VA L2308I32LE0.1VA
var L2310I32LE0.1var
PF L2312I32LE0.001PF
V L3-L1314I32LE0.1V
V L3-N316I32LE0.1V
A L3318I32LE0.001A
W L3320I32LE0.1W
VA L3322I32LE0.1VA
var L3324I32LE0.1var
PF L3326I32LE0.001PF
kWh (+) PARTIAL328I32LE0.1kWh
Kvarh (+) PARTIAL330I32LE0.1kvarh
kWh (+) L1332I32LE0.1kWh
kWh (+) L2334I32LE0.1kWh
kWh (+) L3336I32LE0.1kWh
kWh (+) t1338I32LE0.1kWh
kWh (+) t2340I32LE0.1kWh
kWh (+) t3342I32LE1
kWh (+) t4344I32LE1
kWh (-) PARTIAL346I32LE1
Kvarh (-) PARTIAL348I32LE1
kVAh TOT350I32LE1
kVAh PARTIAL352I32LE1
n.a.354I32LE1
n.a.356I32LE1
n.a.358I32LE1
n.a.360I32LE1
n.a.362I32LE1
kWh (-) L1364I32LE0.1kWh
kWh (-) L2366I32LE0.1kWh
kWh (-) L3368I32LE0.1kWh
kWh (+) t5370I32LE1
kWh (+) t6372I32LE1
kWh (+) t7374I32LE1
kWh (+) t8376I32LE1
n.a.378I32LE1
n.a.380I32LE1
n.a.382I32LE1
THD A L1384I32LE0.01%
THD V L1-N386I32LE0.01%
THD V L1-L2388I32LE0.01%
n.a.390I32LE1
n.a.392I32LE1
n.a.394I32LE1
n.a.396I32LE1
n.a.398I32LE1
n.a.400I32LE1
THD A L2402I32LE0.01%
THD V L2-N404I32LE0.01%
THD V L2-L3406I32LE0.01%
n.a.408I32LE1
n.a.410I32LE1
n.a.412I32LE1
n.a.414I32LE1
n.a.416I32LE1
n.a.418I32LE1
THD A L3420I32LE0.01%
THD V L3-N422I32LE0.01%
THD V L3-L1424I32LE0.01%
n.a.426I32LE1
n.a.428I32LE1
n.a.430I32LE1
n.a.432I32LE1
n.a.434I32LE1
n.a.436I32LE1
Version code770U161
Revision code771U161
kWh (+) TOT – INTeger part1024I32LE1kWh
kWh (+) TOT – DECimal part1026I32LE0.001kWh
kvarh (+) TOT – INTeger part1028I32LE1kvarh
kvarh (+) TOT – DECimal part1030I32LE0.001kvarh
kWh (-) TOT – INTeger part1032I32LE1kWh
kWh (-) TOT – DECimal part1034I32LE0.001kWh
kvarh (-) TOT – INTeger part1036I32LE1kvarh
kvarh (-) TOT – DECimal part1038I32LE0.001kvarh
kWh (+) TOT1280I64LE0.001kWh
Kvarh (+) TOT1284I64LE0.001kvarh
kWh (+) Partial1288I64LE0.001kWh
Kvarh (+) Partial1292I64LE0.001kvarh
kWh (+) L11296I64LE0.001kWh
kWh (+) L21300I64LE0.001kWh
kWh (+) L31304I64LE0.001kWh
kWh (-) TOT1308I64LE0.001kWh
kWh (-) Partial1312I64LE0.001kWh
kvarh (-) TOT1316I64LE0.001kvarh
kvarh (-) Partial1320I64LE0.001kvarh
kVAh TOT1324I64LE0.001kVAh
kVAh Partial1328I64LE0.001kVAh
PASSWORD4096U161
Measuring system4098U161
Current transformer ratio4099U32LE0.1
Voltage transformer ratio4101U32LE0.1
Integration time for dmd power calculation4112U32LE1
Ton (Ton time for pulse output square wave)4114U32LE1
kWh per pulse relevant to digital out 14128U32LE1
kWh per pulse relevant to digital out 24130U32LE1
Display mode4352U161
Tariff management enabling4353U161
Home page selection4354U161
Measurement mode selection4355U161
Wrong connection (Installing help) management enabling4356U161
Wrong connection (installing help) status4357U161
THD calculation enabling4358U161
Secondary start-up current of the run hour meter4359U32LE0.001A
Tariff mode selection4608U161
Tariff number selection via serial comm.4609U161
RS485 instrument address8192U161
RS485 baud rate8193U161
RS485 parity8194U161
RS485 Stop bit8195U161
Max number of words readable with a single Modbus request8196U161
Reset of all partial and tariff meters, kWdmd and kWdmd peak.16384U161
Reset of total energy meters16385U161
Reset of run hour meter16386U161
Letter 1 (from SX)20480U161
Letter 2 (from SX)20481U161
Letter 3 (from SX)20482U161
Letter 4 (from SX)20483U161
Letter 5 (from SX)20484U161
Letter 6 (from SX)20485U161
Letter 7 (from SX)20486U161
Production year20496U161

link settings as documented (unverified): RTU; default 9600 8N1; unit ID 1; FC 03,04,06,08; Functions 03h and 04h have exactly the same effect and can be used indifferently. Maximum 50 registers can be read with a single request.

bench facts as documented (unverified)
terminalsA-, T
termination120 ohm 1/2W 5% resistor between line B and A
shield/groundConnect shield to GND on master side only
wiring notesSuggested to use AWG24 balanced pair cable and add a third wire for GND connection.
max registers/read50
response timeout500 ms
inter-frame delay40 ms
broadcastsupported
sentinel values7FFFFFFFh (or EEE on display) for overflow
protocol notesT null: Max interruption time during the request frame is 2.5 char
model register11
serial register20480
firmware register770
identification notesModel register is Carlo Gavazzi Controls identification code. Serial register is Letter 1 to Letter 7 starting at 5000h.
certificationsMID certification (PFA and PFB)
doc revisionVersion 2 Revision 17 (July 05, 2021)
field reports — community-sourced, unverified (checked 2026-06-11)
  • Word order for 32-bit registers (INT32, UINT32) is LSW-first (Little Endian word swap), which requires word swapping in master configurations to avoid garbled or extremely large values. [source]
  • RS-485 polarity labeling uses A- for Data- and B+ for Data+, which is opposite to some standard Modbus master labeling (where A is D+ and B is D-), frequently causing communication failures due to swapped wiring. [source]
  • confirmed: comms defaults: baud rate 9600, parity None, stop bits 1, unit ID 1, RTU framing — confirmed by EM300 Series Modbus manual and multiple integration guides (e.g., TapHome, evcc, Loxone)
  • confirmed: Functions 03h and 04h have exactly the same effect and can be used indifferently — confirmed by EM300 Series Modbus manual Section 1.2
  • confirmed: Maximum 50 registers can be read with a single request — confirmed by EM300 Series Modbus manual Section 1.2.1 and 1.2.2
  • confirmed: Suggested to use AWG24 balanced pair cable and add a third wire for GND connection — confirmed by EM300 Series Modbus manual Section 1.3.1
  • confirmed: Connect shield to GND on master side only — confirmed by EM300 Series Modbus manual Section 1.3.1
  • confirmed: Termination: 120 ohm 1/2W 5% resistor between line B and A, and connect terminal A- with T in the last instrument — confirmed by EM300 Series Modbus manual Section 1.3.1
  • confirmed: Broadcast supported only with function code 06h using address 00h — confirmed by EM300 Series Modbus manual Section 1.2.5
  • confirmed: Response timeout (T response) is 500 ms, inter-frame delay (T delay) is 40 ms, and T null (max interruption time) is 2.5 char — confirmed by EM300 Series Modbus manual Section 1.3.2

The trust ladder

Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.

Device not here? Upload its manual and get a checked map back. It's free.

Want it confirmed against your own device? Order hardware verification. If it doesn't check out, you don't pay.

Building on a lot of devices? License the library — machine-readable maps, the firmware matrix, and API access.