Skip to main content

Python API for ASMB6-iKVM remote management.

Project description

ASMB6 API

A Python interface for interacting with the ASMB6-iKVM remote management module.

This library provides programmatic access to authentication, session handling, hardware monitoring, and basic power management functions through the module’s HTTP management interface.


Overview

The ASMB6 API is designed as a lightweight Python wrapper around the module’s web-based management interface. It enables automation and integration into scripts or monitoring systems without relying on the WebUI.

The library provides:

  • Session-based authentication
  • Structured sensor objects
  • Power and host state queries
  • Programmatic power control operations

The goal is to expose a clean and predictable Python interface suitable for automation and monitoring tasks.


Features

Authentication & Session Management

  • Login and logout support
  • Session validation
  • Explicit return codes for API calls

Hardware Monitoring

  • Temperature sensors
  • Voltage sensors
  • Fan speed monitoring
  • Power supply status
  • Structured Sensors container with parsed values
  • Access to raw sensor payload for debugging

Host Control & Status

  • Retrieve host power state
  • Query power button status
  • Power control operations (shutdown, power on, reset, cycle)

Installation

Python 3.7 or higher is required.

pip install asmb6-api

Basic Usage

from apmi import APMI

apmi = APMI("192.168.1.100")

# Authenticate
status = apmi.login("admin", "password")
if status != 0:
    raise RuntimeError(f"Login failed with code {status}")

# Query host power state
powered_on = apmi.status()
print("Host is on" if powered_on else "Host is off")

# Retrieve sensors
sensors = apmi.sensors()
print(sensors.cpu1.reading)

# Logout
apmi.logout()

Design Notes

  • Command execution methods return explicit status codes.
  • Device state queries return domain-level values (for example, bool).
  • Sensor data is exposed through structured objects rather than raw dictionaries.
  • Raw sensor payload data remains accessible for debugging or inspection purposes.

Disclaimer

This project was developed and tested on an ASUS Z9PE-D16 motherboard equipped with an ASMB6-iKVM module.

Compatibility with other motherboards, firmware versions, or ASMB6 variants is not guaranteed. Behavior may differ depending on firmware revisions or platform-specific implementations.

Users are encouraged to test carefully in their own environment before relying on this library in production systems.


License

This project is licensed under the terms defined in the LICENSE file.

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

asmb6_api-1.0.2.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file asmb6_api-1.0.2.tar.gz.

File metadata

  • Download URL: asmb6_api-1.0.2.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for asmb6_api-1.0.2.tar.gz
Algorithm Hash digest
SHA256 cade8456d68a2818a3180097f8c8632d8435414b40893bfb558fdb263bb77ebe
MD5 d0cdc1011ef141af69be95af65f42aac
BLAKE2b-256 a8d5f0007d0e12161c8c52a2b211a0b233e6c5cd1dd0e3c662a79a0ceb9cbd10

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