Natywna integracja z Home Assistant (komponent) 2.2

  • 222 Odpowiedzi
  • 6831 Wyświetleń
*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Natywna integracja z Home Assistant (komponent) 2.2
« dnia: Wrzesień 20, 2022, 22:35:33 »
Witajcie umiłowani w HA bracia i siostry! 😉
Trochę niespodziewanie wydałem kolejną wersję, abyście w końcu mogli spróbować najnowszej wersji HA.

UWAGA - TO WYDANIE TESTOWE (beta). PEWNE RZECZY MOGĄ JESZCZE NIE DZIAŁAĆ PRAWIDŁOWO DO MOMENTU WYDANIA WERSJI STABILNEJ

Do pobrania z github: https://github.com/dgtal1/extalife_custom_component/releases/tag/2.2b5

A teraz changelog:
Nowe funkcje
* Dla atrybutów encji sensor tworzone są nowe, oddzielne encje sensor. Obecnie obsługiwane atrybuty: stan baterii (batery_state) i wszystkie mierzalne wartości MEM-21 na danej fazie. Można to dość prosto rozszerzyć na pozostałe encje typu light, switch, climate itp - dajcie znać jakich info potrzebujecie z atrybutów innych urządzeń.
* Powiadomienia z kontrolera o aktywacji sceny Exta Life są teraz dostępne w HA jako zdarzenie extalife_scene. Możliwe jest dizęki temu wykrycie wciśnięcia klawisza nadajnika Exta Life, jeśli skojarzy się go ze sceną wyzwalaną nadajnikiem

Breaking changes
* dodatkowe atrybuty stanu zredukowane do minimum, aby encja sensor była zgodna z wytycznymi dla programistów HA

Poprawki
* poprawki dla ROB-21 autorstwa @SebiCo
* naprawiony warning o niezgodności "Detected code that uses deprecated async_get_registry to access entity registry, use async_get instead.""
* naprawiony błęd kompatybilności dla encji light,
* różne mniejsze poprawki
* kod sformatowany w celu dopasowania do stylu kodowania HA

Znane problemy
* stan baterii dla urządzeń bateryjnych w rzeczywistości posiada tylko dwie wartości 100% i 0%. Wynika to z modelu danych kontrolera, który raportuje tylko dwa stany baterii: 1(ok) oraz 0 (rozładowana)

Zapraszam do testowania i komentowania!

Jeśli chcesz wesprzeć moje hobby i pracę to możesz postawić mi kawę na buycoffee.to
Postaw mi kawę na buycoffee.to
« Ostatnia zmiana: Październik 22, 2022, 13:46:55 wysłana przez admin »
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ź #1 dnia: Wrzesień 21, 2022, 09:08:06 »
Jeśli chcesz wesprzeć moje hobby i pracę to możesz postawić mi kawę

Poszła kawa z mleczkiem, sorki ale przez inflację na cukier nie stykło.
Smacznego... Wielkie dzięki za Twoją pracę i pamięć o współwyznawcach ;)
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.

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #2 dnia: Wrzesień 21, 2022, 10:51:09 »
Smacznego... Wielkie dzięki za Twoją pracę i pamięć o współwyznawcach ;)
Dzięki za kawkę kolego :)

Poszła kawa z mleczkiem, sorki ale przez inflację na cukier nie stykło.
Hehe, no co racja to racja, ceny tak ostanio jadą do góry, że niedługo 10 zł będzie warte tyle co to stare z PRLu z J. Bemem na przodzie.

Czekam na jakieś wyniki testów i komentarze do integracji. U mnie wygląda, że działa ok, ale jeszcze teżwszystkiego nie zdążyłem przetestować. Przynajmniej light działa ok, i nawet ściemnianie nowym sposobem działa dla mojego RDP21 a sensory także działają, więc jest nadzieja, że jest nieźle. Testowałem z developerską wersją HA 2022.10. Mam nadzieję, że na weekend znajdę trochę czasu, żeby zrobić upgrade swojego produkcyjnego HA do 2022.9, bo ten nowy wizualny helper dla triggerów opartych  o dni tygodnia uprościłby mi trochę sterowanie piecem.
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

*

Offline tool

  • *
  • 14
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #3 dnia: Wrzesień 21, 2022, 11:58:08 »
Home Assistant 2022.7.0
po aktualizacji u mnie cały czas komunikat "extalife uruchamia się (...)" i tak w nieskończoność. W logach nic na ten temat

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #4 dnia: Wrzesień 21, 2022, 12:52:07 »
Home Assistant 2022.7.0
po aktualizacji u mnie cały czas komunikat "extalife uruchamia się (...)" i tak w nieskończoność. W logach nic na ten temat

Hmm, jak nie ma błędu to nie dobrze, bo nie wiadomo gdzie szukać problemu.

Przestaw logowanie na debug tak jak opisałem tutaj) i załącz loga do postu, to zobaczymy jak daleko integracja dochodzi i na czym się zatrzymmuje.

Masz jakieś czujniki? Jeśli tak to jakie?
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

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #5 dnia: Wrzesień 21, 2022, 13:18:32 »
Hej, sprawdziłem tak na szybko i niestety w SLR-22 nie bardzo działa.
W ogóle light.pl przy próbie zmiany koloru sypał błędem o ilości atrybutów, ale to poprawiłem
w linii 238 jest
r, g, b, w = kwargsa powinno być
r, g, b, w = kwargs[ATTR_RGBW_COLOR] ale mimo to nie można zmienić koloru (wyłączanie działa)

wydaje mi się że problem jest w ATTR_HS_COLOR

if ATTR_HS_COLOR in kwargs:
                hs = kwargs[ATTR_HS_COLOR]  # should return a tuple (h, s)
                rgb = color_util.color_hs_to_RGB(*hs)  # returns a tuple (R, G, B)
                rgb = (int(rgb[0]) << 16) | (int(rgb[1]) << 8) | (int(rgb[2]))
            else:
                rgb = mode_val_int >> 8  # default

nie jest spełniony warunek i cały czas jest podstawiana wartość domyślna
« Ostatnia zmiana: Wrzesień 21, 2022, 14:14:27 wysłana przez SebiCo »

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #6 dnia: Wrzesień 21, 2022, 14:16:10 »
w linii 238 jest
r, g, b, w = kwargsa powinno być
r, g, b, w = kwargs[ATTR_RGBW_COLOR] ale mimo to ni można zmienić koloru (wyłączanie działa)
Tak, faktycznie, to ewidentnie było źle. Powinno być tak jak poprawiłeś. Dzięki

Cytuj
wydaje mi się że problem jest w ATTR_HS_COLOR
Trudno powiedzieć. Nie mam SLR i tym samym nie mam encji w HA, które posiadałyby sterowanie kolorem Exta Life z HA. Gdy tworzyłem integrację to miałem dostęp na bieżąco do logów od kolegi z forum. Teraz tego nie mam.

Generalnie najważniejsze dla mnie to wiedzieć co HA przysyła w zmiennej kwargs w wywołaniu 'async_turn_on' oraz 'async_turn_off'. To kluczowa informacja, żeby wiedzieć jak poprawnie zbudować logikę.

Gdybyś mógł dostarczyć debug log i załączyć tutaj do posta to wtedy widziałbym co integracja dostaje i jak to dalej obsłużyć.
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

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #7 dnia: Wrzesień 21, 2022, 14:39:54 »
Log: włączenie, 4 krotna zmiana koloru (bezskuteczna), wyłączenie

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #8 dnia: Wrzesień 21, 2022, 15:44:26 »
Log: włączenie, 4 krotna zmiana koloru (bezskuteczna), wyłączenie
Elegancko i o to chodziło :) Już chyba widzę, gdzie jest problem. HA teraz nie przesyła informacji o kolorze zakodowanego jako HS tylko jako RGBW i jest tak jak pisałeś - warunek nie jest spełniony. Trzeba przebudować tą część:
        if self._supports_color and effect is None:
            if ATTR_HS_COLOR in kwargs:
                hs = kwargs[ATTR_HS_COLOR]  # should return a tuple (h, s)
                rgb = color_util.color_hs_to_RGB(*hs)  # returns a tuple (R, G, B)
                rgb = (int(rgb[0]) << 16) | (int(rgb[1]) << 8) | (int(rgb[2]))
            else:
                rgb = mode_val_int >> 8  # default

 aby kod używał RGBW a nie HS.

Zamień to na:
        if self._supports_color and effect is None:
            if ATTR_RGBW_COLOR in kwargs:
                rgb = (r << 24) | (g << 16) | (b << 8) | w
            else:
                rgb = mode_val_int >> 8  # default

Zobaczymy czy pomoże
« Ostatnia zmiana: Wrzesień 21, 2022, 15:48:00 wysłana przez admin »
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

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #9 dnia: Wrzesień 21, 2022, 17:07:32 »
progres jest bo cos się zmienia, ale kolory są dość "przypadkowe"
Pewnie coś z konwersją hex <> dec


*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #10 dnia: Wrzesień 21, 2022, 17:15:11 »
Nie, chyab się za bardzo pospieszyłęm w poprzednim poście: do rgb pakowałem również wartość w, a nie powinienem, bo tam chodzi tylko o składowe koloru bez wartości dla białego.
Nowy kod, miejmy nadzieję, że ostateczny ;)
        if self._supports_color and effect is None:
            if ATTR_RGBW_COLOR in kwargs:
                rgb = (r << 16) | (g << 8) | b
            else:
                rgb = mode_val_int >> 8  # default
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

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #11 dnia: Wrzesień 21, 2022, 19:25:27 »
no i jest ok  :D

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #12 dnia: Wrzesień 21, 2022, 19:26:58 »
no i jest ok  :D
No i tak ma być   :D
« Ostatnia zmiana: Wrzesień 21, 2022, 21:51:29 wysłana przez admin »
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

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #13 dnia: Wrzesień 21, 2022, 19:27:38 »
Kolego @Piotr_K a jak w nowej integracji odnajduje się twój MEM?
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

*

Offline admin

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #14 dnia: Wrzesień 22, 2022, 16:33:50 »
Wydałem 2.2b1 z poprawkami do light (tymi od kolegi @SebiCo) i zauważyłem mały błąd w sensor, który sprawiałby, że wirtualne sensory dla MEM-21 by się sypały. Kolega @Piotr_K posiada MEM, więc może kiedyś da znać czy działa :)

https://github.com/dgtal1/extalife_custom_component/releases/tag/2.2b1
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