Skip to main content

Private investigator for Magnum Energy inverter/charger RS-485 networks

Project description

magnum-pi

I know what you're thinking, and you're right.

Your Magnum Energy MS-Series inverter/charger has been broadcasting its secrets on a proprietary RS-485 bus since the day it was installed. Every 100 milliseconds, it transmits DC voltage, AC output, fault codes, battery temperature, charger state — the full dossier. The remote panel answers back with your configured setpoints. The AGS and BMK chime in from the back seat with generator status and battery state-of-charge. All of it flowing across two wires at 19200 baud, unencrypted, no authentication, just trust.

Someone needs to investigate. That's what magnum-pi does.

╭──────────────────────────────────╮
│   ╭───────────────╮              │
│   ╰──╮         ╭──╯   MAGNUM    │
│      ╰─────────╯      P . I .   │
│                                  │
│  Private Investigator for        │
│  Magnum Energy RS-485 Networks   │
╰──────────────────────────────────╯

Async Python library for reading and writing to the Magnum Network bus using any standard RS-485 adapter (USB dongles, Pi HATs, FTDI cables). Built on asyncio with Pydantic models, typed enums, and proper gap-based protocol framing.

Install

pip install magnum-pi

Quick start

from magnum_pi import MagnumBus

async with MagnumBus("/dev/ttyUSB0") as bus:
    async for cycle in bus.listen():
        if cycle.inverter:
            print(f"{cycle.inverter.status.name} {cycle.inverter.dc_volts}V")

CLI

magnum-pi sniff              # Raw hex dump
magnum-pi monitor --pretty   # Decoded live dashboard
magnum-pi send --inverter toggle  # Send commands

Prior art

pymagnum by Charles Godwin (BSD-3) — the original Python implementation that established the packet identification heuristics and scaling factors this library builds upon.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magnum_pi-2026.3.1.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magnum_pi-2026.3.1-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file magnum_pi-2026.3.1.tar.gz.

File metadata

  • Download URL: magnum_pi-2026.3.1.tar.gz
  • Upload date:
  • Size: 45.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for magnum_pi-2026.3.1.tar.gz
Algorithm Hash digest
SHA256 d4fbea2401303dbcbfe657090146f24cb0d3e1eafdc95f9513c8d4a670222a47
MD5 8bf32c6ffb3d7d401f157d0b94abded1
BLAKE2b-256 fb39e5b3d079b1841d1200af178d4a990765a8ba56cf93ae12fd7374ddaddddb

See more details on using hashes here.

File details

Details for the file magnum_pi-2026.3.1-py3-none-any.whl.

File metadata

  • Download URL: magnum_pi-2026.3.1-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for magnum_pi-2026.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ae1e494e11b3a5ca227ca06c5c32de0e2cfd7e04011f74f54feeaeb3ae44763
MD5 d6b31eadd056cd1dac59012be86d7cbd
BLAKE2b-256 5b19e36cc6f2f000d26b4534a5b1d5745019c77ebf6cc78aaa1f679431b3cdef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page