Kolega
@Gadulowaty w gronie zintegrowanych z HA? Co za miła niespodzianka
Tylko uważaj, bo od tego nie ma już odwrotu
Jak raz się zakosztuje tej przyjemności sterowania wszystkim z jednego miejsca i praktycznie nieograniczonych możliwości budowania scenariuszy automatyki to powrót na stare śmieci wydaje się kompletnym szaleństwem
To jeszcze trzy grosze ode mnie.
To raczej 3 złote niż 3 grosze
, tym bardziej dzięki za cenne uwagi
1. Pierwszy związany był z tym, że jako adres hosta podałem nazwę DNS
Hmm, trochę się dziwię, że musiałeś w ogóle coś podawać - IP kontrolera powinno się wykryć samoczynnie tak jak w aplikacji Exta Life.
Potestuję twój sposób, ale podawanie w obu miejscach adresu IP (a w założeniu to właśnie powinno być w zmiennej self._host zamiast tekstowej nazwy hosta) może mieć jakieś skutki uboczne. W sumie trochę się dziwię, że takie wywołanie get_mac_address działa. Najwyżej zaadaptuję to tak, że jeśli podany jest IP to będzie po staremu a jak nazwa hosta to po twojemu
2. Atrybuty dla encji nie pojawiały się jak wcześniej, problemem jest przeciążenie dla property device_state_attributes.
Zgadza się, tak to powinno być zastąpione. W platformie sensor, który jest praktycznie przepisany na nowo już tak to od początku wersji 2.2 jest zrobione. Muszę jeszcze dokończyć sprzątanie / zmiany w pozostałych platformach.
Dodatkowo warto jeszcze sprawdzić czy wywołanie odziedziczonej metody getter dla własności nie zwara None (bo może) - co by się komponent nie posypał.
Faktycznie nie zaszkodzi, choć w rzeczywistości w obecnym kodzie taka sytuacja nie ma prawa się wydarzyć, gdyż super() zawsze zwraca 2 atrybuty (id i not_responding)
3. Następne mam pytanie o ROG-21, czy z jakiegoś konkretnego powodu nie zaimplementowałeś danych mierzonych przez w/w urządzenie jako entity klasy Sensor?
Hmm, chyba bez konkretnego powodu, chociaż powodem może być to, że nie mam tego gniazdka i tym samym nie mam jego modelu danych. W sumie nawet zapomniałem, że ono istnieje i do tego, że jeszcze ma pomiar energii. Ale tak jak pisałem
w pierwszym pościełatwo można to dodać dla dowolnego urządzenia, więc jak ktoś potrzebuje to niech da znać. Teraz zaglądnąłem do platformy switch i widzę, że faktycznie jest tam kawałek kodu specjalnie z ROG21 i jego atrybutów, więc w następnej wersji dodam je jako wirtualne sensory z platformy switch
4. No i ostatnia rzecz to chyba nie wszystkie encje mierników (kontaktron, czujnik ruchu) przy zasilaniu bateryjnym nie raportują statusu baterii
Tego nie wiem, bo nie posiadam ich modelu danych. Kiedyś miałem dostęp do tego, ale już od dawna nie. Żałuję, że wtedy nie zapisałem sobie tego tak jak teraz bo miałbym to nawet jak testować.
Generalnei jak coś podaje stan baterii to obecnie będzie to reprezentowane jako 0 lub 100%, ponieważ używam device_class dla baterii. Zaleta jest taka, że HA to wtedy dodatkowo pokazuje jako baterię i łatwo widać że urządzenie już ma rozładowaną baterię. Wadą jest to, że Exta Life ma tylko dwa stany: 0 i 1 czyli w integracji 0 lub 100%. Nie jest to idealne, ale uważam, że dla tej zalety o traktowaniu tej encji przez HA jako stan baterii mamy lepiej zobrazowany stan urządzenia bo od razu widać, że ma problem z baterią, co jest wyraźnie sygnalizowane w GUI HA. Raczej nie chcę tego zmieniać.
Powodzenia z HA i kolejne uwagi oczywiście mile widziane
PS. Jakiś progres ze snifferem nadajników Exta Life?