Update PlantMonitor_bp.yaml

This commit is contained in:
2025-11-08 21:53:56 -05:00
parent 2ba75fa309
commit e8feaf8b3c

View File

@@ -1,60 +1,74 @@
blueprint:
name: 💧 DWC Plant Tracker
name: 💧 DWC Plant Tracker (with Reset Button)
description: >
Track plants in Deep Water Culture (DWC) or soil setups.
Notifies you to change or add water every 7 days.
Tracks plant age and watering schedule.
Notifies if watering is overdue (7+ days)
and supports a manual reset button to log watering.
domain: automation
input:
plant_name:
name: Plant Name
description: Friendly name of your plant (e.g. "Lettuce 1").
description: The friendly name of your plant (e.g. "Hungarian Hot Wax 1").
default: "My Plant"
last_watered_helper:
name: Last Watered Helper
description: >
Select the Date/Time helper for when this plant was last watered.
planted_date_helper:
name: Planted Date Helper
description: Select the Date helper for when this plant was planted.
selector:
entity:
domain: input_datetime
last_watered_helper:
name: Last Watered Helper
description: Select the Date/Time helper for the plants last watering.
selector:
entity:
domain: input_datetime
notification_target:
name: Notification Target
description: >
Choose how to receive reminders (e.g. mobile app, persistent_notification, etc.)
description: Choose how to receive water-change reminders.
selector:
target:
# Trigger every day at midnight to check age
# Trigger daily at midnight
trigger:
- platform: time
at: "00:00:00"
variables:
plant_name: !input plant_name
planted_date_entity: !input planted_date_helper
last_watered_entity: !input last_watered_helper
# Conditions check if plant hasn't been watered in 7+ days
condition:
- condition: template
value_template: >
{% set last = states(last_watered_entity) %}
{% if last not in ['unknown', 'unavailable', None] %}
{{ ((as_timestamp(now()) - as_timestamp(last)) / 86400) | int >= 7 }}
{% else %}
false
{% endif %}
{% set watered = states(last_watered_entity) %}
{% if watered not in ['unknown', 'unavailable', None] %}
{{ ((as_timestamp(now()) - as_timestamp(watered)) / 86400) | int >= 7 }}
{% else %} false {% endif %}
action:
- variables:
days_since: >
{% set last = states(last_watered_entity) %}
{% if last not in ['unknown','unavailable',None] %}
{{ ((as_timestamp(now()) - as_timestamp(last)) / 86400) | int }}
days_since_water: >
{% set watered = states(last_watered_entity) %}
{% if watered not in ['unknown','unavailable',None] %}
{{ ((as_timestamp(now()) - as_timestamp(watered)) / 86400) | int }}
{% else %} 0 {% endif %}
age_days: >
{% set planted = states(planted_date_entity) %}
{% if planted not in ['unknown','unavailable',None] %}
{{ ((as_timestamp(now()) - as_timestamp(planted)) / 86400) | int }}
{% else %} 0 {% endif %}
- service: notify
target: !input notification_target
data:
title: "💧 DWC Water Change Reminder"
message: "{{ plant_name }} needs a water change! Its been {{ days_since }} days since last watering."
message: >
{{ plant_name }} was planted {{ age_days }} days ago
and its been {{ days_since_water }} days since last watering.
Time to refresh its water!
mode: single