I have a statics graph based on a template sensor with a daily period. That template sensor is calculating a value based on three utility meter sensors. These three utility meters are cycling daily. But somehow the template sensor can write a value just after midnight. Looks like a bit of a timing issue.
Template sensor code:
# Sensor for calculating the daily COP heat
# Using utility meters for production & consumption values
- unique_id: "panasonic_heat_pump_cop_daily_heat"
name: "Aquarea COP daily heat"
unit_of_measurement: "x"
state_class: "total"
availability: "{{ states('sensor.panasonic_heat_pump_energy_produced_daily_tariff_heat') | float(default=0) > 1 }}"
state: >
{% set produced = states('sensor.panasonic_heat_pump_energy_produced_daily_tariff_heat') | float(default=0) %}
{% set consumedHeatPump = states('sensor.panasonic_heat_pump_energy_consumed_daily_tariff_heat') | float(default=0) %}
{% set consumedBuh = states('sensor.panasonic_heat_pump_energy_consumed_buh_total_tariff_heat') | float(default=0) %}
{% set consumed = consumedHeatPump + consumedBuh %}
{% set value = 0 if produced == 0 else [ [produced / consumed, 10] | min , -10 ] | max %}
{{ '%0.1f' % value }}
Utility meters code, example of 1 of the 3 meters. Others are similair (same cycle etc)
panasonic_heat_pump_energy_produced_daily_tariff:
unique_id: "panasonic_heat_pump_energy_produced_daily_tariff"
name: "Aquarea energy produced daily tariff"
source: sensor.aquarea_total_energy_produced_calculated
periodically_resetting: false
net_consumption: true
cycle: daily
tariffs:
- heat
- dhw
Statistics graph:
chart_type: bar
period: day
type: statistics-graph
entities:
- sensor.aquarea_cop_daily
- sensor.aquarea_cop_daily_heat
- sensor.aquarea_cop_daily_dhw
title: COP daily
days_to_show: 31
stat_types:
- state
hide_legend: false
logarithmic_scale: false