Skip to content

Repository files navigation

Selectronic SP PRO on Home Assistant

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.


Pick your path in 30 seconds

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


The guide

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.

What is in the repo

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

Quick start, Path A only

You need: an SP PRO with a Select.live adapter on your LAN, and Home Assistant.

  1. Find your adapter's IP and device ID. See docs/07-adapter-endpoint.md.
  2. Add to /config/secrets.yaml:
    sp_pro_solarmonweb_url: http://ADAPTER_IP/cgi-bin/solarmonweb/devices/DEVICE_ID/point
  3. Copy homeassistant/packages/sp_pro_adapter.yaml and sp_pro_unified.yaml into /config/packages/. Make sure configuration.yaml has:
    homeassistant:
      packages: !include_dir_named packages
  4. Restart Home Assistant. You should have sensor.sp_pro_battery_soc and 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.


Warranty and risk

  • 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.


Credits

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.

Contributing

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.

Security

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.

Licence

MIT. See LICENSE. Third-party attribution in NOTICE.

About

Unofficial Home Assistant integration and full guide for Selectronic SP PRO inverters. Single-phase and three-phase Powerchain.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages