Skip to main content

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.

Release files for asmb6-api 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asmb6-api 1.0.2
File Size Uploaded
asmb6_api-1.0.2.tar.gz 5.5 kB Details

Release files / asmb6_api-1.0.2.tar.gz

Download URL asmb6_api-1.0.2.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cade8456d68a2818a3180097f8c8632d8435414b40893bfb558fdb263bb77ebe
BLAKE2b-256 checksum
How to use checksums
a8d5f0007d0e12161c8c52a2b211a0b233e6c5cd1dd0e3c662a79a0ceb9cbd10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

1.0.2 This release

1 release file

1.0.1

2 release files

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page