sitsolar-dongle

Read-only Modbus client for the SiNeng / FuturaPulse WiFi dongle used by Sit Solar inverters.

A read-only Modbus client for the SiNeng / FuturaPulse WiFi dongle that ships with Sit Solar inverters — the "Si-Dongle-L" that listens on TCP port 7078.

It speaks the same secure Modbus frame as the official Android app, so you can pull the inverter's telemetry straight off your LAN instead of routing it through the vendor cloud.

One command to telemetry
Keys derived from the serial
Authenticated frames

sitsolar-dongle 192.168.1.50 --sn <SERIAL> connects, authenticates, and prints every decoded value. Add --json for machine-readable output.

Both the AES and HMAC keys are derived from the dongle's printed serial number. There is nothing else to configure.

Every frame is AES-128-CBC encrypted and HMAC-SHA256 signed. The MAC is checked before decryption, so a wrong key fails cleanly instead of producing garbage.

183 documented values
Home-automation friendly
Also a library

A complete register map transcribed from the FuturaPulse hybrid inverter Modbus protocol, with enum labels, bit fields, and per-register scale factors.

--interval polls forever and --json emits one object per sample, ready to feed Home Assistant, MQTT, or InfluxDB.

from sitsolar_dongle import DongleClient gives you the same session as a plain Python API.


Quick start

git clone https://github.com/ch3p4ll3/sitsolar-dongle.git
cd sitsolar-dongle
uv venv && uv sync

sitsolar-dongle 192.168.1.50 --sn <DONGLE_SERIAL>

Head to Getting Started for the full walkthrough, including how to find your dongle and locate its serial number.


What's in these docs

Section What you'll find
Getting Started Requirements, installation, and your first poll.
CLI Reference Every command-line option, exit code, and output mode.
Python API Using DongleClient and the lower-level building blocks.
Protocol The wire format, handshake, and secure envelope.
Register Map All 183 values with types, scales, and known quirks.
Caveats & Troubleshooting Firmware differences, connection limits, and common failures.
Development Project layout, architecture, and running the test suite.

Tested with

   
Dongle SiNeng / FuturaPulse "Si-Dongle-L"
Inverter Futura Sun 3K-HS (single-phase high-voltage hybrid, device type 33)
Firmware DSP1 0000090021, DSP2 0000060010, ARM 001002032

Other models and firmware versions may expose different register blocks — see Caveats. Reports are welcome; please redact your serial number first.