Wiele nowoczesnych urządzeń inteligentnych ignoruje wsparcie dla Apple HomeKit, koncentrując się jedynie na integracji z platformami takimi jak Alexa czy Google. Na szczęście, dzięki zastosowaniu Raspberry Pi i oprogramowania Open Source Homebridge, można dodać obsługę HomeKit do niemal każdego inteligentnego urządzenia.
HomeKit dla wszystkich inteligentnych urządzeń
Dla entuzjastów HomeKit istnieje istotny problem: niewiele urządzeń inteligentnych wspiera tę platformę. Dla przykładu, wiele przystępnych cenowo żarówek ma problem z integracją z HomeKit. Jednym z popularnych wyborów na Amazonie jest czteropak żarówek TECKIN, który kosztuje około 40 dolarów, co czyni go tańszym niż pojedyncza żarówka LIFX.
Choć nie osiągają one jakości LIFX, ich cena wynosząca 10 dolarów za sztukę czyni je atrakcyjną opcją. Warto jednak zauważyć, że te żarówki nie są wspierane przez HomeKit. Działają z Google Home, Alexą, IFTTT oraz aplikacją producenta, co sprawia, że są odpowiednie jedynie dla użytkowników posiadających wyłącznie żarówki TECKIN.
Brak wsparcia dla HomeKit oznacza, że nie można ich kontrolować za pomocą aplikacji Home, widżetu w Control Center ani Siri. Nie można ich również używać w scenach z innymi markami ani w automatyzacjach. Dla użytkowników, którzy zainwestowali w HomeKit, jest to znaczące ograniczenie.
Wprowadzenie do Homebridge
Na szczęście istnieje rozwiązanie, które sprawia, że żarówki TECKIN stają się znacznie bardziej funkcjonalne. API HomeKit umożliwia używanie urządzeń zwanych mostami, takich jak most Philips Hue, do łączenia urządzeń działających na innych protokołach. Wystarczy dodać most do HomeKit, a on zarejestruje każde podłączone do niego światło.
Most działa jak pośrednik, przekazując informacje między interfejsami API. Dzięki temu, że żarówki TECKIN można kontrolować przez Internet, istnieje możliwość podłączenia ich do HomeKit przy użyciu samego oprogramowania — nie jest wymagany żaden specjalistyczny sprzęt.
Jeśli masz pod ręką Raspberry Pi (nawet tanie Pi Zero wystarczy), możesz skonfigurować je jako most za pomocą frameworka o nazwie Homebridge. Ta lekka aplikacja NodeJS emuluje API HomeKit, przekazując polecenia do inteligentnych urządzeń, które nie obsługują HomeKit.
Instalując Homebridge na Raspberry Pi, możesz dodać wszystkie „głupie” urządzenia do aplikacji Home. Gdy chcesz sterować żarówką za pomocą aplikacji Home lub Siri, Homebridge wykonuje tę operację za Ciebie. Po zainstalowaniu działa to, jakby urządzenie miało natywną obsługę HomeKit.
Homebridge wymaga ciągłej pracy, więc nie jest to rozwiązanie do instalacji na laptopie. Raspberry Pi to najlepszy wybór, ale jeśli masz stare urządzenie, które może działać jako serwer, również będzie odpowiednie.
Homebridge to framework, który można rozszerzyć za pomocą wtyczek, z dużym wsparciem społeczności. Istnieje duża szansa, że dla większości inteligentnych urządzeń dostępna jest odpowiednia wtyczka Homebridge. Jeśli nie, a urządzenie ma interfejs API, możesz napisać własną wtyczkę.
Większość użytkowników będzie jednak potrzebować jedynie zainstalować Homebridge oraz wtyczkę odpowiadającą ich urządzeniu, co wymaga jedynie podstawowej konfiguracji. Jeśli potrafisz korzystać z wiersza poleceń i poświęcisz trochę czasu, to zadanie nie powinno być zbyt trudne.
Instalacja i konfiguracja Homebridge
Homebridge to aplikacja NodeJS, więc najpierw musisz zainstalować node i npm. W przypadku systemu Linux można to zrobić za pomocą menedżera pakietów.
Dla systemu Ubuntu, aby ręcznie skonfigurować repozytorium Node, a następnie zainstalować nodejs, wprowadź poniższe polecenia:
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs
Możesz również odwiedzić Stronę pobierania Node.js, aby uzyskać instrukcje dotyczące instalacji na różnych systemach operacyjnych.
Jeśli korzystasz z Linuksa, musisz zainstalować kilka zależności, wykonując poniższe polecenie:
sudo apt-get install libavahi-compat-libdnssd-dev
Następnie możesz zainstalować Homebridge globalnie za pomocą npm:
sudo npm install -g --unsafe-perm homebridge
Nie zapomnij również zainstalować wtyczek odpowiednich dla Twojej marki, ponieważ Homebridge to jedynie framework. Dla żarówek TECKIN odpowiednia wtyczka to homebridge-tuya-web, którą również instalujesz globalnie.
Wprowadź:
npm i homebridge-tuya-web -g
Po zakończeniu instalacji możesz uruchomić Homebridge, wprowadzając poniższe polecenie:
homebridge
Na początku wyświetli komunikat o braku konfiguracji, którą należy stworzyć. Domyślnym katalogiem konfiguracyjnym jest ~ / .homebridge /, ale możesz użyć parametru -U, aby zmienić lokalizację.
Aby utworzyć nowy plik konfiguracyjny JSON w tym folderze, wprowadź:
nano ~/.homebridge/config.json
Bez względu na używane wtyczki, potrzebujesz następującej podstawowej konfiguracji:
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Custom HomeBridge Server", "ports": { "start": 52100, "end": 52150, }, "platforms": [ ] }
Ta konfiguracja ustawi Homebridge z domyślnymi wartościami portu, nazwą, kodem PIN i zakresem portów do przypisania innym urządzeniom.
Wewnątrz pustej tablicy „platforms” umieść konfigurację dla każdej wtyczki. Instrukcje i przykłady znajdziesz na stronie GitHub dla każdej wtyczki.
Na przykład, w przypadku wtyczki homebridge-tuya-web dla żarówek TECKIN, musisz podać swoją nazwę użytkownika i hasło do interfejsu API aplikacji żarówki, a także kilka innych opcji:
"platforms": [ { "platform": "TuyaWebPlatform", "name": "TuyaWebPlatform", "options": { "username": "username", "password": "password", "countryCode": "1", "platform": "smart_life", "pollingInterval": 10 } } ]
Po pomyślnym skonfigurowaniu Homebridge jest gotowy do działania. Po ponownym uruchomieniu, Twój terminal powinien wyświetlić duży kod QR, który możesz zeskanować za pomocą aplikacji Home, aby dodać Homebridge oraz wszystkie podłączone urządzenia do HomeKit.
Homebridge załaduje wtyczki i powinien wyświetlić komunikaty dla każdego urządzenia, które znajdzie. Po dodaniu powinny one być widoczne w HomeKit i w pełni funkcjonalne.
Możliwe, że zauważysz niewielkie opóźnienie w porównaniu do żarówek LIFX, co może być spowodowane tym, że żarówki są kontrolowane przez API, a nie bezpośrednio. Początkowo żarówki mogą również nie wyświetlać poprawnie kolorów białego i ciepłego białego, ale możliwe jest dostosowanie scen po dokonaniu odpowiednich ustawień.
Możesz także konfigurować urządzenia w ich własnych aplikacjach, poczekać na aktualizację aplikacji Home, a następnie ustawić scenę w HomeKit przy użyciu wcześniej skonfigurowanych ustawień.
Aby ponownie dodać Homebridge, będziesz musiał usunąć folder persist / w katalogu konfiguracyjnym, a także usunąć most z HomeKit w ustawieniach dowolnej podłączonej żarówki na zakładce „Most”.
Konfiguracja Homebridge jako usługi
Jeśli chcesz, aby Homebridge działał ciągle, warto skonfigurować go tak, aby uruchamiał się ponownie po awarii lub po restarcie Raspberry Pi. Można to zrealizować poprzez usługi systemu Unix. Skonfiguruj to dopiero po upewnieniu się, że Homebridge działa poprawnie.
Najpierw dodaj nowego użytkownika usługi o nazwie homebridge:
sudo useradd -M --system homebridge
Następnie ustaw hasło dla tego użytkownika:
sudo passwd homebridge
Kolejnym krokiem jest przeniesienie konfiguracji Homebridge do katalogu, który nie znajduje się w Twoim osobistym katalogu domowym. Możesz użyć /var/lib/homebridge/:
sudo mv ~/.homebridge /var/lib/homebridge/
Upewnij się, że użytkownik homebridge ma prawo własności do tego katalogu oraz wszystkich jego podfolderów:
sudo chown -R homebridge /var/lib/homebridge/
Gdy to zakończysz, możesz utworzyć usługę. Utwórz nowy plik o nazwie homebridge.service w katalogu /etc/systemd/system/:
sudo nano /etc/systemd/system/homebridge.service
Wklej następującą konfigurację do tego pliku:
[Unit] Description=Homebridge service After=syslog.target network-online.target [Service] Type=simple User=homebridge ExecStart=/usr/bin/homebridge -U /var/lib/homebridge Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target
Załaduj ponownie demona usług, aby uwzględnić wprowadzone zmiany:
sudo systemctl daemon-reload
Teraz powinieneś być w stanie włączyć swoją usługę, aby uruchamiała się przy starcie systemu:
sudo systemctl enable homebridge
I uruchomić:
sudo systemctl start homebridge
Aby debugować ewentualne błędy w konfiguracji usługi, możesz wyświetlić logi, wprowadzając:
journalctl -fn 50 -u homebridge
newsblog.pl