Metadata-Version: 2.1
Name: awoxmeshlight
Version: 0.2.0
Summary: A package to control Awox Mesh light bulbs.
Home-page: http://github.com/leiaz/python-awox-mesh-light
Author: Laetitia Berthelot
Author-email: leiaz@mailbox.org
License: MIT
Description: Python package to control Awox mesh light bulbs.
        
        API inspired by [Matthew Garrett](https://github.com/mjg59)'s python light bulb 
        interfaces.
        
        I have only one light bulb and so didn't really test the mesh features, and 
        my light bulb was never associated with the official app.
        
        Only tested with the ESMLm\_c9 model, firmware version 1.2.4
        
        Requires :
        - A recent version of Python 2 or 3 (tested with 3.6 and 2.7)
        - bluepy
        - pycryptodome
        
        ## Installation
        
        From the directory containing `setup.py` : `pip install .` or
        `pip install --user .` to install in the user's Python directory.
        
        ## Usage :
        
        From reports, it may not be possible to use the Awox app at the same time as this.
        
        ### Setting the password on an unpaired light
        
        The `setMesh` function may hang, but the light blinks when accepting the settings.
        
        ```python
        import awoxmeshlight
        mylight = awoxmeshlight.AwoxMeshLight ("A4:C1:38:78:11:33")
        mylight.connect() # Unless specified, the default name and password are used
        mylight.setMesh("new_mesh_name", "new_mesh_password","new_mesh_key")
        mylight.disconnect()
        ```
        
        ### With the remote
        
        *Contributed by [Pixtxa](https://github.com/Pixtxa).*
        
        Reset the light (hold PowerOn + Fav. 1) and the remote (hold PowerOn +
        ColorCycle) and connect the remote to the light again (hold PowerOn). Now hold
        PowerOn and the blue button for a few seconds, so the remote switches to
        Bluetooth-mode. Use BT-app (nRF-Connect or so) to get the mac and name (both
        will have the same name, its "R-" followed by the last 6 digits of the remotes
        mac-address). Password will be "1234".
        
        For the remote:
        
        ```python
        import awoxmeshlight
        myremote = awoxmeshlight.AwoxMeshLight ("A4:C1:38:75:24:93", "R-752593", "1234") #change to your remotes data
        myremote.connect()
        myremote.setMesh("PixtxaLightNet", "IeY3johvoosh","4556572782865925") #better change all of them
        myremote.disconnect()
        ```
        [After setMesh(...) the program didn't work, but the data was set, so i killed the task]
        
        For the light:
        ```python
        import awoxmeshlight
        mylight = awoxmeshlight.AwoxMeshLight ("A4:C1:38:78:62:74", "R-752593", "1234") #change to your lights data
        mylight.connect()
        mylight.setMesh("PixtxaLightNet", "IeY3johvoosh","4556572782865925") #same as on the remote
        mylight.disconnect()
        ```
        [After setMesh(...) the program didn't work, but the data was set, so i killed the task]
        
        Now you can run a simple test script:
        
        ```python
        import awoxmeshlight
        import time
        mylight = awoxmeshlight.AwoxMeshLight ("A4:C1:38:78:62:74", "PixtxaLightNet", "IeY3johvoosh")
        mylight.connect()
        mylight.setColor(0x00, 0xFF, 0x00) #green
        mylight.setColorBrightness(0x01) #dark
        time.sleep(1)
        mylight.setColorBrightness(0x64) #bright
        time.sleep(1)
        mylight.setPreset(0) #colorchange
        mylight.setSequenceFadeDuration(500)
        mylight.setSequenceColorDuration(500)
        time.sleep(15)
        mylight.setWhite(0x00, 0x7F) #coldwhite
        time.sleep(1)
        mylight.setWhite(0x73, 0x63) #warmwhite
        time.sleep(1)
        mylight.off()
        time.sleep(1)
        mylight.on()
        mylight.disconnect()
        ```
        
        ## Printing some debug info
        
        Functions don't print anything, instead the `logging` module is used.
        
        Example using the logger to print everything to stderr :
        ```python
        import awoxmeshlight
        import logging
        
        logger = logging.getLogger("awoxmeshlight")
        logger.setLevel(logging.DEBUG)
        handler = logging.StreamHandler ()
        handler.setLevel(logging.DEBUG)
        logger.addHandler (handler)
        
        mylight = awoxmeshlight.AwoxMeshLight ("A4:C1:38:97:11:33", "mesh_name", "mesh_password")
        mylight.connect ()
        mylight.setColor (0x50, 0x76, 0x00 )
        mylight.disconnect()
        ```
        
        ## Procedure to manually reset the light bulb (from Awox FAQ video):
        
        Turn on and off in the following sequence :
        
        - 3 times :
          - On during 1 sec
          - Off during 6 sec
        - On 10 sec
        - Off 10 sec
        - On 10 sec
        - Off 6 sec
        - On -> Light will blink and turn red
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2.7
Description-Content-Type: text/markdown
