#serial #alpha #up-ses

alphamon-rs

Library for interacting with Alpha Outback UPSes

1 unstable release

Uses new Rust 2024

0.2.3 Sep 2, 2025

#1074 in Math

Custom license

1MB
610 lines

Library for monitoring Alpha Outback-type UPSes via a serial interface. Works for Alpha Outback UPSes using the Alphamon software. Based on the official protocol published by Alpha Outback.

Platforms

Tested on Windows (x64) and Linux (aarch64 and armv7). Also running in production for these platforms.

Example

Examples are provided in the examples folder. Additionally, the alphamon-cli-rs crate is based on this library and contains a full implementation of all query commands in this library.

use alphamon_rs::device::cplus::{self, CPlusInterface as _};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut iface = cplus::CPlusSerialInterface::connect("COM4")?; // Specify your port path

    let status = iface.query_ups_status()?;

    println!("{status:#?}");

    Ok(())
}

alphamon-rs

Library for monitoring Alpha Outback-type UPSes via a serial interface. Works for Alpha Outback UPSes using the Alphamon software. Based on the official protocol published by Alpha Outback (protocol/Continuity-Plus-Series-Communication-protocol-en.pdf).

Platforms

Tested on Windows (x64) and Linux (aarch64 and armv7). Also running in production for these platforms.

Usage

Examples are provided in the examples folder. The alphamon-cli-rs crate is based on this library and contains a full implementation of all query commands in this library.

Dependencies

~4–17MB
~157K SLoC