Geräte-Nutzungsdauer & Zähler mit Home Assistant – der Verlaufsstatistik-Helfer

Viele kennen ihn nicht – aber der Verlaufsstatistik-Helfer in Home Assistant kann richtig viel.
Er erlaubt es dir, Zeitspannen, Anteile oder Zählwerte zu berechnen, basierend auf dem Zustand einer beliebigen Entität.
Damit kannst du z. B. herausfinden:

  • Wie lange war eine Lampe heute eingeschaltet?
  • Wie oft wurde eine Steckdose in dieser Woche aktiviert?
  • Wie lange war ein Sensor im Zustand „offen“ oder „belegt“?
  • Und vieles mehr.

Video: https://youtu.be/2he7YB088f4

📊 Arten der Verlaufstatistik

Beim Erstellen des Helfers kannst du zwischen drei Typen wählen:

  • Zeit → misst die Gesamtdauer eines Zustands (z. B. „an“)
  • Anteil → berechnet den prozentualen Anteil des Zustands im Zeitraum
  • Anzahl → zählt, wie oft der Zustand eintrat

🧮 Dynamische Zeiträume

Der große Vorteil: Start- und Endzeit können dynamisch definiert werden.
Ein paar nützliche Beispiele:

Die letzten 24 Stunden

Der heutige Tag

Von 08:00 bis 16:00 Uhr

Diese Woche

Diesen Monat

Seit „Beginn der Aufzeichnungen“


🧰 Praxisbeispiel: Poolpumpe maximal 4 Stunden pro Tag

Ich steuere meine Poolpumpe abhängig vom Solarstromüberschuss.
Sie soll aber maximal 4 Stunden pro Tag laufen – auch wenn sie zwischendurch aus war.

alias: Poolpumpe steuern [Heizung akt. aus]
description: ""
triggers:
  - alias: mehr als 750W ins Netz eingespeist wird [Aktiviert]
    entity_id:
      - sensor.pv_uberschuss_15min
    for:
      hours: 0
      minutes: 0
      seconds: 30
    above: 750
    id: Aktiviert
    trigger: numeric_state
  - alias: unter 50W ins Netz eingespeist wird [Deaktiviert]
    entity_id:
      - sensor.pv_uberschuss_15min
    for:
      hours: 0
      minutes: 0
      seconds: 30
    below: 50
    id: Deaktiviert
    trigger: numeric_state
  - entity_id:
      - sensor.pv_uberschuss_15min
    to: unknown
    alias: PV Überschuss unbekannt (kein Überschuss) [Deaktiviert]
    id: Deaktiviert
    trigger: state
  - alias: Laufzeit >= 4 Stunden [Deaktiviert]
    entity_id: sensor.poolpumpe_laufzeit_heute
    above: 3.99
    id: Deaktiviert
    trigger: numeric_state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Aktiviert
          - condition: numeric_state
            entity_id: sensor.poolpumpe_laufzeit_heute
            below: 4
        sequence:
          - alias: Pool Pumpe an
            metadata: {}
            data: {}
            action: switch.turn_on
            target:
              entity_id: switch.pool_pumpe
          - alias: Pool Heizung an
            metadata: {}
            data: {}
            action: switch.turn_on
            target:
              entity_id:
                - switch.pool_heizung
            enabled: false
        alias: "Aktiviert: Pumpe an, Heizung an"
      - conditions:
          - condition: trigger
            id:
              - Deaktiviert
        sequence:
          - alias: Pool Heizung aus
            action: switch.turn_off
            target:
              entity_id:
                - switch.pool_heizung
            data: {}
            enabled: false
          - alias: Warte 3min
            delay:
              hours: 0
              minutes: 3
              seconds: 0
              milliseconds: 0
            enabled: false
          - alias: Pool Pumpe aus
            action: switch.turn_off
            data: {}
            target:
              entity_id: switch.pool_pumpe
        alias: "Deaktiviert: Heizung aus, 3min warten, Pumpe aus"
mode: single

Damit bleibt die Poolpumpe immer unter der definierten Laufzeit, selbst wenn sie zwischenzeitlich neu startet.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert