Połączenie 2 sensorów otwarcia okna

Cześć,
mam pytanie czy można połączyć dwa sensory otwarcia okna w jeden i uzyskać 3 statusy.
Jeden sensor na górze okna a drugi na dole.
Oba sensory - off - Zamknięte
Sensor górny - on, Sensor dolny - off - Uchylone
Oba sensory - on - Otwarte

Niestety nigdzie nie znalazłem jak można coś takiego zrobić.

A jaki miałby być ten 3 status ?

Skorzystaj z group

Na moje oko grupy tu nie pomogą (one są dobre dla sytuacji gdy chcemy sprawdzić stan wszystkich off lub wszystkich on).

By uzyskać coś co daje 3 stany najlepiej użyć template (jakkolwiek trzeba brać pod uwagę, że w HA nie ma takiej klasy urządzeń która by tu pasowała - nie będzie to okno ani drzwi, więc obsługę trzeciego stanu będzie trzeba zrobić samodzielnie).

Są czujniki otwarcia okna, które raportują również stan uchylone. Z tych które poznałem jest Shelly

Na drzwiach się nie sprawdził z uwagi na zużycie baterii. Ale to raczej typowa przypadłość dla czujników WiFi.

1 polubienie

Może nowy sensor na tej zasadzie :thinking:

  - sensor:
    - name: "Status okna"  
      icon: mdi:window-open
      state: >
        {% if is_state('sensor.sensor1', 'off') and is_state('sensor.sensor2', 'off') %}
          Zamknięte
        {% elif is_state('sensor.sensor1', 'off') and is_state('sensor.sensor2', 'on') %}
          Uchylone
        {% elif is_state('sensor.sensor1', 'on') and is_state('sensor.sensor2', 'on') %}
          Otwarte
        {% else %}
          N/A
        {% endif %}
1 polubienie

Jak realizowany jest stan uchylone ?

Oświetlenie i okna

---
platform: template
sensors:
      aktywne_oswietlenie:
        value_template: >-
          {% set lights = [states.light.downlight_z_komputer, states.switch.sw_kuchnia, states.light.led_board_4_1, states.switch.gniazdko_z_korytarz_left,
          states.switch.psw2, states.light.led_board_3, states.light.kuchnia_rgbw, states.switch.psw3, states.switch.psw1, states.light.downlight_z_lazienka] %}
          {% set lights_on = lights | selectattr('state','eq','on') | list %}
          {% set lights_name = lights | selectattr('state','eq','on') | map(attribute='name') | join(', ') %}
          {% if (lights_on | length ==1)%}
          {{ lights_name }} jest włączone
          {% elif (lights_on | length >1 )%}
          {{ lights_on | length}} lights are on
          {% else %}
          Wszystko Wyłączone
          {% endif %}
        
        
      otwarte_okna:
        value_template: >-
          {% set okna = [states.binary_sensor.okno_z_anita_contact, states.binary_sensor.okno_z_kuchnia_contact,
          states.binary_sensor.drzwi_balkon_contact] %}
          {% set okna_on = okna | selectattr('state','eq','on') | list %}
          {% set okna_name = okna | selectattr('state','eq','on') | map(attribute='name') | join(', ') %}
          {% if (okna_on | length ==1)%}
          {{ okna_name }} jest otwarte
          {% elif (okna_on | length >1 )%}
          {{ okna_on | length}} otwarte okna
          {% else %}
             Okna Zamknięte
          {% endif %}
        
        
        ```

Jest nawet kalibracja.

Jest jeszcze czujnik wibracji.

Prawie wszystkie ustawienia dowolnie konfigurowalne.

3 polubienia

Nie spodziewałem się że coś takiego istnieje :thinking:

1 polubienie