eWuPi
(eWuPi)
October 18, 2021, 8:31pm
1
Mam podobny problem do:
ponieważ mam problem z zaokrąglaniem, a powyższy wątek jest oznaczony jako rozwiązany:
sensor:
- platform: mqtt
name: "Aeris temperatura wywiewu"
state_topic: "aeris/raw/274"
unit_of_measurement: "°C"
device_class: temperature
value_template: |-
{{ value | round(1) *0.1 | round(1) }}
Z topic otrzymuję wartość 227
RobinI30
(RobinI30)
October 18, 2021, 9:01pm
2
Spróbuj {{ value | (float*0.1) | round(1) }}
eWuPi
(eWuPi)
October 18, 2021, 9:50pm
3
Bez nawiasu wydaje się być OK
Co dziwne z nawiasem wywalało błąd konfiguracji
{{ value | float * 0.1 | round(1) }}
Edit:
Nie pomogło …
macek
October 19, 2021, 6:36am
4
Przetestowane w Narzędziach deweloperskich:
{## Imitate available variables: ##}
{% set my_test_json = {
"temperature": 224.0000002 ,
"unit": "°C"
} %}
przed:
{{ my_test_json.temperature }} {{ my_test_json.unit }}.
po:
{{ (((my_test_json.temperature) | float ) /10) | round(2) }} {{ my_test_json.unit }}
wynik końcowy:
eWuPi
(eWuPi)
October 19, 2021, 7:44am
5
@macek
Dzięki, przetestuję jeden dzień i dam znać, bo nie zawsze wyskakują te zera.
Coś mi się wydaje, że ważniejszym jest wykonać działanie “/10” niż “*0.1”
Dam znać
eWuPi
(eWuPi)
October 19, 2021, 7:54am
6
Już mam odpowiedź i jest tak jak myślałem.
- platform: mqtt
name: "Test1"
state_topic: "aeris/raw/221"
unit_of_measurement: "°C"
device_class: temperature
value_template: |-
{{ value | float / 10 | round(1) }}
- platform: mqtt
name: "Test2"
state_topic: "aeris/raw/221"
unit_of_measurement: "°C"
device_class: temperature
value_template: |-
{{ value | float * 0.1 | round(1) }}
po czasie
Tak, że zaokrąglanie zmienną jest
1 Like
eWuPi
(eWuPi)
October 20, 2021, 10:25am
7
Dodam jeszcze jedną informację, że za float od wersji 2021.12 musi być (0):
value_template: |-
{{ value | float(0) / 10 | round(1) }}
2 Likes