Energa Mój Licznik - custom component

To trzeba to zdiagnozować… a bez żadnych konkretów o integracji licznika nikt nawet nie będzie w stanie pomóc. Od wielu postów narzekasz, ale danych diagnostycznych i konfiguracji nigdzie nie wrzuciłeś, swoją drogą proponuję na to osobny wątek, gdzie zacznij od encji źródłowych (tych z których chcesz liczyć zużycie godzinowe, bo jeśli one są błędnie skonfigurowane to żadnej historii nie będzie…).

Tyle to i ja wiem, ale jak? HA to dla mnie nowość. Siedzę w tym dopiero od 3 tygodni.

Encje źródłowe pochodzą z integracji Mój licznik - Energa Operator - tam się nic nie konfiguruje poza podaniem loginu i hasła do mojaenergia i wybraniem licznika. Tworzą się sensory, które opisałem.

I jestem daleki od narzekania, bo staram się podawać jak najwięcej informacji, które uważam za istotne dla rozwiązania problemu. Piszesz mi o danych diagnostycznych, czyli co mam podać. Logi? Sprawdzałem… nie ma żadnych błędów dotyczących tych konkretnych sensorów. Natomiast zastanawia mnie jedno. Sensor ma state_class: total, a moim zdaniem powinien mieć state_class: total_increasing. Nawet jak go zmienię to za jakiś czas wraca do pierwotnej watości.

Pokaż te źródłowe sensory (tj. te które potem obrabiasz w jakiś sposób) w Narzędziach deweloperskich (może być skrinszot byle czytelny).
Jeśli gdzieś masz jakieś konfiguracje YAML (lub można je uzyskać w trybie YAML) to wstawiasz ten YAML jako kod.

Jeśli chodzi o osobny wątek to najwyżej to wydzielę później (bo jakiekolwiek dane by to choćby sklasyfikować musimy mieć), ale dobry zwyczaj jest taki

  1. Jedno zagadnienie = jeden wątek (tu chodzi o niewrzucanie wielu różnych oddzielnych kwestii do jednego wątku, bo nie da rady takiego wątku potem rozdzielić na kilka tematycznych)
  2. Jeden problem = jeden wątek (w wątkach tasiemcach zazwyczaj jest trudno pomagać, bo mieszają się różne zagadnienia różnych osób, tu nie ukrywam pomyliłem Cię chyba z kimś innym - to tak odnośnie tego narzekania - sorry)
  3. Danego tematu nigdy nie ciągniemy równolegle w kilku wątkach (chodzi o to by wszystkie istotne dane gromadzić w jednym miejscu, a równoległa dyskusja w kilku wątkach jest też trudna do scalenia, a często niemożliwa)

Wątków nigdy nie jest za dużo, moderatorom jest łatwiej połączyć 2 osobne wątki w jeden jeśli stwierdzą, że one się kwalifikują do połączenia. ALE dyskusja na dany temat ma być w jednym, a nie w wielu naraz.

Ale go nam pokaż, a nie opisuj, z jakiej Integracji on pochodzi, może to jest błąd do zgłoszenia autorowi?

Nie bardzo rozumiem jak coś co mierzy wartość szczytową (a zakładam tak jest, bo tak ją nazwałeś) mogłoby mieć klasę stanu total_increasing, skoro taka wartość może przyjmować mniejsze wartości od wcześniejszych
(nie jestem abonentem Energa, więc wszystko co pokazujesz jest dla mnie niesprawdzalne, więcej empatii = nie żałuj opisu - czasem ktoś “po drugiej stronie internetu” musi się opierać w całości na tym co napisałeś nie mając możliwości sprawdzenia tego u siebie…)

Tak jak obiecałe popatrzyłem i oto co udało mi się ustalić.

Dlaczego to nie działa?

  1. Błędna klasa stanu (state_class): Twoja encja ma total. Dla Panelu Energia, który oczekuje przyrostowego odczytu licznika (jak w prawdziwym liczniku na ścianie), najbezpieczniejszą klasą jest total_increasing.
  2. Brak atrybutu last_reset: Jeśli sensor ma klasę total, HA często wymaga informacji, kiedy licznik zaczął liczyć od zera. Bez tego statystyki (LTS) nie są generowane.
  3. Brak historii (Błąd “Nie znaleziono statystyk”): Jeśli encja nie ma poprawnie zdefiniowanych atrybutów w momencie powstania, baza danych HA nie zapisuje jej do tabeli statystyk długoterminowych. To dlatego wykresy w Panelu Energia są puste lub wynoszą 0.

Rozwiązanie: Stworzenie “Poprawnej” Encji (Template Sensor)

Skoro integracja Energa nadpisuje zmiany w narzędziach deweloperskich, musisz stworzyć własny sensor pomocniczy, który przepisze dane z Energi na format akceptowalny przez Panel Energia.

Dodaj poniższy kod do swojego pliku configuration.yaml (lub przez pomocnika “Template”):

template:
  - sensor:
      - name: "Zużycie Szczyt - Poprawne"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >
          {{ states('sensor.twoja_encja_z_energi_szczyt') | float(0) }}
        attributes:
          last_reset: "1970-01-01T00:00:00+00:00"

      - name: "Zużycie Pozaszczyt - Poprawne"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >
          {{ states('sensor.twoja_encja_z_energi_pozaszczyt') | float(0) }}
        attributes:
          last_reset: "1970-01-01T00:00:00+00:00"

raczej nie wszystko w tym kodzie będzie poprawnie więc popatrz sobie przed wklejeniem najlepiej to sprawdź np: przez AI

Mam nadzieję że to pomoże.

Poczekaj te 2 godziny po zrobieniu tego.

Tylko wyjaśnij mi jedno - jak zużycie szczytowe może być monotonicznie rosnące? tu jest jakiś błąd w rozumowaniu. Tego AI nie zauważyło.

Prawdopodobnie trzeba użyć jakąś inną encję jako źródłową dla statystyk… konkretnie tą co pokazuje bieżący stan licznika (jednokierunkowego!).

Być może chodzi o to że w teryfie G12/G12w jest potocznei nazywana teryfa szczytowa i pozaszczytwa. Teryfa szczytowa jest wtedy gdy cena jest wysoka a pozaszczytowa odwrotnie.

OK nie pojąłem tego, bo nikt tak u nas nie mówi. :stuck_out_tongue_winking_eye:

Utworzyłem pomocników i podmieniłem w panelu energii, nie pozostaje mi nic innego jak czekanie na nowy odczyt od Energa. Dam znać czy zadziałało.

Witam. JA w temacie. Zainstalowalem integracje i mam cos takiego

czy w sensorach energy consumed mam je zamienic na moj licznik energi dla calego mieszkania

Chodzi mi o wyswietlanie i zliczanie energii dla poszczegolnych stref w taryfie G12W. Obecnie panej energii wyglada tak

Czesc,
mam ustawione skanowanie co 60 min
ale to nie dziala


w liczniku na stronie pokazuja sie dane co godzine a componencie raz na dobe