Tracking Plant growth

Would there be a way for me to track plant grow to know when vegetable plants have reached maturity?

Doesn’t need to be complicated. Maybe indicating the day the seeds were planted and an input to say how long til the plant is mature and being able to see visually using the Gauge Card to see the plants grow progress. Also being able to do it for a variety of different vegetables and not all being planted at the same time.

Thanks.

input_datetime:
  front_room_start:
    name: 'Front Room Start'
    has_date: true
    has_time: false


  front_room_end:
    name: 'Front Room End'
    has_date: true
    has_time: false

input_number:
  weekcount_f:
    name: 'front week count'
    min: 1
    max: 12
    step: 1
    unit_of_measurement: 'weeks'
    icon: mdi:target    

sensor:
#########################################
#  THIS IS USED SOLEY TO SHOW HOW MANY DAYS IN, OR 
#  HOW MANY DAYS ARE LEFT PER ROOM.
#

#days in
  - platform: template
    sensors:
      front_days_left:
        value_template: '{{ ((( states.input_datetime.front_room_end.attributes.timestamp - as_timestamp(now()) )) | int /60/1440) | round(0) }}'
        unit_of_measurement: 'Days'
        friendly_name: "Front - Days left"
        icon_template: mdi:calendar-star
        
      front_days_in:
        value_template: '{{ (((as_timestamp(now()) - states.input_datetime.front_room_start.attributes.timestamp  )) | int /60/1440) | round(0) }}'
        unit_of_measurement: 'Days'
        friendly_name: "Front - Days In"
        icon_template: mdi:calendar-clock    
      
      front_current_week_of_grow:
        friendly_name: "Current Week"
        icon_template: mdi:calendar-heart
        value_template: '{{ ((as_timestamp(now()) - (states.input_datetime.front_room_start.attributes.timestamp)) | int /60/1440//7 +1)  | round(0) }}'

automation:
- id: front_day_handler
  alias: 'front - auto dates'
  initial_state: true
  
  trigger:
    platform: state
    entity_id: input_datetime.front_room_start, input_number.weekcount_f
  
  action:
  - service: input_datetime.set_datetime
    entity_id: input_datetime.front_room_end
    data:
      date: "{{ (as_timestamp( states.input_datetime.front_room_start.state) + (24*3600)*7*( states.input_number.weekcount_f.state | int )) | timestamp_custom('%Y-%m-%d', True) }}"  
1 Like