Skip to content
/ pyEight Public

Python library to interface with the Eight Sleep API

License

Notifications You must be signed in to change notification settings

mezz64/pyEight

Repository files navigation

PyPI

Introduction

Python library to interface with the Eight Sleep API

API is currently undocumented. Usage is derived by capturing api calls made by the Eight Sleep android app.

Code is licensed under the MIT license.

Thanks

Special thanks to github user @alyc100 for making his SmartThings Eight Sleep code available.

Requirements

  • python >= 3.9
  • aiohttp >= 2.0
  • asyncio

Installation

pip install pyeight

Usage

Full usage example can be found in the HomeAssistant implementation of this library.

Basic Usage

from pyeight.eight import EightSleep

eight = EightSleep(user, pass, timezone, None)

await eight.start()

# Update mattress data, 1min interval recommended
await eight.update_device_data()

# Update user data, 5min interval recommended
await eight.update_user_data()

Properties

Library properties are well defined in both eight.py and user.py.

TODO

  • Improve dynamic presence detection through statistical analysis