Dane z Falownika Kaco kWht

Witam serdecznie dopiero się uczę HA i nie wszystko ogarniam potrzebuję pomocy w zrobieniu encji, mój falownik nie przysyła wartości dziennej kWh tylko wyłącznie wartość kWhT (Total)

Dzisiaj mam wartość 7876,27 KWHT i tyle wyprodukował falownik podczas swojej pracy , chciał bym z tego parametru zliczać wartość Kwh dla 1 doby np dd 12 w nocy do dnia następnego.

Utility meter będzie dla Ciebie rozwiązaniem.

P.S.

ok tylko jak to ogarnąć , dopiero zaczynam

Tutaj masz opis integracji a poniżej jeden z wątków opisanych na forum przez @Marcin_Domański

Witam , temat u mnie powrócił do tej pory realizowałem to przez liczniki utility meter ale oszalały mi te liczniki i zaczęły zapisywać jakieś wartości z kosmosu, zrobiłem nowy licznik ponieważ mam encję z falownika która podaje globalną ilośc energii wyprodukowanej wogule ale coś nie gra.

utility_meter:
  dzienna_produkcja_pv:
    source: sensor.produkcja_kwh_total
    name: Dzienna Produkcja Falownika
    cycle: daily
  miesieczna_produkcja_pv:
    source: sensor.produkcja_kwh_total
    name: Miesieczna Produkcja Falownika
    cycle: monthly
  roczna_produkcja_pv:
    source: sensor.produkcja_kwh_total
    name: Roczna Produkcja Falownika
    cycle: yearly

Tu mam problem bo po resecie licznika dziennego nadpisał mi dane z licznika Globalnego czyli nie zaczął liczyć od nowa.
Naprowadźcie mnie proszę co skopałem albo czego ja nie rozumiem.

Zrzut ekranu 2022-01-31 081424

Natychmiast, czy dopiero gdy falownik “wstał”?
Co się dzieje z sensor.produkcja_kwh_total gdy falownik nie pracuje - zmienia wartość na 0, czy pozostaje niezmieniony?
Zobacz w historii co jest w total.

Do północy dane pozostawały bez zmian a o 00:00 zaciągało wartość z licznika globalnego.
A jednak o północy jest chwilowa przerwa

To jest przyczyna i tak być nie może.
Musisz znaleźć przyczynę zerowania i to usunąć.
Może trzeba filtrować odczytane wartości - tylko na >0, bo zerowa wartość jest logicznie niemożliwa.

Ok a jak ustawić aby np. utility meter logował do 23:59 i zaczynał o 00:01 myślę że przeskoczenie tej dziury naprawiło by problem

Pakujesz się w jeszcze większe problemy :slight_smile:
Próbujesz maskować przyczynę.
Pokaż konfigurację sensor.produkcja_kwh_total, a spece od HA powiedzą jak pozbyć się zerowych wartości.

Ten sensor robię przez Template z encji falownika sensor.kaco_inverter_watthours poprostu tam mi podaje w Wh jak to konwerteruje do kWh.
Ale z tego co zauważyłem ta encja się nie resetuje, to czemu następuję reset template sensora ?

Najwidoczniej “coś” resetujesz północy - może wszystko? :slight_smile:
To może Cię na coś naprowadzi.

Ale tam jest kombinacja… muszę zrobić research czemu następuje po północy kilku sekundowa przerwa.
Może przyczyną jest to że z wygody używam GitHub - custom-components/templatesensor: Add template sensors from the UI.

Być może?
Nie zagłębiałem się ale coś o tym jest napisane

zrobiłem wpis w konfiguracji “normalny” template sensor zobaczę o północy czy sytuacja się powtórzy, narazie dziękuję za wsparcie.

No niestety w nocy w głównej encji znalazłem 4 sekundową dziurę od 00:00:06 do 00:00:10

Template sensor mam skonfigurowany w taki sposób

template:
    sensor:
      - name: "Falownik produkcja kWh"
        state:  "{{ (states('sensor.kaco_inverter_watthours') | float(0) / 1000) | round(2) }}"
        unit_of_measurement: kWh

Może ktoś podpowie jak skonfigurować to aby ignorowało wartość 0 ?
znalazłem kilka przykładów ale dla zupełnie innej konstrukcji sensora i nie potrafię tego zaadoptować.

Przeczytałem za Ciebie to co podlinkowałem :confused: sic!

Najprościej byłoby pomnożyć wszystkie zależne czujniki razem i sprawdzić, czy wynik jest > 0. Jeśli którykolwiek z czujników jest niedostępny, |floatfiltr dla tego czujnika zwróci 0, więc całe mnożenie będzie równe zero.

availability_template: >
  {{ states('sensor.fibarowp9_electric_consumed_kwh') | float *
     states('sensor.fibarowp10_electric_consumed_kwh') | float *
     states('sensor.fibarowp11_electric_consumed_kwh') | float *
     states('sensor.fibarowp12_electric_consumed_kwh') | float * 
     states('sensor.fibarowp13_electric_consumed_kwh') | float *
     states('sensor.fibarowp14_electric_consumed_kwh') | float *
     states('sensor.fibarowp15_electric_consumed_kwh') | float * 
     states('sensor.fibarowp16_electric_consumed_kwh') | float * 
     states('sensor.fibarowp17_electric_consumed_kwh') | float > 0 }}

Próbowałeś na końcu dodać “> 0”

Dodatkowo ostatni wpis pokazuje jak “filtrować” aby kolejne wartości były tylko rosnące.
Po przeczytaniu tego myślę, że nawet ja poradziłbym sobie z tym problemem.

1 Like

Ok zrobię taki wpis ale znowu muszę czekać do północy :wink:

EDIT

No niestety w tej konfiguracji zaproponowanej przez ciebie wogule nie zlicza nic

Załóż nowy temat dokładnie z tym problemem, bo inaczej nikt tu nie zajrzy.

Poadziłem sobie z problemem takim wpisem

{% set value = states('sensor.kaco_inverter_watthours') | float %}{{ value / 1000 | if value else states('produkcja_falownika_w_kwh') }}

Mam tylko problem z zaokrągleniem bo robi mi 3 miejsca po przecinku , za bardzo nie wiem w który miejscu tutaj wstawić ROUND(1)