EPEver (Beijing Epsolar Technology) · Charge controller
Tracer-B / Tracer-A series, iTracer and eTracer (also LS-B / VS-B) MPPT charge controllers Modbus register map
Default configuration
- Protocol
- RS485
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- Low word first
- Baud rate
- 115200
- Parity
- None
- Data bits
- 8
- Stop bits
- 1
This device has an RS-485 interface. Reach it through a Modbus RTU-to-TCP gateway, configured with the factory serial settings above.
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 8192 | 1 | Over-temperature inside the device Read with function code 02: 1 = the temperature inside the controller is above the over-temperature protection point, 0 = normal. | UInt16 | - | 1 | R |
| 8204 | 1 | Day / night Read with function code 02: 1 = night, 0 = day. | UInt16 | - | 1 | R |
Read this device live with Modbus Connect, free for Windows, macOS and Linux
Related guides
Notes
MIRROR-SOURCED. EPEver does not publish this protocol document on its own site (its download area carries manuals and datasheets only), so this seed is built from a widely mirrored copy of EPEver's own 'B-Series MODBUS Specification' — the PDF the DIY-solar community circulates as 'MODBUS-Protocol-v25.pdf' (20 pages, created 2018-09-27; SHA-256 d0f9f08be06b5125134c3be24d9acc1430dcd4e9e82478df68d451489aaa77fb), read from https://raw.githubusercontent.com/softwarecrash/EPEver2MQTT/main/Protocol/MODBUS-Protocol-v25.pdf. It covers LS-B, VS-B, Tracer-B, Tracer-A, iTracer and eTracer; EPEver's newer XTRA and Triron families are not named. Its framing rules apply: Modbus RTU, default controller ID 1 (changeable with the PC software or MT50 meter), 115200 8N1, and hexadecimal addresses with base offset 0x00, used unchanged as zero-based wire addresses. Parity is not printed in that revision; EPEver's earlier revision of the same B-Series specification (ControllerProtocolV2.3.pdf, V2.3, 2015-06-12, SHA-256 a3fccf914928118def85223482e3091956d046810a01c20152006e6f68c61b70, same mirror folder) prints BPS 115200, parity None, 8 data bits, 1 stop bit, no flow control, and that its addresses are request-PDU addresses. All 32-bit values are two registers with the low word at the lower address (the document's worked example puts 0x93E0 at 0x3002 and 0x0004 at 0x3003), hence word order low-first. The 'Times' column is the divisor, so values are scaled 0.01 where it says 100. It publishes no data-type column: single measurements are UInt16, L/H pairs UInt32 as its notation implies; battery current (0x331B) goes negative on discharge, which an unsigned read shows above 32767. The write-only coil block 0000-000E (charging on/off, load control, load test, restore defaults, clear statistics) is not seeded because this format's coil area has no write-only access. The 8-pin RJ45 pinout (3/4 = RS-485-B, 5/6 = RS-485-A, 7/8 = ground) is in the same document.