{% set trackers = [ { "counter": states("counter.days_since_fridge_water_filter") | int, "threshold": state_attr("binary_sensor.threshold_for_days_since_fridge_water_filter", "upper"), "percent": (int(states("counter.days_since_fridge_water_filter")) / state_attr("binary_sensor.threshold_for_days_since_fridge_water_filter", "upper")), "name": "Fridge Water Filter Replaced" }, { "counter": states("counter.days_since_litter_boxes_cleaned") | int, "threshold": state_attr("binary_sensor.threshold_for_days_since_litter_boxes_cleaned", "upper"), "percent": (int(states("counter.days_since_litter_boxes_cleaned")) / state_attr("binary_sensor.threshold_for_days_since_litter_boxes_cleaned", "upper")), "name": "Litter Boxes Cleaned" }, { "counter": states("counter.days_since_cat_water_fountain_cleaned") | int, "threshold": state_attr("binary_sensor.threshold_for_days_since_cat_water_fountain_cleaned", "upper"), "percent": (int(states("counter.days_since_cat_water_fountain_cleaned")) / state_attr("binary_sensor.threshold_for_days_since_cat_water_fountain_cleaned", "upper")), "name": "Cat Water Fountain Cleaned" }, { "counter": states("counter.days_since_kitchen_cleaned") | int, "threshold": state_attr("binary_sensor.threshold_for_days_since_kitchen_cleaned", "upper"), "percent": (int(states("counter.days_since_kitchen_cleaned")) / state_attr("binary_sensor.threshold_for_days_since_kitchen_cleaned", "upper")), "name": "Kitchen Cleaned" }, ]%} {% for tracker in (trackers | sort(reverse=true, attribute='percent')) %} {% set days_left = ((tracker.threshold - tracker.counter) | int | string) %} {% set message = tracker.name + " completed " + tracker.counter | string + " days ago. Due again in " + days_left + " days." %} {% if tracker.percent > 1 %} {{ message }} {% elif tracker.percent > 0.8 %} {{ message }} {% else %} {{ message }} {% endif %} {% endfor %}