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:
| Parameter | Reported value | Notes |
|---|---|---|
| Transport | Modbus TCP | SMA inverters are networked devices — no serial cable needed |
| Port | 502 | Standard Modbus TCP port |
| Slave (unit) ID | 3 | Reported ID; yours may differ — check inverter settings |
| Function | Read Holding Registers (FC03) | Register block read as “holding” |
| Register block | 30509–30549 | Poller range in the report |
| Daily yield | Register 30535 (uint32) | Data point in the report |
| Power delivery | Register 30776 | Second 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:
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.
