elkm1-lib
Library for interacting with ElkM1 alarm/automation panel.
Decision gist · record as of 2026-08-14
Yes. The library is production-stable, actively maintained, has no known vulnerabilities, and low install friction. It fills a specific niche—ElkM1 panel control—with a clean async API. Install it if you own an ElkM1 panel and need to integrate it into Python automation or home-assistant workflows.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or higher; ElkM1 panel must be reachable at the specified URL (TCP or serial).
- Low install friction with a single async serial dependency.
- Actively maintained with recent commits and production-stable status.
License · maintenance · safety
permissive license (permissive) — Permissive MIT license allows commercial and private use without restriction.
last release 2026-05-05 (101 days) · last repo commit 2026-05-05 · 21 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 74,899 downloads/mo, #14,773 on PyPI
Alternatives
Verify before relying
pip install elkm1_lib
from elkm1_lib import Elk
elk = Elk({'url': 'elk://192.168.1.100'})
elk.connect()
elk.run()- Whether the library handles reconnection and fault tolerance automatically after network interruption.
- Performance characteristics when monitoring large numbers of zones or elements simultaneously.
- Whether TLS certificate validation can be disabled for self-signed certificates in secure modes.
What it is and what it does
elkm1_lib is an asynchronous Python library for controlling and monitoring ElkM1 alarm and automation panels. It abstracts the ElkM1 protocol, handling message encoding/decoding and element synchronization so you can interact with zones, lights, and other panel components through a Python object model. The library supports multiple connection modes: plaintext TCP (elk://), TLS-encrypted TCP (elks://, elksv1_0://, elksv1_2://, elksv1_3://), and serial connections, making it flexible for different panel configurations and network setups.
The core workflow is to create an Elk object with a connection URL, call connect() to establish the session, and then register callbacks to respond to panel state changes or message events. The library automatically synchronizes all panel elements (zones, lights, etc.) into memory and notifies your code when they change. It was originally written for Home Assistant integration but works as a general-purpose library for any ElkM1 automation application. A single runtime dependency on pyserial-asyncio-fast keeps the install lightweight.
Use it for
- Integrate an ElkM1 security panel into a Home Assistant or custom home automation system.
- Monitor zone status changes and trigger actions based on alarm events or sensor input.
- Control lights and other panel-connected devices programmatically over TCP or serial.
- Build a command-line tool or dashboard to query and manage ElkM1 panel state.
- Develop a custom automation application that responds to panel messages in real time.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The library is production-stable, actively maintained, has no known vulnerabilities, and low install friction. It fills a specific niche—ElkM1 panel control—with a clean async API. Install it if you own an ElkM1 panel and need to integrate it into Python automation or home-assistant workflows.
Install
elkm1-lib on PyPI
Before you install
Low install friction with a single async serial dependency. Actively maintained with recent commits and production-stable status. Requires Python 3.11 or higher.
Requires Python 3.11 or higher; ElkM1 panel must be reachable at the specified URL (TCP or serial).
License in practice
Permissive MIT license allows commercial and private use without restriction.
Quickstart
pip install elkm1_lib
from elkm1_lib import Elk
elk = Elk({'url': 'elk://192.168.1.100'})
elk.connect()
elk.run()
Verify before relying
- Whether the library handles reconnection and fault tolerance automatically after network interruption.
- Performance characteristics when monitoring large numbers of zones or elements simultaneously.
- Whether TLS certificate validation can be disabled for self-signed certificates in secure modes.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepyserial-asyncio-fast |
| Maintenance | Actively maintained 101 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,899 / month, #14,773 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Home Automation |
Evidence: elkm1_lib-2.2.15-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “elk m1 panel library”
- elkm1-libAsynchronous Python library for communicating with ElkM1 alarm and…
- json-loggingConfigures Python's standard logging module to emit structured JSON…
- akracerAKRacer provides precompiled dynamic libraries for 64-bit ARM…
Give your agent the search over MCP, or paste the wish link into any chat.
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
Home Assistant is an open-source home automation platform that centralizes control of smart home devices and automations on a local server or Raspberry Pi, prioritizing local control and privacy over cloud dependency.
Defines finite state machines and statecharts with a declarative Python API, supporting flat states, compound hierarchies, parallel regions, history states, guards, and both sync and async callbacks.
Install it if you need to model workflows, control logic, or any system with discrete states and event-driven transitions — from simple state machines to complex…
A Python library for controlling BlueZ Bluetooth adapters on Linux via the Management API, supporting both synchronous and event-driven command patterns.
An async Python library for controlling and monitoring Homematic and HomematicIP devices through multiple backend systems (CCU3, OpenCCU, Homegear, CUxD, CCU-Jack) using XML-RPC and JSON-RPC protocols.
Install it if you need to control Homematic devices from Python; the only constraint is a requirement for Python 3.14 or later and network access to a compatible…
Provides base classes and utilities for Home Assistant integrations to proxy HTTP and WebSocket traffic through Home Assistant's web server.
Install only if you are building a custom Home Assistant integration; it is not useful as a standalone package.
See also total-connect-client · velbus-aio · pyrisco · pymysensors · xknx · elmax-api · rflink · python-snap7 · aiohue · python-openevse-http