Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

A library and command-line tool to control the Holi SleepCompanion

Project description

Sleep360

This project allows to control the Holi SleepCompanion from a Linux computer.

The SleepCompanion is nice LED bulb that offers a lot of features to improve your sleep and your waking up. It is manufactured by Holi, a French company. A product description can be found by following these links:

This Sleep360 project is written in Python and can be used:

  • as a library by creating a sleep360.Bulb() object
  • as a command line utility (coming soon)

Requirements

  • D-BUS
  • bluez >= 5.46 (dependency on the GATT D-BUS API)

Installation

From PyPI

pip install [--user] sleep360

From the sources

cd python-sleep360
pip install [--user] .

Command line usage

pip install installs a sleep360 binary. Running it gives a prompt like this one:

Sleep360 shell (version x.y.z).
Type help or ? to list commands.

[sleep360] connect Bulb
Connecting to the Bulb...
[sleep360] set_color 0xff0000 0x00 0x00
[sleep360] disconnect
Disconnecting from the Bulb...
[sleep360] exit

Library usage

bulb = Bulb(name="Bulb")
bulb.connect()

# Play with bulb commands
[...]

bulb.disconnect()

Examples are available in the tests directory.

Supported features

The SleepCompanion bulb offers a lot of features. Among them, the following ones are currently supported by Sleep360:

  • Setting colors (RGB + warm and cold value)
  • Powering off the light
  • Getting the temperatures measured by the bulb

Reverse-engineering

This project has been developed by carefully studying the Bluetooth LE messages. The file BLE-protocol.md describes my understanding of these messages.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
sleep360-0.2.0.tar.gz (9.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page