Files
HASS_Plant_Monitor/PlantMonitor_bp.yaml
2025-11-08 21:53:56 -05:00

75 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
blueprint:
name: 💧 DWC Plant Tracker (with Reset Button)
description: >
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: The friendly name of your plant (e.g. "Hungarian Hot Wax 1").
default: "My Plant"
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 water-change reminders.
selector:
target:
# 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
condition:
- condition: template
value_template: >
{% 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_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 }} was planted {{ age_days }} days ago
and its been {{ days_since_water }} days since last watering.
Time to refresh its water!
mode: single