[−][src]Crate powercom_upsmonpro_state_parser
powercom-upsmonpro-state-parser is a parser of
POWERCOM UPS state provided as plain
text by Windows versions of
UPSMON Pro
via HTTP (by default on port 8000) and as a plain text file (C:\Program Files\UPSMONPRO\UPSMONWebSer\ups.txt
).
This library is unofficial and is not endorsed by POWERCOM.
This simplified example program reads UPS state from hardcoded URL using reqwest crate (blocking mode for simplicity), formats and writes it to standard output.
extern crate powercom_upsmonpro_state_parser; extern crate reqwest; use std::str::FromStr; use powercom_upsmonpro_state_parser::{UPSState}; // replace 127.0.0.1 with actual // ip of the machine where UPSMON PRO is installed. const UPS_STATE_URL: &str = "http://127.0.0.1:8000/ups.txt"; fn main() { let ups_state_str = reqwest::blocking::get(UPS_STATE_URL) .unwrap() .text() .unwrap(); let ups_state = UPSState::from_str( ups_state_str.as_str()) .unwrap(); println!("{}", ups_state); if let UPSState::Connected(state) = ups_state { if state.battery_charge_percent < 20 { println!("WARNING: battery charge too low") } } }
Example output:
Connection status: Connected, UPS Mode: Normal, Mains state: Ok, Vin=228 V, Vout=228 V, f=50 Hz, chg=100 %, load=0 %, T=30 C
Structs
UPSStateParameters | UPS State |
Enums
Error | |
MainsState | |
UPSMode | UPS operation mode |
UPSState |