Metadata-Version: 2.1
Name: aioketraapi
Version: 0.1.9
Summary: Ketra Lighting API
Home-page: https://github.com/s4v4g3/aio-ketra-api.git
Author: Joe Savage
Author-email: joe@savage.zone
License: UNKNOWN
Description: # aioketraapi
        aiohttp-based Python Client SDK for controlling Ketra lighting products.   Based on Ketra API documentation available
        [here](https://s3.amazonaws.com/ketra-software/KetraMobileAPI/v1/KetraN4APIoverview.pdf).
        
        This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
        
        - API version: 1.4.0
        - Package version: 1.0.0
        - Build package: org.openapitools.codegen.languages.PythonClientCodegen
        
        ## Requirements.
        
        Python 3.6+
        
        ## Installation & Usage
        ### pip install
        
        You can install from pypi using:
        
        ```sh
        pip install aioketraapi
        ```
        
        Or, you can install directly from github using:
        
        ```sh
        pip install git+https://github.com/s4v4g3/aio-ketra-api.git
        ```
        
        Note that in either case you may need to run `pip` with root permission: `sudo pip install aioketraapi` or `sudo pip install git+https://github.com/s4v4g3/aio-ketra-api.git`
        
        
        Then import the package:
        ```python
        import aioketraapi
        ```
        
        ### Setuptools
        
        Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
        
        ```sh
        python setup.py install --user
        ```
        (or `sudo python setup.py install` to install the package for all users)
        
        Then import the package:
        ```python
        import aioketraapi
        ```
        
        ## Getting Started
        
        In order to use this package you will need to contact Ketra Support and get assigned a client_id and client_secret.
        
        ### Authentication
        
        You will only need to obtain a single access token for a given user account; at present the access tokens do not expire.
        
        ```python
        
        import asyncio
        from aioketraapi.oauth import OAuthTokenResponse
        
        async def main():
        
            client_id = 'YOUR CLIENT ID'
            client_secret = 'YOUR CLIENT SECRET'
            username = '<your Ketra Design Studio username here>'
            password = '<your Ketra Design Studio password here>'
        
            oauth_token = await OAuthTokenResponse.request_token(client_id, client_secret, username, password)
            access_token = oauth_token.access_token
            print(f"My access token is {access_token}")
        
        if __name__ == '__main__':
            asyncio.run(main())
        
        ```
        
        ### Usage
        
        ```python
        import asyncio
        from aioketraapi.n4_hub import N4Hub
        from aioketraapi.models.lamp_state import LampState
        
        async def main():
        
            # Find the installation id for your installation by logging into https://my.goketra.com
            # and finding your installation in the list and going to the “Details” page for your
            # installation. The installation id is displayed in the URL of this page, for example
            # a URL of https://my.goketra.com/installations/0fbcada7-b318-4d29-858c1ea3ac1fd5cb
            # would indicate an installation id of “0fbcada7-b318-4d29-858c1ea3ac1fd5cb”
            installation_id = 'my-installation-id'
        
            # Use the access token received from the authentication step above
            access_token = 'access token received from authentication step'
        
            # Set to False to access your installation directly through your local network,
            # set to True to access your installation through the cloud (requires remote access
            # to be enabled in Design Studio for the installation)
            use_cloud = False
            hub = await N4Hub.get_hub(installation_id,
                                      access_token,
                                      use_cloud=use_cloud)
        
            # get the keypads in the installation and print all button names
            keypads = await hub.get_keypads()
            for keypad in keypads:
                for button in keypad.buttons:
                    print(button.scene_name)
                    # activate the "Natural" button on the "Kitchen" keypad
                    if button.scene_name == "Kitchen Natural":
                        await button.activate()
        
            # get the groups in the installation and print all group names
            groups = await hub.get_groups()
            for group in groups:
                print(group.name)
                # Control the "Office" group
                if group.name == "Office":
                    await group.set_state(LampState(transition_time=13000, cct=2000, brightness=0.95, power_on=True))
        
        
        if __name__ == '__main__':
            asyncio.run(main())
        ```
        
        ## License
        
        The library is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Keywords: OpenAPI,OpenAPI-Generator,Ketra Lighting API
Platform: UNKNOWN
Requires-Python: >=3.6
Description-Content-Type: text/markdown
