Licznik otwarcia drzwi

Chciałbym ustawić sobie licznik otwarcia drzwi
W konfiguracji mam tak:

 - platform: template
   sensors: 
door_count:
        friendly_name: "ilosc otwartych drzwi"
        entity_id:  
            - binary_sensor.czujnik_drzwi_balkon_contact
        value_template: >-
          {{ states.binary_sensor | selectattr('state', 'eq', 'on') | selectattr('attributes.device_class', 'eq', 'door') | list | count | int }}

Niestety wartość wyświetlana to 1 gdzie popełniłem błąd?

@ozzinse chcesz to zrobić dla jednego czujnika czy dla grupy.
Wpis:

entity_id:
- binary_sensor.czujnik_drzwi_balkon_contact

sugeruje, że dla większej liczby czujników.
Jeśli dla jednego to ten wpis powinien wyglądać tak:

entity_id: binary_sensor.czujnik_drzwi_balkon_contact

I po drugie, ten czujnik przyjmuje stany “on” i “off”?

Masz na mysli liczbę otwartych drzwi (tak wynika z konfiguracji) a nie licznik ile razy te drzwi zostały otworzone (tak wynika z tytułu posta).Tutaj masz dokładnie taki sam przypadek jezeli chodzi o liczbę otwartych drzwi w danym momencie https://community.home-assistant.io/t/counter-of-sensor-windows-door-motion/77680

Z podanego przez Ciebie przykładu wpis powinien wyglądać tak:

sensor:
    - platform: template
      sensors:
        door_count:
          entity_id: binary_sensor.czujnik_drzwi_balkon_contact
          value_template: >-
             {{ states | selectattr('entity_id','in',state_attr('binary_sensor.czujnik_drzwi_balkon_contact','entity_id')) | selectattr('state','eq','on') | list | count }}

ponieważ chcesz sprawdzać tylko jeden czujnik.

Coś mam nie tak

Chcesz sprawdzać tylko jedne drzwi i czy po wpisaniu powyższego kodu i restarcie HA, otwierałeś i zamykałeś drzwi poadane w encji?

Tak tylko jedne. Otwierałem i zamykałem z 20x

Nie napisałeś, więc pytam ponownie - czujnik ma stany on i off?

image

Teoretycznie powinno Ci zliczać. W wolnej chwili zobaczę u siebie czy to zadziała

Ja korzystam z group:

group:
  doors:
    name: Doors
    icon: mdi:door
    entities:
      - binary_sensor.0x00158d00053fac0e_contact
      - binary_sensor.0x00158d00045ca805_contact

a potem sensor do tego:

sensor:
  - platform: template
    sensors:
      open_door_count:
        value_template: {{expand('group.doors') | selectattr ('state','eq','on') | list | count }}
        icon_template: >
          {% if states.group.doors.state == 'off' %}
            mdi:door-closed
          {% elif states.group.doors.state == 'on' %}
            mdi:door-open
          {% else %}
            mdi:help
          {% endif %}

ale niestety to nie działa poprawnie - sensor.open_door_count powinien mieć wartość 2

Capture

Natomiast w menu Developer Tools -> TEMPLATE wszystko działa poprawnie.
Jest bug w HA dotyczący tego (w kolejności):




i otwarty issues:

@ozzinse, Marcin może rozwiązaniem liczenia otwarć będzie platforma “statistics”

  - platform: statistics
    entity_id: encja czuknika otwarcia
    name: Ile razy otwarte drzwi
    sampling_size: 720
    max_age:
      hours: 12  # tutaj można ustawić z jakiego okresu ma zliczać

Statistic nie działa :frowning:

@ozzinse powracam do Twojego tematu czyli licznika otwarcia drzwi. W ostatnim filmie @artur używa integracji “history_stats” do pomiaru czasu ogrzewania w trakcie doby.
Korzystając z tej integracji można też zliczać np. liczbę otwarcia drzwi/okna. Poniżej działający licznik, jeśli jeszcze nie znalazłeś rozwiązania:

sensor:
  - platform: history_stats
    name: Okno w kuchni
    entity_id: binary_sensor.openclose_25
    state: 'on'
    type: count
    start: '{{ now().replace(hour=0, minute=0, second=0) }}'
    end: '{{ now() }}'  

Dziękuję. Przetestuję

Działa
Idzie to jakoś rozbijać na dni / miesiące?

Co do licznika, jak używam licznika wbudowanego w HA (counter - pomocnik) do liczenia ilości sprzątań (po wykonaniu 5 sprzątań, odkurzacz jedzie do śmietnika). Do countera mam prostą automatyzację w NR.