I will then create a number of automations based on that blueprint that should operate independently (e.g. operate on different entities and different timer duration values, passed as inputs to the blueprint).
Is it possible to have the blueprint declare the timer inside the blueprint, i.e. not have to separately declare them in configuration.yaml and only manipulate them from inside the blueprint?
I believe you can have instance-specific local variables declared only inside the blueprint, but can you have instance-specific timers (without declaring one for each automation based on the blueprint)?
AFAIK an automation cannot create timers by itself. But if your blueprint uses an entity selector with domain timer, the dropdown menu will at the very bottom have an option for the user to create a new timer without leaving the blueprint setup screen.
input:
timer_entity:
name: Automation Timer
description: Select or create a new timer for this automation.
selector:
entity:
filter:
domain: timer
Or just use a delay, wait_for_trigger, wait_template or similar in the automation…
Thanks - that’s helpful. I’ll try that ‘create the timer at the time of creating the automation’ approach. Does this created timer then appear in any yaml file that might need tidying up if I delete the automation, or ?
Just like all helpers created through the UI, it does not live in configuration.yaml but somewhere in the hidden /config/.storage/ folder. If the automation is deleted the timer will remain but can be deleted through the UI, under Settings > Devices & services > Helpers.