Skip to main content

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.

Source Distribution

sleep360-0.2.0.tar.gz (9.9 kB view hashes)

Uploaded Source

Supported by

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