Widmotm
(Widmotm)
31 Sierpień 2023 10:58
1
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
rafkan
31 Sierpień 2023 11:21
2
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) }}"
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
Widmotm
(Widmotm)
31 Sierpień 2023 13:25
6
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
Po sprawdzeniu poprawności i restarcie HA , będziesz mógł tworzyć nowe sensory w pliku template.yaml
Po dodaniu nowego sensora możesz przeładować konfiguracje za pomocą
Narzędzia Deweloperskie
> YAML
> Encje komponentu szablon
1 polubienie
Widmotm
(Widmotm)
31 Sierpień 2023 17:09
8
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 …
artpc
(artur)
31 Sierpień 2023 17:22
10
Wystarczy Narzędzia deweloperskie → YAML
Nie trzeba restartować całego HA.
Widmotm
(Widmotm)
31 Sierpień 2023 17:24
11
zrobilem i restart ha i yaml i lipa
nie pojawia sie nowa encja cisnienia
artpc
(artur)
31 Sierpień 2023 17:24
12
Wciśnij guziczek na czujniku i zobacz czy się pojawi.
MariuszAK
(mariuszak)
31 Sierpień 2023 17:32
13
ma być tylko - name: "Realne ciśnienie"
nie - sensor_name:
Widmotm
(Widmotm)
31 Sierpień 2023 17:36
14
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
MariuszAK
(mariuszak)
31 Sierpień 2023 17:38
16
Widmotm:
platform: template
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
Widmotm
(Widmotm)
31 Sierpień 2023 17:44
17
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
MariuszAK
(mariuszak)
31 Sierpień 2023 18:04
19
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
rafkan
31 Sierpień 2023 18:07
20
Nie trzeba być programistą.
Do pliku
template.yaml
wklej poniższe:
@MariuszAK mnie uprzedził
1 polubienie
Widmotm
(Widmotm)
31 Sierpień 2023 18:24
21
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) }}"