Update PlantMonitor_bp.yaml
This commit is contained in:
@@ -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 plant’s 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! It’s been {{ days_since }} days since last watering."
|
||||
message: >
|
||||
{{ plant_name }} was planted {{ age_days }} days ago
|
||||
and it’s been {{ days_since_water }} days since last watering.
|
||||
Time to refresh its water!
|
||||
|
||||
mode: single
|
||||
|
||||
Reference in New Issue
Block a user