Skip to content

Repository files navigation

Release Stargazers codecov

Contributors Issues

MIT License hacs


An efficient, modern LuxPower inverter integration for Home Assistant — with register discovery.


Report Bug · Request Feature
Table of Contents
  1. About The Project
  2. Status
  3. Installation
  4. Development
  5. License

About The Project

Lumen — LuxPower Inverter for Home Assistant is a ground-up rewrite of the LuxPython integration: a layered, testable codebase with modern Home Assistant idioms and one feature neither the original nor lxp-bridge has — it watches for registers it doesn't understand and logs them so their meaning can be worked out.

  • Layered & testable — framing, the register map, and discovery live in the standalone, Home-Assistant-free luxmodbus library; this repository is the thin Home Assistant glue (config flow, coordinator, entities).
  • One declarative register map drives decoding and entity generation.
  • Register discovery surfaces undecoded registers as a diagnostic sensor and an event, turning unknown numbers into something you can investigate.

Replaces the luxpower domain with lumen, so both can run side by side during migration. Moving from the original LuxPython integration? See the migration notes.

(back to top)

Status

Functional and loads in Home Assistant with live data. Implemented:

  • Config flow (host / port / connection mode, dongle and inverter serials, with a reachability check)
  • Transport abstraction with client and server modes (in luxmodbus)
  • A DataUpdateCoordinator that polls the input and hold registers, decodes them, and writes settings back
  • Entity platforms generated from the declarative register map: sensor, number, switch, select (on-grid working mode) and time (charge / discharge schedule slots)
  • Register discovery — an Undecoded registers diagnostic sensor and a new register seen event, persisted across restarts
  • Two-device structure: the dongle (gateway) with the inverter nested under it
  • Services: lumen.read_register and lumen.write_register

Next on the roadmap: publishing luxmodbus to PyPI (required for HACS install), real captured-packet test fixtures, and filling out the register long tail.

(back to top)

Installation

Note: Lumen depends on the luxmodbus library, which must be published to PyPI before the integration can be installed through HACS.

Once available:

  1. Add this repository as a custom repository in HACS (category: Integration).
  2. Install Lumen — LuxPower Inverter and restart Home Assistant.
  3. Add the integration from Settings → Devices & Services and enter your dongle's host, port and connection mode.

(back to top)

Development

This project uses uv and nox. The luxmodbus library is consumed from a sibling checkout (../luxmodbus) during development.

git clone https://github.com/totaldebug/lumen.git
git clone https://github.com/totaldebug/luxmodbus.git
cd lumen
uv sync
uv run nox -s tests

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

About

An efficient, modern LuxPower inverter integration for Home Assistant with register discovery.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages