Aquara czujnik cisnienia

Przepraszam że znowu otwieram temat ale nie mogę sibie z tym poradzić a że jestem jeszcze mało doświadczony przy konfiguracjii ha pozwolilem sobie napisac
Mam czujnik aquara tem,wilg,cisnienie
Chciałem żeby ciśnienie było pokazywane zgodnie z “prawdą” a nie surowe
wpisałem w configuration.yaml:

hash ciśnienie

sensor:
- platform: template
  sensors:
    sensor name: cisnienie
    unit_of_measurement: 'hPa'
    value_template: "{{ (states('sensor.czujnik_zew-poludnie_pressure')|float (0) * (1 - (0.0065 * 312) / (states('sensor.czujnik_zew_poludnie_temperature')|float (0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}"
    icon_template: mdi:gauge

Przy wczytywaniu konfiguracji yaml wywala mi same błędy

Cannot quick reload all YAML configurations because the configuration is not valid: Invalid config for [sensor.template]: invalid slug sensor name (try sensor_name) for dictionary value @ data[‘sensors’]. Got {‘sensor name’: ‘cisnienie’, ‘unit_of_measurement’: ‘hPa’, ‘value_template’: “{{ (states(‘sensor.czujnik_zew-poludnie_pressure’)|float (0) * (1 - (0.0065 * 312) / (states(‘sensor.czujnik_zew_poludnie_temperature’)|float (0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}”, ‘icon_template’: ‘mdi:gauge’}. (See ?, line ?).

Może ktoś coś podpowie

Masz napisane co powoduje niepoprawne sprawdzenie konfiguracji.
Po za tym dostosuj powyższy kod do nowego formatu template:

sensor:
- platform: template
  sensors:
    cisnienie: # bez spacji, bez polskich znaków
      friendly_name: "Ciśnienie" # tutaj nazwa jaką chcesz 

...

W nowy formacie template:
W template.yaml

#                                    "Realne ciśnienie"
  - sensor: 
    - name: "Realne ciśnienie"
      unit_of_measurement: 'hPa'
      icon: mdi:gauge
      unique_id: realnecisnienie      
      state: "{{ (states('sensor.test_4_temperatura_pressure')|float(0) * (1 - (0.0065 * 312) /
                 (states('sensor.test_4_temperatura_temperature')|float(0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}"

:thinking:
Czy wszystkie dane wejściowe do stworzenia tego sensora są stałe czy zależne od np. nad poziomem morza … ( 273.15,-5.257) ?

A może po prostu zamiast:

sensor name: cisnienie

z podkreślnikiem:

sensor_name: cisnienie
1 polubienie

Czyli w configuration.yaml musze wpisac

sensor:
- platform: template
  sensors:
    cisnienie: # bez spacji, bez polskich znaków
      friendly_name: "Ciśnienie" # tutaj nazwa jaką chcesz 

a w swtworzonym pliku template.yaml

#                                    "Realne ciśnienie"
  - sensor: 
    - name: "Realne ciśnienie"
      unit_of_measurement: 'hPa'
      icon: mdi:gauge
      unique_id: realnecisnienie      
      state: "{{ (states('sensor.czujnik_zew_poludnie_pressure')|float(0) * (1 - (0.0065 * 312) /
                 (states('sensor.czujnik_zew_poludnie_temperature')|float(0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}"

Tylko w template.yaml
By wszystko działało poprawnie musisz mieś wpis configuration.yaml

ScreenShot_20230831144113

Po sprawdzeniu poprawności i restarcie HA , będziesz mógł tworzyć nowe sensory w pliku template.yaml

:information_source:Po dodaniu nowego sensora możesz przeładować konfiguracje za pomocą
Narzędzia Deweloperskie > YAML > Encje komponentu szablon

1 polubienie

dodałem w configuration.yaml linie
template: !include template.yaml
w pliku template.yaml wpisałem

“Realne ciśnienie”

  - sensor: 

    - sensor_name: "Realne ciśnienie"

      unit_of_measurement: 'hPa'

      icon: mdi:gauge

      unique_id: realnecisnienie      

      state: "{{ (states('sensor.czujnik_zew_poludnie_pressure')|float(0) * (1 - (0.0065 * 312) /

                 (states('sensor.czujnik_zew_poludnie_temperature')|float(0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}"

i niema tej encji …

Zrobiłeś restart HA ?

Wystarczy Narzędzia deweloperskie → YAML
Screenshot - 31.08.2023 , 19_22_12
Nie trzeba restartować całego HA.

zrobilem i restart ha i yaml i lipa
nie pojawia sie nowa encja cisnienia

Wciśnij guziczek na czujniku i zobacz czy się pojawi.

ma być tylko - name: "Realne ciśnienie" nie - sensor_name:

tak jest wpisane

"# “Realne ciśnienie”

sensor:

- platform: template

  sensors:

      cisnienie_atmosferyczne:

        unit_of_measurement: 'hPa'

        value_template: "{{ (states('sensor.czujnik_zew_poludnie_pressure')|float * (1 - (0.0065 * 100) / (states('sensor.czujnik_zew_poludnie_temperature')|float + (0.0065 * 100) + 273.15)) ** -5.257) | round(1) }}"

        icon_template: mdi:gauge

Edit:

@MariuszAK po wcisnieciu guzika ma sie pojawic jako encja czy jako urzadzenie

to niepotrzebne skoro umieściłeś konfigurację wtemplate

sensor:
  - name: "Ciśnienie realne"
    state: 
    unit_of_measurement: 

Kilka postów wyżej było ok tylko popraw to name

to co zamiescilem wyzej jest wpisane w template.yaml
w configuration.yaml jest tylko jedna linia
template: !include template.yaml

Edit:

mozesz mi sklecic jak to powinno poprawnie wygladac?
niestety nie jestem programistą wiec idzie mi jak po grudzie

sensor:
  - name: "Realne ciśnienie"
    unit_of_measurement: 'hPa'
    icon: mdi:gauge
    unique_id: realnecisnienie      
    state: "{{ (states('sensor.czujnik_zew_poludnie_pressure')|float(0) * (1 - (0.0065 * 312) /(states('sensor.czujnik_zew_poludnie_temperature')|float(0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}"

możesz zobaczyć stan

1 polubienie

Nie trzeba być programistą.
Do pliku

template.yaml

wklej poniższe:
@MariuszAK mnie uprzedził

1 polubienie

Wszystko działa, rzeczywiście musiałem wzbudzić czujniki bo nie wyskakiwało
Dzięki wszystkim za pomoc

Gdybyś natomiast nie korzystał z template: !include template.yaml to wtedy w configu popełniasz coś takiego

template:
  - sensor:
      - name: "Realne ciśnienie"
        unit_of_measurement: 'hPa'
        icon: mdi:gauge
        unique_id: realnecisnienie      
        state: "{{ (states('sensor.czujnik_zew_poludnie_pressure')|float(0) * (1 - (0.0065 * 312) / (states('sensor.czujnik_zew_poludnie_temperature')|float(0) + (0.0065 * 312) + 273.15)) ** -5.257) | round(1) }}"