Eight Sleep
The eight_sleep
integration allows Home Assistant to fetch data from your Eight Sleep smart cover or mattress.
There is currently support for the following device types within Home Assistant:
- Binary Sensor - lets observe the presence state of a Eight Sleep cover/mattress through Home Assistant.
- Sensor - This includes bed state, sleep fitness scores, and results of the current and previous sleep sessions.
Configuration
To add the Eight Sleep integration to your Home Assistant instance, use this My button:
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the Add Integration button.
-
From the list, select Eight Sleep.
-
Follow the instructions on screen to complete the setup.
Supported features
Sensors and associated attributes:
- eight_left/right_bed_state
- Attributes:
- Target Heating Level
- Heating Active
- Heating Time Remaining
- Attributes:
- eight left/right_sleep_fitness
- Attributes:
- Fitness Date
- Fitness Duration Score
- Fitness Asleep Score
- Fitness Out-of-Bed Score
- Fitness Wakeup Score
- Attributes:
- eight_left/right_sleep_session
- Attributes:
- Session Start
- Tosses & Turns
- Processing (True/False)
- Time Slept (s)
- Light Sleep %
- Deep Sleep %
- REM Sleep %
- Respiratory Rate
- Heart Rate
- Sleep Stage
- Room Temperature
- Bed Temperature
- Attributes:
- eight_left/right_previous_sleep_session
- Attributes:
- Session Start
- Tosses & Turns
- Processing (True/False)
- Time Slept (s)
- Light Sleep %
- Deep Sleep %
- REM Sleep %
- Average Respiratory Rate
- Average Heart Rate
- Average Room Temperature
- Average Bed Temperature
- Attributes:
- eight_left/right_bed_temperature
- eight_left/right_sleep_stage
- eight_room_temperature
Binary Sensors:
- eight_left/right_bed_presence
Service heat_set
You can use the service eight_sleep/heat_set to adjust the target cooling/heating level and heating duration of your bed (cooling is only available for the POD mattress).
Service data attribute | Optional | Description |
---|---|---|
entity_id |
no | Entity ID for a sensor on the side to be adjusted. |
target |
no | Target cooling/heating level from -100 to 100. |
duration |
no | Duration to cool/heat at the target level in seconds. |
Script Example:
script:
bed_set_heat:
sequence:
- service: eight_sleep.heat_set
target:
entity_id: "sensor.eight_johns_bed_temperature"
data:
target: 35
duration: 3600
Notice
This integration relies on an undocumented API utilized by the Eight Sleep mobile app to communicate with the Eight Sleep servers. It is not supported by Eight Sleep and may malfunction if changes are made to either the mobile app operation or the API format.