Czujniki otwarcia/zamknięcia okien

Hej,
Szukam pomocy przy automatyzacji.

Mam grupę czujników Sonoff SNZB-04

Chcę otrzymać notyfikację jak dowolony z nich zostanie otwarty (to już w sumie zrobiłem i działa)
a także jak któryś z nich zostanie zamknięty.
I tutaj robi mi się pod górkę (próbuję zrobić to w jednej automatyzacji)
Jako wyzwalacz ustawiam:
okna_grp z otwarte na zamknięte

i jeżeli akcję ustawię na “gdy coś - wtedy coś” to nie mogę dodać który czujnik zmienił stan, tylko jego stan bieżący. Przez to za każdym razem dostaję błędną nazwę czujnika.

Można to jakoś zrobić w jednej automatyzacji, czy trzeba 4 osobne?

YAML:

alias: Okno zamknięcie
description: Zamknięcie jakiegoś okna
trigger:
  - platform: state
    entity_id:
      - binary_sensor.okna_grp
    from: "on"
    to: "off"
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.okno_kuchnia_contact
            state: "off"
        sequence:
          - service: notify.tg_killer
            data:
              message: Okno kuchnia zamknięte!
      - conditions:
          - condition: state
            entity_id: binary_sensor.okno_salon_contact
            state: "off"
        sequence:
          - service: notify.tg_killer
            data:
              message: Okno salon zamknięte!
      - conditions:
          - condition: state
            entity_id: binary_sensor.okno_sypialnia_contact
            state: "off"
        sequence:
          - service: notify.tg_killer
            data:
              message: Okno dupa zamknięte!
              title: okno
      - conditions:
          - condition: state
            entity_id: binary_sensor.okno_kuba_contact
            state: "off"
        sequence:
          - service: notify.tg_killer
            data:
              message: Okno Kuba zamknięte!
mode: single
  1. Wklej kod poprawnie, w tej “wersji” jest nieczytelny.

ScreenShot_20230201222256

  1. Wyzwalacz grupa, jeśli jedno okno zostanie zamknięte stan grupy zostanie zmieniony na “off”.
    Jeśli następne okno zostanie zamknięte stan grupy się nie zmieni , czyli wyzwalacz nie wyzwoli akcji.

  2. Najprościej, dodaj wszystkie okna do wyzwalacza , wtedy każda zmiana stany okien wyzwoli “wybór”

Blokowo:
Wyzwalacz : okno 1, okno 2, okno 3, okno 4

Akcja - Warunek : Jeśli okno 1 off to powiadomieni …
Akcja - Warunek : Jeśli okno 2 off to powiadomieni …

Masz coś takiego na myśli?

alias: Okno zamknięcie
description: Zamknięcie jakiegoś okna
trigger:
  - platform: state
    entity_id:
      - binary_sensor.okno_kuchnia_contact
    from: "on"
    to: "off"
  - platform: state
    entity_id:
      - binary_sensor.okno_kuba_contact
    from: "on"
    to: "off"
  - platform: state
    entity_id:
      - binary_sensor.okno_sypialnia_contact
    from: "on"
    to: "off"
  - platform: state
    entity_id:
      - binary_sensor.okno_salon_contact
    from: "on"
    to: "off"
condition: []
action:
  - if:
      - condition: state
        entity_id: binary_sensor.okno_kuchnia_contact
        state: "off"
    then:
      - service: notify.tg_killer
        data:
          message: Okno kuchnia zamknięte
  - if:
      - condition: state
        entity_id: binary_sensor.okno_kuba_contact
        state: "off"
    then:
      - service: notify.tg_killer
        data:
          message: Okno Kuba zamknięte
  - if:
      - condition: state
        entity_id: binary_sensor.okno_sypialnia_contact
        state: "off"
    then:
      - service: notify.tg_killer
        data:
          message: Okno sypialnia zamknięte
  - if:
      - condition: state
        entity_id: binary_sensor.okno_salon_contact
        state: "off"
    then:
      - service: notify.tg_killer
        data:
          message: Okno salon zamknięte
mode: single

To niestety nie działa jak trzeba, bo przy zamknięciu jednego okna, dostaje powiadomienia o wszystkich, a chcę tylko o tym które faktycznie zostało zamknięte.

Coś takiego :thinking:

action:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.okno_kuba_contact
            state: "off"
        sequence:
          - service: notify.tg_killer
            data:
              message: Okno Kuba zamknięte
      - conditions:
          - condition: state
            entity_id: binary_sensor.okno_kuba_contact
            state: "off"
        sequence:
          - service: notify.tg_killer
            data:
              message: Okno Kuba zamknięte
mode: single

Niestety, wciąż nie działa.

Kwestia pewnie tego że jest sprawdzany stan:

state: "off" 

Przez to każdy zamknięty czujnik daje status True

A tak naprawdę powinien być sprawdzany

    from: "on"
    to: "off" 

I wtedy by działało jak chcę.
Chyba nie ma sensu, zrobię 4 osobne automatyzacje po prostu.
Dzięki za pomoc :slight_smile: