Metadata-Version: 2.1
Name: pyC4Room
Version: 1.0.0
Summary: Forked Python 3 asyncio package for interacting with Control4 systems and includes room support
Home-page: https://github.com/nalin29/pyControl4.git
Author: nalin29
Author-email: github@nalinmahajan.com
License: UNKNOWN
Description: # pyControl4
        
        Note: This is a fork of the original pycontrol4 library. This version is a forked version that supports room manipulation
        
        An asynchronous library to interact with Control4 systems through their built-in REST API. This is known to work on controllers with OS 2.10.1.544795-res and OS 3.0+. 
        
        
        For those who are looking for a pre-built solution for controlling their devices, this library is implemented in the [official Home Assistant Control4 integration](https://www.home-assistant.io/integrations/control4/).
        
        ## Usage example
        ```python
        from pyControl4.account import C4Account
        from pyControl4.director import C4Director
        from pyControl4.light import C4Light
        import asyncio
        import json
        
        username = ""
        password = ""
        
        ip = "192.168.1.25"
        
        """Authenticate with Control4 account"""
        account = C4Account(username, password)
        asyncio.run(account.getAccountBearerToken())
        
        """Get and print controller name"""
        accountControllers = asyncio.run(account.getAccountControllers())
        print(accountControllers["controllerCommonName"])
        
        """Get bearer token to communicate with controller locally"""
        director_bearer_token = asyncio.run(
            account.getDirectorBearerToken(accountControllers["controllerCommonName"])
        )["token"]
        
        """Create new C4Director instance"""
        director = C4Director(ip, director_bearer_token)
        
        """Print all devices on the controller"""
        print(asyncio.run(director.getAllItemInfo()))
        
        """Create new C4Light instance"""
        light = C4Light(director, 253)
        
        """Ramp light level to 10% over 10000ms"""
        asyncio.run(light.rampToLevel(10, 10000))
        
        """Print state of light"""
        print(asyncio.run(light.getState()))
        ```
        
        ## Contributing
        Pull requests are welcome! Please lint your Python code with `flake8` and format it with [Black](https://pypi.org/project/black/).
        
        ## Disclaimer
        This library is not affiliated with or endorsed by Control4. 
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
