Zaokrouhlení čísla v šabloně

Co umí šablony a jak je využívat.
Odpovědět
Uživatelský avatar
Tad
Administrátor fóra
Administrátor fóra
Příspěvky: 455
Registrován: 30. prosinec 2020, 00:14
Bydliště: 3D
Dal poděkování: 89 poděkování
Dostal poděkování: 52 poděkování

Zaokrouhlení čísla v šabloně

Příspěvek od Tad »

Šablony jsou moje smrt!
Potřeboval jsem do HA dostat aktualní kurzy USD a EUR, mám přes Open Exchange Rates udělanou integraci, která mi ukazuje aktuální kurz Kč vůči dolaru a v atributech má dalších x desítek měn jejich kurzy vůči dolaru.
excha.png
Udělal jsem si pomocí šablon entitu na dolar a na euro, dolar v cajku na dvě desetinný místa ovšem euro zase na milion, fakt to nechápu. Poradí prosím někdo?

Kód: Vybrat vše

- platform: template
  sensors:
    eur_kurz:
      friendly_name: "EUR kurz"
      value_template: "{{ (states('sensor.exchange_rate_sensor') | float(1)) / (state_attr('sensor.exchange_rate_sensor', 'EUR') | float(1)) |float|round(3) }}"
      icon_template: mdi:currency-eur
      unit_of_measurement: 'Kč'  
- platform: template
  sensors:
    usd_kurz:
      friendly_name: "USD kurz"
      value_template: "{{ (states('sensor.exchange_rate_sensor') | float(1) | round(2))|round(3) }}"
      icon_template: mdi:currency-usd
      unit_of_measurement: 'Kč' 
kurz.png
kurz.png (3.77 KiB) Zobrazeno 333 x
HAOS-x86-64, Intel J4125 Quad Core, 8GB RAM, 512GB SSD, Conbee II, zigbee2MQTT

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Pete30 »

Trochu se v těch tvých round ztrácím :lol:
Proč máš v eur_kurz:

Kód: Vybrat vše

| float(1)) |float|round(3) }}
nestačí

Kód: Vybrat vše

| float(1)) | round(2) }}
a v usd_kurz:

Kód: Vybrat vše

| round(2))|round(3) }}
nestačí

Kód: Vybrat vše

| round(2) }}
Nejsnažší je hodit tu šablonu do vývojářských nástrojů a tam můžeš experimentovat a přesně uvidíš co to dělá ;)
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Tad
Administrátor fóra
Administrátor fóra
Příspěvky: 455
Registrován: 30. prosinec 2020, 00:14
Bydliště: 3D
Dal poděkování: 89 poděkování
Dostal poděkování: 52 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Tad »

hele to uz je prave z toho experimentovani, flakam to tam hlava nehlava a vysledek porad stejny :D
HAOS-x86-64, Intel J4125 Quad Core, 8GB RAM, 512GB SSD, Conbee II, zigbee2MQTT

Uživatelský avatar
Tad
Administrátor fóra
Administrátor fóra
Příspěvky: 455
Registrován: 30. prosinec 2020, 00:14
Bydliště: 3D
Dal poděkování: 89 poděkování
Dostal poděkování: 52 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Tad »

vsechny round jsem vyhazel, nechal jsem pouze na konci a koukej co to dela pri zmene od 0 do 3, prostě vůbec tomu asi nerozumim....
Spravny vysledek je az ten pri round(3)...
0.png
1.png
2.png
3.png
HAOS-x86-64, Intel J4125 Quad Core, 8GB RAM, 512GB SSD, Conbee II, zigbee2MQTT

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Pete30 »

Nezkoušel jsi použít místo float, int
nebo takto

Kód: Vybrat vše

| round | int }}
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Lion® »

co udělá:

Kód: Vybrat vše

      value_template: "{{ '%.2f' | format(states('sensor.exchange_rate_sensor') | float) }}"
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Pete30 »

To by taky mohla být cesta jen bude potřeba přidat hodnotu float

Kód: Vybrat vše

{{ '%.2f' | format(states('sensor.exchange_rate_sensor') | float(0)) }}
Zkouším to u sebe pouze na senzoru ceny energie, kde mi round funguje ok a nemám to jak jinak vyzkoušet až Tad nám řekne
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Tad
Administrátor fóra
Administrátor fóra
Příspěvky: 455
Registrován: 30. prosinec 2020, 00:14
Bydliště: 3D
Dal poděkování: 89 poděkování
Dostal poděkování: 52 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Tad »

Kód: Vybrat vše

| round | int
tohle zaokrouhlí na 4 desetinná místa a navíc to hazí nesmysl: 21.2915

Kód: Vybrat vše

value_template: "{{ '%.2f' | format(states('sensor.eur_kurz') | float(1)) }}"
tohle maká v pohodě, akorát že to musí být další senzor, protože se nedá použít v šabloně kde je použito dělení, ale hodnota i formát odpovídá: 24.33

Děkuji za spolupráci, ale nejvíc mě štve že jsem si z toho nic neodnesl, prostě s šablonama budu asi bojovat vždycky :(
HAOS-x86-64, Intel J4125 Quad Core, 8GB RAM, 512GB SSD, Conbee II, zigbee2MQTT

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od Pete30 »

Abych tě uklidnil, já taky vždy bojuju, ale zase jsme to dali no né :P
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Zaokrouhlení čísla v šabloně

Příspěvek od kiklhorn »

Se šablonami jsem trochu bojoval, ale je k nim dokumentace
https://www.home-assistant.io/docs/conf ... emplating/
v té jsem hlavně zjistil že je to Jinja a že se používají filtry
https://jinja.palletsprojects.com/en/3. ... ers.format
Které vycházejí z pythoní syntaxe (C má to samé)
https://docs.python.org/3/library/stdty ... formatting
A pak už se dají do google hodit ty správné dotazy když vím na co se ptát
https://stackoverflow.com/questions/112 ... imal-point
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Odpovědět

Zpět na „Šablony“