Looking for a Virtual Device to set the time when an automation (Wakeup Alarm) must run (from the app)

I am looking for a solution which would allow anyone who uses the Hubitat app on their mobile, to set the time when a routine must be executed. I know nothing about programming, but I guess I'm looking for a virtual device that has a tile similar to a music player, but instead of the volume slider, it allows one to set a time to a variable, which can be used as the time when an automation should run.
For context:
I have a routine (webCore piston) to wake up the people and things in the house, i.e. a fancy alarm clock. It does things like turn on the water heater 2 hours before the alarm time; slowly over 10 minutes turn the lights to full brightness by alarm time and at alarm time, turn on music; TV's etc.
The alarm time has to be adjusted sometimes. Normally one would adjust the execution time of the routine, but that is difficult for people who are not familiar with webCore (or whatever rules engine you're using.) The goal is to set the alarm time using a device available in the app.
@RobinWinbourne assisted me to create such a device tile/dummy device in Smartthings, which I use to set the execution time from within the Smartthings App. The device allows you to set the time (variable) when the routine should be executed. In webCore, the execution time info from the device/app is used like this:

Is there an existing virtual device that can be used to accomplish this?

You could use a hub time variable and associated time tile template.

I would have to put more thought into this, but if you use Echos around your house, you could tell Alexa a particular start time. Using webcore or RM, you could update the "start time" variable with just a verbal command.

1 Like

Thank you for your input. This is the first I've heard of tile templates. Did some initial reading, but are those not for use with HE dashboards only? Will they show up under "Devices" in the app? (I don't get the concept behind the HE app yet. Don't understand why I have to create dashboards before devices show up. And by the way, I was wondering what the reason would be to give location settings a whole page and shortcut of its own - that seems to be something that should be hidden away under settings...)

That sounds promising. However, I would still prefer to be able to set a time in the app as well. For instance, One is at the office, and you realise that you'll have to get up earlier than usual the next morning to catch a flight. Being able to change the alarm time immediately in the app, would be the first price.

If you are using Android devices, then I suggest a look at Android Hubitat Dashboard. I am pretty sure this app could accommodate what you desire.

You are correct tile templates are for for use on the dashboards; dashboards give you the ability to customize the layout and devices/variables shown, as well as provide the ability to interact with them - both locally and through the cloud (if the hub has internet access). The devices tab in the app only shows switches and bulbs, and only if they have been assigned to a room IIRC - this tab is a fairly new artifact and has not been fully matured so some changes may be in store for it. The settings in the app are for application settings, whereas the location settings are by hub and may vary depending on your configuration.

1 Like

There is a Virtual Attribute set device type (don't remember if it's built in or community). You might be able to use two attributes for hours and minutes that webCoRE could read when it needs to.

I know there's also a Google Calendar community app. You could have webCoRE check the calendar every morning at 1am and set the time based on a calendar entry or run at a fixed time if there's nothing on the calendar.

My wife is working a hybrid schedule. I have a morning routine piston (hot water, check traffic) that runs based on a virtual switch. The switch is automated based on fixed days, but if her schedule changes (holiday, vacation, etc), we flip it manually on the dashboard to prevent or enable it.

Just some ideas. :slight_smile:

2 Likes

I've been unable to find the virtual device you have in mind, but while looking, I came across Date parse driver, aka schedule your garbage cans and Holiday Switcher, which may interest you.

Hm, I can't find the Virtual Attribute either. It was made by @nh.schottfam in 2020. I use it to display all sorts of non-device stuff on my dashboard, but I don't think there's any reason you can't use it for this.

This is what I created

https://gist.githubusercontent.com/imnotbob/0990cf11097ebdcf9dcdc7418601e640/raw/3e80a86b7a8d16aa1f1d2e1e6519277c2496bf36/vattr.groovy

1 Like

Thank you for the link.

I created a device using your device driver, but I doesn't show up in the app. Is it possible to tweak your device so that it would show up in the mobile app?

I'm not sure what you mean by does not show up in mobile device.

It is a device handler with custom attributes. to get in into a dashboard you have to create a dashboard tile the uses that device/attribute for display.

Sorry, I refer to the device list in the app. I would prefer that the device shows up in that list.

If you add a new device to your HE system you need to add it to webcore via
HE console -> apps -> webcore

It is likely to be under actuators to add it to webcore and next/done your way out of webcore.

Download the Hubitat app