Mastodon
Zdjęcie okładkowe wpisu Sposób na… tani HomeKit

Sposób na… tani HomeKit

67
Dodane: 8 lat temu

HomeKit został zapowiedziany przez Apple na WWDC w czerwcu 2014 roku. Zadaniem tej technologii jest wprowadzenie wspólnego języka do komunikacji między sprzętem Apple’a a akcesoriami z kategorii tak zwanego inteligentnego domu. Na prezentacji przedstawiono listę kilkunastu partnerów, których produkty wkrótce miały trafić na rynek.


Ten artykuł pochodzi z archiwalnego iMagazine 11/2016


Liczyłem wtedy, że szybko przyłączą się do tego inni producenci i w niedługim czasie zasypią  rynek akcesoriami zgodnymi z tym standardem. Niestety, premiera iOS 8 nie przyniosła praktycznie ani jednego kompatybilnego urządzenia. Trudno powiedzieć, czy wina leżała po stronie Apple’a, czy producentów akcesoriów.

Przez ostatnie lata na rynku pojawiło się jednak dużo świetnych produktów bez wsparcia dla tej technologii. Do ich obsługi konieczna jest instalacja specjalnych aplikacji. W przypadku, gdy korzystamy ze sprzętu wielu marek, to sterowanie nie jest ani szybkie, ani wygodne. HomeKit umożliwia kontrolę urządzeń natywnie z iOSa. Nie ma konieczności doinstalowywania żadnych wspomagających aplikacji. Ważną funkcją jest możliwość grupowania akcesoriów w tak zwane sceny. Pozwalają one na to, by pojedynczym kliknięciem lub komendą głosową Siri jednocześnie zmienić stany wielu przyłączonych urządzeń. W taki sposób jest możliwe szybkie przygotowanie pokoju do seansu filmowego. Aktywacja sceny ustawi właściwą temperaturę, zamknie rolety okienne, załączy odpowiednie oświetlenie i jednocześnie uruchomi w kuchni czajnik, w którym zostanie zagotowana woda na herbatę. Sceny mogą być uruchamiane ręcznie, ale także wyzwalane przez predefiniowane automatyzacje.

Niektóre firmy wprowadzają do sprzedaży proste urządzenia, tak zwane „mostki”, które po wpięciu do sieci LAN dodają obsługę HomeKita do wyprodukowanych przez nich akcesoriów. Dobry przykład daje Philips – wymieniając jeden element zestawu, komunikacja za pośrednictwem tej technologii zaczyna działać ze wszystkimi produkty z linii Hue, które mamy. Niestety, większość firm nie przewiduje takich rozwiązań ani aktualizacji do dotychczas sprzedawanych akcesoriów. W takim przypadku konieczna staje się ich wymiana na nowsze generacje. Kolejną kwestią jest cena akcesoriów wspierających HomeKita. Produkty z tą funkcją są obecnie traktowane jako premium, kosztują więc znacznie więcej od „zwykłych” dotychczasowych smart rozwiązań.

Tutaj jednak za sprawą społeczności OpenSource pojawia się ciekawa alternatywa – projekt Homebridge. Jest to implementacja serwera akcesoriów HomeKit. Realizuje podobną funkcję jak przystawka Philipsa – za sprawą pluginów staje się on pośrednikiem pomiędzy HomeKitem a przeróżnymi akcesoriami czy skryptami systemowymi.

Homebridge’a można zainstalować właściwie na każdym komputerze. Musi jednak być on cały czas włączony, dlatego uważam, że odpowiednim urządzeniem do tego celu jest Raspberry Pi. Ten prosty mikrokomputer charakteryzuje się bardzo niskim poborem energii wynoszącym około 2W, a przy tym można uruchomić na nim Linuksa. Jego trzecią generacje wyposażoną w Wi-Fi i Bluetooth LE można kupić za niecałe 200 złotych. Za cały zestaw składający się z karty pamięci, zasilacza microUSB oraz plastikowej obudowy powinniśmy zapłacić nie więcej niż 300 złotych. Koszt ten jest zbliżony do ceny pojedynczego akcesorium ze wsparciem dla HomeKita.

W ramach testów tego rozwiązania wykonałem już trzy instalacje. W moim domu udało się wprowadzić obsługę HomeKita dla kilku gniazdek TP-Linka HS100, HS110 oraz Orvibo S20, do którego samodzielnie przygotowałem plugin. W instalacji Norberta znalazła się obsługa sprzętu Belkin Wemo, termostatu Nest, stacji pogodowej Netatmo, a nawet odkurzacza Roomba. Natomiast u Jaśka Homebridge jak na razie zarządza gniazdkami i żarówkami Belkin Wemo, a także gniazdkiem marki Fritz.

Lista pluginów do Homebridge’a wspierających różne akcesoria, platformy i technologie liczy obecnie ponad 300 pozycji i stale się powiększa. Większość z nich została opublikowana w menadżerze pakietów NPM i można wyszukać je na stronie npmjs.com pod hasłem „homebridge”.

Jeśli macie lub nabyliście Raspberry Pi, to poniżej przygotowałem instrukcję instalacji. Aby zaoszczędzić Wam wklepywania kilkudziesięciu komend, instalacja Homebridge’a odbędzie się dzięki prostemu skryptowi instalacyjnemu. Napisałem także konfigurator, za pomocą którego będziecie w stanie zainstalować i uruchomić podstawowe przykładowe pluginy, obecnie do Belkin Wemo, TP-Link i Orvibo.

UWAGA! Do instalacji i konfiguracji niezbędna jest podstawa znajomość pracy z systemami Linux, a przede wszystkim umiejętność korzystania z Terminala. Jeśli zatem nie jesteś zaawansowanym użytkownikiem, to poszukaj osoby, która będzie Cię w stanie wesprzeć w razie problemów.

Instalacja Homebridge’a na Raspberry Pi

Najpierw należy sformatować kartę pamięci jako „FAT32”. Jeśli użyta karta pamięci jest nowa, to powinna być właściwie sformatowana; wówczas ten krok można pominąć.

Następnie z oficjalnej strony Raspberry Pi należy pobrać paczkę ZIP z instalatorem „NOOBS”, dla zaoszczędzenia czasu może być to wersja „Lite” – w której przypadku system Raspbian jest pobierany w trakcie instalacji. Wszystkie wypakowane pliki z paczki instalatora należy skopiować na kartę pamięci, a następnie umieścić ją w Raspberry Pi.

Zanim podłączy się zasilanie, należy podłączyć przewód sieciowy. Dodatkowo na czas instalacji będzie potrzebny podgląd na ekranie podłączonym przez HDMI oraz mysz lub klawiatura USB. Niedługo po podłączeniu zasilania na ekranie zostanie wyświetlone okno instalatora.

Na tym etapie jest możliwość wybrania dystrybucji do zainstalowania. Jeśli nie zamierza się wykorzystywać Raspberry Pi do innych zadań niż Homebridge, to polecam wybranie dystrybucji „Raspbian Lite”. Od zalecanej przez autorów pierwszej pozycji na liście różni się ona tym, że w tym przypadku nie będzie instalowane środowisko graficzne. Zaoszczędzi to zbędnego obciążenia procesora, co ma szczególne znaczenie, jeśli korzystamy z wcześniejszych generacji Raspberry Pi. Pobieranie i jednoczesna instalacja samego systemu powinny zająć około kilkunastu minut.

Po ponownym uruchomieniu należy połączyć się do Raspberry Pi z komputera przy użyciu klienta SSH. Na Windowsie możesz skorzystać z programu PuTTY, na macOS wystarczy uruchomić Terminal i wydać polecenie:

ssh pi@raspberrypi.local

W razie problemów z połączeniem zamiast nazwy domenowej raspberrypi.local można skorzystać z adresu IP. Zostanie on wyświetlony na ekranie przyłączonym do Raspberry Pi po uruchomieniu. Warto jest ustatecznić ten adres w DHCP na routerze, aby urządzenie zawsze otrzymywało ten sam adres.

Domyślnym użytkownikiem po instalacji jest pi, a hasłem raspberry. Hasło to warto zmienić natychmiast po pierwszym zalogowaniu, korzystając z komendy passwd.

Do instalacji i wstępnej konfiguracji przygotowałem prosty skrypt instalacyjny, który można pobrać z mojego repozytorium na GitHubie. Najpierw należy w tym celu zainstalować do tego klienta Git, wykonując komendę:

sudo apt-get install -y git

Następnie, aby pobrać i uruchomić skrypt instalacyjny z mojego repozytorium, należy wykonać:

git clone https://github.com/macnow/homebridge-raspbian-installer.git

Moje skrypty instalacyjne zostaną pobrane do katalogu homebridge-raspbian-installer.

Należy do niego przejść i uruchomić skrypt instalacyjny, wykonując poniższe polecenia:

cd homebridge-raspbian-installer
./install.sh

Po zakończonej instalacji zostanie uruchomiony konfigurator, w którym można przejść do instalacji przykładowych pluginów, edycji głównego pliku konfiguracyjnego, a także wykonać restart Homebridge’a po wprowadzeniu zmian konfiguracyjnych.

Aby uruchomić konfigurator po ponownym zalogowaniu wystarczyć przejść do katalogu i uruchomić go skrypt configure.sh:

cd homebridge-raspbian-installer
./configure.sh

Instalacja predefiniowanych pluginów z konfiguratora powoduje dodanie właściwych sekcji do pliku konfiguracyjnego /var/homebridge/config.json. Jednak wiele z dodatkowych pluginów wymaga dodatkowej ręcznej konfiguracji, jak chociażby dane do logowania do API w przypadku pluginów Nesta czy NetAtmo.

Doinstalowanie jakiegokolwiek dodatkowego pluginu wykonuje się poza utworzonym przeze mnie konfiguratorem komendą:

sudo npm install -g homebridge-plugin

gdzie w miejscu homebridge-plugin, należy podać nazwę pakietu z pluginem.

Postaram się stopniowo rozbudowywać ten konfigurator, aby obsługiwał jak najwięcej popularnych pluginów. Informacje odnośnie do jego aktualizacji będzie można znaleźć w moim repozytorium na GitHubie.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 67

Jest jedna opcja dzięki której nie trzeba podłączać raspberry pi pod monitor ale tylko pod internet – kabel rj-45 (dzięki temu nie potrzebujemy zewnętrznej klawiatury którą np. nie posiadam ) wystarczy podczas rozpakowywania “RASPBIAN JESSIE LITE” – przejść w terminalu do karty na którą zgraliśmy dane i użyć komendy – “touch ssh” – dzięki temu system raspbian już wie że podczas instalacji ma włączyć ssh :) a reszta to tak samo jak u góry czyli wkładamy kartę do raspberry pi i … Gotowe

Mam i ja tak samo, ale jedna kwestia trochę smutna. Jakoś pluginów do homebridge. Np. plugin do smart telewizora (Panasonic) i Osram Lightify wymagał ode mnie ingerencji i przepisania fragmentów samemu w JS. Np. nie wspierał gnaizdek Osram i regulacji głośności.

a czy ktoś się orientuje jak połączyć home assistant z homebridge bo niestety od pewnego czasu używam home assistant ale niestety nie udaje mi się połączyć właśnie tych dwóch rzeczy. Narazie jest to taka prowizorka czyli w home assistant mam czujnik temperatury przez MQTT i niestety w aplikacji home nic nie mam :/

DHT22 – temperatura i wilgotność, ja używam ds18b20 ale na kablu gdyż sonda pobiera mi temperaturę z pieca :)

Zrobione zgodnie z instrukcją. iPhone wykrywa Homebridge po kliknięciu “To akcesorium nie ma certyfikatu i może zawodzić podczas pracy w HomeKit” daję dodaj mimo to i prosi o 8-cyfrowy kod konfiguracji znajdujący się na akcesorium. Co dalej? Dzięki za ewentualną pomoc.

Dziękuję wszystko działa. Czy jest może gotowy skrypt do LIFX ?

Maćku mam pytanie czy możesz polecić coś co będzie działać z roletami pod HomeKit ale może być tez z homebridge bo postawiłem na malinie i rozszerzam o nowe możliwości ?
Pzdrw

Zainstalowałem według instrukcji powyżej, męczę się z dodaniem “NetAtmo”, ten plugin został niestety pominięty do pakietu z githuba, instalowałem według innych porad tj. npm install -g homebridge-netatmo niestety nie ma widać tego plugin-u. W jaki sposób mogę go doinstalować tak by był widoczny?
Dziękuję za pomoc.

OK, miga juz wszystko, niestety czujnik deszczu jest jeszcze nie obslugiwany…

Instalowałem również z npm install -g homebridge-netatmo i u mnie niewidoczny. Jak sobie z tym poradziłeś ?

zainstalowalem wszystko z tego linka I Nie widzi mi Netatmo whether station moze cos ale problem w config.json . Czy mozesz mi sprawdzic ?

“platforms”: [
{
“platform”: “netatmo”,
“name”: “netatmo platform”,
“ttl”: 5,
“auth”: {
“client_id”: “tu wpisalem ze strony”,
“client_secret”: “tu wpisalem ze strony”,
“username”: “xxxxxx”,
“password”: “xxxxxx”
}
}
],

@macnow:disqus
te ścieżki przy instalacji są niepoprawne, wywala błąd:

node-pre-gyp ERR! Tried to download(403): https://rvagg-node.s3-us-west-2.amazonaws.com/bignum/v0.12.5/bignum-v0.12.5-node-v51-linux-arm.tar.gz

node-pre-gyp ERR! Pre-built binaries not found for bignum@0.12.5 and node@7.5.0 (node-v51 ABI) (falling back to source compile with node-gyp)

a po jakimś czasie:

npm WARN enoent ENOENT: no such file or directory, open ‘/home/pi/homebridge-raspbian-installer/package.json’

Mogę Ci podesłać całego loga jak byś chciał poprawić instalator.

Muszę jeszcze raz to puścić na czysto. Merge’owałem zmiany od innych na githubie, możliwe że gdzieś coś się zgubiło. Na RPi3 instalowałeś?

Tak, na RPi3, Jessie Lite, jak już mówiłem, jeśli chcesz mogę Ci pełny log wysłać jeśli by to miało jakoś pomóc….

Do HomeKit? starczy nawet RPi Zero…. ale jeśli chcesz coś więcej zbudować to proponuję RPi3, ja osobiście wymieniłem swoje wszystkie RPi2 na RPi3, choć nie było to wymagane…

Ok, probowalem to poinstalowac. I pytanie jak z Orvibo? Instaluje plugin ale on ich nie wykrywa, choc podejzewam ze moze to byc cos zwiazane z bleem na poczatku:

EACCES user “root” does not have permission to access the dev dir “/root/.node-gyp/7.5.0”

gyp WARN EACCES attempting to reinstall using temporary dev dir “/usr/lib/node_modules/homebridge-platform-orvibo/node_modules/sleep/.node-gyp”

make: Entering directory ‘/usr/lib/node_modules/homebridge-platform-orvibo/node_modules/sleep/build’

Jak to zmienic? :)

Odpowiedź podałem troszkę wyżej… mi też ta instalacja nie szła, zrobiłem po swojemu teraz mam Homebridge i Pimatic na jednym RPi3

Kupiłem Raspberry B+ mam nadzieje, ze da radę.

Teraz pytanie, rozumieniem, ze nie zadziała z tego instalatora tak ?

Czy jest jakaś możliwość naprawy tego ;) ?

Wlasnie ja tez kupilem i teraz sie z tym biedze ;) jak mi pojdzie z tego niemieckiego linku dam znac ;)

Czy znalazłeś inną instrukcję instalacji homebridge, która instaluje poprawne ścieżki?

Zrob tak jak napisałem w osobnym tutaj wątku. Działa na 100wke tylko troszke klepania jest zamiast jednego skryptu.

Zadziałało. Żeby uruchomić Orvibo S20 trzeba pokolei wykonać instrukcje z tego postu:

https://smartapfel.de/anleitung-homebridge-auf-einem-raspberry-pi-einrichten/

potem z tego

http://pochemuto.com/2016-11-10-orvibo-via-siri/

U mnie wreszcie zadziałało co podrzucam na screenie. (S20 smigaja, Allone nie ale wiadomo to troche inne użądzenie i nie ma go obsługiwanego pod homekit)

Informacyjnie, nie mam AppleTV 4gen a ipad niestety mini jedynka wiec tez najnowszego iOS nie ma czyli nie ma opcji używania homekit spoza sieci lokalnej (chyba ze to sie tez da obejsc – zapewne VPN’em do domu)

Brak sterowania przez Allone tez upierdliwie nie pozwala na sterowanie w moim wypadku klimatyzacja ktora leci na podczetwien.

Zabawka fajna, działa etc ale niestety w moim wypadku jak na dzis orginalna chinska Appka jest bardziej użyteczna do tego zestawu ktory mam, co nie zmienia sytuacji że rzeczywiście można pozamawiać teraz urządzenia na które są pluginy i wtedy fajnie można miec wszystko w jednym miejscu :)

Zadziałało. Żeby uruchomić Orvibo S20 trzeba pokolei wykonać instrukcje z tego postu:

https://smartapfel.de/anleitung-homebridge-auf-einem-raspberry-pi-einrichten/

potem z tego

http://pochemuto.com/2016-11-10-orvibo-via-siri/

U mnie wreszcie zadziałało co podrzucam na screenie. (S20 smigaja, Allone nie ale wiadomo to troche inne użądzenie i nie ma go obsługiwanego pod homekit)

Informacyjnie, nie mam AppleTV 4gen a ipad niestety mini jedynka wiec tez najnowszego iOS nie ma czyli nie ma opcji używania homekit spoza sieci lokalnej (chyba ze to sie tez da obejsc – zapewne VPN’em do domu)

Brak sterowania przez Allone tez upierdliwie nie pozwala na sterowanie w moim wypadku klimatyzacja ktora leci na podczetwien.

Zabawka fajna, działa etc ale niestety w moim wypadku jak na dzis orginalna chinska Appka jest bardziej użyteczna do tego zestawu ktory mam, co nie zmienia sytuacji że rzeczywiście można pozamawiać teraz urządzenia na które są pluginy i wtedy fajnie można miec wszystko w jednym miejscu :) https://uploads.disquscdn.com/images/34d3e80bb482121aa29ba0bde5eb82910b2cda56f0928fee1d339fb4b5400758.png

Michal prosze pokaz jak wyglada twoj config.js z s20, u mnie nie chce dzialac.

config.json

{

“bridge”: {

“name”: “HomeBridge”,

“username”: “38:FF:0E:01:F2:76”,

“port”: 51826,

“pin”: “031-61-150”

},

“description”: “HomeBridge HTTP Status Control”,

“platforms”: [{

“platform”: “Orvibo”

}]

}

Chyba ze chcesz inny plik to podaj gdzie Ci sie generuje. Bo ja zrobiłem nie skryptu tu podanego tylko z linkow które dałem w innym poście.

Ja też zrobię z twoich linków a ten Mac adres i pin można zmienić czy muszę dać taki sam jak ty? Sorki zapytanie ale dopiero się uczę.

Jasne nie ma problemu, ja tez totalnie newbie jestem :) odpowiadajac pin mozesz zmienic mac powinienes. Tam w art jest link do generatora macow tylko pamietaj jak bedziesz go uzywac to zmien – na :

po zainstalowaniu tego sudo apt-get install libavahi-compat-libdnssd-dev
nie instaluje mi sudo npm install -g –unsafe-perm homebridge
wiesz moze dlaczego?

Niestety nie :( ja tak jak pisałem jestem też nowy w tym temacie i szukałem z kilku poradników jak zrobić. Ten zadziałał od razu, ale też miałem kilka innych które po prostu nie działały. :(

@michaczarkowski:disqus
Czy po instalacji według opisu powyżej, przestałeś mieć już te błędy opisane powyżej, podczas instalacji plugin’u Orvibo?

Pytam ponieważ instalację zrobiłem dokładnie według opisu z twoich linków a przy instalacji samego plugin’u do Orvibo miałem te same błędy
(EACCES user “root” does not have permission to access the dev dir “/root/.node-gyp/7.5.0” i tak dalej…)

Ostatecznie Homebridge uruchamia się z pluugin’em jednak nie widzę swojego gniazdka Orvibo S25 :(

Hmm ok, ale masz S25 (czyli to nowsze) czy s20? Bo ja mam s20 i smiga, a tu mozd byc po prostu problem ze zgodnoscia.

Tak mam to nowsze bo już one są głownie dostępne na AliExpress, zakładałem że jest to zgodne z poprzednikiem a jednak to może być problem, będę szukał w sieci.

Powiedz mi jeszcze tylko czy te błędy również miałeś przy instalacji plugin’a a Orvibo ci jednak działa?

Czesc. Mam pytanie dotyczace domoticza/homebridge. Udało mi się spiąc domoticza z prognozą pogody i udaje to to urządzenie. Problem pojawia się pod homebridge gdzie urządzenie nie jest rozpoznawane (jak na screenie). Czy ktoś z Was moze ustawiał pod homebridge czujnik temperatury z domoticza i mu to działa? (Orvibo dziala :) ) https://uploads.disquscdn.com/images/3947f5509e2fa3114c824563aa78684163228bef8a79ddd78d35d2f7b6ef0ba2.png https://uploads.disquscdn.com/images/7ccb7eeba99cc16e935494d548996e6e0125c53f946c208453144d19d3239dca.png

Michal co masz jeszcze podlaczone oprocz Orvibo? Ja mam tylko Orvibo s20 ktore dziala, nie moge podlaczyc Netatmo wheather station , Broadlink smart plug.

Na razie tylko domoticza na pusto bo czujniki i przelaczniki z sonoffa ida. Ale probowal oststnio wpiac wirtualny termometr z domoticz i wykrywa go ale nie pokazuje temp. Wiec na razie czekam na sonoffa i bede patrzyl jak i czy dziala

Ale netatmo wiem ze dziala, bo nawet tu ktos pisal. Ale wyklada Ci sie jak startuje czy po prostu nie wykrywa?

A patrzyles na komentarze wyzej? Tam bylo jak z netatmo podzialac. Niestety ja tez robie po omacku wiec niebardzo pomoge :(

Witam
Czy jest jakieś urządzenie które będzie mogło być sterowane przez Eve za pośrednictwem podłączonego na stałe iTV . Mam w domu inftapanel grzewczy który obecnie jest sterowany przez regulator temperatury firmy OSPEL . Chciałbym do puszki ( tam gdzie jest obecnie regulator ) wstawić jakiś stycznik który załączy mi grzejnik jeżeli Eve wykarze za niska temperaturę Ten stycznik musi obsługiwać obciążenie 1200 W . Proszę o pomoc i z góry dziękuje .

Jest jakaś opcja żeby jeden Homebridge obsługiwał kilka pomieszczeń?
np. Do Homebridge podłączyłem 2 czujniki temperatury
Chcę żeby w aplikacji jeden był w kuchni drugi w salonie
Jak dodam Homebridge do kuchni to oba lądują w kuchni.
Da się to jakoś w configu.json ustawić?
Lub nie wiem muszę uruchomić dwa Homebridge z rożnymi pinami?

To się w Home na iOS ustawia robiąc dwa pokoje i dodając konkretny czujnik do danego pomieszczenia