[APP][Pro] Timey - Make your time flows dynamic with variables

Timey

Use text variables in time flow cards with a 24-hour format: ‘H:mm’, ‘H.decimal’ or ‘H’

00:00 is the earliest, 23:59 is the latest.

Current version

Why a own app for time flow cards?

I wanted to set the time in one place and have it reflect in all my flows. The built in time flow cards does not support to set the time through variables, and the alarms did not have all the flow cards I needed. So I made a app which behaves like the built in time flow cards, just with the option to set the time with text variables. Maybe you’ll find it useful too?

Tip: Add the time to the variable name to make it more readable in the flows.
variable-name
flow-with-variable

You can of course also use a normal text input directly as a timestamp.
flow-with-text


Formats

Three formats are accepted

H:mm

  • Hours and minutes separated by colon :
  • Optional leading zero for hours
  • Requires two numbers after separator

H.decimal

  • Hours and decimal separated by period .
  • Optional leading zero for hours
  • Optional amount of numbers after separator

H

  • Only accepts whole numbers between 0-23

Valid Invalid
09:30 09:3
9:30 9:3
09.50 24:00
9.50 24.0
09.5 24
9

Changelog :spiral_notepad:

1.3.0

  • Added support for BetterLogicLibrary

1.2.0

  • Added support for ‘H’ format

1.1.1

  • Bugfixes

1.1.0

  • Added support for ‘H.decimal’ format

1.0.1

  • Updated description

1.0.0

  • Initial release

Issues and bugs :bug:

Bugs should be reported here

Donations :moneybag:

If you like this app, please consider donating through paypal

6 Likes

Cool, did have a need for this already a couple of times, so interested to see it approved and hopefully useful in my cases

there is no flow cart to set a tag to a alarm, could this do the job?

with the shortcut app from apple I set a alarm on my phone and set a tag within a webhook to homey 15 minutes before the alarm goes off. so I set alarm to 07:00 the webhook will send 06:45. with this tag I want to set the alarm in homey, and with this alarm I start al wakeup flow.

only the thing is. there is no flow card with set alarm to (tag).

You’ll get the option to use a flow trigger with “The time is” which could use your variable from the webhook, as long as it’s in the format HH:mm. Then that trigger will be executed at the time set to the variable. So if I understand you correct, this could solve that, yes :slight_smile:

Aah i think you understand me correct😁 will try this when it can. Thank you!

@Robin_De_Lange @Patrick_Van_Deursen

It’s now live. Link to app in App store can now be found in the first post :slight_smile:

1 Like

@kjeet90 it works, thank you very much!

1 Like

This works like a charm!! have added links in different discussions already, as this was a recurring feature request from others as well!

Question, does this work with BLL:

Within all flowcards that supports BLL coding, you can add any BLL expression within the next codeblock: {[ expression ]} .

There are currently no support for this, but it is something I could look into adding. Do you have some usecase examples, as I’m not very familiar with the use of BLL.

@kjeet90 , thanks for the reply.

My usecase is that I want to have the radiators turn on at a specific time, which I calculate based on the current temperature, the to be achieved temperature, the heating speed and the time it needs to be warm. Based on those variables, I want the heater to start at a specific moment.

I would used BLL for that to calculate and then use that tag in the rest of the flow. However, as for this one, I start the flow with timey, there is no way to have BLL first do the calculations, so would need to embed that in the time variable of Timey.

Is that clear?

I won’t be able to do anything about it until next week at earliest :face_with_diagonal_mouth: But I will take a look into it if it’s something that I should add

Possible workaround?: Do the calculations with BLL and write the result to a normal string variable and use that variable in the trigger card of Timey?

Yes indeed possible, and will take that route otherwise.

thanks for looking into it, no rush though!

@kjeet90 , This app is very good, thanks for developing! I had a post a time a go " How to start a flow at a spesific time stored in variabel, with built in functions (Solution - Check every 60 minutes or use the app "Timey") " , and your app can do actually what I was searching for, a way to start a flow at a given time from a variabel. Thanks again, much appreciated!

2 Likes

Hi @kjeet90 ,

I have a little challenge. I use a calculation to set the HH and MM for timey. however, if I do the calculation and it ends up being 5 min (as in 5 min past 9 f.i) Timey errors out, as it needs HH:MM. if it get 8:5 (5 minutes past 8) it doesnt work (neither for the 8 nor the 5… they both need the leading 0). Anything you can do in that case?

Or maybe different/better/easier for me, could we also get it to work with just decimal numbers, i.e. f.i. 9.752346 would be 09:45

It’s only required with a leading zero on the minute part, you can actually do 9:50. The minutes part will continue to require leading zero because I don’t know if the user wants 9:5 to be 9:05 or 9:50.

The 9.752346 format is something I could look into adding :thinking:

1 Like

Understand that 05 or 5 or 50 would indeed be confusing. in the decimal version that would solve itself, as 9.5 would clearly be 09:30

Would really help remove a number of calculations on my part (with removing the need of adding the leading 0 when needed), so :crossed_fingers:t2::crossed_fingers:t2:. The point is that you can immediately use the result from a calculation and would not need to add a step in formatting. would make timey more universally useable. Now I need to do:


And this also does not work, due to the leading 0. I thus need to check if the mm part is lower than 10, and then in a text box add a 0 to that number, make that a text (as in a number string, the leading 0 gets dropped again), and then add it to Timey…

and indeed the leading 0 is only needed on the MM part not the HH

@Patrick_Van_Deursen , as you are calculating time, why would it help that you have to convert .5 to .30, besides adding a leading 0? As times must be given with 05 and 50. There must be something i misunderstand.

I need to convert my decimal calculation to a hh:mm standard. I thus need to extract the decimals, convert those to minutes, check that there is not a need to add a leading zero. And then pass that together with the house to timely in a hh:mm format

Unless I am doing something overleg complex

Why not immediately take the result (in decimals) is what my question is here.

1 Like

I do understand the question. If the app can calculate from decimals, then you do not need to do it. The usecase is clear, thank you :slight_smile:

1 Like

@Patrick_Van_Deursen I’ve published a test version with decimal support. Can you check if this works for you?

3 Likes