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.
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.
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.
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.
Pakujesz się w jeszcze większe problemy
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 ?
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ć.
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.