Jak připojit jakékoli chytré zařízení k HomeKitu (s Raspberry Pi)

Mnoho chytrých zařízení vynechává podporu Apple HomeKit a integruje se pouze s platformami Alexa, Google a dalšími. S tímto hackem Raspberry Pi však můžete přidat podporu HomeKit do jakéhokoli chytrého zařízení pomocí softwaru Homebridge s otevřeným zdrojovým kódem.

HomeKit pro jakékoli chytré zařízení

Pokud používáte HomeKit all-in, je velkým problémem, jak málo chytrých zařízení jej podporuje. Například jediná věc, která brzdí některé levné chytré žárovky, je jejich nedostatek podpory HomeKit. Volba Amazonu pro „chytrou žárovku“ je a čtyřbalení od TECKIN, která v době psaní tohoto článku stojí kolem 40 $ – méně než jedna žárovka LIFX.

Jistě, nejsou tak prémiové jako LIFX; barvy nejsou tak živé a v koupelně vydávají slyšitelné bzučení, ale za 10 dolarů za pop, jsou to docela bezkonkurenční hodnoty.

Hlavním problémem však je, že nemají podporu HomeKit. Nejsou úplně hloupí – fungují s Google Home, Alexa, IFTTT a aplikací výrobce. Jsou v pořádku pro někoho, kdo má pouze chytré žárovky TECKIN.

Protože k nim ale nemáte přístup z HomeKitu, nemůžete je ovládat z aplikace Domácnost, widgetu v Ovládacím centru nebo Siri. Také je nemůžete zahrnout do scén s žárovkami jiných značek nebo je použít v automatizaci. Pokud jste již do HomeKitu investovali, jedná se s největší pravděpodobností o dealbreaker.

Seznamte se s Homebridgem

Naštěstí existuje hack, díky kterému jsou tyto konkrétní žárovky mnohem užitečnější. HomeKit API umožňuje zařízení nazývaná mosty, např tento od Philips Hue, pro připojení dětských zařízení, která fungují na jiných protokolech. Jednoduše přidáte můstek jako zařízení v HomeKitu a on zaregistruje každé světlo k němu připojené v HomeKitu. Kdykoli požádáte o aktualizaci světla, váš telefon bude mluvit s můstkem a můstek bude mluvit se světlem.

Most tedy pouze přenáší informace z jednoho API do druhého. Protože žárovky TECKIN můžete ovládat přes internet, je zcela možné je připojit k HomeKitu pouze pomocí softwaru – není potřeba žádný proprietární hardware.

  6 chyb, které lidé dělají při nákupu televizoru

Pokud máte kolem sebe Raspberry Pi (5 $ Pi nula je v pořádku), můžete jej nastavit jako most s rámcem tzv Homebridge. Tato lehká aplikace NodeJS emuluje rozhraní HomeKit API a předává požadavky vašim chytrým zařízením, které nejsou HomeKit.

V podstatě jej spustíte na Pi a přidá každé „hloupé“ zařízení do aplikace Home. Když se pokusíte ovládat žárovku prostřednictvím aplikace Home nebo Siri, Homebridge mluví se zařízeními za vás. Poté, co jej nastavíte, je to, jako by zařízení mělo na prvním místě podporu HomeKit.

To vyžaduje, aby zařízení po celou dobu běželo Homebridge, takže to není něco, co byste si nainstalovali do svého notebooku. Raspberry Pi je ideální, ale pokud máte staré zařízení, které můžete znovu použít jako server nebo desktop, který je vždy spuštěný, můžete si ho tam nainstalovat.

Homebridge je framework a můžete jej rozšířit pomocí zásuvných modulů. Má poměrně velkou komunitní podporu, takže je velká šance, že každé dané chytré zařízení má pravděpodobně zásuvný modul Homebridge, který pro něj přidá podporu. Pokud vaše zařízení nemá zásuvný modul, ale vaše chytré zařízení má rozhraní API a vy jste technicky zdatní, můžete si jej napsat sami.

Pro většinu lidí však nastavení spočívá pouze v instalaci Homebridge a značkového plug-inu pro zařízení spolu s trochou konfigurace. Pokud můžete používat příkazový řádek a máte trochu času, je to docela snadné.

Instalace a konfigurace Homebridge

Homebridge je aplikace NodeJS, takže musíte nainstalovat node a npm, abyste ji mohli používat. Pokud váš počítač používá Linux, pravděpodobně jej získáte od správce balíčků.

Na Ubuntu musíte zadat následující, abyste mohli ručně nastavit úložiště Node a poté nainstalovat nodejs:

curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

Jinak se můžete poradit Stránka pro stahování uzlu informace o tom, jak jej nainstalovat pro váš konkrétní operační systém.

  Doručená pošta Gmailu neorganizuje e-maily, připomíná vám, abyste na ně odpověděli

Pokud používáte Linux, musíte také nainstalovat některé závislosti, jak je uvedeno níže:

sudo apt-get install libavahi-compat-libdnssd-dev

Poté můžete Homebridge nainstalovat globálně prostřednictvím npm, jak je znázorněno níže:

sudo npm install -g --unsafe-perm homebridge

Chcete také nainstalovat zásuvné moduly značky, které potřebujete, protože Homebridge je pouze rámec. Například pro žárovky TECKIN je zásuvný modul homebridge-tuya-web, který se také instaluje globálně.

Zadali byste následující:

npm i homebridge-tuya-web -g

Poté, co je vše nainstalováno, můžete věc skutečně používat! Chcete-li spustit Homebridge jednou a vše inicializovat, zadejte následující:

homebridge

Bude si stěžovat na nedostatek konfigurace, kterou musíte vytvořit. Výchozí adresář je ~/.homebridge/, ale pokud jej chcete přesunout, můžete použít parametr -U.

Chcete-li v této složce vytvořit nový konfigurační soubor JSON, zadejte následující:

nano ~/.homebridge/config.json

Bez ohledu na zásuvné moduly, které používáte, potřebujete následující základní konfiguraci:

{
  "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": [

  ]
}

Tím se Homebridge nakonfiguruje s výchozím portem, názvem, kódem PIN a rozsahem portů, které lze přidělit dalším zařízením.

Do prázdného pole platforem umístíte konfiguraci pro každý modul plug-in. Pokyny a příklady byste měli najít na stránce GitHubu každého zásuvného modulu.

V níže uvedeném příkladu chce webový zásuvný modul homebridge-tuya pro žárovky TECKIN znát mé uživatelské jméno a heslo pro připojení k API pro aplikaci žárovky a několik dalších věcí:

  "platforms": [
     {
       "platform": "TuyaWebPlatform",
       "name": "TuyaWebPlatform",
       "options":
         {
           "username": "username",
           "password": "password",
           "countryCode": "1",
           "platform": "smart_life",
           "pollingInterval": 10
         }
     }
   ]

Jakmile je vše nakonfigurováno, Homebridge by měl být připraven k provozu. Spusťte jej znovu a na vašem terminálu by se měl zobrazit obrovský QR kód, který by vás mohl přinutit oddálit. Naskenujte to pomocí aplikace Home a přidejte to a všechna připojená zařízení do HomeKit.

  Chyba počítače iTunes není autorizován

Homebridge načte vaše zásuvné moduly a měl by zaznamenat zprávu na obrazovku pro každé zařízení, které najde. Po přidání byste je měli vidět všechny v HomeKitu a měly by být plně funkční.

Všiml jsem si mírného zpoždění ve srovnání s mými žárovkami LIFX. Je to pravděpodobně proto, že žárovky jsou řízeny spíše přes API než přímo. Zpočátku žárovky také nezobrazovaly správně některé bílé a teplé bílé, ale po troše úpravy jsem byl schopen nastavit správné scény.

Vždy můžete nakonfigurovat zařízení v jejich vlastních aplikacích, počkat na aktualizaci aplikace Home a poté nastavit scénu v HomeKitu s předem připravenou konfigurací.

Pokud potřebujete znovu přidat Homebridge, budete chtít odstranit složku persist/ v konfiguračním adresáři a poté odstranit bridge z HomeKit z nastavení jakékoli připojené žárovky na kartě „Bridge“.

Přidání Homebridge jako služby

Pokud chcete, aby Homebridge běžel neustále, pravděpodobně jej budete chtít nakonfigurovat tak, aby se restartoval, pokud dojde k selhání nebo restartování vašeho Raspberry Pi. Můžete to udělat prostřednictvím unixové služby. Toto nastavte poté, co ověříte, že Homebridge funguje tak, jak má.

Nejprve přidejte nového uživatele služby s názvem homebridge:

sudo useradd -M --system homebridge

Nastavit heslo:

sudo passwd homebridge

Dále budete muset přesunout konfiguraci homebridge mimo váš osobní domovský adresář. /var/lib/homebridge/ by mělo být v pořádku:

sudo mv ~/.homebridge /var/lib/homebridge/

Ujistěte se, že osoba používající homebridge vlastní tento adresář a všechny podsložky:

sudo chown -R homebridge /var/lib/homebridge/

Jakmile to uděláte, můžete službu vytvořit. Chcete-li tak učinit, vytvořte nový soubor s názvem homebridge.service v /etc/systemd/system/:

sudo nano /etc/systemd/system/homebridge.service

A poté vložte následující konfiguraci:

[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

Znovu načtěte démona služeb, abyste jej aktualizovali svými změnami:

sudo systemctl daemon-reload

Nyní byste měli být schopni povolit vaši službu (nastavením tak, aby se spouštěla ​​při spouštění):

sudo systemctl enable homebridge

A začněte:

sudo systemctl start homebridge

Pokud potřebujete ladit chyby, které vyplývají z konfigurace služby, můžete zobrazit protokoly služby zadáním:

journalctl -fn 50 -u homebridge