Jak ustawić aby powiadomienie było tylko 1 raz w ciągu

Dodałem integrację Blitzortung.
Pokazuje ona odległość m.inn wyładowań atmosferycznych.
Wykorzystując encje tego dodatku, ustawiłem sobie powiadomienia o zbliżającej się do mnie burzy. Obrałem kryteria odległości 25 km. Działa to OK, ale…
Burza, jak to burza, zbliża się i oddala bardzo szybko w danym czasie. Powoduje to, że ustawione komunikaty pojawiają się na moich urządzeniach nawet co kilkanaście sekund podczas wyładowań.
Co mam ustawić (w automatyzajcji) aby powiadomienia (jeżeli encja wykryje) działały nie częściej jak co np. 20 min.
Póki co ustawiłem “powiadomienie jeden raz”, ale to nie działa.

1 polubienie

Dodaj taki warunek:

{{ ( as_timestamp(now()) - as_timestamp(state_attr('automation.odkurzaj_jak_nikogo_nie_ma_w_domu', 'last_triggered')) |int(0) ) > 3600 }}

podmień w automation.XXXX na twoją automatyzację a 3600 na 1200 jak ma być co 20 min.

Ogólnie sprawdzi czy dana automatyzacja uruchomiła się w ciągu ostatnich 20 min. jeśli tak to pominie powiadomienie.

2 polubienia
- id: '17.........'
  alias: Powiadomienie - Uwaga. Burza w odległości 25 km
  description: ''
  trigger:
  - type: distance
    platform: device
    device_id: b1a...…………..
    entity_id: a0...……………..
    domain: sensor
    below: 25
  condition:
  - condition: time
    after: 07:30:00
    before: '20:30:00'
  action:
  - repeat:
      count: 1
      sequence: []
  - target:
      entity_id: media_player.pokoj_nest_hub
    data:
      media_content_id: media-source://tts/cloud?message=Uwaga.+Burz..........+25+kilometr%C3%B3w.&language=pl-PL&voice=AgnieszkaNeural
      media_content_type: provider
    metadata:
      title: Uwaga. Burza w odległości 25 kilometrów.
      thumbnail: https://brands.home-assistant.io/_/cloud/logo.png
      media_class: app
      children_media_class:
      navigateIds:
      - {}
      - media_content_type: app
        media_content_id: media-source://tts
      - media_content_type: provider
        media_content_id: media-source://tts/cloud?message=Uwaga.+Burza+w+od.............9Bci+25+kilometr%C3%B3w.&language=pl-PL&voice=AgnieszkaNeural
    action: media_player.play_media
  - target:
      entity_id: media_player.nesthub0dd1
    data:
      media_content_id: media-source://tts/cloud?message=Uwaga.+Burza+w+o.......ci+25+kilometr%C3%B3w.&language=pl-PL&voice=AgnieszkaNeural
      media_content_type: provider
    metadata:
      title: Uwaga. Burza w odległości 25 kilometrów.
      thumbnail: https://brands.home-assistant.io/_/cloud/logo.png
      media_class: app
      children_media_class:
      navigateIds:
      - {}
      - media_content_type: app
        media_content_id: media-source://tts
      - media_content_type: provider
        media_content_id: media-source://tts/cloud?message=Uwaga.+Burza+w+odleg.......i+25+kilometr%C3%B3w.&language=pl-PL&voice=AgnieszkaNeural
    action: media_player.play_media
  - metadata: {}
    data:
      data:
        ttl: 0
        priority: high
        media_stream: alarm_stream_max
        tts_text: Uwaga. Burza w odległości 25 kilometrów.
      message: TTS
    action: notify.mobile_.....
  - condition: zone
    entity_id: device_tracker.….
    zone: zone.home
    enabled: true
  - data:
      message: TTS
      data:
        ttl: 0
        priority: high
        media_stream: alarm_stream_max
        tts_text: Uwaga. Burza w odległości 25 kilometrów.
    enabled: true
    action: notify.mobile_app_v....
  mode: single

Podpowiesz gdzie to wkleić w części odpowiedzialnej za to powiadomienie ?

Pod condition:

  - condition: template
    value_template: >-
      {{ ( as_timestamp(now()) -
      as_timestamp(state_attr('automation.odkurzaj_jak_nikogo_nie_ma_w_domu',
      'last_triggered')) |int(0) ) > 3600 }}

To jest warunek, albo w trybie graficznym dodaj nowy warunek (jeżeli) wyszukaj szablon i wklej to:

{{ ( as_timestamp(now()) - as_timestamp(state_attr('automation.odkurzaj_jak_nikogo_nie_ma_w_domu', 'last_triggered')) |int(0) ) > 3600 }}

podmień to automation.odkurzaj_jak_nikogo_nie_ma_w_domu na nazwę swojej automatyzacji i ustaw zamiast 3600 wartość w sekundach jaką chcesz

zanim coś spieprzę, tak ?

Nie tak, przecież pokazał jak …

Tak:

  condition:
  - condition: time
    after: 07:30:00
    before: '20:30:00'
  - condition: template
    value_template: >-
      {{ ( as_timestamp(now()) -
      as_timestamp(state_attr('automation.odkurzaj_jak_nikogo_nie_ma_w_domu',
      'last_triggered')) |int(0) ) > 3600 }}

I nie ma co się bać że coś spieprzysz, HA wykryje błąd i po prostu nie będzie działało. A jak nie znasz YAML to po co na siłę chcesz go używać? Przez GUI automatyzacje bardzo fajnie się tworzy.

@ Aleksej
Dzięki.
Zmieniłem.
Czekam na burzę :slight_smile: