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.
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
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)
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.
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.
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.
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.