[RELEASE] Eight Sleep (Community)

Wrote an app and driver for Eight Sleep Pod that is based on Alex's smart things driver but rewritten from scratch and with some new features. Tested with my eight sleep pod.

Capabilities

  • Turn on or off
  • Get and set current level
  • Get and set target level for heating
  • Get and set target level for cooling (if supported by bed)
  • Get whether there is a person in the bed (up to an hour delayed)
  • Get whether there is a person is asleep (up to an hour delayed)
  • Get the bed temperature (only when in bed and up to an hour delayed)
  • Get the room temperature (only when in bed and up to an hour delayed)
  • Has some of the capabilities of a thermostat (thermostate mode and heating and colling setpoints) as this fits the bed model most closely
  • Polls the servers every pollIntervalSeconds seconds, where pollIntervalSeconds can be set by the user. Defaults to every 5 minutes.

Wow, what amazing timing. Thank you! I just set this up in Home Assistant (which I tinker with, Hubitat is my main hub) the other day, so very top of mind for me.

Unfortunately, authentication doesn’t appear to be working. I tried deleting and re-installing the app and triple checked my password manager.


Same issue

Ah, sorry looks like I had a bug with passing in a param that wasn't getting tested since I already had entered my credentials. Should be fixed now with v2.0.1

1 Like

Slight tangent for a second, I don't have one of these, but am looking at getting a new mattress or a cover to extend the life of my mattress. What's your take on how good/bad it is? My wife and I like firm mattresses

Getting errors.
2021-01-05 17:37:36.903 errororg.codehaus.groovy.runtime.metaclass.MethodSelectionException: Could not find which method schedule() to invoke from this list: public void com.hubitat.hub.executor.BaseExecutor#schedule(java.lang.String, groovy.lang.MetaMethod) public void com.hubitat.hub.executor.BaseExecutor#schedule(java.lang.String, java.lang.String) public void com.hubitat.hub.executor.BaseExecutor#schedule(java.util.Date, groovy.lang.MetaMethod) public void com.hubitat.hub.executor.BaseExecutor#schedule(java.util.Date, java.lang.String) public void com.hubitat.hub.executor.BaseExecutor#schedule(java.lang.String, groovy.lang.MetaMethod, java.util.Map) public void com.hubitat.hub.executor.BaseExecutor#schedule(java.lang.String, java.lang.String, java.util.Map) public void com.hubitat.hub.executor.BaseExecutor#schedule(java.util.Date, groovy.lang.MetaMethod, java.util.Map)

Thanks for fixing the auth issues! Connected great now.

I'm getting the same errors in logs as @murzik for the device for either side of the bed now:

The matress itself is about a medium firmness. Tuck gives it a 5.5/10 firmness rating.

If you want it firmer you can always get a different mattress and then buy their cover separately to put on top. All the heating / cooling tech is in the cover.

1 Like

Sorry about the bugs, looks like some of them were hidden since I'd been modifying an existing device. I uploaded v2.0.2 that has the latest fixes. I also tested by removing the whole app and reinstalling everything so I think I should have gotten most of the bugs this time.

1 Like

Thanks for working through the bugs. Updating now. Would you consider adding to Hubitat Package Manager?

I have the cover and not the mattress. Best 1.5k I've spent...no regrets. Keeps my tempurpedic from overheating and makes no noticeable noise. Had the chili cube before and it was noisy and pumped out some real heat. SA is nothing like that at all.

I know you're asking about the mattress but the tech side of it is same as the cover I have.

1 Like

Thank you so much for doing this! Appreciate the effort. (PS, working for me after the update)

1 Like

Good suggestion. Submitted a pull request at Add Amos Yuen repository by amosyuen · Pull Request #84 · dcmeglio/hubitat-packagerepositories · GitHub

1 Like

Glad it's working!

If any of you use Google Home, I found a bug with Google Home Community that you can't change the temperature if the device is off. I've proposed a fix at Cannot set temperature when thermostat is off · Issue #50 · mbudnek/google-home-hubitat-community · GitHub

Thank you for fixing it!

There a still other errors


And device is not refreshing every 300 sec, not refreshing at all.

Submitted a fix for length error in v2.0.3 and refresh in 2.0.4.

To get the refresh to work you should click save preferences button after installing.

HPM repository change is now merged in, so you can install using Hubitat Package Manager

1 Like

This app worked kind of OK for me, probably Eight Sleep's problem, but I was getting "Error 500" errors when trying to look at Hubitat Logs. Couldn't get to the logs page at all.

Going through my Hubitat backups, I had no problem before adding Eight Sleep Connect. Removing Eight Sleep devices and the app from my last backup fixed the problem, the only change I had to make.

I'm on Hubitat version 2.2.6.137. I first added this app with version 2.2.6.131.
I probably added the app via HPM, definitely on 3/12/2021. My current app version is 3.0.1.

If you're getting an error viewing logs page that sounds like a problem with hubitat and not specific to the driver. A buggy driver shouldn't take down logs for the whole hubitat. You should post in the support thread for hubitat for that.

It is suspicious that removing the app, fixed the problem. But I'm not really able to help without any logs or more info.

You could try different versions of the app (from github) and see if that makes a difference. Or try modifying the code in the app till logs work for you.