No, you should persist - it wont be that difficult.
HA's evohome integration already tracks the current setpoint (called temperature, and/or: status.setpoint_status.target_heat_temperature), and the scheduled setpoint (status.setpoints.this_sp_temp). Have a look in Lovelace (the Web UI); Developer Tools; States, and select one of your zones (e.g. climate.bathroom), and you'll see them.
You can set up custom sensors for these:
Code:
sensor:
- platform: template
sensors:
bathroom_actual:
friendly_name: "Bath Actual Setpoint"
unit_of_measurement: '°C'
value_template: >
{% if state_attr('climate.bathroom', 'status') -%}
{{ state_attr('climate.bathroom', 'status').setpoint_status.target_heat_temperature }}
{%- endif %}
bathroom_scheduled:
friendly_name: "Bath Scheduled Setpoint"
unit_of_measurement: '°C'
value_template: >
{% if state_attr('climate.bathroom', 'status') -%}
{{ state_attr('climate.bathroom', 'status').setpoints.this_sp_temp }}
{%- endif %}
...and then just graph sensor.bathroom_scheduled, sensor.bathroom_actual, etc.
Or you could even just graph the difference between the two:
Code:
{{
state_attr('climate.bathroom', 'status').setpoint_status.target_heat_temperature
-
state_attr('climate.bathroom', 'status').setpoints.this_sp_temp
}}
This is the relevant HA forum:
- for evohome, and
- for evohome_rf
If you're using evohome-listener, then you have all the kit for evohome_rf, and it may suit you better - check it out!