Releases: lukas-clarke/eight_sleep
1.0.20
Happy 2025 everyone! Thanks to @Nezz for an update to alarms:
Toggling alarms stopped working some time ago because they introduced a new field: disabledIndividually (in addition to the already existing enabled).
@Nezz fixed this and added support for the "next alarm" switch, which will only affect the next morning. For example you can now toggle off tomorrow's alarm without toggling of the alarm for the rest of the days.
Also, the alarm attributes now update automatically. Previously they only changed when the integration was reloaded.
1.0.19
Thanks again to @Nezz for the updates:
- Adding alarm switches
- Adding a target temperature sensor
- Fixing errors when updating base preset
- Fixing blocking IO in datetime parsing
- Updating header user-agent to hopefully spark more collaboration with the Eight Sleep devs.
1.0.18
Thanks to @Nezz for the updates:
This release adds support for the base included in the Pod 4 Ultra:
- Expose model, hardware and software version
- Expose binary sensor for snore mitigation
- Expose number entities for head and feet angles
- Expose base preset (sleep, relaxing, or reading)
Additional refactoring done:
- Fix linter warnings and various fixes based on type checks
- Remove unused or duplicate code
- Fix blocking operation that Home Assistant warns about
- Rename heat_coordinator to device_coordinator because it's used to update the device data - heat might be a legacy name?
- Improve the readability of EightUserSensor by assigning state and device classes explicitly
- Switch to entity names everywhere. This will change the ID of newly added entities from users_s_bed_presence to users_s_eight_sleep_side_bed_presence, but it's been the mandatory way to name entities for over two years.
1.0.17
Fix for unknown user side
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
Hotfix for timestamp attribute state & device classes.
1.0.11
Eight Sleep made a backend change to require a client_secret for the OAuth2 authentication. Thanks to the other users (@mwalling, @MarcCA, @adamksmith, etc.) who were able to debug and find that there is a single client_secret being used by Eight Sleep. If the client_secret/client_id is not set manually, then it defaults to the values that are known to work for now.
However, this is not guaranteed to continue to work as Eight Sleep may change the OAuth2 behavior at any point. At that point the best way to get the client_id & client_secret will be to use a MITM, and then set the values manually when setting up the integration.