Automation soll nur alle 12 Std. nach der letzten Ausführung ausgeführt werden

Hallo,
ich bin grade dabei mir eine Automaiton für den Briefkasten zu bauen.
Die Nachricht in Telegram funktioniert schon.
Ich möchte aber das die Automation nur alle 12 Stunden nach der letzten Auslösung erneut ausgeführt wird.
So möchte ich vermeiden, dass beim leeren das Briefkasten erneut eine Nachricht ausgelöst wird.
Hier meine Automation:

alias: „Telegram: Post im Briefkasten“
description: „“
triggers:

  • type: opened
    device_id: f2f8bdc917feffb2748201a4c09f6cd5
    entity_id: 17721c28bfb7c839098a37ce9e6994bd
    domain: binary_sensor
    trigger: device
    conditions:

  • condition: template
    value_template: >-
    condition: „{{ state_attr(this.entity_id, ‚last_triggered‘) < today_at()
    }}“
    actions:

  • action: telegram_bot.send_message
    metadata: {}
    data:
    message: |-
    Liebe Familie Niebius,

    es liegt Post im Briefkasten. 
    
    Ich wünsche euch einen erfolgreichen und tollen Tag!  
    
    Euer Smart Home :-) 
    

mode: single

Ich hatte schon einen Trigger „nur 1x am Tag“ der scheint aber nicht zu funktionieren.
Vielen Dank für eure Hilfe! Seid nachsichtig… ich arbeite mich erst seit vier Wochen im HA ein.
Gruß Martin

1 „Gefällt mir“

Tausch das this.entity_id mal gegen die Entitäts ID der Automation aus.

2 „Gefällt mir“

Was ist bei today_at hinterlegt? Vielleicht ist es hier besser mit einer festen Zahl zu rechnen. Würde es dann so aufschlüsseln. Aber kann auch wirklich gut sein, dass nur die korrekte ID statt this.entity_id hinterlegt werden muss.

condition:
  - condition: template
    value_template: >
      {% if (as_timestamp(now()) - as_timestamp(state_attr('sensor.dein_sensor', 'last_triggered'))) > 43200 %}
        true
      {% else %}
        false
      {% endif %}
1 „Gefällt mir“

Vielen Dank!
Die Sensor ID habe ich aus den Entwickler Tool entnommen:

Ist das korrekt, oder wo bekomme ich die ID her?
Die Datei habe ich wie folgt abgeändert:

alias: „Telegram: Post im Briefkasten“
description: „“
triggers:

  • type: opened
    device_id: f2f8bdc917feffb2748201a4c09f6cd5
    entity_id: 17721c28bfb7c839098a37ce9e6994bd
    domain: binary_sensor
    trigger: device
    condition:

  • condition: template
    value_template: >
    {% if (as_timestamp(now()) - as_timestamp(state_attr(‚binary_sensor.briefkasten‘, ‚last_triggered‘))) > 43200 %}
    true
    {% else %}
    false
    {% endif %}
    actions:

  • action: telegram_bot.send_message
    metadata: {}
    data:
    message: |-
    Liebe Familie Niebius,

    es liegt Post im Briefkasten. 
    
    Ich wünsche euch einen erfolgreichen und tollen Tag!  
    
    Euer Smart Home :-) 
    

mode: single

sensor.dein_sensor habe ich durch binary_sensor.briefkasten ersetzt, korrekt?

Nachfrage:
Die aktuelle Zeit der Auslösung wir gegen die letzte Auslösezeit vom Aktor/ Briefkasten abgezogen (timetamp).
Was bedeutet dann >43200%

1 „Gefällt mir“

Mit den 24 Stunden (einen Tag) komme ich nicht hin… 12 Stunden wären perfekt!
Danke für den Hinweis zu this.entity_id!

1 „Gefällt mir“

Ja die Sensor ID ist korrekt. Es ist aber immer besser mit Entitäten statt Geräten zu arbeiten, gerade bei den Triggern. Du hast dort aktuell ein Gerät in Nutzung.

Ja prinzipiell so wie gedacht hast, aber du musst dann noch prüfen, ob der ermittelte Wert unter 12h liegt. Daher wird In der Bedingung geprüft, ob der Unterschied zwischen dem aktuellen Zeitpunkt und dem last_triggered Zeitpunkt mehr als 12 Stunden (43200 Sekunden) beträgt.

Wenn du deinen Code teilen möchteste, nutze bitte immer im Editor die Funktion Code

Hier mal der komplette Code mit Trigger Entität:

alias: "Telegram: Post im Briefkasten"
description: ""
trigger:
  - platform: state
    entity_id: binary_sensor.briefkasten
    to: "on"
condition:
  - condition: template
    value_template: >
      {% if (as_timestamp(now()) - as_timestamp(state_attr('binary_sensor.briefkasten', 'last_triggered'))) > 43200 %}
        true
      {% else %}
        false
      {% endif %}
action:
  - service: telegram_bot.send_message
    data:
      message: "Liebe Familie Niebius, es liegt Post im Briefkasten. Ich wünsche euch einen erfolgreichen und tollen Tag! Euer Smart Home :-)"
mode: single

2 „Gefällt mir“

Vielen Dank!
Warum ist es bei triggern besser Entitäten als Geräte zu Verwenden?

1 „Gefällt mir“

Wenn du mal ein Gerät austauschst, müssen dann nicht alle Automatisierungen angepasst werden, sondern man gibt einfach dem neuen Gerät die gleiche Entität. :slight_smile: Außerdem sind die Automatisierungen übersichtlicher und für Mitleser einfacher zu verstehen.

2 „Gefällt mir“

Hallo,
müssen es 12 Stunden sein? Ich würde nur einen Helfer (wahr/falsch oder 0/1) verwenden, der bei der erstmaligen Auslösung z.B. auf 1 gesetzt wird.
Diesen kannst du bei weiteren Auslösungen als Bedingung verwenden.
Um Mitternacht oder selbst bestimmte Uhrzeit morgens setzt du den Helfer wieder zurück.

2 „Gefällt mir“

Wie setzt ich denn einen solchen Helfer um?
Hast du ein Beispiel oder Video dazu?

1 „Gefällt mir“

Das würde mich auch interessieren, finde die Idee nämlich ganz gut, krieg es aber eher nicht selbst umgesetzt.

1 „Gefällt mir“