Gentle Wake Up

Ok @Jimxenus - I now have a much better way of doing this using Rule Machine. It only requires 2 rules - no increments… has all the same pro’s as the original method, but also, more importantly allows for smooth dimming:

Firstly you’ll need to make a virtual momentary button tile device. You can do this in the IDE or use one of the community Smartapps --> “Virtual device manager” or “Switchmania” to create it in app.

  1. Start trigger rule. same as before no changes
  2. Main Rule: Same as before + add a trigger which is your virtual momentary button being switched on + add an additional action which is to turn on the momentary button with a delay of 1min (or whatever increment you desire) + edit the dimming adjustment (as now it will be happening every minute)

no need for increment rules.

1 Like

Wow, even better! I really like what you’ve done. I will get this set up tonight. You know, you were right, I didn’t really notice the incremental dimming from your older method. However, this is so much better and can be used in more cases like a gentle reminder when it’s time to go to bed. You should put your method here for others to enjoy:

Well, I got the method for looping in Rule Machine from Bruce on one of his threads so it would be a duplication

Well true and you can always credit him. However amongst 1900 posts, it would be hard to find. Anyway, just a thought. :smile:

@Jimxenus Did you try the new method?

I’ve had it running for a few days now… but I think the larger increments were more effective at waking me up! Are you finding the same?

Hi Adam,

I just got the new method installed this weekend so I haven’t really fully tested it yet. I’m not sure, but I did have to add an action to the Start rule to turn on the virtual switch even though you said there should be no change, otherwise the Main rule never triggered. Am I missing something with your new method?

I can see how larger increments could be more effective on waking one up. Perhaps the larger differences in lighting stimulates the wake senses better. In any case, your new method works for that too so I’ll try it this week.

I’m not sure why it never triggered - I haven’t made a change to my start rule. My start rule still just turns on the lights at dim level 5% and then the other rule takes over a few minutes later. Which virtual switch are you talking about the momentary helper switch or the switch to disable the rule??

The momentary helper switch.

Edit: Maybe you wouldn’t taking some screenshots so I can compare what you have against mine?

sorry for not replying sooner - I wanted to be more certain that this was true first:

basically the ST cloud is broken at the moment and I think thats probably whats causing your issues. I have had multiple rules stop firing and so has everyone else by the looks of thinsg

@steve_vlaminck not to bug but did you ever get finished with the next version? I am super interested and eager for it.

I did, but a bug in the Android app kept it from being published. The bug is fixed now and should go out with the next Android build. After that I’ll retest and publish it. Should be soon, sorry for the delay.

1 Like

No worries thanks for the update and your time on this!

@steve_vlaminck thanks again for your great work on Gentle Wake Up. Your app is the reason I bought a hub in the first place! My wife and daughter rely on it to wake up now and definitely notice if it isn’t working. After about a year of solid performance and not touching the app, I un-installed and re-installed in a futile effort to fix some of the scheduling issues the platform as a whole has been experiencing. Here is the new problem. App crashes anytime I update completion actions. I can no longer set the light to turn on or off at a certain time. I’ve tried via app v1 & v2 both on ios9. I’ve tried multiple versions of your app including the latest from github. I don’t think it is a problem with your app or code since the same version worked fine previously. There is another thread where a few other folks have experienced the same problem. Do you have any insight you can add?

1 Like

Thanks for calling me out @Brian_Solomon. Both here, and in that other thread. I’m glad you like Gentle Wake Up (when it’s working, of course).

I have a PR open that removes style: "segmented" to prevent the iOS crash. I spoke to some people today, and I think we’re going to push my new version (including the segmented fix) to production soon. Unfortunately, that means Android users will experience some UI bugs for a little while. Sorry Android users, but crashes take precedence over UI ugliness.

I also have a PR open that fixes the crash in iOS. Unfortunately, it’ll be a little while before we submit to Apple, and then we have to wait for whatever wizardry they do during review. So the actual crash won’t be fixed until the next iOS version is in the App Store, but at least the SmartApp change will get around it.

None of this addresses the scheduling issues that Gentle Wake Up has been suffering from lately. I’ve been speaking to people about that and it’s being worked on, but it doesn’t sound like a quick or easy change. I’ll try to keep everyone here informed with what I find, but I might have to make drastic changes to Gentle Wake Up in the meantime. Unfortunately, that won’t be quick or easy either. :pensive:

3 Likes

I posted in that other thread, but I wanted to update this one too.

I spoke to some people yesterday about the scheduling issues, and a hotfix went out last night that seems to have made things better. You may need to update your SmartApp to reschedule it, but then it should work again. My Gentle Wake Up worked perfectly last night and this morning. I had to do update my morning SmartApp to force the initial schedule to get rescheduled, but then it worked fine.

Anyone else seeing things work again?

This may be a stupid question, but how do I update my SmartApp?

Also, can you add a way to either turn off (pause) the SmartApp, or set it not to run in certain modes? Like when it’s a holiday, I don’t want it to run, but I don’t want to delete the app or take the day out manually, and add it back in later.

Thanks!

Not a stupid question at all. It’s not very apparent unless you’ve written a few SmartApps and have dealt with managing subscriptions and schedules. All you have to do is navigate to the SmartApp settings screen and hit the “Done” button. The SmartApp will rebuild all subscriptions and schedules just in case your settings have changed.

Looking through the app, I guess I don’t have an option for not running while in a specified mode. So if you’re starting the app at a specific time, there’s not much you can do. However, you can run when entering a mode so you can have a routine fire at a specific time and that will trigger Gentle Wake Up, and then not have the routine fire when you’re on vacation. That’s how I use it (which is probably why I didn’t think about your situation). I can look into only running when in specific modes, but starting tomorrow, you’ll have a lot more flexibility for starting, stopping, etc. I’ll post more details on the new feature later tonight or tomorrow morning. Spoiler alert: You’ll be able to control Gentle Wake Up with other SmartApps… Like, almost any SmartApp. That will give you way more flexibility than I could ever build into Gentle Wake Up. I’ll post all the details in this thread once I have time to write it all up and gather screenshots, etc.

3 Likes

I just changed my setup to kick off on entering a mode, and set a routine to enter that mode at a time. Hopefully this workaround alleviates some of the scheduling issues!

Thanks for all of your work on this!

The next version of Gentle Wake Up is scheduled for release tomorrow morning (2/19/2016). Here’s a breakdown of what’s in the new version.

Bug Fix

  • iOS crashes after selecting completion switches.
  • A workaround has been implemented in the new version of Gentle Wake Up. The iOS app has been fixed, and this workaround will be reverted once the next version of the iOS app is in the App Store.

New Features

  1. A Controller!
  • I created a DeviceType to control Gentle Wake Up. It will be created automatically when you install/update your app. To update your existing app, just open the settings screen for Gentle Wake Up and hit the Done button.
  • You can start and stop the dimming cycle by tapping the controller tile as if it were a switch… because it is a switch! And the fact that it’s a switch means you can start and/or stop Gentle Wake Up with any other SmartApp that can control a switch. Say you wanted Gentle Wake Up to start at a certain time, but only when in a specific mode. You could do that with a Routine, with Smart Lights, or practically any switch-controlling SmartApp. This opens up incredibly flexible control. Honestly, I’ve stopped using the automation and completion rules that are built in to Gentle Wake Up because I can do the same things and more with other SmartApps.
  • You can jump to any point in the dimming cycle, by moving the slider! Say you have Gentle Wake Up dimming down as you fall asleep, but the book you’re reading is just too good and you want to read another chapter. Now you can easily jump backward in the dimming cycle to give yourself a little more time before your lights shut off. Or if you’re super tired and want to jump forward a bit; not a problem.
  • I also hear there’s some sort of Rule Machine floating around. I bet there’s some really cool things it can do with this new controller :wink:
  • Stopping Gentle Wake Up by turning off a physical switch.
  • This has been requested a lot for a long time. I was hesitant to do this feature because there is unexpected behavior when using lights that are actively being dimmed by Gentle Wake Up which are hard to understand unless you know how the light sends commands and how Gentle Wake Up works. When you turn off a light, the light doesn’t report to SmartThings until it is completely off. Some lights have a built-in delay and won’t send that command for a few seconds. If Gentle Wake Up tells the light to dim before the light sends that command, the light will never send the command. This causes the user to continually turn off the light as if fighting Gentle Wake Up. This is not ideal. In fact, I think this sucks. I highly recommend not using switches that you are actively dimming for this feature. If you use this feature, I’d love to hear about your experience with it.

Future Plans

  • The new version of Gentle Wake Up doesn’t change any of the scheduling logic. I have some thoughts on how to improve that (especially for hue bulbs), and will explore those options for the next version. Until then, please let me know if you find any bugs, or think of ways to improve Gentle Wake Up.

Known Issues

  • Sadly, we’re coming out of the gate with known issues. Android users will not have the same experience with the Controller as iOS users. This is due to a bug in the Android app that is already fixed, but won’t be in production for a little while yet. In fact, I’ve had this version of Gentle Wake Up done for several weeks, but we decided not to publish it until the next Android version was released. However, the iOS app started crashing on the completion page of Gentle Wake Up so we decided some UX/UI bugs in Android were better than iOS crashing. I’m sorry for the inconvenience that will hopefully be short lived.

As always, feel free to call me out with bugs, questions, comments, or whatever. I love Gentle Wake Up and I hope you do too.

8 Likes