Ako prepojiť Raspberry Pi a Apple HomeKit
Ak používate nejaké Apple zariadenie, určite ste o Apple HomeKit aspoň počuli. Jedná sa o aplikáciu, ktorá predstavuje akýsi domáci hub pre vaše “smart” zariadenia. Ak teda máte doma rôzne smart termostaty, teplomery alebo svetlá, všetky ich pripojíte do HomeKitu a môžete ich ovládať z jedného centrálneho miesta bez nutnosti používať na každé zariadenie aplikáciu od jeho výrobcu.
Výhodou je, že všetky zariadenia pripojené do HomeKitu fungujú aj so Siri, a to nielen z telefónu alebo tabletu ale aj z hodiniek. Nevýhodou je, že dané “smart” zariadenie musí mať podporu HomeKitu od výrobcu.
Ak rovnako ako ja nemáte žiadne “smart” zariadenie ale máte Raspberry Pi, môžete si ho prepojiť s HomeKitom a ovládať tak akékoľvek zariadenie, s ktorým viete z Raspberry Pi komunikovať. Rozhodol som sa teda prepojiť môj teplotný senzor pripojený k Raspberry Pi s HomeKitom.
Homebridge
Základom celého riešenia je Homebridge. Je to Apple HomeKit accessory server bežiaci na NodeJS, ktorý po inštalácii beží nepretržite na Raspberry Pi a HomeKitu sprístupňuje rôzne zariadenia, ktoré natívne HomeKit nepodporujú.
Po spustení vám ukáže QR kód, pomocou ktorého ho spárujete s HomeKitom v iPhone alebo iPade.
Všetky zariadenia, ktoré následne pridáte do Homebridge sa automaticky objavia v HomeKite.
Homebridge pluginy
Zariadenia sa do Homebridge pridávajú ako pluginy, môžete si vybrať z existujúcich alebo napísať nejaký vlastný. Tvorba vlastného pluginu nie je až taký problém, ak zvládate JavaScript a Node.js.
Teplotný senzor DS18b20
Ja som mal štastie a pre môj teplotný senzor priamo existoval plugin homebridge-ds18b20. Stačilo len nainštalovať a nastaviť správne id zariadenia v HomeBridge configu v ~/.homebridge/config.json
. Potreboval som však spraviť malý zásah do zdrojákov, pretože môj senzor ukazuje asi o 2 stupne vyššiu teplotu, ako reálna teplota v miestnosti, takže som to skorigoval.
Po pridaní a nastavení pluginu sa mi v HomeKite objavila možnosť sledovať teplotu v obývačke
a fungovala aj cez Siri
dokonca aj na hodinkách Apple Watch.
TV s WebOS
Hľadal som ďalšie zaujímavé pluginy a našiel som plugin na TV s WebOS 3, ktorý funguje s mojou LG TV. V aktuálnej verzii síce podporuje len zapnutie a vypnutie, ale aj to poteší. Nastavenie je trochu zložitejšie ako v prípade pluginu pre teplotný senzor, je potrebné vyplniť IP adresu a MAC adresu, tie som ale získal zo zoznamu zariadení v routeri z DHCP tabuľky. V samotnej TV je ešte nutné povoliť ovládanie z externých aplikácií, ako je popísané v repe pluginu.
Po pridaní pluginu do Homebridge a nastavení sa TV objavila v HomeKite a korektne zobrazovala aktuálny stav
a pokyn na vypnutie a zapnutie fungoval bez problémov cez Siri z iPhone aj z hodiniek.