Skip to main content

A loose python wrapper around the ZoneMinder REST API.

Project description

zm-py

image

Python package

image

license

A lightweight Python API client for ZoneMinder, built specifically for the Home Assistant ZoneMinder integration.

The official Home Assistant ZoneMinder component depends on zm-py==0.5.4. Active development of the integration has moved to nabbi/ha-zoneminder; it is unknown if or when those changes will be submitted back to HA core.

Project Status

This project is in maintenance mode. zm-py provides the limited set of ZoneMinder API interactions that Home Assistant needs (monitors, camera streaming, events, sensors, and switches). Bug fixes and compatibility updates are accepted; new feature development is not planned.

Not pyzm / pyzm2

zm-py is not a general-purpose ZoneMinder Python library. For full-featured ZoneMinder API access, see pyzm or its fork pyzm2. zm-py covers only the subset of the ZoneMinder API required by Home Assistant and carries no heavy dependencies. Replacing zm-py with pyzm or pyzm2 would require significant refactoring of the HA integration due to dependency conflicts and functional differences.

Origins

zm-py is based on code that was originally part of Home Assistant. Historical sources and authorship information is available as part of the Home Assistant project:

Installation

PyPI

pip install zm-py

Usage

from zoneminder.zm import ZoneMinder

SERVER_HOST = "{{host}}:{{port}}"
USER = "{{user}}"
PASS = "{{pass}}"
SERVER_PATH = "{{path}}"

zm_client = ZoneMinder(
    server_host=SERVER_HOST,
    server_path=SERVER_PATH,
    username=USER,
    password=PASS,
    verify_ssl=False
)

# Zoneminder authentication
zm_client.login()


# Get all monitors
monitors = zm_client.get_monitors()

for monitor in monitors:
    print(monitor)

>>> Monitor(id='monitor_id', name='monitor_name', controllable='is_controllable')


# Move camera down
controllable_monitors = [m for m in monitors if m.controllable]

for monitor in controllable_monitors:
    zm_client.move_monitor(monitor, "right")

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

zm_py-0.5.5.dev9.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

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

zm_py-0.5.5.dev9-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file zm_py-0.5.5.dev9.tar.gz.

File metadata

  • Download URL: zm_py-0.5.5.dev9.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.0 Linux/6.12.58-gentoo-x86_64

File hashes

Hashes for zm_py-0.5.5.dev9.tar.gz
Algorithm Hash digest
SHA256 6cf58addf51d78e43757cc9cf9ec3edd74063caa37f0d08bd7cd6dba95b5e1b2
MD5 1298ab0742fc0a4d0a9dd16f8844155c
BLAKE2b-256 42e55c08dc332fcb41f97e72c5978e86116252dd0337da232c747af443350171

See more details on using hashes here.

File details

Details for the file zm_py-0.5.5.dev9-py3-none-any.whl.

File metadata

  • Download URL: zm_py-0.5.5.dev9-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.0 Linux/6.12.58-gentoo-x86_64

File hashes

Hashes for zm_py-0.5.5.dev9-py3-none-any.whl
Algorithm Hash digest
SHA256 cdd21691e75dcbbeac601b3c5c79aa1e1e1ae1d39f1fe320fe8901e1782cd046
MD5 58de615ca2312199a7486506f9b24526
BLAKE2b-256 87b6e07b9f01b5229bc9921bcee2ab119730922852c3aba15211647ef4dfac13

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