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

**URL:** <https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214>\
**Category:** Apps\
**Tags:** app, official, tools, homey-pro\
**Created:** [September 17, 2019, 5:55am UTC](https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214 "2019-09-17T05:55:42Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [September 17, 2019, 5:55am UTC](https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214/1 "2019-09-17T05:55:42Z")

</div>

# Chronograph

Adds precise timer- and stopwatch functionality to Homey.

> **[Chronograph | Homey](https://homey.app/en-us/app/nl.fellownet.chronograph/Chronograph/)**
>
> Adds precise timer, stopwatch and transition functionality to Homey.

[https://github.com/fellownet/chronograph](https://github.com/fellownet/chronograph)

## Features

- Create timers and stopwatches directly from flow cards, no need for a prior configuration,
- Start timers with a duration in milliseconds (fractional seconds), seconds, minutes, hours or days,
- Start stopwatches without a predefined end time,
- Trigger flows at exact timer- or stopwatch durations with millisecond (fractional seconds) precision,
- Self-explanatory flow cards for easy integration of timers and stopwatches in your home automation.

## Old Readme file:

FEATURES

- Self-explanatory flow cards for easy integration of timers, stopwatches and transitions in your home automation,
- Create timers, stopwatches and transitions directly from flow cards, no need for a prior configuration,
- Start timers with a duration in milliseconds (fractional seconds), seconds, minutes, hours or days,
- Start stopwatches without a predefined end time,
- Start transitions to gradually change a device parameter over time,
- Trigger flows at exact timer- or stopwatch durations with millisecond (fractional seconds) precision,
- Pause and resume timers, stopwatches and transitions with action cards or from within settings,
- Support for random or computed durations or adjustments using simple math expressions,
- All timers, stopwatches and transitions are persistent across Homey restarts,
- Target multiple timers, stopwatches and transitions at once using wildcards in supported cards.

SIMPLE MATH EXPRESSIONS

The start, resume and adjust action cards have built-in support for simple math expressions. This allows for random or computed timer and stopwatch durations, including calculations based on token values.

For example:

```
ceil(99.5) / 5
pick(1, 3, 5, 9) * 2
random(10, 30)
abs(-10)

```

In addition to basic math expressions, the following functions are supported:

- abs(x) - calculate the absolute value of a number,
- ceil(x) - rounds a number up to the next whole number,
- floor(x) - rounds a number down to the previous whole number,
- round(x) - rounds a number towards the nearest whole number,
- random(min, max) - a random number larger or equal to min and smaller than max,
- min(x, y) - the lowest number from the supplied list,
- max(x, y) - the largest number from the supplied list,
- pick(x, y[, n]) - pick a random value from the supplied list.

HOMEYSCRIPT

In addition to the available flow cards, timers and stopwatches can also be controlled using [HomeyScript](https://homeyscript.homey.app).

For example, this script will stop all running timers:

```
let app = await Homey.apps.getApp({id:'nl.fellownet.chronograph'});
app.apiGet('/timers').then(result => {
	let timers = JSON.parse(result);
	timers.forEach(timer => {
		app.apiDelete('/timers/' + timer.id);
	});
});

```

- GET /timers - retrieve a list of all active timers,
- GET /timers/:id - retrieve a single timer,
- PUT /timers/:id - pause or resume a timer,
- DELETE /timers/:id - stops a timer.
- GET /stopwatches - retrieve a list of all active timers,
- GET /stopwatches/:id - retrieve a single timer,
- PUT /stopwatches/:id - pause or resume a timer,
- DELETE /stopwatches/:id - stops a timer.
- GET /transitions - retrieve a list of all active transitions,
- GET /transitions/:id - retrieve a single transition,
- PUT /transitions/:id - pause or resume a transition,
- DELETE /transitions/:id - stops a transition.

### Please report **issues** or **feature** requests at [Issues · Qluster-IT/nl.qluster-it.Chronograph](https://github.com/Qluster-IT/nl.qluster-it.Chronograph/issues).

### Apps:

> [@\[Profile\] Arie J. Godschalk](https://community.homey.app/t/profile-arie-j-godschalk/70663/2):
>
> Apps developed or maintained by me: [Advanced Triggers](https://community.homey.app/t/app-pro-advanced-triggers-trigger-and-action-cards-with-eventname-for-advanced-flows/65651) , [BeNext](https://community.homey.app/t/app-pro-benext-benext-devices-for-homey/76104) , [Better Logic](https://community.homey.app/t/app-pro-better-logic-just-some-better-logic-and-variable-management/5568) , [Chronograph](https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214) , [Device Capabilities](https://community.homey.app/t/app-pro-device-capabilities-enhance-the-capabilities-of-devices/43287) , [Advanced Virtual Device](https://community.homey.app/t/app-pro-advanced-virtual-device-device-capabilities-app-with-unique-text-status-indicator/68198) , [FTP Client](https://community.homey.app/t/app-pro-ftp-client/70876) , [Google Services](https://community.homey.app/t/google-services-app-for-translate-and-new-text-to-speech-for-any-device-with-url-input/43257) , [Homesh Controller](https://community.homey.app/t/app-pro-homesh-controller-homesh-satellite-connect-homey-pro-2023-to-homey-pro-for-led-speaker-zwave-satellite-and-network-resource/70369) , [Homesh Satellite](https://community.homey.app/t/app-pro-homesh-controller-homesh-satellite-connect-homey-pro-2023-to-homey-pro-for-led-speaker-zwave-satellite-and-network-resource/70369) , [JSON Handler and Manipulator](https://community.homey.app/t/app-pro-json-handler-and-manipulator/66317) , [LOQED](https://community.homey.app/t/app-pro-loqed-your-personal-doorman/89816) , [Music Url Converter](https://community.homey.app/t/music-url-converter-play-music-urls-on-homey-bigger-then-900-kb/43546) , [Reverse Proxy and DDNS](https://community.homey.app/t/app-pro-reverse-proxy-and-ddns/160862) , [Simple Log](https://community.homey.app/t/simple-log-app/146) , [Universal Media Player](https://community.homey.app/t/universal-media-player-a-generic-storages-place-for-your-homey-speakers-tvs-or-other-media-devices/43450) and [Virtual Devices](https://community.homey.app/t/app-pro-virtual-devices-virtual-devices-to-simulate-1-or-more-real-devices/1723) . [Goto profi…](https://community.homey.app/t/profile-arie-j-godschalk/70663)

### Donations or Sponsorship

> [@\[Profile\] Arie J. Godschalk](https://community.homey.app/t/profile-arie-j-godschalk/70663/3):
>
> Donations or Sponsorship. You can help with the development, maintenance and support for the Apps, by donating or becoming a sponsor. This would be much appreciated! The more donations i receive, the more time i can make free for development and support. slight_smileDonations can be done through: [[PP] PayPal](https://paypal.me/QlusterIT) Requires a PayPal account. [[GS] Github Sponsors](https://github.com/sponsors/XeroxQ) Allowes for CreditCard. Sponsorships can be done through: [[P] Patreon](https://www.patreon.com/QlusterIT/membership) Requires a Patreon account. [[GS] Github Sponsors](https://github.com/sponsors/XeroxQ) …

---

_[View the full topic](https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214)._
