Skip to content

Instantly share code, notes, and snippets.

@jfisbein
Last active January 23, 2026 14:22
Show Gist options
  • Select an option

  • Save jfisbein/3278b0ac8b1e713051bb0714ded2aff3 to your computer and use it in GitHub Desktop.

Select an option

Save jfisbein/3278b0ac8b1e713051bb0714ded2aff3 to your computer and use it in GitHub Desktop.
blueprint:
name: Low moisture level detection & daily notification (plants)
description: >
Checks all plant entities once per day and triggers actions
if one or more plants have low moisture.
domain: automation
input:
time:
name: Time to check
default: "10:00:00"
selector:
time: {}
day:
name: Weekday
description: 0 = every day, 1 = Monday ... 7 = Sunday
default: 0
selector:
number:
min: 0
max: 7
step: 1
mode: slider
exclude:
name: Excluded plant entities
default:
entity_id: []
selector:
target:
entity:
domain: plant
actions:
name: Actions to run
description: "Use {{ plants }} for plant names and {{ count }} for total number."
selector:
action: {}
variables:
weekday: !input day
excluded: !input exclude
low_plants: >-
{% set data = namespace(result = []) %}
{% for p in states.plant %}
{% if p.attributes.moisture_status == 'Low'
and p.entity_id not in excluded.entity_id %}
{% set data.result = data.result + [p.name] %}
{% endif %}
{% endfor %}
{{ data.result }}
plants: "{{ low_plants | join(', ') }}"
count: "{{ low_plants | count }}"
trigger:
- platform: time
at: !input time
condition:
- condition: template
value_template: "{{ count | int > 0 }}"
- condition: template
value_template: "{{ weekday | int == 0 or weekday | int == now().isoweekday() }}"
action:
- choose: []
default: !input actions
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment