Koledzy!
Witajcie po długiej (mojej) przerwie na forum, szczególnie w sekcji integracji z HA. Po wielu miesiącach udało mi się znaleźć troszkę czasu, aby wrócić do tematu.
W tym tygodniu zacząłem rozpoznawać sprawę problemów związanych z najnowszą wersją HA i utraty kompatybilności integracji. Gdy zacząłem analizować warningi i problemy tu opisane to okazało się, ze od zeszłego roku developerzy HA zaczęli grubą, szeroko zakrojoną operację zmian w kodzie, który używają integracje. Nazbierało się tego sporo. Czasem niewielkie rzeczy jak zmiana nazw stałych na inne (dokładniej na klasy enum), czasem podmiana jednej funkcji na inną, ale narobiło się też sporo zmian w architekturze integracji. Gdy pisałem pierwszą wersję integracji to wpis na blogu dla developerów pojawiał się co 2-3 miesiące. Teraz co miesiac jest conajmniej 1-2 wpisy. Tempo zmian w HA bardzo wzrosło. Ciężko nadążyć. Cel szczytny, bo chodzi o większą użyteczność i szybkość działania, ale developerzy custom componentów mają ciężej...
Ale po kolei:
1. W platformie `light` zmieniło się sporo i teraz integracja wali błędami jak wiecie. Tutaj czeka mnie większe rozeznanie, bo na razie nie rozumiem jak przebudować kod, żeby zaczął działać z nową architekturą. Najprościej jest powycinać funkcje i zacznie działać, ale wtedy zostanie tylko funkcjonalność ON/OFF, wiec SLR-21 w praktyce będzie bezużyteczny. To jest zmiana funkcjonalna i musze rozeznać głębiej żeby to opanować - trochę to zajmie i zostawię to na koniec
2. Sensory - tutaj tak jak pisaliście - problemy z urządzeniami do pomiaru energii. Ogólnie rzecz biorąc atrybuty stanu są coraz bardziej restrykcyjnie obsługiwane i myślę, że w pozostałych encjach czyli light, switch, cover też zostaną w krótce zredukowane do minimum.
Aby rozwiązać problem braku możliwości odczytu wielkości mierzonych przez MEM-21 za pomocą template sensors oraz zapobiec kolejnym problemom w przyszłości - zacząłem robić zmiany w integracji, aby encje mogły dodawać kolejne encje, a dokładnie chodzi o oddelegowanie atrybutów stanu do nowych sensorów. Wydaje mi się, że znalazłem pomysł jak to zrobić, ale jeszcze nie chcę zapeszać. Mam kłopot z testowaniem tego, bo mój EFC-01 zgubił nagle czujnik temperatury (tak tak, stary problem gubienia urządzeń), ale sparuję go ponownie i powinno być ok
Zaadresuję też problem state_class, aby MEM widziany był jako sensor całkowitego użycia energii i mógł być dodany do Energy dashboard w HA.
Dodatkowo w encji `sensor` zmieniło się najwięcej rzeczy spośród wszystkich innych typów encji. Inaczej teraz pobierany jest stan, inaczej kalkulowana wartość, są kolejne ograniczenia. Wszystkie te problemy postaram się zaadresować.
Postanowiłem napisać tak informacyjnie, abyście wiedzieli, że coś się w temacie dzieje i że nie zostaliście na lodzie sami. Niestety nie jestem w stanie powiedzieć jak długo potrwa wydawanie kompatybilnej wersji integracji, bo to zależy od tego ile problemów wyjdzie podczas testowania poprawek i zmian w architekturze, ale w tym tygodniu może uda mi się odpalić pozmieniany sensor. Jak zwykle wydam testową wersję, ale dopiero wtedy, gdy kod u mnie będzie działał. Przygotujcie się na większą niż zwykle dawkę problemów z działaniem - szczególnie dla SLR-xx i czujników, zwłaszcza MEM. Nie posiadam tych urządzeń i dlatego nie jestem w stanie lokalnie przetestować kodu i rozwiązać problemy zanim kod trafi do Was.
W ostatnich miesiącach krucho z czasem, więc na kodowanie i hobby go nie wystarcza. Powiem Wam szczerze, że mój HA to wersja 2022.6 nieaktualizowany od 3 miesięcy :/ Nawet na to nie mam czasu, bo choć aktualizacja to 1 klik to jednak jak coś przestaje działać to rozpoznawanie tematu to już czasem długie godziny.
Na koniec - proszę Was o cierpliwość. Aby ustrzec się przed problemami w encji light - użyjcie wersji od
@SebiCo lub zostańcie na starszej wersji HA. Odnośnie MEM - tu zostaje tylko starsza wersha HA. Pomoc w drodze, ale musicie poczekać kilka tygodni.