Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awoxmeshlight-0.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

awoxmeshlight-0.1.0-py2.py3-none-any.whl (8.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file awoxmeshlight-0.1.0.tar.gz.

File metadata

  • Download URL: awoxmeshlight-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for awoxmeshlight-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8d460a279db8ecdc73fbb8f457194723761b6f9748fcfab1493f714e6d25e65b
MD5 d7c5cbbf5902a3ea60cd5781709eac8b
BLAKE2b-256 2a3c945c23968471bbbd037cc715f337ca4ca738ac8c369a51720ad5562a1233

See more details on using hashes here.

File details

Details for the file awoxmeshlight-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: awoxmeshlight-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for awoxmeshlight-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 daa7883a10ea5fb890370564c4c5a0898fd073b4a72d9bf1fcaaa5c2060273a6
MD5 590885db2d2c752c47efdc4ec5bcaa77
BLAKE2b-256 477bfe812e15021460add55fff7e721866c92c598dfb876f797ebf2bfeaef99e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page