Time Off integrates custom entities into the Controls panel of your selected devices, allowing you to manage countdowns directly from the device page without writing a single line of YAML. Similar in concept to “inching” but more powerful, and can be added to most devices.
In common Home Assistant setups, creating a simple auto-off timer might require:
- Creating a Timer Helper
- Writing an Automation to start the timer helper when the device turns on
- Writing a Second Automation to turn the device off when the timer finishes
You can end up with a timer named something like timer.fan_1 that lives in a separate menu from the fan itself, making it easy to forget what it’s for or how it was linked.
Time Off changes the workflow:
- The timer and its related controls and sensors all live inside the device itself.
- You don’t have to manage a separate list of entities. Everything is created and named automatically based on the device it’s controlling.
- No YAML or automations required. Just add the integration to your device and you’re done.
Unlike “inching”, which is built into the hardware of some switches, Time Off gives you direct access to the timer trigger. So you can, for example, first ensure the humidity has gone down before turning off the fan. If humidity is still high, the timer auto-restarts and you can check again, until eventually turning off the fan. Once the fan is turned off, by whatever means, the timer stops as well.
Or if you just need a light that goes on for 2 minutes then turns off, just enter 2 in the Off After field on your device’s Controls panel and you’re done. No coding required.
Time Off lets you access the timer via YAML scripts allowing you to view the time remaining, trigger an automation when the timer expires, or change the timer duration and other functionality on the fly. Full details on the Github page.
You can install this via HACS using a custom repository. Details on the Github page above.
I hope you all enjoy this integration. Looking forward to any feedback.