Durchschnitt für Wert mit Lücken berechnen

Hallo,

ich stehe etwas auf dem Schlauch, vielleicht könnt ihr mir weiterhelfen:
Für meine Wärmepumpe habe ich einen Sensor, welcher den aktuellen COP (z.B. 5,3) ausgibt. Nun läuft die WP nicht immer, so dass in diesen Pausen der Wert des Sensors 0 ist.

Will ich nun den durchschnittlichen COP berechnen, interessieren mich ja nur die Werte aus Zeiten zu denen die WP läuft. Die Nullwerte müsste ich ignorieren weil diese ja sonst den Durchschnitt nach unten ziehen.

Mit einem Statistics-Sensor scheint das nicht zu funktionieren.
Habt ihr eine andere Idee?

Vielen Dank!

Hi, am besten ist wahrscheinlich einen zusätzlichen Template Sensor anzulegen, der aus deinem Sensor die 0 Daten entfernt. Oder in der configuration-yaml wie es lieber ist. Der Sensor wird dann ‚unavailable‘ (nicht verfügbar), wenn der Wert 0 oder kleiner ist. Danach kannst du dann deinen Statistik Helfer mit dem erstellten Sensor verbinden. Die unavailable Werte werden so in der Statistik nicht beachtet.

{% set wert = states('sensor.deinSensor') | float(0) %}
{% if wert > 0 %}
  {{ wert | round(2) }}
{% else %}
  {{ 'unavailable' }}
{% endif %}
3 „Gefällt mir“

Das hat sehr gut funktioniert. Interessanter Ansatz mit dem unavailable in den Pausenzeiten.
Vielen Dank!

1 „Gefällt mir“