Communicate with Hikvision smart doorbells via Hik-Connect cloud.
Project description
Usage
from hikconnect.api import HikConnect
async with HikConnect() as api:
await api.login("foo", "bar")
devices = [device async for device in api.get_devices()]
print(devices)
# [{
# 'id': 'DS-XXXXXX-YYYYYYYYYYYYYYYYYYYYYYYYY',
# 'name': 'DS-XXXXXX-Y(ZZZZZZZZZ)',
# 'serial': 'ZZZZZZZZZ',
# 'type': 'DS-XXXXXX-Y',
# 'version': 'V1.2.3 build 123456',
# 'locks': {1: 2, 2: 0, 3: 1}
# }]
# locks data means (guessing): <channel number>: <number of locks connected>
my_device_serial = devices[0]["serial"]
cameras = [camera async for camera in api.get_cameras(my_device_serial)]
print(cameras)
# [
# {'id': '4203fd7c5f89ce96f8ff0adfdbe8b731', 'name': 'foo', 'channel_number': 1, 'signal_status': 1, 'is_shown': 0},
# {'id': 'cd72bc923956952194468738123b7a5e', 'name': 'bar', 'channel_number': 2, 'signal_status': 1, 'is_shown': 1},
# {'id': 'd2a2057d853438d9a5b4954baec136e3', 'name': 'baz', 'channel_number': 3, 'signal_status': 0, 'is_shown': 0}
# ]
call_status = await api.get_call_status(my_device_serial)
print(call_status)
# {
# 'status': 'idle',
# 'info': {
# 'building_number': 0,
# 'floor_number': 0,
# 'zone_number': 0,
# 'unit_number': 0,
# 'device_number': 0,
# 'device_type': 0,
# 'lock_number': 0
# }
# }
# can be "idle" / "ringing" / "call in progress" - see hikconnect/api.py:45
# Unlock device
await api.unlock(my_device_serial, 1)
# Cancel call for device
await api.cancel_call(my_device_serial)
# call this periodically at least once per 30 mins!
if api.is_refresh_login_needed():
await api.refresh_login()
If you are new to async Python, you simply need to wrap your code in a construction like this:
import asyncio
async def main():
# put the original code containing `async` keywords here
asyncio.run(main())
More info in the async docs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hikconnect-2.0.0.tar.gz
(5.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hikconnect-2.0.0.tar.gz.
File metadata
- Download URL: hikconnect-2.0.0.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.14.6 Darwin/25.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90d3cbf5cd1ece0a01f1cc421f50590c8714c0fce59176f463b2a2c51024ce07
|
|
| MD5 |
7e002908aa36c2732c9b270c29a68d3d
|
|
| BLAKE2b-256 |
d239a3ce8980cb1c6939e7856f39eced7790c411537b0cc99e7080b526b4ffee
|
File details
Details for the file hikconnect-2.0.0-py3-none-any.whl.
File metadata
- Download URL: hikconnect-2.0.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.14.6 Darwin/25.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
528c1531679bbc38de4df50e3efedbeb00edae8bf6f8af450b4cd04ea51af055
|
|
| MD5 |
32a8cc86cc8d524cb529e76c946c2a5d
|
|
| BLAKE2b-256 |
62b497d716a568e316709206ee572b42c41ce8e7b9325604bcdb992143cdc8dc
|