Automatyzacja w kalendarzu

Witam . Może ktoś pomoże w zrobieniu automatyzacji wydarzenia w kalendarzu. O co dokładnie chodzi . Mieszkam z paroma sąsiadami w naszej prywatnej kamienicy, Ustaliliśmy sobie że każdy z nas będzie wystawiał po kolei kosz z odpadami zmieszanymi . Czyli mieszkanie nr. 1 potem 2, 3, 4 itd . I znowu następna kolejka od nowa . Jak wspomniałem w HA mam integrację kalendarza gdzie wszystkie wydarzenia z wywozem śmieci aktualizują się automatycznie . Jak zrobić automatyzację aby np. co czwarty wywóz śmieci zmieszanych przychodziło mi powiadomienie, że teraz moja kolej wystawienia kubła .

Dodaj nowy kalendarz do HA

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTART;TZID=Europe/Warsaw:20250708T070000
DTEND;TZID=Europe/Warsaw:20250708T073000
RRULE:FREQ=WEEKLY;INTERVAL=4;COUNT=13
SUMMARY:Odpady zmieszane
DESCRIPTION:Twoja kolej wystawienia kubła (cykl 4‑tygodniowy)
LOCATION:Pod domem
STATUS:CONFIRMED
SEQUENCE:0
UID:94e70c02-0b65-4276-868d-ef407f10a26f
DTSTAMP:20250706T215657Z
BEGIN:VALARM
TRIGGER:-PT10M
ACTION:DISPLAY
DESCRIPTION:Przypomnienie o wystawieniu kubła
END:VALARM
END:VEVENT
END:VCALENDAR

Zapisz kod do pliku z roszeniem .ics , np. odpady_zmieszane_2025_2026.ics

Następnie dodaj go do kalendarza w HA (Kalendarz lokalny)
Utwórz kalendarz i zaznacz
Prześlij plik iCalendar (.ics)

Od kiedy (dnia) można edytować w kodzie np.

20250708T070000 = 8 lipca 2025 o 07:00
(rok, miesiąc, dzień, “T” godzina…

Dzięki bardzo za wyczerpujący wpis . Wieczorem będę próbować . Tylko zastanawia mnie jeden problem . To nie ma być cykl 4-tygodniowy, tylko ma to być cykl co czwarte kolejne wydarzenie, to samo wydarzenie, czyli wywóz śmieci zmieszanych . Czyli nawet jak zmienią datę wywozu to i tak powinno przyjść powiadomienie np. dzień przed czwartym wydarzeniem .

Myślałem, że regularnie - tygodniowo

To z innej beczki
Do configuration.yaml dodaj licznik:

counter:
  kolejka_dyzuru_smieci:
    name: Kolejka dyżuru śmieci
    initial: 1           # startujemy od  nr 1
    step: 1
    minimum: 1
    maximum: 4           # "masz" 4 sąsiadów
    restore: true        # po restarcie HA zachowuje wartość

Automatyzacja do wklejenia w trybie YAML:

alias: Odpady zmieszane – moja kolejka dyżuru
trigger:
  - platform: state
    entity_id: calendar.smieci # Nazwa kalendarza
    to: 'on'

condition:
  - condition: template
    value_template: >
      {{ state_attr('calendar.smieci', 'message') | lower == 'odpady zmieszane' }}

action:
  - variables:
      kolej_na_dzis: "{{ states('counter.kolejka_dyzuru_smieci') | int }}"

  #  Jeśli to Twoja kolej (np. Ty nr 2), to wyślij powiadomienie
  - if:
      - condition: template
        value_template: "{{ kolej_na_dzis == 2 }}"  #  Jesteś Nr2 
    then:
      - service: notify.mobile_app_nazwa
        data:
          title: Twoja kolej na kubeł!
          message: Dziś Twój dyżur – wystaw odpady zmieszane.

  #  Przesuń licznik na kolejnej numer – reset jeśli był ostatni, w przeciwnym razie +1
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ kolej_na_dzis == 4 }}"   #  ostatni w kolejce, liczenie odbędzie się od początku
        sequence:
          - service: counter.reset
            target:
              entity_id: counter.kolejka_dyzuru_smieci
    default:
      - service: counter.increment
        target:
          entity_id: counter.kolejka_dyzuru_smieci

mode: single

Automatyzacja zadziała tylko wtedy, gdy w Twoim kalendarzu (przykład calendar.smieci) w aktywnym wydarzeniu znajduje się: Odpady zmieszane.

Daj znać czy działa.
Komentarze- objaśnienia (# …) znikną po zapisaniu automatyzacji.
/
W automatyzacji dostosuj, do kalendarza który masz i dostosuj nazwę wydarzenia taką jaką trzymujesz w powiadomieniu z kalendarza.

Pierwszy post, to tylko do regularnych co 4 tygodnie, chyba że dokonasz zmian w kodzie.

1 polubienie

Ale muszę utworzyć w HA nowy kalendarz jak to napisałeś w pierwszym poście , czy tylko wstawić nazwę mojego w automatyzacji ?