Skip to content

amosyuen/ha-eight-sleep-climate

Repository files navigation

Eight Sleep Climate

GitHub Release GitHub Activity License

pre-commit Black

hacs Project Maintenance BuyMeCoffee

Community Forum

Purpose

Creates a virtual climate that controls an eight sleep mattress. This allows exposing the climate to google home and controlling it using voice commands. Currently the units is "percent" but will show as default home assistant temperature unit. This implementation is a bit of a hack since google isn't really designed to handle percent in a thermostat so there are some things that do not work.

Google Assitant

Queries Supported

  • "what is temperature"
  • "set heat to -100"
  • "set heat to -45 degrees"
  • "set temperature to 0"

Queries Unsupported

  • "what is heat"
  • "set cool to -100 degrees"
  • "set to -100"
  • "set temperature to -100 degrees"

UI

The Google Assistant UI is limited to setting temperature between 50 to 90 degrees. It is not recommended to use the Google Home UI. Instead I recommend exposing virtual fan or switch to use in the Google Home UI.

Climate Attributes Supported

Attribute Example Values (comma separated)
state cooling, heating, idle, off
hvac_mode auto, off
current_temperature 70
target_temperature 70

Services

Installation

Requries https://github.com/lukas-clarke/eight_sleep to be installed.

HACS

  1. Install HACS
  2. Go to HACS Integrations > section
  3. Click ... in top right of screen
  4. Click Custom repositories
  5. Add repository amosyuen/ha-eight-sleep-climate in category Integration
  6. In the lower right click "+ Explore & Download repositories"
  7. Search for "Eight Sleep Climate" and add it
    • HA Restart is not needed since it is configured in UI config flow
  8. In the Home Assistant (HA) UI go to "Configuration"
  9. Click "Integrations"
  10. Click "+ Add Integration"
  11. Search for "Eight Sleep Climate"

Manual

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called eight_sleep_climate.
  4. Download all the files from the custom_components/eight_sleep_climate/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Restart Home Assistant
  7. In the Home Assistant (HA) UI go to "Configuration"
  8. Click "Integrations"
  9. Click "+ Add Integration"
  10. Search for "Eight Sleep Climate"

{% endif %}

Configuration

  1. Setup Home Assistant Eight Sleep integration
  2. The integration will automatically discover unadded eight sleep state entities. Select one.
  3. Choose a name for the entity
  4. Click Submit

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Credits

This project was generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.

Code template was mainly taken from @Ludeeus's integration_blueprint template