A package to control Awox Mesh light bulbs.
Project description
Python package to control Awox mesh light bulbs.
API inspired by Matthew Garrett'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.
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.
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:
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:
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:
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 :
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for awoxmeshlight-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daa7883a10ea5fb890370564c4c5a0898fd073b4a72d9bf1fcaaa5c2060273a6 |
|
MD5 | 590885db2d2c752c47efdc4ec5bcaa77 |
|
BLAKE2b-256 | 477bfe812e15021460add55fff7e721866c92c598dfb876f797ebf2bfeaef99e |