Czujnik Aqara - ciśnienie atmosferyczne - coś mi nie działa

Stworzyłem konfiguracje zgodnie z opisem:
sensor:
platform: template
sensors:
sensor.0x00158d0001f50a96_pressure:
unit_of_measurement: ‘hPa’
value_template: “{{ (states(‘sensor.pressure’)|float * (1 - (0.0065 * 100) / (states(‘sensor.temperature’)|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}”
icon_template: mdi:gauge

Weryfikacja daje taki błąd:

Invalid config for [sensor.template]: invalid slug sensor.0x00158d0001f50a96_pressure (try sensor_0x00158d0001f50a96_pressure) for dictionary value @ data['sensors']. Got OrderedDict([('sensor.0x00158d0001f50a96_pressure', None), ('unit_of_measurement', 'hPa'), ('value_template', "{{ (states('sensor.pressure')|float * (1 - (0.0065 * 100) / (states('sensor.temperature')|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}"), ('icon_template', 'mdi:gauge')]). (See ?, line ?).

Zgodnie z zalceniem błędu zmieniłem nazwę sensora na “sensor./sensor_” i tym razem taki błąd:

  Invalid config for [sensor.template]: expected a dictionary for dictionary value @ data['sensors']['icon_template']. Got 'mdi:gauge'
expected a dictionary for dictionary value @ data['sensors']['sensor_0x00158d0001f50a96_pressure']. Got None
expected a dictionary for dictionary value @ data['sensors']['unit_of_measurement']. Got 'hPa'
expected a dictionary for dictionary value @ data['sensors']['value_template']. Got "{{ (states('sensor.pressure')|float * (1 - (0.0065 * 100) / (states('sensor.temperature')|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}". (See ?, line ?).

@ozzinse w miejsce “sensor.pressure” musisz dodać swoją encję od ciśnienia oraz w miejsce “sensor.temperature” encje od temperatury. Oczywiście wspomniane encje powinny być z tego samego czujnika.

Konfig:
sensor:
platform: template
sensors:
sensor_0x00158d0001f50a96_pressure:
unit_of_measurement: ‘hPa’
value_template: “{{ (states(‘pressure’)|float * (1 - (0.0065 * 100) / (states(‘temperature’)|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}”
icon_template: mdi:gauge

Błąd:
Invalid config for [sensor.template]: expected a dictionary for dictionary value @ data[‘sensors’][‘icon_template’]. Got ‘mdi:gauge’
expected a dictionary for dictionary value @ data[‘sensors’][‘sensor_0x00158d0001f50a96_pressure’]. Got None
expected a dictionary for dictionary value @ data[‘sensors’][‘unit_of_measurement’]. Got ‘hPa’
expected a dictionary for dictionary value @ data[‘sensors’][‘value_template’]. Got “{{ (states(‘pressure’)|float * (1 - (0.0065 * 100) / (states(‘temperature’)|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}”. (See ?, line ?).

Dostępne encje:
battery: 74
voltage: 2955
temperature: 25.37
humidity: 48.36
pressure: 1001
linkquality: 76
unit_of_measurement: hPa
friendly_name: Ciśnienie łazienka
device_class: pressure

@ozzinse to co podałeś to jest encja czujnika (pewnie masz go dodanego przez CC2531) w której są dostępne dane. Z tej encji którą podałeś musisz sobie wyciągnąć za pomocą “template” encje ciśnienia i temperatury. Tutaj Pralka LG jak zrobić aby ładnie wyświetlało informacje na Dashboardzie masz przykład mój oraz @Marcin_Domański jak to zrobić.

No dobra z tego co rozumiem to zrobiłem tak:
sensor:
platform: template
sensors:
pressure:
friendly_name: “Cisnienie”
unit_of_measurement: ‘hPa’
value_template: “{{ state_attr(‘sensor.0x00158d0001f50a96_pressure’,‘pressure’) }}”

W HA powstało coś nowego

I teraz ten Twój wzór powinien działać
Marcin

@ozzinse o to chodziło, teraz zrób tak samo z encją temperatury.
Jak będziesz miał w/w encje wstawiasz je do wzoru i będzie działać.

Walidacja przeszła po restarcie wartość to 0

Konfiguracja:
sensors:
pressure:
friendly_name: “Cisnienie”
unit_of_measurement: ‘hPa’
value_template: “{{ state_attr(‘sensor.0x00158d0001f50a96_pressure’,‘pressure’) }}”
temperature:
friendly_name: “Temp”
unit_of_measurement: ‘°C’
value_template: “{{ state_attr(‘sensor.0x00158d0001f50a96_pressure’,‘temperature’) }}”
cisnienie_atmosferyczne:
unit_of_measurement: ‘hPa’
value_template: “{{ (states(‘Cisnienie’)|float * (1 - (0.0065 * 312) / (states(‘Temp’)|float + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}”
icon_template: mdi:gauge

To sa te rzeczy które powstały w HA


1 po wejściu do środka pokazuje wartości
Pozostałe już nie

@ozzinse powoli idziemy do przodu, a teraz zrób zrzut ekranu encji czujnika aqara tak aby była widoczna w ten sposób (dla przykładu podaje encję swojego oczyszczacza)


i podaj mi nazwę tej encji (u mnie to jest: “fan.air_purifier”) powinna być w stylu “sensor.nazwa”

Tutaj encja

Nazwa:
sensor.0x00158d0001f50a96_pressure

Jeszcze uściśle ponieważ ja mam u siebie conbee i tutaj trochę inaczej są widoczne urządzenia po dodaniu - encja którą podałeś to encja która Ci powstała przy dodaniu czujnika?
Jeśli tak to swoje dotychczasowe wpisy (dotyczące tego tematu) w konfiguracji zastąp tym poniżej:

  - platform: template
    sensors:
      temperatura:
        friendly_name: "Temperatura Łazienka"
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('sensor.0x00158d0001f50a96_pressure', 'temperature') }}"
      cisnienie_atmosferyczne:
        unit_of_measurement: 'hPa'
        value_template: "{{ (states('sensor.0x00158d0001f50a96_pressure')|float * (1 - (0.0065 * 100) / (states('sensor.temperatura')|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}"
        icon_template: mdi:gauge

Wartość wysokości nad poziomem morza wpisałem z Twojego pierwszego postu.

Po dodaniu czujnika powstaje mi kilka encji:

Dodałem konfigurację restart i czekamy

Czasem zajmuje mu trochę czasu zanim spłyną dane.
Dam znać wieczorem aktualnie robię dziury w ścianie aby zamontować - https://www.houseiq.pl/pl/p/Przekaznik-dopuszkowy-1-Kanal-bez-N-ZigBee-TUYA/1044

@ozzinse ta informacja zmienia wpisy w konfiguracji (o takie dane chodzi).
Teraz wykasuj z konfiguracji tą część:

      temperatura:
        friendly_name: "Temperatura Łazienka"
        unit_of_measurement: '°C'
        value_template: "{{ state_attr('sensor.0x00158d0001f50a96_pressure', 'temperature') }}"

a ten wpis zmień na:

 - platform: template
    sensors:
      cisnienie_atmosferyczne:
        unit_of_measurement: 'hPa'
        value_template: "{{ (states('sensor.0x00158d0001f50a96_pressure')|float * (1 - (0.0065 * 100) / (states('sensor.0x00158d0001f50a96_temperature')|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}"
        icon_template: mdi:gauge

Na scren-ie który wrzuciłeś jest encja temperatury i ciśnienia z tego czujnika. Zmień tak jak Ci podałem i będzie działać.

Działa :slight_smile:
A znajdziesz czas aby pomóc mi z pralka ciałem wyciągnąć informacje na główny ekran "za ile kończy nie pranie:.

Marcin

To super. Problem rozwiązany. Zamykam.
PS. Napisz w nowym temacie, odnośnie pralki.