Device

High-level async interface for Akuvox device operations.

class pylocal_akuvox.device.AkuvoxDevice[source]

Bases: object

Async context manager for communicating with an Akuvox device.

__init__(host, auth=None, timeout=10, *, use_ssl=False, verify_ssl=True, request_delay=0.25)[source]

Initialize the device connection parameters.

Args:

host: Device host name or IP address. auth: Optional authentication configuration. timeout: Total request timeout in seconds. use_ssl: Whether to use HTTPS for requests. verify_ssl: Whether to verify TLS certificates. request_delay: Delay in seconds after each successful request.

Parameters:
Return type:

None

async get_info()[source]

Retrieve device identification data.

Return type:

DeviceInfo

async get_status()[source]

Retrieve device operational status.

Return type:

DeviceStatus

async add_user(*, name, user_id, web_relay=None, schedule_relay, lift_floor_num, private_pin=None, card_code=None)[source]

Add a local user to the device.

Return type:

None

Parameters:
  • name (str)

  • user_id (str)

  • web_relay (str | None)

  • schedule_relay (str)

  • lift_floor_num (str)

  • private_pin (str | None)

  • card_code (str | None)

async list_users(*, page=None)[source]

List users from the device.

Return type:

list[User]

Parameters:

page (int | None)

async modify_user(*, id, name=None, user_id=None, private_pin=None, card_code=None, web_relay=None, schedule_relay=None, lift_floor_num=None)[source]

Modify an existing user on the device.

Return type:

None

Parameters:
  • id (str)

  • name (str | None)

  • user_id (str | None)

  • private_pin (str | None)

  • card_code (str | None)

  • web_relay (str | None)

  • schedule_relay (str | None)

  • lift_floor_num (str | None)

async delete_user(*, id)[source]

Delete a user from the device.

Return type:

None

Parameters:

id (str)

async trigger_relay(*, num, mode=0, level=0, delay=0)[source]

Trigger a relay to unlock a door or gate.

Return type:

None

Parameters:
async get_relay_status()[source]

Retrieve current relay states from the device.

Return type:

dict[str, Any]

async get_device_config()[source]

Retrieve full device configuration.

Return type:

DeviceConfig

async set_device_config(settings)[source]

Update device configuration settings.

Return type:

None

Parameters:

settings (dict[str, str])

async add_schedule(*, schedule_type, name=None, week=None, daily=None, date_start=None, date_end=None, time_start=None, time_end=None, sun=None, mon=None, tue=None, wed=None, thur=None, fri=None, sat=None)[source]

Add an access schedule to the device.

Return type:

None

Parameters:
  • schedule_type (str)

  • name (str | None)

  • week (str | None)

  • daily (str | None)

  • date_start (str | None)

  • date_end (str | None)

  • time_start (str | None)

  • time_end (str | None)

  • sun (str | None)

  • mon (str | None)

  • tue (str | None)

  • wed (str | None)

  • thur (str | None)

  • fri (str | None)

  • sat (str | None)

async list_schedules(*, page=None)[source]

List schedules from the device.

Return type:

list[AccessSchedule]

Parameters:

page (int | None)

async modify_schedule(*, id, name=None, schedule_type=None, week=None, daily=None, date_start=None, date_end=None, time_start=None, time_end=None, sun=None, mon=None, tue=None, wed=None, thur=None, fri=None, sat=None)[source]

Modify an existing schedule on the device.

Return type:

None

Parameters:
  • id (str)

  • name (str | None)

  • schedule_type (str | None)

  • week (str | None)

  • daily (str | None)

  • date_start (str | None)

  • date_end (str | None)

  • time_start (str | None)

  • time_end (str | None)

  • sun (str | None)

  • mon (str | None)

  • tue (str | None)

  • wed (str | None)

  • thur (str | None)

  • fri (str | None)

  • sat (str | None)

async delete_schedule(*, id)[source]

Delete a schedule from the device.

Return type:

None

Parameters:

id (str)

async list_groups(*, page=None)[source]

List groups from the device.

Return type:

list[Group]

Parameters:

page (int | None)

async add_group(*, name)[source]

Add a group to the device.

Return type:

None

Parameters:

name (str)

async modify_group(*, id, name)[source]

Modify an existing group on the device.

Return type:

None

Parameters:
async delete_group(*, id)[source]

Delete a group from the device.

Return type:

None

Parameters:

id (str)

async list_contacts(*, page=None)[source]

List contacts from the device.

Return type:

list[Contact]

Parameters:

page (int | None)

async add_contact(*, name, phone=None, group=None)[source]

Add a contact to the device address book.

Return type:

None

Parameters:
  • name (str)

  • phone (str | None)

  • group (str | None)

async modify_contact(*, id, name=None, phone=None, group=None)[source]

Modify an existing contact on the device.

Return type:

None

Parameters:
  • id (str)

  • name (str | None)

  • phone (str | None)

  • group (str | None)

async delete_contact(*, id)[source]

Delete one or more contacts from the device.

Return type:

None

Parameters:

id (str | list[str])

async get_door_logs(*, page=None)[source]

Retrieve door access logs from the device.

Return type:

list[DoorLogEntry]

Parameters:

page (int | None)

async get_call_logs(*, page=None)[source]

Retrieve call logs from the device.

Return type:

list[CallLogEntry]

Parameters:

page (int | None)