Hi,
I need a time pattern in a blueprint. I want to ask the user for a number and want to construct the pattern by adding the '/' character needed.
Problem is the string concatenation sysntax, if there is any.
Thanks for helping out.
Hi,
I need a time pattern in a blueprint. I want to ask the user for a number and want to construct the pattern by adding the '/' character needed.
Problem is the string concatenation sysntax, if there is any.
Thanks for helping out.
Please explain more. You cannot template time pattern triggers.
Here the fixed value in my BP
triggers:
- trigger: time_pattern
minutes: /5
I want to give the user of the BP the chance to enter a number between 1 and 59 and want to replace the hard coded '5' with that input.
That's not possible in a single trigger. Your only option is to place the input into trigger_variables, then have 59 triggers, one with each time pattern. Then use the enabled field with a template to disable all the patterns that don't match the input one.
blueprint:
input:
input_number:
name: Number
selector:
number:
min: 1
max: 59
trigger_variables:
_enable_number: !input input_number
triggers:
- trigger: time_pattern
minutes: /1
enabled: "{{ _enable_number == 1 }}"
- trigger: time_pattern
minutes: /2
enabled: "{{ _enable_number == 2 }}"
- trigger: time_pattern
minutes: /3
enabled: "{{ _enable_number == 3 }}"
- trigger: time_pattern
minutes: /4
enabled: "{{ _enable_number == 4 }}"
- trigger: time_pattern
minutes: /5
enabled: "{{ _enable_number == 5 }}"
- trigger: time_pattern
minutes: /6
enabled: "{{ _enable_number == 6 }}"
- trigger: time_pattern
minutes: /7
enabled: "{{ _enable_number == 7 }}"
- trigger: time_pattern
minutes: /8
enabled: "{{ _enable_number == 8 }}"
- trigger: time_pattern
minutes: /9
enabled: "{{ _enable_number == 9 }}"
- trigger: time_pattern
minutes: /10
enabled: "{{ _enable_number == 10 }}"
- trigger: time_pattern
minutes: /11
enabled: "{{ _enable_number == 11 }}"
- trigger: time_pattern
minutes: /12
enabled: "{{ _enable_number == 12 }}"
- trigger: time_pattern
minutes: /13
enabled: "{{ _enable_number == 13 }}"
- trigger: time_pattern
minutes: /14
enabled: "{{ _enable_number == 14 }}"
- trigger: time_pattern
minutes: /15
enabled: "{{ _enable_number == 15 }}"
- trigger: time_pattern
minutes: /16
enabled: "{{ _enable_number == 16 }}"
- trigger: time_pattern
minutes: /17
enabled: "{{ _enable_number == 17 }}"
- trigger: time_pattern
minutes: /18
enabled: "{{ _enable_number == 18 }}"
- trigger: time_pattern
minutes: /19
enabled: "{{ _enable_number == 19 }}"
- trigger: time_pattern
minutes: /20
enabled: "{{ _enable_number == 20 }}"
- trigger: time_pattern
minutes: /21
enabled: "{{ _enable_number == 21 }}"
- trigger: time_pattern
minutes: /22
enabled: "{{ _enable_number == 22 }}"
- trigger: time_pattern
minutes: /23
enabled: "{{ _enable_number == 23 }}"
- trigger: time_pattern
minutes: /24
enabled: "{{ _enable_number == 24 }}"
- trigger: time_pattern
minutes: /25
enabled: "{{ _enable_number == 25 }}"
- trigger: time_pattern
minutes: /26
enabled: "{{ _enable_number == 26 }}"
- trigger: time_pattern
minutes: /27
enabled: "{{ _enable_number == 27 }}"
- trigger: time_pattern
minutes: /28
enabled: "{{ _enable_number == 28 }}"
- trigger: time_pattern
minutes: /29
enabled: "{{ _enable_number == 29 }}"
- trigger: time_pattern
minutes: /30
enabled: "{{ _enable_number == 30 }}"
- trigger: time_pattern
minutes: /31
enabled: "{{ _enable_number == 31 }}"
- trigger: time_pattern
minutes: /32
enabled: "{{ _enable_number == 32 }}"
- trigger: time_pattern
minutes: /33
enabled: "{{ _enable_number == 33 }}"
- trigger: time_pattern
minutes: /34
enabled: "{{ _enable_number == 34 }}"
- trigger: time_pattern
minutes: /35
enabled: "{{ _enable_number == 35 }}"
- trigger: time_pattern
minutes: /36
enabled: "{{ _enable_number == 36 }}"
- trigger: time_pattern
minutes: /37
enabled: "{{ _enable_number == 37 }}"
- trigger: time_pattern
minutes: /38
enabled: "{{ _enable_number == 38 }}"
- trigger: time_pattern
minutes: /39
enabled: "{{ _enable_number == 39 }}"
- trigger: time_pattern
minutes: /40
enabled: "{{ _enable_number == 40 }}"
- trigger: time_pattern
minutes: /41
enabled: "{{ _enable_number == 41 }}"
- trigger: time_pattern
minutes: /42
enabled: "{{ _enable_number == 42 }}"
- trigger: time_pattern
minutes: /43
enabled: "{{ _enable_number == 43 }}"
- trigger: time_pattern
minutes: /44
enabled: "{{ _enable_number == 44 }}"
- trigger: time_pattern
minutes: /45
enabled: "{{ _enable_number == 45 }}"
- trigger: time_pattern
minutes: /46
enabled: "{{ _enable_number == 46 }}"
- trigger: time_pattern
minutes: /47
enabled: "{{ _enable_number == 47 }}"
- trigger: time_pattern
minutes: /48
enabled: "{{ _enable_number == 48 }}"
- trigger: time_pattern
minutes: /49
enabled: "{{ _enable_number == 49 }}"
- trigger: time_pattern
minutes: /50
enabled: "{{ _enable_number == 50 }}"
- trigger: time_pattern
minutes: /51
enabled: "{{ _enable_number == 51 }}"
- trigger: time_pattern
minutes: /52
enabled: "{{ _enable_number == 52 }}"
- trigger: time_pattern
minutes: /53
enabled: "{{ _enable_number == 53 }}"
- trigger: time_pattern
minutes: /54
enabled: "{{ _enable_number == 54 }}"
- trigger: time_pattern
minutes: /55
enabled: "{{ _enable_number == 55 }}"
- trigger: time_pattern
minutes: /56
enabled: "{{ _enable_number == 56 }}"
- trigger: time_pattern
minutes: /57
enabled: "{{ _enable_number == 57 }}"
- trigger: time_pattern
minutes: /58
enabled: "{{ _enable_number == 58 }}"
- trigger: time_pattern
minutes: /59
enabled: "{{ _enable_number == 59 }}"
Oh my god ..... ok, we will trigger eeach 5 minutes .... thanks a lot.
Maybe this is a subject for enhancement!!
You could just use a Trigger Selector... then they can use any trigger they want instead of being locked into a pre-set Time Pattern trigger.
Or, you should be able to get something similar to Time Pattern (but with a more limited resolution) by using a Template trigger with modulo:
blueprint:
input:
minutes:
name: Minutes
selector:
number:
min: 1
max: 59
trigger_variables:
minutes_val: !input minutes
triggers:
- trigger: template
value_template: "{{ now().minute % minutes_val == 0 }}"
Ahh, ok, will try. Thanks for pointing this out here.
Sorry, get error doing so:
blueprint:
name: Velux Gateway Watchdog
description: Power cycle the Velux gateway if some devices went offline
domain: automation
input:
my_trigger:
name: Trigger
description: Trigger to run the job
selector:
trigger:
velux_devices:
name: Velux Devices
description: Velux devices to monitor
selector:
entity:
filter:
domain: cover
multiple: true
gateway_power:
name: Velux Gateway Power Switch
description: So reestablish connection
selector:
entity:
multiple: false
filter:
domain: switch
mail_subject:
name: Mail Subject
description: Subject string used to form the mail to be sent
default: "Alert"
mode: single
variables:
devices_to_check: !input velux_devices
triggers:
- trigger: !input my_trigger
ohhhhhhh, not 'trigger' I have to use 'triggers', as the input selector is fixed to 'multiple: true' .. not very consistent, sorry to say this here ...
I was able to save the automation based on this BP so I guess, it will work ...
Edit: Yessssssssssss, triggeered as expected.
This 's' is very important, guys: