HomeKit od Applu se v iOS 10 opět zlepšil, různých příslušenství také postupně přibývá, ale jeden z hlavních problémů zůstává stejný – co dělat s věcmi, které HomeKit nepodporují, ačkoli jsou „smart“? Ta naprosto základní odpověď je jasná – používat k jejich ovládání jiné aplikace. Použitelnost této „rady“ ale končí v momentě, kdy chcete začít věci propojovat mezi sebou. Typicky pomocí HomeKit automatizace („když se otevře okno, vypni topení“), nebo kombinací do scén (při zapnutí scény „dobré ráno“ zapni rychlovarnou konvici“). Řešení nejen pro termostat Google Nest, ale i pro rychlovarnou konvici Smarter iKettle a další „hračky“ naštěstí existuje. Bez větších počítačových znalostí se sice neobejdete, ale i bez speciálního hardwaru se dá v řádu desítek minut nainstalovat virtuální HomeKit bridge, který za sebe schová zařízení, která se sice dají ovládat po síti, ale samy o sobě nepodporují HomeKit. Výsledek se tak dá přirovnat např. k Phillips Hue, kde taky s HomeKitem nekomunikují jednotlivé žárovky, ale bridge.
Software se jmenuje výstižně HomeBridge a je k dispozici v tomto GitHub repozitáři. Před jeho instalací je potřeba ještě instalace node.js. Následně jsou potřeba pluginy, protože samotný HomeBridge pouze simuluje virtuální HomeKit bridge, ale sám nic dalšího ovládat neumí. Pro termostat Nest existuje přímo Nest plugin a není potřeba nic vymýšlet. Jedinou komplikací je nové API Nestu, kterému nestačí vaše přihlašovací údaje do Nest mobilní aplikace, ale je potřeba se zaregistrovat jako developer a u Nestu si vygenerovat API klíče pro vaši „aplikaci“. Staré API zatím funguje, ale určitě je lepší strávit těch 10 minut navíc konfigurací nového API, které bude Nest podporovat dlouhodobě. Přesný a srozumitelný návod je v readme GitHub repa pluginu.
Rychlovarná konvice Smarter iBrew mě potrápila o něco více. K jejímu ovládání jsou totiž potřeba pluginy hned dva – cmdSwitch2 je univerzální HomeBridge plugin pro „zapínání a vypínání věcí“. iBrew přidá komponentu, která si umí povídat s konvicí – tj. odpálit příkaz na zapnutí nebo vypnutí poté, co se přes HomeBridge a cmdSwitch2 dozví z HomeKitu, že má zapnout nebo vypnout. Ke konfiguraci iBrew je třeba znát IP adresu konvice a pro správnou dlouhodobou funkčnost nastavit na routeru rezervaci IP adresy pro konvici. Na Macu se ke zjištění IP adresy dá použít například utilita Lan Scan. Jakmile znáte IP adresu konvice, je konfigurace iBrew otázkou minut. Jakkoli to zní strašně, tak funkčnost se dá testovat i bez HomeKitu, protože konvice se dá zapnout a vypnout z terminálu 🙂 Všechny příkazy se dají vyčíst z konfigurace iBrew. Při hledání problémů to pak přijde velice vhod.
Nejprve jsem vyzkoušel instalaci na Macu a pak jsem ji přenesl na Rapsberry Pi. V obou variantách fungovalo vše stejně dobře, nastavení HomeBridge i iBrew je naprosto stejné. Detailní návod na instalaci HomeBridge na Rapsberry Pi je ve wiki HomeBridge Gitu. Výhodou je, že Mac může usnout, protože obsluhu HomeKitu zajistí stále běžící Rapsberry Pi. Při instalaci na Mac jsem narazil jen na jeden problém s iBrew (špatné nastavení práv na log, přičemž plugin se choval tak, že když nebyl schopen zapsat do logu, tak nahlásil do cmdSwitch2 „fail“, což ve výsledku vedlo k tomu, že se zapnutá konvice hlásila jako vypnutá).
Výsledkem je univerzální virtuální HomeKit bridge, použitelný nejen pro Nest, ale i pro WeMo, Net Atmo, Samsung SmartThings, televize od Samsungu (kanály, hlasitost atd.), různé žárovky bez podpory HomeKitu, termostaty, alarmy, nebo tlačítka Amazon Dash. Pluginů je spousta a jejich katalog je tady. Přidávání pluginů probíhá stejně jako instalace prvního, jen je třeba upavit config.json tak, že nastavení jednotlivách pluginů se píší pod sebe.
Párování instalovaného HomeBridge s Home aplikací (nebo jinou aplikací na iOS, která podporuje HomeKit) probíhá stejně jako u ostatních příslušenství. Párovací kód je v konfiguračním souboru HomeBridge. V aplikaci se pak objeví HomeBridge jako bridge (tj. zobrazuje se stejně jako již zmiňované Hue) a zvlášť pak jednotlivá příslušenství (na screenech je vidět konvice v kuchyni jako příslušenství a v „default room“ mám schované bridge).
Z pohledu ovládání a bezpečnosti jsou všechna příslušenství „schovaná“ za HomeBridgem, který pro změnu komunikuje pouze po lokální síti s Apple TV, která tvoří domácí HomeKit Hub. Vše tedy jede přes iCloud a je přístupné ze všech zařízení a hlavně přes Siri. Zapojování příslušenství do scén je taky bez problémů – na screenshotu příklad „když se otevře okno, vypni topení“.
Závěrem jedno doporučení – myslíte-li to s HomeKitem a automatizací domácnosti technologiemi Applu vážně, kupte si Apple TV 4. Rozdíl v rychlosti odezvy (doma) a spolehlivosti vzdáleného přístupu (mimo domov) je ohromný.