Dzisiaj chciałbym Wam pokazać w formie mini poradnika jak w prosty sposób dodać praktycznie dowolne urządzenie Shelly do Home Assistant.
Wykorzystamy w tym celu dodatek ShellyForHASS.
Zalety dodatku ShellyForHASS
Na stronie dodatku autor przedstawia szereg zalet swojej integracji:
- Automatyczne wykrywanie Shelly w sieci lokalnej (można wyłączyć tą opcję).
- Predefiniowane stany, czujniki (energia, moc, temperatura) i atrybuty (rssi, ip, stan baterii) zależnie od danego modelu Shelly.
- Sterowanie za pomocą serwisów (włącz / wyłącz / przyciemnij / zamknij / otwórz).
- Predefiowane eventy np. kliknięcie, wielokrotne kliknięcie itd.
- Do działania nie jest wymagana żadna dodatkowa konfiguracja Shelly, musi jedynie znajdować się w sieci lokalnej.
- Działa lokalnie, nie musisz dodawać Shelly do chmury, ale działa również, jeśli dodałeś.
- Korzysta z wbudowanych w Shelly protokołów CoAP i REST.
- Komunikacja bez opóźnień.
- Działa równolegle do MQTT, jeśli je ustawiłeś
- Moduły Shelly nie muszą mieć statycznego IP.
- Duże możliwości konfiguracyjne z poziomu Home Assistant.
- Wspiera proxy, aby połączyć Shelly z innych sieci LAN.
- Udostępnia sensor wskazujący, kiedy moduł Shelly ma dostępną nową aktualizację oprogramowania.
- Jeśli podamy dane do chmury, to może pobrać nazwy modułów, które zdefiniowaliśmy wcześniej w aplikacji.
Dodawanie modułów Shelly do sieci lokalnej
Dodawanie Shelly do sieci lokalnej opisałem w poniższym artykule. Skopiuję interesujący nas fragment.
Shelly 2.5 jako klient MQTT w Home Assistant
Opis dotyczy Shelly 2.5, ale pozostałe moduły dodaje się tak samo:
- Podłączamy Shelly 2.5 zgodnie ze schematem elektrycznym. W naszym wypadku to będzie górny, lewy schemat. Jeśli nie był wcześniej konfigurowany, to czerwona dioda pod przyciskiem RESET powinna migać. Jeśli nie miga, należy przytrzymać przycisk RESET przez 5 sekund.
- Wyszukujemy na komputerze nowej niezabezpieczonej sieci Wi-Fi o nazwie zaczynającej się od „shellyswitch…” i łączymy się z nią.
- Otwieramy przeglądarkę internetową i wchodzimy na stronę konfiguracyjną naszego Shelly http://192.168.33.1
- Przechodzimy kolejno do Internet & Security -> WIFI MODE – CLIENT, aktywujemy „Connect the Shelly device to an existing WiFi Network” i wpisujemy dane sieci naszego routera (koniecznie podsieci o częstotliwości 2,4 GHz).
- Decydujemy czy chcemy korzystać z Shelly 2.5 jako przekaźników czy do sterowania roletami / karniszami. W przypadku rolet / karniszy należy ustawić następującą opcję:
Opcjonalnie (bez tego ShellyForHASS również będzie działać):
- Aby urządzenie zawsze otrzymywało ten sam adres IP w siedzi lokalnej, należy zaznaczyć „Set static IP address” i wypełnić pola. Należy jednak wcześniej sprawdzić na stronie konfiguracyjnej routera, który adres IP jest jeszcze dostępny. Załóżmy, że ustawiliśmy adres: 192.168.1.60.
- Po zapisaniu zmian Shelly 2.5 już nie będzie dostępne pod adresem http://192.168.33.1. Sieć WiFi, z której tymczasowo korzystaliśmy, także zniknie. Teraz należy wpisać w przeglądarce internetowej wcześniej ustawiony adres IP. W naszym przypadku http://192.168.1.60
- Następnie należy przeprowadzić aktualizację oprogramowania Shelly 2.5.
Instalacja ShellyForHASS
- Za pomocą dodatku HACS
Prostszy sposób. Jeśli posiadamy już HACS, który służy m.in. do instalacji nieoficjalnych integracji Home Assistant, możemy z niego skorzystać.
Szukamy w wyszukiwarce HACS hasła „Shelly”, wybieramy dodatek ShellyForHASS i klikamy Install.
- Metoda ręczna
Pobierz najnowszą paczkę ze strony, wypakuj pliki i skopiuj je do folderu:
Gdzie powinien znajdować się folder custom_component, jak go utworzyć i jak skopiować do niego pliki, dowiesz się z poniższego artykułu:
Dodawanie Custom Component do Home Assistant
Dodawanie modułów Shelly do Home Assistant
Teraz wystarczy już tylko do pliku configuration.yaml dodać następującą linijkę kodu:
Spowoduje to znalezienie i dodanie wszystkich modułów Shelly znajdujących się w naszej sieci lokalnej z wartościami domyślnymi parametrów, które oferuje opisywany dodatek. Jeżeli chcemy coś więcej skonfigurować, np. nadać swoje nazwy modułom albo sprawić, żeby np. przełącznik Shelly 2.5 był widoczny jako oświetlenie, a nie przełącznik, należy skorzystać z dodatkowych linijek kodu, o których przeczytacie bezpośrednio na stronie dodatku: https://github.com/StyraHem/ShellyForHASS
Przykładowo u mnie mój kod w configuration.yaml wygląda tak:
id wiąże się z nazwą konkretnego egzemplarza Shelly. Najpierw umieściłem samo „shelly:” w konfiguracji i zresetowalem Home Assistant. W ten sposób dodatek znalazł wszystkie moje Shelly, których id mogłem później podglądnąć w „Narzędziach deweloperskich” w menu Home Assistant.
Hej, dzieki za wpis, chcialem uzyc tego do kontroli poziomu sciemniania za pomoca shelly dimmer 2 ale w HA nie wiem jak wywolac konkretnie usluge do zadanych % oswietlenia, przy wyborze urzadzenia jest jedynie opcja increase lub decrease light i to dziala ale juz z predefiniowanym levelem o ktory pojasnia/sciemnia, poradzil sobie z tym ktos moze?