Smart Alarm Clock?

Cool, thanks!! Will take a look when I get a moment later this evening.

Imported the webcore and your updated Shortcut just dandy — thanks :smiley:

Sorry for my denseness (noob alert!), but how do I point the piston to my morning routine? (Actually, in my case, it's a Mode that I want to trigger at wake-up time.)

In the piston there are three times setup. I think the third, “every day at” is every day at alarmDigits. This is your alarm time from iOS. In that Block you add a statement, which will be an action. I think modes are natively supported, but you can add all your devices to webcore on the app page also. Once you make an action, you leave the drop down at location and press next. One of the possible options is to trigger a mode.

I also forgot to add on a bit to clear the variable. But you’re able to get your alarm into webcore?

For Modes: I'm following (I think), but it seems like I first need to choose a device (in the with line I don't see the option to trigger a Mode.) Do I just use device $device?

For specific devices: let's go with this workaround for now, as this seems pretty idiot-proof.

Sadly, no: I don't see any variables being set in webCoRE. The webCoRE logs say Setting up scheduled job for Wed, Oct 14 2020 @ 9:49:27 PM PDT (in 86399s), with 2 more jobs pending. What job is it planning to run 24 hours from now? :man_shrugging:

Hopefully you can see these screenshots of my current config:

Oh ya, this'll be the cherry on top, once we get it working!

I’m not sure what job it is setting up. I think that may just be when you created the piston, and the pending jobs are the three daily events, even without times.

You haven’t run the shortcut yet? If you have, that piston has not received the request. You may need to double check your URL on shortcuts.

But under the third branch, you add a statement, select action, leave it on Location, and confirm that selection. Then you find an option on the next screen which corresponds to mode.

Yeah I've tried running the Shortcut many times... but even when I do, the local variables don't change/set.

Location is greyed out and not selectable for me.

Also: I just realized (and fixed) one potential issue: the Siri Shortcuts variable is called alarmTime, whereas that doesn't appear in the webCoRE piston. Changed alarmDigits to alarmTime accordingly, although that didn't resolve the problem.

FYI: I've also started a new post on the webCoRE forums to cast a wider net.

PS: To make these multiple Q&A easier to parse, can I recommend we use the highlight → Quote feature? It's much easier for me (and others) to follow which piece is in response to what that way.

i responded there. There is no issue with the work I did. You have all the pieces now and instructions, and I have my own projects.

Apologies if I offended... I’m super grateful for all your help all along the way!

I’m new at this so my questions might be more basic than others’, so I’m sorry about that.

So I have been looking into this and apparently Alexa has had this for over a year now but just was terrible at marketing it, in fact you literally can't even use this feature from the app, it is only available via voice, but then can be modified in the app.

The feature is called wake-up lighting, groundbreaking I know, but basically you tell her to set an alarm, daily, one-time whatever, and then say with [light name] or just say with lights if you want all lights that are in the same group as the echo device you are speaking to. It then gradually turns the lights on when the alarm starts. Then you can make a routine that handles when it gets dismissed.

Alexa documentation:

How it appears in app:

Also cool but tangential to the smart alarm clock idea:

Yeah there are several ways to get alarm lighting at the time of the alarm. My struggle had been getting a PRE alarm option. I find it wakes me up more smoothly if the lights have already faded to optimal brightness at the time my alarm is set for.

How far in advance are you talking? When I did a little testing with the feature the lights seemed to come on about 10-20 seconds before the alarm went off, but again I did not do any sort of extensive testing and my dimmers are notorious for having large input latency when at the extremely low brightness levels.

15 minutes

I'm trying to create a dashboard tile where you can enter the desired time (trigger), so it acts as an wake-up alarm in the morning (action: start sonos & lights on).

But I can't get it to work, here's what I've done:

Add Virtual Device

Name: VirtualTimer
Type: RM Connector Variable
Set Variable:

Add Dashboard Tile

Device: VirtualTimer
Template: Variable time

So far, this works. When I enter a time in the dashboard I can see the Current State of the device change. But how do I link it to RM? I don't quite understand how to connect the RM Local Variable with the Virtual Switch:

Nevermind. I thought I had to make a Virtual Device, but when making a Connector it makes an Virtual Device by itself (don't forget to add that device to your dashboard devices).

The app "Sleep Cycle" has an integration to Philips Hue lights that lets you dim up lights when the "wake up window" starts (before the alarm goes off). I then use that status change to trigger other Hubitat events (roll up blinds etc)

I made something custom with tasker / android.

Works ace. I'll share when I get the chance.

2 Likes

I just started looking at this again, so any successful experience would be greatly appreciated. Our schedule is steady 95% of the time. 5% wrong is fine for SmartThings, but this is HE darn it!

First up, apologies, this is rough as hell. It works to perfection though, although I'm positive this could be made more 'user friendly' in terms of setup.

Basically, you need an app called TurboAlarm for android, and tasker. I also use webcore. Turboalarm is amazing, and nothing else works. I've tried loads of approaches, and they're all horrible. This is utterly customisable,

There's a task called INITIAL VARIABLE SETUP - this is because I wanted an easy way to be able to work on updated versions of this, and then later add this to the wife's phone without needing to mess about altering variables. I also love variables, because they allow me to make changes without needing to make multiple edits.

Run this, it asks you to 'Select a user'. The options are 'Daz' or 'Liz', because we want different things to happen depending on whether it's myself or the wife setting a wakeup alarm.

There is also a part of this which includes the cloud URL's of the 2 distinct webcore pistons, one of which concerns myself, the other is liz. These obviously need altering by hand to your own. Depending on the user, this defines the tasker variable CloudURL.

i.e.

&

Anyhoo...
.
.
.
.
.
.

That 'main alarm' task is the part which I have a shortcut for on my homescreen. This allows you so set the alarm time through a standard android interface, but also has a couple of common pre-sets:

As for the webcore bits, I have a piston called ** alarm_daz_settimes**, which the tasker script calls in order to set 5 different stages of alarm times for me

  • wakeup
  • just woke up (wakeup + 1 min)
  • pre wakeup (wakeup - 2 mins)
  • almost wakeup (wakeup - 1 mins)
  • post wakeup (wakeup + 2 mins)

This includes a few helpful devices (for me, anyway). Non-anonimous makes it easier to see:

image

There's finally another script which is pretty simple, which is the main layout for what happens when

i.e.

I warned you it wasn't the prettiest. I also have some logic in there which runs local instead of cloud where possible, but that's easy to ignore for the sake of simplicity. Here's the tasker project

https://taskernet.com/shares/?user=AS35m8ksLyUYF%2BnHWHxPfBB8QxIVy8TTjiykVRuSfENALEJnhB8DjKkg87deDfiEv%2Fho&id=Project%3ATurboalarm

I've obviously edited out the urls to my alarm stuff.

1 Like

I use the built in "Alarm Clock" event with tasker. This picks up on the built in alarm clock on the phone.

When I clear or snooze the alarm on my phone, I run conditional statements to determine if the alarm has been dismissed (based on minutes to the next alarm).

If snoozed, the routine cancels out. If cleared, it flips a virtual button in HE that I monitor and have my HE routines set up for.

My wife and I each have different virtual switches and routines. This way, all we have to do is set our alarms on our phone and everything else just works.
Screenshots below

EventSetup


Task - Several steps for troubleshooting inactivated.

Step one was a 20 second wait to give you time to snooze or cancel the alarm. The Alarm Clock event fires whenever the alarm sounds. Not when you click the button. So, you need to set the time to a reasonable time frame for you to hit the snooze or cancel.

Step 2 is inactivated for troubleshooting

Step 3 was "Test Next Alarm" which just polls the phone to get the next alarm data. This runs after the wait and reads in the data for the next alarm set on your phone's system.

Step 4 reads the next alarm data just polled and puts the minutes until into a variable I created

Step 5 reads the next alarm time (military time) and stores it in a variable I created - This one isn't necessary really

Steps 6 & 7 test for the type of alarm. If it is set by the clock app, my boolean variable is set to true. Otherwise, it is false. Any app that schedules alerts will show as the next alarm.


Steps 8, 9, and 10 were just ones I created for troubleshooting

Step 11 tests for snooze by verifying the next alarm is more than XX minutes. I use 15. This seems to work well. If the alarm is > than 15 minutes, then I have it run the http get request to maker API to turn on the virtual switch. I also have a variable for geolocation where Tasker knows if I am home. I also use that to prevent it from running the get request when I am not in the house. This way, I can have an alarm when I travel without waking up the wife.

Variables

Once the virtual switch is flipped, I handle the rest in HE.

For instance, my routine immediately turns the switch back off, then turns on the lights in the kitchen by the coffee pot, and then inflates my side of the sleep number bed to 100.

My Wife's immediately turns off her virtual switch, then gives her a morning greeting with the weather, and then inflates her side of the bed to 100.

1 Like