skillfed

elmax-api

Asynchronous API Library to work with Elmax devices

elmax-api v0.0.6.3 73.7K downloads/30d#14,953 on PyPI0
Permissive license MIT DORMANT released

What it is and what it does

elmax-api is an asynchronous Python client for Elmax Cloud smart home systems. It wraps HTTP APIs to let you authenticate, list control panels, fetch zone and actuator status, and execute commands like switching devices on or off. The package is built on httpx for async HTTP, pyjwt for authentication, and websockets for potential real-time features.

The library is designed for developers integrating Elmax devices into Python automation or monitoring scripts. It uses async/await throughout, so it integrates naturally with asyncio-based applications. However, maintenance is dormant, so it is unlikely to receive updates for new API changes or bug fixes.

Use it for:

  • Query Elmax control panels and list their online/offline status in a home automation dashboard.
  • Monitor zone sensors (doors, windows, motion) and log their state changes over time.
  • Remotely toggle actuators (switches, relays) from a Python script or web service.
  • Build a custom integration layer between Elmax devices and a third-party home automation platform.
  • Poll panel status periodically and trigger alerts when zones open or actuators change state.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

An async Python client for the Elmax Cloud API that lets you query control panels, check zone and actuator status, and send commands to smart home devices over HTTP.

Yes, if you own Elmax devices and need a Python async client to control them. The low install friction, permissive MIT license, and straightforward API make it practical for home automation projects. However, dormant maintenance means you should verify current API compatibility before committing to production use, and be prepared to fork or patch if Elmax Cloud changes its endpoints.

Install

elmax-api on PyPI

pip

pip install elmax-api

uv

uv add elmax-api

poetry

poetry add elmax-api

Installing elmax-api

Before you install

Low friction install with four stable runtime dependencies (pyjwt, httpx, yarl, websockets). Maintenance is dormant—last commit was 2024-12-08—so expect no active bug fixes or feature updates.

License in practice

MIT license is permissive, so you can use, modify, and redistribute this package freely in commercial or private projects with minimal restrictions.

Quickstart

pip install elmax-api

import asyncio
from elmax_api.http import Elmax

async def main():
    client = Elmax(username='user@example.com', password='pass')
    panels = await client.list_control_panels()
    print(f"Found {len(panels)} panels")

asyncio.run(main())

Requires Python 3.7 or later; async/await syntax mandatory.

Verify before relying

  • Whether Elmax Cloud API credentials are required and how to obtain them.
  • Current compatibility with the live Elmax Cloud service given dormant maintenance status.
  • Whether websockets dependency is actively used or a legacy import.
  • How long the package has been without active releases or updates.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 4 — pyjwt, httpx, yarl, websockets
Maintenance dormant — 623 days since the last release
Last repo commit
First released
Downloads 73,665/month — #14,953 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: elmax_api-0.0.6.3-py3-none-any.whl

Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

elmax cloud api clientasync smart home controlelmax panel statusiot device command executionhome automation http clientelmax zone actuator controlasynchronous device api
smart-homeasync-httpiot-control

More WWW/HTTP packages