Hi all.

I have a sensor returning a sequence of measurements (in more or less regular intervals) such as:

`0 0 0 1 1 2 3 3 3 3 4 3 2 2 2 1 0 0 0 0 0 0 1 1 2 2 2 3 ...`

and I want to have a “dynamic” mean value in the non-zero data points (i.e. zeros are ignored).

The mean should bee like (sum/count):

`- - - 1 2/2 4/3 7/4 10/5 13/6 16/7 20/8 23/9 25/10 27/11 29/12 30/13 30/13 30/13 ... 30/13 31/14 32/15 34/16 36/17 38/18 41/19 ...`

and this computed on a daily basis, meaning that the statistics will be cleared at 0:00.

I was able to make a template sensor filtering out the zero values (hopefully, it is not wrong):

```
- sensor:
- name: data_noZero
state: >
{% if states('sensor.data') | float(0) > 0 %}
{{ states('sensor.data') }}
{% else %}
{{ this.state }}
{% endif %}
```

But I don’t know how to make the rest of the computation.

Using:

```
- platform: statistics
name: "data_stats"
entity_id: sensor.data_noZero
state_characteristic: mean
max_age:
hours: 24
```

gives me value different than when computed manually.

How to solve this?

Thank you very much for any help,

DT