[APP][Pro] Chronograph - Adds precise timer, stopwatch and transition functionality to Homey

Just FYI: as far as i know, this is not correct: @ralfvd plans to update to SDK3, but he has a lott of apps that need to be updated and he just needs time, like most dev’s. :wink:

@Peter_Kawa do you know (out of head) how this can be accomplished?

because i don’t see anything wrong (i assume @Twan_Veugelers that you only use one of the Then cards and not both at the same time?
The upper right cards should be just enough.
And i don’t see any reasons that it should stop, execpt: if you execute the Start time AND the Update time card, it might be that generates an error, depending on which fires first.

Hi @Arie_J_Godschalk .

When I ‘test from here’ on one of the When cards, and I have the Chronograph App config open (I see the timer nicely running), as soon as the flow hits the highlighted step, the whole timer is removed.

1 Like

Please Send me the TEF for this flow, so i can simulate it exactly how you made it (bugs are copied with the exchange file).

  • Install the Device Capabilities App
  • Goto App Settings
  • Click on Export
  • Select the mentioned flow
  • Press create Exchanger File

Now the TEF is under your clipboard/paste-function so you can reply it here.
Place it within a code block by using ```.

[TEF:FLOWS:H4sIAAAAAAACA7VW227bRhD9FWGfPcbeL3pL2+e8NGgfAsOYvUlsLFIgKbuGYaAf0S/sl3QoyUlkKw5rNIAASsvdmTkz55zVA8ts+cBERhQxFKi2ctDCIwSfOVhuYoqBe+7rtK9lS/YzDrj4rexW5ab0w+Kfv/5e/LRrxtKyC5bo/VDaoevZ4wXjNRihKEx1ToAOWoGPUkEwGFJ2VucoXon6e9e1n3BT+sWLyMZXqbT0oIquoH104IMqwI1AJ1SsNftXIv96g7g9G5pij9PB1G0uh+2nMlyOdGzV4+Z9Nza1STg2XTs8xf5wfLk4fUtR2pvLWm5uuru2jJdp3XdtRxu3689VfbU0ZUW2/PjAGnrjbHBOqghSJA86VkPYDEJSXiWU2WSVqOopyPsy4rjpFu/S2NwWWixsOfa7ssf0wLz0VXBE4CXRVKX24LMJ4ErMqDPPQrtp359syS/YPVtKenQUd91tyv0yl9smleUsblzsS98UHHZ9uR7LZlt6HKfvaY3tqmS2bywb+2a1Kj39oh5+ZKFI47iSoFMqoE2mCitNFLkORnFVlY/sitrjfURjnQSBnjaijRAjWsiYlXEpiSDrCRTBz2GZxcgfjkWikTogGOci6Goi+BQjpBCNk9VyqfwpFn8OyywN/GgsszYesBh+RDOxbMqJ7f1TPmOMz6VoQEV01wIrxKosYCa+Cy6FEHqfj5BZLYyGYDmJo2aaXbIZElZeealBqCdKi30iSqj0Sfs22CJBXQ73A/Xj2KG+DCP247vt9tgQTJOU2V6YDwxpnR4NmeXeGtqD8CYZkot8USJJmYoUxtuaY4JciwVtiW8xBQnFVacMZmuSeV6kPtUeJVx+z4MOlZNz5a/Xz9a/KcNAoGn9l7J4cg3KsbjDYXGLw0jm2G1Lu6BPMyzWZJRTOy7p/G4gWkymdQD64Q6nqFMnaCjOaCX3mLWpDotTYHXVRIToAbXzYEXIooSabdZHzN4eIfOXRJg135kdvmAxuFgTCuCiZtA8CAgKOXjUZKkJFXFyT6skdLCpeqhSKPJcIckpqwQsNqN3KXtRPk/sWL5/MbBvev5hUmNDF841MW23Kde38uygTun0xdins7Sup4G0zbhPu+uH/dVRDM8yoYcoyOF1IfGgJzWSqGo01gob1ImfaP620mvTNsP6W54xiwFXr+Kc0Mya2TPxGP02QMPYbf/DGKbyZjnVoTxrz15F85mya9umXR0LTF2bm2ON3Tg1fBZpqeFdnXYL8mbqYaW7RjvQLmiIpiJYVNHq6KNP4XvjuWD94Q/G3uRmxHsmGfFGzWD+YzeM/59mHh+vHv8FOlvxM/oKAAA=]

Hopefully this is correct.

Video on how the step removes the timer

1 Like

Yes it is in the topic somewhere.

It is not exactly similar, but I think the issue is Twan wants to extend a timer which is not running.
Timers don’t disappear from the app settings page though, only if you start an other timer with an equal name (it gets overwritten), or when it is not running.
So it is normal behaviour the timer disappears from the running timers overview.

Here in the thread is a script which shows all your ever started timers, stopwatches and transitions:

1 Like

Indeed it is, still loving this import!
This:

Got me this:

Altho i ofc didn’t have the telegram app installed, but after removing it, the flow runs.

@Emile Advanced Flows can surely be copied between devices, since i can copy them between users even :wink:
This works excellent for support, i don’t need to rebuild the flow (and possible fix the issue by creating it differently). You should have the support employee’s ask for TEF’s :wink: Easy way to find bugs that image do not show you, see below!

But back to the by you @Twan_Veugelers reported issue, you are right, i also get the same issue.
But that is because, you also have something else in the flow that you didn’t show in the picture:

You are stopping it yourself, because of a bug that the trigger is triggered when you adjust the time :wink:

The solution i’ll place in a different post, one sec.

BTW, Adjusting it by 4 hours means ADDING it to the current time. I think you actually simple want the Start Card, this one sets it to 4 hours exactly when you use it and the timer was already running.

Okay, i think this is a bug, but i would need to knwo from users:
Right now, when you adjust a timer/countdown/transition, it actually doesn’t work as i think it should: it sets the adjusted time plus the current duration: which makes it “finished”?
I find it weird.

But, I think you want to “reset” the active time to 4 hours again?

I don’t see currently how that can be done with a signle card, or you need to stop the timer first (straings):

This flow works:

[TEF:FLOWS:H4sIAAAAAAACA7VUy27bMBD8lYLnbME3Kd/a3vsDRRAsyaUtNJYMSU4bBP73rmSnaAK3Ffo4mZaWszuzM3oSRWyeRGwkFec91JgqWKMyNMYmkMpElYzLFNVc14mNeDe0JG5E5uO0o2HfjxNO4nQjqiwhFpmgibVhEFch+Vz4b26CVb4EwmeQ91g+456Gq0CmOJldNRBkSWAdKohVSjDGaJQhJmu/T/OevtC27bbjSN3YD29eAZ+fihOjTsuV+7eV7u/7Lx1Nb/Nu6Lt+O+Bh9wz34YdH8yUe+NOTaPlNttYkXzQYqwmsLg6SDRUaskjKm6ZIy01nkI/ERPb9m3d5ah9mrUhspuFIy0gsto5VSUSQlCUj2QixuAYCpYK2yKJsmOu+io28EY9io/mnZ9xdv6fHTaGHNtNm1cpultH3hONxoLuJ9gcacJrPeYfdlopYdBHT0G63i2gjExYNaRek0WBzZq6u8ITVVkBpG2ekqSYmccvyxJjQ+aBBYeRC9AlSQg8Fi3EhZ9Xo+oKKkte4rHLOf+ei0WnbILgQ2HXVJYg5JchNckFXL7WJL7nEa1xWmfd/c1lVeObi5IXN7LK5J3aPz/2cc7EQWUBTHViFvJdqPGBh+yuplVJ26ZeVbXyuEapWBmxSmi1dNSD5gjHkEhVd+inlzw1fqoeHw+an4TzLNbWc67uBxuOe7h70RSLkkPWdWKLKGebsX0vgfJefzwk9du20tD0O45LxVSzPw3t/1cbrhz92HX+sLqPnvivtZfp+mgVfpeMtV9e5WvFeI/JaY7YBbGgsJFcRPPKXyqaYOD5z9S+UYfrD+ePEp1V4r7ao/nCN49QfXm9w8Zwnl5PkBDqyiq3bKEAdAyjpskklcBR/S4q5rIK5cHH277j8a0ueTrenbxNM0GSZBwAA]

The new Buttons are in Test right now!

image

image

image

Please let me know how do feel/work and if all is okay with the buttons and devices!

Arie, about the ‘extend timer duration cards’,
The card description is using a reversed explanation.
(With timer cards I also mean the stopwatch and transition cards.)

It should read imho:
Use this card to adjust the duration of the timer with the provided name.
Positive value: shortens the duration;
Negative value: extends the duration.
Exmpl: adjust a running 5 minutes timer which has 60s left
with 50: remaining duration = 60 - 50=10s
with -50: remaining duration =60 - -50=110s

1 Like

Yes, i think this explains a lot :slight_smile:

I wish i could change this, but since it would break existing functionality, i’ll update the Hint.

I think this also goes for the transition cards, right?
Only the stopwatch is correct about the Hint.

If transition is also wrong in your eyes, i’ll change it Peter!

Wasn’t finished yet :wink::laughing:
Yes I meant to edit the card’s hint!
I expect the same goes for stopwatches and transitions, but I’d better test it 1st

Also, useful info:
One can’t extend the duration, when the new duration will be longer than the timer’s original duration
One can’t shorten the duration, when the new duration will be lower than zero.

Seems logical but it isn’t always clear what the limitations are.
These limits are also nice to have: imagine you extend a 15 sec oven or heater timer by accident with one day instead of 1 sec

1 Like

I’ll add this.

For stopwatches, it’s already correct (it extends the duration).
It seems this function was build for stopwatches and sub-supported for transitions and timers.

I’ll update the transition and timers.

1 Like

The updated card hints are in Test now.

1 Like

Hey Twan, I felt free to edit your flow so it works like you describe.
Note the use of “start and replace timer Netatmo”. This resets the timer to its programmed duration value (4 hours) again, when it was still running while a temperature trigger occured.
When the time’s up, and the Netatmo app has been restarted, the timer is started again.

Also, use exact the same timer name in your timer cards. Not “Netatmo” and “Netatmo Active”.

Maybe some day @Arie_J_Godschalk can create a dropdown with existing timer names to choose from.
But there’s a catch: a new timer must run at least one time to get ‘known’. So this idea might be impossible

[TEF:FLOWS:H4sIAAAAAAACA7VXTW/jNhD9K4ROLWA64jfl26IoigLtYlG0p91sMCSHsVBZCiQ5jhHsf+9IlrtOmgW8h16sD4rDefPePNLPRSo2z0XIlUFlgbuQHNfSRB5kStwKrHzORsUKpu/aYlN8aKAd2e9r9vMOe2gS+wDNrlgVkcYGbIeuL76sCpqjlPCCmzJWXIuYeTDKcFVFyFKIYKV/GfGPNful238jHELA7LTi0ilKMEnLvXLIjSzLHH0Ak+Q53G/7px2O2LN3cUuXV7Eo2Dh/2awzNk13aHFcx23ftd19Dw/bc5SfLl5Nkwj/x+eiphEIAMJ5xwFN4tpWkoNRmnsdrMqVwtIaWnQK8h5HGHcdZTLWj8geprTu/oYD0DgWm7Hf45zdc+Glz6IE4CXGkhjQnvtkKu4wJNCpTEK76bunYlOuimOxkZquHa2x7XZ43CR8rCNuriJyNcPYIQz7Hu9G3D0QkeN0H7fQ3mMq5hoVY1/f388FHAh8UaE0rlSS6xiRa5Moxawzh1JXRpUqKx+KWyqVn/iwTnIBnj4EG3gIYHmCpIyLUVQyv8Ci5FtYrpLQ/45FgpG6Am6cC1xnE7iPIfBYBeNktqVU/gUWXb6F5Sr9/t9YrvrwhMWUCzOTyqY1oT2e14tCVzZmz4kExXUQkqSaqQnQJvAuJi9wXg+csFoYzStbeqpdUryKNnGir8wl5kqos6atP61nX6p6By0Q0s1wHKgcS4F6HEbox3cPD0s9gLqra78vvbmhnwugIHSpyQWL2O3W7alhp/aFHX7tYLIAAiSMtzmFyFNGS52fSh4itT+67JSBZE00rwC5twG13VjnOsKU+LDgij3CiHeXQ68BzjmP+DSroCb/ZR8/LmrYbNCUSUbwPAhyD41AzHoi2hiTg7FW2EptNhOu21tWDyzXbT1sMa0YtImdrYoqMg0uRZ5GD9u6QdZ2LbIus3GL7OSlA3uEZo/sAANbBMoO9bitW6bZttv3w2yc2mQH6BS3OmtSXfActPNkSVUiV8rJJr0UTdtFBfa/qrtKTFdSNInzKpmc0hKyfNOnqFSbb24jJ05nku7mUt49yjfpfCW01TyHXmi63bf1OC93LuY1HL+wo1cNdXXKZ3G8bTlXcXr7NsAJhnWpimbaOLUBskMy+WBS5JUTKkZvvTXzuWQW2LQZw4Ab9qn9lQUYqDea5kiyo0MDNAc4DmwLtLuS8gZ26op+37Z1e79i+7bBYXghXkWCxvak3WnmV/Hmrj8rdz2dGrqGDgyb4jgXi148Le4+7b50OdRppONCu2+aVbHF+n47np+mklEf43R0SVqCBiM4ZBVpG6sS90j7sqdfLQMoI8Ul1u04Pgybmxuyo93E/3E9U7cm6m7GG/rlD33HL3jjkNJALzHWA/K5AHwYu4cDjJEG28THHtqhnkTH876d1QcNReZjx+fgN8JLoW9kJb+B29nvxh2lS0bRzqm8ogYznug1GXiOpBThAynFXeL+c2buUDcNu8eRLfbDiJM/fj4/hCPDR+yP7GJzXOib6CW7YItSLwm87xHbE45/W1l+BxJyntKRKrmiYxjXvhS8KulsVkWXMUAk6dpLJO/ydPpclDRbYrcfz4kNq1mFJ50uXTa8newpU6Ovz1T6Co0krRmPZA9CRA5gSy506YVzBoLRl5l+/vyZMfbXgAyfyJWoq2Z7p4ZdEpx6d02N98P7bmSfXp1nPxUTFiCuCCD9EQhIDLCOQvTLdLptf/yGpMTChLuaiS9fbr/8A80XkHSxDAAA]
2 Likes

No, that is not really needed, take a look at Advanced Triggers where it is also just read from the given/selected arguments.
If you have a flow and you save it, the apps gets a noticifation with the arguments you picked.
And in the dropdownlist that some arguments have; i can return your query/what-you-typed.

This is how Advanced Triggers works, i hope to add it to CountDown (if i may), and now it may look that BetterLogic is gonne get it too…

Stay tuned :stuck_out_tongue:

2 Likes

@Peter_Kawa , thank you, that did the trick.

2 Likes

There is just one other catch about this: i cannot just change a text-field-argument to a dropdownlist-argument. It will break current flows.
What i could do tho, is the exact same thing as Advanced Triggers: Show a optional dropdownlist AND a optional textfield. This would keep existing flows intact and also gives the options of a dropdown.

1 Like

Funny, i didn’t see that one, i was searching for it below the other one, but it’s on top… Silly me.

And thanks @Peter_Kawa :slight_smile:

1 Like

That’s a cool plan, Arie!

1 Like

Trying to start a stopwatch, then stop it and create a message “Jeroen came home after 1 hour and 20 minutes” but i see that there is no card available that has the stopwatch time is that correct?

1 Like