Prüfen wie oft eine Automation pro Tag schaltet

Bereich rings rum zum Thema Yaml und seine Tücken.


Antworten
Benutzeravatar
Markus
Beiträge: 439
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 22 times
Been thanked: 8 times

Prüfen wie oft eine Automation pro Tag schaltet

Beitrag von Markus »

Möchte gerne eine Automation prüft wie oft diese je Tag einen Schalter einschaltet und wie lange dieser dann auf ON ist.

Denke das funktioniert über einen Helfer den ich zuvor erstelle und der Automation als Schalter mitgebe.

Wie erstelle ich aber nun diesen "Testschalter/Helfer" und wie werte ich das dann am besten aus?

Benutzeravatar
Osorkon
Administrator
Beiträge: 1958
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 61 times
Been thanked: 532 times
Kontaktdaten:

Re: Prüfen wie oft eine Automation pro Tag schaltet

Beitrag von Osorkon »

Die Einschaltdauer sowie wie oft eine switch/light eingeschaltet wurde kannst Du ja über die History Stats Integration ermitteln.

Einschaltdauer

Code: Alles auswählen

    state: "on"
    type: time

Wie oft wurde eingeschaltet

Code: Alles auswählen

    state: "on"
    type: count

Wie oft einen Bestimmte Automatisierung ausgeführt wird, kannst Du auch über die History Stats ermitteln. Allerdings braucht es dafür einen Template Binary_sensor.
Dieser hat den Zustand on, wenn die Automatisierung ausgeführt wird.

Code: Alles auswählen

template:
  - binary_sensor:
      - name: Automatisierung XYZ wird ausgeführt
        state: |
          {{ state_attr('automation.xyz', 'current') == 1 }}
        unique_id: bf90b690-3769-11ee-b804-8be11b949659

Das ganze funktioniert aber nur richtig, wenn die Automatisierung den mode : single hat. Das Attribut current zeigt an, wie viele Instanzen der Automatisierung gerade ausgeführt werden. Im Mode single gibt es dann nur den Wert 0 oder 1.
Diesen Template Sensor kannst Du dann für die History Stats verwenden.

Code: Alles auswählen

sensor:
  - platform: history_stats
    name: Automatisierung XYZ Anzahl Ausführungen
    entity_id: binary_sensor.automatisierung_xyz_wird_ausgefuehrt
    unique_id: 98bda310-376a-11ee-b804-8be11b949659
    state: "on"
    type: count
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"

Du kannst aber auch einen Helfer erstellen (input_number) Nummer. Und als letzte Aktion in der Automatisierung diesen Helfer um eins erhöhen.

Code: Alles auswählen

service: input_number.increment
data: {}
target:
  entity_id: input_number.xyz

Und mit einer weiteren Automatisierung um 00:00 den input_number auf 0 stellen.
Der Input Number zeigt Dir dann die täglichen Ausführungen der Automatisierung an.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Antworten