Hogyan lehet bármilyen intelligens eszközt csatlakoztatni a HomeKithez (Raspberry Pi-vel)

Sok okoseszköz kihagyja az Apple HomeKit támogatását, és csak az Alexával, a Google-lal és más platformokkal integrálható. Ezzel a Raspberry Pi hackel azonban a HomeKit támogatást bármely intelligens eszközhöz hozzáadhatja a nyílt forráskódú Homebridge szoftverrel.

HomeKit bármilyen okoseszközhöz

Ha all-in van a HomeKitben, az egyik nagy probléma az, hogy kevés okoseszköz támogatja azt. Például az egyetlen dolog, ami visszatart néhány olcsó intelligens izzót, az a HomeKit támogatás hiánya. Az Amazon „intelligens villanykörte” választása a négyes csomag a TECKIN-től, ami ebben az írásban körülbelül 40 dollárba kerül – kevesebb, mint egyetlen LIFX izzó.

Persze, nem olyan prémium minőségűek, mint a LIFX; a színek nem olyan élénkek, és hallható zümmögést bocsátanak ki a fürdőszobában, de 10 dolláros popsiért verhetetlen értéket képviselnek.

A fő probléma azonban az, hogy nem rendelkeznek HomeKit támogatással. Nem teljesen hülyék – működnek a Google Home, az Alexa, az IFTTT és a gyártó alkalmazásával. Jók azok számára, akiknek csak TECKIN intelligens izzói vannak.

Mivel azonban nem érheti el őket a HomeKitből, nem vezérelheti őket a Home alkalmazásból, a Vezérlőközpont widgetjéből vagy a Siriből. Ezenkívül nem helyezheti el őket más márkájú izzókkal készült jelenetekben, és nem használhatja őket az Automatizálásban. Ha már befektetett a HomeKitbe, ez valószínűleg egy üzlettörés.

Ismerje meg Homebridge-et

Szerencsére van egy hack, amely sokkal hasznosabbá teszi ezeket az izzókat. A HomeKit API lehetővé teszi a hidaknak nevezett eszközöket, mint pl ez a Philips Hue-tól, más protokollokon működő gyermekeszközök csatlakoztatásához. Egyszerűen hozzáadja a hidat eszközként a HomeKitben, és az regisztrál minden hozzá csatlakoztatott lámpát a HomeKitben. Amikor egy lámpa frissítését kéri, a telefon a híddal, a híd pedig a fénnyel beszél.

Tehát egy híd csak információt továbbít az egyik API-ról a másikra. Mivel az interneten keresztül vezérelheti a TECKIN izzókat, teljesen lehetséges, hogy csak szoftverrel csatlakoztatja őket a HomeKithez – nincs szükség saját hardverre.

  A Wifi Collector megkeresi és összegyűjti a vezeték nélküli hálózati információkat

Ha van a közelben egy Raspberry Pi (5 dollár Pi Zero rendben van), beállíthatja hídként az úgynevezett keretrendszerrel Homebridge. Ez a könnyű, NodeJS alkalmazás emulálja a HomeKit API-t, és továbbítja a kéréseket a nem HomeKit okoseszközökre.

Alapvetően a Pi-n futtatja, és minden „hülye” eszközt hozzáad a Home alkalmazáshoz. Amikor megpróbálja vezérelni az izzót a Home alkalmazáson vagy a Sirin keresztül, a Homebridge beszél az eszközökkel Ön helyett. A beállítás után olyan, mintha az eszköz eleve HomeKit-támogatást kapott volna.

Ez megköveteli, hogy az eszköz mindig a Homebridge-et futtassa, tehát ezt nem telepítené a laptopjára. A Raspberry Pi ideális, de ha van egy régi eszköze, amelyet újrahasznosíthat szerverként vagy folyamatosan működő asztali számítógépként, akkor telepítheti oda.

A Homebridge egy keretrendszer, és bővíthető beépülő modulokkal. Meglehetősen nagy közösségi támogatással rendelkezik, így jó eséllyel bármelyik okoseszköz rendelkezik Homebridge beépülő modullal, amely támogatja azt. Ha az eszközödön nincs beépülő modul, de az okoseszközödön van API, és járatos a technikában, akkor te is írhatsz egyet.

A legtöbb ember számára azonban a beállítás csak a Homebridge és a márka beépülő moduljának telepítését jelenti az eszközhöz, valamint egy kis konfigurációt. Ha tudja használni a parancssort, és van egy kis ideje, akkor ez meglehetősen egyszerű.

A Homebridge telepítése és konfigurálása

A Homebridge egy NodeJS alkalmazás, ezért a használatához telepítenie kell a node-ot és az npm-et. Ha a gépeden Linux fut, valószínűleg a csomagkezelőtől szerezheted be.

Ubuntu esetén a következőket kell begépelnie a Node repo manuális beállításához, majd a nodejs telepítéséhez:

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

Ellenkező esetben konzultálhat Node letöltési oldala az adott operációs rendszerhez való telepítésével kapcsolatos információkért.

Ha Linuxot használ, néhány függőséget is telepítenie kell, az alábbiak szerint:

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

Ezt követően az npm-en keresztül globálisan telepítheti a Homebridge-ot, az alábbiak szerint:

sudo npm install -g --unsafe-perm homebridge

Telepíteni szeretné a szükséges márka beépülő modulokat is, mivel a Homebridge csak egy keretrendszer. A TECKIN izzóknál például a plug-in az homebridge-tuya-web, amely szintén globálisan telepíthető.

  Az LXDE asztal testreszabása

A következőket írnád be:

npm i homebridge-tuya-web -g

Miután mindent telepített, ténylegesen használhatja a dolgot! A Homebridge egyszeri futtatásához és az összes inicializálásához írja be a következőket:

homebridge

Panaszkodni fog a konfiguráció hiányára, amelyet létre kell hoznia. Az alapértelmezett könyvtár a ~/.homebridge/, de használhatja a -U paramétert, ha át akarja helyezni.

Írja be a következőket egy új JSON konfigurációs fájl létrehozásához ebben a mappában:

nano ~/.homebridge/config.json

A használt beépülő moduloktól függetlenül a következő alapkonfigurációra van szüksége:

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

  ]
}

Ezzel konfigurálja a Homebridge-et egy alapértelmezett porttal, névvel, PIN-kóddal és porttartománysal, amely más eszközökhöz hozzárendelhető.

Az üres platformok tömbjén belül elhelyezheti az egyes beépülő modulok konfigurációját. Az egyes beépülő modulok GitHub oldalán találhat erre vonatkozó utasításokat és példákat.

Az alábbi példában a TECKIN bulbs homebridge-tuya-web beépülő modulja tudni akarja a felhasználónevemet és jelszavamat, hogy csatlakozhasson az izzó alkalmazásának API-jához, és még néhány dolgot:

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

Ha mindez be van állítva, a Homebridge készen áll a használatra. Futtassa újra, és a terminálnak egy óriási QR-kódot kell megjelenítenie, amely kicsinyítésre kényszerítheti. Olvassa be ezt a Home alkalmazással, hogy hozzáadja azt és az összes csatlakoztatott eszközt a HomeKithez.

A Homebridge betölti a beépülő modulokat, és minden talált eszközről üzenetet kell naplóznia a képernyőn. Hozzáadásuk után mindegyiket látnia kell a HomeKitben, és teljesen működőképesnek kell lennie.

  A Chrome kemény frissítése (a helyi gyorsítótár megkerülése)

Kis késést vettem észre a LIFX izzóimhoz képest. Ez valószínűleg azért van, mert az izzók vezérlése API-n keresztül történik, nem pedig közvetlenül. Eleinte az izzók sem jelenítettek meg megfelelően néhány fehéret és meleg fehéret, de egy kis finomhangolás után sikerült megfelelő jeleneteket beállítani.

Az eszközöket bármikor konfigurálhatja saját alkalmazásaikban, megvárhatja, amíg a Home alkalmazás frissül, majd beállíthatja a jelenetet a HomeKitben az előre elkészített konfigurációval.

Ha újból hozzá kell adnia a Homebridge-et, akkor törölje a persist/ mappát a konfigurációs könyvtárból, majd távolítsa el a hídot a HomeKitből a „Bridge” fül alatt található összes csatlakoztatott izzó beállításai közül.

A Homebridge hozzáadása szolgáltatásként

Ha azt szeretné, hogy a Homebridge folyamatosan működjön, valószínűleg úgy kell beállítania, hogy újrainduljon, ha összeomlik, vagy ha a Raspberry Pi újraindul. Ezt Unix szolgáltatáson keresztül teheti meg. Állítsa be, miután meggyőződött arról, hogy a Homebridge megfelelően működik.

Először adjon hozzá egy új szolgáltatásfelhasználót, homebridge néven:

sudo useradd -M --system homebridge

Állítson be egy jelszót:

sudo passwd homebridge

Ezután át kell helyeznie a homebridge konfigurációt a személyes kezdőkönyvtárán kívülre. A /var/lib/homebridge/ megfelelőnek kell lennie:

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

Győződjön meg arról, hogy a homebridge-et használó személy birtokolja a könyvtárat és az összes almappát:

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

Ha ez megtörtént, létrehozhatja a szolgáltatást. Ehhez hozzon létre egy új fájlt homebridge.service néven az /etc/systemd/system/ mappában:

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

Ezután illessze be a következő konfigurációt:

[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

Töltse be újra a Service démont, hogy frissítse a változtatásokkal:

sudo systemctl daemon-reload

Most már képesnek kell lennie arra, hogy engedélyezze szolgáltatását (beállítva, hogy rendszerindításkor fusson):

sudo systemctl enable homebridge

És kezdd el:

sudo systemctl start homebridge

Ha a szolgáltatás konfigurációjából adódó hibákat kell hibakeresnie, megtekintheti a szolgáltatás naplóit a következő beírásával:

journalctl -fn 50 -u homebridge