Solis Inverter Modbus: Register Offset Trap

You’ve got your Solis inverter wired to a USB-to-RS485 adapter, QModMaster is talking to it (wrong slave address gives timeouts, the right one answers) — but every register read comes back Exception Code 02: Illegal Address. The wiring is fine, the baud rate is fine, and the slave ID is right. The trap is in the register address itself, and it’s documented by a real Solis owner’s debugging session on the DIY Solar Forum: Solis’s official documentation lists register addresses like 33025 with the note “no further offset or other conversion is required” — and it means it literally. Type the full address.

The trap: 33025 means 33025, not 3025

Most Modbus tools and tutorials teach you to strip the leading digit off 3xxxx/4xxxx addresses: “input register 33025” becomes protocol address 3024 (or 3025, depending on the tool’s convention). For Solis inverters, that habit breaks everything. The forum poster (RHI-5K-48ES-5G) got Illegal Address errors on every read until he typed the complete address: a 3-register read of 33025–33027 immediately returned a live hh:mm:ss clock value from the inverter.

So in QModMaster: enter 33025 in the address field — don’t subtract 1, don’t strip the leading 3, don’t convert. If the manual’s address table says 33000, you read 33000. Trust the manual’s literal numbers.

Baseline settings that must be right first

From the same real-world session, the working baseline for talking to a Solis inverter over its COM connector:

  • Mode: Modbus RTU over RS485 (2-core cable to the COM connector’s A/B pins).
  • Serial: 9600 bps, 8 data bits, 1 stop bit, no parity (8N1).
  • Slave address: must match the address set on the inverter itself. A wrong slave ID gives timeouts; the right ID with a wrong register gives Illegal Address — that difference is actually a useful diagnostic.
  • Function code: 0x04 (Read Input Registers) for the 3xxxx measurement registers.

Always confirm these against your own Solis manual — settings and pinouts can vary between models and firmware generations.

Watch the byte order on multi-register values

The forum session also surfaced a second quirk: some multi-byte values came back looking byte-swapped until interpreted the other way round (the poster saw an unfeasibly large decimal where a small value was expected, and the swap theory led to the breakthrough). If your single-register reads are fine but 32-bit values look wrong, try the swapped byte/word interpretation in QModMaster’s View menu before assuming the address is wrong — and cross-check the expected byte order in your Solis documentation.

The hardware you need

USB-to-RS485 adapter (Amazon) — the forum poster’s setup used a USB-RS485 serial adapter straight to a laptop. A dependable FTDI-based adapter is the safest first purchase; unstable adapters mimic the exact “timeout vs Illegal Address” confusion this page helps you avoid.

FAQ

QModMaster says “Illegal Address” on my Solis inverter but the wiring seems fine. What’s wrong?
Almost certainly the address format: type the full address from the Solis manual (e.g. 33025), not a stripped or minus-1 variant. The official Solis documentation states no offset or conversion is required — take it literally.

How do I tell a wiring problem from an addressing problem?
Change the slave address to a wrong value: timeouts mean the wiring/serial settings are wrong; the correct slave ID with wrong register addresses gives Illegal Address (exception 02). That distinction tells you which half of the setup to fix.

My 32-bit Solis values are huge nonsense numbers. Offset problem?
Probably not an offset — single registers reading fine points to byte/word order instead. Try the swapped interpretation in QModMaster’s View menu and verify against your manual.

Related Guides

The full-address finding (33025–33027 returning live data) comes from a real owner’s debugging thread on the DIY Solar Forum (Solis/Ginlong Modbus Comms). Solis register tables, serial settings, and pinouts vary by model — always confirm against your own inverter’s manual. qmodmaster.com is an independent community resource for the upstream QModMaster project (LGPLv3) and is not affiliated with Solis.

Similar Posts