until I find a card that is much nicer looking, here’s a way to display the target Clean replace dates in markdown card from the check-button-card sensors, only if you get the latest commit that has timestamp info in the check button cards.
For some reason friendly_name i typed, in lovelace where the check-button-card entity's were defined isn't replacing the autogenerated friendly_name, but for me it's good enough until i find a card that display this better i'll switch but for now it does what I need.
Click configure-UI, +, MARKDOWN, SHOW CODE EDITOR, then paste the contents below
content: >-
{% set datetime1=state_attr(‘sensor.vacuum_maint_clean_brushes’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
cleanDate=(as_timestamp((((states(‘sensor.vacuum_maint_clean_brushes’))|int+datetime2|int|multiply(86400))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_clean_brushes’, ‘friendly_name’) }}->
…Clean date
{{cleanDate}}…{{ state_attr(‘sensor.vacuum_maint_clean_brushes’,
‘visibility_timeout’) }} togo
{% set datetime1=state_attr(‘sensor.vacuum_maint_clean_contacts’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
cleanDate=(as_timestamp((((states(‘sensor.vacuum_maint_clean_contacts’))|int+datetime2|int|multiply(86400))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_clean_contacts’, ‘friendly_name’) }}->
…Clean date
{{cleanDate}}…{{ state_attr(‘sensor.vacuum_maint_clean_contacts’,
‘visibility_timeout’) }} togo
{% set datetime1=state_attr(‘sensor.vacuum_maint_clean_filter’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
cleanDate=(as_timestamp((((states(‘sensor.vacuum_maint_clean_filter’))|int+datetime2|int|multiply(86400))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_clean_filter’, ‘friendly_name’) }}->
…Clean date
{{cleanDate}}…{{ state_attr(‘sensor.vacuum_maint_clean_filter’,
‘visibility_timeout’) }} togo
{% set datetime1=state_attr(‘sensor.vacuum_maint_clean_wheel’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
cleanDate=(as_timestamp((((states(‘sensor.vacuum_maint_clean_wheel’))|int+datetime2|int|multiply(86400))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_clean_wheel’, ‘friendly_name’) }}->
…Clean date
{{cleanDate}}…{{ state_attr(‘sensor.vacuum_maint_clean_wheel’,
‘visibility_timeout’) }} togo
{% set datetime1=state_attr(‘sensor.vacuum_maint_replace_brushes’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
replaceDate=(as_timestamp((((states(‘sensor.vacuum_maint_replace_brushes’))|int+datetime2|int|multiply(86400)|multiply(30))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_replace_brushes’, ‘friendly_name’) }}->
…Replace date
{{replaceDate}}…{{ state_attr(‘sensor.vacuum_maint_replace_brushes’,
‘visibility_timeout’) }} togo
{% set datetime1=state_attr(‘sensor.vacuum_maint_replace_filter’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
replaceDate=(as_timestamp((((states(‘sensor.vacuum_maint_replace_filter’))|int+datetime2|int|multiply(86400)|multiply(30))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_replace_filter’, ‘friendly_name’) }}->
…Replace date
{{replaceDate}}…{{ state_attr(‘sensor.vacuum_maint_replace_filter’,
‘visibility_timeout’) }} togo
{% set datetime1=state_attr(‘sensor.vacuum_maint_replace_wheel’,
‘visibility_timeout’)|string %}
{% set datetime2=datetime1|regex_replace(find=’ .*’, replace=’’,
ignorecase=true)|int %}
{% set
replaceDate=(as_timestamp((((states(‘sensor.vacuum_maint_replace_wheel’))|int+datetime2|int|multiply(86400)|multiply(30))|timestamp_local))|timestamp_custom(’%m/%d/%Y’))
%}
{{ state_attr(‘sensor.vacuum_maint_replace_wheel’, ‘friendly_name’) }}->
…Replace date
{{replaceDate}}…{{ state_attr(‘sensor.vacuum_maint_replace_wheel’,
‘visibility_timeout’) }} togo
Last Mission: {{ state_attr(‘sensor.rest980’, ‘cleanMissionStatus’)[“sqft”] }}
sqft
title: Reminder info
type: markdown