Test Your SMA Sunny Boy Inverter Over Modbus with QModMaster

Before wiring a home automation system into your SMA Sunny Boy inverter, test the connection with a standalone Modbus master. QModMaster is free, open source (LGPLv3), and does exactly one job well: it lets you talk to a Modbus device manually and see the raw values. The approach below follows a working field report from the openHAB community, where a user tested a SMA Sunny Boy 3.6 with a tool like QModMaster before building their permanent integration. I use QModMaster for first contact and hand over to openHAB, Home Assistant, or similar once the registers check out.

Fair warning: nothing here replaces your inverter’s manual. SMA firmware and model variants differ, and register maps change between generations. Treat your SMA documentation as the authority, and the addresses below as a reported example.

Step 1 — Enable Modbus on the inverter

SMA inverters ship with the Modbus interface available, but it must be enabled in the inverter’s settings before anything can connect. Depending on your model this can require installer or technician privileges, so check the official SMA documentation for the exact menu path on your unit.

  • Confirm Modbus is enabled and the inverter is listening on port 502 (the standard Modbus TCP port).
  • Note the inverter’s IP address on your local network and the configured slave (unit) ID.
  • Watch out for firmware updates: several users in the field report that a firmware update disabled the Modbus interface, and the inverter’s embedded web server can get overloaded by aggressive polling. Keep your test traffic light, and if the inverter goes quiet, re-check the Modbus enable setting and restart the unit.

Step 2 — What one working setup looked like

The openHAB community report that verified this approach used a SMA Sunny Boy 3.6. These are the connection values that worked in that report — not a datasheet, but real-world numbers that give you a sane starting point:

ParameterReported valueNotes
TransportModbus TCPSMA inverters are networked devices — no serial cable needed
Port502Standard Modbus TCP port
Slave (unit) ID3Reported ID; yours may differ — check inverter settings
FunctionRead Holding Registers (FC03)Register block read as “holding”
Register block30509–30549Poller range in the report
Daily yieldRegister 30535 (uint32)Data point in the report
Power deliveryRegister 30776Second poller block 30760–30800

Source: openHAB community thread “Modbus binding with Sunny Boy SMA inverter” (page 10). Your manual may list different registers — confirm before building anything permanent.

Step 3 — First read in QModMaster

  • Open QModMaster, set Modbus TCP mode, and enter the inverter’s IP address and port 502.
  • Set Slave ID to the value configured on your inverter (3 in the report above).
  • Select FC03 — Read Holding Registers.
  • Set Start Address to the SMA register number minus 1 (see the offset trap below). For register 30535, enter 30534.
  • Set Quantity to a small block (e.g. 8–40 registers) and hit Connect / Read.
  • If the register holds a 32-bit value like daily yield, use QModMaster’s View menu to display it as an unsigned 32-bit number.

The −1 address offset trap: SMA vs QModMaster

This is where most first reads fail. SMA’s documentation numbers registers starting at 1 (e.g. register 30535), but QModMaster’s Start Address field is 0-based. Convert by subtracting 1:

Rule of thumb: SMA manual address − 1 = value to enter in QModMaster. Example: manual register 30535 → QModMaster Start Address 30534. If your read returns plausible but wrong values, try the neighboring address before suspecting the hardware.

Address numbering is a tool convention, not the wire protocol — different software counts from different bases. The full explanation is in our Modbus register address offset guide.

Step 4 — Verify your first read

  • Sanity-check values: daily yield should grow during daylight and stay flat at night; instantaneous power should track sunlight (zero at night). Implausible but non-zero numbers usually mean an address offset problem.
  • Read a second block: if 30535 works, try the power block around 30776 to confirm your addressing is consistent.
  • No response at all? Confirm Modbus is still enabled on the inverter (firmware updates can flip it off), that port 502 is reachable from your machine, and that the slave ID matches. As a last resort, restart the inverter — that fixed a similar outage in the field report.
  • Timeouts or dropped connections? Slow down: long, heavy poll loops have knocked SMA web interfaces offline in reported cases. QModMaster is for manual tests, not 24/7 polling — hand over to your home automation platform for the permanent job.
Also testing RS-485 devices? Your inverter speaks Modbus TCP, but meters and sensors often need a serial bus. For those, you need a USB-to-RS485 adapter — see the adapter I use for QModMaster bench tests.

Frequently asked questions

Related Guides

Similar Posts