Local, real-time monitoring and generator control for Selectronic SP PRO inverters in Home Assistant. Single-phase and three-phase Powerchain.
No cloud account required. No SP Link left running on a PC forever.
Covers both integration paths, when to pick each, and the register-level detail needed to build your own client.
Unofficial. Not affiliated with, endorsed by, or supported by Selectronic Australia. See Warranty and risk before you connect anything.
| Path A: Select.live adapter | Path B: Serial bridge | |
|---|---|---|
| What it reads | The adapter's own local JSON endpoint | The SP PRO directly, over serial |
| Extra hardware | None if you already have the adapter | A small always-on host |
| Fields | 22 | 100+ |
| Update rate | 30 s | 5 s |
| Generator control | No | Yes |
| Per-unit data on three-phase | No | Yes, all 6 units |
| BMS / per-cell | No | Yes |
| Setup effort | 15 minutes | An afternoon |
Most people should start with Path A, confirm it works, then add Path B if the extra detail or generator control is worth it. That is what the config in this repo does: bridge primary, adapter fallback, automatic failover, one canonical set of sensors so your dashboards never care which one is live.
Full decision detail: docs/01-choose-your-path.md
| 01 Choose your path | Adapter vs bridge vs both. Honest limits of each. |
| 02 Hardware and cabling | What to plug into what. DB9, USB, FTDI, TCP. |
| 03 Install the bridge | As an HA add-on, or as a Windows service. |
| 04 Protocol reference | Registers, scale factors, conversions, enums. |
| 05 Home Assistant setup | Packages, secrets, canonical sensors, failover. |
| 06 Three-phase Powerchain | The gateway switch, per-unit reads, phase imbalance. |
| 07 Adapter endpoint | Path A in full. The 22 fields and their quirks. |
| 08 Dashboards | Two dashboards: homeowner and engineer. |
| 09 Troubleshooting | Failure modes, most likely cause first. |
bridge/ The bridge: HA add-on manifest + Python service
sp_bridge_v4.py Poll loop, HTTP API, web UI, CSV history
memory/ Wire protocol, CRC, framing, conversions (from selpi)
connection/ Serial, TCP and adapter transports
homeassistant/
packages/ Drop-in HA packages, one per concern
sp_pro_bridge.yaml Path B source: REST sensor + bridge-only entities
sp_pro_adapter.yaml Path A source: adapter endpoint + derived entities
sp_pro_unified.yaml Canonical sensors + automatic source failover
sp_pro_generator.yaml Generator control, run tracking, notifications
sp_pro_errors.yaml Fault, offline and SOC alerting
automations/ Notification automations
dashboards/ power.yaml (homeowner), power-advanced.yaml (engineer)
tools/ Offline analyser and daily digest scripts
docs/ The guide
You need: an SP PRO with a Select.live adapter on your LAN, and Home Assistant.
- Find your adapter's IP and device ID. See docs/07-adapter-endpoint.md.
- Add to
/config/secrets.yaml:sp_pro_solarmonweb_url: http://ADAPTER_IP/cgi-bin/solarmonweb/devices/DEVICE_ID/point
- Copy
homeassistant/packages/sp_pro_adapter.yamlandsp_pro_unified.yamlinto/config/packages/. Make sureconfiguration.yamlhas:homeassistant: packages: !include_dir_named packages
- Restart Home Assistant. You should have
sensor.sp_pro_battery_socand friends.
The unified package will report sensor.sp_pro_data_source as cloud because no
bridge is running. That is correct. Add the bridge later and it switches itself.
- This is unofficial. Selectronic did not write it, review it, or bless it.
- Reading is low risk. Writing is not. Telemetry polling is passive. Generator control writes to the inverter. Understand docs/04-protocol-reference.md before you enable it.
- It may affect your warranty. Connecting third-party software to your inverter may affect any warranty or support agreement you have with Selectronic or your installer. That is between you and them. Check first if it matters to you.
- Do not use this as a safety system. It is monitoring, not protection. Nothing here replaces correctly configured inverter settings, an RCD, or a licensed electrician.
- Grid-connected sites: changing inverter settings on a grid-connected system is generally the business of a licensed installer under your network agreement. This repo reads telemetry. Keep it that way unless you are the qualified person.
No warranty of any kind. See LICENSE.
The wire protocol layer in bridge/memory/ and bridge/connection/ is derived from
selpi by David Schoen, MIT licensed,
copyright 2019. That project did the hard original work of getting a Raspberry Pi
talking to an SP PRO at all, and this repo would not exist without it. Its licence is
preserved verbatim at bridge/LICENSE.selpi.md.
If you are doing protocol-level work, go and read selpi first.
Everything above the protocol layer (the bridge service, HTTP API, web UI, the HA packages, the failover design, the three-phase gateway handling, the docs) is new work in this repo.
No Selectronic documentation, firmware or software is redistributed here. The register addresses and conversion formulas documented in docs/04-protocol-reference.md are interoperability facts, published so that owners of this hardware can read their own data.
See CONTRIBUTING.md.
The most useful contribution is a compatibility report, working or not. This has been developed against a limited set of hardware, and confirmations from other models let the compatibility notes above become accurate.
Register-level reports need the SP PRO model and firmware version to be answerable.
By participating you agree to the Code of Conduct.
Read SECURITY.md before deploying this. In short:
- Bridge read endpoints are unauthenticated. Anyone who can reach port 8765 can read your telemetry
- Never expose port 8765 to the internet. Use a VPN or Home Assistant's own remote access
- The inverter password and the API key are stored in plaintext in
sp_bridge_config.json - A caller with the API key can start and stop a generator
To report a vulnerability, use GitHub's private vulnerability reporting under the Security tab. Not a public issue.