Sposób na zamianę wyświetlania zużycia wody w m3 na zł

Dzięki czytnikowi wmbus, instalacji ESPHome, odczytuję z encji stan liczników wody.
Pokazuje on na bieżąc wartości w m3 zużytej wody.


Czy jest jakiś sposób aby (znając cenę za m3 wody) wyświetlać na karcie wartość w zł (np. za miesiąc, dzień) ?

Tworzysz sensor w konfiguracji z encją zużycia x cena. I tak każdą dla dzień, miesiąc, rok

      dzien_woda_koszt_glowny:
        friendly_name: "Dzien_woda_koszt_glowny"
        unit_of_measurement: 'zł'
        value_template: "{{ (states('sensor.daily_water_dom_glowny') | float(0) * 5.29) | round(2) }}"
        icon_template: mdi:currency-eur

W karcie używam dodatku secondaryinfo-entity-row
wtedy mam to w jednej linii
image

type: entities
entities:
  - entity: sensor.daily_water_dom_glowny
    name: Zużycie wody dzienne
    type: custom:secondaryinfo-entity-row
    secondary_info: 'Koszt [[ sensor.dzien_woda_koszt_glowny ]] zł '
2 polubienia

Wykorzystaj utility_meter

Zużycie wody jest dostępne w Ustawienia► Dashboardy► Energia

Dałem użyj stałej ceny, wpisałem kwotę


Niestety, chyba coś źle robię, bo nie widzę przeliczenia

Czy w panelu Energia masz zdefiniowane zużycie energii elektrycznej?

Nie. Nie mam takiej mozżiwosci

W takim razie dodając tylko zużycie wody nic więcej w panelu Energia nie zobaczysz.
Skorzystaj z obliczenia kosztów wody podanych przez @ajakubek .

@ajakubek
Pomożesz ?
W sensie, że bardziej mnie naprowadzisz jak to zrobić.
Może jakiś tutorial z tego się zrodzi :wink:

Przeliczenie będziesz miał nie na tych słupkach tylko pod wykresem w podsumowaniu.
plik z konfiguracją masz tylko configuration.yaml czy rozbite na !include?
Możesz poczytać wątek
To są dane surowe z licznika.
Masz już utworzony w configuration.yaml lub w pomocniku utility_meter który resetuje go dziennie, miesięcznie i rocznie?

W sumie to ci pokazał jak ma wyglądać konstrukcja sensora template zamiast nazw jego encji wstawisz swoje i swoją cenę , sensory konfigurujesz wg dokumentacji

Spróbuj sam sklecić jak będzie źle to sie poprawi i zmień te m2 w tytule postu bo wodę liczysz nie w kwadracie a w sześcianie :slight_smile:

  • nic nie rozbijałem na !include - nawet za bardzo nie wiem o czym piszesz.
  • jedynie co potrafiłem zrobić, to z wykorzystaniem pomocnika utworzyłem licznik mediów

    tak uzupełniłem

    “WODOMIERZ Stan licznika wody Apator ciepła” to jest jedna z dwóch encji utworzonych podczas konfiguracji odczytu wodomierzy

zaznaczyłem jeszcze okresowe resetowanie

i mam takie encje

@ajakubek napisał

Tworzysz sensor w konfiguracji z encją zużycia x cena.

Jak to zrobić ? bo to chyba będzie mi potrzebne
to coś stąd ?

Masz już wszystkie dane aby za pomocą template utworzyć sensor którym wyliczysz koszt wody, kolega @ajakubek podał Ci przykład a @MariuszAK wskazał dokumentacje template.

Problem jest taki, że to chyba “za wysokie progi na moje stare nogi”.
Utworzyć sensor, template … chyba brakuje mi wiedzy :neutral_face:
Pewnie to proste, ale ja z tych co potrzebują w takiej sytuacji poprowadzenia od A do z. Niestety, nawet nie wiem od czego miałbym zacząć.
Dziękuję Wam za chęci.

BTW
Cały ten Home Assistant jest tak mało intuicyjny, delikatny i czuły na błędy w konfiguracji, kapryśny i skomplikowany, że aż mógłby być zniechęcający do użytkowania, ale ma on “coś” takiego :pinched_fingers: w sobie…, że ciągle przy nim siedzę (…i tak wracam jak mnie wk…) :upside_down_face:

Pozdro :wink:

Już bardziej nie da się poprowadzić od a do z (pomijam zrobienie tego za Ciebie), masz gotowy przykład podany w jednym z powyższych postów:

dzien_woda_koszt_glowny:
  friendly_name: "Dzien_woda_koszt_glowny"
  unit_of_measurement: 'zł'
  value_template: "{{ (states('sensor.daily_water_dom_glowny') | float(0) * 5.29) | round(2) }}"
  icon_template: mdi:currency-eur

Wystarczy podstawić do niego Twoje dane tzn. encję którą utworzyłeś pomocnikiem i podmienić wartość 5.29 czyli koszt metra sześciennego lub litra wody (chyba, że masz taką samą).
Dostosować powyższy wpis do wymogów template - dokumentacja wklejona powyżej i tyle.
Nie ma tutaj żadnej filozofii wystarczy tylko chcieć.
P.S.
Do tworzenia w template skorzystaj z opcji Szablon znajdującej się w Narzędziach deweloperskich - będziesz od razu wiedział czy zrobiłeś go poprawnie.

@rafkan - dla Ciebie jako weterana wszystko oczywiste, ale ja nowicjusz, nieśmiały i skromny, nie do końca jeszcze ogarniam całego tego HA.

Już miałem się poddać (bo to pierwszy raz :upside_down_face: ), ale zaryzykuję i jeszcze raz wystawię na próbę Waszą cierpliwość.
Chcąc mi pomóc, podpowiadacie słuszne metody, ale piszecie skrótowcami, pomijając (dla Was) rzeczy nieistotnie banalne, a dla mnie elementarne. Stąd ta moja “tępość”.
Jedna (z czterech) encji którą utworzyłem za pomocą pomocnika, nazywa się

WODA CIEPLA STAN_dzien

Koszt m3 zimnej wody to u mnie 14,170 zł
Czyli tak ma wyglądać ten zapis:

WODA CIEPLA STAN_dzien:
friendly_name: “WODA CIEPLA STAN_dzien”
unit_of_measurement: ‘zł’
value_template: “{{ (states(‘sensor.WODA CIEPLA STAN_dzien’) | float(0) * 14.17) | round(2) }}”
icon_template: mdi:currency-eur

i gdzie mam to wkleić ?

a co z kolejnym zapisem, wcześniej przedstawianym

type: entities
entities:
  - entity: sensor.daily_water_dom_glowny
    name: Zużycie wody dzienne
    type: custom:secondaryinfo-entity-row
    secondary_info: 'Koszt [[ sensor.dzien_woda_koszt_glowny ]] zł '

BTW
Dodam tylko, że nie chcę być postrzegany jako leń i jak już rozwiążę dany problem (z Waszą pomocą), to zawsze staram się opisać to z przykładami, tak żeby inni, tacy jak ja, mieli już z górki.
np. TU lub TU

Identyfikator encji w systemie nie może być DUŻYMI literami i powinien być ześlimakowany - czyli zamiast spacji “podłoga” _ (mam na myśli to WODA CIEPLA STAN_dzien: powinien wyglądać woda_ciepla_stan_dzien:)

Druga sprawa nie używaj cytowania, bo to rozwala YAMLe, zamiast tego wklejasz jak jest, ale przed blokiem kodu i za nim w poście dodajesz oddzielne linijki zawierające po 3 apostrofy odwrotne ``` (znak spod klawisza tyldy, to nie jest zwykły apostrof spod klawisza cudzysłowu).
Zedytowałem kawałek twojego ostatniego posta żebyś mógł zobaczyć, tak samo popraw inne kawałki kodu, które wklejałeś.

PS cenimy, to że się starasz i podajesz opisy rozwiązań napotkanych problemów

Widzę, że nie zajrzałeś do dokumentacji template, teraz jak chcesz aby się czegoś nauczyć i osiągnąć zamierzony cel, poniżej wklejam dostosowany do nowej wersji template kod zamieszczony przez kolegę @ajakubek:

template:
  - sensor:
      - name: "Dzien_woda_koszt_glowny"
        unit_of_measurement: 'zł'
        state:  "{{ (states('sensor.daily_water_dom_glowny') | float(0) * 5.29) | round(2) }}"
        icon: mdi:currency-eur

Reszta w Twoich palcach. Wystarczy poczytać dokumentacje template lub poszukać gotowca na forum.

@rafkan - dokumentacja template - nie znam angielskiego (uczono mnie ruskiego) Strona przetłumaczona jest również dla mnie jednak mało zrozumiała.
Temat odpuszczam. Poczekam, może Ktoś kiedyś zrobi jakiś tutorial (choć zdaję sobie sprawę, że to raczej niemożliwe, zbyt niszowy temat).

@szopen - wszystkie encje które mam lokalnie mam DUZYMI LITERAMI, te z chmury, małymi. Nie wiedziałem, że są takie zasady. Chyba teraz jakbym zaczął zmieniać ich nazwy, niezły zrobiłby się kocioł.

Nie nazwy, tylko identyfikatory w systemie. Nazwy mogą być jakie chcesz.
Dziwne, że walidacja YAMLa Ci przechodzi.

Jeśli identyfikator powstaje automatycznie przez ześlimakowanie nazwy, to ma automatycznie konwertowane litery na małe, a spacje na podłogi.
Ale jeśli tworzysz go z palca, to powinien spełniać reguły.