Skip to main content

Asynchronous Python wrapper library over Bond Local API

Project description

bond-async

Asynchronous Python wrapper library over Bond Local API

Forked from https://github.com/prystupa/bond-api Thanks @prystupa for the great work!

Installation

From PyPi:

pip3 install bond-async

Library Usage

import asyncio

from aiohttp import ClientResponseError, ClientConnectorError

from bond_async import Bond, Action


async def main():
    """Example of library usage."""
    
    bond = Bond("[your ip or hostname here]", "[your bond API token here]")

    try:
        print("Version:")
        print(await bond.version())

        print("Device IDs:")
        device_ids = await bond.devices()
        print(device_ids)

        print("Devices:")
        devices = await asyncio.gather(*[bond.device(device_id) for device_id in device_ids])
        print(devices)

        print("Devices Properties:")
        properties = await asyncio.gather(*[bond.device_properties(device_id) for device_id in device_ids])
        print(properties)

        print("Devices State:")
        state = await asyncio.gather(*[bond.device_state(device_id) for device_id in device_ids])
        print(state)

        print("Turn on fan!")
        await bond.action("[your fan device ID here]", Action.turn_on())

        print("Change fan speed!")
        await bond.action("[your fan device ID here]", Action.set_speed(2))

        print("Turn off fan!")
        await bond.action("[your fan device ID here]", Action.turn_off())
        
    except ClientResponseError as x:
        print("Client response error: ", x)
    except ClientConnectorError as x:
        print("Client connector error: ", x)


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

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

bond_async-0.2.1.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

bond_async-0.2.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file bond_async-0.2.1.tar.gz.

File metadata

  • Download URL: bond_async-0.2.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for bond_async-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8ad2452d3d69b5db444de33035629ea4804675150050060197945e765f4e4251
MD5 40b60e2cfdd63abbbdd96a17a44c6556
BLAKE2b-256 88b88f687aef0f5ccf1ef9d5fe84b6b7cc9f30b3656b4182c84fc22d737b48d4

See more details on using hashes here.

File details

Details for the file bond_async-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: bond_async-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for bond_async-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea59b0dece1c56a9b5d8f3e8908b01eba8a091bac4a8fa744bb53e170907e514
MD5 73bf333967d662e89215cfef3a221fa0
BLAKE2b-256 7983c796dbe88d79efb7d93b85d05c269094b02e94b2f329c6d7362a793eab6f

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