Skip to main content

Python Async API for controlling Genie garage doors connected to Aladdin Connect devices

Project description

AIOAladdinConnect

Python module that allows interacting with Genie Aladdin Connect devices via AIOHttp

Note that shared doors are not currently supported, only doors that are owned by your account can be controlled

As of 1/24/2024 this libarary will be obsolete as Genie/Overhead door is moving to a new api. While most of the interface will work with the new api, the websocket method will be changing to a new pre provided endpoint AND they will be moving to OAUTH authentication. Once things settle, we will attempt to address the changes.

Usage

from AIOAladdinConnect import AladdinConnectClient

# Create session using aladdin connect credentials
client_id = 1000
client_session = aiohttp.ClientSession(timeout = aiohttp.ClientTimeout(total=30))
client = AladdinConnectClient(email, password, client_session, client_id)
await client.login()

# Get list of available doors and their status
doors = await client.get_doors()
my_door = doors[0]

# Issue commands for doors
await client.close_door(my_door['device_id'], my_door['door_number'])
await client.open_door(my_door['device_id'], my_door['door_number'])

# Get door status from internal structure.  Must call client.get_doors() to update structure
# Door status also updates on state change from the web socket without calling client.get_doors
await client.async_get_door_status(my_door['device_id'], my_dooregister_callbackr['door_number'])
client.get_door_status(my_door['device_id'], my_door['door_number'])

# Get Doorlink statys from internal structure. Must call client.get_doors() to update structure
await client.async_get_door_link_status(my_door['device_id'], my_door['door_number'])
client.get_door_link_status(my_door['device_id'], my_door['door_number'])

# Get Door Batery status from internal structure. Must call client.get_doors() to update structure
client.get_battery_status(my_door['device_id'], my_door['door_number'])
client.get_rssi_status(my_door['device_id'], my_door['door_number'])
client.get_ble_strength(my_door['device_id'], my_door['door_number'])

ble_strength and battery_status are utilized with the retrofit devices (ALKT1-RB) where the door 
position sensor has a BLE connection and battery level reported.  Other devices (actual door openers)
tend to report 0 for these values.


Async versions by appending async (example):
await client.async_get_battery_status(my_door['device_id'], my_door['door_number'])
await client.async_get_rssi_status(my_door['device_id'], my_door['door_number'])
await client.aycn_get_ble_strength(my_door['device_id'], my_door['door_number'])


#assign callback for event based status updates:
client.register_callback(your_callback_function)

#Close the sockets at the end of a session:
client.close()

#Get the authtoken after login
token = client.auth_token()

#Set the authtoken if known (can skip login)
client.set_auth_token(token)

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

AIOAladdinConnect-0.2.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

AIOAladdinConnect-0.2.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file AIOAladdinConnect-0.2.0.tar.gz.

File metadata

  • Download URL: AIOAladdinConnect-0.2.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for AIOAladdinConnect-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e6f7f0f1253795694fa0c011f9bc9ff23a59ac69974cfa1e3be0ef3c1ca3667c
MD5 936e3acdaa3737e2423a42e8ecd66d82
BLAKE2b-256 f12a647eb502365eaab8ccf067d32d16131a9529f92b5bd771564fbf5b87aa81

See more details on using hashes here.

File details

Details for the file AIOAladdinConnect-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for AIOAladdinConnect-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f95940e133a22b9c80259b87bbf7924db4f7259389966997f643af0473d06e9a
MD5 c1591dc17196020643f76093f67695fa
BLAKE2b-256 d6fd93899a642460453042b47d8f4a2af0db829651e4b00b1ab4941b44595710

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page