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

Clone the repository:

git clone https://github.com/Grifonice99/asmb6-api
cd asmb6-api

Install required dependency:

pip install requests

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 (e.g., 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.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

asmb6_api-1.0.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for asmb6_api-1.0.1.tar.gz
Algorithm Hash digest
SHA256 5989995dff107c4907866c5942a20658f2f6e00c5f3802944a635bdd5e0be46d
MD5 4be6f42cb1d7d6988d6e0a5a57305f5d
BLAKE2b-256 5f39a1b45199d748ad3c76ae98dd1f3b7fc2b018157cc7e37a5b8e34e7644643

See more details on using hashes here.

File details

Details for the file asmb6_api-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: asmb6_api-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for asmb6_api-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47f7281412bac9dd23496f3e6430394241a404963c20534cbe16c91ec51dc3eb
MD5 c83ef1cb5133f8692de37f64472cdc3a
BLAKE2b-256 65b0a74f8e932b1082564a175294235ff4404c77dd43946cc1bd4f8c8fc11e1b

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