PiotrMachowski / Home-Assistant-custom-components-Tauron-AMIplus

This sensor uses unofficial API to get energy usage and generation data from https://elicznik.tauron-dystrybucja.pl.
MIT License
128 stars 34 forks source link

Jeden dzień ominięty #181

Open 3jam3 opened 4 months ago

3jam3 commented 4 months ago

Mimo, że w serwisie Tauron Licznik dane z 31 marca są w całości dostępne, nie są pobrane i widoczne w Energia. Dane z dnia poprzedzającego (30.03) i następującego (01.04) są pobrane i widoczne. Nie pomaga przeładowanie. Co może być przyczyną? Czyżby zmiana czasu miała na to wpływ? config_entry-tauron_amiplus-96827ac5cf20295a5bf6107ffdd036c9.json

pkordal commented 4 months ago

u mnie dokladnie to samo.

PiotrMachowski commented 4 months ago

Tak, to wina zmiany czasu. Do ogarnięcia 👍

Adinfo78 commented 1 month ago

Po instalacji nie miałem danych historycznych, ale dzisiaj się pojawiły po ponownym uruchomieniu usługi. Pobrało dane od 21 lipca 2023 (czas wykonania około 65-70 sekund), brakuje niektórych dni: 31.03.2024, 26.04.2024, 31.05.2024, 19.06.2024 - nadpisałem je drugi raz ponownie, ale to niczego nie zmieniło. Dobrze jak by inni sprawdzili u siebie czy mają te dni "puste". Więc to nie koniecznie wina zmiany czasu a coś innego, chyba, że jakiś skrypt/algorytm ma ustawione 30 dni na sztywno, ale z kolei 26 kwietnia i 19 maja nie pasuje do tego. Było by super jak by dorobić możliwość pobrania danych od do (z określonego okresu jak czegoś brakuje, albo importu z pliku csv/json itp. - może w przyszłości udało by się zrobić taką funkcjonalność albo możliwość ręcznego dopisania danych z brakujących dni - jeżeli autorowi czas na to pozwoli). W każdym razie dziękuję za kawał dobrej roboty!

PiotrMachowski commented 1 month ago

@Adinfo78 sprawdź na stronie elicznika, czy w tych dniach jest pełen zestaw danych dla każdej godziny

Adinfo78 commented 1 month ago

Rozumiem, że nie chodzi o główną zakładkę z informacjami. Po wejściu dalej widzę następujący problem. W innych dniach co pisałem to samo jest. Wyjątek to wspomniany wcześniej 31.03.2024 związany ze zmianą czasu. 19 06 2024_pobrano_niekompletne_dane24.04.2026 brakuje jednej godziny 10-11 (w 31.03.2024 też ale innej - nie pisze, że niekompletne dane) 24 06 2024_brak_jednej_godziny

PiotrMachowski commented 1 month ago

Aktualnie integracja przetwarza tylko dni, w których są kompletne dane. Wynika to z faktu, że dla niekompletnych dni wartości mogą jeszcze ulec zmianom.

Możliwość ręcznego wyzwolenia pobrania wybranego okresu czasu już jest dostępna przy użyciu usługi tauron_amiplus.download_statistics

Adinfo78 commented 1 month ago

Czyli istnieje szansa, że te dane się uzupełnią wstecz z licznika do panelu eLicznik? (wydaje mi się, że to może nie nastąpić ale nie sprawdzałem tego - bo to jednak dane sprzed paru miesięcy - czy licznik może tak długo przechowywać dane). Np. czy to może mieć związek z zanikiem prądu i brakiem przez godzinę w danym dniu - wtedy wartości będą zerowe, ale licznik ich nie wyśle do panelu - czy dobrze mi się wydaje?

Rozumiem, ze chodzi o tę datę początkową (bo końcowej nie ma na tę chwilę): tauron_amiplus download_statistics

PiotrMachowski commented 1 month ago

Czyli istnieje szansa, że te dane się uzupełnią wstecz z licznika do panelu eLicznik?

Szansa istnieje, ale nie wiem jak duża. Widziałem, że dane miesiąc wstecz się pojawiały, starszych nie miałem okazji sprawdzić. Nie wiem w sumie jak liczniki się zachowują przy zaniku prądu, stawiam, że tutaj też może to zależeć od konkretnego modelu.

Rozumiem, ze chodzi o tę datę początkową (bo końcowej nie ma na tę chwilę)

Tak, dane są pobierane od daty początkowej do . Jest to spowodowane aktualną implementacją statystyk długoterminowych w HA - tak czy siak integracja by musiała przeliczyć wszystkie dane od tamtego momentu.

Adinfo78 commented 1 month ago

Czyli to pomijanie niekompletnych dni jest celowe. Mimo wszystko dobrze było by (powiedzmy na okres starszy niż miesiąc wstecz ) mieć 23 godziny bez tej 1 godziny - bo jednak jak licznik był wyłączony z powodu braku zasilania to te dane zawsze pozostaną "puste" - a wartości przyjąć 0 produkcji i 0 poboru jeżeli w imporcie brakuje tej godziny. Czy dorobienie takiej możliwości wchodzi w grę? - np. jakieś zaznaczenie opcji, która powoduje, że niekompletne dni są również pobierane a w miejsce brakujących danych zapisywane wartości zerowe.

Czy dla testu u siebie mogę zmienić skrypty (które pliki musiałbym zmodyfikować) w taki sposób aby nie pomijały takich dni z brakującymi godzinami i czy to wymaga dodania pustych wartości w te konkretne dni, czy sprawa jest bardziej skomplikowana. Ciekawi mnie w jaki sposób (jakim warunkiem) to jest sprawdzane.

PiotrMachowski commented 1 month ago

Pewnie by istniała możliwość takiej zmiany, tylko to by musiało być dobrze przemyślane i przetestowane. Na ten moment niestety nie mam na to czasu

Oczywiście możesz sobie samemu zmodyfikować kod integracji, aczkolwiek nie gwarantuję, że będzie ona działać poprawnie po tej zmianie. Walidacja danych jest tutaj - drugi warunek w ifie. Prawdopodobnie po jego usunięciu integracja nie będzie działać poprawnie - może przestać pobierać dane dla ostatniego dnia (istnieje możliwość, że się to poprawi dzień później, ale nie gwarantuję).