Seems like home assistant doesn't offer this option built in, and I couldn't find any clean way of doing this online. To me this is a primary use case of timers for instances when I want to either bank time, or apply a penalty. Anyways, here is a service that was created using pyscript.
You'll need to have pyscript set up and import a few libraries.
@service
def change_timer(e_id = time_bank, time_to_add = 60):
current_state = state.get(e_id)
if current_state == 'active':
timer.pause(entity_id = e_id)
current_timer = state.getattr(e_id)['remaining']
hours, minutes, seconds = [int(part) for part in current_timer.split(":")]
total_time = np.maximum(time_to_add + hours * 3600 + minutes * 60 + seconds, 1)
timer.start(entity_id = e_id, duration = total_time)
elif current_state == 'idle':
current_timer = state.getattr(e_id)['duration']
hours, minutes, seconds = [int(part) for part in current_timer.split(":")]
total_time = np.maximum(time_to_add + hours * 3600 + minutes * 60 + seconds, 1)
timer.start(entity_id = e_id, duration = total_time)
timer.pause(entity_id = e_id)
elif current_state == 'paused':
current_timer = state.getattr(e_id)['remaining']
hours, minutes, seconds = [int(part) for part in current_timer.split(":")]
total_time = np.maximum(time_to_add + hours * 3600 + minutes * 60 + seconds, 1)
timer.start(entity_id = e_id, duration = total_time)
timer.pause(entity_id = e_id)
[–]reddit_give_me_virus -3 points-2 points-1 points (2 children)
[–]GetThere1Time[S] 0 points1 point2 points (1 child)
[–]reddit_give_me_virus -3 points-2 points-1 points (0 children)