Natywna integracja z Home Assistant (komponent) 2.2

  • 250 Odpowiedzi
  • 18303 Wyświetleń
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #210 dnia: Marca 09, 2024, 17:54:41 »
Po dzisiejszej aktu HA, ExtaLife nie odpala. Logi:


  File "/config/custom_components/extalife/helpers/core.py", line 63, in Core
    def get(cls, entry_id: ConfigEntry.entry_id) -> "Core":  # forward
                           ^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'ConfigEntry' has no attribute 'entry_id'

Niestety integracja jest słabo napisana i tutaj wychodzi błędna anotacja typów. By integracja działała zmieńcie ten plik custom_components/extalife/helpers/core.py:63

z
Cytuj
    def get(cls, entry_id: ConfigEntry.entry_id) -> "Core":  # forward

na

Cytuj
    def get(cls, entry_id: str) -> "Core":  # forward

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #211 dnia: Marca 09, 2024, 18:36:32 »
Po dzisiejszej aktu HA, ExtaLife nie odpala. Logi:


  File "/config/custom_components/extalife/helpers/core.py", line 63, in Core
    def get(cls, entry_id: ConfigEntry.entry_id) -> "Core":  # forward
                           ^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'ConfigEntry' has no attribute 'entry_id'

Niestety integracja jest słabo napisana i tutaj wychodzi błędna anotacja typów. By integracja działała zmieńcie ten plik custom_components/extalife/helpers/core.py:63

z
Cytuj
    def get(cls, entry_id: ConfigEntry.entry_id) -> "Core":  # forward

na

Cytuj
    def get(cls, entry_id: str) -> "Core":  # forward


Dziękuję, działa  :)

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #212 dnia: Marca 11, 2024, 09:08:29 »
Potwiedzam, jest problem. Ja zazwyczaj nie aktualizuję HA do wersji .0, tylko czekam na .1 lub .2. Tym razem się skusiłem i integracja się nie łąduje. Po opisie błędu w zasadzie nie wiem dlaczego.
Mineło sporo czasu bo chyba z 1.5 roku jak ostatni raz uruchamiałem środowisko developerskie dla HA i po odpaleniu go teraz okazało się, że nic nie działa. Docker Desktop się wali, WSL Ubuntu ma problemy i nijak nie ma szans, żeby szybko zdebugować problem. Do VSCode nawet nie dotarłem, bo Docker Desktop jest do tego potrzebny...

Najpierw będę muiał rozwiązać problemy z oprogramowaniem do programowania i dopiero jak mi się uda to pewnie jakąś poprawkę trzeba będzie wymyślić.

Na ten moment nie ma innej opcji jak zostać na HA 2024.2. Jak coś będę miał to dam znać.

Kolego @McGregor - jakieś pomysły? Oferowałeś pomoc, więc śmiało :)
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #213 dnia: Marca 11, 2024, 10:18:29 »
Potwiedzam, jest problem. Ja zazwyczaj nie aktualizuję HA do wersji .0, tylko czekam na .1 lub .2. Tym razem się skusiłem i integracja się nie łąduje. Po opisie błędu w zasadzie nie wiem dlaczego.
Mineło sporo czasu bo chyba z 1.5 roku jak ostatni raz uruchamiałem środowisko developerskie dla HA i po odpaleniu go teraz okazało się, że nic nie działa. Docker Desktop się wali, WSL Ubuntu ma problemy i nijak nie ma szans, żeby szybko zdebugować problem. Do VSCode nawet nie dotarłem, bo Docker Desktop jest do tego potrzebny...

Najpierw będę muiał rozwiązać problemy z oprogramowaniem do programowania i dopiero jak mi się uda to pewnie jakąś poprawkę trzeba będzie wymyślić.

Na ten moment nie ma innej opcji jak zostać na HA 2024.2. Jak coś będę miał to dam znać.

Kolego @McGregor - jakieś pomysły? Oferowałeś pomoc, więc śmiało :)

Jak pisałem wyżej problem jest w anotacji typów. entry_id jest typu str.

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #214 dnia: Marca 11, 2024, 10:27:32 »
Dzięki! :) Nie wiem dlaczego nie widziałem twoich postów gdy odpisywałem.

Niestety integracja jest słabo napisana i tutaj wychodzi błędna anotacja typów. By integracja działała zmieńcie ten plik
Chętnie powitam kogoś do pomocy. Poprawki mile widziane. Pythona poza tą integracją w ogóle nie używam, a i zaglądanie do niej tylko raz na parę miesięcy powoduje, że wiedza ulatuje z głowy. Kwestii typowania do tej pory nie rozpoznałem zbyt dobrze i w sumie nadal mnie to dziwi, dlaczego mamy błędy w runtime w języku który podobno nie ma typowania, a typowanie jest tylko po to, aby łatwiej pisało się kod. A przynajmniej tak to rozumiem.

Chętnie wsiadłbym już w fotel zwykłego użytkownika i tylko pobierał nowe wersje zamiast rozgryzać kolejne błędy i dłubać w pythonie, dlatego zachęcam jeśli ktoś się zna na pythonie i programowaniu dla HA - niech wesprze rozwój integracji lub nawet przejmie jej rozwój.
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #215 dnia: Marca 11, 2024, 10:44:41 »
Dzięki! :) Nie wiem dlaczego nie widziałem twoich postów gdy odpisywałem.

Niestety integracja jest słabo napisana i tutaj wychodzi błędna anotacja typów. By integracja działała zmieńcie ten plik
Chętnie powitam kogoś do pomocy. Poprawki mile widziane. Pythona poza tą integracją w ogóle nie używam, a i zaglądanie do niej tylko raz na parę miesięcy powoduje, że wiedza ulatuje z głowy. Kwestii typowania do tej pory nie rozpoznałem zbyt dobrze i w sumie nadal mnie to dziwi, dlaczego mamy błędy w runtime w języku który podobno nie ma typowania, a typowanie jest tylko po to, aby łatwiej pisało się kod. A przynajmniej tak to rozumiem.

Chętnie wsiadłbym już w fotel zwykłego użytkownika i tylko pobierał nowe wersje zamiast rozgryzać kolejne błędy i dłubać w pythonie, dlatego zachęcam jeśli ktoś się zna na pythonie i programowaniu dla HA - niech wesprze rozwój integracji lub nawet przejmie jej rozwój.

Zupełnie rozumiem. Ja zaś nie znam środowiska developerskiego HA. Ale tutaj możemy wymienić się wiedzą i się wesprzeć. Jeśli masz czas chętnie się zdzwonie gdzie opowiesz mi co i jak działa z tą integracją, oraz jak wygląda środowisko deweloperskie, a ja pomyślę na ile mogę pomóc.

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #216 dnia: Marca 11, 2024, 11:25:51 »
Zupełnie rozumiem. Ja zaś nie znam środowiska developerskiego HA. Ale tutaj możemy wymienić się wiedzą i się wesprzeć. Jeśli masz czas chętnie się zdzwonie gdzie opowiesz mi co i jak działa z tą integracją, oraz jak wygląda środowisko deweloperskie, a ja pomyślę na ile mogę pomóc.
No i to brzmi dobrze :) Napiszę na priv odnośnie tego.
Myślę, że środowisko developerskie HA to pikuś w porównaniu do samego programowania w pythonie. Dla mnie 5 lat temu jak zaczynałem to wszystko było jedną wielką niewiadomą, bo nie znałem w ogóle ani pythona, ani frameworku HA ani VS Code, ani Dockera ani githuba. Ale krok po kroku udało się w to wejść na poziomie amatora. Ale muszę przyznać, że programowanie tego typu to mały koszmarek. Co rusz jakies niezrozumiałe problemy ze środowiskiem i jego poszczególnymi składnikami. Problem z niedziałającym środowiskiem ogarnąłem, ale tylko częściowo. Docker był już zbyt stary i po aktualizacji odpalił się, ale nie działa mi już środowisko w którym programowałem HA. Nadal nie wiem dlaczego. Muszę zacząć stawiać to wszystko od nowa :/
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #217 dnia: Marca 12, 2024, 13:45:20 »
Potwiedzam, jest problem. Ja zazwyczaj nie aktualizuję HA do wersji .0, tylko czekam na .1 lub .2. Tym razem się skusiłem i integracja się nie łąduje. Po opisie błędu w zasadzie nie wiem dlaczego.
Mineło sporo czasu bo chyba z 1.5 roku jak ostatni raz uruchamiałem środowisko developerskie dla HA i po odpaleniu go teraz okazało się, że nic nie działa. Docker Desktop się wali, WSL Ubuntu ma problemy i nijak nie ma szans, żeby szybko zdebugować problem. Do VSCode nawet nie dotarłem, bo Docker Desktop jest do tego potrzebny...

Najpierw będę muiał rozwiązać problemy z oprogramowaniem do programowania i dopiero jak mi się uda to pewnie jakąś poprawkę trzeba będzie wymyślić.

Na ten moment nie ma innej opcji jak zostać na HA 2024.2. Jak coś będę miał to dam znać.

Kolego @McGregor - jakieś pomysły? Oferowałeś pomoc, więc śmiało :)
Ja mam również sporo do zrobienia w innych dziedzinach :) Ale plan miałem taki, by pobrać repo oraz jedynie skorygować znane błędy i wrzucić do repo. Jako błędy mam na myśli ten, który już został wskazany wraz z rozwiązaniem, ale również te, które będą błędami w przyszłości a na razie są wskazywane jako ostrzeżenia o utracie kompatybilności w przyszłym roku. Nie mam planów wchodzenia w kod pythona i wprowadzania tam zmian związanych z jakimiś udoskonaleniami, które zapewne można by wskazać. To byłoby ponad moje możliwości.
Home Asistant a w nim: 24 komponenty ExtaLife i kilka ExtaFree, EFC-01 z kilkoma nadajnikami

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #218 dnia: Marca 12, 2024, 14:39:31 »
Ja mam również sporo do zrobienia w innych dziedzinach :) Ale plan miałem taki, by pobrać repo oraz jedynie skorygować znane błędy i wrzucić do repo. Jako błędy mam na myśli ten, który już został wskazany wraz z rozwiązaniem, ale również te, które będą błędami w przyszłości a na razie są wskazywane jako ostrzeżenia o utracie kompatybilności w przyszłym roku.
To już jest dużo, nawet bardzo. Kolega @Łukasz być może zajmie się zrobieniem automatycznych testów, które będą na bieżąco wykrywać problemy w integracji w oparciu o wydania  developerskie HA na długo przed wydaniem wersji stabilnej/publicznej, ale to może potrwać, więc jeśli już teraz namierzyłeś jakieś problemy to wg mnie śmiało wrzucaj poprawki do repo, a praca kolegi Łukasza jeśli dojdzie do skutku to zaprocentuje z pewnością w przyszłości i być może tym sposobem uda się uniknąć utraty kompatybilności w kolejnych wydaniach HA. Zapraszam :)
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #219 dnia: Marca 24, 2024, 09:20:35 »
Jaki jest sposób by na razie przywrócić użyteczność Exta Life na HA?
« Ostatnia zmiana: Marca 24, 2024, 09:23:26 wysłana przez sarzyk »

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #220 dnia: Kwietnia 27, 2024, 16:51:30 »
Udało się przywrócić.
Mam pytanie jest ktoś co to próbuje ogarniać?
Może jakaś zbiórka dla tego kogoś by człowiek miał chęci do dalszej roboty.
Nie wyobrażam sobie zmianiac teraz wszystko na ZigBee. Coś co dziala

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #221 dnia: Kwietnia 27, 2024, 20:46:43 »
Mam pytanie jest ktoś co to próbuje ogarniać?

Przeczytaj tych kilka wpisów wcześniej w tym temacie i będziesz miał obraz, że jest jeden autor i raczej jednostki do pomocy w testowaniu. Wszystkich nas użytkowników jest 13 osób, jak wynika ze statystyk HA. Więc nie wiem o jakich kwotach myślisz aby autor poświęcił się tej pracy zarobkowo. Na dodatek Zamel nie jest zainteresowany współpracą i prawdopodobnie ma zupełnie inny pomysł na ten system.
Elementy systemu, których używam: Bramka AIS DEV3 "Jolka" + pilot+aplikacja WearOS, 32 urządzenia Exta Life z EFC-01, Mi-flora, Sonoff, ESP8266, ESP32 (ESPHome, Tasmota) Zigbee2mqtt, kamery IP, inteligentny głośnik w oparciu o AIS DEV1, urządzenia SIP.

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #222 dnia: Kwietnia 28, 2024, 22:39:21 »
Czyli dla mnie jest to jednoznaczne że śmiercią tego systemu.
Nigdy firmy zamel za poważną nie miałem. Co najwyżej mogą dzwonki (i to nie Smart) robić.

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #223 dnia: Maja 19, 2024, 20:57:52 »
Witam. Zmieniłem linie 63 jak w poprzednich wątkach zrobiłem downgrade HA i dalej nie działa. Czy z któryś kolego może pomóc aby przywrócić działanie integracji?


Logger: homeassistant.config_entries
Source: config_entries.py:442
First occurred: 20:52:14 (2 occurrences)
Last logged: 20:55:01

Error setting up entry efc-01 for extalife
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/extalife/pyextalife.py", line 849, in async_send_message_await_response
    await asyncio.wait_for(fut, timeout)
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 442, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/__init__.py", line 189, in async_setup_entry
    return await initialize(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/__init__.py", line 303, in initialize
    await data.async_start_polling(poll_now=True)
  File "/config/custom_components/extalife/__init__.py", line 365, in async_start_polling
    await self.async_execute_status_polling()
  File "/config/custom_components/extalife/__init__.py", line 372, in async_execute_status_polling
    await self._async_update_callback()
  File "/config/custom_components/extalife/__init__.py", line 392, in _async_update_callback
    channels = await self.controller.async_get_channels()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/pyextalife.py", line 480, in async_get_channels
    resp = await self._connection.async_execute_command(cmd, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/pyextalife.py", line 873, in async_execute_command
    response = await self.async_send_message_await_response(msg, command)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/pyextalife.py", line 856, in async_send_message_await_response
    raise TCPConnError("Timeout while waiting for API response!")       # pylint: disable=raise-missing-from
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
custom_components.extalife.pyextalife.TCPConnError




Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #224 dnia: Maja 21, 2024, 20:49:16 »
Ktoś może pomóc? Kontroler widzi, ale nic więcej (błąd konfiguracji)
Rejestrator: homeassistant.config_entries
Źródło: config_entries.py:575
Pierwsze zdarzenie: 20:22:28 (1 zdarzenia)
Ostatnio zalogowany: 20:22:28

Error setting up entry Exta for extalife
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 575, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/__init__.py", line 189, in async_setup_entry
    return await initialize(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/__init__.py", line 303, in initialize
    await data.async_start_polling(poll_now=True)
  File "/config/custom_components/extalife/__init__.py", line 365, in async_start_polling
    await self.async_execute_status_polling()
  File "/config/custom_components/extalife/__init__.py", line 372, in async_execute_status_polling
    await self._async_update_callback()
  File "/config/custom_components/extalife/__init__.py", line 392, in _async_update_callback
    channels = await self.controller.async_get_channels()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/pyextalife.py", line 492, in async_get_channels
    channels.extend(self._get_channels_int(resp))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/extalife/pyextalife.py", line 568, in _get_channels_int
    ch_no = state.get("channel", def_channel) if def_channel else state["channel"]      # pylint: disable=unused-variable
                                                                  ~~~~~^^^^^^^^^^^
KeyError: 'channel'