[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.**