Examples¶
Copy-paste starting points. Replace entity IDs with the ones on your TendrilGrow device. Prefixes below assume a grow space named 4x4 Flower.
Find the config entry ID under Settings → Devices & Services → TendrilGrow → the entry (in the URL, or the visual action picker).
configuration.yaml — timelapse allow-list¶
Restart after changing this file. See Installation.
Lovelace — Cultivation Plan¶
type: entities
title: Cultivation Plan
entities:
- text.4x4_flower_strain_genetics
- select.4x4_flower_growth_stage
- date.4x4_flower_stage_started
- sensor.4x4_flower_week_in_stage
- select.4x4_flower_water_type
- number.4x4_flower_sites_plants
- number.4x4_flower_total_system_volume
- number.4x4_flower_target_ph
- number.4x4_flower_target_ec
- number.4x4_flower_feed_interval
- number.4x4_flower_lights_on
- text.4x4_flower_nutrient_line
- text.4x4_flower_base_nutrients
- text.4x4_flower_additives
Lovelace — AI report and feeding¶
type: vertical-stack
cards:
- type: entities
title: AI Health
entities:
- sensor.4x4_flower_ai_health_score
- sensor.4x4_flower_ai_health_summary
- sensor.4x4_flower_ai_last_health_check
- binary_sensor.4x4_flower_ai_health_critical_alert
- button.4x4_flower_run_ai_health_check
- type: markdown
title: AI Health Report
content: "{{ state_attr('sensor.4x4_flower_ai_health_score', 'report') }}"
- type: markdown
title: AI Feeding Schedule
content: "{{ state_attr('sensor.4x4_flower_ai_health_score', 'feeding_schedule_md') }}"
Lovelace flush card¶
type: entities
title: Reservoir Flush
show_header_toggle: false
entities:
- entity: button.4x4_flower_flush_now
name: Flush now
icon: mdi:water-sync
- entity: number.4x4_flower_flush_interval
name: Flush interval
- type: divider
- entity: binary_sensor.4x4_flower_flush_due
name: Flush due?
- entity: sensor.4x4_flower_days_since_flush
- entity: sensor.4x4_flower_days_until_flush
- entity: sensor.4x4_flower_next_flush_due
- entity: sensor.4x4_flower_last_flush
Lovelace — grow timeline¶
type: markdown
title: Grow Timeline
content: |
**Stage:** {{ states('select.4x4_flower_growth_stage') }}
**Stage started:** {{ states('date.4x4_flower_stage_started') }}
**Weeks in stage:** {{ states('sensor.4x4_flower_week_in_stage') }}
**Days left in stage:** {{ states('sensor.4x4_flower_stage_projection') }} d
**Projected harvest:** {{ state_attr('sensor.4x4_flower_stage_projection', 'projected_harvest_date') }}
Automation — flush overdue (mobile)¶
automation:
- alias: "4x4 Flower: flush overdue"
triggers:
- trigger: state
entity_id: binary_sensor.4x4_flower_flush_due
to: "on"
actions:
- action: notify.mobile_app_your_phone
data:
title: Reservoir flush due
message: 4x4 Flower is past the flush interval.
data:
actions:
- action: TG_MARK_FLUSH_4X4
title: Mark flushed
- alias: "4x4 Flower: mark flush from notification"
triggers:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: TG_MARK_FLUSH_4X4
actions:
- action: tendrilgrow.mark_flush
data:
entry_id: REPLACE_WITH_CONFIG_ENTRY_ID
Automation — AI critical¶
automation:
- alias: "4x4 Flower: AI critical"
triggers:
- trigger: state
entity_id: binary_sensor.4x4_flower_ai_health_critical_alert
to: "on"
actions:
- action: notify.mobile_app_your_phone
data:
title: Grow health critical
message: "{{ states('sensor.4x4_flower_ai_health_summary') }}"
Script: circulate before dosing (RDWC)¶
script:
flower_dose_prep:
alias: Run recirc 5 minutes before dosing
sequence:
- action: tendrilgrow.set_pump
data:
entry_id: REPLACE_WITH_CONFIG_ENTRY_ID
pump: rdwc_pump
action: "on"
- delay: "00:05:00"
Script — on-demand AI check¶
script:
flower_ai_check_now:
sequence:
- action: tendrilgrow.run_ai_health_check
data:
entry_id: REPLACE_WITH_CONFIG_ENTRY_ID
reason: Manual check after reservoir change
VPD exhaust (you own the fan entity)¶
automation:
- alias: "4x4 Flower: exhaust when VPD high"
triggers:
- trigger: numeric_state
entity_id: sensor.4x4_flower_vpd
above: 1.4
actions:
- action: switch.turn_on
target:
entity_id: switch.your_inline_fan
Warning
Pump and fan automations are your responsibility. Test with yourself present. TendrilGrow is not a safety controller.
More context: Automating TendrilGrow.