W artykule przedstawię proces dodawania nieoficjalnej integracji (Custom Component) do Home Assistant na przykładzie integracji korzystającej z usług chmury eWeLink, a w rezultacie pozwalającej nam na sterowanie urządzeniami Sonoff, bez zmiany ich oprogramowania układowego (firmware).
Niedawno pokazaliśmy jak skorzystać w wbudowanej Integracji systemu IKEA Tradfri. Dzisiaj pokażemy sposób instalacji nieoficjalnych Integracji.
Home Assistant – integracja z systemem IKEA Tradfri
Home Assistant posiada bardzo wiele oficjalnych Integracji, które są dostarczone razem z nim, gotowe do użycia. Nie wymagają od nas dodatkowej instalacji oraz aktualizowania – są aktualizowane razem z systemem. Spis wszystkich aktualnie dostępnych oficjalnych integracji znajdziecie na stronie:
https://www.home-assistant.io/integrations/
Pomimo tak dużego zbioru (aktualnie 1540 rozszerzenia), ze względu na tempo rozwoju świata IoT, istnieje potrzeba tworzenia kolejnych integracji w ramach Home Assistant, nie tylko do obsługi kolejnych urządzeń, ale także związanych z wykorzystaniem różnych usług internetowych, algorytmów, automatyzacji itp. Powstają nowe, nieoficjalne integracje, pisane przez społeczność skupioną wokół Home Assistant. Nazywa się je Custom Components. Najczęściej ich repozytoria wraz z instrukcjami znajdują się na portalu GitHub.
Nieoficjalne integracje umieszcza się w katalogu:
\\local\config\custom_components
gdzie local, to główny katalog Home Assistant. O aktualizacje naszego Custom Component musimy zadbać sami.
Poniżej przedstawię proces dodawania nieoficjalnej integracji do Home Assistant na przykładzie integracji korzystającej z usług chmury eWeLink, a w rezultacie pozwalającej nam na sterowanie urządzeniami Sonoff, bez zmiany ich oprogramowania układowego (firmware). Do aplikacji eWeLink mam dodany włącznik Sonoff T4EU1C (bez przewodu Neutralnego).
Zdjęcie: Banggood
Konfiguracja testowa:
- Home Assistant 0.103.6,
- system Hass.io (Raspberry Pi 2 B),
- dodatek Samba share 9.0 lub Configurator 4.2
Wymagany osprzęt:
- Zależnie od konkretnego Custom Component, w naszym przypadku będzie to jeden z włączników Sonoff (model TX T4EU1C) dodany do oryginalnej aplikacji eWeLink.
Poziom zaawansowania:
- Wymagana znajomość podstaw obsługi Home Assistant.
Integracja Sonoff
Strona integracji, z której skorzystamy, znajduje się na tutaj:
https://github.com/peterbuga/HASS-sonoff-ewelink
Pobierzemy z niej potrzebne pliki oraz znajdziemy instrukcję instalacji, a także spis obsługiwanych urządzeń Sonoff.
Ponieważ jest to integracja z usługą eWeLink, żeby miała ona sens, najpierw należy założyć konto w aplikacji eWeLink oraz dodać do niej jakieś urządzenie.
1. Pobranie custom component „HASS-sonoff-ewelink”
Wchodzimy na stronę:
https://github.com/peterbuga/HASS-sonoff-ewelink
i pobieramy archiwum .zip z potrzebnymi plikami. Następnie rozpakowujemy archiwum na dysk.
2. Skopiowanie plików
Upewniamy się, że mamy zainstalowany i skonfigurowany dodatek Samba share.
Wchodzimy w eksploratorze plików na adres:
\\HASSIO\config\
HASSIO to nazwa lokalizacji sieciowej Home Assistant, którą ustawiliśmy w konfiguracji Samba share (domyślna to HASSIO). Tworzymy tam nowy folder o nazwie custom_components, a wewnątrz niego jeszcze jeden – sonoff.
Do tego folderu:
\\HASSIO\config\custom_components\sonoff\
należy skopiować pliki z wcześniej wypakowanego archiwum „HASS-sonoff-ewelink-master.zip”.
3. Opcjonalnie – Sprawdzenie lokalnego adresu IP urządzenia
Custom Component Sonoffa działa na zasadzie wykorzystania usług internetowych udostępnionych przez chmurę. W tym wypadku punkt ten jest zbędny.
Zdarza się jednak, że integracja (oficjalna lub nie) łączy się bezpośrednio po WiFi z danych urządzeniem w naszej sieci lokalnej. Wymagana jest wtedy znajomość adresu IP tego urządzenia oraz zaleca się przypisanie tego adresu na stałe w naszym routerze. W takim przypadku przeczytaj ten punkt.
Sprawdzamy w routerze lokalny adres IP wybranego urządzenia obsługiwanego przez Home Assistant. Strona routera najczęściej znajduje się pod adresem:
192.168.0.1
Wiersz dotyczący urządzenia często można poznać po nazwie.
Uwagi:
- W routerach „Connect Box” firmy UPC należy najpierw poprosić przez infolinię o zdalne wgranie protokołu IPv4 zamiast domyślnego IPv6. Bez tego nie znajdziecie odpowiedniej pozycji w menu routera.
4. Modyfikacja configuration.yaml
Najcześciej na stronie GitHub z wybraną integracją znajduje się instrukcja, w której autor dokładnie opisuje sekcję, którą należy dodać do pliku konfiguracyjnego. Sekcję tą należy dodać, aby aktywować wgraną wcześniej integrację.
Plik configuration.yaml można zmodyfikować m.in. za pomocą dodatku Samba share oraz Configurator. W Samba share mamy bezpośrednio do dyspozycji omawiany plik, natomiast w Configurator, edycję plików wykonuje się pośrednio przez interfejs użytkownika Home Assistant. Ja najczęściej korzystam w tym celu właśnie z Configurator.
Opcja 1 – Samba share
Po zainstalowaniu dodatku, plik „configuration.yaml” powinien znajdujdować się w folderze:
\\HASSIO\config\
Opcja 2 – Configurator
Po zainstalowaniu dodatku, w jego ustawieniach wystarczy zaznaczyć „Show in sidebar”, żeby mieć do niego wygodny dostęp z menu Home Assistant. W dodatku wybieramy plik configuration, modyfikujemy go zgodnie z dalszą częścią instrukcji, oraz zapisujemy.
Aby aktywować integrację Sonoff, należy do pliku konfiguracyjnego dodać następującą sekcję:
sonoff: username: [Nazwa użytkownika z aplikacji eWeLink] password: [Hasło z aplikacji eWeLink] scan_interval: 60 grace_period: 600 api_region: 'eu' entity_prefix: True debug: False
Nie wszystkie linijki sekcji są wymagane, szczegółowy opis znajdziecie na stronie integracji. Teraz zapisz plik i uruchom ponownie swojego Home Assistanta.
5. Podgląd dodanych urządzeń Sonoff
Po ponownym uruchomieniu Home Assistant kompatybilne urządzenia Sonoff już powinny być dostępne w Encjach:
Wejdź:
Narzędzia deweloperskie -> STANY
Urządzenia dodane w tej integracji Home Assistant domyślnie będą miały w nazwie na początku „sonoff_” (chyba, że w configuration.yaml ustawiliśmy inaczej). Dlatego, aby je podejrzeć, wystarczy w polu Encja zacząć pisać „sonoff”.
6. Dodanie karty w Home Assistant
W menu głównym „Przegląd”, za pomocą wbudowanego kreatora lub poprzez ręczną edycję pliku, możemy dodać kartę włącznika Sonoff.
Żeby otrzymać kartę jak na zdjęciu, w pliku pod sekcją „views:” należy dodać sekcję:
Zdjęcie: inDomus.it
To już chyba nie jest wspierane i nie działa https://github.com/peterbuga/HASS-sonoff-ewelink.
Skorzystałem z tego https://github.com/AlexxIT/SonoffLAN.