RedditPP Mascot

RedditPP

r/tasker • … • u/Rich_D_sr

[Project Share] Tasker Timer for all your timer needs.

# TT Timer Engine & Builder (Java Edition)

[Tasker Timer II](https://taskernet.com/shares/?user=AS35m8lnbGhm%2F58jHvsiqVNumDAJZVkcfcE7gQxfcMjrFBCkp6sNKYf3YiK9WVWZBoDf&id=Project%3ATasker+Timer+II)

*** Requires Latest Tasker Beta ***

Original post - 6-13-26 Updated - 6-15-26

This is an updated version of my original Tasker Timer project which can be found here:

[Original Project](https://www.reddit.com/r/tasker/comments/sca9zy/project_share_a_multipurpose_timer_for_tasker/)

The new version uses **Java Code** instead of traditional Tasker actions and was developed primarily using the AI helper built into Tasker's Java Code action.

---

# Timer Capabilities

- Start a Task when a timer expires - Disable a Profile when a timer expires - Enable a Profile when a timer expires - Toggle a Profile when a timer expires - Destroy a Scene V2 when a timer expires - Replace long Wait actions - No practical limit to the number of active timers - Duration-based timers - Future date/time timers (Epoch expiration) - Timers survive device reboots - Approximately ±1 second accuracy - Timers can be modified while running - Timers can be paused and resumed - Timers can be queried at any time - Active timers can be listed and managed

---

# Included Tasks

This project includes three primary tasks:

### TT Timer Engine

The actual timer engine.

Receives JSON commands and manages all timer operations.

### TT Timer Builder

A menu-driven JSON generator.

Used to create timer commands without manually writing JSON.

### TT List All Active Timers

Displays all currently active timers.

Can copy any active timer's JSON to the clipboard for immediate use with the Builder's control-command mode.

---

# Quick Start Guide

### Create a New Timer

1. Run **TT Timer Builder** 2. Select:

```text Create Start Timer ```

3. Configure: - Duration or Future Time - Action Type - Target - Priority (if applicable) - Optional %par1 and %par2 values

4. Builder generates the JSON.

5. Open the **TT Saved Timers** task.

6. Clone the last Perform Task action.

7. Paste the generated JSON into `%par1`.

8. Copy the action into your own task.

9. Edit JSON if needed to replace any data with local task variables.

Using the **TT Saved Timers** task provides a preconfigured Perform Task action and allows you to retain a copy of the timer JSON.

---

# Core Design Philosophy

Most timer systems allow:

- Start timer - Stop timer - Maybe pause timer

TT Timer treats timers as programmable objects.

Examples:

- Start a timer - Add 30 minutes - Subtract 10 seconds - Pause - Resume - Query remaining time - List active timers - Cancel timer

All operations are performed by sending JSON commands to the engine with a Perform Task action.

The engine task returns various local variables to the parent to confirm operations using the Perform Task -> Return (local variable pass through)

---

# The Builder

Creating JSON manually becomes tedious very quickly.

TT Timer Builder provides a menu-driven interface that automatically generates valid commands.

The design goal was:

**Minimal typing on a mobile device.**

— 0