Home-Assistant-custom-components-Tauron-AMIplus icon indicating copy to clipboard operation
Home-Assistant-custom-components-Tauron-AMIplus copied to clipboard

Brak automatycznego sciagania danych

Open offtopix opened this issue 7 months ago • 44 comments

Witam, od jakiegos czasu nie sciaga mi danych automatycznie od Taurona. Musze restartowac HA zeby cos pobralo. Zaczelo sie od jakiejs aktualizacji HA nie wiem od ktorej, aktualnie moja wersja to: Core 2025.4.4 Supervisor 2025.04.1 Operating System 15.2 Interfejs użytkownika 20250411.0

Integracja w wersji: v2.6.2

Jedyne bledy w logu to: Setup of platform tauron_amiplus is taking longer than 60 seconds. Startup will proceed without waiting any longer. I ostrzezenia: Setup of sensor platform tauron_amiplus is taking over 10 seconds. Waiting on integrations to complete setup: {('tauron_amiplus', 'xxxxxxxxxxxxxxxxxxx'): xxxxxxxxxxxxxxxx}.

Jak wspominalem tylko restart wymusza pobranie nowych danych.

offtopix avatar May 02 '25 06:05 offtopix

Witam, Mam to samo. Zaczęło się jakieś 2 tygodnie temu. Do tego czasu wszystko chodziło bez zarzutów. Chyba już z 5 razy instalowałem dodatek od nowa, myśląc, że coś jest po mojej stronie. Za każdym razem zaciągało mi bieżące dane ale zostawiłem HA na 2 dni i z tego co widzę, to kolejnych danych już nie pobrało. Dzisiaj zauważyłem, że nie trzeba resetować HA. "Wystarczy" wejść w ustawienia integracji (buton Konfiguracja) i wciśnięciu "Odśwież", pokręci chwilę klepsydrą, po czym dane się synchronizują. Myślałem już nad jakimś obejściem, żeby to jakoś zautomatyzować, ale z tego co widzę to nie tylko mnie to spotkało. Rozumiem, że wszystkim użytkownikom tego genialnego dodatku aktualizacja działa przez cały czas? Może ktoś z aktualną wersją HA to potwierdzić?

Wersja dodatku: v2.6.2 Core 2025.3.3 Supervisor 2025.04.1 Operating System 15.0 Interfejs użytkownika 20250306.0

Rejestrator: homeassistant.components.sensor Źródło: helpers/entity_platform.py:426 integracja: Sensor (dokumentacja, Problemy) Pierwsze zdarzenie: 30 kwietnia 2025 16:58:35 (5 zdarzenia) Ostatnio zalogowany: 21:36:48

Setup of platform tauron_amiplus is taking longer than 60 seconds. Startup will proceed without waiting any longer.

eltonio79 avatar May 02 '25 20:05 eltonio79

I have this same problem

ArmenVanlasso avatar May 02 '25 23:05 ArmenVanlasso

U mnie to samo. Włączyłem rejestrowanie debugowania, zobaczę czy coś tam w logach diagnostycznych będzie.

U mnie było tak na pewno w wersji 2025.4.2 i zostało po aktualizacji do .4.

Landiss avatar May 03 '25 06:05 Landiss

Również po którejś z aktualizacji padło automatyczne pobieranie danych.

Lukas1qaz avatar May 05 '25 06:05 Lukas1qaz

Przeładowanie i niekiedy także rekonfiguracja są potrzebne. Te kroki sprawiają, że dane są pobierane. Nie trzeba ponownie uruchamiać systemu. U mnie problem zaczął się wraz ze zmianą czasu. Z początku dane "przechodziły" do pierwszej godziny dnia następnego. Od jakiegoś tygodnia nie są pobierane bez ręcznego pogonienia.

3jam3 avatar May 05 '25 10:05 3jam3

W logach nie widzę nic podejrzanego. Zostawię je jeszcze włączone na jeden dzień, bo coś mi się pomyliło i nie sprawdziłem dzisiaj czy dane były pobrane zanim przeładowałem integrację. U Was dalej nie działa bez przeładowania? Pytam, bo w logach debug wygląda, jakby wszystko działało poprawnie, są wpisy tego rodzaju:

2025-05-05 07:22:46.356 DEBUG (MainThread) [custom_components.tauron_amiplus.coordinator] [590322400601427728]: Updated all statistics
2025-05-05 07:22:46.357 DEBUG (MainThread) [custom_components.tauron_amiplus.coordinator] Finished fetching tauron_amiplus data in 6.557 seconds (success: True)
2025-05-05 07:22:46.357 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: consumption_reading
2025-05-05 07:22:46.358 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: consumption_daily
2025-05-05 07:22:46.362 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: consumption_monthly
2025-05-05 07:22:46.364 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: consumption_yearly
2025-05-05 07:22:46.364 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: consumption_last_12_months
2025-05-05 07:22:46.366 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: generation_reading
2025-05-05 07:22:46.374 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: generation_daily
2025-05-05 07:22:46.374 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: generation_monthly
2025-05-05 07:22:46.375 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: generation_yearly
2025-05-05 07:22:46.375 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: generation_last_12_months
2025-05-05 07:22:46.376 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: balanced_daily
2025-05-05 07:22:46.376 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: balanced_monthly
2025-05-05 07:22:46.378 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: balanced_yearly
2025-05-05 07:22:46.397 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: balanced_last_12_months
2025-05-05 07:22:46.450 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: consumption_configurable
2025-05-05 07:22:46.458 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: generation_configurable
2025-05-05 07:22:46.458 DEBUG (MainThread) [custom_components.tauron_amiplus.sensor] [590322400601427728]: Updating data for entry: balanced_configurable```

Landiss avatar May 06 '25 06:05 Landiss

@Landiss U Was dalej nie działa bez przeładowania?

U mnie dalej nie działa bez. Teraz z tą różnicą, że po przeładowaniu dane pobierane są tylko za okres od 0:00 do 12:00.

3jam3 avatar May 06 '25 06:05 3jam3

Mam to samo. Też nie widzę błędów w logach.

skoczo avatar May 06 '25 07:05 skoczo

U mnie dalej nie działa bez. Teraz z tą różnicą, że po przeładowaniu dane pobierane są tylko za okres od 0:00 do 12:00.

Jak dane w eLiczniku są od 0 do 12, to innych w integracji nie dostaniesz przecież

PiotrMachowski avatar May 06 '25 10:05 PiotrMachowski

Do tej pory dane były pobierane zawsze z całej doby lub w ogóle. Takie "połówkowe" pobieranie jest czymś nowym. Tak samo jak pobieranie danych z pierwszej godziny doby, co przejściowo się działo po zmianie czasu na DST. Zapewne jest to problem po stronie Tauronu, ale tak czy inaczej dzieje się niekoniecznie dobrze.

3jam3 avatar May 06 '25 10:05 3jam3

Do tej pory dane były pobierane zawsze z całej doby lub w ogóle. Takie "połówkowe" pobieranie jest czymś nowym. Tak samo jak pobieranie danych z pierwszej godziny doby, co przejściowo się działo po zmianie czasu na DST. Zapewne jest to problem po stronie Tauronu, ale tak czy inaczej dzieje się niekoniecznie dobrze.

Do tej pory Tauron nie zwracał danych, których nie było (czyli jeśli dane były od 0 do 12, to API zwracało tylko 13 wartości). Teraz zwraca wszystkie 24 wartości - dla brakujących zwracane są zera. W takim wypadku integracja nie jest w stanie rozróżnić sytuacji "brakuje danych" od "w tej godzinie zużycie było zerowe".

Najprawdopodobniej taka sama sytuacja jest ma również miejsce, jeśli za cały dzień nie ma danych - wtedy za cały dzień pobierane jest użycie 0, a że zwrócone dane wyglądają na kompletne, to trafiają do cache, przez co przy następnych odświeżeniach nie są pobierane od nowa. Przeładowanie integracji/restart HA powoduje wyczyszczenie cache, przez co dane są pobierane od nowa.

PiotrMachowski avatar May 06 '25 10:05 PiotrMachowski

Skąd ta zmiana w podejściu Tauronu? Co z tym zrobić, żeby w integracji było dobrze? :-)

3jam3 avatar May 06 '25 11:05 3jam3

Skąd ta zmiana w podejściu Tauronu?

To ich wewnętrzne API do wykresów na stronie, a nie "legitne" publiczne, więc mogą sobie tam robić co zechcą.

Co z tym zrobić, żeby w integracji było dobrze?

Potrzebna jest zmiana w kodzie. Na ten moment tymczasowym rozwiązaniem jest przeładowanie integracji, można to rozwiązać taką automatyzacją:

YAML
alias: Tauron Update
description: ""
triggers:
  - at: "19:00:00"
    trigger: time
    id: scheduled
conditions: []
actions:
  - data:
      config_entry_id: ec36c11053d696303e00be209fdcb0b1
    action: homeassistant.reload_config_entry
mode: single

PiotrMachowski avatar May 06 '25 11:05 PiotrMachowski

Dzięki. Spróbuję szczęścia z automatyzacją. Kiedy można się spodziewać zmian w kodzie integracji?

3jam3 avatar May 06 '25 11:05 3jam3

Kiedy można się spodziewać zmian w kodzie integracji?

🤷‍♂️ Jak będą to będą. Info o tym na pewno się pojawi w tym wątku

PiotrMachowski avatar May 06 '25 11:05 PiotrMachowski

Jedno pytanie: czy aby zamiast triggers nie powinno być trigger (YAML uses trigger, not plural). No i jeszcze jedno, zamiast trigger powinno być chyba użyte platform? Dla wyzwalaczy opartych na czasie należy użyć platform: time, tak?

alias: Tauron Update
description: ""
trigger:
  - platform: time
    at: "19:00:00"
    id: scheduled
condition: []
action:
  - service: homeassistant.reload_config_entry
    data:
      config_entry_id: ec36c11053d696303e00be209fdcb0b1
mode: single

3jam3 avatar May 06 '25 11:05 3jam3

Użyłem starej automatyzacji ze starą składnią, ale też będzie działać. Po zapisaniu sama przemigruje się na nową składnię.

Wersja z nową składnią (dla dociekliwych)
alias: Tauron Update
description: ""
triggers:
  - at: "19:00:00"
    trigger: time
    id: scheduled
conditions: []
actions:
  - action: homeassistant.reload_config_entry
    data:
      config_entry_id: ec36c11053d696303e00be209fdcb0b1
mode: single

PiotrMachowski avatar May 06 '25 11:05 PiotrMachowski

Racja. Zapomniałem o zmianach. Jeszcze raz dzięki.

3jam3 avatar May 06 '25 12:05 3jam3

u mnie ściąga już tylko do 2 maja, restart i przeładowanie nie doładowuje danych

skoczo avatar May 06 '25 12:05 skoczo

@skoczo A masz dane w eLiczniku?

PiotrMachowski avatar May 06 '25 12:05 PiotrMachowski

@skoczo A masz dane w eLiczniku?

Tak, w eliczniku widzę dane.

skoczo avatar May 06 '25 12:05 skoczo

@skoczo w takim razie włącz debugowanie i zobacz jeszcze raz logi po reloadzie integracji.

PiotrMachowski avatar May 06 '25 12:05 PiotrMachowski

Automatyzacja się uruchomiła się o 19:00 ale nie przeładowała integracji. Zwróciła to: Error: extra keys not allowed @ data['config_entry_id']. Ręczne przeładowanie zawsze działa i skutkuje pobraniem aktualnych danych.

3jam3 avatar May 06 '25 17:05 3jam3

Mam pytanie co do tej automatyzacji - config_entry_id: ec36c11053d696303e00be209fdcb0b1 jest uniwersalny czy unikatowy dla każdego użytkownika?

Stefan1k avatar May 06 '25 19:05 Stefan1k

Mam pytanie co do tej automatyzacji - config_entry_id: ec36c11053d696303e00be209fdcb0b1 jest uniwersalny czy unikatowy dla każdego użytkownika?

Tak, każda instancja HA ma indywidualne identyfikatory dla config entry

PiotrMachowski avatar May 06 '25 20:05 PiotrMachowski

Jednak powinno być tak (entry_id zamiast config_entry_id):

alias: Tauron Update
description: ""
triggers:
  - at: "19:00:00"
    trigger: time
    id: scheduled
conditions: []
actions:
  - action: homeassistant.reload_config_entry
    data:
      entry_id: ec36c11053d696303e00be209fdcb0b1
mode: single

PiotrMachowski avatar May 06 '25 20:05 PiotrMachowski

Mam pytanie co do tej automatyzacji - config_entry_id: ec36c11053d696303e00be209fdcb0b1 jest uniwersalny czy unikatowy dla każdego użytkownika?

Tak, każda instancja HA ma indywidualne identyfikatory dla config entry

Jakiś znalazłem, o tej samej długości, ale wolałbym się upewnić gdzie go szukać.

Stefan1k avatar May 06 '25 20:05 Stefan1k

Mam pytanie co do tej automatyzacji - config_entry_id: ec36c11053d696303e00be209fdcb0b1 jest uniwersalny czy unikatowy dla każdego użytkownika?

Tak, każda instancja HA ma indywidualne identyfikatory dla config entry

Jakiś znalazłem, o tej samej długości, ale wolałbym się upewnić gdzie go szukać.

Entry_id jest przechowywany w pliku core.config_entries w folderze .storage. Użyj File Editor lub SSH. Wyszukaj nazwę integracji w pliku JSON, aby znaleźć jej entry_id.

3jam3 avatar May 07 '25 04:05 3jam3

Jednak powinno być tak (entry_id zamiast config_entry_id):

alias: Tauron Update description: "" triggers:

  • at: "19:00:00" trigger: time id: scheduled conditions: [] actions:
  • action: homeassistant.reload_config_entry data: entry_id: ec36c11053d696303e00be209fdcb0b1 mode: single

Rozwiązałem to nieco inaczej. Mam dwa liczniki.

alias: Tauron Update 2
description: ""
triggers:
  - at: "19:00:00"
    id: scheduled
    trigger: time
conditions: []
actions:
  - repeat:
      count: 2 # Adjust this to match the number of integrations
      sequence:
        - data:
            entry_id: >-
              {{ ['FIRST_INTEGRATION_ID',
              'SECOND_INTEGRATION_ID'][repeat.index - 1] }}
          action: homeassistant.reload_config_entry
mode: single

3jam3 avatar May 07 '25 04:05 3jam3

Najłatwiej będzie pewnie tak:

alias: Tauron Update
description: ""
triggers:
  - at: "19:00:00"
    trigger: time
    id: scheduled
conditions: []
actions:
  - action: homeassistant.reload_config_entry
    data:
      entry_id: "{{ config_entry_id('sensor.tauron_amiplus_dom_current_consumption_reading') }}"
mode: single

Oczywiście id encji każdy musi wrzucić swoje

PiotrMachowski avatar May 07 '25 08:05 PiotrMachowski